diff --git a/122.7fdc123b.iframe.bundle.js b/122.7fdc123b.iframe.bundle.js new file mode 100644 index 0000000..c147fe0 --- /dev/null +++ b/122.7fdc123b.iframe.bundle.js @@ -0,0 +1,2 @@ +/*! For license information please see 122.7fdc123b.iframe.bundle.js.LICENSE.txt */ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[122],{"./node_modules/@angular/cdk/fesm2022/collections.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{hx:()=>ArrayDataSource,CB:()=>SelectionModel,DQ:()=>_RecycleViewRepeaterStrategy,sL:()=>_VIEW_REPEATER_STRATEGY,y4:()=>isDataSource});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),Observable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),Subscription=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subscription.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),OperatorSubscriber=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js");var _ViewRepeaterOperation,ConnectableObservable=function(_super){function ConnectableObservable(source,subjectFactory){var _this=_super.call(this)||this;return _this.source=source,_this.subjectFactory=subjectFactory,_this._subject=null,_this._refCount=0,_this._connection=null,(0,lift.S)(source)&&(_this.lift=source.lift),_this}return(0,tslib_es6.C6)(ConnectableObservable,_super),ConnectableObservable.prototype._subscribe=function(subscriber){return this.getSubject().subscribe(subscriber)},ConnectableObservable.prototype.getSubject=function(){var subject=this._subject;return subject&&!subject.isStopped||(this._subject=this.subjectFactory()),this._subject},ConnectableObservable.prototype._teardown=function(){this._refCount=0;var _connection=this._connection;this._subject=this._connection=null,null==_connection||_connection.unsubscribe()},ConnectableObservable.prototype.connect=function(){var _this=this,connection=this._connection;if(!connection){connection=this._connection=new Subscription.yU;var subject_1=this.getSubject();connection.add(this.source.subscribe((0,OperatorSubscriber._)(subject_1,void 0,(function(){_this._teardown(),subject_1.complete()}),(function(err){_this._teardown(),subject_1.error(err)}),(function(){return _this._teardown()})))),connection.closed&&(this._connection=null,connection=Subscription.yU.EMPTY)}return connection},ConnectableObservable.prototype.refCount=function(){return function refCount(){return(0,lift.N)((function(source,subscriber){var connection=null;source._refCount++;var refCounter=(0,OperatorSubscriber._)(subscriber,void 0,void 0,void 0,(function(){if(!source||source._refCount<=0||0<--source._refCount)connection=null;else{var sharedConnection=source._connection,conn=connection;connection=null,!sharedConnection||conn&&sharedConnection!==conn||sharedConnection.unsubscribe(),subscriber.unsubscribe()}}));source.subscribe(refCounter),refCounter.closed||(connection=source.connect())}))}()(this)},ConnectableObservable}(Observable.c),isObservable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isObservable.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs");class DataSource{}function isDataSource(value){return value&&"function"==typeof value.connect&&!(value instanceof ConnectableObservable)}class ArrayDataSource extends DataSource{constructor(_data){super(),this._data=_data}connect(){return(0,isObservable.A)(this._data)?this._data:(0,of.of)(this._data)}disconnect(){}}!function(_ViewRepeaterOperation){_ViewRepeaterOperation[_ViewRepeaterOperation.REPLACED=0]="REPLACED",_ViewRepeaterOperation[_ViewRepeaterOperation.INSERTED=1]="INSERTED",_ViewRepeaterOperation[_ViewRepeaterOperation.MOVED=2]="MOVED",_ViewRepeaterOperation[_ViewRepeaterOperation.REMOVED=3]="REMOVED"}(_ViewRepeaterOperation||(_ViewRepeaterOperation={}));const _VIEW_REPEATER_STRATEGY=new core.InjectionToken("_ViewRepeater");class _RecycleViewRepeaterStrategy{constructor(){this.viewCacheSize=20,this._viewCache=[]}applyChanges(changes,viewContainerRef,itemContextFactory,itemValueResolver,itemViewChanged){changes.forEachOperation(((record,adjustedPreviousIndex,currentIndex)=>{let view,operation;if(null==record.previousIndex){const viewArgsFactory=()=>itemContextFactory(record,adjustedPreviousIndex,currentIndex);view=this._insertView(viewArgsFactory,currentIndex,viewContainerRef,itemValueResolver(record)),operation=view?_ViewRepeaterOperation.INSERTED:_ViewRepeaterOperation.REPLACED}else null==currentIndex?(this._detachAndCacheView(adjustedPreviousIndex,viewContainerRef),operation=_ViewRepeaterOperation.REMOVED):(view=this._moveView(adjustedPreviousIndex,currentIndex,viewContainerRef,itemValueResolver(record)),operation=_ViewRepeaterOperation.MOVED);itemViewChanged&&itemViewChanged({context:view?.context,operation,record})}))}detach(){for(const view of this._viewCache)view.destroy();this._viewCache=[]}_insertView(viewArgsFactory,currentIndex,viewContainerRef,value){const cachedView=this._insertViewFromCache(currentIndex,viewContainerRef);if(cachedView)return void(cachedView.context.$implicit=value);const viewArgs=viewArgsFactory();return viewContainerRef.createEmbeddedView(viewArgs.templateRef,viewArgs.context,viewArgs.index)}_detachAndCacheView(index,viewContainerRef){const detachedView=viewContainerRef.detach(index);this._maybeCacheView(detachedView,viewContainerRef)}_moveView(adjustedPreviousIndex,currentIndex,viewContainerRef,value){const view=viewContainerRef.get(adjustedPreviousIndex);return viewContainerRef.move(view,currentIndex),view.context.$implicit=value,view}_maybeCacheView(view,viewContainerRef){if(this._viewCache.lengththis._markSelected(value))):this._markSelected(initiallySelectedValues[0]),this._selectedToEmit.length=0)}select(...values){this._verifyValueAssignment(values),values.forEach((value=>this._markSelected(value)));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}deselect(...values){this._verifyValueAssignment(values),values.forEach((value=>this._unmarkSelected(value)));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}setSelection(...values){this._verifyValueAssignment(values);const oldValues=this.selected,newSelectedSet=new Set(values);values.forEach((value=>this._markSelected(value))),oldValues.filter((value=>!newSelectedSet.has(this._getConcreteValue(value,newSelectedSet)))).forEach((value=>this._unmarkSelected(value)));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}toggle(value){return this.isSelected(value)?this.deselect(value):this.select(value)}clear(flushEvent=!0){this._unmarkAll();const changed=this._hasQueuedChanges();return flushEvent&&this._emitChangeEvent(),changed}isSelected(value){return this._selection.has(this._getConcreteValue(value))}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(predicate){this._multiple&&this.selected&&this._selected.sort(predicate)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(value){value=this._getConcreteValue(value),this.isSelected(value)||(this._multiple||this._unmarkAll(),this.isSelected(value)||this._selection.add(value),this._emitChanges&&this._selectedToEmit.push(value))}_unmarkSelected(value){value=this._getConcreteValue(value),this.isSelected(value)&&(this._selection.delete(value),this._emitChanges&&this._deselectedToEmit.push(value))}_unmarkAll(){this.isEmpty()||this._selection.forEach((value=>this._unmarkSelected(value)))}_verifyValueAssignment(values){if(values.length>1&&!this._multiple&&("undefined"==typeof ngDevMode||ngDevMode))throw function getMultipleValuesInSingleSelectionError(){return Error("Cannot pass multiple values into SelectionModel with single-value mode.")}()}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}_getConcreteValue(inputValue,selection){if(this.compareWith){selection=selection??this._selection;for(let selectedValue of selection)if(this.compareWith(inputValue,selectedValue))return selectedValue;return inputValue}return inputValue}}class UniqueSelectionDispatcher{constructor(){this._listeners=[]}notify(id,name){for(let listener of this._listeners)listener(id,name)}listen(listener){return this._listeners.push(listener),()=>{this._listeners=this._listeners.filter((registered=>listener!==registered))}}ngOnDestroy(){this._listeners=[]}static#_=this.ɵfac=function UniqueSelectionDispatcher_Factory(__ngFactoryType__){return new(__ngFactoryType__||UniqueSelectionDispatcher)};static#_2=this.ɵprov=core["ɵɵdefineInjectable"]({token:UniqueSelectionDispatcher,factory:UniqueSelectionDispatcher.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](UniqueSelectionDispatcher,[{type:core.Injectable,args:[{providedIn:"root"}]}],null,null)},"./node_modules/@angular/forms/fesm2022/forms.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{YN:()=>FormsModule,cV:()=>NgForm,j4:()=>FormGroupDirective,k0:()=>Validators,kq:()=>NG_VALUE_ACCESSOR,vO:()=>NgControl});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/forkJoin.js"),rxjs__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),rxjs_operators__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");class BaseControlValueAccessor{constructor(_renderer,_elementRef){this._renderer=_renderer,this._elementRef=_elementRef,this.onChange=_=>{},this.onTouched=()=>{}}setProperty(key,value){this._renderer.setProperty(this._elementRef.nativeElement,key,value)}registerOnTouched(fn){this.onTouched=fn}registerOnChange(fn){this.onChange=fn}setDisabledState(isDisabled){this.setProperty("disabled",isDisabled)}static#_=this.ɵfac=function BaseControlValueAccessor_Factory(__ngFactoryType__){return new(__ngFactoryType__||BaseControlValueAccessor)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:BaseControlValueAccessor})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](BaseControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef}]),null);class BuiltInControlValueAccessor extends BaseControlValueAccessor{static#_=this.ɵfac=(()=>{let ɵBuiltInControlValueAccessor_BaseFactory;return function BuiltInControlValueAccessor_Factory(__ngFactoryType__){return(ɵBuiltInControlValueAccessor_BaseFactory||(ɵBuiltInControlValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](BuiltInControlValueAccessor)))(__ngFactoryType__||BuiltInControlValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:BuiltInControlValueAccessor,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](BuiltInControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive}],null,null);const NG_VALUE_ACCESSOR=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"NgValueAccessor":""),CHECKBOX_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>CheckboxControlValueAccessor)),multi:!0};class CheckboxControlValueAccessor extends BuiltInControlValueAccessor{writeValue(value){this.setProperty("checked",value)}static#_=this.ɵfac=(()=>{let ɵCheckboxControlValueAccessor_BaseFactory;return function CheckboxControlValueAccessor_Factory(__ngFactoryType__){return(ɵCheckboxControlValueAccessor_BaseFactory||(ɵCheckboxControlValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](CheckboxControlValueAccessor)))(__ngFactoryType__||CheckboxControlValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:CheckboxControlValueAccessor,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function CheckboxControlValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function CheckboxControlValueAccessor_change_HostBindingHandler($event){return ctx.onChange($event.target.checked)}))("blur",(function CheckboxControlValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([CHECKBOX_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](CheckboxControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($event.target.checked)","(blur)":"onTouched()"},providers:[CHECKBOX_VALUE_ACCESSOR]}]}],null,null);const DEFAULT_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>DefaultValueAccessor)),multi:!0};const COMPOSITION_BUFFER_MODE=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"CompositionEventMode":"");class DefaultValueAccessor extends BaseControlValueAccessor{constructor(renderer,elementRef,_compositionMode){super(renderer,elementRef),this._compositionMode=_compositionMode,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function _isAndroid(){const userAgent=(0,_angular_common__WEBPACK_IMPORTED_MODULE_1__["ɵgetDOM"])()?(0,_angular_common__WEBPACK_IMPORTED_MODULE_1__["ɵgetDOM"])().getUserAgent():"";return/android (\d+)/.test(userAgent.toLowerCase())}())}writeValue(value){const normalizedValue=null==value?"":value;this.setProperty("value",normalizedValue)}_handleInput(value){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(value)}_compositionStart(){this._composing=!0}_compositionEnd(value){this._composing=!1,this._compositionMode&&this.onChange(value)}static#_=this.ɵfac=function DefaultValueAccessor_Factory(__ngFactoryType__){return new(__ngFactoryType__||DefaultValueAccessor)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](COMPOSITION_BUFFER_MODE,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:DefaultValueAccessor,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function DefaultValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("input",(function DefaultValueAccessor_input_HostBindingHandler($event){return ctx._handleInput($event.target.value)}))("blur",(function DefaultValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))("compositionstart",(function DefaultValueAccessor_compositionstart_HostBindingHandler(){return ctx._compositionStart()}))("compositionend",(function DefaultValueAccessor_compositionend_HostBindingHandler($event){return ctx._compositionEnd($event.target.value)}))},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([DEFAULT_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}function isEmptyInputValue(value){return null==value||("string"==typeof value||Array.isArray(value))&&0===value.length}function hasValidLength(value){return null!=value&&"number"==typeof value.length}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](DefaultValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]",host:{"(input)":"$any(this)._handleInput($event.target.value)","(blur)":"onTouched()","(compositionstart)":"$any(this)._compositionStart()","(compositionend)":"$any(this)._compositionEnd($event.target.value)"},providers:[DEFAULT_VALUE_ACCESSOR]}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[COMPOSITION_BUFFER_MODE]}]}]),null);const NG_VALIDATORS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"NgValidators":""),NG_ASYNC_VALIDATORS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"NgAsyncValidators":""),EMAIL_REGEXP=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class Validators{static min(min){return minValidator(min)}static max(max){return maxValidator(max)}static required(control){return requiredValidator(control)}static requiredTrue(control){return requiredTrueValidator(control)}static email(control){return emailValidator(control)}static minLength(minLength){return minLengthValidator(minLength)}static maxLength(maxLength){return maxLengthValidator(maxLength)}static pattern(pattern){return patternValidator(pattern)}static nullValidator(control){return null}static compose(validators){return compose(validators)}static composeAsync(validators){return composeAsync(validators)}}function minValidator(min){return control=>{if(isEmptyInputValue(control.value)||isEmptyInputValue(min))return null;const value=parseFloat(control.value);return!isNaN(value)&&value{if(isEmptyInputValue(control.value)||isEmptyInputValue(max))return null;const value=parseFloat(control.value);return!isNaN(value)&&value>max?{max:{max,actual:control.value}}:null}}function requiredValidator(control){return isEmptyInputValue(control.value)?{required:!0}:null}function requiredTrueValidator(control){return!0===control.value?null:{required:!0}}function emailValidator(control){return isEmptyInputValue(control.value)||EMAIL_REGEXP.test(control.value)?null:{email:!0}}function minLengthValidator(minLength){return control=>isEmptyInputValue(control.value)||!hasValidLength(control.value)?null:control.value.lengthhasValidLength(control.value)&&control.value.length>maxLength?{maxlength:{requiredLength:maxLength,actualLength:control.value.length}}:null}function patternValidator(pattern){if(!pattern)return nullValidator;let regex,regexStr;return"string"==typeof pattern?(regexStr="","^"!==pattern.charAt(0)&&(regexStr+="^"),regexStr+=pattern,"$"!==pattern.charAt(pattern.length-1)&&(regexStr+="$"),regex=new RegExp(regexStr)):(regexStr=pattern.toString(),regex=pattern),control=>{if(isEmptyInputValue(control.value))return null;const value=control.value;return regex.test(value)?null:{pattern:{requiredPattern:regexStr,actualValue:value}}}}function nullValidator(control){return null}function isPresent(o){return null!=o}function toObservable(value){const obs=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵisPromise"])(value)?(0,rxjs__WEBPACK_IMPORTED_MODULE_2__.H)(value):value;if(("undefined"==typeof ngDevMode||ngDevMode)&&!(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵisSubscribable"])(obs)){let errorMessage="Expected async validator to return Promise or Observable.";throw"object"==typeof value&&(errorMessage+=" Are you using a synchronous validator where an async validator is expected?"),new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](-1101,errorMessage)}return obs}function mergeErrors(arrayOfErrors){let res={};return arrayOfErrors.forEach((errors=>{res=null!=errors?{...res,...errors}:res})),0===Object.keys(res).length?null:res}function executeValidators(control,validators){return validators.map((validator=>validator(control)))}function normalizeValidators(validators){return validators.map((validator=>function isValidatorFn(validator){return!validator.validate}(validator)?validator:c=>validator.validate(c)))}function compose(validators){if(!validators)return null;const presentValidators=validators.filter(isPresent);return 0==presentValidators.length?null:function(control){return mergeErrors(executeValidators(control,presentValidators))}}function composeValidators(validators){return null!=validators?compose(normalizeValidators(validators)):null}function composeAsync(validators){if(!validators)return null;const presentValidators=validators.filter(isPresent);return 0==presentValidators.length?null:function(control){const observables=executeValidators(control,presentValidators).map(toObservable);return(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.p)(observables).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.T)(mergeErrors))}}function composeAsyncValidators(validators){return null!=validators?composeAsync(normalizeValidators(validators)):null}function mergeValidators(controlValidators,dirValidator){return null===controlValidators?[dirValidator]:Array.isArray(controlValidators)?[...controlValidators,dirValidator]:[controlValidators,dirValidator]}function getControlValidators(control){return control._rawValidators}function getControlAsyncValidators(control){return control._rawAsyncValidators}function makeValidatorsArray(validators){return validators?Array.isArray(validators)?validators:[validators]:[]}function hasValidator(validators,validator){return Array.isArray(validators)?validators.includes(validator):validators===validator}function addValidators(validators,currentValidators){const current=makeValidatorsArray(currentValidators);return makeValidatorsArray(validators).forEach((v=>{hasValidator(current,v)||current.push(v)})),current}function removeValidators(validators,currentValidators){return makeValidatorsArray(currentValidators).filter((v=>!hasValidator(validators,v)))}class AbstractControlDirective{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(validators){this._rawValidators=validators||[],this._composedValidatorFn=composeValidators(this._rawValidators)}_setAsyncValidators(validators){this._rawAsyncValidators=validators||[],this._composedAsyncValidatorFn=composeAsyncValidators(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(fn){this._onDestroyCallbacks.push(fn)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach((fn=>fn())),this._onDestroyCallbacks=[]}reset(value=void 0){this.control&&this.control.reset(value)}hasError(errorCode,path){return!!this.control&&this.control.hasError(errorCode,path)}getError(errorCode,path){return this.control?this.control.getError(errorCode,path):null}}class ControlContainer extends AbstractControlDirective{get formDirective(){return null}get path(){return null}}class NgControl extends AbstractControlDirective{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AbstractControlStatus{constructor(cd){this._cd=cd}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}const ngControlStatusHost={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},ngGroupStatusHost={...ngControlStatusHost,"[class.ng-submitted]":"isSubmitted"};class NgControlStatus extends AbstractControlStatus{constructor(cd){super(cd)}static#_=this.ɵfac=function NgControlStatus_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgControlStatus)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NgControl,2))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgControlStatus,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function NgControlStatus_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("ng-untouched",ctx.isUntouched)("ng-touched",ctx.isTouched)("ng-pristine",ctx.isPristine)("ng-dirty",ctx.isDirty)("ng-valid",ctx.isValid)("ng-invalid",ctx.isInvalid)("ng-pending",ctx.isPending)},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgControlStatus,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formControlName],[ngModel],[formControl]",host:ngControlStatusHost}]}],(()=>[{type:NgControl,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self}]}]),null);class NgControlStatusGroup extends AbstractControlStatus{constructor(cd){super(cd)}static#_=this.ɵfac=function NgControlStatusGroup_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgControlStatusGroup)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,10))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgControlStatusGroup,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function NgControlStatusGroup_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("ng-untouched",ctx.isUntouched)("ng-touched",ctx.isTouched)("ng-pristine",ctx.isPristine)("ng-dirty",ctx.isDirty)("ng-valid",ctx.isValid)("ng-invalid",ctx.isInvalid)("ng-pending",ctx.isPending)("ng-submitted",ctx.isSubmitted)},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgControlStatusGroup,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]",host:ngGroupStatusHost}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self}]}]),null);const formControlNameExample='\n
\n \n
\n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',formGroupNameExample='\n
\n
\n \n
\n
\n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',ngModelGroupExample='\n
\n
\n \n
\n
';const disabledAttrWarning="\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n\n Example:\n // Specify the `disabled` property at control creation time:\n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n\n // Controls can also be enabled/disabled after creation:\n form.get('first')?.enable();\n form.get('last')?.disable();\n";function describeKey(isFormGroup,key){return isFormGroup?`with name: '${key}'`:`at index: ${key}`}class ControlEvent{}class ValueChangeEvent extends ControlEvent{constructor(value,source){super(),this.value=value,this.source=source}}class PristineChangeEvent extends ControlEvent{constructor(pristine,source){super(),this.pristine=pristine,this.source=source}}class TouchedChangeEvent extends ControlEvent{constructor(touched,source){super(),this.touched=touched,this.source=source}}class StatusChangeEvent extends ControlEvent{constructor(status,source){super(),this.status=status,this.source=source}}class FormSubmittedEvent extends ControlEvent{constructor(source){super(),this.source=source}}class FormResetEvent extends ControlEvent{constructor(source){super(),this.source=source}}function pickValidators(validatorOrOpts){return(isOptionsObj(validatorOrOpts)?validatorOrOpts.validators:validatorOrOpts)||null}function pickAsyncValidators(asyncValidator,validatorOrOpts){return("undefined"==typeof ngDevMode||ngDevMode)&&isOptionsObj(validatorOrOpts)&&asyncValidator&&console.warn("\n It looks like you're constructing using a FormControl with both an options argument and an\n async validators argument. Mixing these arguments will cause your async validators to be dropped.\n You should either put all your validators in the options object, or in separate validators\n arguments. For example:\n\n // Using validators arguments\n fc = new FormControl(42, Validators.required, myAsyncValidator);\n\n // Using AbstractControlOptions\n fc = new FormControl(42, {validators: Validators.required, asyncValidators: myAV});\n\n // Do NOT mix them: async validators will be dropped!\n fc = new FormControl(42, {validators: Validators.required}, /* Oops! */ myAsyncValidator);\n"),(isOptionsObj(validatorOrOpts)?validatorOrOpts.asyncValidators:asyncValidator)||null}function isOptionsObj(validatorOrOpts){return null!=validatorOrOpts&&!Array.isArray(validatorOrOpts)&&"object"==typeof validatorOrOpts}function assertControlPresent(parent,isGroup,key){const controls=parent.controls;if(!(isGroup?Object.keys(controls):controls).length)throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1e3,"undefined"==typeof ngDevMode||ngDevMode?function noControlsError(isFormGroup){return`\n There are no form controls registered with this ${isFormGroup?"group":"array"} yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n `}(isGroup):"");if(!controls[key])throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1001,"undefined"==typeof ngDevMode||ngDevMode?function missingControlError(isFormGroup,key){return`Cannot find form control ${describeKey(isFormGroup,key)}`}(isGroup,key):"")}function assertAllValuesPresent(control,isGroup,value){control._forEachChild(((_,key)=>{if(void 0===value[key])throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1002,"undefined"==typeof ngDevMode||ngDevMode?function missingControlValueError(isFormGroup,key){return`Must supply a value for form control ${describeKey(isFormGroup,key)}`}(isGroup,key):"")}))}class AbstractControl{constructor(validators,asyncValidators){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=null,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this._status=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this.statusReactive())),this.statusReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(void 0),this._pristine=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this.pristineReactive())),this.pristineReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(!0),this._touched=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this.touchedReactive())),this.touchedReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(!1),this._events=new rxjs__WEBPACK_IMPORTED_MODULE_5__.B,this.events=this._events.asObservable(),this._onDisabledChange=[],this._assignValidators(validators),this._assignAsyncValidators(asyncValidators)}get validator(){return this._composedValidatorFn}set validator(validatorFn){this._rawValidators=this._composedValidatorFn=validatorFn}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(asyncValidatorFn){this._rawAsyncValidators=this._composedAsyncValidatorFn=asyncValidatorFn}get parent(){return this._parent}get status(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this.statusReactive)}set status(v){(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)((()=>this.statusReactive.set(v)))}get valid(){return"VALID"===this.status}get invalid(){return"INVALID"===this.status}get pending(){return"PENDING"==this.status}get disabled(){return"DISABLED"===this.status}get enabled(){return"DISABLED"!==this.status}get pristine(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this.pristineReactive)}set pristine(v){(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)((()=>this.pristineReactive.set(v)))}get dirty(){return!this.pristine}get touched(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this.touchedReactive)}set touched(v){(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)((()=>this.touchedReactive.set(v)))}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(validators){this._assignValidators(validators)}setAsyncValidators(validators){this._assignAsyncValidators(validators)}addValidators(validators){this.setValidators(addValidators(validators,this._rawValidators))}addAsyncValidators(validators){this.setAsyncValidators(addValidators(validators,this._rawAsyncValidators))}removeValidators(validators){this.setValidators(removeValidators(validators,this._rawValidators))}removeAsyncValidators(validators){this.setAsyncValidators(removeValidators(validators,this._rawAsyncValidators))}hasValidator(validator){return hasValidator(this._rawValidators,validator)}hasAsyncValidator(validator){return hasValidator(this._rawAsyncValidators,validator)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(opts={}){const changed=!1===this.touched;this.touched=!0;const sourceControl=opts.sourceControl??this;this._parent&&!opts.onlySelf&&this._parent.markAsTouched({...opts,sourceControl}),changed&&!1!==opts.emitEvent&&this._events.next(new TouchedChangeEvent(!0,sourceControl))}markAllAsTouched(opts={}){this.markAsTouched({onlySelf:!0,emitEvent:opts.emitEvent,sourceControl:this}),this._forEachChild((control=>control.markAllAsTouched(opts)))}markAsUntouched(opts={}){const changed=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const sourceControl=opts.sourceControl??this;this._forEachChild((control=>{control.markAsUntouched({onlySelf:!0,emitEvent:opts.emitEvent,sourceControl})})),this._parent&&!opts.onlySelf&&this._parent._updateTouched(opts,sourceControl),changed&&!1!==opts.emitEvent&&this._events.next(new TouchedChangeEvent(!1,sourceControl))}markAsDirty(opts={}){const changed=!0===this.pristine;this.pristine=!1;const sourceControl=opts.sourceControl??this;this._parent&&!opts.onlySelf&&this._parent.markAsDirty({...opts,sourceControl}),changed&&!1!==opts.emitEvent&&this._events.next(new PristineChangeEvent(!1,sourceControl))}markAsPristine(opts={}){const changed=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const sourceControl=opts.sourceControl??this;this._forEachChild((control=>{control.markAsPristine({onlySelf:!0,emitEvent:opts.emitEvent})})),this._parent&&!opts.onlySelf&&this._parent._updatePristine(opts,sourceControl),changed&&!1!==opts.emitEvent&&this._events.next(new PristineChangeEvent(!0,sourceControl))}markAsPending(opts={}){this.status="PENDING";const sourceControl=opts.sourceControl??this;!1!==opts.emitEvent&&(this._events.next(new StatusChangeEvent(this.status,sourceControl)),this.statusChanges.emit(this.status)),this._parent&&!opts.onlySelf&&this._parent.markAsPending({...opts,sourceControl})}disable(opts={}){const skipPristineCheck=this._parentMarkedDirty(opts.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild((control=>{control.disable({...opts,onlySelf:!0})})),this._updateValue();const sourceControl=opts.sourceControl??this;!1!==opts.emitEvent&&(this._events.next(new ValueChangeEvent(this.value,sourceControl)),this._events.next(new StatusChangeEvent(this.status,sourceControl)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...opts,skipPristineCheck},this),this._onDisabledChange.forEach((changeFn=>changeFn(!0)))}enable(opts={}){const skipPristineCheck=this._parentMarkedDirty(opts.onlySelf);this.status="VALID",this._forEachChild((control=>{control.enable({...opts,onlySelf:!0})})),this.updateValueAndValidity({onlySelf:!0,emitEvent:opts.emitEvent}),this._updateAncestors({...opts,skipPristineCheck},this),this._onDisabledChange.forEach((changeFn=>changeFn(!1)))}_updateAncestors(opts,sourceControl){this._parent&&!opts.onlySelf&&(this._parent.updateValueAndValidity(opts),opts.skipPristineCheck||this._parent._updatePristine({},sourceControl),this._parent._updateTouched({},sourceControl))}setParent(parent){this._parent=parent}getRawValue(){return this.value}updateValueAndValidity(opts={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const shouldHaveEmitted=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(shouldHaveEmitted,opts.emitEvent)}const sourceControl=opts.sourceControl??this;!1!==opts.emitEvent&&(this._events.next(new ValueChangeEvent(this.value,sourceControl)),this._events.next(new StatusChangeEvent(this.status,sourceControl)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!opts.onlySelf&&this._parent.updateValueAndValidity({...opts,sourceControl})}_updateTreeValidity(opts={emitEvent:!0}){this._forEachChild((ctrl=>ctrl._updateTreeValidity(opts))),this.updateValueAndValidity({onlySelf:!0,emitEvent:opts.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(shouldHaveEmitted,emitEvent){if(this.asyncValidator){this.status="PENDING",this._hasOwnPendingAsyncValidator={emitEvent:!1!==emitEvent};const obs=toObservable(this.asyncValidator(this));this._asyncValidationSubscription=obs.subscribe((errors=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(errors,{emitEvent,shouldHaveEmitted})}))}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const shouldHaveEmitted=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,shouldHaveEmitted}return!1}setErrors(errors,opts={}){this.errors=errors,this._updateControlsErrors(!1!==opts.emitEvent,this,opts.shouldHaveEmitted)}get(path){let currPath=path;return null==currPath?null:(Array.isArray(currPath)||(currPath=currPath.split(".")),0===currPath.length?null:currPath.reduce(((control,name)=>control&&control._find(name)),this))}getError(errorCode,path){const control=path?this.get(path):this;return control&&control.errors?control.errors[errorCode]:null}hasError(errorCode,path){return!!this.getError(errorCode,path)}get root(){let x=this;for(;x._parent;)x=x._parent;return x}_updateControlsErrors(emitEvent,changedControl,shouldHaveEmitted){this.status=this._calculateStatus(),emitEvent&&this.statusChanges.emit(this.status),(emitEvent||shouldHaveEmitted)&&this._events.next(new StatusChangeEvent(this.status,changedControl)),this._parent&&this._parent._updateControlsErrors(emitEvent,changedControl,shouldHaveEmitted)}_initObservables(){this.valueChanges=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.statusChanges=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter}_calculateStatus(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"}_anyControlsHaveStatus(status){return this._anyControls((control=>control.status===status))}_anyControlsDirty(){return this._anyControls((control=>control.dirty))}_anyControlsTouched(){return this._anyControls((control=>control.touched))}_updatePristine(opts,changedControl){const newPristine=!this._anyControlsDirty(),changed=this.pristine!==newPristine;this.pristine=newPristine,this._parent&&!opts.onlySelf&&this._parent._updatePristine(opts,changedControl),changed&&this._events.next(new PristineChangeEvent(this.pristine,changedControl))}_updateTouched(opts={},changedControl){this.touched=this._anyControlsTouched(),this._events.next(new TouchedChangeEvent(this.touched,changedControl)),this._parent&&!opts.onlySelf&&this._parent._updateTouched(opts,changedControl)}_registerOnCollectionChange(fn){this._onCollectionChange=fn}_setUpdateStrategy(opts){isOptionsObj(opts)&&null!=opts.updateOn&&(this._updateOn=opts.updateOn)}_parentMarkedDirty(onlySelf){const parentDirty=this._parent&&this._parent.dirty;return!onlySelf&&!!parentDirty&&!this._parent._anyControlsDirty()}_find(name){return null}_assignValidators(validators){this._rawValidators=Array.isArray(validators)?validators.slice():validators,this._composedValidatorFn=function coerceToValidator(validator){return Array.isArray(validator)?composeValidators(validator):validator||null}(this._rawValidators)}_assignAsyncValidators(validators){this._rawAsyncValidators=Array.isArray(validators)?validators.slice():validators,this._composedAsyncValidatorFn=function coerceToAsyncValidator(asyncValidator){return Array.isArray(asyncValidator)?composeAsyncValidators(asyncValidator):asyncValidator||null}(this._rawAsyncValidators)}}class FormGroup extends AbstractControl{constructor(controls,validatorOrOpts,asyncValidator){super(pickValidators(validatorOrOpts),pickAsyncValidators(asyncValidator,validatorOrOpts)),("undefined"==typeof ngDevMode||ngDevMode)&&function validateFormGroupControls(controls){const invalidKeys=Object.keys(controls).filter((key=>key.includes(".")));invalidKeys.length>0&&console.warn(`FormGroup keys cannot include \`.\`, please replace the keys for: ${invalidKeys.join(",")}.`)}(controls),this.controls=controls,this._initObservables(),this._setUpdateStrategy(validatorOrOpts),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(name,control){return this.controls[name]?this.controls[name]:(this.controls[name]=control,control.setParent(this),control._registerOnCollectionChange(this._onCollectionChange),control)}addControl(name,control,options={}){this.registerControl(name,control),this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}removeControl(name,options={}){this.controls[name]&&this.controls[name]._registerOnCollectionChange((()=>{})),delete this.controls[name],this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}setControl(name,control,options={}){this.controls[name]&&this.controls[name]._registerOnCollectionChange((()=>{})),delete this.controls[name],control&&this.registerControl(name,control),this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}contains(controlName){return this.controls.hasOwnProperty(controlName)&&this.controls[controlName].enabled}setValue(value,options={}){assertAllValuesPresent(this,!0,value),Object.keys(value).forEach((name=>{assertControlPresent(this,!0,name),this.controls[name].setValue(value[name],{onlySelf:!0,emitEvent:options.emitEvent})})),this.updateValueAndValidity(options)}patchValue(value,options={}){null!=value&&(Object.keys(value).forEach((name=>{const control=this.controls[name];control&&control.patchValue(value[name],{onlySelf:!0,emitEvent:options.emitEvent})})),this.updateValueAndValidity(options))}reset(value={},options={}){this._forEachChild(((control,name)=>{control.reset(value?value[name]:null,{onlySelf:!0,emitEvent:options.emitEvent})})),this._updatePristine(options,this),this._updateTouched(options,this),this.updateValueAndValidity(options)}getRawValue(){return this._reduceChildren({},((acc,control,name)=>(acc[name]=control.getRawValue(),acc)))}_syncPendingControls(){let subtreeUpdated=this._reduceChildren(!1,((updated,child)=>!!child._syncPendingControls()||updated));return subtreeUpdated&&this.updateValueAndValidity({onlySelf:!0}),subtreeUpdated}_forEachChild(cb){Object.keys(this.controls).forEach((key=>{const control=this.controls[key];control&&cb(control,key)}))}_setUpControls(){this._forEachChild((control=>{control.setParent(this),control._registerOnCollectionChange(this._onCollectionChange)}))}_updateValue(){this.value=this._reduceValue()}_anyControls(condition){for(const[controlName,control]of Object.entries(this.controls))if(this.contains(controlName)&&condition(control))return!0;return!1}_reduceValue(){return this._reduceChildren({},((acc,control,name)=>((control.enabled||this.disabled)&&(acc[name]=control.value),acc)))}_reduceChildren(initValue,fn){let res=initValue;return this._forEachChild(((control,name)=>{res=fn(res,control,name)})),res}_allControlsDisabled(){for(const controlName of Object.keys(this.controls))if(this.controls[controlName].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(name){return this.controls.hasOwnProperty(name)?this.controls[name]:null}}class FormRecord extends FormGroup{}const CALL_SET_DISABLED_STATE=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("CallSetDisabledState",{providedIn:"root",factory:()=>setDisabledStateDefault}),setDisabledStateDefault="always";function controlPath(name,parent){return[...parent.path,name]}function setUpControl(control,dir,callSetDisabledState=setDisabledStateDefault){("undefined"==typeof ngDevMode||ngDevMode)&&(control||_throwError(dir,"Cannot find control with"),dir.valueAccessor||function _throwMissingValueAccessorError(dir){const loc=_describeControlLocation(dir);throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](-1203,`No value accessor for form control ${loc}.`)}(dir)),setUpValidators(control,dir),dir.valueAccessor.writeValue(control.value),(control.disabled||"always"===callSetDisabledState)&&dir.valueAccessor.setDisabledState?.(control.disabled),function setUpViewChangePipeline(control,dir){dir.valueAccessor.registerOnChange((newValue=>{control._pendingValue=newValue,control._pendingChange=!0,control._pendingDirty=!0,"change"===control.updateOn&&updateControl(control,dir)}))}(control,dir),function setUpModelChangePipeline(control,dir){const onChange=(newValue,emitModelEvent)=>{dir.valueAccessor.writeValue(newValue),emitModelEvent&&dir.viewToModelUpdate(newValue)};control.registerOnChange(onChange),dir._registerOnDestroy((()=>{control._unregisterOnChange(onChange)}))}(control,dir),function setUpBlurPipeline(control,dir){dir.valueAccessor.registerOnTouched((()=>{control._pendingTouched=!0,"blur"===control.updateOn&&control._pendingChange&&updateControl(control,dir),"submit"!==control.updateOn&&control.markAsTouched()}))}(control,dir),function setUpDisabledChangeHandler(control,dir){if(dir.valueAccessor.setDisabledState){const onDisabledChange=isDisabled=>{dir.valueAccessor.setDisabledState(isDisabled)};control.registerOnDisabledChange(onDisabledChange),dir._registerOnDestroy((()=>{control._unregisterOnDisabledChange(onDisabledChange)}))}}(control,dir)}function cleanUpControl(control,dir,validateControlPresenceOnChange=!0){const noop=()=>{validateControlPresenceOnChange&&("undefined"==typeof ngDevMode||ngDevMode)&&function _noControlError(dir){return _throwError(dir,"There is no FormControl instance attached to form control element with")}(dir)};dir.valueAccessor&&(dir.valueAccessor.registerOnChange(noop),dir.valueAccessor.registerOnTouched(noop)),cleanUpValidators(control,dir),control&&(dir._invokeOnDestroyCallbacks(),control._registerOnCollectionChange((()=>{})))}function registerOnValidatorChange(validators,onChange){validators.forEach((validator=>{validator.registerOnValidatorChange&&validator.registerOnValidatorChange(onChange)}))}function setUpValidators(control,dir){const validators=getControlValidators(control);null!==dir.validator?control.setValidators(mergeValidators(validators,dir.validator)):"function"==typeof validators&&control.setValidators([validators]);const asyncValidators=getControlAsyncValidators(control);null!==dir.asyncValidator?control.setAsyncValidators(mergeValidators(asyncValidators,dir.asyncValidator)):"function"==typeof asyncValidators&&control.setAsyncValidators([asyncValidators]);const onValidatorChange=()=>control.updateValueAndValidity();registerOnValidatorChange(dir._rawValidators,onValidatorChange),registerOnValidatorChange(dir._rawAsyncValidators,onValidatorChange)}function cleanUpValidators(control,dir){let isControlUpdated=!1;if(null!==control){if(null!==dir.validator){const validators=getControlValidators(control);if(Array.isArray(validators)&&validators.length>0){const updatedValidators=validators.filter((validator=>validator!==dir.validator));updatedValidators.length!==validators.length&&(isControlUpdated=!0,control.setValidators(updatedValidators))}}if(null!==dir.asyncValidator){const asyncValidators=getControlAsyncValidators(control);if(Array.isArray(asyncValidators)&&asyncValidators.length>0){const updatedAsyncValidators=asyncValidators.filter((asyncValidator=>asyncValidator!==dir.asyncValidator));updatedAsyncValidators.length!==asyncValidators.length&&(isControlUpdated=!0,control.setAsyncValidators(updatedAsyncValidators))}}}const noop=()=>{};return registerOnValidatorChange(dir._rawValidators,noop),registerOnValidatorChange(dir._rawAsyncValidators,noop),isControlUpdated}function updateControl(control,dir){control._pendingDirty&&control.markAsDirty(),control.setValue(control._pendingValue,{emitModelToViewChange:!1}),dir.viewToModelUpdate(control._pendingValue),control._pendingChange=!1}function setUpFormContainer(control,dir){null!=control||"undefined"!=typeof ngDevMode&&!ngDevMode||_throwError(dir,"Cannot find control with"),setUpValidators(control,dir)}function _throwError(dir,message){const messageEnd=_describeControlLocation(dir);throw new Error(`${message} ${messageEnd}`)}function _describeControlLocation(dir){const path=dir.path;return path&&path.length>1?`path: '${path.join(" -> ")}'`:path?.[0]?`name: '${path}'`:"unspecified name attribute"}function isPropertyUpdated(changes,viewModel){if(!changes.hasOwnProperty("model"))return!1;const change=changes.model;return!!change.isFirstChange()||!Object.is(viewModel,change.currentValue)}function syncPendingControls(form,directives){form._syncPendingControls(),directives.forEach((dir=>{const control=dir.control;"submit"===control.updateOn&&control._pendingChange&&(dir.viewToModelUpdate(control._pendingValue),control._pendingChange=!1)}))}function selectValueAccessor(dir,valueAccessors){if(!valueAccessors)return null;let defaultAccessor,builtinAccessor,customAccessor;return Array.isArray(valueAccessors)||"undefined"!=typeof ngDevMode&&!ngDevMode||function _throwInvalidValueAccessorError(dir){const loc=_describeControlLocation(dir);throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1200,`Value accessor was not provided as an array for form control with ${loc}. Check that the \`NG_VALUE_ACCESSOR\` token is configured as a \`multi: true\` provider.`)}(dir),valueAccessors.forEach((v=>{v.constructor===DefaultValueAccessor?defaultAccessor=v:!function isBuiltInAccessor(valueAccessor){return Object.getPrototypeOf(valueAccessor.constructor)===BuiltInControlValueAccessor}(v)?(customAccessor&&("undefined"==typeof ngDevMode||ngDevMode)&&_throwError(dir,"More than one custom value accessor matches form control with"),customAccessor=v):(builtinAccessor&&("undefined"==typeof ngDevMode||ngDevMode)&&_throwError(dir,"More than one built-in value accessor matches form control with"),builtinAccessor=v)})),customAccessor||(builtinAccessor||(defaultAccessor||(("undefined"==typeof ngDevMode||ngDevMode)&&_throwError(dir,"No valid value accessor for form control with"),null)))}function _ngModelWarning(name,type,instance,warningConfig){"never"!==warningConfig&&((null!==warningConfig&&"once"!==warningConfig||type._ngModelWarningSentOnce)&&("always"!==warningConfig||instance._ngModelWarningSent)||(console.warn(function ngModelWarning(directiveName){return`\n It looks like you're using ngModel on the same form field as ${directiveName}.\n Support for using the ngModel input property and ngModelChange event with\n reactive form directives has been deprecated in Angular v6 and will be removed\n in a future version of Angular.\n\n For more information on this, see our API docs here:\n https://angular.io/api/forms/${"formControl"===directiveName?"FormControlDirective":"FormControlName"}#use-with-ngmodel\n `}(name)),type._ngModelWarningSentOnce=!0,instance._ngModelWarningSent=!0))}const formDirectiveProvider$1={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>NgForm))},resolvedPromise$1=Promise.resolve();class NgForm extends ControlContainer{get submitted(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this.submittedReactive)}constructor(validators,asyncValidators,callSetDisabledState){super(),this.callSetDisabledState=callSetDisabledState,this._submitted=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this.submittedReactive())),this.submittedReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(!1),this._directives=new Set,this.ngSubmit=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.form=new FormGroup({},composeValidators(validators),composeAsyncValidators(asyncValidators))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(dir){resolvedPromise$1.then((()=>{const container=this._findContainer(dir.path);dir.control=container.registerControl(dir.name,dir.control),setUpControl(dir.control,dir,this.callSetDisabledState),dir.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(dir)}))}getControl(dir){return this.form.get(dir.path)}removeControl(dir){resolvedPromise$1.then((()=>{const container=this._findContainer(dir.path);container&&container.removeControl(dir.name),this._directives.delete(dir)}))}addFormGroup(dir){resolvedPromise$1.then((()=>{const container=this._findContainer(dir.path),group=new FormGroup({});setUpFormContainer(group,dir),container.registerControl(dir.name,group),group.updateValueAndValidity({emitEvent:!1})}))}removeFormGroup(dir){resolvedPromise$1.then((()=>{const container=this._findContainer(dir.path);container&&container.removeControl(dir.name)}))}getFormGroup(dir){return this.form.get(dir.path)}updateModel(dir,value){resolvedPromise$1.then((()=>{this.form.get(dir.path).setValue(value)}))}setValue(value){this.control.setValue(value)}onSubmit($event){return this.submittedReactive.set(!0),syncPendingControls(this.form,this._directives),this.ngSubmit.emit($event),"dialog"===$event?.target?.method}onReset(){this.resetForm()}resetForm(value=void 0){this.form.reset(value),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(path){return path.pop(),path.length?this.form.get(path):this.form}static#_=this.ɵfac=function NgForm_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgForm)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](CALL_SET_DISABLED_STATE,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgForm,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function NgForm_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("submit",(function NgForm_submit_HostBindingHandler($event){return ctx.onSubmit($event)}))("reset",(function NgForm_reset_HostBindingHandler(){return ctx.onReset()}))},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formDirectiveProvider$1]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}function removeListItem(list,el){const index=list.indexOf(el);index>-1&&list.splice(index,1)}function isFormControlState(formState){return"object"==typeof formState&&null!==formState&&2===Object.keys(formState).length&&"value"in formState&&"disabled"in formState}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgForm,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]",providers:[formDirectiveProvider$1],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},outputs:["ngSubmit"],exportAs:"ngForm"}]}],(()=>[{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[CALL_SET_DISABLED_STATE]}]}]),{options:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngFormOptions"]}]});const FormControl=class FormControl extends AbstractControl{constructor(formState=null,validatorOrOpts,asyncValidator){super(pickValidators(validatorOrOpts),pickAsyncValidators(asyncValidator,validatorOrOpts)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(formState),this._setUpdateStrategy(validatorOrOpts),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),isOptionsObj(validatorOrOpts)&&(validatorOrOpts.nonNullable||validatorOrOpts.initialValueIsDefault)&&(isFormControlState(formState)?this.defaultValue=formState.value:this.defaultValue=formState)}setValue(value,options={}){this.value=this._pendingValue=value,this._onChange.length&&!1!==options.emitModelToViewChange&&this._onChange.forEach((changeFn=>changeFn(this.value,!1!==options.emitViewToModelChange))),this.updateValueAndValidity(options)}patchValue(value,options={}){this.setValue(value,options)}reset(formState=this.defaultValue,options={}){this._applyFormState(formState),this.markAsPristine(options),this.markAsUntouched(options),this.setValue(this.value,options),this._pendingChange=!1}_updateValue(){}_anyControls(condition){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(fn){this._onChange.push(fn)}_unregisterOnChange(fn){removeListItem(this._onChange,fn)}registerOnDisabledChange(fn){this._onDisabledChange.push(fn)}_unregisterOnDisabledChange(fn){removeListItem(this._onDisabledChange,fn)}_forEachChild(cb){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)}_applyFormState(formState){isFormControlState(formState)?(this.value=this._pendingValue=formState.value,formState.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=formState}};class AbstractFormGroupDirective extends ControlContainer{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return controlPath(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static#_=this.ɵfac=(()=>{let ɵAbstractFormGroupDirective_BaseFactory;return function AbstractFormGroupDirective_Factory(__ngFactoryType__){return(ɵAbstractFormGroupDirective_BaseFactory||(ɵAbstractFormGroupDirective_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](AbstractFormGroupDirective)))(__ngFactoryType__||AbstractFormGroupDirective)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:AbstractFormGroupDirective,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](AbstractFormGroupDirective,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive}],null,null);const modelGroupProvider={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>NgModelGroup))};class NgModelGroup extends AbstractFormGroupDirective{constructor(parent,validators,asyncValidators){super(),this.name="",this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators)}_checkParentType(){if(!(this._parent instanceof NgModelGroup)&&!(this._parent instanceof NgForm)&&("undefined"==typeof ngDevMode||ngDevMode))throw function modelGroupParentException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1353,`\n ngModelGroup cannot be used with a parent formGroup directive.\n\n Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n ${formGroupNameExample}\n\n Option 2: Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n ${ngModelGroupExample}`)}()}static#_=this.ɵfac=function NgModelGroup_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgModelGroup)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,5),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgModelGroup,selectors:[["","ngModelGroup",""]],inputs:{name:[0,"ngModelGroup","name"]},exportAs:["ngModelGroup"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([modelGroupProvider]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgModelGroup,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[ngModelGroup]",providers:[modelGroupProvider],exportAs:"ngModelGroup"}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.SkipSelf}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModelGroup"]}]});const formControlBinding$1={provide:NgControl,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>NgModel))},resolvedPromise=Promise.resolve();class NgModel extends NgControl{constructor(parent,validators,asyncValidators,valueAccessors,_changeDetectorRef,callSetDisabledState){super(),this._changeDetectorRef=_changeDetectorRef,this.callSetDisabledState=callSetDisabledState,this.control=new FormControl,this._registered=!1,this.name="",this.update=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators),this.valueAccessor=selectValueAccessor(this,valueAccessors)}ngOnChanges(changes){if(this._checkForErrors(),!this._registered||"name"in changes){if(this._registered&&(this._checkName(),this.formDirective)){const oldName=changes.name.previousValue;this.formDirective.removeControl({name:oldName,path:this._getPath(oldName)})}this._setUpControl()}"isDisabled"in changes&&this._updateDisabled(changes),isPropertyUpdated(changes,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(newValue){this.viewModel=newValue,this.update.emit(newValue)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){setUpControl(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){if("undefined"==typeof ngDevMode||ngDevMode){if(!(this._parent instanceof NgModelGroup)&&this._parent instanceof AbstractFormGroupDirective)throw function formGroupNameException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1351,`\n ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n ${formGroupNameExample}\n\n Option 2: Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n ${ngModelGroupExample}`)}();if(!(this._parent instanceof NgModelGroup||this._parent instanceof NgForm))throw function modelParentException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1350,`\n ngModel cannot be used to register form controls with a parent formGroup directive. Try using\n formGroup's partner directive "formControlName" instead. Example:\n\n ${formControlNameExample}\n\n Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n Example:\n\n \n
\n \n \n
\n`)}()}}_checkName(){if(this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&!this.name&&("undefined"==typeof ngDevMode||ngDevMode))throw function missingNameException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1352,'If ngModel is used within a form tag, either the name attribute must be set or the form\n control must be defined as \'standalone\' in ngModelOptions.\n\n Example 1: \n Example 2: ')}()}_updateValue(value){resolvedPromise.then((()=>{this.control.setValue(value,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()}))}_updateDisabled(changes){const disabledValue=changes.isDisabled.currentValue,isDisabled=0!==disabledValue&&(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute)(disabledValue);resolvedPromise.then((()=>{isDisabled&&!this.control.disabled?this.control.disable():!isDisabled&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()}))}_getPath(controlName){return this._parent?controlPath(controlName,this._parent):[controlName]}static#_=this.ɵfac=function NgModel_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgModel)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,9),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALUE_ACCESSOR,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](CALL_SET_DISABLED_STATE,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgModel,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formControlBinding$1]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgModel,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[ngModel]:not([formControlName]):not([formControl])",providers:[formControlBinding$1],exportAs:"ngModel"}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALUE_ACCESSOR]}]},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[CALL_SET_DISABLED_STATE]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],isDisabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["disabled"]}],model:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModel"]}],options:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModelOptions"]}],update:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output,args:["ngModelChange"]}]});class ɵNgNoValidate{static#_=this.ɵfac=function ɵNgNoValidate_Factory(__ngFactoryType__){return new(__ngFactoryType__||ɵNgNoValidate)};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:ɵNgNoValidate,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](ɵNgNoValidate,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"form:not([ngNoForm]):not([ngNativeValidate])",host:{novalidate:""}}]}],null,null);const NUMBER_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>NumberValueAccessor)),multi:!0};class NumberValueAccessor extends BuiltInControlValueAccessor{writeValue(value){const normalizedValue=null==value?"":value;this.setProperty("value",normalizedValue)}registerOnChange(fn){this.onChange=value=>{fn(""==value?null:parseFloat(value))}}static#_=this.ɵfac=(()=>{let ɵNumberValueAccessor_BaseFactory;return function NumberValueAccessor_Factory(__ngFactoryType__){return(ɵNumberValueAccessor_BaseFactory||(ɵNumberValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](NumberValueAccessor)))(__ngFactoryType__||NumberValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NumberValueAccessor,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function NumberValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("input",(function NumberValueAccessor_input_HostBindingHandler($event){return ctx.onChange($event.target.value)}))("blur",(function NumberValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([NUMBER_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NumberValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]",host:{"(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[NUMBER_VALUE_ACCESSOR]}]}],null,null);const RADIO_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>RadioControlValueAccessor)),multi:!0};class RadioControlRegistry{constructor(){this._accessors=[]}add(control,accessor){this._accessors.push([control,accessor])}remove(accessor){for(let i=this._accessors.length-1;i>=0;--i)if(this._accessors[i][1]===accessor)return void this._accessors.splice(i,1)}select(accessor){this._accessors.forEach((c=>{this._isSameGroup(c,accessor)&&c[1]!==accessor&&c[1].fireUncheck(accessor.value)}))}_isSameGroup(controlPair,accessor){return!!controlPair[0].control&&(controlPair[0]._parent===accessor._control._parent&&controlPair[1].name===accessor.name)}static#_=this.ɵfac=function RadioControlRegistry_Factory(__ngFactoryType__){return new(__ngFactoryType__||RadioControlRegistry)};static#_2=this.ɵprov=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({token:RadioControlRegistry,factory:RadioControlRegistry.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](RadioControlRegistry,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable,args:[{providedIn:"root"}]}],null,null);class RadioControlValueAccessor extends BuiltInControlValueAccessor{constructor(renderer,elementRef,_registry,_injector){super(renderer,elementRef),this._registry=_registry,this._injector=_injector,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(CALL_SET_DISABLED_STATE,{optional:!0})??setDisabledStateDefault}ngOnInit(){this._control=this._injector.get(NgControl),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(value){this._state=value===this.value,this.setProperty("checked",this._state)}registerOnChange(fn){this._fn=fn,this.onChange=()=>{fn(this.value),this._registry.select(this)}}setDisabledState(isDisabled){(this.setDisabledStateFired||isDisabled||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",isDisabled),this.setDisabledStateFired=!0}fireUncheck(value){this.writeValue(value)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&("undefined"==typeof ngDevMode||ngDevMode)&&function throwNameError(){throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1202,'\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')}(),!this.name&&this.formControlName&&(this.name=this.formControlName)}static#_=this.ɵfac=function RadioControlValueAccessor_Factory(__ngFactoryType__){return new(__ngFactoryType__||RadioControlValueAccessor)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](RadioControlRegistry),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:RadioControlValueAccessor,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function RadioControlValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function RadioControlValueAccessor_change_HostBindingHandler(){return ctx.onChange()}))("blur",(function RadioControlValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([RADIO_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](RadioControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]",host:{"(change)":"onChange()","(blur)":"onTouched()"},providers:[RADIO_VALUE_ACCESSOR]}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:RadioControlRegistry},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],formControlName:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const RANGE_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>RangeValueAccessor)),multi:!0};class RangeValueAccessor extends BuiltInControlValueAccessor{writeValue(value){this.setProperty("value",parseFloat(value))}registerOnChange(fn){this.onChange=value=>{fn(""==value?null:parseFloat(value))}}static#_=this.ɵfac=(()=>{let ɵRangeValueAccessor_BaseFactory;return function RangeValueAccessor_Factory(__ngFactoryType__){return(ɵRangeValueAccessor_BaseFactory||(ɵRangeValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](RangeValueAccessor)))(__ngFactoryType__||RangeValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:RangeValueAccessor,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function RangeValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function RangeValueAccessor_change_HostBindingHandler($event){return ctx.onChange($event.target.value)}))("input",(function RangeValueAccessor_input_HostBindingHandler($event){return ctx.onChange($event.target.value)}))("blur",(function RangeValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([RANGE_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](RangeValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[RANGE_VALUE_ACCESSOR]}]}],null,null);const NG_MODEL_WITH_FORM_CONTROL_WARNING=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"NgModelWithFormControlWarning":""),formControlBinding={provide:NgControl,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormControlDirective))};class FormControlDirective extends NgControl{set isDisabled(isDisabled){("undefined"==typeof ngDevMode||ngDevMode)&&console.warn(disabledAttrWarning)}static#_=this._ngModelWarningSentOnce=!1;constructor(validators,asyncValidators,valueAccessors,_ngModelWarningConfig,callSetDisabledState){super(),this._ngModelWarningConfig=_ngModelWarningConfig,this.callSetDisabledState=callSetDisabledState,this.update=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this._ngModelWarningSent=!1,this._setValidators(validators),this._setAsyncValidators(asyncValidators),this.valueAccessor=selectValueAccessor(this,valueAccessors)}ngOnChanges(changes){if(this._isControlChanged(changes)){const previousForm=changes.form.previousValue;previousForm&&cleanUpControl(previousForm,this,!1),setUpControl(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}isPropertyUpdated(changes,this.viewModel)&&(("undefined"==typeof ngDevMode||ngDevMode)&&_ngModelWarning("formControl",FormControlDirective,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&cleanUpControl(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(newValue){this.viewModel=newValue,this.update.emit(newValue)}_isControlChanged(changes){return changes.hasOwnProperty("form")}static#_2=this.ɵfac=function FormControlDirective_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormControlDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALUE_ACCESSOR,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_MODEL_WITH_FORM_CONTROL_WARNING,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](CALL_SET_DISABLED_STATE,8))};static#_3=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormControlDirective,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formControlBinding]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormControlDirective,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formControl]",providers:[formControlBinding],exportAs:"ngForm"}]}],(()=>[{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALUE_ACCESSOR]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_MODEL_WITH_FORM_CONTROL_WARNING]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[CALL_SET_DISABLED_STATE]}]}]),{form:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formControl"]}],isDisabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["disabled"]}],model:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModel"]}],update:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output,args:["ngModelChange"]}]});const formDirectiveProvider={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormGroupDirective))};class FormGroupDirective extends ControlContainer{get submitted(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this._submittedReactive)}set submitted(value){this._submittedReactive.set(value)}constructor(validators,asyncValidators,callSetDisabledState){super(),this.callSetDisabledState=callSetDisabledState,this._submitted=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this._submittedReactive())),this._submittedReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(!1),this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this._setValidators(validators),this._setAsyncValidators(asyncValidators)}ngOnChanges(changes){this._checkFormPresent(),changes.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(cleanUpValidators(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange((()=>{})))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(dir){const ctrl=this.form.get(dir.path);return setUpControl(ctrl,dir,this.callSetDisabledState),ctrl.updateValueAndValidity({emitEvent:!1}),this.directives.push(dir),ctrl}getControl(dir){return this.form.get(dir.path)}removeControl(dir){cleanUpControl(dir.control||null,dir,!1),function removeListItem$1(list,el){const index=list.indexOf(el);index>-1&&list.splice(index,1)}(this.directives,dir)}addFormGroup(dir){this._setUpFormContainer(dir)}removeFormGroup(dir){this._cleanUpFormContainer(dir)}getFormGroup(dir){return this.form.get(dir.path)}addFormArray(dir){this._setUpFormContainer(dir)}removeFormArray(dir){this._cleanUpFormContainer(dir)}getFormArray(dir){return this.form.get(dir.path)}updateModel(dir,value){this.form.get(dir.path).setValue(value)}onSubmit($event){return this._submittedReactive.set(!0),syncPendingControls(this.form,this.directives),this.ngSubmit.emit($event),this.form._events.next(new FormSubmittedEvent(this.control)),"dialog"===$event?.target?.method}onReset(){this.resetForm()}resetForm(value=void 0){this.form.reset(value),this._submittedReactive.set(!1),this.form._events.next(new FormResetEvent(this.form))}_updateDomValue(){this.directives.forEach((dir=>{const oldCtrl=dir.control,newCtrl=this.form.get(dir.path);oldCtrl!==newCtrl&&(cleanUpControl(oldCtrl||null,dir),newCtrl instanceof FormControl&&(setUpControl(newCtrl,dir,this.callSetDisabledState),dir.control=newCtrl))})),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(dir){const ctrl=this.form.get(dir.path);setUpFormContainer(ctrl,dir),ctrl.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(dir){if(this.form){const ctrl=this.form.get(dir.path);if(ctrl){const isControlUpdated=function cleanUpFormContainer(control,dir){return cleanUpValidators(control,dir)}(ctrl,dir);isControlUpdated&&ctrl.updateValueAndValidity({emitEvent:!1})}}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange((()=>{}))}_updateValidators(){setUpValidators(this.form,this),this._oldForm&&cleanUpValidators(this._oldForm,this)}_checkFormPresent(){if(!this.form&&("undefined"==typeof ngDevMode||ngDevMode))throw function missingFormException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1052,`formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n ${formControlNameExample}`)}()}static#_=this.ɵfac=function FormGroupDirective_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormGroupDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](CALL_SET_DISABLED_STATE,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormGroupDirective,selectors:[["","formGroup",""]],hostBindings:function FormGroupDirective_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("submit",(function FormGroupDirective_submit_HostBindingHandler($event){return ctx.onSubmit($event)}))("reset",(function FormGroupDirective_reset_HostBindingHandler(){return ctx.onReset()}))},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formDirectiveProvider]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormGroupDirective,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formGroup]",providers:[formDirectiveProvider],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},exportAs:"ngForm"}]}],(()=>[{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[CALL_SET_DISABLED_STATE]}]}]),{form:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formGroup"]}],ngSubmit:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}]});const formGroupNameProvider={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormGroupName))};class FormGroupName extends AbstractFormGroupDirective{constructor(parent,validators,asyncValidators){super(),this.name=null,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators)}_checkParentType(){if(_hasInvalidParent(this._parent)&&("undefined"==typeof ngDevMode||ngDevMode))throw function groupParentException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1053,`formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${formGroupNameExample}`)}()}static#_=this.ɵfac=function FormGroupName_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormGroupName)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,13),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormGroupName,selectors:[["","formGroupName",""]],inputs:{name:[0,"formGroupName","name"]},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formGroupNameProvider]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormGroupName,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formGroupName]",providers:[formGroupNameProvider]}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.SkipSelf}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formGroupName"]}]});const formArrayNameProvider={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormArrayName))};class FormArrayName extends ControlContainer{constructor(parent,validators,asyncValidators){super(),this.name=null,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return controlPath(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){if(_hasInvalidParent(this._parent)&&("undefined"==typeof ngDevMode||ngDevMode))throw function arrayParentException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1054,'formArrayName must be used with a parent formGroup directive. You\'ll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n \n
\n
\n
\n \n
\n
\n
\n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });')}()}static#_=this.ɵfac=function FormArrayName_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormArrayName)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,13),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormArrayName,selectors:[["","formArrayName",""]],inputs:{name:[0,"formArrayName","name"]},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formArrayNameProvider]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}function _hasInvalidParent(parent){return!(parent instanceof FormGroupName||parent instanceof FormGroupDirective||parent instanceof FormArrayName)}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormArrayName,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formArrayName]",providers:[formArrayNameProvider]}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.SkipSelf}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formArrayName"]}]});const controlNameBinding={provide:NgControl,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormControlName))};class FormControlName extends NgControl{set isDisabled(isDisabled){("undefined"==typeof ngDevMode||ngDevMode)&&console.warn(disabledAttrWarning)}static#_=this._ngModelWarningSentOnce=!1;constructor(parent,validators,asyncValidators,valueAccessors,_ngModelWarningConfig){super(),this._ngModelWarningConfig=_ngModelWarningConfig,this._added=!1,this.name=null,this.update=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this._ngModelWarningSent=!1,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators),this.valueAccessor=selectValueAccessor(this,valueAccessors)}ngOnChanges(changes){this._added||this._setUpControl(),isPropertyUpdated(changes,this.viewModel)&&(("undefined"==typeof ngDevMode||ngDevMode)&&_ngModelWarning("formControlName",FormControlName,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(newValue){this.viewModel=newValue,this.update.emit(newValue)}get path(){return controlPath(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){if("undefined"==typeof ngDevMode||ngDevMode){if(!(this._parent instanceof FormGroupName)&&this._parent instanceof AbstractFormGroupDirective)throw function ngModelGroupException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1051,`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n ${formGroupNameExample}\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n ${ngModelGroupExample}`)}();if(!(this._parent instanceof FormGroupName||this._parent instanceof FormGroupDirective||this._parent instanceof FormArrayName))throw function controlParentException(nameOrIndex){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1050,`formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n ${function describeFormControl(nameOrIndex){if(null==nameOrIndex||""===nameOrIndex)return"";return`Affected Form Control ${"string"==typeof nameOrIndex?"name":"index"}: "${nameOrIndex}"`}(nameOrIndex)}\n\n Example:\n\n ${formControlNameExample}`)}(this.name)}}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#_2=this.ɵfac=function FormControlName_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormControlName)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,13),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALUE_ACCESSOR,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_MODEL_WITH_FORM_CONTROL_WARNING,8))};static#_3=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormControlName,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([controlNameBinding]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormControlName,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formControlName]",providers:[controlNameBinding]}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.SkipSelf}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALUE_ACCESSOR]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_MODEL_WITH_FORM_CONTROL_WARNING]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formControlName"]}],isDisabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["disabled"]}],model:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModel"]}],update:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output,args:["ngModelChange"]}]});const SELECT_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>SelectControlValueAccessor)),multi:!0};function _buildValueString$1(id,value){return null==id?`${value}`:(value&&"object"==typeof value&&(value="Object"),`${id}: ${value}`.slice(0,50))}class SelectControlValueAccessor extends BuiltInControlValueAccessor{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(fn){if("function"!=typeof fn&&("undefined"==typeof ngDevMode||ngDevMode))throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1201,`compareWith must be a function, but received ${JSON.stringify(fn)}`);this._compareWith=fn}writeValue(value){this.value=value;const valueString=_buildValueString$1(this._getOptionId(value),value);this.setProperty("value",valueString)}registerOnChange(fn){this.onChange=valueString=>{this.value=this._getOptionValue(valueString),fn(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(value){for(const id of this._optionMap.keys())if(this._compareWith(this._optionMap.get(id),value))return id;return null}_getOptionValue(valueString){const id=function _extractId$1(valueString){return valueString.split(":")[0]}(valueString);return this._optionMap.has(id)?this._optionMap.get(id):valueString}static#_=this.ɵfac=(()=>{let ɵSelectControlValueAccessor_BaseFactory;return function SelectControlValueAccessor_Factory(__ngFactoryType__){return(ɵSelectControlValueAccessor_BaseFactory||(ɵSelectControlValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](SelectControlValueAccessor)))(__ngFactoryType__||SelectControlValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:SelectControlValueAccessor,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function SelectControlValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function SelectControlValueAccessor_change_HostBindingHandler($event){return ctx.onChange($event.target.value)}))("blur",(function SelectControlValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},inputs:{compareWith:"compareWith"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([SELECT_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](SelectControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]",host:{"(change)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[SELECT_VALUE_ACCESSOR]}]}],null,{compareWith:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});class NgSelectOption{constructor(_element,_renderer,_select){this._element=_element,this._renderer=_renderer,this._select=_select,this._select&&(this.id=this._select._registerOption())}set ngValue(value){null!=this._select&&(this._select._optionMap.set(this.id,value),this._setElementValue(_buildValueString$1(this.id,value)),this._select.writeValue(this._select.value))}set value(value){this._setElementValue(value),this._select&&this._select.writeValue(this._select.value)}_setElementValue(value){this._renderer.setProperty(this._element.nativeElement,"value",value)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#_=this.ɵfac=function NgSelectOption_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgSelectOption)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](SelectControlValueAccessor,9))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgSelectOption,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgSelectOption,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"option"}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:SelectControlValueAccessor,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host}]}]),{ngValue:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngValue"]}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["value"]}]});const SELECT_MULTIPLE_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>SelectMultipleControlValueAccessor)),multi:!0};function _buildValueString(id,value){return null==id?`${value}`:("string"==typeof value&&(value=`'${value}'`),value&&"object"==typeof value&&(value="Object"),`${id}: ${value}`.slice(0,50))}class SelectMultipleControlValueAccessor extends BuiltInControlValueAccessor{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(fn){if("function"!=typeof fn&&("undefined"==typeof ngDevMode||ngDevMode))throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1201,`compareWith must be a function, but received ${JSON.stringify(fn)}`);this._compareWith=fn}writeValue(value){let optionSelectedStateSetter;if(this.value=value,Array.isArray(value)){const ids=value.map((v=>this._getOptionId(v)));optionSelectedStateSetter=(opt,o)=>{opt._setSelected(ids.indexOf(o.toString())>-1)}}else optionSelectedStateSetter=(opt,o)=>{opt._setSelected(!1)};this._optionMap.forEach(optionSelectedStateSetter)}registerOnChange(fn){this.onChange=element=>{const selected=[],selectedOptions=element.selectedOptions;if(void 0!==selectedOptions){const options=selectedOptions;for(let i=0;i{let ɵSelectMultipleControlValueAccessor_BaseFactory;return function SelectMultipleControlValueAccessor_Factory(__ngFactoryType__){return(ɵSelectMultipleControlValueAccessor_BaseFactory||(ɵSelectMultipleControlValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](SelectMultipleControlValueAccessor)))(__ngFactoryType__||SelectMultipleControlValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:SelectMultipleControlValueAccessor,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function SelectMultipleControlValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function SelectMultipleControlValueAccessor_change_HostBindingHandler($event){return ctx.onChange($event.target)}))("blur",(function SelectMultipleControlValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},inputs:{compareWith:"compareWith"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([SELECT_MULTIPLE_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](SelectMultipleControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]",host:{"(change)":"onChange($event.target)","(blur)":"onTouched()"},providers:[SELECT_MULTIPLE_VALUE_ACCESSOR]}]}],null,{compareWith:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});class ɵNgSelectMultipleOption{constructor(_element,_renderer,_select){this._element=_element,this._renderer=_renderer,this._select=_select,this._select&&(this.id=this._select._registerOption(this))}set ngValue(value){null!=this._select&&(this._value=value,this._setElementValue(_buildValueString(this.id,value)),this._select.writeValue(this._select.value))}set value(value){this._select?(this._value=value,this._setElementValue(_buildValueString(this.id,value)),this._select.writeValue(this._select.value)):this._setElementValue(value)}_setElementValue(value){this._renderer.setProperty(this._element.nativeElement,"value",value)}_setSelected(selected){this._renderer.setProperty(this._element.nativeElement,"selected",selected)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#_=this.ɵfac=function ɵNgSelectMultipleOption_Factory(__ngFactoryType__){return new(__ngFactoryType__||ɵNgSelectMultipleOption)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](SelectMultipleControlValueAccessor,9))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:ɵNgSelectMultipleOption,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}function toInteger(value){return"number"==typeof value?value:parseInt(value,10)}function toFloat(value){return"number"==typeof value?value:parseFloat(value)}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](ɵNgSelectMultipleOption,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"option"}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:SelectMultipleControlValueAccessor,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host}]}]),{ngValue:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngValue"]}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["value"]}]});class AbstractValidatorDirective{constructor(){this._validator=nullValidator}ngOnChanges(changes){if(this.inputName in changes){const input=this.normalizeInput(changes[this.inputName].currentValue);this._enabled=this.enabled(input),this._validator=this._enabled?this.createValidator(input):nullValidator,this._onChange&&this._onChange()}}validate(control){return this._validator(control)}registerOnValidatorChange(fn){this._onChange=fn}enabled(input){return null!=input}static#_=this.ɵfac=function AbstractValidatorDirective_Factory(__ngFactoryType__){return new(__ngFactoryType__||AbstractValidatorDirective)};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:AbstractValidatorDirective,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](AbstractValidatorDirective,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive}],null,null);const MAX_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MaxValidator)),multi:!0};class MaxValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=input=>toFloat(input),this.createValidator=max=>maxValidator(max)}static#_=this.ɵfac=(()=>{let ɵMaxValidator_BaseFactory;return function MaxValidator_Factory(__ngFactoryType__){return(ɵMaxValidator_BaseFactory||(ɵMaxValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](MaxValidator)))(__ngFactoryType__||MaxValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MaxValidator,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function MaxValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("max",ctx._enabled?ctx.max:null)},inputs:{max:"max"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MAX_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MaxValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]",providers:[MAX_VALIDATOR],host:{"[attr.max]":"_enabled ? max : null"}}]}],null,{max:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const MIN_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MinValidator)),multi:!0};class MinValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=input=>toFloat(input),this.createValidator=min=>minValidator(min)}static#_=this.ɵfac=(()=>{let ɵMinValidator_BaseFactory;return function MinValidator_Factory(__ngFactoryType__){return(ɵMinValidator_BaseFactory||(ɵMinValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](MinValidator)))(__ngFactoryType__||MinValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MinValidator,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function MinValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("min",ctx._enabled?ctx.min:null)},inputs:{min:"min"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MIN_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MinValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]",providers:[MIN_VALIDATOR],host:{"[attr.min]":"_enabled ? min : null"}}]}],null,{min:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const REQUIRED_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>RequiredValidator)),multi:!0},CHECKBOX_REQUIRED_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>CheckboxRequiredValidator)),multi:!0};class RequiredValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute,this.createValidator=input=>requiredValidator}enabled(input){return input}static#_=this.ɵfac=(()=>{let ɵRequiredValidator_BaseFactory;return function RequiredValidator_Factory(__ngFactoryType__){return(ɵRequiredValidator_BaseFactory||(ɵRequiredValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](RequiredValidator)))(__ngFactoryType__||RequiredValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:RequiredValidator,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function RequiredValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("required",ctx._enabled?"":null)},inputs:{required:"required"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([REQUIRED_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](RequiredValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",providers:[REQUIRED_VALIDATOR],host:{"[attr.required]":'_enabled ? "" : null'}}]}],null,{required:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});class CheckboxRequiredValidator extends RequiredValidator{constructor(){super(...arguments),this.createValidator=input=>requiredTrueValidator}static#_=this.ɵfac=(()=>{let ɵCheckboxRequiredValidator_BaseFactory;return function CheckboxRequiredValidator_Factory(__ngFactoryType__){return(ɵCheckboxRequiredValidator_BaseFactory||(ɵCheckboxRequiredValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](CheckboxRequiredValidator)))(__ngFactoryType__||CheckboxRequiredValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:CheckboxRequiredValidator,selectors:[["input","type","checkbox","required","","formControlName",""],["input","type","checkbox","required","","formControl",""],["input","type","checkbox","required","","ngModel",""]],hostVars:1,hostBindings:function CheckboxRequiredValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("required",ctx._enabled?"":null)},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([CHECKBOX_REQUIRED_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](CheckboxRequiredValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]",providers:[CHECKBOX_REQUIRED_VALIDATOR],host:{"[attr.required]":'_enabled ? "" : null'}}]}],null,null);const EMAIL_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>EmailValidator)),multi:!0};class EmailValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute,this.createValidator=input=>emailValidator}enabled(input){return input}static#_=this.ɵfac=(()=>{let ɵEmailValidator_BaseFactory;return function EmailValidator_Factory(__ngFactoryType__){return(ɵEmailValidator_BaseFactory||(ɵEmailValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](EmailValidator)))(__ngFactoryType__||EmailValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:EmailValidator,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([EMAIL_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](EmailValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[email][formControlName],[email][formControl],[email][ngModel]",providers:[EMAIL_VALIDATOR]}]}],null,{email:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const MIN_LENGTH_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MinLengthValidator)),multi:!0};class MinLengthValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="minlength",this.normalizeInput=input=>toInteger(input),this.createValidator=minlength=>minLengthValidator(minlength)}static#_=this.ɵfac=(()=>{let ɵMinLengthValidator_BaseFactory;return function MinLengthValidator_Factory(__ngFactoryType__){return(ɵMinLengthValidator_BaseFactory||(ɵMinLengthValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](MinLengthValidator)))(__ngFactoryType__||MinLengthValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MinLengthValidator,selectors:[["","minlength","","formControlName",""],["","minlength","","formControl",""],["","minlength","","ngModel",""]],hostVars:1,hostBindings:function MinLengthValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("minlength",ctx._enabled?ctx.minlength:null)},inputs:{minlength:"minlength"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MIN_LENGTH_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MinLengthValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[minlength][formControlName],[minlength][formControl],[minlength][ngModel]",providers:[MIN_LENGTH_VALIDATOR],host:{"[attr.minlength]":"_enabled ? minlength : null"}}]}],null,{minlength:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const MAX_LENGTH_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MaxLengthValidator)),multi:!0};class MaxLengthValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=input=>toInteger(input),this.createValidator=maxlength=>maxLengthValidator(maxlength)}static#_=this.ɵfac=(()=>{let ɵMaxLengthValidator_BaseFactory;return function MaxLengthValidator_Factory(__ngFactoryType__){return(ɵMaxLengthValidator_BaseFactory||(ɵMaxLengthValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](MaxLengthValidator)))(__ngFactoryType__||MaxLengthValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MaxLengthValidator,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function MaxLengthValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("maxlength",ctx._enabled?ctx.maxlength:null)},inputs:{maxlength:"maxlength"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MAX_LENGTH_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MaxLengthValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",providers:[MAX_LENGTH_VALIDATOR],host:{"[attr.maxlength]":"_enabled ? maxlength : null"}}]}],null,{maxlength:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const PATTERN_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>PatternValidator)),multi:!0};class PatternValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=input=>input,this.createValidator=input=>patternValidator(input)}static#_=this.ɵfac=(()=>{let ɵPatternValidator_BaseFactory;return function PatternValidator_Factory(__ngFactoryType__){return(ɵPatternValidator_BaseFactory||(ɵPatternValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](PatternValidator)))(__ngFactoryType__||PatternValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:PatternValidator,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function PatternValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("pattern",ctx._enabled?ctx.pattern:null)},inputs:{pattern:"pattern"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([PATTERN_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](PatternValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",providers:[PATTERN_VALIDATOR],host:{"[attr.pattern]":"_enabled ? pattern : null"}}]}],null,{pattern:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const SHARED_FORM_DIRECTIVES=[ɵNgNoValidate,NgSelectOption,ɵNgSelectMultipleOption,DefaultValueAccessor,NumberValueAccessor,RangeValueAccessor,CheckboxControlValueAccessor,SelectControlValueAccessor,SelectMultipleControlValueAccessor,RadioControlValueAccessor,NgControlStatus,NgControlStatusGroup,RequiredValidator,MinLengthValidator,MaxLengthValidator,PatternValidator,CheckboxRequiredValidator,EmailValidator,MinValidator,MaxValidator],TEMPLATE_DRIVEN_DIRECTIVES=[NgModel,NgModelGroup,NgForm],REACTIVE_DRIVEN_DIRECTIVES=[FormControlDirective,FormGroupDirective,FormControlName,FormGroupName,FormArrayName];class ɵInternalFormsSharedModule{static#_=this.ɵfac=function ɵInternalFormsSharedModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||ɵInternalFormsSharedModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:ɵInternalFormsSharedModule,declarations:[ɵNgNoValidate,NgSelectOption,ɵNgSelectMultipleOption,DefaultValueAccessor,NumberValueAccessor,RangeValueAccessor,CheckboxControlValueAccessor,SelectControlValueAccessor,SelectMultipleControlValueAccessor,RadioControlValueAccessor,NgControlStatus,NgControlStatusGroup,RequiredValidator,MinLengthValidator,MaxLengthValidator,PatternValidator,CheckboxRequiredValidator,EmailValidator,MinValidator,MaxValidator],exports:[ɵNgNoValidate,NgSelectOption,ɵNgSelectMultipleOption,DefaultValueAccessor,NumberValueAccessor,RangeValueAccessor,CheckboxControlValueAccessor,SelectControlValueAccessor,SelectMultipleControlValueAccessor,RadioControlValueAccessor,NgControlStatus,NgControlStatusGroup,RequiredValidator,MinLengthValidator,MaxLengthValidator,PatternValidator,CheckboxRequiredValidator,EmailValidator,MinValidator,MaxValidator]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](ɵInternalFormsSharedModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{declarations:SHARED_FORM_DIRECTIVES,exports:SHARED_FORM_DIRECTIVES}]}],null,null);class FormArray extends AbstractControl{constructor(controls,validatorOrOpts,asyncValidator){super(pickValidators(validatorOrOpts),pickAsyncValidators(asyncValidator,validatorOrOpts)),this.controls=controls,this._initObservables(),this._setUpdateStrategy(validatorOrOpts),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(index){return this.controls[this._adjustIndex(index)]}push(control,options={}){this.controls.push(control),this._registerControl(control),this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}insert(index,control,options={}){this.controls.splice(index,0,control),this._registerControl(control),this.updateValueAndValidity({emitEvent:options.emitEvent})}removeAt(index,options={}){let adjustedIndex=this._adjustIndex(index);adjustedIndex<0&&(adjustedIndex=0),this.controls[adjustedIndex]&&this.controls[adjustedIndex]._registerOnCollectionChange((()=>{})),this.controls.splice(adjustedIndex,1),this.updateValueAndValidity({emitEvent:options.emitEvent})}setControl(index,control,options={}){let adjustedIndex=this._adjustIndex(index);adjustedIndex<0&&(adjustedIndex=0),this.controls[adjustedIndex]&&this.controls[adjustedIndex]._registerOnCollectionChange((()=>{})),this.controls.splice(adjustedIndex,1),control&&(this.controls.splice(adjustedIndex,0,control),this._registerControl(control)),this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(value,options={}){assertAllValuesPresent(this,!1,value),value.forEach(((newValue,index)=>{assertControlPresent(this,!1,index),this.at(index).setValue(newValue,{onlySelf:!0,emitEvent:options.emitEvent})})),this.updateValueAndValidity(options)}patchValue(value,options={}){null!=value&&(value.forEach(((newValue,index)=>{this.at(index)&&this.at(index).patchValue(newValue,{onlySelf:!0,emitEvent:options.emitEvent})})),this.updateValueAndValidity(options))}reset(value=[],options={}){this._forEachChild(((control,index)=>{control.reset(value[index],{onlySelf:!0,emitEvent:options.emitEvent})})),this._updatePristine(options,this),this._updateTouched(options,this),this.updateValueAndValidity(options)}getRawValue(){return this.controls.map((control=>control.getRawValue()))}clear(options={}){this.controls.length<1||(this._forEachChild((control=>control._registerOnCollectionChange((()=>{})))),this.controls.splice(0),this.updateValueAndValidity({emitEvent:options.emitEvent}))}_adjustIndex(index){return index<0?index+this.length:index}_syncPendingControls(){let subtreeUpdated=this.controls.reduce(((updated,child)=>!!child._syncPendingControls()||updated),!1);return subtreeUpdated&&this.updateValueAndValidity({onlySelf:!0}),subtreeUpdated}_forEachChild(cb){this.controls.forEach(((control,index)=>{cb(control,index)}))}_updateValue(){this.value=this.controls.filter((control=>control.enabled||this.disabled)).map((control=>control.value))}_anyControls(condition){return this.controls.some((control=>control.enabled&&condition(control)))}_setUpControls(){this._forEachChild((control=>this._registerControl(control)))}_allControlsDisabled(){for(const control of this.controls)if(control.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(control){control.setParent(this),control._registerOnCollectionChange(this._onCollectionChange)}_find(name){return this.at(name)??null}}function isAbstractControlOptions(options){return!!options&&(void 0!==options.asyncValidators||void 0!==options.validators||void 0!==options.updateOn)}class FormBuilder{constructor(){this.useNonNullable=!1}get nonNullable(){const nnfb=new FormBuilder;return nnfb.useNonNullable=!0,nnfb}group(controls,options=null){const reducedControls=this._reduceControls(controls);let newOptions={};return isAbstractControlOptions(options)?newOptions=options:null!==options&&(newOptions.validators=options.validator,newOptions.asyncValidators=options.asyncValidator),new FormGroup(reducedControls,newOptions)}record(controls,options=null){const reducedControls=this._reduceControls(controls);return new FormRecord(reducedControls,options)}control(formState,validatorOrOpts,asyncValidator){let newOptions={};return this.useNonNullable?(isAbstractControlOptions(validatorOrOpts)?newOptions=validatorOrOpts:(newOptions.validators=validatorOrOpts,newOptions.asyncValidators=asyncValidator),new FormControl(formState,{...newOptions,nonNullable:!0})):new FormControl(formState,validatorOrOpts,asyncValidator)}array(controls,validatorOrOpts,asyncValidator){const createdControls=controls.map((c=>this._createControl(c)));return new FormArray(createdControls,validatorOrOpts,asyncValidator)}_reduceControls(controls){const createdControls={};return Object.keys(controls).forEach((controlName=>{createdControls[controlName]=this._createControl(controls[controlName])})),createdControls}_createControl(controls){if(controls instanceof FormControl)return controls;if(controls instanceof AbstractControl)return controls;if(Array.isArray(controls)){const value=controls[0],validator=controls.length>1?controls[1]:null,asyncValidator=controls.length>2?controls[2]:null;return this.control(value,validator,asyncValidator)}return this.control(controls)}static#_=this.ɵfac=function FormBuilder_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormBuilder)};static#_2=this.ɵprov=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({token:FormBuilder,factory:FormBuilder.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormBuilder,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable,args:[{providedIn:"root"}]}],null,null);class NonNullableFormBuilder{static#_=this.ɵfac=function NonNullableFormBuilder_Factory(__ngFactoryType__){return new(__ngFactoryType__||NonNullableFormBuilder)};static#_2=this.ɵprov=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({token:NonNullableFormBuilder,factory:()=>(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(FormBuilder).nonNullable,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NonNullableFormBuilder,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable,args:[{providedIn:"root",useFactory:()=>(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(FormBuilder).nonNullable}]}],null,null);class UntypedFormBuilder extends FormBuilder{group(controlsConfig,options=null){return super.group(controlsConfig,options)}control(formState,validatorOrOpts,asyncValidator){return super.control(formState,validatorOrOpts,asyncValidator)}array(controlsConfig,validatorOrOpts,asyncValidator){return super.array(controlsConfig,validatorOrOpts,asyncValidator)}static#_=this.ɵfac=(()=>{let ɵUntypedFormBuilder_BaseFactory;return function UntypedFormBuilder_Factory(__ngFactoryType__){return(ɵUntypedFormBuilder_BaseFactory||(ɵUntypedFormBuilder_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](UntypedFormBuilder)))(__ngFactoryType__||UntypedFormBuilder)}})();static#_2=this.ɵprov=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({token:UntypedFormBuilder,factory:UntypedFormBuilder.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](UntypedFormBuilder,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable,args:[{providedIn:"root"}]}],null,null);new _angular_core__WEBPACK_IMPORTED_MODULE_0__.Version("18.2.3");class FormsModule{static withConfig(opts){return{ngModule:FormsModule,providers:[{provide:CALL_SET_DISABLED_STATE,useValue:opts.callSetDisabledState??setDisabledStateDefault}]}}static#_=this.ɵfac=function FormsModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormsModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:FormsModule,declarations:[NgModel,NgModelGroup,NgForm],exports:[ɵInternalFormsSharedModule,NgModel,NgModelGroup,NgForm]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({imports:[ɵInternalFormsSharedModule]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormsModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{declarations:TEMPLATE_DRIVEN_DIRECTIVES,exports:[ɵInternalFormsSharedModule,TEMPLATE_DRIVEN_DIRECTIVES]}]}],null,null);class ReactiveFormsModule{static withConfig(opts){return{ngModule:ReactiveFormsModule,providers:[{provide:NG_MODEL_WITH_FORM_CONTROL_WARNING,useValue:opts.warnOnNgModelWithFormControl??"always"},{provide:CALL_SET_DISABLED_STATE,useValue:opts.callSetDisabledState??setDisabledStateDefault}]}}static#_=this.ɵfac=function ReactiveFormsModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||ReactiveFormsModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:ReactiveFormsModule,declarations:[FormControlDirective,FormGroupDirective,FormControlName,FormGroupName,FormArrayName],exports:[ɵInternalFormsSharedModule,FormControlDirective,FormGroupDirective,FormControlName,FormGroupName,FormArrayName]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({imports:[ɵInternalFormsSharedModule]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](ReactiveFormsModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{declarations:[REACTIVE_DRIVEN_DIRECTIVES],exports:[ɵInternalFormsSharedModule,REACTIVE_DRIVEN_DIRECTIVES]}]}],null,null)},"./node_modules/@storybook/angular/dist/client/argsToTemplate.js":(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.argsToTemplate=void 0,exports.argsToTemplate=function argsToTemplate(args,options={}){const includeSet=options.include?new Set(options.include):null,excludeSet=options.exclude?new Set(options.exclude):null;return Object.entries(args).filter((([key])=>void 0!==args[key])).filter((([key])=>includeSet?includeSet.has(key):!excludeSet||!excludeSet.has(key))).map((([key,value])=>"function"==typeof value?`(${key})="${key}($event)"`:`[${key}]="${key}"`)).join(" ")}},"./node_modules/@storybook/angular/dist/client/decorators.js":(__unused_webpack_module,exports,__webpack_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.componentWrapperDecorator=exports.applicationConfig=exports.moduleMetadata=void 0;const ComputesTemplateFromComponent_1=__webpack_require__("./node_modules/@storybook/angular/dist/client/angular-beta/ComputesTemplateFromComponent.js"),NgComponentAnalyzer_1=__webpack_require__("./node_modules/@storybook/angular/dist/client/angular-beta/utils/NgComponentAnalyzer.js");exports.moduleMetadata=metadata=>storyFn=>{const story=storyFn(),storyMetadata=story.moduleMetadata||{};return metadata=metadata||{},{...story,moduleMetadata:{declarations:[...metadata.declarations||[],...storyMetadata.declarations||[]],entryComponents:[...metadata.entryComponents||[],...storyMetadata.entryComponents||[]],imports:[...metadata.imports||[],...storyMetadata.imports||[]],schemas:[...metadata.schemas||[],...storyMetadata.schemas||[]],providers:[...metadata.providers||[],...storyMetadata.providers||[]]}}},exports.applicationConfig=function applicationConfig(config){return storyFn=>{const story=storyFn(),storyConfig=story.applicationConfig;return{...story,applicationConfig:storyConfig||config?{...config,...storyConfig,providers:[...config?.providers||[],...storyConfig?.providers||[]]}:void 0}}};exports.componentWrapperDecorator=(element,props)=>(storyFn,storyContext)=>{const story=storyFn(),currentProps="function"==typeof props?props(storyContext):props,template=(0,NgComponentAnalyzer_1.isComponent)(element)?(0,ComputesTemplateFromComponent_1.computesTemplateFromComponent)(element,currentProps??{},story.template):element(story.template);return{...story,template,...currentProps||story.props?{props:{...currentProps,...story.props}}:{}}}},"./node_modules/@storybook/angular/dist/client/index.js":function(__unused_webpack_module,exports,__webpack_require__){var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)"default"===p||Object.prototype.hasOwnProperty.call(exports,p)||__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.argsToTemplate=exports.applicationConfig=exports.componentWrapperDecorator=exports.moduleMetadata=void 0,__webpack_require__("./node_modules/@storybook/angular/dist/client/globals.js"),__exportStar(__webpack_require__("./node_modules/@storybook/angular/dist/client/public-types.js"),exports);var decorators_1=__webpack_require__("./node_modules/@storybook/angular/dist/client/decorators.js");Object.defineProperty(exports,"moduleMetadata",{enumerable:!0,get:function(){return decorators_1.moduleMetadata}}),Object.defineProperty(exports,"componentWrapperDecorator",{enumerable:!0,get:function(){return decorators_1.componentWrapperDecorator}}),Object.defineProperty(exports,"applicationConfig",{enumerable:!0,get:function(){return decorators_1.applicationConfig}});var argsToTemplate_1=__webpack_require__("./node_modules/@storybook/angular/dist/client/argsToTemplate.js");Object.defineProperty(exports,"argsToTemplate",{enumerable:!0,get:function(){return argsToTemplate_1.argsToTemplate}})},"./node_modules/@storybook/angular/dist/client/public-types.js":(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0})},"./node_modules/@storybook/angular/dist/index.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{var _client_index__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@storybook/angular/dist/client/index.js");__webpack_require__.o(_client_index__WEBPACK_IMPORTED_MODULE_0__,"applicationConfig")&&__webpack_require__.d(__webpack_exports__,{applicationConfig:function(){return _client_index__WEBPACK_IMPORTED_MODULE_0__.applicationConfig}}),__webpack_require__.o(_client_index__WEBPACK_IMPORTED_MODULE_0__,"moduleMetadata")&&__webpack_require__.d(__webpack_exports__,{moduleMetadata:function(){return _client_index__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata}})}}]); \ No newline at end of file diff --git a/122.faec37ef.iframe.bundle.js.LICENSE.txt b/122.7fdc123b.iframe.bundle.js.LICENSE.txt similarity index 100% rename from 122.faec37ef.iframe.bundle.js.LICENSE.txt rename to 122.7fdc123b.iframe.bundle.js.LICENSE.txt diff --git a/122.faec37ef.iframe.bundle.js b/122.faec37ef.iframe.bundle.js deleted file mode 100644 index fb43e70..0000000 --- a/122.faec37ef.iframe.bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 122.faec37ef.iframe.bundle.js.LICENSE.txt */ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[122],{"./node_modules/@angular/cdk/fesm2022/collections.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{hx:()=>ArrayDataSource,CB:()=>SelectionModel,DQ:()=>_RecycleViewRepeaterStrategy,sL:()=>_VIEW_REPEATER_STRATEGY,y4:()=>isDataSource});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),Observable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),Subscription=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subscription.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),OperatorSubscriber=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js");var _ViewRepeaterOperation,ConnectableObservable=function(_super){function ConnectableObservable(source,subjectFactory){var _this=_super.call(this)||this;return _this.source=source,_this.subjectFactory=subjectFactory,_this._subject=null,_this._refCount=0,_this._connection=null,(0,lift.S)(source)&&(_this.lift=source.lift),_this}return(0,tslib_es6.C6)(ConnectableObservable,_super),ConnectableObservable.prototype._subscribe=function(subscriber){return this.getSubject().subscribe(subscriber)},ConnectableObservable.prototype.getSubject=function(){var subject=this._subject;return subject&&!subject.isStopped||(this._subject=this.subjectFactory()),this._subject},ConnectableObservable.prototype._teardown=function(){this._refCount=0;var _connection=this._connection;this._subject=this._connection=null,null==_connection||_connection.unsubscribe()},ConnectableObservable.prototype.connect=function(){var _this=this,connection=this._connection;if(!connection){connection=this._connection=new Subscription.yU;var subject_1=this.getSubject();connection.add(this.source.subscribe((0,OperatorSubscriber._)(subject_1,void 0,(function(){_this._teardown(),subject_1.complete()}),(function(err){_this._teardown(),subject_1.error(err)}),(function(){return _this._teardown()})))),connection.closed&&(this._connection=null,connection=Subscription.yU.EMPTY)}return connection},ConnectableObservable.prototype.refCount=function(){return function refCount(){return(0,lift.N)((function(source,subscriber){var connection=null;source._refCount++;var refCounter=(0,OperatorSubscriber._)(subscriber,void 0,void 0,void 0,(function(){if(!source||source._refCount<=0||0<--source._refCount)connection=null;else{var sharedConnection=source._connection,conn=connection;connection=null,!sharedConnection||conn&&sharedConnection!==conn||sharedConnection.unsubscribe(),subscriber.unsubscribe()}}));source.subscribe(refCounter),refCounter.closed||(connection=source.connect())}))}()(this)},ConnectableObservable}(Observable.c),isObservable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isObservable.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs");class DataSource{}function isDataSource(value){return value&&"function"==typeof value.connect&&!(value instanceof ConnectableObservable)}class ArrayDataSource extends DataSource{constructor(_data){super(),this._data=_data}connect(){return(0,isObservable.A)(this._data)?this._data:(0,of.of)(this._data)}disconnect(){}}!function(_ViewRepeaterOperation){_ViewRepeaterOperation[_ViewRepeaterOperation.REPLACED=0]="REPLACED",_ViewRepeaterOperation[_ViewRepeaterOperation.INSERTED=1]="INSERTED",_ViewRepeaterOperation[_ViewRepeaterOperation.MOVED=2]="MOVED",_ViewRepeaterOperation[_ViewRepeaterOperation.REMOVED=3]="REMOVED"}(_ViewRepeaterOperation||(_ViewRepeaterOperation={}));const _VIEW_REPEATER_STRATEGY=new core.InjectionToken("_ViewRepeater");class _RecycleViewRepeaterStrategy{constructor(){this.viewCacheSize=20,this._viewCache=[]}applyChanges(changes,viewContainerRef,itemContextFactory,itemValueResolver,itemViewChanged){changes.forEachOperation(((record,adjustedPreviousIndex,currentIndex)=>{let view,operation;if(null==record.previousIndex){const viewArgsFactory=()=>itemContextFactory(record,adjustedPreviousIndex,currentIndex);view=this._insertView(viewArgsFactory,currentIndex,viewContainerRef,itemValueResolver(record)),operation=view?_ViewRepeaterOperation.INSERTED:_ViewRepeaterOperation.REPLACED}else null==currentIndex?(this._detachAndCacheView(adjustedPreviousIndex,viewContainerRef),operation=_ViewRepeaterOperation.REMOVED):(view=this._moveView(adjustedPreviousIndex,currentIndex,viewContainerRef,itemValueResolver(record)),operation=_ViewRepeaterOperation.MOVED);itemViewChanged&&itemViewChanged({context:view?.context,operation,record})}))}detach(){for(const view of this._viewCache)view.destroy();this._viewCache=[]}_insertView(viewArgsFactory,currentIndex,viewContainerRef,value){const cachedView=this._insertViewFromCache(currentIndex,viewContainerRef);if(cachedView)return void(cachedView.context.$implicit=value);const viewArgs=viewArgsFactory();return viewContainerRef.createEmbeddedView(viewArgs.templateRef,viewArgs.context,viewArgs.index)}_detachAndCacheView(index,viewContainerRef){const detachedView=viewContainerRef.detach(index);this._maybeCacheView(detachedView,viewContainerRef)}_moveView(adjustedPreviousIndex,currentIndex,viewContainerRef,value){const view=viewContainerRef.get(adjustedPreviousIndex);return viewContainerRef.move(view,currentIndex),view.context.$implicit=value,view}_maybeCacheView(view,viewContainerRef){if(this._viewCache.lengththis._markSelected(value))):this._markSelected(initiallySelectedValues[0]),this._selectedToEmit.length=0)}select(...values){this._verifyValueAssignment(values),values.forEach((value=>this._markSelected(value)));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}deselect(...values){this._verifyValueAssignment(values),values.forEach((value=>this._unmarkSelected(value)));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}setSelection(...values){this._verifyValueAssignment(values);const oldValues=this.selected,newSelectedSet=new Set(values);values.forEach((value=>this._markSelected(value))),oldValues.filter((value=>!newSelectedSet.has(this._getConcreteValue(value,newSelectedSet)))).forEach((value=>this._unmarkSelected(value)));const changed=this._hasQueuedChanges();return this._emitChangeEvent(),changed}toggle(value){return this.isSelected(value)?this.deselect(value):this.select(value)}clear(flushEvent=!0){this._unmarkAll();const changed=this._hasQueuedChanges();return flushEvent&&this._emitChangeEvent(),changed}isSelected(value){return this._selection.has(this._getConcreteValue(value))}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(predicate){this._multiple&&this.selected&&this._selected.sort(predicate)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(value){value=this._getConcreteValue(value),this.isSelected(value)||(this._multiple||this._unmarkAll(),this.isSelected(value)||this._selection.add(value),this._emitChanges&&this._selectedToEmit.push(value))}_unmarkSelected(value){value=this._getConcreteValue(value),this.isSelected(value)&&(this._selection.delete(value),this._emitChanges&&this._deselectedToEmit.push(value))}_unmarkAll(){this.isEmpty()||this._selection.forEach((value=>this._unmarkSelected(value)))}_verifyValueAssignment(values){if(values.length>1&&!this._multiple&&("undefined"==typeof ngDevMode||ngDevMode))throw function getMultipleValuesInSingleSelectionError(){return Error("Cannot pass multiple values into SelectionModel with single-value mode.")}()}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}_getConcreteValue(inputValue,selection){if(this.compareWith){selection=selection??this._selection;for(let selectedValue of selection)if(this.compareWith(inputValue,selectedValue))return selectedValue;return inputValue}return inputValue}}class UniqueSelectionDispatcher{constructor(){this._listeners=[]}notify(id,name){for(let listener of this._listeners)listener(id,name)}listen(listener){return this._listeners.push(listener),()=>{this._listeners=this._listeners.filter((registered=>listener!==registered))}}ngOnDestroy(){this._listeners=[]}static#_=this.ɵfac=function UniqueSelectionDispatcher_Factory(__ngFactoryType__){return new(__ngFactoryType__||UniqueSelectionDispatcher)};static#_2=this.ɵprov=core["ɵɵdefineInjectable"]({token:UniqueSelectionDispatcher,factory:UniqueSelectionDispatcher.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](UniqueSelectionDispatcher,[{type:core.Injectable,args:[{providedIn:"root"}]}],null,null)},"./node_modules/@angular/forms/fesm2022/forms.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{X1:()=>ReactiveFormsModule,YN:()=>FormsModule,cV:()=>NgForm,j4:()=>FormGroupDirective,k0:()=>Validators,kq:()=>NG_VALUE_ACCESSOR,vO:()=>NgControl});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/forkJoin.js"),rxjs__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),rxjs_operators__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");class BaseControlValueAccessor{constructor(_renderer,_elementRef){this._renderer=_renderer,this._elementRef=_elementRef,this.onChange=_=>{},this.onTouched=()=>{}}setProperty(key,value){this._renderer.setProperty(this._elementRef.nativeElement,key,value)}registerOnTouched(fn){this.onTouched=fn}registerOnChange(fn){this.onChange=fn}setDisabledState(isDisabled){this.setProperty("disabled",isDisabled)}static#_=this.ɵfac=function BaseControlValueAccessor_Factory(__ngFactoryType__){return new(__ngFactoryType__||BaseControlValueAccessor)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:BaseControlValueAccessor})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](BaseControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef}]),null);class BuiltInControlValueAccessor extends BaseControlValueAccessor{static#_=this.ɵfac=(()=>{let ɵBuiltInControlValueAccessor_BaseFactory;return function BuiltInControlValueAccessor_Factory(__ngFactoryType__){return(ɵBuiltInControlValueAccessor_BaseFactory||(ɵBuiltInControlValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](BuiltInControlValueAccessor)))(__ngFactoryType__||BuiltInControlValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:BuiltInControlValueAccessor,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](BuiltInControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive}],null,null);const NG_VALUE_ACCESSOR=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"NgValueAccessor":""),CHECKBOX_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>CheckboxControlValueAccessor)),multi:!0};class CheckboxControlValueAccessor extends BuiltInControlValueAccessor{writeValue(value){this.setProperty("checked",value)}static#_=this.ɵfac=(()=>{let ɵCheckboxControlValueAccessor_BaseFactory;return function CheckboxControlValueAccessor_Factory(__ngFactoryType__){return(ɵCheckboxControlValueAccessor_BaseFactory||(ɵCheckboxControlValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](CheckboxControlValueAccessor)))(__ngFactoryType__||CheckboxControlValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:CheckboxControlValueAccessor,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function CheckboxControlValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function CheckboxControlValueAccessor_change_HostBindingHandler($event){return ctx.onChange($event.target.checked)}))("blur",(function CheckboxControlValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([CHECKBOX_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](CheckboxControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($event.target.checked)","(blur)":"onTouched()"},providers:[CHECKBOX_VALUE_ACCESSOR]}]}],null,null);const DEFAULT_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>DefaultValueAccessor)),multi:!0};const COMPOSITION_BUFFER_MODE=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"CompositionEventMode":"");class DefaultValueAccessor extends BaseControlValueAccessor{constructor(renderer,elementRef,_compositionMode){super(renderer,elementRef),this._compositionMode=_compositionMode,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function _isAndroid(){const userAgent=(0,_angular_common__WEBPACK_IMPORTED_MODULE_1__["ɵgetDOM"])()?(0,_angular_common__WEBPACK_IMPORTED_MODULE_1__["ɵgetDOM"])().getUserAgent():"";return/android (\d+)/.test(userAgent.toLowerCase())}())}writeValue(value){const normalizedValue=null==value?"":value;this.setProperty("value",normalizedValue)}_handleInput(value){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(value)}_compositionStart(){this._composing=!0}_compositionEnd(value){this._composing=!1,this._compositionMode&&this.onChange(value)}static#_=this.ɵfac=function DefaultValueAccessor_Factory(__ngFactoryType__){return new(__ngFactoryType__||DefaultValueAccessor)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](COMPOSITION_BUFFER_MODE,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:DefaultValueAccessor,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function DefaultValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("input",(function DefaultValueAccessor_input_HostBindingHandler($event){return ctx._handleInput($event.target.value)}))("blur",(function DefaultValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))("compositionstart",(function DefaultValueAccessor_compositionstart_HostBindingHandler(){return ctx._compositionStart()}))("compositionend",(function DefaultValueAccessor_compositionend_HostBindingHandler($event){return ctx._compositionEnd($event.target.value)}))},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([DEFAULT_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}function isEmptyInputValue(value){return null==value||("string"==typeof value||Array.isArray(value))&&0===value.length}function hasValidLength(value){return null!=value&&"number"==typeof value.length}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](DefaultValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]",host:{"(input)":"$any(this)._handleInput($event.target.value)","(blur)":"onTouched()","(compositionstart)":"$any(this)._compositionStart()","(compositionend)":"$any(this)._compositionEnd($event.target.value)"},providers:[DEFAULT_VALUE_ACCESSOR]}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[COMPOSITION_BUFFER_MODE]}]}]),null);const NG_VALIDATORS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"NgValidators":""),NG_ASYNC_VALIDATORS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"NgAsyncValidators":""),EMAIL_REGEXP=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class Validators{static min(min){return minValidator(min)}static max(max){return maxValidator(max)}static required(control){return requiredValidator(control)}static requiredTrue(control){return requiredTrueValidator(control)}static email(control){return emailValidator(control)}static minLength(minLength){return minLengthValidator(minLength)}static maxLength(maxLength){return maxLengthValidator(maxLength)}static pattern(pattern){return patternValidator(pattern)}static nullValidator(control){return null}static compose(validators){return compose(validators)}static composeAsync(validators){return composeAsync(validators)}}function minValidator(min){return control=>{if(isEmptyInputValue(control.value)||isEmptyInputValue(min))return null;const value=parseFloat(control.value);return!isNaN(value)&&value{if(isEmptyInputValue(control.value)||isEmptyInputValue(max))return null;const value=parseFloat(control.value);return!isNaN(value)&&value>max?{max:{max,actual:control.value}}:null}}function requiredValidator(control){return isEmptyInputValue(control.value)?{required:!0}:null}function requiredTrueValidator(control){return!0===control.value?null:{required:!0}}function emailValidator(control){return isEmptyInputValue(control.value)||EMAIL_REGEXP.test(control.value)?null:{email:!0}}function minLengthValidator(minLength){return control=>isEmptyInputValue(control.value)||!hasValidLength(control.value)?null:control.value.lengthhasValidLength(control.value)&&control.value.length>maxLength?{maxlength:{requiredLength:maxLength,actualLength:control.value.length}}:null}function patternValidator(pattern){if(!pattern)return nullValidator;let regex,regexStr;return"string"==typeof pattern?(regexStr="","^"!==pattern.charAt(0)&&(regexStr+="^"),regexStr+=pattern,"$"!==pattern.charAt(pattern.length-1)&&(regexStr+="$"),regex=new RegExp(regexStr)):(regexStr=pattern.toString(),regex=pattern),control=>{if(isEmptyInputValue(control.value))return null;const value=control.value;return regex.test(value)?null:{pattern:{requiredPattern:regexStr,actualValue:value}}}}function nullValidator(control){return null}function isPresent(o){return null!=o}function toObservable(value){const obs=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵisPromise"])(value)?(0,rxjs__WEBPACK_IMPORTED_MODULE_2__.H)(value):value;if(("undefined"==typeof ngDevMode||ngDevMode)&&!(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵisSubscribable"])(obs)){let errorMessage="Expected async validator to return Promise or Observable.";throw"object"==typeof value&&(errorMessage+=" Are you using a synchronous validator where an async validator is expected?"),new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](-1101,errorMessage)}return obs}function mergeErrors(arrayOfErrors){let res={};return arrayOfErrors.forEach((errors=>{res=null!=errors?{...res,...errors}:res})),0===Object.keys(res).length?null:res}function executeValidators(control,validators){return validators.map((validator=>validator(control)))}function normalizeValidators(validators){return validators.map((validator=>function isValidatorFn(validator){return!validator.validate}(validator)?validator:c=>validator.validate(c)))}function compose(validators){if(!validators)return null;const presentValidators=validators.filter(isPresent);return 0==presentValidators.length?null:function(control){return mergeErrors(executeValidators(control,presentValidators))}}function composeValidators(validators){return null!=validators?compose(normalizeValidators(validators)):null}function composeAsync(validators){if(!validators)return null;const presentValidators=validators.filter(isPresent);return 0==presentValidators.length?null:function(control){const observables=executeValidators(control,presentValidators).map(toObservable);return(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.p)(observables).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.T)(mergeErrors))}}function composeAsyncValidators(validators){return null!=validators?composeAsync(normalizeValidators(validators)):null}function mergeValidators(controlValidators,dirValidator){return null===controlValidators?[dirValidator]:Array.isArray(controlValidators)?[...controlValidators,dirValidator]:[controlValidators,dirValidator]}function getControlValidators(control){return control._rawValidators}function getControlAsyncValidators(control){return control._rawAsyncValidators}function makeValidatorsArray(validators){return validators?Array.isArray(validators)?validators:[validators]:[]}function hasValidator(validators,validator){return Array.isArray(validators)?validators.includes(validator):validators===validator}function addValidators(validators,currentValidators){const current=makeValidatorsArray(currentValidators);return makeValidatorsArray(validators).forEach((v=>{hasValidator(current,v)||current.push(v)})),current}function removeValidators(validators,currentValidators){return makeValidatorsArray(currentValidators).filter((v=>!hasValidator(validators,v)))}class AbstractControlDirective{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(validators){this._rawValidators=validators||[],this._composedValidatorFn=composeValidators(this._rawValidators)}_setAsyncValidators(validators){this._rawAsyncValidators=validators||[],this._composedAsyncValidatorFn=composeAsyncValidators(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(fn){this._onDestroyCallbacks.push(fn)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach((fn=>fn())),this._onDestroyCallbacks=[]}reset(value=void 0){this.control&&this.control.reset(value)}hasError(errorCode,path){return!!this.control&&this.control.hasError(errorCode,path)}getError(errorCode,path){return this.control?this.control.getError(errorCode,path):null}}class ControlContainer extends AbstractControlDirective{get formDirective(){return null}get path(){return null}}class NgControl extends AbstractControlDirective{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class AbstractControlStatus{constructor(cd){this._cd=cd}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}const ngControlStatusHost={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},ngGroupStatusHost={...ngControlStatusHost,"[class.ng-submitted]":"isSubmitted"};class NgControlStatus extends AbstractControlStatus{constructor(cd){super(cd)}static#_=this.ɵfac=function NgControlStatus_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgControlStatus)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NgControl,2))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgControlStatus,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function NgControlStatus_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("ng-untouched",ctx.isUntouched)("ng-touched",ctx.isTouched)("ng-pristine",ctx.isPristine)("ng-dirty",ctx.isDirty)("ng-valid",ctx.isValid)("ng-invalid",ctx.isInvalid)("ng-pending",ctx.isPending)},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgControlStatus,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formControlName],[ngModel],[formControl]",host:ngControlStatusHost}]}],(()=>[{type:NgControl,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self}]}]),null);class NgControlStatusGroup extends AbstractControlStatus{constructor(cd){super(cd)}static#_=this.ɵfac=function NgControlStatusGroup_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgControlStatusGroup)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,10))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgControlStatusGroup,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function NgControlStatusGroup_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("ng-untouched",ctx.isUntouched)("ng-touched",ctx.isTouched)("ng-pristine",ctx.isPristine)("ng-dirty",ctx.isDirty)("ng-valid",ctx.isValid)("ng-invalid",ctx.isInvalid)("ng-pending",ctx.isPending)("ng-submitted",ctx.isSubmitted)},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgControlStatusGroup,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]",host:ngGroupStatusHost}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self}]}]),null);const formControlNameExample='\n
\n \n
\n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',formGroupNameExample='\n
\n
\n \n
\n
\n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',ngModelGroupExample='\n
\n
\n \n
\n
';const disabledAttrWarning="\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n\n Example:\n // Specify the `disabled` property at control creation time:\n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n\n // Controls can also be enabled/disabled after creation:\n form.get('first')?.enable();\n form.get('last')?.disable();\n";function describeKey(isFormGroup,key){return isFormGroup?`with name: '${key}'`:`at index: ${key}`}class ControlEvent{}class ValueChangeEvent extends ControlEvent{constructor(value,source){super(),this.value=value,this.source=source}}class PristineChangeEvent extends ControlEvent{constructor(pristine,source){super(),this.pristine=pristine,this.source=source}}class TouchedChangeEvent extends ControlEvent{constructor(touched,source){super(),this.touched=touched,this.source=source}}class StatusChangeEvent extends ControlEvent{constructor(status,source){super(),this.status=status,this.source=source}}class FormSubmittedEvent extends ControlEvent{constructor(source){super(),this.source=source}}class FormResetEvent extends ControlEvent{constructor(source){super(),this.source=source}}function pickValidators(validatorOrOpts){return(isOptionsObj(validatorOrOpts)?validatorOrOpts.validators:validatorOrOpts)||null}function pickAsyncValidators(asyncValidator,validatorOrOpts){return("undefined"==typeof ngDevMode||ngDevMode)&&isOptionsObj(validatorOrOpts)&&asyncValidator&&console.warn("\n It looks like you're constructing using a FormControl with both an options argument and an\n async validators argument. Mixing these arguments will cause your async validators to be dropped.\n You should either put all your validators in the options object, or in separate validators\n arguments. For example:\n\n // Using validators arguments\n fc = new FormControl(42, Validators.required, myAsyncValidator);\n\n // Using AbstractControlOptions\n fc = new FormControl(42, {validators: Validators.required, asyncValidators: myAV});\n\n // Do NOT mix them: async validators will be dropped!\n fc = new FormControl(42, {validators: Validators.required}, /* Oops! */ myAsyncValidator);\n"),(isOptionsObj(validatorOrOpts)?validatorOrOpts.asyncValidators:asyncValidator)||null}function isOptionsObj(validatorOrOpts){return null!=validatorOrOpts&&!Array.isArray(validatorOrOpts)&&"object"==typeof validatorOrOpts}function assertControlPresent(parent,isGroup,key){const controls=parent.controls;if(!(isGroup?Object.keys(controls):controls).length)throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1e3,"undefined"==typeof ngDevMode||ngDevMode?function noControlsError(isFormGroup){return`\n There are no form controls registered with this ${isFormGroup?"group":"array"} yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n `}(isGroup):"");if(!controls[key])throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1001,"undefined"==typeof ngDevMode||ngDevMode?function missingControlError(isFormGroup,key){return`Cannot find form control ${describeKey(isFormGroup,key)}`}(isGroup,key):"")}function assertAllValuesPresent(control,isGroup,value){control._forEachChild(((_,key)=>{if(void 0===value[key])throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1002,"undefined"==typeof ngDevMode||ngDevMode?function missingControlValueError(isFormGroup,key){return`Must supply a value for form control ${describeKey(isFormGroup,key)}`}(isGroup,key):"")}))}class AbstractControl{constructor(validators,asyncValidators){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=null,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this._status=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this.statusReactive())),this.statusReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(void 0),this._pristine=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this.pristineReactive())),this.pristineReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(!0),this._touched=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this.touchedReactive())),this.touchedReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(!1),this._events=new rxjs__WEBPACK_IMPORTED_MODULE_5__.B,this.events=this._events.asObservable(),this._onDisabledChange=[],this._assignValidators(validators),this._assignAsyncValidators(asyncValidators)}get validator(){return this._composedValidatorFn}set validator(validatorFn){this._rawValidators=this._composedValidatorFn=validatorFn}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(asyncValidatorFn){this._rawAsyncValidators=this._composedAsyncValidatorFn=asyncValidatorFn}get parent(){return this._parent}get status(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this.statusReactive)}set status(v){(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)((()=>this.statusReactive.set(v)))}get valid(){return"VALID"===this.status}get invalid(){return"INVALID"===this.status}get pending(){return"PENDING"==this.status}get disabled(){return"DISABLED"===this.status}get enabled(){return"DISABLED"!==this.status}get pristine(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this.pristineReactive)}set pristine(v){(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)((()=>this.pristineReactive.set(v)))}get dirty(){return!this.pristine}get touched(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this.touchedReactive)}set touched(v){(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)((()=>this.touchedReactive.set(v)))}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(validators){this._assignValidators(validators)}setAsyncValidators(validators){this._assignAsyncValidators(validators)}addValidators(validators){this.setValidators(addValidators(validators,this._rawValidators))}addAsyncValidators(validators){this.setAsyncValidators(addValidators(validators,this._rawAsyncValidators))}removeValidators(validators){this.setValidators(removeValidators(validators,this._rawValidators))}removeAsyncValidators(validators){this.setAsyncValidators(removeValidators(validators,this._rawAsyncValidators))}hasValidator(validator){return hasValidator(this._rawValidators,validator)}hasAsyncValidator(validator){return hasValidator(this._rawAsyncValidators,validator)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(opts={}){const changed=!1===this.touched;this.touched=!0;const sourceControl=opts.sourceControl??this;this._parent&&!opts.onlySelf&&this._parent.markAsTouched({...opts,sourceControl}),changed&&!1!==opts.emitEvent&&this._events.next(new TouchedChangeEvent(!0,sourceControl))}markAllAsTouched(opts={}){this.markAsTouched({onlySelf:!0,emitEvent:opts.emitEvent,sourceControl:this}),this._forEachChild((control=>control.markAllAsTouched(opts)))}markAsUntouched(opts={}){const changed=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const sourceControl=opts.sourceControl??this;this._forEachChild((control=>{control.markAsUntouched({onlySelf:!0,emitEvent:opts.emitEvent,sourceControl})})),this._parent&&!opts.onlySelf&&this._parent._updateTouched(opts,sourceControl),changed&&!1!==opts.emitEvent&&this._events.next(new TouchedChangeEvent(!1,sourceControl))}markAsDirty(opts={}){const changed=!0===this.pristine;this.pristine=!1;const sourceControl=opts.sourceControl??this;this._parent&&!opts.onlySelf&&this._parent.markAsDirty({...opts,sourceControl}),changed&&!1!==opts.emitEvent&&this._events.next(new PristineChangeEvent(!1,sourceControl))}markAsPristine(opts={}){const changed=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const sourceControl=opts.sourceControl??this;this._forEachChild((control=>{control.markAsPristine({onlySelf:!0,emitEvent:opts.emitEvent})})),this._parent&&!opts.onlySelf&&this._parent._updatePristine(opts,sourceControl),changed&&!1!==opts.emitEvent&&this._events.next(new PristineChangeEvent(!0,sourceControl))}markAsPending(opts={}){this.status="PENDING";const sourceControl=opts.sourceControl??this;!1!==opts.emitEvent&&(this._events.next(new StatusChangeEvent(this.status,sourceControl)),this.statusChanges.emit(this.status)),this._parent&&!opts.onlySelf&&this._parent.markAsPending({...opts,sourceControl})}disable(opts={}){const skipPristineCheck=this._parentMarkedDirty(opts.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild((control=>{control.disable({...opts,onlySelf:!0})})),this._updateValue();const sourceControl=opts.sourceControl??this;!1!==opts.emitEvent&&(this._events.next(new ValueChangeEvent(this.value,sourceControl)),this._events.next(new StatusChangeEvent(this.status,sourceControl)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...opts,skipPristineCheck},this),this._onDisabledChange.forEach((changeFn=>changeFn(!0)))}enable(opts={}){const skipPristineCheck=this._parentMarkedDirty(opts.onlySelf);this.status="VALID",this._forEachChild((control=>{control.enable({...opts,onlySelf:!0})})),this.updateValueAndValidity({onlySelf:!0,emitEvent:opts.emitEvent}),this._updateAncestors({...opts,skipPristineCheck},this),this._onDisabledChange.forEach((changeFn=>changeFn(!1)))}_updateAncestors(opts,sourceControl){this._parent&&!opts.onlySelf&&(this._parent.updateValueAndValidity(opts),opts.skipPristineCheck||this._parent._updatePristine({},sourceControl),this._parent._updateTouched({},sourceControl))}setParent(parent){this._parent=parent}getRawValue(){return this.value}updateValueAndValidity(opts={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const shouldHaveEmitted=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(shouldHaveEmitted,opts.emitEvent)}const sourceControl=opts.sourceControl??this;!1!==opts.emitEvent&&(this._events.next(new ValueChangeEvent(this.value,sourceControl)),this._events.next(new StatusChangeEvent(this.status,sourceControl)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!opts.onlySelf&&this._parent.updateValueAndValidity({...opts,sourceControl})}_updateTreeValidity(opts={emitEvent:!0}){this._forEachChild((ctrl=>ctrl._updateTreeValidity(opts))),this.updateValueAndValidity({onlySelf:!0,emitEvent:opts.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(shouldHaveEmitted,emitEvent){if(this.asyncValidator){this.status="PENDING",this._hasOwnPendingAsyncValidator={emitEvent:!1!==emitEvent};const obs=toObservable(this.asyncValidator(this));this._asyncValidationSubscription=obs.subscribe((errors=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(errors,{emitEvent,shouldHaveEmitted})}))}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const shouldHaveEmitted=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,shouldHaveEmitted}return!1}setErrors(errors,opts={}){this.errors=errors,this._updateControlsErrors(!1!==opts.emitEvent,this,opts.shouldHaveEmitted)}get(path){let currPath=path;return null==currPath?null:(Array.isArray(currPath)||(currPath=currPath.split(".")),0===currPath.length?null:currPath.reduce(((control,name)=>control&&control._find(name)),this))}getError(errorCode,path){const control=path?this.get(path):this;return control&&control.errors?control.errors[errorCode]:null}hasError(errorCode,path){return!!this.getError(errorCode,path)}get root(){let x=this;for(;x._parent;)x=x._parent;return x}_updateControlsErrors(emitEvent,changedControl,shouldHaveEmitted){this.status=this._calculateStatus(),emitEvent&&this.statusChanges.emit(this.status),(emitEvent||shouldHaveEmitted)&&this._events.next(new StatusChangeEvent(this.status,changedControl)),this._parent&&this._parent._updateControlsErrors(emitEvent,changedControl,shouldHaveEmitted)}_initObservables(){this.valueChanges=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.statusChanges=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter}_calculateStatus(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"}_anyControlsHaveStatus(status){return this._anyControls((control=>control.status===status))}_anyControlsDirty(){return this._anyControls((control=>control.dirty))}_anyControlsTouched(){return this._anyControls((control=>control.touched))}_updatePristine(opts,changedControl){const newPristine=!this._anyControlsDirty(),changed=this.pristine!==newPristine;this.pristine=newPristine,this._parent&&!opts.onlySelf&&this._parent._updatePristine(opts,changedControl),changed&&this._events.next(new PristineChangeEvent(this.pristine,changedControl))}_updateTouched(opts={},changedControl){this.touched=this._anyControlsTouched(),this._events.next(new TouchedChangeEvent(this.touched,changedControl)),this._parent&&!opts.onlySelf&&this._parent._updateTouched(opts,changedControl)}_registerOnCollectionChange(fn){this._onCollectionChange=fn}_setUpdateStrategy(opts){isOptionsObj(opts)&&null!=opts.updateOn&&(this._updateOn=opts.updateOn)}_parentMarkedDirty(onlySelf){const parentDirty=this._parent&&this._parent.dirty;return!onlySelf&&!!parentDirty&&!this._parent._anyControlsDirty()}_find(name){return null}_assignValidators(validators){this._rawValidators=Array.isArray(validators)?validators.slice():validators,this._composedValidatorFn=function coerceToValidator(validator){return Array.isArray(validator)?composeValidators(validator):validator||null}(this._rawValidators)}_assignAsyncValidators(validators){this._rawAsyncValidators=Array.isArray(validators)?validators.slice():validators,this._composedAsyncValidatorFn=function coerceToAsyncValidator(asyncValidator){return Array.isArray(asyncValidator)?composeAsyncValidators(asyncValidator):asyncValidator||null}(this._rawAsyncValidators)}}class FormGroup extends AbstractControl{constructor(controls,validatorOrOpts,asyncValidator){super(pickValidators(validatorOrOpts),pickAsyncValidators(asyncValidator,validatorOrOpts)),("undefined"==typeof ngDevMode||ngDevMode)&&function validateFormGroupControls(controls){const invalidKeys=Object.keys(controls).filter((key=>key.includes(".")));invalidKeys.length>0&&console.warn(`FormGroup keys cannot include \`.\`, please replace the keys for: ${invalidKeys.join(",")}.`)}(controls),this.controls=controls,this._initObservables(),this._setUpdateStrategy(validatorOrOpts),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(name,control){return this.controls[name]?this.controls[name]:(this.controls[name]=control,control.setParent(this),control._registerOnCollectionChange(this._onCollectionChange),control)}addControl(name,control,options={}){this.registerControl(name,control),this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}removeControl(name,options={}){this.controls[name]&&this.controls[name]._registerOnCollectionChange((()=>{})),delete this.controls[name],this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}setControl(name,control,options={}){this.controls[name]&&this.controls[name]._registerOnCollectionChange((()=>{})),delete this.controls[name],control&&this.registerControl(name,control),this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}contains(controlName){return this.controls.hasOwnProperty(controlName)&&this.controls[controlName].enabled}setValue(value,options={}){assertAllValuesPresent(this,!0,value),Object.keys(value).forEach((name=>{assertControlPresent(this,!0,name),this.controls[name].setValue(value[name],{onlySelf:!0,emitEvent:options.emitEvent})})),this.updateValueAndValidity(options)}patchValue(value,options={}){null!=value&&(Object.keys(value).forEach((name=>{const control=this.controls[name];control&&control.patchValue(value[name],{onlySelf:!0,emitEvent:options.emitEvent})})),this.updateValueAndValidity(options))}reset(value={},options={}){this._forEachChild(((control,name)=>{control.reset(value?value[name]:null,{onlySelf:!0,emitEvent:options.emitEvent})})),this._updatePristine(options,this),this._updateTouched(options,this),this.updateValueAndValidity(options)}getRawValue(){return this._reduceChildren({},((acc,control,name)=>(acc[name]=control.getRawValue(),acc)))}_syncPendingControls(){let subtreeUpdated=this._reduceChildren(!1,((updated,child)=>!!child._syncPendingControls()||updated));return subtreeUpdated&&this.updateValueAndValidity({onlySelf:!0}),subtreeUpdated}_forEachChild(cb){Object.keys(this.controls).forEach((key=>{const control=this.controls[key];control&&cb(control,key)}))}_setUpControls(){this._forEachChild((control=>{control.setParent(this),control._registerOnCollectionChange(this._onCollectionChange)}))}_updateValue(){this.value=this._reduceValue()}_anyControls(condition){for(const[controlName,control]of Object.entries(this.controls))if(this.contains(controlName)&&condition(control))return!0;return!1}_reduceValue(){return this._reduceChildren({},((acc,control,name)=>((control.enabled||this.disabled)&&(acc[name]=control.value),acc)))}_reduceChildren(initValue,fn){let res=initValue;return this._forEachChild(((control,name)=>{res=fn(res,control,name)})),res}_allControlsDisabled(){for(const controlName of Object.keys(this.controls))if(this.controls[controlName].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(name){return this.controls.hasOwnProperty(name)?this.controls[name]:null}}class FormRecord extends FormGroup{}const CALL_SET_DISABLED_STATE=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("CallSetDisabledState",{providedIn:"root",factory:()=>setDisabledStateDefault}),setDisabledStateDefault="always";function controlPath(name,parent){return[...parent.path,name]}function setUpControl(control,dir,callSetDisabledState=setDisabledStateDefault){("undefined"==typeof ngDevMode||ngDevMode)&&(control||_throwError(dir,"Cannot find control with"),dir.valueAccessor||function _throwMissingValueAccessorError(dir){const loc=_describeControlLocation(dir);throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](-1203,`No value accessor for form control ${loc}.`)}(dir)),setUpValidators(control,dir),dir.valueAccessor.writeValue(control.value),(control.disabled||"always"===callSetDisabledState)&&dir.valueAccessor.setDisabledState?.(control.disabled),function setUpViewChangePipeline(control,dir){dir.valueAccessor.registerOnChange((newValue=>{control._pendingValue=newValue,control._pendingChange=!0,control._pendingDirty=!0,"change"===control.updateOn&&updateControl(control,dir)}))}(control,dir),function setUpModelChangePipeline(control,dir){const onChange=(newValue,emitModelEvent)=>{dir.valueAccessor.writeValue(newValue),emitModelEvent&&dir.viewToModelUpdate(newValue)};control.registerOnChange(onChange),dir._registerOnDestroy((()=>{control._unregisterOnChange(onChange)}))}(control,dir),function setUpBlurPipeline(control,dir){dir.valueAccessor.registerOnTouched((()=>{control._pendingTouched=!0,"blur"===control.updateOn&&control._pendingChange&&updateControl(control,dir),"submit"!==control.updateOn&&control.markAsTouched()}))}(control,dir),function setUpDisabledChangeHandler(control,dir){if(dir.valueAccessor.setDisabledState){const onDisabledChange=isDisabled=>{dir.valueAccessor.setDisabledState(isDisabled)};control.registerOnDisabledChange(onDisabledChange),dir._registerOnDestroy((()=>{control._unregisterOnDisabledChange(onDisabledChange)}))}}(control,dir)}function cleanUpControl(control,dir,validateControlPresenceOnChange=!0){const noop=()=>{validateControlPresenceOnChange&&("undefined"==typeof ngDevMode||ngDevMode)&&function _noControlError(dir){return _throwError(dir,"There is no FormControl instance attached to form control element with")}(dir)};dir.valueAccessor&&(dir.valueAccessor.registerOnChange(noop),dir.valueAccessor.registerOnTouched(noop)),cleanUpValidators(control,dir),control&&(dir._invokeOnDestroyCallbacks(),control._registerOnCollectionChange((()=>{})))}function registerOnValidatorChange(validators,onChange){validators.forEach((validator=>{validator.registerOnValidatorChange&&validator.registerOnValidatorChange(onChange)}))}function setUpValidators(control,dir){const validators=getControlValidators(control);null!==dir.validator?control.setValidators(mergeValidators(validators,dir.validator)):"function"==typeof validators&&control.setValidators([validators]);const asyncValidators=getControlAsyncValidators(control);null!==dir.asyncValidator?control.setAsyncValidators(mergeValidators(asyncValidators,dir.asyncValidator)):"function"==typeof asyncValidators&&control.setAsyncValidators([asyncValidators]);const onValidatorChange=()=>control.updateValueAndValidity();registerOnValidatorChange(dir._rawValidators,onValidatorChange),registerOnValidatorChange(dir._rawAsyncValidators,onValidatorChange)}function cleanUpValidators(control,dir){let isControlUpdated=!1;if(null!==control){if(null!==dir.validator){const validators=getControlValidators(control);if(Array.isArray(validators)&&validators.length>0){const updatedValidators=validators.filter((validator=>validator!==dir.validator));updatedValidators.length!==validators.length&&(isControlUpdated=!0,control.setValidators(updatedValidators))}}if(null!==dir.asyncValidator){const asyncValidators=getControlAsyncValidators(control);if(Array.isArray(asyncValidators)&&asyncValidators.length>0){const updatedAsyncValidators=asyncValidators.filter((asyncValidator=>asyncValidator!==dir.asyncValidator));updatedAsyncValidators.length!==asyncValidators.length&&(isControlUpdated=!0,control.setAsyncValidators(updatedAsyncValidators))}}}const noop=()=>{};return registerOnValidatorChange(dir._rawValidators,noop),registerOnValidatorChange(dir._rawAsyncValidators,noop),isControlUpdated}function updateControl(control,dir){control._pendingDirty&&control.markAsDirty(),control.setValue(control._pendingValue,{emitModelToViewChange:!1}),dir.viewToModelUpdate(control._pendingValue),control._pendingChange=!1}function setUpFormContainer(control,dir){null!=control||"undefined"!=typeof ngDevMode&&!ngDevMode||_throwError(dir,"Cannot find control with"),setUpValidators(control,dir)}function _throwError(dir,message){const messageEnd=_describeControlLocation(dir);throw new Error(`${message} ${messageEnd}`)}function _describeControlLocation(dir){const path=dir.path;return path&&path.length>1?`path: '${path.join(" -> ")}'`:path?.[0]?`name: '${path}'`:"unspecified name attribute"}function isPropertyUpdated(changes,viewModel){if(!changes.hasOwnProperty("model"))return!1;const change=changes.model;return!!change.isFirstChange()||!Object.is(viewModel,change.currentValue)}function syncPendingControls(form,directives){form._syncPendingControls(),directives.forEach((dir=>{const control=dir.control;"submit"===control.updateOn&&control._pendingChange&&(dir.viewToModelUpdate(control._pendingValue),control._pendingChange=!1)}))}function selectValueAccessor(dir,valueAccessors){if(!valueAccessors)return null;let defaultAccessor,builtinAccessor,customAccessor;return Array.isArray(valueAccessors)||"undefined"!=typeof ngDevMode&&!ngDevMode||function _throwInvalidValueAccessorError(dir){const loc=_describeControlLocation(dir);throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1200,`Value accessor was not provided as an array for form control with ${loc}. Check that the \`NG_VALUE_ACCESSOR\` token is configured as a \`multi: true\` provider.`)}(dir),valueAccessors.forEach((v=>{v.constructor===DefaultValueAccessor?defaultAccessor=v:!function isBuiltInAccessor(valueAccessor){return Object.getPrototypeOf(valueAccessor.constructor)===BuiltInControlValueAccessor}(v)?(customAccessor&&("undefined"==typeof ngDevMode||ngDevMode)&&_throwError(dir,"More than one custom value accessor matches form control with"),customAccessor=v):(builtinAccessor&&("undefined"==typeof ngDevMode||ngDevMode)&&_throwError(dir,"More than one built-in value accessor matches form control with"),builtinAccessor=v)})),customAccessor||(builtinAccessor||(defaultAccessor||(("undefined"==typeof ngDevMode||ngDevMode)&&_throwError(dir,"No valid value accessor for form control with"),null)))}function _ngModelWarning(name,type,instance,warningConfig){"never"!==warningConfig&&((null!==warningConfig&&"once"!==warningConfig||type._ngModelWarningSentOnce)&&("always"!==warningConfig||instance._ngModelWarningSent)||(console.warn(function ngModelWarning(directiveName){return`\n It looks like you're using ngModel on the same form field as ${directiveName}.\n Support for using the ngModel input property and ngModelChange event with\n reactive form directives has been deprecated in Angular v6 and will be removed\n in a future version of Angular.\n\n For more information on this, see our API docs here:\n https://angular.io/api/forms/${"formControl"===directiveName?"FormControlDirective":"FormControlName"}#use-with-ngmodel\n `}(name)),type._ngModelWarningSentOnce=!0,instance._ngModelWarningSent=!0))}const formDirectiveProvider$1={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>NgForm))},resolvedPromise$1=Promise.resolve();class NgForm extends ControlContainer{get submitted(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this.submittedReactive)}constructor(validators,asyncValidators,callSetDisabledState){super(),this.callSetDisabledState=callSetDisabledState,this._submitted=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this.submittedReactive())),this.submittedReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(!1),this._directives=new Set,this.ngSubmit=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.form=new FormGroup({},composeValidators(validators),composeAsyncValidators(asyncValidators))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(dir){resolvedPromise$1.then((()=>{const container=this._findContainer(dir.path);dir.control=container.registerControl(dir.name,dir.control),setUpControl(dir.control,dir,this.callSetDisabledState),dir.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(dir)}))}getControl(dir){return this.form.get(dir.path)}removeControl(dir){resolvedPromise$1.then((()=>{const container=this._findContainer(dir.path);container&&container.removeControl(dir.name),this._directives.delete(dir)}))}addFormGroup(dir){resolvedPromise$1.then((()=>{const container=this._findContainer(dir.path),group=new FormGroup({});setUpFormContainer(group,dir),container.registerControl(dir.name,group),group.updateValueAndValidity({emitEvent:!1})}))}removeFormGroup(dir){resolvedPromise$1.then((()=>{const container=this._findContainer(dir.path);container&&container.removeControl(dir.name)}))}getFormGroup(dir){return this.form.get(dir.path)}updateModel(dir,value){resolvedPromise$1.then((()=>{this.form.get(dir.path).setValue(value)}))}setValue(value){this.control.setValue(value)}onSubmit($event){return this.submittedReactive.set(!0),syncPendingControls(this.form,this._directives),this.ngSubmit.emit($event),"dialog"===$event?.target?.method}onReset(){this.resetForm()}resetForm(value=void 0){this.form.reset(value),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(path){return path.pop(),path.length?this.form.get(path):this.form}static#_=this.ɵfac=function NgForm_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgForm)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](CALL_SET_DISABLED_STATE,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgForm,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function NgForm_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("submit",(function NgForm_submit_HostBindingHandler($event){return ctx.onSubmit($event)}))("reset",(function NgForm_reset_HostBindingHandler(){return ctx.onReset()}))},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formDirectiveProvider$1]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}function removeListItem(list,el){const index=list.indexOf(el);index>-1&&list.splice(index,1)}function isFormControlState(formState){return"object"==typeof formState&&null!==formState&&2===Object.keys(formState).length&&"value"in formState&&"disabled"in formState}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgForm,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]",providers:[formDirectiveProvider$1],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},outputs:["ngSubmit"],exportAs:"ngForm"}]}],(()=>[{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[CALL_SET_DISABLED_STATE]}]}]),{options:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngFormOptions"]}]});const FormControl=class FormControl extends AbstractControl{constructor(formState=null,validatorOrOpts,asyncValidator){super(pickValidators(validatorOrOpts),pickAsyncValidators(asyncValidator,validatorOrOpts)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(formState),this._setUpdateStrategy(validatorOrOpts),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),isOptionsObj(validatorOrOpts)&&(validatorOrOpts.nonNullable||validatorOrOpts.initialValueIsDefault)&&(isFormControlState(formState)?this.defaultValue=formState.value:this.defaultValue=formState)}setValue(value,options={}){this.value=this._pendingValue=value,this._onChange.length&&!1!==options.emitModelToViewChange&&this._onChange.forEach((changeFn=>changeFn(this.value,!1!==options.emitViewToModelChange))),this.updateValueAndValidity(options)}patchValue(value,options={}){this.setValue(value,options)}reset(formState=this.defaultValue,options={}){this._applyFormState(formState),this.markAsPristine(options),this.markAsUntouched(options),this.setValue(this.value,options),this._pendingChange=!1}_updateValue(){}_anyControls(condition){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(fn){this._onChange.push(fn)}_unregisterOnChange(fn){removeListItem(this._onChange,fn)}registerOnDisabledChange(fn){this._onDisabledChange.push(fn)}_unregisterOnDisabledChange(fn){removeListItem(this._onDisabledChange,fn)}_forEachChild(cb){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)}_applyFormState(formState){isFormControlState(formState)?(this.value=this._pendingValue=formState.value,formState.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=formState}};class AbstractFormGroupDirective extends ControlContainer{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return controlPath(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static#_=this.ɵfac=(()=>{let ɵAbstractFormGroupDirective_BaseFactory;return function AbstractFormGroupDirective_Factory(__ngFactoryType__){return(ɵAbstractFormGroupDirective_BaseFactory||(ɵAbstractFormGroupDirective_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](AbstractFormGroupDirective)))(__ngFactoryType__||AbstractFormGroupDirective)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:AbstractFormGroupDirective,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](AbstractFormGroupDirective,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive}],null,null);const modelGroupProvider={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>NgModelGroup))};class NgModelGroup extends AbstractFormGroupDirective{constructor(parent,validators,asyncValidators){super(),this.name="",this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators)}_checkParentType(){if(!(this._parent instanceof NgModelGroup)&&!(this._parent instanceof NgForm)&&("undefined"==typeof ngDevMode||ngDevMode))throw function modelGroupParentException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1353,`\n ngModelGroup cannot be used with a parent formGroup directive.\n\n Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n ${formGroupNameExample}\n\n Option 2: Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n ${ngModelGroupExample}`)}()}static#_=this.ɵfac=function NgModelGroup_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgModelGroup)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,5),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgModelGroup,selectors:[["","ngModelGroup",""]],inputs:{name:[0,"ngModelGroup","name"]},exportAs:["ngModelGroup"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([modelGroupProvider]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgModelGroup,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[ngModelGroup]",providers:[modelGroupProvider],exportAs:"ngModelGroup"}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.SkipSelf}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModelGroup"]}]});const formControlBinding$1={provide:NgControl,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>NgModel))},resolvedPromise=Promise.resolve();class NgModel extends NgControl{constructor(parent,validators,asyncValidators,valueAccessors,_changeDetectorRef,callSetDisabledState){super(),this._changeDetectorRef=_changeDetectorRef,this.callSetDisabledState=callSetDisabledState,this.control=new FormControl,this._registered=!1,this.name="",this.update=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators),this.valueAccessor=selectValueAccessor(this,valueAccessors)}ngOnChanges(changes){if(this._checkForErrors(),!this._registered||"name"in changes){if(this._registered&&(this._checkName(),this.formDirective)){const oldName=changes.name.previousValue;this.formDirective.removeControl({name:oldName,path:this._getPath(oldName)})}this._setUpControl()}"isDisabled"in changes&&this._updateDisabled(changes),isPropertyUpdated(changes,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(newValue){this.viewModel=newValue,this.update.emit(newValue)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){setUpControl(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){if("undefined"==typeof ngDevMode||ngDevMode){if(!(this._parent instanceof NgModelGroup)&&this._parent instanceof AbstractFormGroupDirective)throw function formGroupNameException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1351,`\n ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n ${formGroupNameExample}\n\n Option 2: Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n ${ngModelGroupExample}`)}();if(!(this._parent instanceof NgModelGroup||this._parent instanceof NgForm))throw function modelParentException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1350,`\n ngModel cannot be used to register form controls with a parent formGroup directive. Try using\n formGroup's partner directive "formControlName" instead. Example:\n\n ${formControlNameExample}\n\n Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n Example:\n\n \n
\n \n \n
\n`)}()}}_checkName(){if(this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&!this.name&&("undefined"==typeof ngDevMode||ngDevMode))throw function missingNameException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1352,'If ngModel is used within a form tag, either the name attribute must be set or the form\n control must be defined as \'standalone\' in ngModelOptions.\n\n Example 1: \n Example 2: ')}()}_updateValue(value){resolvedPromise.then((()=>{this.control.setValue(value,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()}))}_updateDisabled(changes){const disabledValue=changes.isDisabled.currentValue,isDisabled=0!==disabledValue&&(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute)(disabledValue);resolvedPromise.then((()=>{isDisabled&&!this.control.disabled?this.control.disable():!isDisabled&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()}))}_getPath(controlName){return this._parent?controlPath(controlName,this._parent):[controlName]}static#_=this.ɵfac=function NgModel_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgModel)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,9),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALUE_ACCESSOR,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](CALL_SET_DISABLED_STATE,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgModel,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formControlBinding$1]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgModel,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[ngModel]:not([formControlName]):not([formControl])",providers:[formControlBinding$1],exportAs:"ngModel"}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALUE_ACCESSOR]}]},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[CALL_SET_DISABLED_STATE]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],isDisabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["disabled"]}],model:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModel"]}],options:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModelOptions"]}],update:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output,args:["ngModelChange"]}]});class ɵNgNoValidate{static#_=this.ɵfac=function ɵNgNoValidate_Factory(__ngFactoryType__){return new(__ngFactoryType__||ɵNgNoValidate)};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:ɵNgNoValidate,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](ɵNgNoValidate,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"form:not([ngNoForm]):not([ngNativeValidate])",host:{novalidate:""}}]}],null,null);const NUMBER_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>NumberValueAccessor)),multi:!0};class NumberValueAccessor extends BuiltInControlValueAccessor{writeValue(value){const normalizedValue=null==value?"":value;this.setProperty("value",normalizedValue)}registerOnChange(fn){this.onChange=value=>{fn(""==value?null:parseFloat(value))}}static#_=this.ɵfac=(()=>{let ɵNumberValueAccessor_BaseFactory;return function NumberValueAccessor_Factory(__ngFactoryType__){return(ɵNumberValueAccessor_BaseFactory||(ɵNumberValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](NumberValueAccessor)))(__ngFactoryType__||NumberValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NumberValueAccessor,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function NumberValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("input",(function NumberValueAccessor_input_HostBindingHandler($event){return ctx.onChange($event.target.value)}))("blur",(function NumberValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([NUMBER_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NumberValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]",host:{"(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[NUMBER_VALUE_ACCESSOR]}]}],null,null);const RADIO_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>RadioControlValueAccessor)),multi:!0};class RadioControlRegistry{constructor(){this._accessors=[]}add(control,accessor){this._accessors.push([control,accessor])}remove(accessor){for(let i=this._accessors.length-1;i>=0;--i)if(this._accessors[i][1]===accessor)return void this._accessors.splice(i,1)}select(accessor){this._accessors.forEach((c=>{this._isSameGroup(c,accessor)&&c[1]!==accessor&&c[1].fireUncheck(accessor.value)}))}_isSameGroup(controlPair,accessor){return!!controlPair[0].control&&(controlPair[0]._parent===accessor._control._parent&&controlPair[1].name===accessor.name)}static#_=this.ɵfac=function RadioControlRegistry_Factory(__ngFactoryType__){return new(__ngFactoryType__||RadioControlRegistry)};static#_2=this.ɵprov=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({token:RadioControlRegistry,factory:RadioControlRegistry.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](RadioControlRegistry,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable,args:[{providedIn:"root"}]}],null,null);class RadioControlValueAccessor extends BuiltInControlValueAccessor{constructor(renderer,elementRef,_registry,_injector){super(renderer,elementRef),this._registry=_registry,this._injector=_injector,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(CALL_SET_DISABLED_STATE,{optional:!0})??setDisabledStateDefault}ngOnInit(){this._control=this._injector.get(NgControl),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(value){this._state=value===this.value,this.setProperty("checked",this._state)}registerOnChange(fn){this._fn=fn,this.onChange=()=>{fn(this.value),this._registry.select(this)}}setDisabledState(isDisabled){(this.setDisabledStateFired||isDisabled||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",isDisabled),this.setDisabledStateFired=!0}fireUncheck(value){this.writeValue(value)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&("undefined"==typeof ngDevMode||ngDevMode)&&function throwNameError(){throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1202,'\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')}(),!this.name&&this.formControlName&&(this.name=this.formControlName)}static#_=this.ɵfac=function RadioControlValueAccessor_Factory(__ngFactoryType__){return new(__ngFactoryType__||RadioControlValueAccessor)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](RadioControlRegistry),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:RadioControlValueAccessor,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function RadioControlValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function RadioControlValueAccessor_change_HostBindingHandler(){return ctx.onChange()}))("blur",(function RadioControlValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([RADIO_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](RadioControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]",host:{"(change)":"onChange()","(blur)":"onTouched()"},providers:[RADIO_VALUE_ACCESSOR]}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:RadioControlRegistry},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],formControlName:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const RANGE_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>RangeValueAccessor)),multi:!0};class RangeValueAccessor extends BuiltInControlValueAccessor{writeValue(value){this.setProperty("value",parseFloat(value))}registerOnChange(fn){this.onChange=value=>{fn(""==value?null:parseFloat(value))}}static#_=this.ɵfac=(()=>{let ɵRangeValueAccessor_BaseFactory;return function RangeValueAccessor_Factory(__ngFactoryType__){return(ɵRangeValueAccessor_BaseFactory||(ɵRangeValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](RangeValueAccessor)))(__ngFactoryType__||RangeValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:RangeValueAccessor,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function RangeValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function RangeValueAccessor_change_HostBindingHandler($event){return ctx.onChange($event.target.value)}))("input",(function RangeValueAccessor_input_HostBindingHandler($event){return ctx.onChange($event.target.value)}))("blur",(function RangeValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([RANGE_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](RangeValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[RANGE_VALUE_ACCESSOR]}]}],null,null);const NG_MODEL_WITH_FORM_CONTROL_WARNING=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken(ngDevMode?"NgModelWithFormControlWarning":""),formControlBinding={provide:NgControl,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormControlDirective))};class FormControlDirective extends NgControl{set isDisabled(isDisabled){("undefined"==typeof ngDevMode||ngDevMode)&&console.warn(disabledAttrWarning)}static#_=this._ngModelWarningSentOnce=!1;constructor(validators,asyncValidators,valueAccessors,_ngModelWarningConfig,callSetDisabledState){super(),this._ngModelWarningConfig=_ngModelWarningConfig,this.callSetDisabledState=callSetDisabledState,this.update=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this._ngModelWarningSent=!1,this._setValidators(validators),this._setAsyncValidators(asyncValidators),this.valueAccessor=selectValueAccessor(this,valueAccessors)}ngOnChanges(changes){if(this._isControlChanged(changes)){const previousForm=changes.form.previousValue;previousForm&&cleanUpControl(previousForm,this,!1),setUpControl(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}isPropertyUpdated(changes,this.viewModel)&&(("undefined"==typeof ngDevMode||ngDevMode)&&_ngModelWarning("formControl",FormControlDirective,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&cleanUpControl(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(newValue){this.viewModel=newValue,this.update.emit(newValue)}_isControlChanged(changes){return changes.hasOwnProperty("form")}static#_2=this.ɵfac=function FormControlDirective_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormControlDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALUE_ACCESSOR,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_MODEL_WITH_FORM_CONTROL_WARNING,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](CALL_SET_DISABLED_STATE,8))};static#_3=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormControlDirective,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formControlBinding]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormControlDirective,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formControl]",providers:[formControlBinding],exportAs:"ngForm"}]}],(()=>[{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALUE_ACCESSOR]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_MODEL_WITH_FORM_CONTROL_WARNING]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[CALL_SET_DISABLED_STATE]}]}]),{form:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formControl"]}],isDisabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["disabled"]}],model:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModel"]}],update:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output,args:["ngModelChange"]}]});const formDirectiveProvider={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormGroupDirective))};class FormGroupDirective extends ControlContainer{get submitted(){return(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.untracked)(this._submittedReactive)}set submitted(value){this._submittedReactive.set(value)}constructor(validators,asyncValidators,callSetDisabledState){super(),this.callSetDisabledState=callSetDisabledState,this._submitted=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.computed)((()=>this._submittedReactive())),this._submittedReactive=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.signal)(!1),this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this._setValidators(validators),this._setAsyncValidators(asyncValidators)}ngOnChanges(changes){this._checkFormPresent(),changes.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(cleanUpValidators(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange((()=>{})))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(dir){const ctrl=this.form.get(dir.path);return setUpControl(ctrl,dir,this.callSetDisabledState),ctrl.updateValueAndValidity({emitEvent:!1}),this.directives.push(dir),ctrl}getControl(dir){return this.form.get(dir.path)}removeControl(dir){cleanUpControl(dir.control||null,dir,!1),function removeListItem$1(list,el){const index=list.indexOf(el);index>-1&&list.splice(index,1)}(this.directives,dir)}addFormGroup(dir){this._setUpFormContainer(dir)}removeFormGroup(dir){this._cleanUpFormContainer(dir)}getFormGroup(dir){return this.form.get(dir.path)}addFormArray(dir){this._setUpFormContainer(dir)}removeFormArray(dir){this._cleanUpFormContainer(dir)}getFormArray(dir){return this.form.get(dir.path)}updateModel(dir,value){this.form.get(dir.path).setValue(value)}onSubmit($event){return this._submittedReactive.set(!0),syncPendingControls(this.form,this.directives),this.ngSubmit.emit($event),this.form._events.next(new FormSubmittedEvent(this.control)),"dialog"===$event?.target?.method}onReset(){this.resetForm()}resetForm(value=void 0){this.form.reset(value),this._submittedReactive.set(!1),this.form._events.next(new FormResetEvent(this.form))}_updateDomValue(){this.directives.forEach((dir=>{const oldCtrl=dir.control,newCtrl=this.form.get(dir.path);oldCtrl!==newCtrl&&(cleanUpControl(oldCtrl||null,dir),newCtrl instanceof FormControl&&(setUpControl(newCtrl,dir,this.callSetDisabledState),dir.control=newCtrl))})),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(dir){const ctrl=this.form.get(dir.path);setUpFormContainer(ctrl,dir),ctrl.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(dir){if(this.form){const ctrl=this.form.get(dir.path);if(ctrl){const isControlUpdated=function cleanUpFormContainer(control,dir){return cleanUpValidators(control,dir)}(ctrl,dir);isControlUpdated&&ctrl.updateValueAndValidity({emitEvent:!1})}}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange((()=>{}))}_updateValidators(){setUpValidators(this.form,this),this._oldForm&&cleanUpValidators(this._oldForm,this)}_checkFormPresent(){if(!this.form&&("undefined"==typeof ngDevMode||ngDevMode))throw function missingFormException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1052,`formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n ${formControlNameExample}`)}()}static#_=this.ɵfac=function FormGroupDirective_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormGroupDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](CALL_SET_DISABLED_STATE,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormGroupDirective,selectors:[["","formGroup",""]],hostBindings:function FormGroupDirective_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("submit",(function FormGroupDirective_submit_HostBindingHandler($event){return ctx.onSubmit($event)}))("reset",(function FormGroupDirective_reset_HostBindingHandler(){return ctx.onReset()}))},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formDirectiveProvider]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormGroupDirective,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formGroup]",providers:[formDirectiveProvider],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},exportAs:"ngForm"}]}],(()=>[{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[CALL_SET_DISABLED_STATE]}]}]),{form:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formGroup"]}],ngSubmit:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}]});const formGroupNameProvider={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormGroupName))};class FormGroupName extends AbstractFormGroupDirective{constructor(parent,validators,asyncValidators){super(),this.name=null,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators)}_checkParentType(){if(_hasInvalidParent(this._parent)&&("undefined"==typeof ngDevMode||ngDevMode))throw function groupParentException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1053,`formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${formGroupNameExample}`)}()}static#_=this.ɵfac=function FormGroupName_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormGroupName)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,13),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormGroupName,selectors:[["","formGroupName",""]],inputs:{name:[0,"formGroupName","name"]},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formGroupNameProvider]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormGroupName,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formGroupName]",providers:[formGroupNameProvider]}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.SkipSelf}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formGroupName"]}]});const formArrayNameProvider={provide:ControlContainer,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormArrayName))};class FormArrayName extends ControlContainer{constructor(parent,validators,asyncValidators){super(),this.name=null,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators)}ngOnInit(){this._checkParentType(),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return controlPath(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){if(_hasInvalidParent(this._parent)&&("undefined"==typeof ngDevMode||ngDevMode))throw function arrayParentException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1054,'formArrayName must be used with a parent formGroup directive. You\'ll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n \n
\n
\n
\n \n
\n
\n
\n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });')}()}static#_=this.ɵfac=function FormArrayName_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormArrayName)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,13),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormArrayName,selectors:[["","formArrayName",""]],inputs:{name:[0,"formArrayName","name"]},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([formArrayNameProvider]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}function _hasInvalidParent(parent){return!(parent instanceof FormGroupName||parent instanceof FormGroupDirective||parent instanceof FormArrayName)}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormArrayName,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formArrayName]",providers:[formArrayNameProvider]}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.SkipSelf}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formArrayName"]}]});const controlNameBinding={provide:NgControl,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>FormControlName))};class FormControlName extends NgControl{set isDisabled(isDisabled){("undefined"==typeof ngDevMode||ngDevMode)&&console.warn(disabledAttrWarning)}static#_=this._ngModelWarningSentOnce=!1;constructor(parent,validators,asyncValidators,valueAccessors,_ngModelWarningConfig){super(),this._ngModelWarningConfig=_ngModelWarningConfig,this._added=!1,this.name=null,this.update=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this._ngModelWarningSent=!1,this._parent=parent,this._setValidators(validators),this._setAsyncValidators(asyncValidators),this.valueAccessor=selectValueAccessor(this,valueAccessors)}ngOnChanges(changes){this._added||this._setUpControl(),isPropertyUpdated(changes,this.viewModel)&&(("undefined"==typeof ngDevMode||ngDevMode)&&_ngModelWarning("formControlName",FormControlName,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(newValue){this.viewModel=newValue,this.update.emit(newValue)}get path(){return controlPath(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){if("undefined"==typeof ngDevMode||ngDevMode){if(!(this._parent instanceof FormGroupName)&&this._parent instanceof AbstractFormGroupDirective)throw function ngModelGroupException(){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1051,`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n ${formGroupNameExample}\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n ${ngModelGroupExample}`)}();if(!(this._parent instanceof FormGroupName||this._parent instanceof FormGroupDirective||this._parent instanceof FormArrayName))throw function controlParentException(nameOrIndex){return new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1050,`formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n ${function describeFormControl(nameOrIndex){if(null==nameOrIndex||""===nameOrIndex)return"";return`Affected Form Control ${"string"==typeof nameOrIndex?"name":"index"}: "${nameOrIndex}"`}(nameOrIndex)}\n\n Example:\n\n ${formControlNameExample}`)}(this.name)}}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#_2=this.ɵfac=function FormControlName_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormControlName)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ControlContainer,13),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_ASYNC_VALIDATORS,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_VALUE_ACCESSOR,10),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](NG_MODEL_WITH_FORM_CONTROL_WARNING,8))};static#_3=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:FormControlName,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([controlNameBinding]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormControlName,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[formControlName]",providers:[controlNameBinding]}]}],(()=>[{type:ControlContainer,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.SkipSelf}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_ASYNC_VALIDATORS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Self},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_VALUE_ACCESSOR]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[NG_MODEL_WITH_FORM_CONTROL_WARNING]}]}]),{name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["formControlName"]}],isDisabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["disabled"]}],model:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngModel"]}],update:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output,args:["ngModelChange"]}]});const SELECT_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>SelectControlValueAccessor)),multi:!0};function _buildValueString$1(id,value){return null==id?`${value}`:(value&&"object"==typeof value&&(value="Object"),`${id}: ${value}`.slice(0,50))}class SelectControlValueAccessor extends BuiltInControlValueAccessor{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(fn){if("function"!=typeof fn&&("undefined"==typeof ngDevMode||ngDevMode))throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1201,`compareWith must be a function, but received ${JSON.stringify(fn)}`);this._compareWith=fn}writeValue(value){this.value=value;const valueString=_buildValueString$1(this._getOptionId(value),value);this.setProperty("value",valueString)}registerOnChange(fn){this.onChange=valueString=>{this.value=this._getOptionValue(valueString),fn(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(value){for(const id of this._optionMap.keys())if(this._compareWith(this._optionMap.get(id),value))return id;return null}_getOptionValue(valueString){const id=function _extractId$1(valueString){return valueString.split(":")[0]}(valueString);return this._optionMap.has(id)?this._optionMap.get(id):valueString}static#_=this.ɵfac=(()=>{let ɵSelectControlValueAccessor_BaseFactory;return function SelectControlValueAccessor_Factory(__ngFactoryType__){return(ɵSelectControlValueAccessor_BaseFactory||(ɵSelectControlValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](SelectControlValueAccessor)))(__ngFactoryType__||SelectControlValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:SelectControlValueAccessor,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function SelectControlValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function SelectControlValueAccessor_change_HostBindingHandler($event){return ctx.onChange($event.target.value)}))("blur",(function SelectControlValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},inputs:{compareWith:"compareWith"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([SELECT_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](SelectControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]",host:{"(change)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[SELECT_VALUE_ACCESSOR]}]}],null,{compareWith:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});class NgSelectOption{constructor(_element,_renderer,_select){this._element=_element,this._renderer=_renderer,this._select=_select,this._select&&(this.id=this._select._registerOption())}set ngValue(value){null!=this._select&&(this._select._optionMap.set(this.id,value),this._setElementValue(_buildValueString$1(this.id,value)),this._select.writeValue(this._select.value))}set value(value){this._setElementValue(value),this._select&&this._select.writeValue(this._select.value)}_setElementValue(value){this._renderer.setProperty(this._element.nativeElement,"value",value)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#_=this.ɵfac=function NgSelectOption_Factory(__ngFactoryType__){return new(__ngFactoryType__||NgSelectOption)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](SelectControlValueAccessor,9))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:NgSelectOption,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NgSelectOption,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"option"}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:SelectControlValueAccessor,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host}]}]),{ngValue:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngValue"]}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["value"]}]});const SELECT_MULTIPLE_VALUE_ACCESSOR={provide:NG_VALUE_ACCESSOR,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>SelectMultipleControlValueAccessor)),multi:!0};function _buildValueString(id,value){return null==id?`${value}`:("string"==typeof value&&(value=`'${value}'`),value&&"object"==typeof value&&(value="Object"),`${id}: ${value}`.slice(0,50))}class SelectMultipleControlValueAccessor extends BuiltInControlValueAccessor{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(fn){if("function"!=typeof fn&&("undefined"==typeof ngDevMode||ngDevMode))throw new _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵRuntimeError"](1201,`compareWith must be a function, but received ${JSON.stringify(fn)}`);this._compareWith=fn}writeValue(value){let optionSelectedStateSetter;if(this.value=value,Array.isArray(value)){const ids=value.map((v=>this._getOptionId(v)));optionSelectedStateSetter=(opt,o)=>{opt._setSelected(ids.indexOf(o.toString())>-1)}}else optionSelectedStateSetter=(opt,o)=>{opt._setSelected(!1)};this._optionMap.forEach(optionSelectedStateSetter)}registerOnChange(fn){this.onChange=element=>{const selected=[],selectedOptions=element.selectedOptions;if(void 0!==selectedOptions){const options=selectedOptions;for(let i=0;i{let ɵSelectMultipleControlValueAccessor_BaseFactory;return function SelectMultipleControlValueAccessor_Factory(__ngFactoryType__){return(ɵSelectMultipleControlValueAccessor_BaseFactory||(ɵSelectMultipleControlValueAccessor_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](SelectMultipleControlValueAccessor)))(__ngFactoryType__||SelectMultipleControlValueAccessor)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:SelectMultipleControlValueAccessor,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function SelectMultipleControlValueAccessor_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("change",(function SelectMultipleControlValueAccessor_change_HostBindingHandler($event){return ctx.onChange($event.target)}))("blur",(function SelectMultipleControlValueAccessor_blur_HostBindingHandler(){return ctx.onTouched()}))},inputs:{compareWith:"compareWith"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([SELECT_MULTIPLE_VALUE_ACCESSOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](SelectMultipleControlValueAccessor,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]",host:{"(change)":"onChange($event.target)","(blur)":"onTouched()"},providers:[SELECT_MULTIPLE_VALUE_ACCESSOR]}]}],null,{compareWith:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});class ɵNgSelectMultipleOption{constructor(_element,_renderer,_select){this._element=_element,this._renderer=_renderer,this._select=_select,this._select&&(this.id=this._select._registerOption(this))}set ngValue(value){null!=this._select&&(this._value=value,this._setElementValue(_buildValueString(this.id,value)),this._select.writeValue(this._select.value))}set value(value){this._select?(this._value=value,this._setElementValue(_buildValueString(this.id,value)),this._select.writeValue(this._select.value)):this._setElementValue(value)}_setElementValue(value){this._renderer.setProperty(this._element.nativeElement,"value",value)}_setSelected(selected){this._renderer.setProperty(this._element.nativeElement,"selected",selected)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#_=this.ɵfac=function ɵNgSelectMultipleOption_Factory(__ngFactoryType__){return new(__ngFactoryType__||ɵNgSelectMultipleOption)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](SelectMultipleControlValueAccessor,9))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:ɵNgSelectMultipleOption,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}function toInteger(value){return"number"==typeof value?value:parseInt(value,10)}function toFloat(value){return"number"==typeof value?value:parseFloat(value)}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](ɵNgSelectMultipleOption,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"option"}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Renderer2},{type:SelectMultipleControlValueAccessor,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Host}]}]),{ngValue:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["ngValue"]}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["value"]}]});class AbstractValidatorDirective{constructor(){this._validator=nullValidator}ngOnChanges(changes){if(this.inputName in changes){const input=this.normalizeInput(changes[this.inputName].currentValue);this._enabled=this.enabled(input),this._validator=this._enabled?this.createValidator(input):nullValidator,this._onChange&&this._onChange()}}validate(control){return this._validator(control)}registerOnValidatorChange(fn){this._onChange=fn}enabled(input){return null!=input}static#_=this.ɵfac=function AbstractValidatorDirective_Factory(__ngFactoryType__){return new(__ngFactoryType__||AbstractValidatorDirective)};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:AbstractValidatorDirective,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](AbstractValidatorDirective,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive}],null,null);const MAX_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MaxValidator)),multi:!0};class MaxValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="max",this.normalizeInput=input=>toFloat(input),this.createValidator=max=>maxValidator(max)}static#_=this.ɵfac=(()=>{let ɵMaxValidator_BaseFactory;return function MaxValidator_Factory(__ngFactoryType__){return(ɵMaxValidator_BaseFactory||(ɵMaxValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](MaxValidator)))(__ngFactoryType__||MaxValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MaxValidator,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function MaxValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("max",ctx._enabled?ctx.max:null)},inputs:{max:"max"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MAX_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MaxValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]",providers:[MAX_VALIDATOR],host:{"[attr.max]":"_enabled ? max : null"}}]}],null,{max:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const MIN_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MinValidator)),multi:!0};class MinValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="min",this.normalizeInput=input=>toFloat(input),this.createValidator=min=>minValidator(min)}static#_=this.ɵfac=(()=>{let ɵMinValidator_BaseFactory;return function MinValidator_Factory(__ngFactoryType__){return(ɵMinValidator_BaseFactory||(ɵMinValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](MinValidator)))(__ngFactoryType__||MinValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MinValidator,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function MinValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("min",ctx._enabled?ctx.min:null)},inputs:{min:"min"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MIN_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MinValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]",providers:[MIN_VALIDATOR],host:{"[attr.min]":"_enabled ? min : null"}}]}],null,{min:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const REQUIRED_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>RequiredValidator)),multi:!0},CHECKBOX_REQUIRED_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>CheckboxRequiredValidator)),multi:!0};class RequiredValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute,this.createValidator=input=>requiredValidator}enabled(input){return input}static#_=this.ɵfac=(()=>{let ɵRequiredValidator_BaseFactory;return function RequiredValidator_Factory(__ngFactoryType__){return(ɵRequiredValidator_BaseFactory||(ɵRequiredValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](RequiredValidator)))(__ngFactoryType__||RequiredValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:RequiredValidator,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function RequiredValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("required",ctx._enabled?"":null)},inputs:{required:"required"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([REQUIRED_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](RequiredValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",providers:[REQUIRED_VALIDATOR],host:{"[attr.required]":'_enabled ? "" : null'}}]}],null,{required:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});class CheckboxRequiredValidator extends RequiredValidator{constructor(){super(...arguments),this.createValidator=input=>requiredTrueValidator}static#_=this.ɵfac=(()=>{let ɵCheckboxRequiredValidator_BaseFactory;return function CheckboxRequiredValidator_Factory(__ngFactoryType__){return(ɵCheckboxRequiredValidator_BaseFactory||(ɵCheckboxRequiredValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](CheckboxRequiredValidator)))(__ngFactoryType__||CheckboxRequiredValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:CheckboxRequiredValidator,selectors:[["input","type","checkbox","required","","formControlName",""],["input","type","checkbox","required","","formControl",""],["input","type","checkbox","required","","ngModel",""]],hostVars:1,hostBindings:function CheckboxRequiredValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("required",ctx._enabled?"":null)},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([CHECKBOX_REQUIRED_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](CheckboxRequiredValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]",providers:[CHECKBOX_REQUIRED_VALIDATOR],host:{"[attr.required]":'_enabled ? "" : null'}}]}],null,null);const EMAIL_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>EmailValidator)),multi:!0};class EmailValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute,this.createValidator=input=>emailValidator}enabled(input){return input}static#_=this.ɵfac=(()=>{let ɵEmailValidator_BaseFactory;return function EmailValidator_Factory(__ngFactoryType__){return(ɵEmailValidator_BaseFactory||(ɵEmailValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](EmailValidator)))(__ngFactoryType__||EmailValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:EmailValidator,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([EMAIL_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](EmailValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[email][formControlName],[email][formControl],[email][ngModel]",providers:[EMAIL_VALIDATOR]}]}],null,{email:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const MIN_LENGTH_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MinLengthValidator)),multi:!0};class MinLengthValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="minlength",this.normalizeInput=input=>toInteger(input),this.createValidator=minlength=>minLengthValidator(minlength)}static#_=this.ɵfac=(()=>{let ɵMinLengthValidator_BaseFactory;return function MinLengthValidator_Factory(__ngFactoryType__){return(ɵMinLengthValidator_BaseFactory||(ɵMinLengthValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](MinLengthValidator)))(__ngFactoryType__||MinLengthValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MinLengthValidator,selectors:[["","minlength","","formControlName",""],["","minlength","","formControl",""],["","minlength","","ngModel",""]],hostVars:1,hostBindings:function MinLengthValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("minlength",ctx._enabled?ctx.minlength:null)},inputs:{minlength:"minlength"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MIN_LENGTH_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MinLengthValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[minlength][formControlName],[minlength][formControl],[minlength][ngModel]",providers:[MIN_LENGTH_VALIDATOR],host:{"[attr.minlength]":"_enabled ? minlength : null"}}]}],null,{minlength:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const MAX_LENGTH_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MaxLengthValidator)),multi:!0};class MaxLengthValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=input=>toInteger(input),this.createValidator=maxlength=>maxLengthValidator(maxlength)}static#_=this.ɵfac=(()=>{let ɵMaxLengthValidator_BaseFactory;return function MaxLengthValidator_Factory(__ngFactoryType__){return(ɵMaxLengthValidator_BaseFactory||(ɵMaxLengthValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](MaxLengthValidator)))(__ngFactoryType__||MaxLengthValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MaxLengthValidator,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function MaxLengthValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("maxlength",ctx._enabled?ctx.maxlength:null)},inputs:{maxlength:"maxlength"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MAX_LENGTH_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MaxLengthValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",providers:[MAX_LENGTH_VALIDATOR],host:{"[attr.maxlength]":"_enabled ? maxlength : null"}}]}],null,{maxlength:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const PATTERN_VALIDATOR={provide:NG_VALIDATORS,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>PatternValidator)),multi:!0};class PatternValidator extends AbstractValidatorDirective{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=input=>input,this.createValidator=input=>patternValidator(input)}static#_=this.ɵfac=(()=>{let ɵPatternValidator_BaseFactory;return function PatternValidator_Factory(__ngFactoryType__){return(ɵPatternValidator_BaseFactory||(ɵPatternValidator_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](PatternValidator)))(__ngFactoryType__||PatternValidator)}})();static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:PatternValidator,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function PatternValidator_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("pattern",ctx._enabled?ctx.pattern:null)},inputs:{pattern:"pattern"},features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([PATTERN_VALIDATOR]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](PatternValidator,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",providers:[PATTERN_VALIDATOR],host:{"[attr.pattern]":"_enabled ? pattern : null"}}]}],null,{pattern:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}]});const SHARED_FORM_DIRECTIVES=[ɵNgNoValidate,NgSelectOption,ɵNgSelectMultipleOption,DefaultValueAccessor,NumberValueAccessor,RangeValueAccessor,CheckboxControlValueAccessor,SelectControlValueAccessor,SelectMultipleControlValueAccessor,RadioControlValueAccessor,NgControlStatus,NgControlStatusGroup,RequiredValidator,MinLengthValidator,MaxLengthValidator,PatternValidator,CheckboxRequiredValidator,EmailValidator,MinValidator,MaxValidator],TEMPLATE_DRIVEN_DIRECTIVES=[NgModel,NgModelGroup,NgForm],REACTIVE_DRIVEN_DIRECTIVES=[FormControlDirective,FormGroupDirective,FormControlName,FormGroupName,FormArrayName];class ɵInternalFormsSharedModule{static#_=this.ɵfac=function ɵInternalFormsSharedModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||ɵInternalFormsSharedModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:ɵInternalFormsSharedModule,declarations:[ɵNgNoValidate,NgSelectOption,ɵNgSelectMultipleOption,DefaultValueAccessor,NumberValueAccessor,RangeValueAccessor,CheckboxControlValueAccessor,SelectControlValueAccessor,SelectMultipleControlValueAccessor,RadioControlValueAccessor,NgControlStatus,NgControlStatusGroup,RequiredValidator,MinLengthValidator,MaxLengthValidator,PatternValidator,CheckboxRequiredValidator,EmailValidator,MinValidator,MaxValidator],exports:[ɵNgNoValidate,NgSelectOption,ɵNgSelectMultipleOption,DefaultValueAccessor,NumberValueAccessor,RangeValueAccessor,CheckboxControlValueAccessor,SelectControlValueAccessor,SelectMultipleControlValueAccessor,RadioControlValueAccessor,NgControlStatus,NgControlStatusGroup,RequiredValidator,MinLengthValidator,MaxLengthValidator,PatternValidator,CheckboxRequiredValidator,EmailValidator,MinValidator,MaxValidator]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](ɵInternalFormsSharedModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{declarations:SHARED_FORM_DIRECTIVES,exports:SHARED_FORM_DIRECTIVES}]}],null,null);class FormArray extends AbstractControl{constructor(controls,validatorOrOpts,asyncValidator){super(pickValidators(validatorOrOpts),pickAsyncValidators(asyncValidator,validatorOrOpts)),this.controls=controls,this._initObservables(),this._setUpdateStrategy(validatorOrOpts),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(index){return this.controls[this._adjustIndex(index)]}push(control,options={}){this.controls.push(control),this._registerControl(control),this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}insert(index,control,options={}){this.controls.splice(index,0,control),this._registerControl(control),this.updateValueAndValidity({emitEvent:options.emitEvent})}removeAt(index,options={}){let adjustedIndex=this._adjustIndex(index);adjustedIndex<0&&(adjustedIndex=0),this.controls[adjustedIndex]&&this.controls[adjustedIndex]._registerOnCollectionChange((()=>{})),this.controls.splice(adjustedIndex,1),this.updateValueAndValidity({emitEvent:options.emitEvent})}setControl(index,control,options={}){let adjustedIndex=this._adjustIndex(index);adjustedIndex<0&&(adjustedIndex=0),this.controls[adjustedIndex]&&this.controls[adjustedIndex]._registerOnCollectionChange((()=>{})),this.controls.splice(adjustedIndex,1),control&&(this.controls.splice(adjustedIndex,0,control),this._registerControl(control)),this.updateValueAndValidity({emitEvent:options.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(value,options={}){assertAllValuesPresent(this,!1,value),value.forEach(((newValue,index)=>{assertControlPresent(this,!1,index),this.at(index).setValue(newValue,{onlySelf:!0,emitEvent:options.emitEvent})})),this.updateValueAndValidity(options)}patchValue(value,options={}){null!=value&&(value.forEach(((newValue,index)=>{this.at(index)&&this.at(index).patchValue(newValue,{onlySelf:!0,emitEvent:options.emitEvent})})),this.updateValueAndValidity(options))}reset(value=[],options={}){this._forEachChild(((control,index)=>{control.reset(value[index],{onlySelf:!0,emitEvent:options.emitEvent})})),this._updatePristine(options,this),this._updateTouched(options,this),this.updateValueAndValidity(options)}getRawValue(){return this.controls.map((control=>control.getRawValue()))}clear(options={}){this.controls.length<1||(this._forEachChild((control=>control._registerOnCollectionChange((()=>{})))),this.controls.splice(0),this.updateValueAndValidity({emitEvent:options.emitEvent}))}_adjustIndex(index){return index<0?index+this.length:index}_syncPendingControls(){let subtreeUpdated=this.controls.reduce(((updated,child)=>!!child._syncPendingControls()||updated),!1);return subtreeUpdated&&this.updateValueAndValidity({onlySelf:!0}),subtreeUpdated}_forEachChild(cb){this.controls.forEach(((control,index)=>{cb(control,index)}))}_updateValue(){this.value=this.controls.filter((control=>control.enabled||this.disabled)).map((control=>control.value))}_anyControls(condition){return this.controls.some((control=>control.enabled&&condition(control)))}_setUpControls(){this._forEachChild((control=>this._registerControl(control)))}_allControlsDisabled(){for(const control of this.controls)if(control.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(control){control.setParent(this),control._registerOnCollectionChange(this._onCollectionChange)}_find(name){return this.at(name)??null}}function isAbstractControlOptions(options){return!!options&&(void 0!==options.asyncValidators||void 0!==options.validators||void 0!==options.updateOn)}class FormBuilder{constructor(){this.useNonNullable=!1}get nonNullable(){const nnfb=new FormBuilder;return nnfb.useNonNullable=!0,nnfb}group(controls,options=null){const reducedControls=this._reduceControls(controls);let newOptions={};return isAbstractControlOptions(options)?newOptions=options:null!==options&&(newOptions.validators=options.validator,newOptions.asyncValidators=options.asyncValidator),new FormGroup(reducedControls,newOptions)}record(controls,options=null){const reducedControls=this._reduceControls(controls);return new FormRecord(reducedControls,options)}control(formState,validatorOrOpts,asyncValidator){let newOptions={};return this.useNonNullable?(isAbstractControlOptions(validatorOrOpts)?newOptions=validatorOrOpts:(newOptions.validators=validatorOrOpts,newOptions.asyncValidators=asyncValidator),new FormControl(formState,{...newOptions,nonNullable:!0})):new FormControl(formState,validatorOrOpts,asyncValidator)}array(controls,validatorOrOpts,asyncValidator){const createdControls=controls.map((c=>this._createControl(c)));return new FormArray(createdControls,validatorOrOpts,asyncValidator)}_reduceControls(controls){const createdControls={};return Object.keys(controls).forEach((controlName=>{createdControls[controlName]=this._createControl(controls[controlName])})),createdControls}_createControl(controls){if(controls instanceof FormControl)return controls;if(controls instanceof AbstractControl)return controls;if(Array.isArray(controls)){const value=controls[0],validator=controls.length>1?controls[1]:null,asyncValidator=controls.length>2?controls[2]:null;return this.control(value,validator,asyncValidator)}return this.control(controls)}static#_=this.ɵfac=function FormBuilder_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormBuilder)};static#_2=this.ɵprov=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({token:FormBuilder,factory:FormBuilder.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormBuilder,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable,args:[{providedIn:"root"}]}],null,null);class NonNullableFormBuilder{static#_=this.ɵfac=function NonNullableFormBuilder_Factory(__ngFactoryType__){return new(__ngFactoryType__||NonNullableFormBuilder)};static#_2=this.ɵprov=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({token:NonNullableFormBuilder,factory:()=>(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(FormBuilder).nonNullable,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](NonNullableFormBuilder,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable,args:[{providedIn:"root",useFactory:()=>(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(FormBuilder).nonNullable}]}],null,null);class UntypedFormBuilder extends FormBuilder{group(controlsConfig,options=null){return super.group(controlsConfig,options)}control(formState,validatorOrOpts,asyncValidator){return super.control(formState,validatorOrOpts,asyncValidator)}array(controlsConfig,validatorOrOpts,asyncValidator){return super.array(controlsConfig,validatorOrOpts,asyncValidator)}static#_=this.ɵfac=(()=>{let ɵUntypedFormBuilder_BaseFactory;return function UntypedFormBuilder_Factory(__ngFactoryType__){return(ɵUntypedFormBuilder_BaseFactory||(ɵUntypedFormBuilder_BaseFactory=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetInheritedFactory"](UntypedFormBuilder)))(__ngFactoryType__||UntypedFormBuilder)}})();static#_2=this.ɵprov=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({token:UntypedFormBuilder,factory:UntypedFormBuilder.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](UntypedFormBuilder,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable,args:[{providedIn:"root"}]}],null,null);new _angular_core__WEBPACK_IMPORTED_MODULE_0__.Version("18.2.3");class FormsModule{static withConfig(opts){return{ngModule:FormsModule,providers:[{provide:CALL_SET_DISABLED_STATE,useValue:opts.callSetDisabledState??setDisabledStateDefault}]}}static#_=this.ɵfac=function FormsModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||FormsModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:FormsModule,declarations:[NgModel,NgModelGroup,NgForm],exports:[ɵInternalFormsSharedModule,NgModel,NgModelGroup,NgForm]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({imports:[ɵInternalFormsSharedModule]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](FormsModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{declarations:TEMPLATE_DRIVEN_DIRECTIVES,exports:[ɵInternalFormsSharedModule,TEMPLATE_DRIVEN_DIRECTIVES]}]}],null,null);class ReactiveFormsModule{static withConfig(opts){return{ngModule:ReactiveFormsModule,providers:[{provide:NG_MODEL_WITH_FORM_CONTROL_WARNING,useValue:opts.warnOnNgModelWithFormControl??"always"},{provide:CALL_SET_DISABLED_STATE,useValue:opts.callSetDisabledState??setDisabledStateDefault}]}}static#_=this.ɵfac=function ReactiveFormsModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||ReactiveFormsModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:ReactiveFormsModule,declarations:[FormControlDirective,FormGroupDirective,FormControlName,FormGroupName,FormArrayName],exports:[ɵInternalFormsSharedModule,FormControlDirective,FormGroupDirective,FormControlName,FormGroupName,FormArrayName]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({imports:[ɵInternalFormsSharedModule]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](ReactiveFormsModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{declarations:[REACTIVE_DRIVEN_DIRECTIVES],exports:[ɵInternalFormsSharedModule,REACTIVE_DRIVEN_DIRECTIVES]}]}],null,null)},"./node_modules/@storybook/angular/dist/client/argsToTemplate.js":(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.argsToTemplate=void 0,exports.argsToTemplate=function argsToTemplate(args,options={}){const includeSet=options.include?new Set(options.include):null,excludeSet=options.exclude?new Set(options.exclude):null;return Object.entries(args).filter((([key])=>void 0!==args[key])).filter((([key])=>includeSet?includeSet.has(key):!excludeSet||!excludeSet.has(key))).map((([key,value])=>"function"==typeof value?`(${key})="${key}($event)"`:`[${key}]="${key}"`)).join(" ")}},"./node_modules/@storybook/angular/dist/client/decorators.js":(__unused_webpack_module,exports,__webpack_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.componentWrapperDecorator=exports.applicationConfig=exports.moduleMetadata=void 0;const ComputesTemplateFromComponent_1=__webpack_require__("./node_modules/@storybook/angular/dist/client/angular-beta/ComputesTemplateFromComponent.js"),NgComponentAnalyzer_1=__webpack_require__("./node_modules/@storybook/angular/dist/client/angular-beta/utils/NgComponentAnalyzer.js");exports.moduleMetadata=metadata=>storyFn=>{const story=storyFn(),storyMetadata=story.moduleMetadata||{};return metadata=metadata||{},{...story,moduleMetadata:{declarations:[...metadata.declarations||[],...storyMetadata.declarations||[]],entryComponents:[...metadata.entryComponents||[],...storyMetadata.entryComponents||[]],imports:[...metadata.imports||[],...storyMetadata.imports||[]],schemas:[...metadata.schemas||[],...storyMetadata.schemas||[]],providers:[...metadata.providers||[],...storyMetadata.providers||[]]}}},exports.applicationConfig=function applicationConfig(config){return storyFn=>{const story=storyFn(),storyConfig=story.applicationConfig;return{...story,applicationConfig:storyConfig||config?{...config,...storyConfig,providers:[...config?.providers||[],...storyConfig?.providers||[]]}:void 0}}};exports.componentWrapperDecorator=(element,props)=>(storyFn,storyContext)=>{const story=storyFn(),currentProps="function"==typeof props?props(storyContext):props,template=(0,NgComponentAnalyzer_1.isComponent)(element)?(0,ComputesTemplateFromComponent_1.computesTemplateFromComponent)(element,currentProps??{},story.template):element(story.template);return{...story,template,...currentProps||story.props?{props:{...currentProps,...story.props}}:{}}}},"./node_modules/@storybook/angular/dist/client/index.js":function(__unused_webpack_module,exports,__webpack_require__){var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)"default"===p||Object.prototype.hasOwnProperty.call(exports,p)||__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.argsToTemplate=exports.applicationConfig=exports.componentWrapperDecorator=exports.moduleMetadata=void 0,__webpack_require__("./node_modules/@storybook/angular/dist/client/globals.js"),__exportStar(__webpack_require__("./node_modules/@storybook/angular/dist/client/public-types.js"),exports);var decorators_1=__webpack_require__("./node_modules/@storybook/angular/dist/client/decorators.js");Object.defineProperty(exports,"moduleMetadata",{enumerable:!0,get:function(){return decorators_1.moduleMetadata}}),Object.defineProperty(exports,"componentWrapperDecorator",{enumerable:!0,get:function(){return decorators_1.componentWrapperDecorator}}),Object.defineProperty(exports,"applicationConfig",{enumerable:!0,get:function(){return decorators_1.applicationConfig}});var argsToTemplate_1=__webpack_require__("./node_modules/@storybook/angular/dist/client/argsToTemplate.js");Object.defineProperty(exports,"argsToTemplate",{enumerable:!0,get:function(){return argsToTemplate_1.argsToTemplate}})},"./node_modules/@storybook/angular/dist/client/public-types.js":(__unused_webpack_module,exports)=>{Object.defineProperty(exports,"__esModule",{value:!0})},"./node_modules/@storybook/angular/dist/index.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{var _client_index__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@storybook/angular/dist/client/index.js");__webpack_require__.o(_client_index__WEBPACK_IMPORTED_MODULE_0__,"applicationConfig")&&__webpack_require__.d(__webpack_exports__,{applicationConfig:function(){return _client_index__WEBPACK_IMPORTED_MODULE_0__.applicationConfig}}),__webpack_require__.o(_client_index__WEBPACK_IMPORTED_MODULE_0__,"moduleMetadata")&&__webpack_require__.d(__webpack_exports__,{moduleMetadata:function(){return _client_index__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata}})}}]); \ No newline at end of file diff --git a/308.b66911bc.iframe.bundle.js b/308.b66911bc.iframe.bundle.js new file mode 100644 index 0000000..9968670 --- /dev/null +++ b/308.b66911bc.iframe.bundle.js @@ -0,0 +1 @@ +(self.webpackChunk=self.webpackChunk||[]).push([[308],{"./projects/message-box/src/message-box.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{z:()=>NgxMessageBoxComponent});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),message_box_componentngResource=__webpack_require__("./projects/message-box/src/message-box.component.scss?ngResource"),message_box_componentngResource_default=__webpack_require__.n(message_box_componentngResource);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),fesm2022_button=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),card=__webpack_require__("./node_modules/@angular/material/fesm2022/card.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs");let NgxMessageBoxComponent=class NgxMessageBoxComponent{close=new core.EventEmitter;type;title;icon;actions;actionsTemplate;_horizontal;set horizontal(value){this._horizontal=(0,coercion.he)(value)}get horizontal(){return this._horizontal}_showCloseIcon=!1;set showCloseIcon(value){this._showCloseIcon=(0,coercion.he)(value)}get showCloseIcon(){return this._showCloseIcon}ngOnInit(){void 0===this.icon&&this.type&&(this.icon=this.getIconFromType(this.type)),this.actions&&this.actions.forEach((action=>{!action.icon&&action.type&&(action.icon=this.getIconFromType(action.type))}))}onClose(){this.close.emit()}getIconFromType(type){switch(type){case"info":case"primary":return type="primary","info";case"success":return"done";case"warn":return"warning";case"danger":return"error";default:return""}}static propDecorators={close:[{type:core.Output}],type:[{type:core.Input}],title:[{type:core.Input}],icon:[{type:core.Input}],actions:[{type:core.Input}],actionsTemplate:[{type:core.ContentChild,args:["actionsTemplate"]}],horizontal:[{type:core.Input}],showCloseIcon:[{type:core.Input}]}};NgxMessageBoxComponent=(0,tslib_es6.Cg)([(0,core.Component)({changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,selector:"ngx-message-box",template:'\n \n @if (icon || showCloseIcon) {\n \n @if (icon) {\n {{ icon }}\n }\n @if (!horizontal) {\n {{ title }}\n }\n
\n @if (showCloseIcon) {\n \n }\n
\n
\n }\n
\n \n @if (horizontal && title) {\n

{{ title }}

\n }\n \n
\n @if (actions) {\n \n @for (action of actions; track $index) {\n \n @if (action.text) {\n \n {{ action.text }}\n \n }\n @if (!action.text && action.icon; as icon) {\n \n {{ icon }}\n \n }\n \n }\n \n }\n @if (!actions && actionsTemplate) {\n \n \n \n }\n
\n',standalone:!0,imports:[common.NgTemplateOutlet,card.RN,card.MM,card.dh,card.m2,card.YY,icon.An,fesm2022_button.iY,fesm2022_button.$z],styles:[message_box_componentngResource_default()]})],NgxMessageBoxComponent)},"./projects/status/src/status-detail/status-detail.module.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{NgxStatusDetailModule:()=>NgxStatusDetailModule});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),fesm2022_button=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),lazy_loader_service=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts"),message_box_component=__webpack_require__("./projects/message-box/src/message-box.component.ts"),status_detail_componentngResource=__webpack_require__("./projects/status/src/status-detail/status-detail.component.scss?ngResource"),status_detail_componentngResource_default=__webpack_require__.n(status_detail_componentngResource);var dialog=__webpack_require__("./node_modules/@angular/material/fesm2022/dialog.mjs");let NgxStatusDetailComponent=class NgxStatusDetailComponent{fullTextError;messageBoxType;status=(0,core.inject)(dialog.Vh);constructor(){switch(this.fullTextError=`Error Date: ${(this.status.date??new Date).toUTCString()}\n${this.status.technicalText||""}`,this.status.type){case"primary":this.messageBoxType="primary";break;case"success":this.messageBoxType="success";break;case"warn":this.messageBoxType="warn";break;case"danger":this.messageBoxType="danger";break;default:this.messageBoxType="info"}}copyToClipboard(text){window.prompt("Copy to clipboard: Ctrl+C, Enter",text)}static ctorParameters=()=>[]};NgxStatusDetailComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-status-detail",template:'@if (status) {\n \n

{{ status.text }}

\n

Détails de l\'erreur:

\n
\n {{ status.date | date: \'medium\' }}\n
{{ status.technicalText }}
\n
\n\n \n @if (status.technicalText) {\n \n content_copy\n \n }\n \n \n}\n',changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,styles:[status_detail_componentngResource_default()]})],NgxStatusDetailComponent);let NgxStatusDetailModule=class NgxStatusDetailModule extends lazy_loader_service.U{constructor(){super(NgxStatusDetailComponent)}static ctorParameters=()=>[]};NgxStatusDetailModule=(0,tslib_es6.Cg)([(0,core.NgModule)({declarations:[NgxStatusDetailComponent],exports:[NgxStatusDetailComponent],imports:[common.DatePipe,icon.An,fesm2022_button.iY,message_box_component.z]})],NgxStatusDetailModule)},"./projects/message-box/src/message-box.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-message-box {\n font-family: "Roboto";\n display: block;\n overflow: hidden;\n border-radius: 3px;\n background-color: transparent;\n}\nngx-message-box .ngx-message-box {\n border: 0;\n padding: 0;\n margin: 0;\n display: block;\n border-radius: 3px;\n}\nngx-message-box .ngx-message-box mat-card-title {\n text-transform: uppercase;\n align-items: center;\n display: flex;\n margin: 0;\n padding: 1rem 0rem 0rem 1.2rem;\n font-size: 1rem;\n}\nngx-message-box .ngx-message-box mat-card-title #icon {\n margin-right: 0.3rem;\n}\nngx-message-box .ngx-message-box mat-card-title .header-actions {\n position: absolute;\n top: 0;\n right: 0;\n}\nngx-message-box .ngx-message-box > mat-card-content {\n margin: 0;\n padding: 0.75rem;\n overflow: hidden;\n font-weight: 300;\n padding-left: 1.3rem;\n padding-top: 0.5rem;\n}\nngx-message-box .ngx-message-box > mat-card-content h2 {\n font-size: 1rem;\n margin: 0;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1.5rem;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\nngx-message-box .ngx-message-box > mat-card-actions {\n align-items: center;\n display: flex;\n justify-content: flex-end;\n margin: 0;\n padding: 0.5rem 0.5rem;\n}\nngx-message-box[horizontal] .ngx-message-box {\n align-items: stretch;\n display: flex;\n flex-direction: row;\n padding: 0;\n position: relative;\n}\nngx-message-box[horizontal] .ngx-message-box mat-card-title {\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n justify-content: center;\n margin: 0;\n text-align: center;\n padding: 0.5rem 0rem 0.5rem 0.8rem;\n}\nngx-message-box[horizontal] .ngx-message-box mat-card-title #icon {\n margin: 0;\n}\nngx-message-box[horizontal] .ngx-message-box > mat-card-content {\n align-self: center;\n flex: 1 1 auto;\n padding: 0.75rem;\n}\nngx-message-box[horizontal] .ngx-message-box > mat-card-actions {\n margin: 0;\n padding: 0;\n flex: 0 0 auto;\n}\nngx-message-box[horizontal] .ngx-message-box > mat-card-actions [mat-icon-button] mat-icon {\n font-size: 1rem;\n display: flex;\n justify-content: center;\n align-items: center;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()},"./projects/status/src/status-detail/status-detail.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,"ngx-status-detail {\n display: flex;\n flex: 1 1 auto;\n height: 100%;\n}\nngx-status-detail ngx-message-box {\n overflow: hidden;\n width: 100%;\n}\nngx-status-detail ngx-message-box .ngx-message-box {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\nngx-status-detail ngx-message-box .ngx-message-box .mat-mdc-card-content {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n padding: 1rem;\n}\nngx-status-detail ngx-message-box .ngx-message-box .mat-mad-card-title {\n padding: 1rem;\n}\nngx-status-detail ngx-message-box .ngx-message-box .detail-error-title {\n font-weight: 600;\n}\nngx-status-detail ngx-message-box .ngx-message-box .detail-error-container {\n overflow: scroll;\n background-color: #e3ecf0;\n color: rgba(0, 0, 0, 0.94);\n padding: 1rem;\n overflow: auto;\n flex: 1 1 auto;\n}\nngx-status-detail ngx-message-box .ngx-message-box .detail-error-container pre {\n white-space: normal;\n}\n\n.ngx-status-panel .mat-mdc-dialog-container {\n padding: 0;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/308.f5da812e.iframe.bundle.js b/308.f5da812e.iframe.bundle.js deleted file mode 100644 index c08aa25..0000000 --- a/308.f5da812e.iframe.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk=self.webpackChunk||[]).push([[308],{"./projects/message-box/src/message-box.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{z:()=>NgxMessageBoxComponent});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),message_box_componentngResource=__webpack_require__("./projects/message-box/src/message-box.component.scss?ngResource"),message_box_componentngResource_default=__webpack_require__.n(message_box_componentngResource);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),fesm2022_button=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),card=__webpack_require__("./node_modules/@angular/material/fesm2022/card.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs");let NgxMessageBoxComponent=class NgxMessageBoxComponent{close=new core.EventEmitter;type;title;icon;actions;actionsTemplate;_horizontal;set horizontal(value){this._horizontal=(0,coercion.he)(value)}get horizontal(){return this._horizontal}_showCloseIcon=!1;set showCloseIcon(value){this._showCloseIcon=(0,coercion.he)(value)}get showCloseIcon(){return this._showCloseIcon}ngOnInit(){void 0===this.icon&&this.type&&(this.icon=this.getIconFromType(this.type)),this.actions&&this.actions.forEach((action=>{!action.icon&&action.type&&(action.icon=this.getIconFromType(action.type))}))}onClose(){this.close.emit()}getIconFromType(type){switch(type){case"info":case"primary":return type="primary","info";case"success":return"done";case"warn":return"warning";case"danger":return"error";default:return""}}static propDecorators={close:[{type:core.Output}],type:[{type:core.Input}],title:[{type:core.Input}],icon:[{type:core.Input}],actions:[{type:core.Input}],actionsTemplate:[{type:core.ContentChild,args:["actionsTemplate"]}],horizontal:[{type:core.Input}],showCloseIcon:[{type:core.Input}]}};NgxMessageBoxComponent=(0,tslib_es6.Cg)([(0,core.Component)({changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,selector:"ngx-message-box",template:'\n \n @if (icon || showCloseIcon) {\n \n @if (icon) {\n {{ icon }}\n }\n @if (!horizontal) {\n {{ title }}\n }\n
\n @if (showCloseIcon) {\n \n }\n
\n
\n }\n
\n \n @if (horizontal && title) {\n

{{ title }}

\n }\n \n
\n @if (actions) {\n \n @for (action of actions; track $index) {\n \n @if (action.text) {\n \n {{ action.text }}\n \n }\n @if (!action.text && action.icon; as icon) {\n \n {{ icon }}\n \n }\n \n }\n \n }\n @if (!actions && actionsTemplate) {\n \n \n \n }\n
\n',standalone:!0,imports:[common.NgTemplateOutlet,card.RN,card.MM,card.dh,card.m2,card.YY,icon.An,fesm2022_button.iY,fesm2022_button.$z],styles:[message_box_componentngResource_default()]})],NgxMessageBoxComponent)},"./projects/status/src/status-detail/status-detail.module.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{NgxStatusDetailModule:()=>NgxStatusDetailModule});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),fesm2022_button=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),lazy_loader_service=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts"),message_box_component=__webpack_require__("./projects/message-box/src/message-box.component.ts"),status_detail_componentngResource=__webpack_require__("./projects/status/src/status-detail/status-detail.component.scss?ngResource"),status_detail_componentngResource_default=__webpack_require__.n(status_detail_componentngResource);var dialog=__webpack_require__("./node_modules/@angular/material/fesm2022/dialog.mjs");let NgxStatusDetailComponent=class NgxStatusDetailComponent{dialogRef;status;fullTextError;messageBoxType;constructor(dialogRef,status){switch(this.dialogRef=dialogRef,this.status=status,this.fullTextError=`Error Date: ${(status.date??new Date).toUTCString()}\n${status.technicalText||""}`,status.type){case"primary":this.messageBoxType="primary";break;case"success":this.messageBoxType="success";break;case"warn":this.messageBoxType="warn";break;case"danger":this.messageBoxType="danger";break;default:this.messageBoxType="info"}}copyToClipboard(text){window.prompt("Copy to clipboard: Ctrl+C, Enter",text)}static ctorParameters=()=>[{type:dialog.CP},{type:void 0,decorators:[{type:core.Inject,args:[dialog.Vh]}]}]};NgxStatusDetailComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-status-detail",template:'@if (status) {\n \n

{{ status.text }}

\n

Détails de l\'erreur:

\n
\n {{ status.date | date: \'medium\' }}\n
{{ status.technicalText }}
\n
\n\n \n @if (status.technicalText) {\n \n content_copy\n \n }\n \n \n}\n',changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,styles:[status_detail_componentngResource_default()]})],NgxStatusDetailComponent);let NgxStatusDetailModule=class NgxStatusDetailModule extends lazy_loader_service.U{constructor(){super(NgxStatusDetailComponent)}static ctorParameters=()=>[]};NgxStatusDetailModule=(0,tslib_es6.Cg)([(0,core.NgModule)({declarations:[NgxStatusDetailComponent],exports:[NgxStatusDetailComponent],imports:[common.DatePipe,icon.An,fesm2022_button.iY,message_box_component.z]})],NgxStatusDetailModule)},"./projects/message-box/src/message-box.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-message-box {\n font-family: "Roboto";\n display: block;\n overflow: hidden;\n border-radius: 3px;\n background-color: transparent;\n}\nngx-message-box .ngx-message-box {\n border: 0;\n padding: 0;\n margin: 0;\n display: block;\n border-radius: 3px;\n}\nngx-message-box .ngx-message-box mat-card-title {\n text-transform: uppercase;\n align-items: center;\n display: flex;\n margin: 0;\n padding: 1rem 0rem 0rem 1.2rem;\n font-size: 1rem;\n}\nngx-message-box .ngx-message-box mat-card-title #icon {\n margin-right: 0.3rem;\n}\nngx-message-box .ngx-message-box mat-card-title .header-actions {\n position: absolute;\n top: 0;\n right: 0;\n}\nngx-message-box .ngx-message-box > mat-card-content {\n margin: 0;\n padding: 0.75rem;\n overflow: hidden;\n font-weight: 300;\n padding-left: 1.3rem;\n padding-top: 0.5rem;\n}\nngx-message-box .ngx-message-box > mat-card-content h2 {\n font-size: 1rem;\n margin: 0;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1.5rem;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\nngx-message-box .ngx-message-box > mat-card-actions {\n align-items: center;\n display: flex;\n justify-content: flex-end;\n margin: 0;\n padding: 0.5rem 0.5rem;\n}\nngx-message-box[horizontal] .ngx-message-box {\n align-items: stretch;\n display: flex;\n flex-direction: row;\n padding: 0;\n position: relative;\n}\nngx-message-box[horizontal] .ngx-message-box mat-card-title {\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n justify-content: center;\n margin: 0;\n text-align: center;\n padding: 0.5rem 0rem 0.5rem 0.8rem;\n}\nngx-message-box[horizontal] .ngx-message-box mat-card-title #icon {\n margin: 0;\n}\nngx-message-box[horizontal] .ngx-message-box > mat-card-content {\n align-self: center;\n flex: 1 1 auto;\n padding: 0.75rem;\n}\nngx-message-box[horizontal] .ngx-message-box > mat-card-actions {\n margin: 0;\n padding: 0;\n flex: 0 0 auto;\n}\nngx-message-box[horizontal] .ngx-message-box > mat-card-actions [mat-icon-button] mat-icon {\n font-size: 1rem;\n display: flex;\n justify-content: center;\n align-items: center;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()},"./projects/status/src/status-detail/status-detail.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,"ngx-status-detail {\n display: flex;\n flex: 1 1 auto;\n height: 100%;\n}\nngx-status-detail ngx-message-box {\n overflow: hidden;\n width: 100%;\n}\nngx-status-detail ngx-message-box .ngx-message-box {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\nngx-status-detail ngx-message-box .ngx-message-box .mat-mdc-card-content {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n padding: 1rem;\n}\nngx-status-detail ngx-message-box .ngx-message-box .mat-mad-card-title {\n padding: 1rem;\n}\nngx-status-detail ngx-message-box .ngx-message-box .detail-error-title {\n font-weight: 600;\n}\nngx-status-detail ngx-message-box .ngx-message-box .detail-error-container {\n overflow: scroll;\n background-color: #e3ecf0;\n color: rgba(0, 0, 0, 0.94);\n padding: 1rem;\n overflow: auto;\n flex: 1 1 auto;\n}\nngx-status-detail ngx-message-box .ngx-message-box .detail-error-container pre {\n white-space: normal;\n}\n\n.ngx-status-panel .mat-mdc-dialog-container {\n padding: 0;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/547.a9f89bb7.iframe.bundle.js b/547.a9f89bb7.iframe.bundle.js deleted file mode 100644 index a93db07..0000000 --- a/547.a9f89bb7.iframe.bundle.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[547],{"./node_modules/@angular/material/fesm2022/button-toggle.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Vg:()=>MatButtonToggleModule,ec:()=>MatButtonToggleGroup,pc:()=>MatButtonToggle});var _angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/a11y.mjs"),_angular_cdk_collections__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/collections.mjs"),_angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/keycodes.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/bidi.mjs"),_angular_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),_angular_material_core__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@angular/material/fesm2022/core.mjs");const _c0=["button"],_c1=["*"];function MatButtonToggle_Conditional_3_Template(rf,ctx){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0,"mat-pseudo-checkbox",3),2&rf){const ctx_r1=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]();_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("disabled",ctx_r1.disabled)}}function MatButtonToggle_Conditional_4_Template(rf,ctx){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0,"mat-pseudo-checkbox",3),2&rf){const ctx_r1=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]();_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("disabled",ctx_r1.disabled)}}const MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:function MAT_BUTTON_TOGGLE_GROUP_DEFAULT_OPTIONS_FACTORY(){return{hideSingleSelectionIndicator:!1,hideMultipleSelectionIndicator:!1,disabledInteractive:!1}}});const MAT_BUTTON_TOGGLE_GROUP=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MatButtonToggleGroup"),MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR={provide:_angular_forms__WEBPACK_IMPORTED_MODULE_1__.kq,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MatButtonToggleGroup)),multi:!0};let uniqueIdCounter=0;class MatButtonToggleChange{constructor(source,value){this.source=source,this.value=value}}class MatButtonToggleGroup{get name(){return this._name}set name(value){this._name=value,this._markButtonsForCheck()}get value(){const selected=this._selectionModel?this._selectionModel.selected:[];return this.multiple?selected.map((toggle=>toggle.value)):selected[0]?selected[0].value:void 0}set value(newValue){this._setSelectionByValue(newValue),this.valueChange.emit(this.value)}get selected(){const selected=this._selectionModel?this._selectionModel.selected:[];return this.multiple?selected:selected[0]||null}get multiple(){return this._multiple}set multiple(value){this._multiple=value,this._markButtonsForCheck()}get disabled(){return this._disabled}set disabled(value){this._disabled=value,this._markButtonsForCheck()}get disabledInteractive(){return this._disabledInteractive}set disabledInteractive(value){this._disabledInteractive=value,this._markButtonsForCheck()}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(value){this._hideSingleSelectionIndicator=value,this._markButtonsForCheck()}get hideMultipleSelectionIndicator(){return this._hideMultipleSelectionIndicator}set hideMultipleSelectionIndicator(value){this._hideMultipleSelectionIndicator=value,this._markButtonsForCheck()}constructor(_changeDetector,defaultOptions,_dir){this._changeDetector=_changeDetector,this._dir=_dir,this._multiple=!1,this._disabled=!1,this._disabledInteractive=!1,this._controlValueAccessorChangeFn=()=>{},this._onTouched=()=>{},this._name="mat-button-toggle-group-"+uniqueIdCounter++,this.valueChange=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.change=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.appearance=defaultOptions&&defaultOptions.appearance?defaultOptions.appearance:"standard",this.hideSingleSelectionIndicator=defaultOptions?.hideSingleSelectionIndicator??!1,this.hideMultipleSelectionIndicator=defaultOptions?.hideMultipleSelectionIndicator??!1}ngOnInit(){this._selectionModel=new _angular_cdk_collections__WEBPACK_IMPORTED_MODULE_2__.CB(this.multiple,void 0,!1)}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter((toggle=>toggle.checked))),this.multiple||this._initializeTabIndex()}writeValue(value){this.value=value,this._changeDetector.markForCheck()}registerOnChange(fn){this._controlValueAccessorChangeFn=fn}registerOnTouched(fn){this._onTouched=fn}setDisabledState(isDisabled){this.disabled=isDisabled}_keydown(event){if(this.multiple||this.disabled)return;const buttonId=event.target.id,index=this._buttonToggles.toArray().findIndex((toggle=>toggle.buttonId===buttonId));let nextButton=null;switch(event.keyCode){case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.t6:case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.Fm:nextButton=this._buttonToggles.get(index)||null;break;case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.i7:nextButton=this._getNextButton(index,-1);break;case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.UQ:nextButton=this._getNextButton(index,"ltr"===this.dir?-1:1);break;case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.n6:nextButton=this._getNextButton(index,1);break;case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.LE:nextButton=this._getNextButton(index,"ltr"===this.dir?1:-1);break;default:return}nextButton&&(event.preventDefault(),nextButton._onButtonClick(),nextButton.focus())}_emitChangeEvent(toggle){const event=new MatButtonToggleChange(toggle,this.value);this._rawValue=event.value,this._controlValueAccessorChangeFn(event.value),this.change.emit(event)}_syncButtonToggle(toggle,select,isUserInput=!1,deferEvents=!1){this.multiple||!this.selected||toggle.checked||(this.selected.checked=!1),this._selectionModel?select?this._selectionModel.select(toggle):this._selectionModel.deselect(toggle):deferEvents=!0,deferEvents?Promise.resolve().then((()=>this._updateModelValue(toggle,isUserInput))):this._updateModelValue(toggle,isUserInput)}_isSelected(toggle){return this._selectionModel&&this._selectionModel.isSelected(toggle)}_isPrechecked(toggle){return void 0!==this._rawValue&&(this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some((value=>null!=toggle.value&&value===toggle.value)):toggle.value===this._rawValue)}_initializeTabIndex(){if(this._buttonToggles.forEach((toggle=>{toggle.tabIndex=-1})),this.selected)this.selected.tabIndex=0;else for(let i=0;ithis._selectValue(currentValue)))}else this._clearSelection(),this._selectValue(value)}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach((toggle=>{toggle.checked=!1,this.multiple||(toggle.tabIndex=-1)}))}_selectValue(value){const correspondingOption=this._buttonToggles.find((toggle=>null!=toggle.value&&toggle.value===value));correspondingOption&&(correspondingOption.checked=!0,this._selectionModel.select(correspondingOption),this.multiple||(correspondingOption.tabIndex=0))}_updateModelValue(toggle,isUserInput){isUserInput&&this._emitChangeEvent(toggle),this.valueChange.emit(this.value)}_markButtonsForCheck(){this._buttonToggles?.forEach((toggle=>toggle._markForCheck()))}static#_=this.ɵfac=function MatButtonToggleGroup_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatButtonToggleGroup)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_4__.dS,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MatButtonToggleGroup,selectors:[["mat-button-toggle-group"]],contentQueries:function MatButtonToggleGroup_ContentQueries(rf,ctx,dirIndex){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵcontentQuery"](dirIndex,MatButtonToggle,5),2&rf){let _t;_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵqueryRefresh"](_t=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵloadQuery"]())&&(ctx._buttonToggles=_t)}},hostAttrs:[1,"mat-button-toggle-group"],hostVars:6,hostBindings:function MatButtonToggleGroup_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("keydown",(function MatButtonToggleGroup_keydown_HostBindingHandler($event){return ctx._keydown($event)})),2&rf&&(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("role",ctx.multiple?"group":"radiogroup")("aria-disabled",ctx.disabled),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("mat-button-toggle-vertical",ctx.vertical)("mat-button-toggle-group-appearance-standard","standard"===ctx.appearance))},inputs:{appearance:"appearance",name:"name",vertical:[2,"vertical","vertical",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],value:"value",multiple:[2,"multiple","multiple",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],disabled:[2,"disabled","disabled",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],disabledInteractive:[2,"disabledInteractive","disabledInteractive",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],hideMultipleSelectionIndicator:[2,"hideMultipleSelectionIndicator","hideMultipleSelectionIndicator",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute]},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],standalone:!0,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,{provide:MAT_BUTTON_TOGGLE_GROUP,useExisting:MatButtonToggleGroup}]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInputTransformsFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatButtonToggleGroup,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"mat-button-toggle-group",providers:[MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,{provide:MAT_BUTTON_TOGGLE_GROUP,useExisting:MatButtonToggleGroup}],host:{class:"mat-button-toggle-group","(keydown)":"_keydown($event)","[attr.role]":"multiple ? 'group' : 'radiogroup'","[attr.aria-disabled]":"disabled","[class.mat-button-toggle-vertical]":"vertical","[class.mat-button-toggle-group-appearance-standard]":'appearance === "standard"'},exportAs:"matButtonToggleGroup",standalone:!0}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS]}]},{type:_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_4__.dS,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional}]}]),{_buttonToggles:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ContentChildren,args:[(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MatButtonToggle)),{descendants:!0}]}],appearance:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],vertical:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],valueChange:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}],multiple:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],disabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],disabledInteractive:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],change:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}],hideSingleSelectionIndicator:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],hideMultipleSelectionIndicator:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}]});class MatButtonToggle{get buttonId(){return`${this.id}-button`}get tabIndex(){return this._tabIndex}set tabIndex(value){this._tabIndex=value,this._markForCheck()}get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(value){this._appearance=value}get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(value){value!==this._checked&&(this._checked=value,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(value){this._disabled=value}get disabledInteractive(){return this._disabledInteractive||null!==this.buttonToggleGroup&&this.buttonToggleGroup.disabledInteractive}set disabledInteractive(value){this._disabledInteractive=value}constructor(toggleGroup,_changeDetectorRef,_elementRef,_focusMonitor,defaultTabIndex,defaultOptions){this._changeDetectorRef=_changeDetectorRef,this._elementRef=_elementRef,this._focusMonitor=_focusMonitor,this._checked=!1,this.ariaLabelledby=null,this._disabled=!1,this.change=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter;const parsedTabIndex=Number(defaultTabIndex);this.tabIndex=parsedTabIndex||0===parsedTabIndex?parsedTabIndex:null,this.buttonToggleGroup=toggleGroup,this.appearance=defaultOptions&&defaultOptions.appearance?defaultOptions.appearance:"standard",this.disabledInteractive=defaultOptions?.disabledInteractive??!1}ngOnInit(){const group=this.buttonToggleGroup;this.id=this.id||"mat-button-toggle-"+uniqueIdCounter++,group&&(group._isPrechecked(this)?this.checked=!0:group._isSelected(this)!==this._checked&&group._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){const group=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),group&&group._isSelected(this)&&group._syncButtonToggle(this,!1,!1,!0)}focus(options){this._buttonElement.nativeElement.focus(options)}_onButtonClick(){if(this.disabled)return;const newChecked=!!this.isSingleSelector()||!this._checked;if(newChecked!==this._checked&&(this._checked=newChecked,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.isSingleSelector()){const focusable=this.buttonToggleGroup._buttonToggles.find((toggle=>0===toggle.tabIndex));focusable&&(focusable.tabIndex=-1),this.tabIndex=0}this.change.emit(new MatButtonToggleChange(this,this.value))}_markForCheck(){this._changeDetectorRef.markForCheck()}_getButtonName(){return this.isSingleSelector()?this.buttonToggleGroup.name:this.name||null}isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}static#_=this.ɵfac=function MatButtonToggle_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatButtonToggle)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_BUTTON_TOGGLE_GROUP,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_5__.FN),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵinjectAttribute"]("tabindex"),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,8))};static#_2=this.ɵcmp=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({type:MatButtonToggle,selectors:[["mat-button-toggle"]],viewQuery:function MatButtonToggle_Query(rf,ctx){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵviewQuery"](_c0,5),2&rf){let _t;_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵqueryRefresh"](_t=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵloadQuery"]())&&(ctx._buttonElement=_t.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:14,hostBindings:function MatButtonToggle_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("focus",(function MatButtonToggle_focus_HostBindingHandler(){return ctx.focus()})),2&rf&&(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("aria-label",null)("aria-labelledby",null)("id",ctx.id)("name",null),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("mat-button-toggle-standalone",!ctx.buttonToggleGroup)("mat-button-toggle-checked",ctx.checked)("mat-button-toggle-disabled",ctx.disabled)("mat-button-toggle-disabled-interactive",ctx.disabledInteractive)("mat-button-toggle-appearance-standard","standard"===ctx.appearance))},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",disableRipple:[2,"disableRipple","disableRipple",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],appearance:"appearance",checked:[2,"checked","checked",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],disabled:[2,"disabled","disabled",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],disabledInteractive:[2,"disabledInteractive","disabledInteractive",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute]},outputs:{change:"change"},exportAs:["matButtonToggle"],standalone:!0,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInputTransformsFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵStandaloneFeature"]],ngContentSelectors:_c1,decls:8,vars:14,consts:[["button",""],["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"click","id","disabled"],[1,"mat-button-toggle-label-content"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"]],template:function MatButtonToggle_Template(rf,ctx){if(1&rf){const _r1=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"]();_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵprojectionDef"](),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0,"button",1,0),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("click",(function MatButtonToggle_Template_button_click_0_listener(){return _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r1),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵresetView"](ctx._onButtonClick())})),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2,"span",2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](3,MatButtonToggle_Conditional_3_Template,1,1,"mat-pseudo-checkbox",3)(4,MatButtonToggle_Conditional_4_Template,1,1,"mat-pseudo-checkbox",3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵprojection"](5),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]()(),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](6,"span",4)(7,"span",5)}if(2&rf){const button_r3=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵreference"](1);_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("id",ctx.buttonId)("disabled",ctx.disabled&&!ctx.disabledInteractive||null),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("role",ctx.isSingleSelector()?"radio":"button")("tabindex",ctx.disabled&&!ctx.disabledInteractive?-1:ctx.tabIndex)("aria-pressed",ctx.isSingleSelector()?null:ctx.checked)("aria-checked",ctx.isSingleSelector()?ctx.checked:null)("name",ctx._getButtonName())("aria-label",ctx.ariaLabel)("aria-labelledby",ctx.ariaLabelledby)("aria-disabled",ctx.disabled&&ctx.disabledInteractive?"true":null),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵconditional"](ctx.buttonToggleGroup&&ctx.checked&&!ctx.buttonToggleGroup.multiple&&!ctx.buttonToggleGroup.hideSingleSelectionIndicator?3:-1),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵconditional"](ctx.buttonToggleGroup&&ctx.checked&&ctx.buttonToggleGroup.multiple&&!ctx.buttonToggleGroup.hideMultipleSelectionIndicator?4:-1),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("matRippleTrigger",button_r3)("matRippleDisabled",ctx.disableRipple||ctx.disabled)}},dependencies:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.r6,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.wg],styles:[".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-app-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-label-text-font);font-size:var(--mat-legacy-button-toggle-label-text-size);line-height:var(--mat-legacy-button-toggle-label-text-line-height);font-weight:var(--mat-legacy-button-toggle-label-text-weight);letter-spacing:var(--mat-legacy-button-toggle-label-text-tracking);--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-legacy-button-toggle-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle .mat-pseudo-checkbox{margin-right:12px}[dir=rtl] .mat-button-toggle .mat-pseudo-checkbox{margin-right:0;margin-left:12px}.mat-button-toggle-checked{color:var(--mat-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color);--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-legacy-button-toggle-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-standard-button-toggle-text-color, var(--mat-app-on-surface));background-color:var(--mat-standard-button-toggle-background-color);font-family:var(--mat-standard-button-toggle-label-text-font, var(--mat-app-label-large-font));font-size:var(--mat-standard-button-toggle-label-text-size, var(--mat-app-label-large-size));line-height:var(--mat-standard-button-toggle-label-text-line-height, var(--mat-app-label-large-line-height));font-weight:var(--mat-standard-button-toggle-label-text-weight, var(--mat-app-label-large-weight));letter-spacing:var(--mat-standard-button-toggle-label-text-tracking, var(--mat-app-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-app-on-secondary-container));background-color:var(--mat-standard-button-toggle-selected-state-background-color, var(--mat-app-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-state-background-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-standard-button-toggle-disabled-selected-state-text-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-disabled-selected-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-standard-button-toggle-state-layer-color, var(--mat-app-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-hover-state-layer-opacity, var(--mat-app-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-focus-state-layer-opacity, var(--mat-app-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-button-toggle-height)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-legacy-button-toggle-state-layer-color)}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}.mat-button-toggle-group-appearance-standard .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}.mat-button-toggle-group-appearance-standard .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}"],encapsulation:2,changeDetection:0})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatButtonToggle,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Component,args:[{selector:"mat-button-toggle",encapsulation:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewEncapsulation.None,exportAs:"matButtonToggle",changeDetection:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectionStrategy.OnPush,host:{"[class.mat-button-toggle-standalone]":"!buttonToggleGroup","[class.mat-button-toggle-checked]":"checked","[class.mat-button-toggle-disabled]":"disabled","[class.mat-button-toggle-disabled-interactive]":"disabledInteractive","[class.mat-button-toggle-appearance-standard]":'appearance === "standard"',class:"mat-button-toggle","[attr.aria-label]":"null","[attr.aria-labelledby]":"null","[attr.id]":"id","[attr.name]":"null","(focus)":"focus()",role:"presentation"},standalone:!0,imports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.r6,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.wg],template:'\n\n\n\n\n',styles:[".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-app-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-label-text-font);font-size:var(--mat-legacy-button-toggle-label-text-size);line-height:var(--mat-legacy-button-toggle-label-text-line-height);font-weight:var(--mat-legacy-button-toggle-label-text-weight);letter-spacing:var(--mat-legacy-button-toggle-label-text-tracking);--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-legacy-button-toggle-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle .mat-pseudo-checkbox{margin-right:12px}[dir=rtl] .mat-button-toggle .mat-pseudo-checkbox{margin-right:0;margin-left:12px}.mat-button-toggle-checked{color:var(--mat-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color);--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-legacy-button-toggle-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-standard-button-toggle-text-color, var(--mat-app-on-surface));background-color:var(--mat-standard-button-toggle-background-color);font-family:var(--mat-standard-button-toggle-label-text-font, var(--mat-app-label-large-font));font-size:var(--mat-standard-button-toggle-label-text-size, var(--mat-app-label-large-size));line-height:var(--mat-standard-button-toggle-label-text-line-height, var(--mat-app-label-large-line-height));font-weight:var(--mat-standard-button-toggle-label-text-weight, var(--mat-app-label-large-weight));letter-spacing:var(--mat-standard-button-toggle-label-text-tracking, var(--mat-app-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-app-on-secondary-container));background-color:var(--mat-standard-button-toggle-selected-state-background-color, var(--mat-app-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-state-background-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-standard-button-toggle-disabled-selected-state-text-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-disabled-selected-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-standard-button-toggle-state-layer-color, var(--mat-app-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-hover-state-layer-opacity, var(--mat-app-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-focus-state-layer-opacity, var(--mat-app-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-button-toggle-height)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-legacy-button-toggle-state-layer-color)}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}.mat-button-toggle-group-appearance-standard .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}.mat-button-toggle-group-appearance-standard .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}"]}]}],(()=>[{type:MatButtonToggleGroup,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_BUTTON_TOGGLE_GROUP]}]},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_5__.FN},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Attribute,args:["tabindex"]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS]}]}]),{ariaLabel:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["aria-label"]}],ariaLabelledby:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["aria-labelledby"]}],_buttonElement:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewChild,args:["button"]}],id:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],tabIndex:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],disableRipple:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],appearance:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],checked:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],disabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],disabledInteractive:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],change:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}]});class MatButtonToggleModule{static#_=this.ɵfac=function MatButtonToggleModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatButtonToggleModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:MatButtonToggleModule,imports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.pZ,MatButtonToggleGroup,MatButtonToggle],exports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,MatButtonToggleGroup,MatButtonToggle]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({imports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.pZ,MatButtonToggle,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatButtonToggleModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{imports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.pZ,MatButtonToggleGroup,MatButtonToggle],exports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,MatButtonToggleGroup,MatButtonToggle]}]}],null,null)}}]); \ No newline at end of file diff --git a/547.fba7e732.iframe.bundle.js b/547.fba7e732.iframe.bundle.js new file mode 100644 index 0000000..593eecf --- /dev/null +++ b/547.fba7e732.iframe.bundle.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[547],{"./node_modules/@angular/material/fesm2022/button-toggle.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{ec:()=>MatButtonToggleGroup,pc:()=>MatButtonToggle});var _angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/a11y.mjs"),_angular_cdk_collections__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/collections.mjs"),_angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/keycodes.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/bidi.mjs"),_angular_forms__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),_angular_material_core__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@angular/material/fesm2022/core.mjs");const _c0=["button"],_c1=["*"];function MatButtonToggle_Conditional_3_Template(rf,ctx){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0,"mat-pseudo-checkbox",3),2&rf){const ctx_r1=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]();_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("disabled",ctx_r1.disabled)}}function MatButtonToggle_Conditional_4_Template(rf,ctx){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0,"mat-pseudo-checkbox",3),2&rf){const ctx_r1=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]();_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("disabled",ctx_r1.disabled)}}const MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:function MAT_BUTTON_TOGGLE_GROUP_DEFAULT_OPTIONS_FACTORY(){return{hideSingleSelectionIndicator:!1,hideMultipleSelectionIndicator:!1,disabledInteractive:!1}}});const MAT_BUTTON_TOGGLE_GROUP=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MatButtonToggleGroup"),MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR={provide:_angular_forms__WEBPACK_IMPORTED_MODULE_1__.kq,useExisting:(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MatButtonToggleGroup)),multi:!0};let uniqueIdCounter=0;class MatButtonToggleChange{constructor(source,value){this.source=source,this.value=value}}class MatButtonToggleGroup{get name(){return this._name}set name(value){this._name=value,this._markButtonsForCheck()}get value(){const selected=this._selectionModel?this._selectionModel.selected:[];return this.multiple?selected.map((toggle=>toggle.value)):selected[0]?selected[0].value:void 0}set value(newValue){this._setSelectionByValue(newValue),this.valueChange.emit(this.value)}get selected(){const selected=this._selectionModel?this._selectionModel.selected:[];return this.multiple?selected:selected[0]||null}get multiple(){return this._multiple}set multiple(value){this._multiple=value,this._markButtonsForCheck()}get disabled(){return this._disabled}set disabled(value){this._disabled=value,this._markButtonsForCheck()}get disabledInteractive(){return this._disabledInteractive}set disabledInteractive(value){this._disabledInteractive=value,this._markButtonsForCheck()}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(value){this._hideSingleSelectionIndicator=value,this._markButtonsForCheck()}get hideMultipleSelectionIndicator(){return this._hideMultipleSelectionIndicator}set hideMultipleSelectionIndicator(value){this._hideMultipleSelectionIndicator=value,this._markButtonsForCheck()}constructor(_changeDetector,defaultOptions,_dir){this._changeDetector=_changeDetector,this._dir=_dir,this._multiple=!1,this._disabled=!1,this._disabledInteractive=!1,this._controlValueAccessorChangeFn=()=>{},this._onTouched=()=>{},this._name="mat-button-toggle-group-"+uniqueIdCounter++,this.valueChange=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.change=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter,this.appearance=defaultOptions&&defaultOptions.appearance?defaultOptions.appearance:"standard",this.hideSingleSelectionIndicator=defaultOptions?.hideSingleSelectionIndicator??!1,this.hideMultipleSelectionIndicator=defaultOptions?.hideMultipleSelectionIndicator??!1}ngOnInit(){this._selectionModel=new _angular_cdk_collections__WEBPACK_IMPORTED_MODULE_2__.CB(this.multiple,void 0,!1)}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter((toggle=>toggle.checked))),this.multiple||this._initializeTabIndex()}writeValue(value){this.value=value,this._changeDetector.markForCheck()}registerOnChange(fn){this._controlValueAccessorChangeFn=fn}registerOnTouched(fn){this._onTouched=fn}setDisabledState(isDisabled){this.disabled=isDisabled}_keydown(event){if(this.multiple||this.disabled)return;const buttonId=event.target.id,index=this._buttonToggles.toArray().findIndex((toggle=>toggle.buttonId===buttonId));let nextButton=null;switch(event.keyCode){case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.t6:case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.Fm:nextButton=this._buttonToggles.get(index)||null;break;case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.i7:nextButton=this._getNextButton(index,-1);break;case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.UQ:nextButton=this._getNextButton(index,"ltr"===this.dir?-1:1);break;case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.n6:nextButton=this._getNextButton(index,1);break;case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__.LE:nextButton=this._getNextButton(index,"ltr"===this.dir?1:-1);break;default:return}nextButton&&(event.preventDefault(),nextButton._onButtonClick(),nextButton.focus())}_emitChangeEvent(toggle){const event=new MatButtonToggleChange(toggle,this.value);this._rawValue=event.value,this._controlValueAccessorChangeFn(event.value),this.change.emit(event)}_syncButtonToggle(toggle,select,isUserInput=!1,deferEvents=!1){this.multiple||!this.selected||toggle.checked||(this.selected.checked=!1),this._selectionModel?select?this._selectionModel.select(toggle):this._selectionModel.deselect(toggle):deferEvents=!0,deferEvents?Promise.resolve().then((()=>this._updateModelValue(toggle,isUserInput))):this._updateModelValue(toggle,isUserInput)}_isSelected(toggle){return this._selectionModel&&this._selectionModel.isSelected(toggle)}_isPrechecked(toggle){return void 0!==this._rawValue&&(this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some((value=>null!=toggle.value&&value===toggle.value)):toggle.value===this._rawValue)}_initializeTabIndex(){if(this._buttonToggles.forEach((toggle=>{toggle.tabIndex=-1})),this.selected)this.selected.tabIndex=0;else for(let i=0;ithis._selectValue(currentValue)))}else this._clearSelection(),this._selectValue(value)}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach((toggle=>{toggle.checked=!1,this.multiple||(toggle.tabIndex=-1)}))}_selectValue(value){const correspondingOption=this._buttonToggles.find((toggle=>null!=toggle.value&&toggle.value===value));correspondingOption&&(correspondingOption.checked=!0,this._selectionModel.select(correspondingOption),this.multiple||(correspondingOption.tabIndex=0))}_updateModelValue(toggle,isUserInput){isUserInput&&this._emitChangeEvent(toggle),this.valueChange.emit(this.value)}_markButtonsForCheck(){this._buttonToggles?.forEach((toggle=>toggle._markForCheck()))}static#_=this.ɵfac=function MatButtonToggleGroup_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatButtonToggleGroup)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_4__.dS,8))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MatButtonToggleGroup,selectors:[["mat-button-toggle-group"]],contentQueries:function MatButtonToggleGroup_ContentQueries(rf,ctx,dirIndex){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵcontentQuery"](dirIndex,MatButtonToggle,5),2&rf){let _t;_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵqueryRefresh"](_t=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵloadQuery"]())&&(ctx._buttonToggles=_t)}},hostAttrs:[1,"mat-button-toggle-group"],hostVars:6,hostBindings:function MatButtonToggleGroup_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("keydown",(function MatButtonToggleGroup_keydown_HostBindingHandler($event){return ctx._keydown($event)})),2&rf&&(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("role",ctx.multiple?"group":"radiogroup")("aria-disabled",ctx.disabled),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("mat-button-toggle-vertical",ctx.vertical)("mat-button-toggle-group-appearance-standard","standard"===ctx.appearance))},inputs:{appearance:"appearance",name:"name",vertical:[2,"vertical","vertical",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],value:"value",multiple:[2,"multiple","multiple",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],disabled:[2,"disabled","disabled",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],disabledInteractive:[2,"disabledInteractive","disabledInteractive",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],hideMultipleSelectionIndicator:[2,"hideMultipleSelectionIndicator","hideMultipleSelectionIndicator",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute]},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],standalone:!0,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵProvidersFeature"]([MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,{provide:MAT_BUTTON_TOGGLE_GROUP,useExisting:MatButtonToggleGroup}]),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInputTransformsFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatButtonToggleGroup,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"mat-button-toggle-group",providers:[MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,{provide:MAT_BUTTON_TOGGLE_GROUP,useExisting:MatButtonToggleGroup}],host:{class:"mat-button-toggle-group","(keydown)":"_keydown($event)","[attr.role]":"multiple ? 'group' : 'radiogroup'","[attr.aria-disabled]":"disabled","[class.mat-button-toggle-vertical]":"vertical","[class.mat-button-toggle-group-appearance-standard]":'appearance === "standard"'},exportAs:"matButtonToggleGroup",standalone:!0}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS]}]},{type:_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_4__.dS,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional}]}]),{_buttonToggles:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ContentChildren,args:[(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.forwardRef)((()=>MatButtonToggle)),{descendants:!0}]}],appearance:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],vertical:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],valueChange:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}],multiple:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],disabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],disabledInteractive:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],change:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}],hideSingleSelectionIndicator:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],hideMultipleSelectionIndicator:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}]});class MatButtonToggle{get buttonId(){return`${this.id}-button`}get tabIndex(){return this._tabIndex}set tabIndex(value){this._tabIndex=value,this._markForCheck()}get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(value){this._appearance=value}get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(value){value!==this._checked&&(this._checked=value,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(value){this._disabled=value}get disabledInteractive(){return this._disabledInteractive||null!==this.buttonToggleGroup&&this.buttonToggleGroup.disabledInteractive}set disabledInteractive(value){this._disabledInteractive=value}constructor(toggleGroup,_changeDetectorRef,_elementRef,_focusMonitor,defaultTabIndex,defaultOptions){this._changeDetectorRef=_changeDetectorRef,this._elementRef=_elementRef,this._focusMonitor=_focusMonitor,this._checked=!1,this.ariaLabelledby=null,this._disabled=!1,this.change=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter;const parsedTabIndex=Number(defaultTabIndex);this.tabIndex=parsedTabIndex||0===parsedTabIndex?parsedTabIndex:null,this.buttonToggleGroup=toggleGroup,this.appearance=defaultOptions&&defaultOptions.appearance?defaultOptions.appearance:"standard",this.disabledInteractive=defaultOptions?.disabledInteractive??!1}ngOnInit(){const group=this.buttonToggleGroup;this.id=this.id||"mat-button-toggle-"+uniqueIdCounter++,group&&(group._isPrechecked(this)?this.checked=!0:group._isSelected(this)!==this._checked&&group._syncButtonToggle(this,this._checked))}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){const group=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),group&&group._isSelected(this)&&group._syncButtonToggle(this,!1,!1,!0)}focus(options){this._buttonElement.nativeElement.focus(options)}_onButtonClick(){if(this.disabled)return;const newChecked=!!this.isSingleSelector()||!this._checked;if(newChecked!==this._checked&&(this._checked=newChecked,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,!0),this.buttonToggleGroup._onTouched())),this.isSingleSelector()){const focusable=this.buttonToggleGroup._buttonToggles.find((toggle=>0===toggle.tabIndex));focusable&&(focusable.tabIndex=-1),this.tabIndex=0}this.change.emit(new MatButtonToggleChange(this,this.value))}_markForCheck(){this._changeDetectorRef.markForCheck()}_getButtonName(){return this.isSingleSelector()?this.buttonToggleGroup.name:this.name||null}isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}static#_=this.ɵfac=function MatButtonToggle_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatButtonToggle)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_BUTTON_TOGGLE_GROUP,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_5__.FN),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵinjectAttribute"]("tabindex"),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,8))};static#_2=this.ɵcmp=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({type:MatButtonToggle,selectors:[["mat-button-toggle"]],viewQuery:function MatButtonToggle_Query(rf,ctx){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵviewQuery"](_c0,5),2&rf){let _t;_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵqueryRefresh"](_t=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵloadQuery"]())&&(ctx._buttonElement=_t.first)}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:14,hostBindings:function MatButtonToggle_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("focus",(function MatButtonToggle_focus_HostBindingHandler(){return ctx.focus()})),2&rf&&(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("aria-label",null)("aria-labelledby",null)("id",ctx.id)("name",null),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("mat-button-toggle-standalone",!ctx.buttonToggleGroup)("mat-button-toggle-checked",ctx.checked)("mat-button-toggle-disabled",ctx.disabled)("mat-button-toggle-disabled-interactive",ctx.disabledInteractive)("mat-button-toggle-appearance-standard","standard"===ctx.appearance))},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",disableRipple:[2,"disableRipple","disableRipple",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],appearance:"appearance",checked:[2,"checked","checked",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],disabled:[2,"disabled","disabled",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute],disabledInteractive:[2,"disabledInteractive","disabledInteractive",_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute]},outputs:{change:"change"},exportAs:["matButtonToggle"],standalone:!0,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵInputTransformsFeature"],_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵStandaloneFeature"]],ngContentSelectors:_c1,decls:8,vars:14,consts:[["button",""],["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"click","id","disabled"],[1,"mat-button-toggle-label-content"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"]],template:function MatButtonToggle_Template(rf,ctx){if(1&rf){const _r1=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"]();_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵprojectionDef"](),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0,"button",1,0),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("click",(function MatButtonToggle_Template_button_click_0_listener(){return _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r1),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵresetView"](ctx._onButtonClick())})),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2,"span",2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](3,MatButtonToggle_Conditional_3_Template,1,1,"mat-pseudo-checkbox",3)(4,MatButtonToggle_Conditional_4_Template,1,1,"mat-pseudo-checkbox",3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵprojection"](5),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]()(),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](6,"span",4)(7,"span",5)}if(2&rf){const button_r3=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵreference"](1);_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("id",ctx.buttonId)("disabled",ctx.disabled&&!ctx.disabledInteractive||null),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵattribute"]("role",ctx.isSingleSelector()?"radio":"button")("tabindex",ctx.disabled&&!ctx.disabledInteractive?-1:ctx.tabIndex)("aria-pressed",ctx.isSingleSelector()?null:ctx.checked)("aria-checked",ctx.isSingleSelector()?ctx.checked:null)("name",ctx._getButtonName())("aria-label",ctx.ariaLabel)("aria-labelledby",ctx.ariaLabelledby)("aria-disabled",ctx.disabled&&ctx.disabledInteractive?"true":null),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵconditional"](ctx.buttonToggleGroup&&ctx.checked&&!ctx.buttonToggleGroup.multiple&&!ctx.buttonToggleGroup.hideSingleSelectionIndicator?3:-1),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵconditional"](ctx.buttonToggleGroup&&ctx.checked&&ctx.buttonToggleGroup.multiple&&!ctx.buttonToggleGroup.hideMultipleSelectionIndicator?4:-1),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("matRippleTrigger",button_r3)("matRippleDisabled",ctx.disableRipple||ctx.disabled)}},dependencies:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.r6,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.wg],styles:[".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-app-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-label-text-font);font-size:var(--mat-legacy-button-toggle-label-text-size);line-height:var(--mat-legacy-button-toggle-label-text-line-height);font-weight:var(--mat-legacy-button-toggle-label-text-weight);letter-spacing:var(--mat-legacy-button-toggle-label-text-tracking);--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-legacy-button-toggle-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle .mat-pseudo-checkbox{margin-right:12px}[dir=rtl] .mat-button-toggle .mat-pseudo-checkbox{margin-right:0;margin-left:12px}.mat-button-toggle-checked{color:var(--mat-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color);--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-legacy-button-toggle-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-standard-button-toggle-text-color, var(--mat-app-on-surface));background-color:var(--mat-standard-button-toggle-background-color);font-family:var(--mat-standard-button-toggle-label-text-font, var(--mat-app-label-large-font));font-size:var(--mat-standard-button-toggle-label-text-size, var(--mat-app-label-large-size));line-height:var(--mat-standard-button-toggle-label-text-line-height, var(--mat-app-label-large-line-height));font-weight:var(--mat-standard-button-toggle-label-text-weight, var(--mat-app-label-large-weight));letter-spacing:var(--mat-standard-button-toggle-label-text-tracking, var(--mat-app-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-app-on-secondary-container));background-color:var(--mat-standard-button-toggle-selected-state-background-color, var(--mat-app-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-state-background-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-standard-button-toggle-disabled-selected-state-text-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-disabled-selected-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-standard-button-toggle-state-layer-color, var(--mat-app-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-hover-state-layer-opacity, var(--mat-app-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-focus-state-layer-opacity, var(--mat-app-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-button-toggle-height)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-legacy-button-toggle-state-layer-color)}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}.mat-button-toggle-group-appearance-standard .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}.mat-button-toggle-group-appearance-standard .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}"],encapsulation:2,changeDetection:0})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatButtonToggle,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Component,args:[{selector:"mat-button-toggle",encapsulation:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewEncapsulation.None,exportAs:"matButtonToggle",changeDetection:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectionStrategy.OnPush,host:{"[class.mat-button-toggle-standalone]":"!buttonToggleGroup","[class.mat-button-toggle-checked]":"checked","[class.mat-button-toggle-disabled]":"disabled","[class.mat-button-toggle-disabled-interactive]":"disabledInteractive","[class.mat-button-toggle-appearance-standard]":'appearance === "standard"',class:"mat-button-toggle","[attr.aria-label]":"null","[attr.aria-labelledby]":"null","[attr.id]":"id","[attr.name]":"null","(focus)":"focus()",role:"presentation"},standalone:!0,imports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.r6,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.wg],template:'\n\n\n\n\n',styles:[".mat-button-toggle-standalone,.mat-button-toggle-group{position:relative;display:inline-flex;flex-direction:row;white-space:nowrap;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);transform:translateZ(0);border-radius:var(--mat-legacy-button-toggle-shape)}.mat-button-toggle-standalone:not([class*=mat-elevation-z]),.mat-button-toggle-group:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.cdk-high-contrast-active .mat-button-toggle-standalone,.cdk-high-contrast-active .mat-button-toggle-group{outline:solid 1px}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.mat-button-toggle-group-appearance-standard{border-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-app-on-secondary-container))}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]){box-shadow:none}.cdk-high-contrast-active .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,.cdk-high-contrast-active .mat-button-toggle-group-appearance-standard{outline:0}.mat-button-toggle-vertical{flex-direction:column}.mat-button-toggle-vertical .mat-button-toggle-label-content{display:block}.mat-button-toggle{white-space:nowrap;position:relative;color:var(--mat-legacy-button-toggle-text-color);font-family:var(--mat-legacy-button-toggle-label-text-font);font-size:var(--mat-legacy-button-toggle-label-text-size);line-height:var(--mat-legacy-button-toggle-label-text-line-height);font-weight:var(--mat-legacy-button-toggle-label-text-weight);letter-spacing:var(--mat-legacy-button-toggle-label-text-tracking);--mat-minimal-pseudo-checkbox-selected-checkmark-color: var(--mat-legacy-button-toggle-selected-state-text-color)}.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-legacy-button-toggle-focus-state-layer-opacity)}.mat-button-toggle .mat-icon svg{vertical-align:top}.mat-button-toggle .mat-pseudo-checkbox{margin-right:12px}[dir=rtl] .mat-button-toggle .mat-pseudo-checkbox{margin-right:0;margin-left:12px}.mat-button-toggle-checked{color:var(--mat-legacy-button-toggle-selected-state-text-color);background-color:var(--mat-legacy-button-toggle-selected-state-background-color)}.mat-button-toggle-disabled{pointer-events:none;color:var(--mat-legacy-button-toggle-disabled-state-text-color);background-color:var(--mat-legacy-button-toggle-disabled-state-background-color);--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-legacy-button-toggle-disabled-state-text-color)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:var(--mat-legacy-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-disabled-interactive{pointer-events:auto}.mat-button-toggle-appearance-standard{color:var(--mat-standard-button-toggle-text-color, var(--mat-app-on-surface));background-color:var(--mat-standard-button-toggle-background-color);font-family:var(--mat-standard-button-toggle-label-text-font, var(--mat-app-label-large-font));font-size:var(--mat-standard-button-toggle-label-text-size, var(--mat-app-label-large-size));line-height:var(--mat-standard-button-toggle-label-text-line-height, var(--mat-app-label-large-line-height));font-weight:var(--mat-standard-button-toggle-label-text-weight, var(--mat-app-label-large-weight));letter-spacing:var(--mat-standard-button-toggle-label-text-tracking, var(--mat-app-label-large-tracking))}.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard+.mat-button-toggle-appearance-standard{border-left:none;border-right:none;border-top:solid 1px var(--mat-standard-button-toggle-divider-color, var(--mat-app-outline))}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-selected-state-text-color, var(--mat-app-on-secondary-container));background-color:var(--mat-standard-button-toggle-selected-state-background-color, var(--mat-app-secondary-container))}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled{color:var(--mat-standard-button-toggle-disabled-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-state-background-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox{--mat-minimal-pseudo-checkbox-disabled-selected-checkmark-color: var(--mat-standard-button-toggle-disabled-selected-state-text-color)}.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked{color:var(--mat-standard-button-toggle-disabled-selected-state-text-color);background-color:var(--mat-standard-button-toggle-disabled-selected-state-background-color)}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:var(--mat-standard-button-toggle-state-layer-color, var(--mat-app-on-surface))}.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-hover-state-layer-opacity, var(--mat-app-hover-state-layer-opacity))}.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay{opacity:var(--mat-standard-button-toggle-focus-state-layer-opacity, var(--mat-app-focus-state-layer-opacity))}@media(hover: none){.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay{display:none}}.mat-button-toggle-label-content{-webkit-user-select:none;user-select:none;display:inline-block;padding:0 16px;line-height:var(--mat-legacy-button-toggle-height);position:relative}.mat-button-toggle-appearance-standard .mat-button-toggle-label-content{padding:0 12px;line-height:var(--mat-standard-button-toggle-height)}.mat-button-toggle-label-content>*{vertical-align:middle}.mat-button-toggle-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--mat-legacy-button-toggle-state-layer-color)}.cdk-high-contrast-active .mat-button-toggle-checked .mat-button-toggle-focus-overlay{border-bottom:solid 500px;opacity:.5;height:0}.cdk-high-contrast-active .mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay{opacity:.6}.cdk-high-contrast-active .mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{border-bottom:solid 500px}.mat-button-toggle .mat-button-toggle-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-button-toggle-button{border:0;background:none;color:inherit;padding:0;margin:0;font:inherit;outline:none;width:100%;cursor:pointer}.mat-button-toggle-disabled .mat-button-toggle-button{cursor:default}.mat-button-toggle-button::-moz-focus-inner{border:0}.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{--mat-focus-indicator-border-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}.mat-button-toggle-group-appearance-standard .mat-button-toggle:last-of-type .mat-button-toggle-button::before{border-top-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border-bottom-right-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}.mat-button-toggle-group-appearance-standard .mat-button-toggle:first-of-type .mat-button-toggle-button::before{border-top-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full));border-bottom-left-radius:var(--mat-standard-button-toggle-shape, var(--mat-app-corner-full))}"]}]}],(()=>[{type:MatButtonToggleGroup,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_BUTTON_TOGGLE_GROUP]}]},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_5__.FN},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Attribute,args:["tabindex"]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS]}]}]),{ariaLabel:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["aria-label"]}],ariaLabelledby:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["aria-labelledby"]}],_buttonElement:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewChild,args:["button"]}],id:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],name:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],value:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],tabIndex:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],disableRipple:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],appearance:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],checked:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],disabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],disabledInteractive:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:[{transform:_angular_core__WEBPACK_IMPORTED_MODULE_0__.booleanAttribute}]}],change:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}]});class MatButtonToggleModule{static#_=this.ɵfac=function MatButtonToggleModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatButtonToggleModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:MatButtonToggleModule,imports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.pZ,MatButtonToggleGroup,MatButtonToggle],exports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,MatButtonToggleGroup,MatButtonToggle]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({imports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.pZ,MatButtonToggle,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatButtonToggleModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{imports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.pZ,MatButtonToggleGroup,MatButtonToggle],exports:[_angular_material_core__WEBPACK_IMPORTED_MODULE_6__.yE,MatButtonToggleGroup,MatButtonToggle]}]}],null,null)}}]); \ No newline at end of file diff --git a/584.3b2708bc.iframe.bundle.js b/584.3b2708bc.iframe.bundle.js deleted file mode 100644 index f44e6f0..0000000 --- a/584.3b2708bc.iframe.bundle.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[584],{"./node_modules/@angular/material/fesm2022/dialog.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Vh:()=>MAT_DIALOG_DATA,bZ:()=>MatDialog,CP:()=>MatDialogRef});var fesm2022_overlay=__webpack_require__("./node_modules/@angular/cdk/fesm2022/overlay.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),a11y=__webpack_require__("./node_modules/@angular/cdk/fesm2022/a11y.mjs"),platform=__webpack_require__("./node_modules/@angular/cdk/fesm2022/platform.mjs"),portal=__webpack_require__("./node_modules/@angular/cdk/fesm2022/portal.mjs"),keycodes=__webpack_require__("./node_modules/@angular/cdk/fesm2022/keycodes.mjs"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),Observable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),innerFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js");function defer(observableFactory){return new Observable.c((function(subscriber){(0,innerFrom.Tg)(observableFactory()).subscribe(subscriber)}))}var of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),bidi=__webpack_require__("./node_modules/@angular/cdk/fesm2022/bidi.mjs"),startWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/startWith.js");function CdkDialogContainer_ng_template_0_Template(rf,ctx){}class DialogConfig{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}}function throwDialogContentAlreadyAttachedError(){throw Error("Attempting to attach dialog content after content is already attached")}class CdkDialogContainer extends portal.lb{constructor(_elementRef,_focusTrapFactory,_document,_config,_interactivityChecker,_ngZone,_overlayRef,_focusMonitor){super(),this._elementRef=_elementRef,this._focusTrapFactory=_focusTrapFactory,this._config=_config,this._interactivityChecker=_interactivityChecker,this._ngZone=_ngZone,this._overlayRef=_overlayRef,this._focusMonitor=_focusMonitor,this._platform=(0,core.inject)(platform.OD),this._focusTrap=null,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this._ariaLabelledByQueue=[],this._changeDetectorRef=(0,core.inject)(core.ChangeDetectorRef),this._injector=(0,core.inject)(core.Injector),this._isDestroyed=!1,this.attachDomPortal=portal=>{this._portalOutlet.hasAttached()&&("undefined"==typeof ngDevMode||ngDevMode)&&throwDialogContentAlreadyAttachedError();const result=this._portalOutlet.attachDomPortal(portal);return this._contentAttached(),result},this._document=_document,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(id){this._ariaLabelledByQueue.push(id),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(id){const index=this._ariaLabelledByQueue.indexOf(id);index>-1&&(this._ariaLabelledByQueue.splice(index,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(portal){this._portalOutlet.hasAttached()&&("undefined"==typeof ngDevMode||ngDevMode)&&throwDialogContentAlreadyAttachedError();const result=this._portalOutlet.attachComponentPortal(portal);return this._contentAttached(),result}attachTemplatePortal(portal){this._portalOutlet.hasAttached()&&("undefined"==typeof ngDevMode||ngDevMode)&&throwDialogContentAlreadyAttachedError();const result=this._portalOutlet.attachTemplatePortal(portal);return this._contentAttached(),result}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(element,options){this._interactivityChecker.isFocusable(element)||(element.tabIndex=-1,this._ngZone.runOutsideAngular((()=>{const callback=()=>{element.removeEventListener("blur",callback),element.removeEventListener("mousedown",callback),element.removeAttribute("tabindex")};element.addEventListener("blur",callback),element.addEventListener("mousedown",callback)}))),element.focus(options)}_focusByCssSelector(selector,options){let elementToFocus=this._elementRef.nativeElement.querySelector(selector);elementToFocus&&this._forceFocus(elementToFocus,options)}_trapFocus(){this._isDestroyed||(0,core.afterNextRender)((()=>{const element=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||element.focus();break;case!0:case"first-tabbable":const focusedSuccessfully=this._focusTrap?.focusInitialElement();focusedSuccessfully||this._focusDialogContainer();break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}),{injector:this._injector})}_restoreFocus(){const focusConfig=this._config.restoreFocus;let focusTargetElement=null;if("string"==typeof focusConfig?focusTargetElement=this._document.querySelector(focusConfig):"boolean"==typeof focusConfig?focusTargetElement=focusConfig?this._elementFocusedBeforeDialogWasOpened:null:focusConfig&&(focusTargetElement=focusConfig),this._config.restoreFocus&&focusTargetElement&&"function"==typeof focusTargetElement.focus){const activeElement=(0,platform.vc)(),element=this._elementRef.nativeElement;activeElement&&activeElement!==this._document.body&&activeElement!==element&&!element.contains(activeElement)||(this._focusMonitor?(this._focusMonitor.focusVia(focusTargetElement,this._closeInteractionType),this._closeInteractionType=null):focusTargetElement.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const element=this._elementRef.nativeElement,activeElement=(0,platform.vc)();return element===activeElement||element.contains(activeElement)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=(0,platform.vc)()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe((()=>{this._config.disableClose&&this._recaptureFocus()}))}static#_=this.ɵfac=function CdkDialogContainer_Factory(__ngFactoryType__){return new(__ngFactoryType__||CdkDialogContainer)(core["ɵɵdirectiveInject"](core.ElementRef),core["ɵɵdirectiveInject"](a11y.GX),core["ɵɵdirectiveInject"](common.DOCUMENT,8),core["ɵɵdirectiveInject"](DialogConfig),core["ɵɵdirectiveInject"](a11y.Z7),core["ɵɵdirectiveInject"](core.NgZone),core["ɵɵdirectiveInject"](fesm2022_overlay.yY),core["ɵɵdirectiveInject"](a11y.FN))};static#_2=this.ɵcmp=core["ɵɵdefineComponent"]({type:CdkDialogContainer,selectors:[["cdk-dialog-container"]],viewQuery:function CdkDialogContainer_Query(rf,ctx){if(1&rf&&core["ɵɵviewQuery"](portal.I3,7),2&rf){let _t;core["ɵɵqueryRefresh"](_t=core["ɵɵloadQuery"]())&&(ctx._portalOutlet=_t.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function CdkDialogContainer_HostBindings(rf,ctx){2&rf&&core["ɵɵattribute"]("id",ctx._config.id||null)("role",ctx._config.role)("aria-modal",ctx._config.ariaModal)("aria-labelledby",ctx._config.ariaLabel?null:ctx._ariaLabelledByQueue[0])("aria-label",ctx._config.ariaLabel)("aria-describedby",ctx._config.ariaDescribedBy||null)},standalone:!0,features:[core["ɵɵInheritDefinitionFeature"],core["ɵɵStandaloneFeature"]],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function CdkDialogContainer_Template(rf,ctx){1&rf&&core["ɵɵtemplate"](0,CdkDialogContainer_ng_template_0_Template,0,0,"ng-template",0)},dependencies:[portal.I3],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](CdkDialogContainer,[{type:core.Component,args:[{selector:"cdk-dialog-container",encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.Default,standalone:!0,imports:[portal.I3],host:{class:"cdk-dialog-container",tabindex:"-1","[attr.id]":"_config.id || null","[attr.role]":"_config.role","[attr.aria-modal]":"_config.ariaModal","[attr.aria-labelledby]":"_config.ariaLabel ? null : _ariaLabelledByQueue[0]","[attr.aria-label]":"_config.ariaLabel","[attr.aria-describedby]":"_config.ariaDescribedBy || null"},template:"\n",styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"]}]}],(()=>[{type:core.ElementRef},{type:a11y.GX},{type:void 0,decorators:[{type:core.Optional},{type:core.Inject,args:[common.DOCUMENT]}]},{type:void 0,decorators:[{type:core.Inject,args:[DialogConfig]}]},{type:a11y.Z7},{type:core.NgZone},{type:fesm2022_overlay.yY},{type:a11y.FN}]),{_portalOutlet:[{type:core.ViewChild,args:[portal.I3,{static:!0}]}]});class DialogRef{constructor(overlayRef,config){this.overlayRef=overlayRef,this.config=config,this.closed=new Subject.B,this.disableClose=config.disableClose,this.backdropClick=overlayRef.backdropClick(),this.keydownEvents=overlayRef.keydownEvents(),this.outsidePointerEvents=overlayRef.outsidePointerEvents(),this.id=config.id,this.keydownEvents.subscribe((event=>{event.keyCode!==keycodes._f||this.disableClose||(0,keycodes.rp)(event)||(event.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))})),this.backdropClick.subscribe((()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})})),this._detachSubscription=overlayRef.detachments().subscribe((()=>{!1!==config.closeOnOverlayDetachments&&this.close()}))}close(result,options){if(this.containerInstance){const closedSubject=this.closed;this.containerInstance._closeInteractionType=options?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),closedSubject.next(result),closedSubject.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(width="",height=""){return this.overlayRef.updateSize({width,height}),this}addPanelClass(classes){return this.overlayRef.addPanelClass(classes),this}removePanelClass(classes){return this.overlayRef.removePanelClass(classes),this}}const DIALOG_SCROLL_STRATEGY=new core.InjectionToken("DialogScrollStrategy",{providedIn:"root",factory:()=>{const overlay=(0,core.inject)(fesm2022_overlay.hJ);return()=>overlay.scrollStrategies.block()}}),DIALOG_DATA=new core.InjectionToken("DialogData"),DEFAULT_DIALOG_CONFIG=new core.InjectionToken("DefaultDialogConfig");fesm2022_overlay.hJ;let uniqueId=0;class Dialog{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(_overlay,_injector,_defaultOptions,_parentDialog,_overlayContainer,scrollStrategy){this._overlay=_overlay,this._injector=_injector,this._defaultOptions=_defaultOptions,this._parentDialog=_parentDialog,this._overlayContainer=_overlayContainer,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Subject.B,this._afterOpenedAtThisLevel=new Subject.B,this._ariaHiddenElements=new Map,this.afterAllClosed=defer((()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,startWith.Z)(void 0)))),this._scrollStrategy=scrollStrategy}open(componentOrTemplateRef,config){if((config={...this._defaultOptions||new DialogConfig,...config}).id=config.id||"cdk-dialog-"+uniqueId++,config.id&&this.getDialogById(config.id)&&("undefined"==typeof ngDevMode||ngDevMode))throw Error(`Dialog with id "${config.id}" exists already. The dialog id must be unique.`);const overlayConfig=this._getOverlayConfig(config),overlayRef=this._overlay.create(overlayConfig),dialogRef=new DialogRef(overlayRef,config),dialogContainer=this._attachContainer(overlayRef,dialogRef,config);return dialogRef.containerInstance=dialogContainer,this._attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(dialogRef),dialogRef.closed.subscribe((()=>this._removeOpenDialog(dialogRef,!0))),this.afterOpened.next(dialogRef),dialogRef}closeAll(){reverseForEach(this.openDialogs,(dialog=>dialog.close()))}getDialogById(id){return this.openDialogs.find((dialog=>dialog.id===id))}ngOnDestroy(){reverseForEach(this._openDialogsAtThisLevel,(dialog=>{!1===dialog.config.closeOnDestroy&&this._removeOpenDialog(dialog,!1)})),reverseForEach(this._openDialogsAtThisLevel,(dialog=>dialog.close())),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(config){const state=new fesm2022_overlay.rR({positionStrategy:config.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:config.scrollStrategy||this._scrollStrategy(),panelClass:config.panelClass,hasBackdrop:config.hasBackdrop,direction:config.direction,minWidth:config.minWidth,minHeight:config.minHeight,maxWidth:config.maxWidth,maxHeight:config.maxHeight,width:config.width,height:config.height,disposeOnNavigation:config.closeOnNavigation});return config.backdropClass&&(state.backdropClass=config.backdropClass),state}_attachContainer(overlay,dialogRef,config){const userInjector=config.injector||config.viewContainerRef?.injector,providers=[{provide:DialogConfig,useValue:config},{provide:DialogRef,useValue:dialogRef},{provide:fesm2022_overlay.yY,useValue:overlay}];let containerType;config.container?"function"==typeof config.container?containerType=config.container:(containerType=config.container.type,providers.push(...config.container.providers(config))):containerType=CdkDialogContainer;const containerPortal=new portal.A8(containerType,config.viewContainerRef,core.Injector.create({parent:userInjector||this._injector,providers}),config.componentFactoryResolver);return overlay.attach(containerPortal).instance}_attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config){if(componentOrTemplateRef instanceof core.TemplateRef){const injector=this._createInjector(config,dialogRef,dialogContainer,void 0);let context={$implicit:config.data,dialogRef};config.templateContext&&(context={...context,..."function"==typeof config.templateContext?config.templateContext():config.templateContext}),dialogContainer.attachTemplatePortal(new portal.VA(componentOrTemplateRef,null,context,injector))}else{const injector=this._createInjector(config,dialogRef,dialogContainer,this._injector),contentRef=dialogContainer.attachComponentPortal(new portal.A8(componentOrTemplateRef,config.viewContainerRef,injector,config.componentFactoryResolver));dialogRef.componentRef=contentRef,dialogRef.componentInstance=contentRef.instance}}_createInjector(config,dialogRef,dialogContainer,fallbackInjector){const userInjector=config.injector||config.viewContainerRef?.injector,providers=[{provide:DIALOG_DATA,useValue:config.data},{provide:DialogRef,useValue:dialogRef}];return config.providers&&("function"==typeof config.providers?providers.push(...config.providers(dialogRef,config,dialogContainer)):providers.push(...config.providers)),!config.direction||userInjector&&userInjector.get(bidi.dS,null,{optional:!0})||providers.push({provide:bidi.dS,useValue:{value:config.direction,change:(0,of.of)()}}),core.Injector.create({parent:userInjector||fallbackInjector,providers})}_removeOpenDialog(dialogRef,emitEvent){const index=this.openDialogs.indexOf(dialogRef);index>-1&&(this.openDialogs.splice(index,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(((previousValue,element)=>{previousValue?element.setAttribute("aria-hidden",previousValue):element.removeAttribute("aria-hidden")})),this._ariaHiddenElements.clear(),emitEvent&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const overlayContainer=this._overlayContainer.getContainerElement();if(overlayContainer.parentElement){const siblings=overlayContainer.parentElement.children;for(let i=siblings.length-1;i>-1;i--){const sibling=siblings[i];sibling===overlayContainer||"SCRIPT"===sibling.nodeName||"STYLE"===sibling.nodeName||sibling.hasAttribute("aria-live")||(this._ariaHiddenElements.set(sibling,sibling.getAttribute("aria-hidden")),sibling.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const parent=this._parentDialog;return parent?parent._getAfterAllClosed():this._afterAllClosedAtThisLevel}static#_=this.ɵfac=function Dialog_Factory(__ngFactoryType__){return new(__ngFactoryType__||Dialog)(core["ɵɵinject"](fesm2022_overlay.hJ),core["ɵɵinject"](core.Injector),core["ɵɵinject"](DEFAULT_DIALOG_CONFIG,8),core["ɵɵinject"](Dialog,12),core["ɵɵinject"](fesm2022_overlay.Sf),core["ɵɵinject"](DIALOG_SCROLL_STRATEGY))};static#_2=this.ɵprov=core["ɵɵdefineInjectable"]({token:Dialog,factory:Dialog.ɵfac,providedIn:"root"})}function reverseForEach(items,callback){let i=items.length;for(;i--;)callback(items[i])}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](Dialog,[{type:core.Injectable,args:[{providedIn:"root"}]}],(()=>[{type:fesm2022_overlay.hJ},{type:core.Injector},{type:DialogConfig,decorators:[{type:core.Optional},{type:core.Inject,args:[DEFAULT_DIALOG_CONFIG]}]},{type:Dialog,decorators:[{type:core.Optional},{type:core.SkipSelf}]},{type:fesm2022_overlay.Sf},{type:void 0,decorators:[{type:core.Inject,args:[DIALOG_SCROLL_STRATEGY]}]}]),null);class DialogModule{static#_=this.ɵfac=function DialogModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||DialogModule)};static#_2=this.ɵmod=core["ɵɵdefineNgModule"]({type:DialogModule,imports:[fesm2022_overlay.z_,portal.jc,a11y.Pd,CdkDialogContainer],exports:[portal.jc,CdkDialogContainer]});static#_3=this.ɵinj=core["ɵɵdefineInjector"]({providers:[Dialog],imports:[fesm2022_overlay.z_,portal.jc,a11y.Pd,portal.jc]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](DialogModule,[{type:core.NgModule,args:[{imports:[fesm2022_overlay.z_,portal.jc,a11y.Pd,CdkDialogContainer],exports:[portal.jc,CdkDialogContainer],providers:[Dialog]}]}],null,null);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),merge=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/merge.js"),filter=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/filter.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),scrolling=__webpack_require__("./node_modules/@angular/cdk/fesm2022/scrolling.mjs"),fesm2022_core=__webpack_require__("./node_modules/@angular/material/fesm2022/core.mjs"),animations=__webpack_require__("./node_modules/@angular/animations/fesm2022/animations.mjs");function MatDialogContainer_ng_template_2_Template(rf,ctx){}class MatDialogConfig{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}class MatDialogContainer extends CdkDialogContainer{constructor(elementRef,focusTrapFactory,_document,dialogConfig,interactivityChecker,ngZone,overlayRef,_animationMode,focusMonitor){super(elementRef,focusTrapFactory,_document,dialogConfig,interactivityChecker,ngZone,overlayRef,focusMonitor),this._animationMode=_animationMode,this._animationStateChanged=new core.EventEmitter,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._actionSectionCount=0,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?parseCssTime(this._config.enterAnimationDuration)??150:0,this._exitAnimationDuration=this._animationsEnabled?parseCssTime(this._config.exitAnimationDuration)??75:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(TRANSITION_DURATION_PROPERTY,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame((()=>this._hostElement.classList.add("mdc-dialog--opening","mdc-dialog--open"))),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add("mdc-dialog--open"),Promise.resolve().then((()=>this._finishDialogOpen())))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove("mdc-dialog--open"),this._animationsEnabled?(this._hostElement.style.setProperty(TRANSITION_DURATION_PROPERTY,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame((()=>this._hostElement.classList.add("mdc-dialog--closing"))),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then((()=>this._finishDialogClose()))}_updateActionSectionCount(delta){this._actionSectionCount+=delta,this._changeDetectorRef.markForCheck()}_clearAnimationClasses(){this._hostElement.classList.remove("mdc-dialog--opening","mdc-dialog--closing")}_waitForAnimationToComplete(duration,callback){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(callback,duration)}_requestAnimationFrame(callback){this._ngZone.runOutsideAngular((()=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(callback):callback()}))}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(totalTime){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime})}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}attachComponentPortal(portal){const ref=super.attachComponentPortal(portal);return ref.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),ref}static#_=this.ɵfac=function MatDialogContainer_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogContainer)(core["ɵɵdirectiveInject"](core.ElementRef),core["ɵɵdirectiveInject"](a11y.GX),core["ɵɵdirectiveInject"](common.DOCUMENT,8),core["ɵɵdirectiveInject"](MatDialogConfig),core["ɵɵdirectiveInject"](a11y.Z7),core["ɵɵdirectiveInject"](core.NgZone),core["ɵɵdirectiveInject"](fesm2022_overlay.yY),core["ɵɵdirectiveInject"](core.ANIMATION_MODULE_TYPE,8),core["ɵɵdirectiveInject"](a11y.FN))};static#_2=this.ɵcmp=core["ɵɵdefineComponent"]({type:MatDialogContainer,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function MatDialogContainer_HostBindings(rf,ctx){2&rf&&(core["ɵɵhostProperty"]("id",ctx._config.id),core["ɵɵattribute"]("aria-modal",ctx._config.ariaModal)("role",ctx._config.role)("aria-labelledby",ctx._config.ariaLabel?null:ctx._ariaLabelledByQueue[0])("aria-label",ctx._config.ariaLabel)("aria-describedby",ctx._config.ariaDescribedBy||null),core["ɵɵclassProp"]("_mat-animation-noopable",!ctx._animationsEnabled)("mat-mdc-dialog-container-with-actions",ctx._actionSectionCount>0))},standalone:!0,features:[core["ɵɵInheritDefinitionFeature"],core["ɵɵStandaloneFeature"]],decls:3,vars:0,consts:[[1,"mat-mdc-dialog-inner-container","mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function MatDialogContainer_Template(rf,ctx){1&rf&&(core["ɵɵelementStart"](0,"div",0)(1,"div",1),core["ɵɵtemplate"](2,MatDialogContainer_ng_template_2_Template,0,0,"ng-template",2),core["ɵɵelementEnd"]()())},dependencies:[portal.I3],styles:['.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 80vw);min-width:var(--mat-dialog-container-min-width, 0)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, 80vw)}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12));border-radius:var(--mdc-dialog-container-shape, var(--mat-app-corner-extra-large, 4px));background-color:var(--mdc-dialog-container-color, var(--mat-app-surface, white))}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 0 24px 9px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mdc-dialog-subhead-color, var(--mat-app-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mdc-dialog-subhead-font, var(--mat-app-headline-small-font, inherit));line-height:var(--mdc-dialog-subhead-line-height, var(--mat-app-headline-small-line-height, 1.5rem));font-size:var(--mdc-dialog-subhead-size, var(--mat-app-headline-small-size, 1rem));font-weight:var(--mdc-dialog-subhead-weight, var(--mat-app-headline-small-weight, 400));letter-spacing:var(--mdc-dialog-subhead-tracking, var(--mat-app-headline-small-tracking, 0.03125em))}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mdc-dialog-supporting-text-color, var(--mat-app-on-surface-variant, rgba(0, 0, 0, 0.6)));font-family:var(--mdc-dialog-supporting-text-font, var(--mat-app-body-medium-font, inherit));line-height:var(--mdc-dialog-supporting-text-line-height, var(--mat-app-body-medium-line-height, 1.5rem));font-size:var(--mdc-dialog-supporting-text-size, var(--mat-app-body-medium-size, 1rem));font-weight:var(--mdc-dialog-supporting-text-weight, var(--mat-app-body-medium-weight, 400));letter-spacing:var(--mdc-dialog-supporting-text-tracking, var(--mat-app-body-medium-tracking, 0.03125em))}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 8px);justify-content:var(--mat-dialog-actions-alignment, start)}.cdk-high-contrast-active .mat-mdc-dialog-actions{border-top-color:CanvasText}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents}'],encapsulation:2})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogContainer,[{type:core.Component,args:[{selector:"mat-dialog-container",encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.Default,standalone:!0,imports:[portal.I3],host:{class:"mat-mdc-dialog-container mdc-dialog",tabindex:"-1","[attr.aria-modal]":"_config.ariaModal","[id]":"_config.id","[attr.role]":"_config.role","[attr.aria-labelledby]":"_config.ariaLabel ? null : _ariaLabelledByQueue[0]","[attr.aria-label]":"_config.ariaLabel","[attr.aria-describedby]":"_config.ariaDescribedBy || null","[class._mat-animation-noopable]":"!_animationsEnabled","[class.mat-mdc-dialog-container-with-actions]":"_actionSectionCount > 0"},template:'
\n
\n \n
\n
\n',styles:['.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 80vw);min-width:var(--mat-dialog-container-min-width, 0)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, 80vw)}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12));border-radius:var(--mdc-dialog-container-shape, var(--mat-app-corner-extra-large, 4px));background-color:var(--mdc-dialog-container-color, var(--mat-app-surface, white))}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 0 24px 9px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mdc-dialog-subhead-color, var(--mat-app-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mdc-dialog-subhead-font, var(--mat-app-headline-small-font, inherit));line-height:var(--mdc-dialog-subhead-line-height, var(--mat-app-headline-small-line-height, 1.5rem));font-size:var(--mdc-dialog-subhead-size, var(--mat-app-headline-small-size, 1rem));font-weight:var(--mdc-dialog-subhead-weight, var(--mat-app-headline-small-weight, 400));letter-spacing:var(--mdc-dialog-subhead-tracking, var(--mat-app-headline-small-tracking, 0.03125em))}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mdc-dialog-supporting-text-color, var(--mat-app-on-surface-variant, rgba(0, 0, 0, 0.6)));font-family:var(--mdc-dialog-supporting-text-font, var(--mat-app-body-medium-font, inherit));line-height:var(--mdc-dialog-supporting-text-line-height, var(--mat-app-body-medium-line-height, 1.5rem));font-size:var(--mdc-dialog-supporting-text-size, var(--mat-app-body-medium-size, 1rem));font-weight:var(--mdc-dialog-supporting-text-weight, var(--mat-app-body-medium-weight, 400));letter-spacing:var(--mdc-dialog-supporting-text-tracking, var(--mat-app-body-medium-tracking, 0.03125em))}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 8px);justify-content:var(--mat-dialog-actions-alignment, start)}.cdk-high-contrast-active .mat-mdc-dialog-actions{border-top-color:CanvasText}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents}']}]}],(()=>[{type:core.ElementRef},{type:a11y.GX},{type:void 0,decorators:[{type:core.Optional},{type:core.Inject,args:[common.DOCUMENT]}]},{type:MatDialogConfig},{type:a11y.Z7},{type:core.NgZone},{type:fesm2022_overlay.yY},{type:void 0,decorators:[{type:core.Optional},{type:core.Inject,args:[core.ANIMATION_MODULE_TYPE]}]},{type:a11y.FN}]),null);const TRANSITION_DURATION_PROPERTY="--mat-dialog-transition-duration";function parseCssTime(time){return null==time?null:"number"==typeof time?time:time.endsWith("ms")?(0,coercion.OE)(time.substring(0,time.length-2)):time.endsWith("s")?1e3*(0,coercion.OE)(time.substring(0,time.length-1)):"0"===time?0:null}var MatDialogState;!function(MatDialogState){MatDialogState[MatDialogState.OPEN=0]="OPEN",MatDialogState[MatDialogState.CLOSING=1]="CLOSING",MatDialogState[MatDialogState.CLOSED=2]="CLOSED"}(MatDialogState||(MatDialogState={}));class MatDialogRef{constructor(_ref,config,_containerInstance){this._ref=_ref,this._containerInstance=_containerInstance,this._afterOpened=new Subject.B,this._beforeClosed=new Subject.B,this._state=MatDialogState.OPEN,this.disableClose=config.disableClose,this.id=_ref.id,_ref.addPanelClass("mat-mdc-dialog-panel"),_containerInstance._animationStateChanged.pipe((0,filter.p)((event=>"opened"===event.state)),(0,take.s)(1)).subscribe((()=>{this._afterOpened.next(),this._afterOpened.complete()})),_containerInstance._animationStateChanged.pipe((0,filter.p)((event=>"closed"===event.state)),(0,take.s)(1)).subscribe((()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()})),_ref.overlayRef.detachments().subscribe((()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()})),(0,merge.h)(this.backdropClick(),this.keydownEvents().pipe((0,filter.p)((event=>event.keyCode===keycodes._f&&!this.disableClose&&!(0,keycodes.rp)(event))))).subscribe((event=>{this.disableClose||(event.preventDefault(),_closeDialogVia(this,"keydown"===event.type?"keyboard":"mouse"))}))}close(dialogResult){this._result=dialogResult,this._containerInstance._animationStateChanged.pipe((0,filter.p)((event=>"closing"===event.state)),(0,take.s)(1)).subscribe((event=>{this._beforeClosed.next(dialogResult),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout((()=>this._finishDialogClose()),event.totalTime+100)})),this._state=MatDialogState.CLOSING,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(position){let strategy=this._ref.config.positionStrategy;return position&&(position.left||position.right)?position.left?strategy.left(position.left):strategy.right(position.right):strategy.centerHorizontally(),position&&(position.top||position.bottom)?position.top?strategy.top(position.top):strategy.bottom(position.bottom):strategy.centerVertically(),this._ref.updatePosition(),this}updateSize(width="",height=""){return this._ref.updateSize(width,height),this}addPanelClass(classes){return this._ref.addPanelClass(classes),this}removePanelClass(classes){return this._ref.removePanelClass(classes),this}getState(){return this._state}_finishDialogClose(){this._state=MatDialogState.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function _closeDialogVia(ref,interactionType,result){return ref._closeInteractionType=interactionType,ref.close(result)}const MAT_DIALOG_DATA=new core.InjectionToken("MatMdcDialogData"),MAT_DIALOG_DEFAULT_OPTIONS=new core.InjectionToken("mat-mdc-dialog-default-options"),MAT_DIALOG_SCROLL_STRATEGY=new core.InjectionToken("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{const overlay=(0,core.inject)(fesm2022_overlay.hJ);return()=>overlay.scrollStrategies.block()}});fesm2022_overlay.hJ;let dialog_uniqueId=0;class MatDialog{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const parent=this._parentDialog;return parent?parent._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(_overlay,injector,location,_defaultOptions,_scrollStrategy,_parentDialog,_overlayContainer,_animationMode){this._overlay=_overlay,this._defaultOptions=_defaultOptions,this._scrollStrategy=_scrollStrategy,this._parentDialog=_parentDialog,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Subject.B,this._afterOpenedAtThisLevel=new Subject.B,this.dialogConfigClass=MatDialogConfig,this.afterAllClosed=defer((()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,startWith.Z)(void 0)))),this._dialog=injector.get(Dialog),this._dialogRefConstructor=MatDialogRef,this._dialogContainerType=MatDialogContainer,this._dialogDataToken=MAT_DIALOG_DATA}open(componentOrTemplateRef,config){let dialogRef;(config={...this._defaultOptions||new MatDialogConfig,...config}).id=config.id||"mat-mdc-dialog-"+dialog_uniqueId++,config.scrollStrategy=config.scrollStrategy||this._scrollStrategy();const cdkRef=this._dialog.open(componentOrTemplateRef,{...config,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:config},{provide:DialogConfig,useValue:config}]},templateContext:()=>({dialogRef}),providers:(ref,cdkConfig,dialogContainer)=>(dialogRef=new this._dialogRefConstructor(ref,config,dialogContainer),dialogRef.updatePosition(config?.position),[{provide:this._dialogContainerType,useValue:dialogContainer},{provide:this._dialogDataToken,useValue:cdkConfig.data},{provide:this._dialogRefConstructor,useValue:dialogRef}])});return dialogRef.componentRef=cdkRef.componentRef,dialogRef.componentInstance=cdkRef.componentInstance,this.openDialogs.push(dialogRef),this.afterOpened.next(dialogRef),dialogRef.afterClosed().subscribe((()=>{const index=this.openDialogs.indexOf(dialogRef);index>-1&&(this.openDialogs.splice(index,1),this.openDialogs.length||this._getAfterAllClosed().next())})),dialogRef}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(id){return this.openDialogs.find((dialog=>dialog.id===id))}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(dialogs){let i=dialogs.length;for(;i--;)dialogs[i].close()}static#_=this.ɵfac=function MatDialog_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialog)(core["ɵɵinject"](fesm2022_overlay.hJ),core["ɵɵinject"](core.Injector),core["ɵɵinject"](common.Location,8),core["ɵɵinject"](MAT_DIALOG_DEFAULT_OPTIONS,8),core["ɵɵinject"](MAT_DIALOG_SCROLL_STRATEGY),core["ɵɵinject"](MatDialog,12),core["ɵɵinject"](fesm2022_overlay.Sf),core["ɵɵinject"](core.ANIMATION_MODULE_TYPE,8))};static#_2=this.ɵprov=core["ɵɵdefineInjectable"]({token:MatDialog,factory:MatDialog.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialog,[{type:core.Injectable,args:[{providedIn:"root"}]}],(()=>[{type:fesm2022_overlay.hJ},{type:core.Injector},{type:common.Location,decorators:[{type:core.Optional}]},{type:MatDialogConfig,decorators:[{type:core.Optional},{type:core.Inject,args:[MAT_DIALOG_DEFAULT_OPTIONS]}]},{type:void 0,decorators:[{type:core.Inject,args:[MAT_DIALOG_SCROLL_STRATEGY]}]},{type:MatDialog,decorators:[{type:core.Optional},{type:core.SkipSelf}]},{type:fesm2022_overlay.Sf},{type:void 0,decorators:[{type:core.Optional},{type:core.Inject,args:[core.ANIMATION_MODULE_TYPE]}]}]),null);let dialogElementUid=0;class MatDialogClose{constructor(dialogRef,_elementRef,_dialog){this.dialogRef=dialogRef,this._elementRef=_elementRef,this._dialog=_dialog,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=getClosestDialog(this._elementRef,this._dialog.openDialogs))}ngOnChanges(changes){const proxiedChange=changes._matDialogClose||changes._matDialogCloseResult;proxiedChange&&(this.dialogResult=proxiedChange.currentValue)}_onButtonClick(event){_closeDialogVia(this.dialogRef,0===event.screenX&&0===event.screenY?"keyboard":"mouse",this.dialogResult)}static#_=this.ɵfac=function MatDialogClose_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogClose)(core["ɵɵdirectiveInject"](MatDialogRef,8),core["ɵɵdirectiveInject"](core.ElementRef),core["ɵɵdirectiveInject"](MatDialog))};static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogClose,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function MatDialogClose_HostBindings(rf,ctx){1&rf&&core["ɵɵlistener"]("click",(function MatDialogClose_click_HostBindingHandler($event){return ctx._onButtonClick($event)})),2&rf&&core["ɵɵattribute"]("aria-label",ctx.ariaLabel||null)("type",ctx.type)},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],type:"type",dialogResult:[0,"mat-dialog-close","dialogResult"],_matDialogClose:[0,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],standalone:!0,features:[core["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogClose,[{type:core.Directive,args:[{selector:"[mat-dialog-close], [matDialogClose]",exportAs:"matDialogClose",standalone:!0,host:{"(click)":"_onButtonClick($event)","[attr.aria-label]":"ariaLabel || null","[attr.type]":"type"}}]}],(()=>[{type:MatDialogRef,decorators:[{type:core.Optional}]},{type:core.ElementRef},{type:MatDialog}]),{ariaLabel:[{type:core.Input,args:["aria-label"]}],type:[{type:core.Input}],dialogResult:[{type:core.Input,args:["mat-dialog-close"]}],_matDialogClose:[{type:core.Input,args:["matDialogClose"]}]});class MatDialogLayoutSection{constructor(_dialogRef,_elementRef,_dialog){this._dialogRef=_dialogRef,this._elementRef=_elementRef,this._dialog=_dialog}ngOnInit(){this._dialogRef||(this._dialogRef=getClosestDialog(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then((()=>{this._onAdd()}))}ngOnDestroy(){const instance=this._dialogRef?._containerInstance;instance&&Promise.resolve().then((()=>{this._onRemove()}))}static#_=this.ɵfac=function MatDialogLayoutSection_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogLayoutSection)(core["ɵɵdirectiveInject"](MatDialogRef,8),core["ɵɵdirectiveInject"](core.ElementRef),core["ɵɵdirectiveInject"](MatDialog))};static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogLayoutSection,standalone:!0})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogLayoutSection,[{type:core.Directive,args:[{standalone:!0}]}],(()=>[{type:MatDialogRef,decorators:[{type:core.Optional}]},{type:core.ElementRef},{type:MatDialog}]),null);class MatDialogTitle extends MatDialogLayoutSection{constructor(){super(...arguments),this.id="mat-mdc-dialog-title-"+dialogElementUid++}_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static#_=this.ɵfac=(()=>{let ɵMatDialogTitle_BaseFactory;return function MatDialogTitle_Factory(__ngFactoryType__){return(ɵMatDialogTitle_BaseFactory||(ɵMatDialogTitle_BaseFactory=core["ɵɵgetInheritedFactory"](MatDialogTitle)))(__ngFactoryType__||MatDialogTitle)}})();static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogTitle,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function MatDialogTitle_HostBindings(rf,ctx){2&rf&&core["ɵɵhostProperty"]("id",ctx.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],standalone:!0,features:[core["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogTitle,[{type:core.Directive,args:[{selector:"[mat-dialog-title], [matDialogTitle]",exportAs:"matDialogTitle",standalone:!0,host:{class:"mat-mdc-dialog-title mdc-dialog__title","[id]":"id"}}]}],null,{id:[{type:core.Input}]});class MatDialogContent{static#_=this.ɵfac=function MatDialogContent_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogContent)};static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogContent,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],standalone:!0,features:[core["ɵɵHostDirectivesFeature"]([scrolling.uv])]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogContent,[{type:core.Directive,args:[{selector:"[mat-dialog-content], mat-dialog-content, [matDialogContent]",host:{class:"mat-mdc-dialog-content mdc-dialog__content"},standalone:!0,hostDirectives:[scrolling.uv]}]}],null,null);class MatDialogActions extends MatDialogLayoutSection{_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static#_=this.ɵfac=(()=>{let ɵMatDialogActions_BaseFactory;return function MatDialogActions_Factory(__ngFactoryType__){return(ɵMatDialogActions_BaseFactory||(ɵMatDialogActions_BaseFactory=core["ɵɵgetInheritedFactory"](MatDialogActions)))(__ngFactoryType__||MatDialogActions)}})();static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogActions,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function MatDialogActions_HostBindings(rf,ctx){2&rf&&core["ɵɵclassProp"]("mat-mdc-dialog-actions-align-start","start"===ctx.align)("mat-mdc-dialog-actions-align-center","center"===ctx.align)("mat-mdc-dialog-actions-align-end","end"===ctx.align)},inputs:{align:"align"},standalone:!0,features:[core["ɵɵInheritDefinitionFeature"]]})}function getClosestDialog(element,openDialogs){let parent=element.nativeElement.parentElement;for(;parent&&!parent.classList.contains("mat-mdc-dialog-container");)parent=parent.parentElement;return parent?openDialogs.find((dialog=>dialog.id===parent.id)):null}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogActions,[{type:core.Directive,args:[{selector:"[mat-dialog-actions], mat-dialog-actions, [matDialogActions]",standalone:!0,host:{class:"mat-mdc-dialog-actions mdc-dialog__actions","[class.mat-mdc-dialog-actions-align-start]":'align === "start"',"[class.mat-mdc-dialog-actions-align-center]":'align === "center"',"[class.mat-mdc-dialog-actions-align-end]":'align === "end"'}}]}],null,{align:[{type:core.Input}]});const DIRECTIVES=[MatDialogContainer,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent];class MatDialogModule{static#_=this.ɵfac=function MatDialogModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogModule)};static#_2=this.ɵmod=core["ɵɵdefineNgModule"]({type:MatDialogModule,imports:[DialogModule,fesm2022_overlay.z_,portal.jc,fesm2022_core.yE,MatDialogContainer,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent],exports:[fesm2022_core.yE,MatDialogContainer,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent]});static#_3=this.ɵinj=core["ɵɵdefineInjector"]({providers:[MatDialog],imports:[DialogModule,fesm2022_overlay.z_,portal.jc,fesm2022_core.yE,fesm2022_core.yE]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogModule,[{type:core.NgModule,args:[{imports:[DialogModule,fesm2022_overlay.z_,portal.jc,fesm2022_core.yE,...DIRECTIVES],exports:[fesm2022_core.yE,...DIRECTIVES],providers:[MatDialog]}]}],null,null);const _defaultParams={params:{enterAnimationDuration:"150ms",exitAnimationDuration:"75ms"}};(0,animations.hZ)("dialogContainer",[(0,animations.wk)("void, exit",(0,animations.iF)({opacity:0,transform:"scale(0.7)"})),(0,animations.wk)("enter",(0,animations.iF)({transform:"none"})),(0,animations.kY)("* => enter",(0,animations.Os)([(0,animations.i0)("{{enterAnimationDuration}} cubic-bezier(0, 0, 0.2, 1)",(0,animations.iF)({transform:"none",opacity:1})),(0,animations.P)("@*",(0,animations.MA)(),{optional:!0})]),_defaultParams),(0,animations.kY)("* => void, * => exit",(0,animations.Os)([(0,animations.i0)("{{exitAnimationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)",(0,animations.iF)({opacity:0})),(0,animations.P)("@*",(0,animations.MA)(),{optional:!0})]),_defaultParams)])},"./node_modules/rxjs/dist/esm5/internal/operators/debounce.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{s:()=>debounce});var _util_lift__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),_util_noop__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/noop.js"),_OperatorSubscriber__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js"),_observable_innerFrom__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js");function debounce(durationSelector){return(0,_util_lift__WEBPACK_IMPORTED_MODULE_0__.N)((function(source,subscriber){var hasValue=!1,lastValue=null,durationSubscriber=null,emit=function(){if(null==durationSubscriber||durationSubscriber.unsubscribe(),durationSubscriber=null,hasValue){hasValue=!1;var value=lastValue;lastValue=null,subscriber.next(value)}};source.subscribe((0,_OperatorSubscriber__WEBPACK_IMPORTED_MODULE_1__._)(subscriber,(function(value){null==durationSubscriber||durationSubscriber.unsubscribe(),hasValue=!0,lastValue=value,durationSubscriber=(0,_OperatorSubscriber__WEBPACK_IMPORTED_MODULE_1__._)(subscriber,emit,_util_noop__WEBPACK_IMPORTED_MODULE_2__.l),(0,_observable_innerFrom__WEBPACK_IMPORTED_MODULE_3__.Tg)(durationSelector(value)).subscribe(durationSubscriber)}),(function(){emit(),subscriber.complete()}),void 0,(function(){lastValue=durationSubscriber=null})))}))}},"./node_modules/rxjs/dist/esm5/internal/operators/delay.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{c:()=>delay});var scheduler_async=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/async.js"),concat=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/concat.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),OperatorSubscriber=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js"),noop=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/noop.js");var mapTo=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mapTo.js"),mergeMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js"),innerFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js");function delayWhen(delayDurationSelector,subscriptionDelay){return subscriptionDelay?function(source){return(0,concat.x)(subscriptionDelay.pipe((0,take.s)(1),function ignoreElements(){return(0,lift.N)((function(source,subscriber){source.subscribe((0,OperatorSubscriber._)(subscriber,noop.l))}))}()),source.pipe(delayWhen(delayDurationSelector)))}:(0,mergeMap.Z)((function(value,index){return(0,innerFrom.Tg)(delayDurationSelector(value,index)).pipe((0,take.s)(1),(0,mapTo.u)(value))}))}var timer=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js");function delay(due,scheduler){void 0===scheduler&&(scheduler=scheduler_async.E);var duration=(0,timer.O)(due,scheduler);return delayWhen((function(){return duration}))}},"./node_modules/rxjs/dist/esm5/internal/operators/throttleTime.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{c:()=>throttleTime});var scheduler_async=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/async.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),OperatorSubscriber=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js"),innerFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js");var timer=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js");function throttleTime(duration,scheduler,config){void 0===scheduler&&(scheduler=scheduler_async.E);var duration$=(0,timer.O)(duration,scheduler);return function throttle(durationSelector,config){return(0,lift.N)((function(source,subscriber){var _a=null!=config?config:{},_b=_a.leading,leading=void 0===_b||_b,_c=_a.trailing,trailing=void 0!==_c&&_c,hasValue=!1,sendValue=null,throttled=null,isComplete=!1,endThrottling=function(){null==throttled||throttled.unsubscribe(),throttled=null,trailing&&(send(),isComplete&&subscriber.complete())},cleanupThrottling=function(){throttled=null,isComplete&&subscriber.complete()},startThrottle=function(value){return throttled=(0,innerFrom.Tg)(durationSelector(value)).subscribe((0,OperatorSubscriber._)(subscriber,endThrottling,cleanupThrottling))},send=function(){if(hasValue){hasValue=!1;var value=sendValue;sendValue=null,subscriber.next(value),!isComplete&&startThrottle(value)}};source.subscribe((0,OperatorSubscriber._)(subscriber,(function(value){hasValue=!0,sendValue=value,(!throttled||throttled.closed)&&(leading?send():startThrottle(value))}),(function(){isComplete=!0,(!(trailing&&hasValue&&throttled)||throttled.closed)&&subscriber.complete()})))}))}((function(){return duration$}),config)}}}]); \ No newline at end of file diff --git a/584.c942b81e.iframe.bundle.js b/584.c942b81e.iframe.bundle.js new file mode 100644 index 0000000..c2517b5 --- /dev/null +++ b/584.c942b81e.iframe.bundle.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[584],{"./node_modules/@angular/material/fesm2022/dialog.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Vh:()=>MAT_DIALOG_DATA,bZ:()=>MatDialog});var fesm2022_overlay=__webpack_require__("./node_modules/@angular/cdk/fesm2022/overlay.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),a11y=__webpack_require__("./node_modules/@angular/cdk/fesm2022/a11y.mjs"),platform=__webpack_require__("./node_modules/@angular/cdk/fesm2022/platform.mjs"),portal=__webpack_require__("./node_modules/@angular/cdk/fesm2022/portal.mjs"),keycodes=__webpack_require__("./node_modules/@angular/cdk/fesm2022/keycodes.mjs"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),Observable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),innerFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js");function defer(observableFactory){return new Observable.c((function(subscriber){(0,innerFrom.Tg)(observableFactory()).subscribe(subscriber)}))}var of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),bidi=__webpack_require__("./node_modules/@angular/cdk/fesm2022/bidi.mjs"),startWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/startWith.js");function CdkDialogContainer_ng_template_0_Template(rf,ctx){}class DialogConfig{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}}function throwDialogContentAlreadyAttachedError(){throw Error("Attempting to attach dialog content after content is already attached")}class CdkDialogContainer extends portal.lb{constructor(_elementRef,_focusTrapFactory,_document,_config,_interactivityChecker,_ngZone,_overlayRef,_focusMonitor){super(),this._elementRef=_elementRef,this._focusTrapFactory=_focusTrapFactory,this._config=_config,this._interactivityChecker=_interactivityChecker,this._ngZone=_ngZone,this._overlayRef=_overlayRef,this._focusMonitor=_focusMonitor,this._platform=(0,core.inject)(platform.OD),this._focusTrap=null,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this._ariaLabelledByQueue=[],this._changeDetectorRef=(0,core.inject)(core.ChangeDetectorRef),this._injector=(0,core.inject)(core.Injector),this._isDestroyed=!1,this.attachDomPortal=portal=>{this._portalOutlet.hasAttached()&&("undefined"==typeof ngDevMode||ngDevMode)&&throwDialogContentAlreadyAttachedError();const result=this._portalOutlet.attachDomPortal(portal);return this._contentAttached(),result},this._document=_document,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(id){this._ariaLabelledByQueue.push(id),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(id){const index=this._ariaLabelledByQueue.indexOf(id);index>-1&&(this._ariaLabelledByQueue.splice(index,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(portal){this._portalOutlet.hasAttached()&&("undefined"==typeof ngDevMode||ngDevMode)&&throwDialogContentAlreadyAttachedError();const result=this._portalOutlet.attachComponentPortal(portal);return this._contentAttached(),result}attachTemplatePortal(portal){this._portalOutlet.hasAttached()&&("undefined"==typeof ngDevMode||ngDevMode)&&throwDialogContentAlreadyAttachedError();const result=this._portalOutlet.attachTemplatePortal(portal);return this._contentAttached(),result}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(element,options){this._interactivityChecker.isFocusable(element)||(element.tabIndex=-1,this._ngZone.runOutsideAngular((()=>{const callback=()=>{element.removeEventListener("blur",callback),element.removeEventListener("mousedown",callback),element.removeAttribute("tabindex")};element.addEventListener("blur",callback),element.addEventListener("mousedown",callback)}))),element.focus(options)}_focusByCssSelector(selector,options){let elementToFocus=this._elementRef.nativeElement.querySelector(selector);elementToFocus&&this._forceFocus(elementToFocus,options)}_trapFocus(){this._isDestroyed||(0,core.afterNextRender)((()=>{const element=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||element.focus();break;case!0:case"first-tabbable":const focusedSuccessfully=this._focusTrap?.focusInitialElement();focusedSuccessfully||this._focusDialogContainer();break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}),{injector:this._injector})}_restoreFocus(){const focusConfig=this._config.restoreFocus;let focusTargetElement=null;if("string"==typeof focusConfig?focusTargetElement=this._document.querySelector(focusConfig):"boolean"==typeof focusConfig?focusTargetElement=focusConfig?this._elementFocusedBeforeDialogWasOpened:null:focusConfig&&(focusTargetElement=focusConfig),this._config.restoreFocus&&focusTargetElement&&"function"==typeof focusTargetElement.focus){const activeElement=(0,platform.vc)(),element=this._elementRef.nativeElement;activeElement&&activeElement!==this._document.body&&activeElement!==element&&!element.contains(activeElement)||(this._focusMonitor?(this._focusMonitor.focusVia(focusTargetElement,this._closeInteractionType),this._closeInteractionType=null):focusTargetElement.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const element=this._elementRef.nativeElement,activeElement=(0,platform.vc)();return element===activeElement||element.contains(activeElement)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=(0,platform.vc)()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe((()=>{this._config.disableClose&&this._recaptureFocus()}))}static#_=this.ɵfac=function CdkDialogContainer_Factory(__ngFactoryType__){return new(__ngFactoryType__||CdkDialogContainer)(core["ɵɵdirectiveInject"](core.ElementRef),core["ɵɵdirectiveInject"](a11y.GX),core["ɵɵdirectiveInject"](common.DOCUMENT,8),core["ɵɵdirectiveInject"](DialogConfig),core["ɵɵdirectiveInject"](a11y.Z7),core["ɵɵdirectiveInject"](core.NgZone),core["ɵɵdirectiveInject"](fesm2022_overlay.yY),core["ɵɵdirectiveInject"](a11y.FN))};static#_2=this.ɵcmp=core["ɵɵdefineComponent"]({type:CdkDialogContainer,selectors:[["cdk-dialog-container"]],viewQuery:function CdkDialogContainer_Query(rf,ctx){if(1&rf&&core["ɵɵviewQuery"](portal.I3,7),2&rf){let _t;core["ɵɵqueryRefresh"](_t=core["ɵɵloadQuery"]())&&(ctx._portalOutlet=_t.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function CdkDialogContainer_HostBindings(rf,ctx){2&rf&&core["ɵɵattribute"]("id",ctx._config.id||null)("role",ctx._config.role)("aria-modal",ctx._config.ariaModal)("aria-labelledby",ctx._config.ariaLabel?null:ctx._ariaLabelledByQueue[0])("aria-label",ctx._config.ariaLabel)("aria-describedby",ctx._config.ariaDescribedBy||null)},standalone:!0,features:[core["ɵɵInheritDefinitionFeature"],core["ɵɵStandaloneFeature"]],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function CdkDialogContainer_Template(rf,ctx){1&rf&&core["ɵɵtemplate"](0,CdkDialogContainer_ng_template_0_Template,0,0,"ng-template",0)},dependencies:[portal.I3],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](CdkDialogContainer,[{type:core.Component,args:[{selector:"cdk-dialog-container",encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.Default,standalone:!0,imports:[portal.I3],host:{class:"cdk-dialog-container",tabindex:"-1","[attr.id]":"_config.id || null","[attr.role]":"_config.role","[attr.aria-modal]":"_config.ariaModal","[attr.aria-labelledby]":"_config.ariaLabel ? null : _ariaLabelledByQueue[0]","[attr.aria-label]":"_config.ariaLabel","[attr.aria-describedby]":"_config.ariaDescribedBy || null"},template:"\n",styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"]}]}],(()=>[{type:core.ElementRef},{type:a11y.GX},{type:void 0,decorators:[{type:core.Optional},{type:core.Inject,args:[common.DOCUMENT]}]},{type:void 0,decorators:[{type:core.Inject,args:[DialogConfig]}]},{type:a11y.Z7},{type:core.NgZone},{type:fesm2022_overlay.yY},{type:a11y.FN}]),{_portalOutlet:[{type:core.ViewChild,args:[portal.I3,{static:!0}]}]});class DialogRef{constructor(overlayRef,config){this.overlayRef=overlayRef,this.config=config,this.closed=new Subject.B,this.disableClose=config.disableClose,this.backdropClick=overlayRef.backdropClick(),this.keydownEvents=overlayRef.keydownEvents(),this.outsidePointerEvents=overlayRef.outsidePointerEvents(),this.id=config.id,this.keydownEvents.subscribe((event=>{event.keyCode!==keycodes._f||this.disableClose||(0,keycodes.rp)(event)||(event.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))})),this.backdropClick.subscribe((()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})})),this._detachSubscription=overlayRef.detachments().subscribe((()=>{!1!==config.closeOnOverlayDetachments&&this.close()}))}close(result,options){if(this.containerInstance){const closedSubject=this.closed;this.containerInstance._closeInteractionType=options?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),closedSubject.next(result),closedSubject.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(width="",height=""){return this.overlayRef.updateSize({width,height}),this}addPanelClass(classes){return this.overlayRef.addPanelClass(classes),this}removePanelClass(classes){return this.overlayRef.removePanelClass(classes),this}}const DIALOG_SCROLL_STRATEGY=new core.InjectionToken("DialogScrollStrategy",{providedIn:"root",factory:()=>{const overlay=(0,core.inject)(fesm2022_overlay.hJ);return()=>overlay.scrollStrategies.block()}}),DIALOG_DATA=new core.InjectionToken("DialogData"),DEFAULT_DIALOG_CONFIG=new core.InjectionToken("DefaultDialogConfig");fesm2022_overlay.hJ;let uniqueId=0;class Dialog{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(_overlay,_injector,_defaultOptions,_parentDialog,_overlayContainer,scrollStrategy){this._overlay=_overlay,this._injector=_injector,this._defaultOptions=_defaultOptions,this._parentDialog=_parentDialog,this._overlayContainer=_overlayContainer,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Subject.B,this._afterOpenedAtThisLevel=new Subject.B,this._ariaHiddenElements=new Map,this.afterAllClosed=defer((()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,startWith.Z)(void 0)))),this._scrollStrategy=scrollStrategy}open(componentOrTemplateRef,config){if((config={...this._defaultOptions||new DialogConfig,...config}).id=config.id||"cdk-dialog-"+uniqueId++,config.id&&this.getDialogById(config.id)&&("undefined"==typeof ngDevMode||ngDevMode))throw Error(`Dialog with id "${config.id}" exists already. The dialog id must be unique.`);const overlayConfig=this._getOverlayConfig(config),overlayRef=this._overlay.create(overlayConfig),dialogRef=new DialogRef(overlayRef,config),dialogContainer=this._attachContainer(overlayRef,dialogRef,config);return dialogRef.containerInstance=dialogContainer,this._attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(dialogRef),dialogRef.closed.subscribe((()=>this._removeOpenDialog(dialogRef,!0))),this.afterOpened.next(dialogRef),dialogRef}closeAll(){reverseForEach(this.openDialogs,(dialog=>dialog.close()))}getDialogById(id){return this.openDialogs.find((dialog=>dialog.id===id))}ngOnDestroy(){reverseForEach(this._openDialogsAtThisLevel,(dialog=>{!1===dialog.config.closeOnDestroy&&this._removeOpenDialog(dialog,!1)})),reverseForEach(this._openDialogsAtThisLevel,(dialog=>dialog.close())),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(config){const state=new fesm2022_overlay.rR({positionStrategy:config.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:config.scrollStrategy||this._scrollStrategy(),panelClass:config.panelClass,hasBackdrop:config.hasBackdrop,direction:config.direction,minWidth:config.minWidth,minHeight:config.minHeight,maxWidth:config.maxWidth,maxHeight:config.maxHeight,width:config.width,height:config.height,disposeOnNavigation:config.closeOnNavigation});return config.backdropClass&&(state.backdropClass=config.backdropClass),state}_attachContainer(overlay,dialogRef,config){const userInjector=config.injector||config.viewContainerRef?.injector,providers=[{provide:DialogConfig,useValue:config},{provide:DialogRef,useValue:dialogRef},{provide:fesm2022_overlay.yY,useValue:overlay}];let containerType;config.container?"function"==typeof config.container?containerType=config.container:(containerType=config.container.type,providers.push(...config.container.providers(config))):containerType=CdkDialogContainer;const containerPortal=new portal.A8(containerType,config.viewContainerRef,core.Injector.create({parent:userInjector||this._injector,providers}),config.componentFactoryResolver);return overlay.attach(containerPortal).instance}_attachDialogContent(componentOrTemplateRef,dialogRef,dialogContainer,config){if(componentOrTemplateRef instanceof core.TemplateRef){const injector=this._createInjector(config,dialogRef,dialogContainer,void 0);let context={$implicit:config.data,dialogRef};config.templateContext&&(context={...context,..."function"==typeof config.templateContext?config.templateContext():config.templateContext}),dialogContainer.attachTemplatePortal(new portal.VA(componentOrTemplateRef,null,context,injector))}else{const injector=this._createInjector(config,dialogRef,dialogContainer,this._injector),contentRef=dialogContainer.attachComponentPortal(new portal.A8(componentOrTemplateRef,config.viewContainerRef,injector,config.componentFactoryResolver));dialogRef.componentRef=contentRef,dialogRef.componentInstance=contentRef.instance}}_createInjector(config,dialogRef,dialogContainer,fallbackInjector){const userInjector=config.injector||config.viewContainerRef?.injector,providers=[{provide:DIALOG_DATA,useValue:config.data},{provide:DialogRef,useValue:dialogRef}];return config.providers&&("function"==typeof config.providers?providers.push(...config.providers(dialogRef,config,dialogContainer)):providers.push(...config.providers)),!config.direction||userInjector&&userInjector.get(bidi.dS,null,{optional:!0})||providers.push({provide:bidi.dS,useValue:{value:config.direction,change:(0,of.of)()}}),core.Injector.create({parent:userInjector||fallbackInjector,providers})}_removeOpenDialog(dialogRef,emitEvent){const index=this.openDialogs.indexOf(dialogRef);index>-1&&(this.openDialogs.splice(index,1),this.openDialogs.length||(this._ariaHiddenElements.forEach(((previousValue,element)=>{previousValue?element.setAttribute("aria-hidden",previousValue):element.removeAttribute("aria-hidden")})),this._ariaHiddenElements.clear(),emitEvent&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const overlayContainer=this._overlayContainer.getContainerElement();if(overlayContainer.parentElement){const siblings=overlayContainer.parentElement.children;for(let i=siblings.length-1;i>-1;i--){const sibling=siblings[i];sibling===overlayContainer||"SCRIPT"===sibling.nodeName||"STYLE"===sibling.nodeName||sibling.hasAttribute("aria-live")||(this._ariaHiddenElements.set(sibling,sibling.getAttribute("aria-hidden")),sibling.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const parent=this._parentDialog;return parent?parent._getAfterAllClosed():this._afterAllClosedAtThisLevel}static#_=this.ɵfac=function Dialog_Factory(__ngFactoryType__){return new(__ngFactoryType__||Dialog)(core["ɵɵinject"](fesm2022_overlay.hJ),core["ɵɵinject"](core.Injector),core["ɵɵinject"](DEFAULT_DIALOG_CONFIG,8),core["ɵɵinject"](Dialog,12),core["ɵɵinject"](fesm2022_overlay.Sf),core["ɵɵinject"](DIALOG_SCROLL_STRATEGY))};static#_2=this.ɵprov=core["ɵɵdefineInjectable"]({token:Dialog,factory:Dialog.ɵfac,providedIn:"root"})}function reverseForEach(items,callback){let i=items.length;for(;i--;)callback(items[i])}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](Dialog,[{type:core.Injectable,args:[{providedIn:"root"}]}],(()=>[{type:fesm2022_overlay.hJ},{type:core.Injector},{type:DialogConfig,decorators:[{type:core.Optional},{type:core.Inject,args:[DEFAULT_DIALOG_CONFIG]}]},{type:Dialog,decorators:[{type:core.Optional},{type:core.SkipSelf}]},{type:fesm2022_overlay.Sf},{type:void 0,decorators:[{type:core.Inject,args:[DIALOG_SCROLL_STRATEGY]}]}]),null);class DialogModule{static#_=this.ɵfac=function DialogModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||DialogModule)};static#_2=this.ɵmod=core["ɵɵdefineNgModule"]({type:DialogModule,imports:[fesm2022_overlay.z_,portal.jc,a11y.Pd,CdkDialogContainer],exports:[portal.jc,CdkDialogContainer]});static#_3=this.ɵinj=core["ɵɵdefineInjector"]({providers:[Dialog],imports:[fesm2022_overlay.z_,portal.jc,a11y.Pd,portal.jc]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](DialogModule,[{type:core.NgModule,args:[{imports:[fesm2022_overlay.z_,portal.jc,a11y.Pd,CdkDialogContainer],exports:[portal.jc,CdkDialogContainer],providers:[Dialog]}]}],null,null);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),merge=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/merge.js"),filter=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/filter.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),scrolling=__webpack_require__("./node_modules/@angular/cdk/fesm2022/scrolling.mjs"),fesm2022_core=__webpack_require__("./node_modules/@angular/material/fesm2022/core.mjs"),animations=__webpack_require__("./node_modules/@angular/animations/fesm2022/animations.mjs");function MatDialogContainer_ng_template_2_Template(rf,ctx){}class MatDialogConfig{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}class MatDialogContainer extends CdkDialogContainer{constructor(elementRef,focusTrapFactory,_document,dialogConfig,interactivityChecker,ngZone,overlayRef,_animationMode,focusMonitor){super(elementRef,focusTrapFactory,_document,dialogConfig,interactivityChecker,ngZone,overlayRef,focusMonitor),this._animationMode=_animationMode,this._animationStateChanged=new core.EventEmitter,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._actionSectionCount=0,this._hostElement=this._elementRef.nativeElement,this._enterAnimationDuration=this._animationsEnabled?parseCssTime(this._config.enterAnimationDuration)??150:0,this._exitAnimationDuration=this._animationsEnabled?parseCssTime(this._config.exitAnimationDuration)??75:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(TRANSITION_DURATION_PROPERTY,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame((()=>this._hostElement.classList.add("mdc-dialog--opening","mdc-dialog--open"))),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add("mdc-dialog--open"),Promise.resolve().then((()=>this._finishDialogOpen())))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove("mdc-dialog--open"),this._animationsEnabled?(this._hostElement.style.setProperty(TRANSITION_DURATION_PROPERTY,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame((()=>this._hostElement.classList.add("mdc-dialog--closing"))),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then((()=>this._finishDialogClose()))}_updateActionSectionCount(delta){this._actionSectionCount+=delta,this._changeDetectorRef.markForCheck()}_clearAnimationClasses(){this._hostElement.classList.remove("mdc-dialog--opening","mdc-dialog--closing")}_waitForAnimationToComplete(duration,callback){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(callback,duration)}_requestAnimationFrame(callback){this._ngZone.runOutsideAngular((()=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(callback):callback()}))}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(totalTime){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime})}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}attachComponentPortal(portal){const ref=super.attachComponentPortal(portal);return ref.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),ref}static#_=this.ɵfac=function MatDialogContainer_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogContainer)(core["ɵɵdirectiveInject"](core.ElementRef),core["ɵɵdirectiveInject"](a11y.GX),core["ɵɵdirectiveInject"](common.DOCUMENT,8),core["ɵɵdirectiveInject"](MatDialogConfig),core["ɵɵdirectiveInject"](a11y.Z7),core["ɵɵdirectiveInject"](core.NgZone),core["ɵɵdirectiveInject"](fesm2022_overlay.yY),core["ɵɵdirectiveInject"](core.ANIMATION_MODULE_TYPE,8),core["ɵɵdirectiveInject"](a11y.FN))};static#_2=this.ɵcmp=core["ɵɵdefineComponent"]({type:MatDialogContainer,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function MatDialogContainer_HostBindings(rf,ctx){2&rf&&(core["ɵɵhostProperty"]("id",ctx._config.id),core["ɵɵattribute"]("aria-modal",ctx._config.ariaModal)("role",ctx._config.role)("aria-labelledby",ctx._config.ariaLabel?null:ctx._ariaLabelledByQueue[0])("aria-label",ctx._config.ariaLabel)("aria-describedby",ctx._config.ariaDescribedBy||null),core["ɵɵclassProp"]("_mat-animation-noopable",!ctx._animationsEnabled)("mat-mdc-dialog-container-with-actions",ctx._actionSectionCount>0))},standalone:!0,features:[core["ɵɵInheritDefinitionFeature"],core["ɵɵStandaloneFeature"]],decls:3,vars:0,consts:[[1,"mat-mdc-dialog-inner-container","mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function MatDialogContainer_Template(rf,ctx){1&rf&&(core["ɵɵelementStart"](0,"div",0)(1,"div",1),core["ɵɵtemplate"](2,MatDialogContainer_ng_template_2_Template,0,0,"ng-template",2),core["ɵɵelementEnd"]()())},dependencies:[portal.I3],styles:['.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 80vw);min-width:var(--mat-dialog-container-min-width, 0)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, 80vw)}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12));border-radius:var(--mdc-dialog-container-shape, var(--mat-app-corner-extra-large, 4px));background-color:var(--mdc-dialog-container-color, var(--mat-app-surface, white))}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 0 24px 9px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mdc-dialog-subhead-color, var(--mat-app-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mdc-dialog-subhead-font, var(--mat-app-headline-small-font, inherit));line-height:var(--mdc-dialog-subhead-line-height, var(--mat-app-headline-small-line-height, 1.5rem));font-size:var(--mdc-dialog-subhead-size, var(--mat-app-headline-small-size, 1rem));font-weight:var(--mdc-dialog-subhead-weight, var(--mat-app-headline-small-weight, 400));letter-spacing:var(--mdc-dialog-subhead-tracking, var(--mat-app-headline-small-tracking, 0.03125em))}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mdc-dialog-supporting-text-color, var(--mat-app-on-surface-variant, rgba(0, 0, 0, 0.6)));font-family:var(--mdc-dialog-supporting-text-font, var(--mat-app-body-medium-font, inherit));line-height:var(--mdc-dialog-supporting-text-line-height, var(--mat-app-body-medium-line-height, 1.5rem));font-size:var(--mdc-dialog-supporting-text-size, var(--mat-app-body-medium-size, 1rem));font-weight:var(--mdc-dialog-supporting-text-weight, var(--mat-app-body-medium-weight, 400));letter-spacing:var(--mdc-dialog-supporting-text-tracking, var(--mat-app-body-medium-tracking, 0.03125em))}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 8px);justify-content:var(--mat-dialog-actions-alignment, start)}.cdk-high-contrast-active .mat-mdc-dialog-actions{border-top-color:CanvasText}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents}'],encapsulation:2})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogContainer,[{type:core.Component,args:[{selector:"mat-dialog-container",encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.Default,standalone:!0,imports:[portal.I3],host:{class:"mat-mdc-dialog-container mdc-dialog",tabindex:"-1","[attr.aria-modal]":"_config.ariaModal","[id]":"_config.id","[attr.role]":"_config.role","[attr.aria-labelledby]":"_config.ariaLabel ? null : _ariaLabelledByQueue[0]","[attr.aria-label]":"_config.ariaLabel","[attr.aria-describedby]":"_config.ariaDescribedBy || null","[class._mat-animation-noopable]":"!_animationsEnabled","[class.mat-mdc-dialog-container-with-actions]":"_actionSectionCount > 0"},template:'
\n
\n \n
\n
\n',styles:['.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 80vw);min-width:var(--mat-dialog-container-min-width, 0)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, 80vw)}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12));border-radius:var(--mdc-dialog-container-shape, var(--mat-app-corner-extra-large, 4px));background-color:var(--mdc-dialog-container-color, var(--mat-app-surface, white))}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 0 24px 9px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mdc-dialog-subhead-color, var(--mat-app-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mdc-dialog-subhead-font, var(--mat-app-headline-small-font, inherit));line-height:var(--mdc-dialog-subhead-line-height, var(--mat-app-headline-small-line-height, 1.5rem));font-size:var(--mdc-dialog-subhead-size, var(--mat-app-headline-small-size, 1rem));font-weight:var(--mdc-dialog-subhead-weight, var(--mat-app-headline-small-weight, 400));letter-spacing:var(--mdc-dialog-subhead-tracking, var(--mat-app-headline-small-tracking, 0.03125em))}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mdc-dialog-supporting-text-color, var(--mat-app-on-surface-variant, rgba(0, 0, 0, 0.6)));font-family:var(--mdc-dialog-supporting-text-font, var(--mat-app-body-medium-font, inherit));line-height:var(--mdc-dialog-supporting-text-line-height, var(--mat-app-body-medium-line-height, 1.5rem));font-size:var(--mdc-dialog-supporting-text-size, var(--mat-app-body-medium-size, 1rem));font-weight:var(--mdc-dialog-supporting-text-weight, var(--mat-app-body-medium-weight, 400));letter-spacing:var(--mdc-dialog-supporting-text-tracking, var(--mat-app-body-medium-tracking, 0.03125em))}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 8px);justify-content:var(--mat-dialog-actions-alignment, start)}.cdk-high-contrast-active .mat-mdc-dialog-actions{border-top-color:CanvasText}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents}']}]}],(()=>[{type:core.ElementRef},{type:a11y.GX},{type:void 0,decorators:[{type:core.Optional},{type:core.Inject,args:[common.DOCUMENT]}]},{type:MatDialogConfig},{type:a11y.Z7},{type:core.NgZone},{type:fesm2022_overlay.yY},{type:void 0,decorators:[{type:core.Optional},{type:core.Inject,args:[core.ANIMATION_MODULE_TYPE]}]},{type:a11y.FN}]),null);const TRANSITION_DURATION_PROPERTY="--mat-dialog-transition-duration";function parseCssTime(time){return null==time?null:"number"==typeof time?time:time.endsWith("ms")?(0,coercion.OE)(time.substring(0,time.length-2)):time.endsWith("s")?1e3*(0,coercion.OE)(time.substring(0,time.length-1)):"0"===time?0:null}var MatDialogState;!function(MatDialogState){MatDialogState[MatDialogState.OPEN=0]="OPEN",MatDialogState[MatDialogState.CLOSING=1]="CLOSING",MatDialogState[MatDialogState.CLOSED=2]="CLOSED"}(MatDialogState||(MatDialogState={}));class MatDialogRef{constructor(_ref,config,_containerInstance){this._ref=_ref,this._containerInstance=_containerInstance,this._afterOpened=new Subject.B,this._beforeClosed=new Subject.B,this._state=MatDialogState.OPEN,this.disableClose=config.disableClose,this.id=_ref.id,_ref.addPanelClass("mat-mdc-dialog-panel"),_containerInstance._animationStateChanged.pipe((0,filter.p)((event=>"opened"===event.state)),(0,take.s)(1)).subscribe((()=>{this._afterOpened.next(),this._afterOpened.complete()})),_containerInstance._animationStateChanged.pipe((0,filter.p)((event=>"closed"===event.state)),(0,take.s)(1)).subscribe((()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()})),_ref.overlayRef.detachments().subscribe((()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()})),(0,merge.h)(this.backdropClick(),this.keydownEvents().pipe((0,filter.p)((event=>event.keyCode===keycodes._f&&!this.disableClose&&!(0,keycodes.rp)(event))))).subscribe((event=>{this.disableClose||(event.preventDefault(),_closeDialogVia(this,"keydown"===event.type?"keyboard":"mouse"))}))}close(dialogResult){this._result=dialogResult,this._containerInstance._animationStateChanged.pipe((0,filter.p)((event=>"closing"===event.state)),(0,take.s)(1)).subscribe((event=>{this._beforeClosed.next(dialogResult),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout((()=>this._finishDialogClose()),event.totalTime+100)})),this._state=MatDialogState.CLOSING,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(position){let strategy=this._ref.config.positionStrategy;return position&&(position.left||position.right)?position.left?strategy.left(position.left):strategy.right(position.right):strategy.centerHorizontally(),position&&(position.top||position.bottom)?position.top?strategy.top(position.top):strategy.bottom(position.bottom):strategy.centerVertically(),this._ref.updatePosition(),this}updateSize(width="",height=""){return this._ref.updateSize(width,height),this}addPanelClass(classes){return this._ref.addPanelClass(classes),this}removePanelClass(classes){return this._ref.removePanelClass(classes),this}getState(){return this._state}_finishDialogClose(){this._state=MatDialogState.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function _closeDialogVia(ref,interactionType,result){return ref._closeInteractionType=interactionType,ref.close(result)}const MAT_DIALOG_DATA=new core.InjectionToken("MatMdcDialogData"),MAT_DIALOG_DEFAULT_OPTIONS=new core.InjectionToken("mat-mdc-dialog-default-options"),MAT_DIALOG_SCROLL_STRATEGY=new core.InjectionToken("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{const overlay=(0,core.inject)(fesm2022_overlay.hJ);return()=>overlay.scrollStrategies.block()}});fesm2022_overlay.hJ;let dialog_uniqueId=0;class MatDialog{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const parent=this._parentDialog;return parent?parent._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(_overlay,injector,location,_defaultOptions,_scrollStrategy,_parentDialog,_overlayContainer,_animationMode){this._overlay=_overlay,this._defaultOptions=_defaultOptions,this._scrollStrategy=_scrollStrategy,this._parentDialog=_parentDialog,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new Subject.B,this._afterOpenedAtThisLevel=new Subject.B,this.dialogConfigClass=MatDialogConfig,this.afterAllClosed=defer((()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe((0,startWith.Z)(void 0)))),this._dialog=injector.get(Dialog),this._dialogRefConstructor=MatDialogRef,this._dialogContainerType=MatDialogContainer,this._dialogDataToken=MAT_DIALOG_DATA}open(componentOrTemplateRef,config){let dialogRef;(config={...this._defaultOptions||new MatDialogConfig,...config}).id=config.id||"mat-mdc-dialog-"+dialog_uniqueId++,config.scrollStrategy=config.scrollStrategy||this._scrollStrategy();const cdkRef=this._dialog.open(componentOrTemplateRef,{...config,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:config},{provide:DialogConfig,useValue:config}]},templateContext:()=>({dialogRef}),providers:(ref,cdkConfig,dialogContainer)=>(dialogRef=new this._dialogRefConstructor(ref,config,dialogContainer),dialogRef.updatePosition(config?.position),[{provide:this._dialogContainerType,useValue:dialogContainer},{provide:this._dialogDataToken,useValue:cdkConfig.data},{provide:this._dialogRefConstructor,useValue:dialogRef}])});return dialogRef.componentRef=cdkRef.componentRef,dialogRef.componentInstance=cdkRef.componentInstance,this.openDialogs.push(dialogRef),this.afterOpened.next(dialogRef),dialogRef.afterClosed().subscribe((()=>{const index=this.openDialogs.indexOf(dialogRef);index>-1&&(this.openDialogs.splice(index,1),this.openDialogs.length||this._getAfterAllClosed().next())})),dialogRef}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(id){return this.openDialogs.find((dialog=>dialog.id===id))}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(dialogs){let i=dialogs.length;for(;i--;)dialogs[i].close()}static#_=this.ɵfac=function MatDialog_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialog)(core["ɵɵinject"](fesm2022_overlay.hJ),core["ɵɵinject"](core.Injector),core["ɵɵinject"](common.Location,8),core["ɵɵinject"](MAT_DIALOG_DEFAULT_OPTIONS,8),core["ɵɵinject"](MAT_DIALOG_SCROLL_STRATEGY),core["ɵɵinject"](MatDialog,12),core["ɵɵinject"](fesm2022_overlay.Sf),core["ɵɵinject"](core.ANIMATION_MODULE_TYPE,8))};static#_2=this.ɵprov=core["ɵɵdefineInjectable"]({token:MatDialog,factory:MatDialog.ɵfac,providedIn:"root"})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialog,[{type:core.Injectable,args:[{providedIn:"root"}]}],(()=>[{type:fesm2022_overlay.hJ},{type:core.Injector},{type:common.Location,decorators:[{type:core.Optional}]},{type:MatDialogConfig,decorators:[{type:core.Optional},{type:core.Inject,args:[MAT_DIALOG_DEFAULT_OPTIONS]}]},{type:void 0,decorators:[{type:core.Inject,args:[MAT_DIALOG_SCROLL_STRATEGY]}]},{type:MatDialog,decorators:[{type:core.Optional},{type:core.SkipSelf}]},{type:fesm2022_overlay.Sf},{type:void 0,decorators:[{type:core.Optional},{type:core.Inject,args:[core.ANIMATION_MODULE_TYPE]}]}]),null);let dialogElementUid=0;class MatDialogClose{constructor(dialogRef,_elementRef,_dialog){this.dialogRef=dialogRef,this._elementRef=_elementRef,this._dialog=_dialog,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=getClosestDialog(this._elementRef,this._dialog.openDialogs))}ngOnChanges(changes){const proxiedChange=changes._matDialogClose||changes._matDialogCloseResult;proxiedChange&&(this.dialogResult=proxiedChange.currentValue)}_onButtonClick(event){_closeDialogVia(this.dialogRef,0===event.screenX&&0===event.screenY?"keyboard":"mouse",this.dialogResult)}static#_=this.ɵfac=function MatDialogClose_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogClose)(core["ɵɵdirectiveInject"](MatDialogRef,8),core["ɵɵdirectiveInject"](core.ElementRef),core["ɵɵdirectiveInject"](MatDialog))};static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogClose,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function MatDialogClose_HostBindings(rf,ctx){1&rf&&core["ɵɵlistener"]("click",(function MatDialogClose_click_HostBindingHandler($event){return ctx._onButtonClick($event)})),2&rf&&core["ɵɵattribute"]("aria-label",ctx.ariaLabel||null)("type",ctx.type)},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],type:"type",dialogResult:[0,"mat-dialog-close","dialogResult"],_matDialogClose:[0,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],standalone:!0,features:[core["ɵɵNgOnChangesFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogClose,[{type:core.Directive,args:[{selector:"[mat-dialog-close], [matDialogClose]",exportAs:"matDialogClose",standalone:!0,host:{"(click)":"_onButtonClick($event)","[attr.aria-label]":"ariaLabel || null","[attr.type]":"type"}}]}],(()=>[{type:MatDialogRef,decorators:[{type:core.Optional}]},{type:core.ElementRef},{type:MatDialog}]),{ariaLabel:[{type:core.Input,args:["aria-label"]}],type:[{type:core.Input}],dialogResult:[{type:core.Input,args:["mat-dialog-close"]}],_matDialogClose:[{type:core.Input,args:["matDialogClose"]}]});class MatDialogLayoutSection{constructor(_dialogRef,_elementRef,_dialog){this._dialogRef=_dialogRef,this._elementRef=_elementRef,this._dialog=_dialog}ngOnInit(){this._dialogRef||(this._dialogRef=getClosestDialog(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then((()=>{this._onAdd()}))}ngOnDestroy(){const instance=this._dialogRef?._containerInstance;instance&&Promise.resolve().then((()=>{this._onRemove()}))}static#_=this.ɵfac=function MatDialogLayoutSection_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogLayoutSection)(core["ɵɵdirectiveInject"](MatDialogRef,8),core["ɵɵdirectiveInject"](core.ElementRef),core["ɵɵdirectiveInject"](MatDialog))};static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogLayoutSection,standalone:!0})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogLayoutSection,[{type:core.Directive,args:[{standalone:!0}]}],(()=>[{type:MatDialogRef,decorators:[{type:core.Optional}]},{type:core.ElementRef},{type:MatDialog}]),null);class MatDialogTitle extends MatDialogLayoutSection{constructor(){super(...arguments),this.id="mat-mdc-dialog-title-"+dialogElementUid++}_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static#_=this.ɵfac=(()=>{let ɵMatDialogTitle_BaseFactory;return function MatDialogTitle_Factory(__ngFactoryType__){return(ɵMatDialogTitle_BaseFactory||(ɵMatDialogTitle_BaseFactory=core["ɵɵgetInheritedFactory"](MatDialogTitle)))(__ngFactoryType__||MatDialogTitle)}})();static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogTitle,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function MatDialogTitle_HostBindings(rf,ctx){2&rf&&core["ɵɵhostProperty"]("id",ctx.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],standalone:!0,features:[core["ɵɵInheritDefinitionFeature"]]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogTitle,[{type:core.Directive,args:[{selector:"[mat-dialog-title], [matDialogTitle]",exportAs:"matDialogTitle",standalone:!0,host:{class:"mat-mdc-dialog-title mdc-dialog__title","[id]":"id"}}]}],null,{id:[{type:core.Input}]});class MatDialogContent{static#_=this.ɵfac=function MatDialogContent_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogContent)};static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogContent,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],standalone:!0,features:[core["ɵɵHostDirectivesFeature"]([scrolling.uv])]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogContent,[{type:core.Directive,args:[{selector:"[mat-dialog-content], mat-dialog-content, [matDialogContent]",host:{class:"mat-mdc-dialog-content mdc-dialog__content"},standalone:!0,hostDirectives:[scrolling.uv]}]}],null,null);class MatDialogActions extends MatDialogLayoutSection{_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static#_=this.ɵfac=(()=>{let ɵMatDialogActions_BaseFactory;return function MatDialogActions_Factory(__ngFactoryType__){return(ɵMatDialogActions_BaseFactory||(ɵMatDialogActions_BaseFactory=core["ɵɵgetInheritedFactory"](MatDialogActions)))(__ngFactoryType__||MatDialogActions)}})();static#_2=this.ɵdir=core["ɵɵdefineDirective"]({type:MatDialogActions,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function MatDialogActions_HostBindings(rf,ctx){2&rf&&core["ɵɵclassProp"]("mat-mdc-dialog-actions-align-start","start"===ctx.align)("mat-mdc-dialog-actions-align-center","center"===ctx.align)("mat-mdc-dialog-actions-align-end","end"===ctx.align)},inputs:{align:"align"},standalone:!0,features:[core["ɵɵInheritDefinitionFeature"]]})}function getClosestDialog(element,openDialogs){let parent=element.nativeElement.parentElement;for(;parent&&!parent.classList.contains("mat-mdc-dialog-container");)parent=parent.parentElement;return parent?openDialogs.find((dialog=>dialog.id===parent.id)):null}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogActions,[{type:core.Directive,args:[{selector:"[mat-dialog-actions], mat-dialog-actions, [matDialogActions]",standalone:!0,host:{class:"mat-mdc-dialog-actions mdc-dialog__actions","[class.mat-mdc-dialog-actions-align-start]":'align === "start"',"[class.mat-mdc-dialog-actions-align-center]":'align === "center"',"[class.mat-mdc-dialog-actions-align-end]":'align === "end"'}}]}],null,{align:[{type:core.Input}]});const DIRECTIVES=[MatDialogContainer,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent];class MatDialogModule{static#_=this.ɵfac=function MatDialogModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatDialogModule)};static#_2=this.ɵmod=core["ɵɵdefineNgModule"]({type:MatDialogModule,imports:[DialogModule,fesm2022_overlay.z_,portal.jc,fesm2022_core.yE,MatDialogContainer,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent],exports:[fesm2022_core.yE,MatDialogContainer,MatDialogClose,MatDialogTitle,MatDialogActions,MatDialogContent]});static#_3=this.ɵinj=core["ɵɵdefineInjector"]({providers:[MatDialog],imports:[DialogModule,fesm2022_overlay.z_,portal.jc,fesm2022_core.yE,fesm2022_core.yE]})}("undefined"==typeof ngDevMode||ngDevMode)&&core["ɵsetClassMetadata"](MatDialogModule,[{type:core.NgModule,args:[{imports:[DialogModule,fesm2022_overlay.z_,portal.jc,fesm2022_core.yE,...DIRECTIVES],exports:[fesm2022_core.yE,...DIRECTIVES],providers:[MatDialog]}]}],null,null);const _defaultParams={params:{enterAnimationDuration:"150ms",exitAnimationDuration:"75ms"}};(0,animations.hZ)("dialogContainer",[(0,animations.wk)("void, exit",(0,animations.iF)({opacity:0,transform:"scale(0.7)"})),(0,animations.wk)("enter",(0,animations.iF)({transform:"none"})),(0,animations.kY)("* => enter",(0,animations.Os)([(0,animations.i0)("{{enterAnimationDuration}} cubic-bezier(0, 0, 0.2, 1)",(0,animations.iF)({transform:"none",opacity:1})),(0,animations.P)("@*",(0,animations.MA)(),{optional:!0})]),_defaultParams),(0,animations.kY)("* => void, * => exit",(0,animations.Os)([(0,animations.i0)("{{exitAnimationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)",(0,animations.iF)({opacity:0})),(0,animations.P)("@*",(0,animations.MA)(),{optional:!0})]),_defaultParams)])},"./node_modules/rxjs/dist/esm5/internal/operators/debounce.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{s:()=>debounce});var _util_lift__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),_util_noop__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/noop.js"),_OperatorSubscriber__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js"),_observable_innerFrom__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js");function debounce(durationSelector){return(0,_util_lift__WEBPACK_IMPORTED_MODULE_0__.N)((function(source,subscriber){var hasValue=!1,lastValue=null,durationSubscriber=null,emit=function(){if(null==durationSubscriber||durationSubscriber.unsubscribe(),durationSubscriber=null,hasValue){hasValue=!1;var value=lastValue;lastValue=null,subscriber.next(value)}};source.subscribe((0,_OperatorSubscriber__WEBPACK_IMPORTED_MODULE_1__._)(subscriber,(function(value){null==durationSubscriber||durationSubscriber.unsubscribe(),hasValue=!0,lastValue=value,durationSubscriber=(0,_OperatorSubscriber__WEBPACK_IMPORTED_MODULE_1__._)(subscriber,emit,_util_noop__WEBPACK_IMPORTED_MODULE_2__.l),(0,_observable_innerFrom__WEBPACK_IMPORTED_MODULE_3__.Tg)(durationSelector(value)).subscribe(durationSubscriber)}),(function(){emit(),subscriber.complete()}),void 0,(function(){lastValue=durationSubscriber=null})))}))}},"./node_modules/rxjs/dist/esm5/internal/operators/delay.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{c:()=>delay});var scheduler_async=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/async.js"),concat=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/concat.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),OperatorSubscriber=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js"),noop=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/noop.js");var mapTo=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mapTo.js"),mergeMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js"),innerFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js");function delayWhen(delayDurationSelector,subscriptionDelay){return subscriptionDelay?function(source){return(0,concat.x)(subscriptionDelay.pipe((0,take.s)(1),function ignoreElements(){return(0,lift.N)((function(source,subscriber){source.subscribe((0,OperatorSubscriber._)(subscriber,noop.l))}))}()),source.pipe(delayWhen(delayDurationSelector)))}:(0,mergeMap.Z)((function(value,index){return(0,innerFrom.Tg)(delayDurationSelector(value,index)).pipe((0,take.s)(1),(0,mapTo.u)(value))}))}var timer=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js");function delay(due,scheduler){void 0===scheduler&&(scheduler=scheduler_async.E);var duration=(0,timer.O)(due,scheduler);return delayWhen((function(){return duration}))}},"./node_modules/rxjs/dist/esm5/internal/operators/throttleTime.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{c:()=>throttleTime});var scheduler_async=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/async.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),OperatorSubscriber=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js"),innerFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js");var timer=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js");function throttleTime(duration,scheduler,config){void 0===scheduler&&(scheduler=scheduler_async.E);var duration$=(0,timer.O)(duration,scheduler);return function throttle(durationSelector,config){return(0,lift.N)((function(source,subscriber){var _a=null!=config?config:{},_b=_a.leading,leading=void 0===_b||_b,_c=_a.trailing,trailing=void 0!==_c&&_c,hasValue=!1,sendValue=null,throttled=null,isComplete=!1,endThrottling=function(){null==throttled||throttled.unsubscribe(),throttled=null,trailing&&(send(),isComplete&&subscriber.complete())},cleanupThrottling=function(){throttled=null,isComplete&&subscriber.complete()},startThrottle=function(value){return throttled=(0,innerFrom.Tg)(durationSelector(value)).subscribe((0,OperatorSubscriber._)(subscriber,endThrottling,cleanupThrottling))},send=function(){if(hasValue){hasValue=!1;var value=sendValue;sendValue=null,subscriber.next(value),!isComplete&&startThrottle(value)}};source.subscribe((0,OperatorSubscriber._)(subscriber,(function(value){hasValue=!0,sendValue=value,(!throttled||throttled.closed)&&(leading?send():startThrottle(value))}),(function(){isComplete=!0,(!(trailing&&hasValue&&throttled)||throttled.closed)&&subscriber.complete()})))}))}((function(){return duration$}),config)}}}]); \ No newline at end of file diff --git a/597.26c68a28.iframe.bundle.js b/597.26c68a28.iframe.bundle.js new file mode 100644 index 0000000..88fde3c --- /dev/null +++ b/597.26c68a28.iframe.bundle.js @@ -0,0 +1,2 @@ +/*! For license information please see 597.26c68a28.iframe.bundle.js.LICENSE.txt */ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[597],{"./node_modules/@angular/core/fesm2022/rxjs-interop.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{pQ:()=>takeUntilDestroyed});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),rxjs_operators__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js");function takeUntilDestroyed(destroyRef){destroyRef||((0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.assertInInjectionContext)(takeUntilDestroyed),destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef));const destroyed$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.c((observer=>destroyRef.onDestroy(observer.next.bind(observer))));return source=>source.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.Q)(destroyed$))}},"./node_modules/@angular/material/fesm2022/tooltip.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{oV:()=>MatTooltip});var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js"),_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),_angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/keycodes.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),_angular_cdk_platform__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/platform.mjs"),_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/a11y.mjs"),_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/bidi.mjs"),_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/overlay.mjs"),_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/scrolling.mjs"),_angular_cdk_portal__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/portal.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),_angular_animations__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./node_modules/@angular/animations/fesm2022/animations.mjs"),_angular_material_core__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/@angular/material/fesm2022/core.mjs");const _c0=["tooltip"];function getMatTooltipInvalidPositionError(position){return Error(`Tooltip position "${position}" is invalid.`)}const MAT_TOOLTIP_SCROLL_STRATEGY=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{const overlay=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.hJ);return()=>overlay.scrollStrategies.reposition({scrollThrottle:20})}});const MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER={provide:MAT_TOOLTIP_SCROLL_STRATEGY,deps:[_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.hJ],useFactory:function MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay){return()=>overlay.scrollStrategies.reposition({scrollThrottle:20})}};const MAT_TOOLTIP_DEFAULT_OPTIONS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("mat-tooltip-default-options",{providedIn:"root",factory:function MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),passiveListenerOptions=(0,_angular_cdk_platform__WEBPACK_IMPORTED_MODULE_2__.BQ)({passive:!0});class MatTooltip{get position(){return this._position}set position(value){value!==this._position&&(this._position=value,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(value){this._positionAtOrigin=(0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__.he)(value),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(value){const isDisabled=(0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__.he)(value);this._disabled!==isDisabled&&(this._disabled=isDisabled,isDisabled?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message))}get showDelay(){return this._showDelay}set showDelay(value){this._showDelay=(0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__.OE)(value)}get hideDelay(){return this._hideDelay}set hideDelay(value){this._hideDelay=(0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__.OE)(value),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(value){const oldMessage=this._message;this._message=null!=value?String(value).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(oldMessage)}get tooltipClass(){return this._tooltipClass}set tooltipClass(value){this._tooltipClass=value,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}constructor(_overlay,_elementRef,_scrollDispatcher,_viewContainerRef,_ngZone,_platform,_ariaDescriber,_focusMonitor,scrollStrategy,_dir,_defaultOptions,_document){this._overlay=_overlay,this._elementRef=_elementRef,this._scrollDispatcher=_scrollDispatcher,this._viewContainerRef=_viewContainerRef,this._ngZone=_ngZone,this._platform=_platform,this._ariaDescriber=_ariaDescriber,this._focusMonitor=_focusMonitor,this._dir=_dir,this._defaultOptions=_defaultOptions,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._tooltipComponent=TooltipComponent,this._viewportMargin=8,this._cssClassPrefix="mat-mdc",this.touchGestures="auto",this._message="",this._passiveListeners=[],this._touchstartTimeout=null,this._destroyed=new rxjs__WEBPACK_IMPORTED_MODULE_4__.B,this._injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector),this._scrollStrategy=scrollStrategy,this._document=_document,_defaultOptions&&(this._showDelay=_defaultOptions.showDelay,this._hideDelay=_defaultOptions.hideDelay,_defaultOptions.position&&(this.position=_defaultOptions.position),_defaultOptions.positionAtOrigin&&(this.positionAtOrigin=_defaultOptions.positionAtOrigin),_defaultOptions.touchGestures&&(this.touchGestures=_defaultOptions.touchGestures),_defaultOptions.tooltipClass&&(this.tooltipClass=_defaultOptions.tooltipClass)),_dir.change.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})),this._viewportMargin=8}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((origin=>{origin?"keyboard"===origin&&this._ngZone.run((()=>this.show())):this._ngZone.run((()=>this.hide(0)))}))}ngOnDestroy(){const nativeElement=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach((([event,listener])=>{nativeElement.removeEventListener(event,listener,passiveListenerOptions)})),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(nativeElement,this.message,"tooltip"),this._focusMonitor.stopMonitoring(nativeElement)}show(delay=this.showDelay,origin){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const overlayRef=this._createOverlay(origin);this._detach(),this._portal=this._portal||new _angular_cdk_portal__WEBPACK_IMPORTED_MODULE_6__.A8(this._tooltipComponent,this._viewContainerRef);const instance=this._tooltipInstance=overlayRef.attach(this._portal).instance;instance._triggerElement=this._elementRef.nativeElement,instance._mouseLeaveHideDelay=this._hideDelay,instance.afterHidden().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((()=>this._detach())),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),instance.show(delay)}hide(delay=this.hideDelay){const instance=this._tooltipInstance;instance&&(instance.isVisible()?instance.hide(delay):(instance._cancelPendingAnimations(),this._detach()))}toggle(origin){this._isTooltipVisible()?this.hide():this.show(void 0,origin)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(origin){if(this._overlayRef){const existingStrategy=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!origin)&&existingStrategy._origin instanceof _angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef)return this._overlayRef;this._detach()}const scrollableAncestors=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),strategy=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin&&origin||this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(scrollableAncestors);return strategy.positionChanges.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((change=>{this._updateCurrentPositionClass(change.connectionPair),this._tooltipInstance&&change.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run((()=>this.hide(0)))})),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:strategy,panelClass:`${this._cssClassPrefix}-tooltip-panel`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((()=>this._detach())),this._overlayRef.outsidePointerEvents().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((()=>this._tooltipInstance?._handleBodyInteraction())),this._overlayRef.keydownEvents().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((event=>{this._isTooltipVisible()&&event.keyCode===_angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_7__._f&&!(0,_angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_7__.rp)(event)&&(event.preventDefault(),event.stopPropagation(),this._ngZone.run((()=>this.hide(0))))})),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(overlayRef){const position=overlayRef.getConfig().positionStrategy,origin=this._getOrigin(),overlay=this._getOverlayPosition();position.withPositions([this._addOffset({...origin.main,...overlay.main}),this._addOffset({...origin.fallback,...overlay.fallback})])}_addOffset(position){const isLtr=!this._dir||"ltr"==this._dir.value;return"top"===position.originY?position.offsetY=-8:"bottom"===position.originY?position.offsetY=8:"start"===position.originX?position.offsetX=isLtr?-8:8:"end"===position.originX&&(position.offsetX=isLtr?8:-8),position}_getOrigin(){const isLtr=!this._dir||"ltr"==this._dir.value,position=this.position;let originPosition;if("above"==position||"below"==position)originPosition={originX:"center",originY:"above"==position?"top":"bottom"};else if("before"==position||"left"==position&&isLtr||"right"==position&&!isLtr)originPosition={originX:"start",originY:"center"};else if("after"==position||"right"==position&&isLtr||"left"==position&&!isLtr)originPosition={originX:"end",originY:"center"};else if("undefined"==typeof ngDevMode||ngDevMode)throw getMatTooltipInvalidPositionError(position);const{x,y}=this._invertPosition(originPosition.originX,originPosition.originY);return{main:originPosition,fallback:{originX:x,originY:y}}}_getOverlayPosition(){const isLtr=!this._dir||"ltr"==this._dir.value,position=this.position;let overlayPosition;if("above"==position)overlayPosition={overlayX:"center",overlayY:"bottom"};else if("below"==position)overlayPosition={overlayX:"center",overlayY:"top"};else if("before"==position||"left"==position&&isLtr||"right"==position&&!isLtr)overlayPosition={overlayX:"end",overlayY:"center"};else if("after"==position||"right"==position&&isLtr||"left"==position&&!isLtr)overlayPosition={overlayX:"start",overlayY:"center"};else if("undefined"==typeof ngDevMode||ngDevMode)throw getMatTooltipInvalidPositionError(position);const{x,y}=this._invertPosition(overlayPosition.overlayX,overlayPosition.overlayY);return{main:overlayPosition,fallback:{overlayX:x,overlayY:y}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.afterNextRender)((()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}),{injector:this._injector}))}_setTooltipClass(tooltipClass){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=tooltipClass,this._tooltipInstance._markForCheck())}_invertPosition(x,y){return"above"===this.position||"below"===this.position?"top"===y?y="bottom":"bottom"===y&&(y="top"):"end"===x?x="start":"start"===x&&(x="end"),{x,y}}_updateCurrentPositionClass(connectionPair){const{overlayY,originX,originY}=connectionPair;let newPosition;if(newPosition="center"===overlayY?this._dir&&"rtl"===this._dir.value?"end"===originX?"left":"right":"start"===originX?"left":"right":"bottom"===overlayY&&"top"===originY?"above":"below",newPosition!==this._currentPosition){const overlayRef=this._overlayRef;if(overlayRef){const classPrefix=`${this._cssClassPrefix}-tooltip-panel-`;overlayRef.removePanelClass(classPrefix+this._currentPosition),overlayRef.addPanelClass(classPrefix+newPosition)}this._currentPosition=newPosition}}_setupPointerEnterEventsIfNeeded(){!this._disabled&&this.message&&this._viewInitialized&&!this._passiveListeners.length&&(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",event=>{let point;this._setupPointerExitEventsIfNeeded(),void 0!==event.x&&void 0!==event.y&&(point=event),this.show(void 0,point)}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",event=>{const touch=event.targetTouches?.[0],origin=touch?{x:touch.clientX,y:touch.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),this._touchstartTimeout&&clearTimeout(this._touchstartTimeout);this._touchstartTimeout=setTimeout((()=>{this._touchstartTimeout=null,this.show(void 0,origin)}),this._defaultOptions.touchLongPressShowDelay??500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const exitListeners=[];if(this._platformSupportsMouseEvents())exitListeners.push(["mouseleave",event=>{const newTarget=event.relatedTarget;newTarget&&this._overlayRef?.overlayElement.contains(newTarget)||this.hide()}],["wheel",event=>this._wheelListener(event)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const touchendListener=()=>{this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};exitListeners.push(["touchend",touchendListener],["touchcancel",touchendListener])}this._addListeners(exitListeners),this._passiveListeners.push(...exitListeners)}_addListeners(listeners){listeners.forEach((([event,listener])=>{this._elementRef.nativeElement.addEventListener(event,listener,passiveListenerOptions)}))}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(event){if(this._isTooltipVisible()){const elementUnderPointer=this._document.elementFromPoint(event.clientX,event.clientY),element=this._elementRef.nativeElement;elementUnderPointer===element||element.contains(elementUnderPointer)||this.hide()}}_disableNativeGesturesIfNecessary(){const gestures=this.touchGestures;if("off"!==gestures){const element=this._elementRef.nativeElement,style=element.style;("on"===gestures||"INPUT"!==element.nodeName&&"TEXTAREA"!==element.nodeName)&&(style.userSelect=style.msUserSelect=style.webkitUserSelect=style.MozUserSelect="none"),"on"!==gestures&&element.draggable||(style.webkitUserDrag="none"),style.touchAction="none",style.webkitTapHighlightColor="transparent"}}_syncAriaDescription(oldMessage){this._ariaDescriptionPending||(this._ariaDescriptionPending=!0,this._ariaDescriber.removeDescription(this._elementRef.nativeElement,oldMessage,"tooltip"),this._ngZone.runOutsideAngular((()=>{Promise.resolve().then((()=>{this._ariaDescriptionPending=!1,this.message&&!this.disabled&&this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")}))})))}static#_=this.ɵfac=function MatTooltip_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatTooltip)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.hJ),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.R),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewContainerRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_platform__WEBPACK_IMPORTED_MODULE_2__.OD),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.vr),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.FN),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_TOOLTIP_SCROLL_STRATEGY),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_10__.dS),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_TOOLTIP_DEFAULT_OPTIONS,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_11__.DOCUMENT))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MatTooltip,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function MatTooltip_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("mat-mdc-tooltip-disabled",ctx.disabled)},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"],standalone:!0})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatTooltip,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[matTooltip]",exportAs:"matTooltip",host:{class:"mat-mdc-tooltip-trigger","[class.mat-mdc-tooltip-disabled]":"disabled"},standalone:!0}]}],(()=>[{type:_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.hJ},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.R},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewContainerRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone},{type:_angular_cdk_platform__WEBPACK_IMPORTED_MODULE_2__.OD},{type:_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.vr},{type:_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.FN},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_TOOLTIP_SCROLL_STRATEGY]}]},{type:_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_10__.dS},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_TOOLTIP_DEFAULT_OPTIONS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[_angular_common__WEBPACK_IMPORTED_MODULE_11__.DOCUMENT]}]}]),{position:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipPosition"]}],positionAtOrigin:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipPositionAtOrigin"]}],disabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipDisabled"]}],showDelay:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipShowDelay"]}],hideDelay:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipHideDelay"]}],touchGestures:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipTouchGestures"]}],message:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltip"]}],tooltipClass:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipClass"]}]});class TooltipComponent{constructor(_changeDetectorRef,_elementRef,animationMode){this._changeDetectorRef=_changeDetectorRef,this._elementRef=_elementRef,this._isMultiline=!1,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new rxjs__WEBPACK_IMPORTED_MODULE_4__.B,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide",this._animationsDisabled="NoopAnimations"===animationMode}show(delay){null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout((()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0}),delay)}hide(delay){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout((()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0}),delay)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget}){relatedTarget&&this._triggerElement.contains(relatedTarget)||(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){const rect=this._elementRef.nativeElement.getBoundingClientRect();return rect.height>24&&rect.width>=200}_handleAnimationEnd({animationName}){animationName!==this._showAnimation&&animationName!==this._hideAnimation||this._finalizeAnimation(animationName===this._showAnimation)}_cancelPendingAnimations(){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(toVisible){toVisible?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(isVisible){const tooltip=this._tooltip.nativeElement,showClass=this._showAnimation,hideClass=this._hideAnimation;if(tooltip.classList.remove(isVisible?hideClass:showClass),tooltip.classList.add(isVisible?showClass:hideClass),this._isVisible!==isVisible&&(this._isVisible=isVisible,this._changeDetectorRef.markForCheck()),isVisible&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const styles=getComputedStyle(tooltip);"0s"!==styles.getPropertyValue("animation-duration")&&"none"!==styles.getPropertyValue("animation-name")||(this._animationsDisabled=!0)}isVisible&&this._onShow(),this._animationsDisabled&&(tooltip.classList.add("_mat-animation-noopable"),this._finalizeAnimation(isVisible))}static#_=this.ɵfac=function TooltipComponent_Factory(__ngFactoryType__){return new(__ngFactoryType__||TooltipComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ANIMATION_MODULE_TYPE,8))};static#_2=this.ɵcmp=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({type:TooltipComponent,selectors:[["mat-tooltip-component"]],viewQuery:function TooltipComponent_Query(rf,ctx){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵviewQuery"](_c0,7),2&rf){let _t;_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵqueryRefresh"](_t=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵloadQuery"]())&&(ctx._tooltip=_t.first)}},hostAttrs:["aria-hidden","true"],hostBindings:function TooltipComponent_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("mouseleave",(function TooltipComponent_mouseleave_HostBindingHandler($event){return ctx._handleMouseLeave($event)}))},standalone:!0,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵStandaloneFeature"]],decls:4,vars:4,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend","ngClass"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function TooltipComponent_Template(rf,ctx){if(1&rf){const _r1=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"]();_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0,"div",1,0),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("animationend",(function TooltipComponent_Template_div_animationend_0_listener($event){return _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r1),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵresetView"](ctx._handleAnimationEnd($event))})),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2,"div",2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]()()}2&rf&&(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("mdc-tooltip--multiline",ctx._isMultiline),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngClass",ctx.tooltipClass),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtextInterpolate"](ctx.message))},dependencies:[_angular_common__WEBPACK_IMPORTED_MODULE_11__.NgClass],styles:['.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color, var(--mat-app-inverse-surface));color:var(--mdc-plain-tooltip-supporting-text-color, var(--mat-app-inverse-on-surface));border-radius:var(--mdc-plain-tooltip-container-shape, var(--mat-app-corner-extra-small));font-family:var(--mdc-plain-tooltip-supporting-text-font, var(--mat-app-body-small-font));font-size:var(--mdc-plain-tooltip-supporting-text-size, var(--mat-app-body-small-size));font-weight:var(--mdc-plain-tooltip-supporting-text-weight, var(--mat-app-body-small-weight));line-height:var(--mdc-plain-tooltip-supporting-text-line-height, var(--mat-app-body-small-line-height));letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, var(--mat-app-body-small-tracking))}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](TooltipComponent,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Component,args:[{selector:"mat-tooltip-component",encapsulation:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewEncapsulation.None,changeDetection:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectionStrategy.OnPush,host:{"(mouseleave)":"_handleMouseLeave($event)","aria-hidden":"true"},standalone:!0,imports:[_angular_common__WEBPACK_IMPORTED_MODULE_11__.NgClass],template:'\n
{{message}}
\n\n',styles:['.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color, var(--mat-app-inverse-surface));color:var(--mdc-plain-tooltip-supporting-text-color, var(--mat-app-inverse-on-surface));border-radius:var(--mdc-plain-tooltip-container-shape, var(--mat-app-corner-extra-small));font-family:var(--mdc-plain-tooltip-supporting-text-font, var(--mat-app-body-small-font));font-size:var(--mdc-plain-tooltip-supporting-text-size, var(--mat-app-body-small-size));font-weight:var(--mdc-plain-tooltip-supporting-text-weight, var(--mat-app-body-small-weight));line-height:var(--mdc-plain-tooltip-supporting-text-line-height, var(--mat-app-body-small-line-height));letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, var(--mat-app-body-small-tracking))}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}']}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[_angular_core__WEBPACK_IMPORTED_MODULE_0__.ANIMATION_MODULE_TYPE]}]}]),{_tooltip:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewChild,args:["tooltip",{static:!0}]}]});(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.hZ)("state",[(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.wk)("initial, void, hidden",(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.iF)({opacity:0,transform:"scale(0.8)"})),(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.wk)("visible",(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.iF)({transform:"scale(1)"})),(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.kY)("* => visible",(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.i0)("150ms cubic-bezier(0, 0, 0.2, 1)")),(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.kY)("* => hidden",(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.i0)("75ms cubic-bezier(0.4, 0, 1, 1)"))]);class MatTooltipModule{static#_=this.ɵfac=function MatTooltipModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatTooltipModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:MatTooltipModule,imports:[_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.Pd,_angular_common__WEBPACK_IMPORTED_MODULE_11__.CommonModule,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.z_,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,MatTooltip,TooltipComponent],exports:[MatTooltip,TooltipComponent,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.Gj]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({providers:[MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER],imports:[_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.Pd,_angular_common__WEBPACK_IMPORTED_MODULE_11__.CommonModule,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.z_,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.Gj]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatTooltipModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{imports:[_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.Pd,_angular_common__WEBPACK_IMPORTED_MODULE_11__.CommonModule,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.z_,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,MatTooltip,TooltipComponent],exports:[MatTooltip,TooltipComponent,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.Gj],providers:[MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]}]}],null,null)}}]); \ No newline at end of file diff --git a/597.5ef023c7.iframe.bundle.js.LICENSE.txt b/597.26c68a28.iframe.bundle.js.LICENSE.txt similarity index 100% rename from 597.5ef023c7.iframe.bundle.js.LICENSE.txt rename to 597.26c68a28.iframe.bundle.js.LICENSE.txt diff --git a/597.5ef023c7.iframe.bundle.js b/597.5ef023c7.iframe.bundle.js deleted file mode 100644 index 6a6df27..0000000 --- a/597.5ef023c7.iframe.bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 597.5ef023c7.iframe.bundle.js.LICENSE.txt */ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[597],{"./node_modules/@angular/core/fesm2022/rxjs-interop.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{pQ:()=>takeUntilDestroyed});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),rxjs_operators__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js");function takeUntilDestroyed(destroyRef){destroyRef||((0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.assertInInjectionContext)(takeUntilDestroyed),destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef));const destroyed$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.c((observer=>destroyRef.onDestroy(observer.next.bind(observer))));return source=>source.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.Q)(destroyed$))}},"./node_modules/@angular/material/fesm2022/tooltip.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{oV:()=>MatTooltip,uc:()=>MatTooltipModule});var rxjs_operators__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js"),_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),_angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/keycodes.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),_angular_cdk_platform__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/platform.mjs"),_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/a11y.mjs"),_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/bidi.mjs"),_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/overlay.mjs"),_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/scrolling.mjs"),_angular_cdk_portal__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@angular/cdk/fesm2022/portal.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),_angular_animations__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__("./node_modules/@angular/animations/fesm2022/animations.mjs"),_angular_material_core__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__("./node_modules/@angular/material/fesm2022/core.mjs");const _c0=["tooltip"];function getMatTooltipInvalidPositionError(position){return Error(`Tooltip position "${position}" is invalid.`)}const MAT_TOOLTIP_SCROLL_STRATEGY=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{const overlay=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.hJ);return()=>overlay.scrollStrategies.reposition({scrollThrottle:20})}});const MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER={provide:MAT_TOOLTIP_SCROLL_STRATEGY,deps:[_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.hJ],useFactory:function MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay){return()=>overlay.scrollStrategies.reposition({scrollThrottle:20})}};const MAT_TOOLTIP_DEFAULT_OPTIONS=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("mat-tooltip-default-options",{providedIn:"root",factory:function MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),passiveListenerOptions=(0,_angular_cdk_platform__WEBPACK_IMPORTED_MODULE_2__.BQ)({passive:!0});class MatTooltip{get position(){return this._position}set position(value){value!==this._position&&(this._position=value,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(value){this._positionAtOrigin=(0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__.he)(value),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(value){const isDisabled=(0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__.he)(value);this._disabled!==isDisabled&&(this._disabled=isDisabled,isDisabled?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message))}get showDelay(){return this._showDelay}set showDelay(value){this._showDelay=(0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__.OE)(value)}get hideDelay(){return this._hideDelay}set hideDelay(value){this._hideDelay=(0,_angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_3__.OE)(value),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(value){const oldMessage=this._message;this._message=null!=value?String(value).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(oldMessage)}get tooltipClass(){return this._tooltipClass}set tooltipClass(value){this._tooltipClass=value,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}constructor(_overlay,_elementRef,_scrollDispatcher,_viewContainerRef,_ngZone,_platform,_ariaDescriber,_focusMonitor,scrollStrategy,_dir,_defaultOptions,_document){this._overlay=_overlay,this._elementRef=_elementRef,this._scrollDispatcher=_scrollDispatcher,this._viewContainerRef=_viewContainerRef,this._ngZone=_ngZone,this._platform=_platform,this._ariaDescriber=_ariaDescriber,this._focusMonitor=_focusMonitor,this._dir=_dir,this._defaultOptions=_defaultOptions,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._tooltipComponent=TooltipComponent,this._viewportMargin=8,this._cssClassPrefix="mat-mdc",this.touchGestures="auto",this._message="",this._passiveListeners=[],this._touchstartTimeout=null,this._destroyed=new rxjs__WEBPACK_IMPORTED_MODULE_4__.B,this._injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector),this._scrollStrategy=scrollStrategy,this._document=_document,_defaultOptions&&(this._showDelay=_defaultOptions.showDelay,this._hideDelay=_defaultOptions.hideDelay,_defaultOptions.position&&(this.position=_defaultOptions.position),_defaultOptions.positionAtOrigin&&(this.positionAtOrigin=_defaultOptions.positionAtOrigin),_defaultOptions.touchGestures&&(this.touchGestures=_defaultOptions.touchGestures),_defaultOptions.tooltipClass&&(this.tooltipClass=_defaultOptions.tooltipClass)),_dir.change.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})),this._viewportMargin=8}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((origin=>{origin?"keyboard"===origin&&this._ngZone.run((()=>this.show())):this._ngZone.run((()=>this.hide(0)))}))}ngOnDestroy(){const nativeElement=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach((([event,listener])=>{nativeElement.removeEventListener(event,listener,passiveListenerOptions)})),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(nativeElement,this.message,"tooltip"),this._focusMonitor.stopMonitoring(nativeElement)}show(delay=this.showDelay,origin){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const overlayRef=this._createOverlay(origin);this._detach(),this._portal=this._portal||new _angular_cdk_portal__WEBPACK_IMPORTED_MODULE_6__.A8(this._tooltipComponent,this._viewContainerRef);const instance=this._tooltipInstance=overlayRef.attach(this._portal).instance;instance._triggerElement=this._elementRef.nativeElement,instance._mouseLeaveHideDelay=this._hideDelay,instance.afterHidden().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((()=>this._detach())),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),instance.show(delay)}hide(delay=this.hideDelay){const instance=this._tooltipInstance;instance&&(instance.isVisible()?instance.hide(delay):(instance._cancelPendingAnimations(),this._detach()))}toggle(origin){this._isTooltipVisible()?this.hide():this.show(void 0,origin)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(origin){if(this._overlayRef){const existingStrategy=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!origin)&&existingStrategy._origin instanceof _angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef)return this._overlayRef;this._detach()}const scrollableAncestors=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),strategy=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin&&origin||this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(scrollableAncestors);return strategy.positionChanges.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((change=>{this._updateCurrentPositionClass(change.connectionPair),this._tooltipInstance&&change.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run((()=>this.hide(0)))})),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:strategy,panelClass:`${this._cssClassPrefix}-tooltip-panel`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((()=>this._detach())),this._overlayRef.outsidePointerEvents().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((()=>this._tooltipInstance?._handleBodyInteraction())),this._overlayRef.keydownEvents().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.Q)(this._destroyed)).subscribe((event=>{this._isTooltipVisible()&&event.keyCode===_angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_7__._f&&!(0,_angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_7__.rp)(event)&&(event.preventDefault(),event.stopPropagation(),this._ngZone.run((()=>this.hide(0))))})),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(overlayRef){const position=overlayRef.getConfig().positionStrategy,origin=this._getOrigin(),overlay=this._getOverlayPosition();position.withPositions([this._addOffset({...origin.main,...overlay.main}),this._addOffset({...origin.fallback,...overlay.fallback})])}_addOffset(position){const isLtr=!this._dir||"ltr"==this._dir.value;return"top"===position.originY?position.offsetY=-8:"bottom"===position.originY?position.offsetY=8:"start"===position.originX?position.offsetX=isLtr?-8:8:"end"===position.originX&&(position.offsetX=isLtr?8:-8),position}_getOrigin(){const isLtr=!this._dir||"ltr"==this._dir.value,position=this.position;let originPosition;if("above"==position||"below"==position)originPosition={originX:"center",originY:"above"==position?"top":"bottom"};else if("before"==position||"left"==position&&isLtr||"right"==position&&!isLtr)originPosition={originX:"start",originY:"center"};else if("after"==position||"right"==position&&isLtr||"left"==position&&!isLtr)originPosition={originX:"end",originY:"center"};else if("undefined"==typeof ngDevMode||ngDevMode)throw getMatTooltipInvalidPositionError(position);const{x,y}=this._invertPosition(originPosition.originX,originPosition.originY);return{main:originPosition,fallback:{originX:x,originY:y}}}_getOverlayPosition(){const isLtr=!this._dir||"ltr"==this._dir.value,position=this.position;let overlayPosition;if("above"==position)overlayPosition={overlayX:"center",overlayY:"bottom"};else if("below"==position)overlayPosition={overlayX:"center",overlayY:"top"};else if("before"==position||"left"==position&&isLtr||"right"==position&&!isLtr)overlayPosition={overlayX:"end",overlayY:"center"};else if("after"==position||"right"==position&&isLtr||"left"==position&&!isLtr)overlayPosition={overlayX:"start",overlayY:"center"};else if("undefined"==typeof ngDevMode||ngDevMode)throw getMatTooltipInvalidPositionError(position);const{x,y}=this._invertPosition(overlayPosition.overlayX,overlayPosition.overlayY);return{main:overlayPosition,fallback:{overlayX:x,overlayY:y}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.afterNextRender)((()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}),{injector:this._injector}))}_setTooltipClass(tooltipClass){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=tooltipClass,this._tooltipInstance._markForCheck())}_invertPosition(x,y){return"above"===this.position||"below"===this.position?"top"===y?y="bottom":"bottom"===y&&(y="top"):"end"===x?x="start":"start"===x&&(x="end"),{x,y}}_updateCurrentPositionClass(connectionPair){const{overlayY,originX,originY}=connectionPair;let newPosition;if(newPosition="center"===overlayY?this._dir&&"rtl"===this._dir.value?"end"===originX?"left":"right":"start"===originX?"left":"right":"bottom"===overlayY&&"top"===originY?"above":"below",newPosition!==this._currentPosition){const overlayRef=this._overlayRef;if(overlayRef){const classPrefix=`${this._cssClassPrefix}-tooltip-panel-`;overlayRef.removePanelClass(classPrefix+this._currentPosition),overlayRef.addPanelClass(classPrefix+newPosition)}this._currentPosition=newPosition}}_setupPointerEnterEventsIfNeeded(){!this._disabled&&this.message&&this._viewInitialized&&!this._passiveListeners.length&&(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",event=>{let point;this._setupPointerExitEventsIfNeeded(),void 0!==event.x&&void 0!==event.y&&(point=event),this.show(void 0,point)}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",event=>{const touch=event.targetTouches?.[0],origin=touch?{x:touch.clientX,y:touch.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),this._touchstartTimeout&&clearTimeout(this._touchstartTimeout);this._touchstartTimeout=setTimeout((()=>{this._touchstartTimeout=null,this.show(void 0,origin)}),this._defaultOptions.touchLongPressShowDelay??500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const exitListeners=[];if(this._platformSupportsMouseEvents())exitListeners.push(["mouseleave",event=>{const newTarget=event.relatedTarget;newTarget&&this._overlayRef?.overlayElement.contains(newTarget)||this.hide()}],["wheel",event=>this._wheelListener(event)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const touchendListener=()=>{this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};exitListeners.push(["touchend",touchendListener],["touchcancel",touchendListener])}this._addListeners(exitListeners),this._passiveListeners.push(...exitListeners)}_addListeners(listeners){listeners.forEach((([event,listener])=>{this._elementRef.nativeElement.addEventListener(event,listener,passiveListenerOptions)}))}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(event){if(this._isTooltipVisible()){const elementUnderPointer=this._document.elementFromPoint(event.clientX,event.clientY),element=this._elementRef.nativeElement;elementUnderPointer===element||element.contains(elementUnderPointer)||this.hide()}}_disableNativeGesturesIfNecessary(){const gestures=this.touchGestures;if("off"!==gestures){const element=this._elementRef.nativeElement,style=element.style;("on"===gestures||"INPUT"!==element.nodeName&&"TEXTAREA"!==element.nodeName)&&(style.userSelect=style.msUserSelect=style.webkitUserSelect=style.MozUserSelect="none"),"on"!==gestures&&element.draggable||(style.webkitUserDrag="none"),style.touchAction="none",style.webkitTapHighlightColor="transparent"}}_syncAriaDescription(oldMessage){this._ariaDescriptionPending||(this._ariaDescriptionPending=!0,this._ariaDescriber.removeDescription(this._elementRef.nativeElement,oldMessage,"tooltip"),this._ngZone.runOutsideAngular((()=>{Promise.resolve().then((()=>{this._ariaDescriptionPending=!1,this.message&&!this.disabled&&this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")}))})))}static#_=this.ɵfac=function MatTooltip_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatTooltip)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.hJ),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.R),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewContainerRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_platform__WEBPACK_IMPORTED_MODULE_2__.OD),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.vr),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.FN),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_TOOLTIP_SCROLL_STRATEGY),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_10__.dS),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](MAT_TOOLTIP_DEFAULT_OPTIONS,8),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_11__.DOCUMENT))};static#_2=this.ɵdir=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineDirective"]({type:MatTooltip,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function MatTooltip_HostBindings(rf,ctx){2&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("mat-mdc-tooltip-disabled",ctx.disabled)},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"],standalone:!0})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatTooltip,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Directive,args:[{selector:"[matTooltip]",exportAs:"matTooltip",host:{class:"mat-mdc-tooltip-trigger","[class.mat-mdc-tooltip-disabled]":"disabled"},standalone:!0}]}],(()=>[{type:_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.hJ},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.R},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewContainerRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone},{type:_angular_cdk_platform__WEBPACK_IMPORTED_MODULE_2__.OD},{type:_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.vr},{type:_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.FN},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_TOOLTIP_SCROLL_STRATEGY]}]},{type:_angular_cdk_bidi__WEBPACK_IMPORTED_MODULE_10__.dS},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[MAT_TOOLTIP_DEFAULT_OPTIONS]}]},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[_angular_common__WEBPACK_IMPORTED_MODULE_11__.DOCUMENT]}]}]),{position:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipPosition"]}],positionAtOrigin:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipPositionAtOrigin"]}],disabled:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipDisabled"]}],showDelay:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipShowDelay"]}],hideDelay:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipHideDelay"]}],touchGestures:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipTouchGestures"]}],message:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltip"]}],tooltipClass:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input,args:["matTooltipClass"]}]});class TooltipComponent{constructor(_changeDetectorRef,_elementRef,animationMode){this._changeDetectorRef=_changeDetectorRef,this._elementRef=_elementRef,this._isMultiline=!1,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new rxjs__WEBPACK_IMPORTED_MODULE_4__.B,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide",this._animationsDisabled="NoopAnimations"===animationMode}show(delay){null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout((()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0}),delay)}hide(delay){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout((()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0}),delay)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget}){relatedTarget&&this._triggerElement.contains(relatedTarget)||(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){const rect=this._elementRef.nativeElement.getBoundingClientRect();return rect.height>24&&rect.width>=200}_handleAnimationEnd({animationName}){animationName!==this._showAnimation&&animationName!==this._hideAnimation||this._finalizeAnimation(animationName===this._showAnimation)}_cancelPendingAnimations(){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(toVisible){toVisible?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(isVisible){const tooltip=this._tooltip.nativeElement,showClass=this._showAnimation,hideClass=this._hideAnimation;if(tooltip.classList.remove(isVisible?hideClass:showClass),tooltip.classList.add(isVisible?showClass:hideClass),this._isVisible!==isVisible&&(this._isVisible=isVisible,this._changeDetectorRef.markForCheck()),isVisible&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const styles=getComputedStyle(tooltip);"0s"!==styles.getPropertyValue("animation-duration")&&"none"!==styles.getPropertyValue("animation-name")||(this._animationsDisabled=!0)}isVisible&&this._onShow(),this._animationsDisabled&&(tooltip.classList.add("_mat-animation-noopable"),this._finalizeAnimation(isVisible))}static#_=this.ɵfac=function TooltipComponent_Factory(__ngFactoryType__){return new(__ngFactoryType__||TooltipComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_0__.ANIMATION_MODULE_TYPE,8))};static#_2=this.ɵcmp=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({type:TooltipComponent,selectors:[["mat-tooltip-component"]],viewQuery:function TooltipComponent_Query(rf,ctx){if(1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵviewQuery"](_c0,7),2&rf){let _t;_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵqueryRefresh"](_t=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵloadQuery"]())&&(ctx._tooltip=_t.first)}},hostAttrs:["aria-hidden","true"],hostBindings:function TooltipComponent_HostBindings(rf,ctx){1&rf&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("mouseleave",(function TooltipComponent_mouseleave_HostBindingHandler($event){return ctx._handleMouseLeave($event)}))},standalone:!0,features:[_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵStandaloneFeature"]],decls:4,vars:4,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend","ngClass"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function TooltipComponent_Template(rf,ctx){if(1&rf){const _r1=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"]();_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0,"div",1,0),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("animationend",(function TooltipComponent_Template_div_animationend_0_listener($event){return _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r1),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵresetView"](ctx._handleAnimationEnd($event))})),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2,"div",2),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]()()}2&rf&&(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵclassProp"]("mdc-tooltip--multiline",ctx._isMultiline),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngClass",ctx.tooltipClass),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3),_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtextInterpolate"](ctx.message))},dependencies:[_angular_common__WEBPACK_IMPORTED_MODULE_11__.NgClass],styles:['.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color, var(--mat-app-inverse-surface));color:var(--mdc-plain-tooltip-supporting-text-color, var(--mat-app-inverse-on-surface));border-radius:var(--mdc-plain-tooltip-container-shape, var(--mat-app-corner-extra-small));font-family:var(--mdc-plain-tooltip-supporting-text-font, var(--mat-app-body-small-font));font-size:var(--mdc-plain-tooltip-supporting-text-size, var(--mat-app-body-small-size));font-weight:var(--mdc-plain-tooltip-supporting-text-weight, var(--mat-app-body-small-weight));line-height:var(--mdc-plain-tooltip-supporting-text-line-height, var(--mat-app-body-small-line-height));letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, var(--mat-app-body-small-tracking))}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](TooltipComponent,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Component,args:[{selector:"mat-tooltip-component",encapsulation:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewEncapsulation.None,changeDetection:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectionStrategy.OnPush,host:{"(mouseleave)":"_handleMouseLeave($event)","aria-hidden":"true"},standalone:!0,imports:[_angular_common__WEBPACK_IMPORTED_MODULE_11__.NgClass],template:'\n
{{message}}
\n\n',styles:['.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color, var(--mat-app-inverse-surface));color:var(--mdc-plain-tooltip-supporting-text-color, var(--mat-app-inverse-on-surface));border-radius:var(--mdc-plain-tooltip-container-shape, var(--mat-app-corner-extra-small));font-family:var(--mdc-plain-tooltip-supporting-text-font, var(--mat-app-body-small-font));font-size:var(--mdc-plain-tooltip-supporting-text-size, var(--mat-app-body-small-size));font-weight:var(--mdc-plain-tooltip-supporting-text-weight, var(--mat-app-body-small-weight));line-height:var(--mdc-plain-tooltip-supporting-text-line-height, var(--mat-app-body-small-line-height));letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, var(--mat-app-body-small-tracking))}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}']}]}],(()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectorRef},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef},{type:void 0,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[_angular_core__WEBPACK_IMPORTED_MODULE_0__.ANIMATION_MODULE_TYPE]}]}]),{_tooltip:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ViewChild,args:["tooltip",{static:!0}]}]});(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.hZ)("state",[(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.wk)("initial, void, hidden",(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.iF)({opacity:0,transform:"scale(0.8)"})),(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.wk)("visible",(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.iF)({transform:"scale(1)"})),(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.kY)("* => visible",(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.i0)("150ms cubic-bezier(0, 0, 0.2, 1)")),(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.kY)("* => hidden",(0,_angular_animations__WEBPACK_IMPORTED_MODULE_12__.i0)("75ms cubic-bezier(0.4, 0, 1, 1)"))]);class MatTooltipModule{static#_=this.ɵfac=function MatTooltipModule_Factory(__ngFactoryType__){return new(__ngFactoryType__||MatTooltipModule)};static#_2=this.ɵmod=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineNgModule"]({type:MatTooltipModule,imports:[_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.Pd,_angular_common__WEBPACK_IMPORTED_MODULE_11__.CommonModule,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.z_,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,MatTooltip,TooltipComponent],exports:[MatTooltip,TooltipComponent,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.Gj]});static#_3=this.ɵinj=_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjector"]({providers:[MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER],imports:[_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.Pd,_angular_common__WEBPACK_IMPORTED_MODULE_11__.CommonModule,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.z_,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.Gj]})}("undefined"==typeof ngDevMode||ngDevMode)&&_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵsetClassMetadata"](MatTooltipModule,[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgModule,args:[{imports:[_angular_cdk_a11y__WEBPACK_IMPORTED_MODULE_9__.Pd,_angular_common__WEBPACK_IMPORTED_MODULE_11__.CommonModule,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_1__.z_,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,MatTooltip,TooltipComponent],exports:[MatTooltip,TooltipComponent,_angular_material_core__WEBPACK_IMPORTED_MODULE_13__.yE,_angular_cdk_overlay__WEBPACK_IMPORTED_MODULE_8__.Gj],providers:[MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]}]}],null,null)}}]); \ No newline at end of file diff --git a/73.0a67b36d.iframe.bundle.js b/73.de95fa6a.iframe.bundle.js similarity index 57% rename from 73.0a67b36d.iframe.bundle.js rename to 73.de95fa6a.iframe.bundle.js index d974e69..f883390 100644 --- a/73.0a67b36d.iframe.bundle.js +++ b/73.de95fa6a.iframe.bundle.js @@ -1 +1 @@ -(self.webpackChunk=self.webpackChunk||[]).push([[73],{"./projects/snackbar/src/snackbar.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Q:()=>NgxSnackbarComponent});var NgxSnackbarComponent_1,tslib__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_snackbar_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./projects/snackbar/src/snackbar.component.scss?ngResource"),_snackbar_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(_snackbar_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_9__),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/delay.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/debounce.js"),rxjs__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js"),rxjs__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js");let NgxSnackbarComponent=class NgxSnackbarComponent{static#_=NgxSnackbarComponent_1=this;static INSTANCES=[];onAnimationDone=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter;delay=0;duration=0;outerContainerElement;elementRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef);host;marginTop=6;timestamp=+new Date;enterAnimationDuration=350;adaptAnimationDuration=225;leaveAnimationDuration=175;anchor;_alignments={};animate$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.B;animate$sub;set alignment(value){this._alignments={bottom:!1,left:!1,right:!1,top:!1},value&&value.split(/\s+/g).forEach((align=>this._alignments[align]=!0)),this._alignments.bottom=(!this._alignments.top||!this._alignments.bottom)&&this._alignments.bottom,this._alignments.left=(!this._alignments.right||!this._alignments.left)&&this._alignments.left}destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef);constructor(){this.host=this.elementRef.nativeElement,NgxSnackbarComponent_1.INSTANCES||(NgxSnackbarComponent_1.INSTANCES=[]),NgxSnackbarComponent_1.INSTANCES.push(this);const applyParams=styles=>{Object.keys(styles).forEach((key=>{this.host.style[key]=styles[key]}))};this.animate$sub=this.animate$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.M)((animation=>applyParams(animation.before))),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.c)(1),(0,rxjs__WEBPACK_IMPORTED_MODULE_2__.M)((animation=>{this.host.style.transitionDuration=`${animation.duration}ms`,this.host.style.transitionTimingFunction=animation.easing,this.host.style.transitionProperty=Object.keys(animation.before).join(",")})),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.s)((animation=>(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(animation.delay||1))),(0,rxjs__WEBPACK_IMPORTED_MODULE_2__.M)((animation=>applyParams(animation.after))),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.s)((animation=>(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(animation.duration))),(0,_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_6__.pQ)(this.destroyRef)).subscribe((()=>{this.host.style.transitionDuration="",this.host.style.transitionTimingFunction="",this.host.style.transitionProperty=""}))}onResize(){this.setNewWidth()}ngOnInit(){const anchors=[];Object.keys(this._alignments).forEach((key=>{this._alignments[key]&&anchors.push(key)})),anchors.sort(((x,y)=>x>y?1:-1));const anchor=anchors.reduce(((acc,curr)=>acc+=""===acc?curr:`-${curr}`),"");this.anchor=anchor}ngAfterViewInit(){this.outerContainerElement?this.host.classList.add("absolute"):this.outerContainerElement=this.host.ownerDocument.body,this.setPosition(),this.launchEnterAnimation(),(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(this.duration+this.delay).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_7__.s)(1),(0,rxjs__WEBPACK_IMPORTED_MODULE_2__.M)((()=>{this.duration&&this.launchLeaveAnimation()})),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.c)(this.leaveAnimationDuration),(0,_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_6__.pQ)(this.destroyRef)).subscribe((()=>this.onAnimationDone.emit()))}ngOnDestroy(){NgxSnackbarComponent_1.INSTANCES.length&&NgxSnackbarComponent_1.INSTANCES.filter((instance=>this.outerContainerElement===instance.outerContainerElement)).filter((instance=>this.anchor===instance.anchor)).forEach((instance=>{if(instance.timestamp>this.timestamp){const height=this.host.getBoundingClientRect().height;instance.launchAdaptAnimation(height)}})),NgxSnackbarComponent_1.INSTANCES=NgxSnackbarComponent_1.INSTANCES.filter((instance=>this!==instance)),this.animate$sub.unsubscribe()}animationDone(event){this.onAnimationDone.emit(event)}increaseElevation(){const zIndex=window.getComputedStyle(this.host).zIndex;this.host.style.zIndex=(+zIndex+1).toString()}decreaseElevation(){const zIndex=window.getComputedStyle(this.host).zIndex;this.host.style.zIndex=(+zIndex-1).toString()}computePosition(){const innerContainerElementBounds=this.host.getBoundingClientRect(),innerContainerWidth=innerContainerElementBounds.width,innerContainerHeight=innerContainerElementBounds.height,instancesInSameZone=NgxSnackbarComponent_1.INSTANCES.filter((instance=>this.outerContainerElement===instance.outerContainerElement)).filter((instance=>this.anchor===instance.anchor)).filter((instance=>this!==instance));let precedentInstanceHeight=0;if(instancesInSameZone){const precedentInstance=instancesInSameZone[instancesInSameZone.length-1];if(precedentInstance){precedentInstanceHeight=precedentInstance.elementRef.nativeElement.getBoundingClientRect().height}}return{innerContainerWidth,innerContainerHeight,precedentInstanceHeight,computedHeight:instancesInSameZone.map((instance=>instance.elementRef.nativeElement.getBoundingClientRect().height)).reduce(((acc,curr)=>acc+=curr+this.marginTop),0)}}setPosition(){const{innerContainerWidth,innerContainerHeight,computedHeight}=this.computePosition();"left"===this.anchor&&(this.host.style.left="2%",this.host.style.bottom=`calc(33% + ${computedHeight}px)`),"right"===this.anchor&&(this.host.style.left=`calc(98% - ${innerContainerWidth}px)`,this.host.style.bottom=`calc(33% + ${computedHeight}px)`),"top"===this.anchor&&(this.host.style.left=`calc(50% - ${innerContainerWidth/2}px )`,this.host.style.bottom=`calc(92% - ${innerContainerHeight}px)`),"bottom"===this.anchor&&(this.host.style.left=`calc(50% - ${innerContainerWidth/2}px )`,this.host.style.bottom=`calc(2% + ${computedHeight}px)`),"bottom-left"===this.anchor&&(this.host.style.left="2%",this.host.style.bottom=`calc(2% + ${computedHeight}px)`),"bottom-right"===this.anchor&&(this.host.style.left=`calc(98% - ${innerContainerWidth}px)`,this.host.style.bottom=`calc(2% + ${computedHeight}px)`),"left-top"===this.anchor&&(this.host.style.left="2%",this.host.style.bottom=`calc(92% - ${innerContainerHeight}px - ${computedHeight}px)`),"right-top"===this.anchor&&(this.host.style.left=`calc(98% - ${innerContainerWidth}px)`,this.host.style.bottom=`calc(92% - ${innerContainerHeight}px - ${computedHeight}px)`)}setNewWidth(){const{innerContainerWidth}=this.computePosition();"top"!==this.anchor&&"bottom"!==this.anchor||(this.elementRef.nativeElement.style.left=`calc(50% - ${innerContainerWidth/2}px )`)}launchAdaptAnimation(height){let direction=1;this._alignments.top&&(direction=-1);const transform=window.getComputedStyle(this.host).transform,sixth=parseFloat(transform.split(",").slice(-1).pop()||"0");this.animate$.next({before:{transform:`${transform}`},after:{transform:`matrix(1,0,0,1,0,${sixth+(height+this.marginTop)*direction})`},duration:this.adaptAnimationDuration,easing:"ease"})}launchEnterAnimation(){let direction=-1;this._alignments.top&&(direction=1),this.animate$.next({before:{opacity:"0",transform:`translateY(${200*direction}%)`},after:{opacity:"1",transform:"translateY(0)"},delay:this.delay,duration:this.enterAnimationDuration,easing:"ease"})}launchLeaveAnimation(){this.animate$.next({before:{opacity:"1"},after:{opacity:"0"},duration:this.leaveAnimationDuration,easing:"ease"})}static ctorParameters=()=>[];static propDecorators={onAnimationDone:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}],delay:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],duration:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],outerContainerElement:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],alignment:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],onResize:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.HostListener,args:["window:resize",[]]}]}};NgxSnackbarComponent=NgxSnackbarComponent_1=(0,tslib__WEBPACK_IMPORTED_MODULE_8__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Component)({changeDetection:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectionStrategy.OnPush,selector:"ngx-snackbar",template:"",standalone:!0,styles:[_snackbar_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_9___default()]})],NgxSnackbarComponent)},"./projects/status/src/status.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{n:()=>NgxStatusComponent});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),status_componentngResource=__webpack_require__("./projects/status/src/status.component.scss?ngResource"),status_componentngResource_default=__webpack_require__.n(status_componentngResource);var core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),throttleTime=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/throttleTime.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),catchError=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/catchError.js"),empty=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/empty.js"),dialog=__webpack_require__("./node_modules/@angular/material/fesm2022/dialog.mjs"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js");class NgxDialogService{lazyLoaderService;dialog;openDialogSub$=new ReplaySubject.m(1);dialogResponse$;dialogRef;constructor(lazyLoaderService,dialog,matDialogConfig){this.lazyLoaderService=lazyLoaderService,this.dialog=dialog,this.dialogResponse$=this.openDialogSub$.pipe((0,throttleTime.c)(11),(0,take.s)(1),(0,switchMap.n)((dialogConfig=>this.lazyLoaderService.loadModule$(this.getModule(),dialogConfig.injector).pipe((0,switchMap.n)((moduleInfos=>{const config={...matDialogConfig??{},...dialogConfig};return config.minWidth=config.minWidth||"400px",config.injector=moduleInfos.injector,this.dialogRef=this.dialog.open(moduleInfos.module.componentType,config),this.dialogRef.afterClosed()}))))))}openDialog$(dialogData,dialogConfig){return dialogConfig??={},dialogConfig.data=dialogData??{},this.openDialogSub$.next(dialogConfig),this.dialogResponse$}closeDialog(){this.dialogRef.close()}}var lazy_loader_service=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts");let NgxStatusDetailDialogService=class NgxStatusDetailDialogService extends NgxDialogService{constructor(lazyLoaderService,dialog){super(lazyLoaderService,dialog,{disableClose:!1,hasBackdrop:!0,width:"700px",panelClass:"ngx-status-panel"})}getModule(){return Promise.all([__webpack_require__.e(4),__webpack_require__.e(308)]).then(__webpack_require__.bind(__webpack_require__,"./projects/status/src/status-detail/status-detail.module.ts")).then((m=>m.NgxStatusDetailModule))}static ctorParameters=()=>[{type:lazy_loader_service.e},{type:dialog.bZ}]};NgxStatusDetailDialogService=(0,tslib_es6.Cg)([(0,core.Injectable)({providedIn:"root"})],NgxStatusDetailDialogService);let NgxStatusComponent=class NgxStatusComponent{get status(){return this._status}set status(value){this._status=value,this.statusIcon=this.getStatusIcon(value?.type)}close=new core.EventEmitter;statusIcon;displayDetailedStatus$=new Subject.B;statusDetailDialogService=(0,core.inject)(NgxStatusDetailDialogService);destroyRef=(0,core.inject)(core.DestroyRef);_status;constructor(){this.displayDetailedStatus$.pipe((0,throttleTime.c)(1e3),(0,switchMap.n)((status=>this.statusDetailDialogService.openDialog$(status).pipe((0,catchError.W)((err=>(console.error("Failed to open status detail dialog",err),empty.w)))))),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe()}executeAction(action){action?.callback&&"function"==typeof action.callback&&(action.callback(),action.terminal&&this.close.next())}getStatusIcon(statusType){switch(statusType){case"success":return"check";case"warn":return"warning";case"danger":return"error_outline";case"primary":return"notifications";default:return"info"}}static ctorParameters=()=>[];static propDecorators={status:[{type:core.Input}]}};NgxStatusComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-status",template:'@if (status) {\n \n @if (statusIcon) {\n {{ statusIcon }}\n }\n \n {{ status.title }}\n @if (status.text; as text) {\n

\n }\n @if (status.actions?.length) {\n
\n @for (action of status.actions; track $index) {\n \n }\n
\n }\n \n @if (status.technicalText) {\n info\n }\n close\n \n
\n \n}\n',changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,styles:[status_componentngResource_default()]})],NgxStatusComponent)},"./projects/status/src/status.module.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{NgxStatusModule:()=>NgxStatusModule});var tslib__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_material_button__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),_angular_material_icon__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),_hug_ngx_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts"),_hug_ngx_snackbar__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./projects/snackbar/src/snackbar.component.ts"),_status_component__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./projects/status/src/status.component.ts");let NgxStatusModule=class NgxStatusModule extends _hug_ngx_core__WEBPACK_IMPORTED_MODULE_0__.U{constructor(){super(_status_component__WEBPACK_IMPORTED_MODULE_1__.n)}static ctorParameters=()=>[]};NgxStatusModule=(0,tslib__WEBPACK_IMPORTED_MODULE_2__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.NgModule)({declarations:[_status_component__WEBPACK_IMPORTED_MODULE_1__.n],exports:[_status_component__WEBPACK_IMPORTED_MODULE_1__.n],imports:[_angular_material_button__WEBPACK_IMPORTED_MODULE_4__.$z,_angular_material_icon__WEBPACK_IMPORTED_MODULE_5__.An,_hug_ngx_snackbar__WEBPACK_IMPORTED_MODULE_6__.Q]})],NgxStatusModule)},"./projects/snackbar/src/snackbar.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,":host {\n /* mandatory styles */\n position: absolute;\n bottom: 0;\n left: 0;\n display: block;\n box-sizing: border-box;\n z-index: 25;\n /* class added if a container if specified for the snackbar*/\n}\n:host.absolute {\n position: absolute !important;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()},"./projects/status/src/status.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-status .ngx-snackbar {\n font-family: "Roboto";\n display: flex;\n border: 0;\n border-radius: 3px;\n line-height: 20px;\n min-width: 250px;\n overflow: hidden;\n padding: 1rem;\n width: 30vw;\n z-index: 1010;\n align-items: center;\n gap: 1rem;\n}\nngx-status .ngx-snackbar:before {\n font-size: 2rem;\n}\nngx-status .ngx-snackbar > span {\n width: calc(100% - 24px);\n}\nngx-status .ngx-snackbar > span b {\n display: block;\n font-size: 12px;\n font-weight: 500;\n padding-right: 2.5rem;\n text-transform: uppercase;\n}\nngx-status .ngx-snackbar > span p {\n font-weight: 300;\n}\nngx-status .ngx-snackbar .action-container {\n position: absolute;\n top: 1rem;\n right: 1rem;\n}\nngx-status .ngx-snackbar .action-container mat-icon {\n cursor: pointer;\n margin-left: 0.5rem;\n opacity: 0.8;\n transition: opacity 200ms ease;\n}\nngx-status .ngx-snackbar .action-container mat-icon:hover {\n opacity: 1;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file +(self.webpackChunk=self.webpackChunk||[]).push([[73],{"./projects/snackbar/src/snackbar.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Q:()=>NgxSnackbarComponent});var NgxSnackbarComponent_1,tslib__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_snackbar_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./projects/snackbar/src/snackbar.component.scss?ngResource"),_snackbar_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(_snackbar_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_9__),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/delay.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/debounce.js"),rxjs__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js"),rxjs__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js");let NgxSnackbarComponent=class NgxSnackbarComponent{static#_=NgxSnackbarComponent_1=this;static INSTANCES=[];onAnimationDone=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter;delay=0;duration=0;outerContainerElement;elementRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ElementRef);host;marginTop=6;timestamp=+new Date;enterAnimationDuration=350;adaptAnimationDuration=225;leaveAnimationDuration=175;anchor;_alignments={};animate$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.B;animate$sub;set alignment(value){this._alignments={bottom:!1,left:!1,right:!1,top:!1},value&&value.split(/\s+/g).forEach((align=>this._alignments[align]=!0)),this._alignments.bottom=(!this._alignments.top||!this._alignments.bottom)&&this._alignments.bottom,this._alignments.left=(!this._alignments.right||!this._alignments.left)&&this._alignments.left}destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef);constructor(){this.host=this.elementRef.nativeElement,NgxSnackbarComponent_1.INSTANCES||(NgxSnackbarComponent_1.INSTANCES=[]),NgxSnackbarComponent_1.INSTANCES.push(this);const applyParams=styles=>{Object.keys(styles).forEach((key=>{this.host.style[key]=styles[key]}))};this.animate$sub=this.animate$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.M)((animation=>applyParams(animation.before))),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.c)(1),(0,rxjs__WEBPACK_IMPORTED_MODULE_2__.M)((animation=>{this.host.style.transitionDuration=`${animation.duration}ms`,this.host.style.transitionTimingFunction=animation.easing,this.host.style.transitionProperty=Object.keys(animation.before).join(",")})),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.s)((animation=>(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(animation.delay||1))),(0,rxjs__WEBPACK_IMPORTED_MODULE_2__.M)((animation=>applyParams(animation.after))),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.s)((animation=>(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(animation.duration))),(0,_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_6__.pQ)(this.destroyRef)).subscribe((()=>{this.host.style.transitionDuration="",this.host.style.transitionTimingFunction="",this.host.style.transitionProperty=""}))}onResize(){this.setNewWidth()}ngOnInit(){const anchors=[];Object.keys(this._alignments).forEach((key=>{this._alignments[key]&&anchors.push(key)})),anchors.sort(((x,y)=>x>y?1:-1));const anchor=anchors.reduce(((acc,curr)=>acc+=""===acc?curr:`-${curr}`),"");this.anchor=anchor}ngAfterViewInit(){this.outerContainerElement?this.host.classList.add("absolute"):this.outerContainerElement=this.host.ownerDocument.body,this.setPosition(),this.launchEnterAnimation(),(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(this.duration+this.delay).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_7__.s)(1),(0,rxjs__WEBPACK_IMPORTED_MODULE_2__.M)((()=>{this.duration&&this.launchLeaveAnimation()})),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.c)(this.leaveAnimationDuration),(0,_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_6__.pQ)(this.destroyRef)).subscribe((()=>this.onAnimationDone.emit()))}ngOnDestroy(){NgxSnackbarComponent_1.INSTANCES.length&&NgxSnackbarComponent_1.INSTANCES.filter((instance=>this.outerContainerElement===instance.outerContainerElement)).filter((instance=>this.anchor===instance.anchor)).forEach((instance=>{if(instance.timestamp>this.timestamp){const height=this.host.getBoundingClientRect().height;instance.launchAdaptAnimation(height)}})),NgxSnackbarComponent_1.INSTANCES=NgxSnackbarComponent_1.INSTANCES.filter((instance=>this!==instance)),this.animate$sub.unsubscribe()}animationDone(event){this.onAnimationDone.emit(event)}increaseElevation(){const zIndex=window.getComputedStyle(this.host).zIndex;this.host.style.zIndex=(+zIndex+1).toString()}decreaseElevation(){const zIndex=window.getComputedStyle(this.host).zIndex;this.host.style.zIndex=(+zIndex-1).toString()}computePosition(){const innerContainerElementBounds=this.host.getBoundingClientRect(),innerContainerWidth=innerContainerElementBounds.width,innerContainerHeight=innerContainerElementBounds.height,instancesInSameZone=NgxSnackbarComponent_1.INSTANCES.filter((instance=>this.outerContainerElement===instance.outerContainerElement)).filter((instance=>this.anchor===instance.anchor)).filter((instance=>this!==instance));let precedentInstanceHeight=0;if(instancesInSameZone){const precedentInstance=instancesInSameZone[instancesInSameZone.length-1];if(precedentInstance){precedentInstanceHeight=precedentInstance.elementRef.nativeElement.getBoundingClientRect().height}}return{innerContainerWidth,innerContainerHeight,precedentInstanceHeight,computedHeight:instancesInSameZone.map((instance=>instance.elementRef.nativeElement.getBoundingClientRect().height)).reduce(((acc,curr)=>acc+=curr+this.marginTop),0)}}setPosition(){const{innerContainerWidth,innerContainerHeight,computedHeight}=this.computePosition();"left"===this.anchor&&(this.host.style.left="2%",this.host.style.bottom=`calc(33% + ${computedHeight}px)`),"right"===this.anchor&&(this.host.style.left=`calc(98% - ${innerContainerWidth}px)`,this.host.style.bottom=`calc(33% + ${computedHeight}px)`),"top"===this.anchor&&(this.host.style.left=`calc(50% - ${innerContainerWidth/2}px )`,this.host.style.bottom=`calc(92% - ${innerContainerHeight}px)`),"bottom"===this.anchor&&(this.host.style.left=`calc(50% - ${innerContainerWidth/2}px )`,this.host.style.bottom=`calc(2% + ${computedHeight}px)`),"bottom-left"===this.anchor&&(this.host.style.left="2%",this.host.style.bottom=`calc(2% + ${computedHeight}px)`),"bottom-right"===this.anchor&&(this.host.style.left=`calc(98% - ${innerContainerWidth}px)`,this.host.style.bottom=`calc(2% + ${computedHeight}px)`),"left-top"===this.anchor&&(this.host.style.left="2%",this.host.style.bottom=`calc(92% - ${innerContainerHeight}px - ${computedHeight}px)`),"right-top"===this.anchor&&(this.host.style.left=`calc(98% - ${innerContainerWidth}px)`,this.host.style.bottom=`calc(92% - ${innerContainerHeight}px - ${computedHeight}px)`)}setNewWidth(){const{innerContainerWidth}=this.computePosition();"top"!==this.anchor&&"bottom"!==this.anchor||(this.elementRef.nativeElement.style.left=`calc(50% - ${innerContainerWidth/2}px )`)}launchAdaptAnimation(height){let direction=1;this._alignments.top&&(direction=-1);const transform=window.getComputedStyle(this.host).transform,sixth=parseFloat(transform.split(",").slice(-1).pop()||"0");this.animate$.next({before:{transform:`${transform}`},after:{transform:`matrix(1,0,0,1,0,${sixth+(height+this.marginTop)*direction})`},duration:this.adaptAnimationDuration,easing:"ease"})}launchEnterAnimation(){let direction=-1;this._alignments.top&&(direction=1),this.animate$.next({before:{opacity:"0",transform:`translateY(${200*direction}%)`},after:{opacity:"1",transform:"translateY(0)"},delay:this.delay,duration:this.enterAnimationDuration,easing:"ease"})}launchLeaveAnimation(){this.animate$.next({before:{opacity:"1"},after:{opacity:"0"},duration:this.leaveAnimationDuration,easing:"ease"})}static ctorParameters=()=>[];static propDecorators={onAnimationDone:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Output}],delay:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],duration:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],outerContainerElement:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],alignment:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Input}],onResize:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.HostListener,args:["window:resize",[]]}]}};NgxSnackbarComponent=NgxSnackbarComponent_1=(0,tslib__WEBPACK_IMPORTED_MODULE_8__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Component)({changeDetection:_angular_core__WEBPACK_IMPORTED_MODULE_0__.ChangeDetectionStrategy.OnPush,selector:"ngx-snackbar",template:"",standalone:!0,styles:[_snackbar_component_scss_ngResource__WEBPACK_IMPORTED_MODULE_9___default()]})],NgxSnackbarComponent)},"./projects/status/src/status.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{n:()=>NgxStatusComponent});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),status_componentngResource=__webpack_require__("./projects/status/src/status.component.scss?ngResource"),status_componentngResource_default=__webpack_require__.n(status_componentngResource);var core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),throttleTime=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/throttleTime.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),catchError=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/catchError.js"),empty=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/empty.js"),dialog=__webpack_require__("./node_modules/@angular/material/fesm2022/dialog.mjs"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),lazy_loader_service=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts");class NgxDialogService{openDialogSub$=new ReplaySubject.m(1);dialogResponse$;dialogRef;lazyLoaderService=(0,core.inject)(lazy_loader_service.e);dialog=(0,core.inject)(dialog.bZ);constructor(matDialogConfig){this.dialogResponse$=this.openDialogSub$.pipe((0,throttleTime.c)(11),(0,take.s)(1),(0,switchMap.n)((dialogConfig=>this.lazyLoaderService.loadModule$(this.getModule(),dialogConfig.injector).pipe((0,switchMap.n)((moduleInfos=>{const config={...matDialogConfig??{},...dialogConfig};return config.minWidth=config.minWidth||"400px",config.injector=moduleInfos.injector,this.dialogRef=this.dialog.open(moduleInfos.module.componentType,config),this.dialogRef.afterClosed()}))))))}openDialog$(dialogData,dialogConfig){return dialogConfig??={},dialogConfig.data=dialogData??{},this.openDialogSub$.next(dialogConfig),this.dialogResponse$}closeDialog(){this.dialogRef.close()}}let NgxStatusDetailDialogService=class NgxStatusDetailDialogService extends NgxDialogService{constructor(){super({disableClose:!1,hasBackdrop:!0,width:"700px",panelClass:"ngx-status-panel"})}getModule(){return Promise.all([__webpack_require__.e(4),__webpack_require__.e(308)]).then(__webpack_require__.bind(__webpack_require__,"./projects/status/src/status-detail/status-detail.module.ts")).then((m=>m.NgxStatusDetailModule))}static ctorParameters=()=>[]};NgxStatusDetailDialogService=(0,tslib_es6.Cg)([(0,core.Injectable)({providedIn:"root"})],NgxStatusDetailDialogService);let NgxStatusComponent=class NgxStatusComponent{get status(){return this._status}set status(value){this._status=value,this.statusIcon=this.getStatusIcon(value?.type)}close=new core.EventEmitter;statusIcon;displayDetailedStatus$=new Subject.B;statusDetailDialogService=(0,core.inject)(NgxStatusDetailDialogService);destroyRef=(0,core.inject)(core.DestroyRef);_status;constructor(){this.displayDetailedStatus$.pipe((0,throttleTime.c)(1e3),(0,switchMap.n)((status=>this.statusDetailDialogService.openDialog$(status).pipe((0,catchError.W)((err=>(console.error("Failed to open status detail dialog",err),empty.w)))))),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe()}executeAction(action){action?.callback&&"function"==typeof action.callback&&(action.callback(),action.terminal&&this.close.next())}getStatusIcon(statusType){switch(statusType){case"success":return"check";case"warn":return"warning";case"danger":return"error_outline";case"primary":return"notifications";default:return"info"}}static ctorParameters=()=>[];static propDecorators={status:[{type:core.Input}]}};NgxStatusComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-status",template:'@if (status) {\n \n @if (statusIcon) {\n {{ statusIcon }}\n }\n \n {{ status.title }}\n @if (status.text; as text) {\n

\n }\n @if (status.actions?.length) {\n
\n @for (action of status.actions; track $index) {\n \n }\n
\n }\n \n @if (status.technicalText) {\n info\n }\n close\n \n
\n \n}\n',changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,styles:[status_componentngResource_default()]})],NgxStatusComponent)},"./projects/status/src/status.module.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{NgxStatusModule:()=>NgxStatusModule});var tslib__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_material_button__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),_angular_material_icon__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),_hug_ngx_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts"),_hug_ngx_snackbar__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./projects/snackbar/src/snackbar.component.ts"),_status_component__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./projects/status/src/status.component.ts");let NgxStatusModule=class NgxStatusModule extends _hug_ngx_core__WEBPACK_IMPORTED_MODULE_0__.U{constructor(){super(_status_component__WEBPACK_IMPORTED_MODULE_1__.n)}static ctorParameters=()=>[]};NgxStatusModule=(0,tslib__WEBPACK_IMPORTED_MODULE_2__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.NgModule)({declarations:[_status_component__WEBPACK_IMPORTED_MODULE_1__.n],exports:[_status_component__WEBPACK_IMPORTED_MODULE_1__.n],imports:[_angular_material_button__WEBPACK_IMPORTED_MODULE_4__.$z,_angular_material_icon__WEBPACK_IMPORTED_MODULE_5__.An,_hug_ngx_snackbar__WEBPACK_IMPORTED_MODULE_6__.Q]})],NgxStatusModule)},"./projects/snackbar/src/snackbar.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,":host {\n /* mandatory styles */\n position: absolute;\n bottom: 0;\n left: 0;\n display: block;\n box-sizing: border-box;\n z-index: 25;\n /* class added if a container if specified for the snackbar*/\n}\n:host.absolute {\n position: absolute !important;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()},"./projects/status/src/status.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-status .ngx-snackbar {\n font-family: "Roboto";\n display: flex;\n border: 0;\n border-radius: 3px;\n line-height: 20px;\n min-width: 250px;\n overflow: hidden;\n padding: 1rem;\n width: 30vw;\n z-index: 1010;\n align-items: center;\n gap: 1rem;\n}\nngx-status .ngx-snackbar:before {\n font-size: 2rem;\n}\nngx-status .ngx-snackbar > span {\n width: calc(100% - 24px);\n}\nngx-status .ngx-snackbar > span b {\n display: block;\n font-size: 12px;\n font-weight: 500;\n padding-right: 2.5rem;\n text-transform: uppercase;\n}\nngx-status .ngx-snackbar > span p {\n font-weight: 300;\n}\nngx-status .ngx-snackbar .action-container {\n position: absolute;\n top: 1rem;\n right: 1rem;\n}\nngx-status .ngx-snackbar .action-container mat-icon {\n cursor: pointer;\n margin-left: 0.5rem;\n opacity: 0.8;\n transition: opacity 200ms ease;\n}\nngx-status .ngx-snackbar .action-container mat-icon:hover {\n opacity: 1;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/iframe.html b/iframe.html index 8480d17..d77866a 100644 --- a/iframe.html +++ b/iframe.html @@ -504,8 +504,8 @@ window['TAGS_OPTIONS'] = {"dev-only":{"excludeFromDocsStories":true},"docs-only":{"excludeFromSidebar":true},"test-only":{"excludeFromSidebar":true,"excludeFromDocsStories":true}}; \ No newline at end of file + import './main.71053a7e.iframe.bundle.js'; \ No newline at end of file diff --git a/layout-layout-stories.24427c59.iframe.bundle.js b/layout-layout-stories.24427c59.iframe.bundle.js deleted file mode 100644 index 74a3ff5..0000000 --- a/layout-layout-stories.24427c59.iframe.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk=self.webpackChunk||[]).push([[888],{"./projects/core/src/services/lazy-loader.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{U:()=>NgxAbstractLazyModule,e:()=>NgxLazyLoaderService});var tslib__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");class NgxAbstractLazyModule{componentType;constructor(componentType){this.componentType=componentType}}let NgxLazyLoaderService=class NgxLazyLoaderService{injector;constructor(injector){this.injector=injector}loadModule$(path,parentInjector){return(0,rxjs__WEBPACK_IMPORTED_MODULE_0__.H)(path).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_1__.T)((elementModuleOrFactory=>{const injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵcreateInjector"])(elementModuleOrFactory,parentInjector??this.injector);return{injector,module:injector.get(elementModuleOrFactory)}})))}static ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injector}]};NgxLazyLoaderService=(0,tslib__WEBPACK_IMPORTED_MODULE_3__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)({providedIn:"root"})],NgxLazyLoaderService)},"./projects/core/src/services/media.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Lp:()=>NgxMediaService});var tslib__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");const mediaQueryDefinitions=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MEDIA_QUERY_DEFINITIONS"),simplifiedMediaQueryDefinitions=[{alias:"xs",mediaQuery:"(max-width: 599px)"},{alias:"sm",mediaQuery:"(min-width: 600px) and (max-width: 959px)"},{alias:"md",mediaQuery:"(min-width: 860px) and (max-width: 1279px)"},{alias:"lg",mediaQuery:"(min-width: 1280px)"}];let NgxMediaService=class NgxMediaService{zone;isHandset$;isMobile$;mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t("lg");mql={};constructor(zone,mediaDefinitions){this.zone=zone,mediaDefinitions||(mediaDefinitions=simplifiedMediaQueryDefinitions),mediaDefinitions.forEach((mediaDefinition=>{const{alias,mediaQuery}=mediaDefinition;this.mql[alias]=window.matchMedia(mediaQuery),this.mql[alias].addEventListener("change",this.onMqlEvent.bind(this,alias)),this.mql[alias].matches&&(this.mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t(alias))})),this.isHandset$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1})),this.isMobile$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias||"sm"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1}))}ngOnDestroy(){Object.keys(this.mql).forEach((alias=>{this.mql[alias].removeEventListener("change",this.onMqlEvent),delete this.mql[alias]}))}onMqlEvent(alias,event){this.zone.run((()=>{event.matches&&this.mediaChanged$.next(alias)}))}static ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone},{type:Array,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[mediaQueryDefinitions]}]}]};NgxMediaService=(0,tslib__WEBPACK_IMPORTED_MODULE_5__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxMediaService)},"./projects/search-container/src/search-container.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>NgxSearchContainerComponent,l:()=>NgxSearchInputDirective});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs");var search_container_componentngResource=__webpack_require__("./projects/search-container/src/search-container.component.scss?ngResource"),search_container_componentngResource_default=__webpack_require__.n(search_container_componentngResource),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),tooltip=__webpack_require__("./node_modules/@angular/material/fesm2022/tooltip.mjs"),media_service=__webpack_require__("./projects/core/src/services/media.service.ts"),BehaviorSubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),first=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/first.js"),tap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),distinctUntilChanged=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");let NgxSearchInputDirective=class NgxSearchInputDirective{ngControl=(0,core.inject)(fesm2022_forms.vO);elementRef=(0,core.inject)(core.ElementRef);constructor(){this.focus()}focus(){this.elementRef.nativeElement.focus()}static ctorParameters=()=>[]};NgxSearchInputDirective=(0,tslib_es6.Cg)([(0,core.Directive)({selector:"[ngx-search-input]",standalone:!0})],NgxSearchInputDirective);let NgxSearchContainerComponent=class NgxSearchContainerComponent{cleared=new core.EventEmitter;clearTooltip="Effacer la recherche";openSearchTooltip="Ouvrir la recherche";closeSearchTooltip="Quitter la recherche";mobileSearch;activeSearch$=new BehaviorSubject.t(!1);searchInputValue$;set searchInput(searchInput){if(!searchInput)throw new Error("You need to add the attribute ngx-search-input to the NgxSearchContainerComponent");if(!searchInput.ngControl)throw new Error("You need to add the attribute ngModel to the NgxSearchContainerComponent");this._searchInput=searchInput}set right(value){this._right=value}get right(){return this._right}mediaService=(0,core.inject)(media_service.Lp);zone=(0,core.inject)(core.NgZone);destroyRef=(0,core.inject)(core.DestroyRef);_searchInput;_right=null;constructor(){this.activeSearch$.pipe((0,switchMap.n)((activeSearch=>this.zone.onStable.pipe((0,first.$)(),(0,tap.M)((()=>{activeSearch||this.reset(),this._searchInput?.focus()}))))),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe()}ngAfterContentInit(){this.searchInputValue$=this._searchInput?.ngControl?.valueChanges?.pipe((0,distinctUntilChanged.F)(),(0,shareReplay.t)({bufferSize:1,refCount:!1}))??void 0}reset(){this._searchInput?.ngControl?.reset(),this.cleared.emit()}static ctorParameters=()=>[];static propDecorators={cleared:[{type:core.Output}],clearTooltip:[{type:core.Input}],openSearchTooltip:[{type:core.Input}],closeSearchTooltip:[{type:core.Input}],mobileSearch:[{type:core.ContentChild,args:["mobileSearch"]}],searchInput:[{type:core.ContentChild,args:[NgxSearchInputDirective]}],right:[{type:core.Input}]}};NgxSearchContainerComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-search-container",template:'@if (mediaService.isHandset$ | async) {\n
\n @if (activeSearch$ | async) {\n \n arrow_back\n \n \n } @else {\n \n search\n \n }\n
\n} @else {\n \n}\n\n\n
\n search\n \n @if (searchInputValue$ | async) {\n close\n }\n \n
\n
\n',encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.OnPush,standalone:!0,imports:[common.AsyncPipe,common.NgTemplateOutlet,icon.An,tooltip.oV],styles:[search_container_componentngResource_default()]})],NgxSearchContainerComponent)},"./projects/status/src/status.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{t:()=>NgxStatusService});var tslib__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),_hug_ngx_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),rxjs__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js"),rxjs__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),rxjs__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js");let NgxStatusService=class NgxStatusService{document=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_common__WEBPACK_IMPORTED_MODULE_1__.DOCUMENT);lazyLoaderService=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_hug_ngx_core__WEBPACK_IMPORTED_MODULE_2__.e);injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector);resolver=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ComponentFactoryResolver);destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef);info(text,title="",duration,actions){this.showStatus({type:"info",title,text,duration,actions})}success(text,title="",duration,actions){this.showStatus({type:"success",title,text,duration,actions})}warning(text,title="Attention",technicalText,duration,actions){this.showStatus({type:"warn",title,text,duration,technicalText,actions})}error(text,title="Erreur",technicalText,duration,actions){this.showStatus({type:"danger",title,text,duration,technicalText,actions})}showStatus(status){this.lazyLoaderService.loadModule$(Promise.all([__webpack_require__.e(584),__webpack_require__.e(73)]).then(__webpack_require__.bind(__webpack_require__,"./projects/status/src/status.module.ts")).then((m=>m.NgxStatusModule))).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_3__.s)(1),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.n)((moduleInfos=>{const componentRef=this.resolver.resolveComponentFactory(moduleInfos.module.componentType).create(this.injector);componentRef.instance.status=status;const applicationRef=this.injector.get(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ApplicationRef);applicationRef.attachView(componentRef.hostView);const domElement=componentRef.hostView.rootNodes[0];this.document.body.appendChild(domElement),applicationRef.tick();const duration=status.duration||"danger"===status.type&&3e4||8e3;return(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(duration).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_6__.X)(componentRef.instance.close),(0,rxjs__WEBPACK_IMPORTED_MODULE_7__.M)((()=>{componentRef.destroy(),applicationRef.tick()})))})),(0,_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_8__.pQ)(this.destroyRef)).subscribe()}};NgxStatusService=(0,tslib__WEBPACK_IMPORTED_MODULE_9__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxStatusService)},"./projects/story-book/src/layout/layout.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,actionsToolbar:()=>actionsToolbar,completeLayout:()=>completeLayout,default:()=>layout_stories,infosBoxes:()=>infosBoxes,layoutToolbar:()=>layoutToolbar,rightPanel:()=>rightPanel});var fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),fesm2022_button=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),chips=__webpack_require__("./node_modules/@angular/material/fesm2022/chips.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),tooltip=__webpack_require__("./node_modules/@angular/material/fesm2022/tooltip.mjs"),animations=__webpack_require__("./node_modules/@angular/platform-browser/fesm2022/animations.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),search_container_component=__webpack_require__("./projects/search-container/src/search-container.component.ts"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs");var layout_componentngResource=__webpack_require__("./projects/layout/src/layout.component.scss?ngResource"),layout_componentngResource_default=__webpack_require__.n(layout_componentngResource),coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),sidenav=__webpack_require__("./node_modules/@angular/material/fesm2022/sidenav.mjs"),toolbar=__webpack_require__("./node_modules/@angular/material/fesm2022/toolbar.mjs"),media_service=__webpack_require__("./projects/core/src/services/media.service.ts"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),mergeWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");let NgxSidenavService=class NgxSidenavService{openChanged$;modeChanged$;hiddenChanged$;mediaService=(0,core.inject)(media_service.Lp);opened$=new ReplaySubject.m(1);mode$=new ReplaySubject.m(1);hidden$=new ReplaySubject.m(1);toggle$=new ReplaySubject.m(1);constructor(){const alias$=this.mediaService.mediaChanged$.pipe((0,shareReplay.t)({bufferSize:1,refCount:!1})),toggleChanged$=this.toggle$.pipe((0,switchMap.n)((()=>this.openChanged$.pipe((0,take.s)(1),(0,map.T)((opened=>!opened))))),(0,shareReplay.t)({bufferSize:1,refCount:!1}));this.openChanged$=alias$.pipe((0,map.T)((alias=>"lg"===alias||"xl"===alias)),(0,mergeWith.X)(this.opened$,toggleChanged$),(0,shareReplay.t)({bufferSize:1,refCount:!1})),this.modeChanged$=alias$.pipe((0,map.T)((alias=>"xs"===alias?"over":"side")),(0,mergeWith.X)(this.mode$),(0,shareReplay.t)({bufferSize:1,refCount:!1})),this.hiddenChanged$=alias$.pipe((0,map.T)((alias=>"xs"===alias)),(0,mergeWith.X)(this.hidden$),(0,shareReplay.t)({bufferSize:1,refCount:!1}))}open(){this.opened$.next(!0)}close(){this.opened$.next(!1)}toggle(){this.toggle$.next()}hide(){this.hidden$.next(!0)}show(){this.hidden$.next(!1)}mode(value){this.mode$.next(value)}static ctorParameters=()=>[]};NgxSidenavService=(0,tslib_es6.Cg)([(0,core.Injectable)({providedIn:"root"})],NgxSidenavService);let NgxLayoutComponent=class NgxLayoutComponent{toolbarColor="primary";editorToolbarId="editor-toolbar";closeButtonLabel="Fermer";backButtonLabel="Retour";layoutToolbarExternal;layoutPrimaryActionExternal;layoutActionsExternal;layoutInfoBoxesExternal;layoutRightExternal;closeButtonClicked=new core.EventEmitter;backButtonClicked=new core.EventEmitter;sideFilterClosed=new core.EventEmitter;sideFilterOpened=new core.EventEmitter;layoutToolbarContent;layoutPrimaryActionContent;layoutActionsContent;layoutInfoBoxesContent;layoutRightContent;noRight=!1;sideFilter;mediaService=(0,core.inject)(media_service.Lp);sidenavService=(0,core.inject)(NgxSidenavService);get layoutToolbar(){return this.layoutToolbarExternal??this.layoutToolbarContent}get layoutPrimaryAction(){return this.layoutPrimaryActionExternal??this.layoutPrimaryActionContent}get layoutActions(){return this.layoutActionsExternal??this.layoutActionsContent}get layoutInfoBoxes(){return this.layoutInfoBoxesExternal??this.layoutInfoBoxesContent}get layoutRight(){const value=this.layoutRightExternal??this.layoutRightContent;return this.noRight=!value,value}_withSidenav=!1;set withSidenav(value){this._withSidenav=(0,coercion.he)(value)}get withSidenav(){return this._withSidenav}_keepFilterButtonDisplayed=!0;set keepFilterButtonDisplayed(value){this._keepFilterButtonDisplayed=(0,coercion.he)(value)}get keepFilterButtonDisplayed(){return this._keepFilterButtonDisplayed}_withCloseButton=!1;set withCloseButton(value){this._withCloseButton=(0,coercion.he)(value)}get withCloseButton(){return this._withCloseButton}_withBackButton=!1;set withBackButton(value){this._withBackButton=(0,coercion.he)(value)}get withBackButton(){return this._withBackButton}closeSideFilter(){this.sideFilter?.close()}openSideFilter(){this.sideFilter?.open()}static propDecorators={toolbarColor:[{type:core.Input}],editorToolbarId:[{type:core.Input}],closeButtonLabel:[{type:core.Input}],backButtonLabel:[{type:core.Input}],layoutToolbarExternal:[{type:core.Input}],layoutPrimaryActionExternal:[{type:core.Input}],layoutActionsExternal:[{type:core.Input}],layoutInfoBoxesExternal:[{type:core.Input}],layoutRightExternal:[{type:core.Input}],closeButtonClicked:[{type:core.Output}],backButtonClicked:[{type:core.Output}],sideFilterClosed:[{type:core.Output}],sideFilterOpened:[{type:core.Output}],layoutToolbarContent:[{type:core.ContentChild,args:["layoutToolbar"]}],layoutPrimaryActionContent:[{type:core.ContentChild,args:["layoutPrimaryAction"]}],layoutActionsContent:[{type:core.ContentChild,args:["layoutActions"]}],layoutInfoBoxesContent:[{type:core.ContentChild,args:["layoutInfoBoxes"]}],layoutRightContent:[{type:core.ContentChild,args:["layoutRight"]}],noRight:[{type:core.HostBinding,args:["class.no-right"]}],sideFilter:[{type:core.ViewChild,args:["sideFilter"]}],withSidenav:[{type:core.Input}],keepFilterButtonDisplayed:[{type:core.Input}],withCloseButton:[{type:core.Input}],withBackButton:[{type:core.Input}]}};NgxLayoutComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-layout",template:'\n\n\n
\n @if (\n layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\n ) {\n \n \n \n }\n \n
\n @if ((mediaService.isHandset$ | async) && actionsToolbar) {\n \n }\n
\n\n\n \n @if (layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false) {\n \n \n \n }\n @if (layoutActions) {\n \n }\n @if (layoutInfoBoxes && (mediaService.isHandset$ | async) === false) {\n
\n \n
\n }\n \n
\n\n\n @if (layoutToolbar || layoutRight) {\n \n @if (withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false) {\n \n }\n @if (withBackButton) {\n \n arrow_back\n \n }\n
\n @if (layoutToolbar) {\n \n }\n
\n @if (sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight) {\n \n tune\n \n }\n @if (withCloseButton) {\n \n close\n \n }\n
\n }\n\n @if ((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false) {\n \n }\n @if (layoutRight) {\n \n \n \n \n \n \n \n \n } @else {\n \n }\n
\n',encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.OnPush,standalone:!0,imports:[common.NgTemplateOutlet,common.AsyncPipe,fesm2022_button.iY,icon.An,sidenav.qe,sidenav.$C,sidenav.$l,toolbar.KQ,tooltip.oV],styles:[layout_componentngResource_default()]})],NgxLayoutComponent);var status_service=__webpack_require__("./projects/status/src/status.service.ts");var layout_wrapper_componentngResource=__webpack_require__("./projects/story-book/src/layout/layout-wrapper.component.scss?ngResource"),layout_wrapper_componentngResource_default=__webpack_require__.n(layout_wrapper_componentngResource);let StorybookLayoutWrapperComponent=class StorybookLayoutWrapperComponent{toolbarColor="primary";withBackButton=!0;withCloseButton=!0;search;ngxStatusService=(0,core.inject)(status_service.t);log(msg){this.ngxStatusService.showStatus({title:msg,type:"info",duration:1e3})}static propDecorators={toolbarColor:[{type:core.Input}]}};StorybookLayoutWrapperComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"storybook-layout-wrapper",template:'
\n \n \n Accès dossier patient\n \n \n \n\n \n \n\n \x3c!-- Primary action --\x3e\n \n \n \n\n \x3c!-- Actions panel --\x3e\n \n \n\n \n \n\n \x3c!-- Right panel --\x3e\n \n
\n Layout right\n
\n \n 1\n 2\n 3\n \n
\n
\n
\n\n \x3c!-- Info boxes panel --\x3e\n \n Info box\n Info box primary\n Info box accent\n \n\n
Layout content
\n \n
\n',changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,standalone:!0,imports:[icon.An,fesm2022_button.iY,fesm2022_button.Sr,chips.uI,chips.gq,tooltip.oV,search_container_component.A,search_container_component.l,NgxLayoutComponent,fesm2022_forms.YN],styles:[layout_wrapper_componentngResource_default()]})],StorybookLayoutWrapperComponent);const layout_stories={title:"Components/Layout",component:NgxLayoutComponent,decorators:[(0,dist.applicationConfig)({providers:[(0,animations.provideAnimations)()]}),(0,dist.moduleMetadata)({imports:[fesm2022_forms.YN],providers:[status_service.t]})],tags:["autodocs"],argTypes:{toolbarColor:{options:["primary","accent"],control:{type:"select"},description:"Sets the color of the toolbar. Choose between primary or accent themes.",table:{defaultValue:{summary:"primary"},type:{summary:"primary | accent"}}}},args:{toolbarColor:"primary"},parameters:{layout:"fullscreen",docs:{description:{component:"The `NgxLayoutComponent` is a flexible layout component for creating application layouts at HUG. It includes options for toolbars, actions, and side panels, making it adaptable for various use cases."}}}},completeLayout={decorators:[(0,dist.moduleMetadata)({imports:[StorybookLayoutWrapperComponent]})],parameters:{docs:{description:{story:"Here you can see everything that can be added to have this complete component.
  • Template layoutToolbar
    • toolbar-titledirective on span to add title
    • ngx-search-containercomponent for searching
  • Template layoutPrimaryAction
  • Template layoutActions
  • Template layoutRight
    • filters-chip-listdirective on div to contain mat-chip-listbox
  • Template layoutInfoBoxes
"}}},render:args=>({props:args,template:''})},layoutToolbar={args:{toolbarColor:"accent"},decorators:[(0,dist.moduleMetadata)({imports:[search_container_component.l,search_container_component.A]})],parameters:{docs:{description:{story:'The layoutToolbar template inside the component adds a toolbar to it.
  • The toolbarColor Input on the component allows you to define the color of the toolbar. Here I have toolbarColor="accent"
  • The span with directive toolbar-title allows you to add a title to the toolbar
  • You can add an ngx-search-container in the toolbar. Its size will fit by default
'}}},render:args=>({props:{...args,search:"",log:(msg,event)=>{console.log(msg,event)}},template:'\n
\n \n \n My toolbar-title\n \n \n \n \n
Layout content
\n
\n
\n '})},actionsToolbar={decorators:[(0,dist.moduleMetadata)({imports:[fesm2022_button.Sr,fesm2022_button.iY,tooltip.oV,icon.An]})],parameters:{docs:{description:{story:"The actions template inside the component adds buttons on the toolbar. You must have the layoutToolbar template for it to work correctly.
  • The layoutPrimaryAction template allows you to add one primary button on the toolbar. Here my add icon button.
  • The layoutActions template allows you to add additional buttons to the toolbar. Here my refresh and my favorite icon button.
"}}},render:args=>({props:{...args,log:msg=>{alert(msg)}},template:'\n
\n \n \n \n\n \x3c!-- Primary action --\x3e\n \n \n \n\n \x3c!-- Actions panel --\x3e\n \n \n\n \n \n
Layout content
\n
\n
\n '})},rightPanel={decorators:[(0,dist.moduleMetadata)({imports:[chips.uI,chips.gq]})],parameters:{docs:{description:{story:"The layoutRight template inside the component adds a right panel to it.
  • A button to Open/Close the right panel will be automatically added to the toolbar
  • >You can add a filters-chip-list directive that can manage your filters
"}}},render:args=>({props:{...args},template:'\n
\n \n \n \n\n \x3c!-- Right panel --\x3e\n \n
\n Layout right\n
\n \n filter 1\n filter 2\n filter 3\n filter 4\n filter 5\n \n
\n
\n
\n
Layout content
\n
\n
\n '})},infosBoxes={parameters:{docs:{description:{story:"The layoutInfoBoxes template inside the component allows you to add informations under the toolbar."}}},render:args=>({props:{...args},template:'\n
\n \n \n \n\n \x3c!-- Info boxes panel --\x3e\n \n Info box\n Info box primary\n Info box accent\n \n\n
Layout content
\n
\n
\n '})},__namedExportsOrder=["completeLayout","layoutToolbar","actionsToolbar","rightPanel","infosBoxes"];completeLayout.parameters={...completeLayout.parameters,docs:{...completeLayout.parameters?.docs,source:{originalSource:"{\n decorators: [moduleMetadata({\n imports: [StorybookLayoutWrapperComponent]\n })],\n parameters: {\n docs: {\n description: {\n story: 'Here you can see everything that can be added to have this complete component.
  • Template layoutToolbar
    • toolbar-titledirective on span to add title
    • ngx-search-containercomponent for searching
  • Template layoutPrimaryAction
  • Template layoutActions
  • Template layoutRight
    • filters-chip-listdirective on div to contain mat-chip-listbox
  • Template layoutInfoBoxes
'\n }\n }\n },\n render: args => ({\n props: args,\n template: ''\n })\n}",...completeLayout.parameters?.docs?.source}}},layoutToolbar.parameters={...layoutToolbar.parameters,docs:{...layoutToolbar.parameters?.docs,source:{originalSource:'{\n args: {\n toolbarColor: \'accent\'\n },\n decorators: [moduleMetadata({\n imports: [NgxSearchInputDirective, NgxSearchContainerComponent]\n })],\n parameters: {\n docs: {\n description: {\n story: \'The layoutToolbar template inside the component adds a toolbar to it.
  • The toolbarColor Input on the component allows you to define the color of the toolbar. Here I have toolbarColor="accent"
  • The span with directive toolbar-title allows you to add a title to the toolbar
  • You can add an ngx-search-container in the toolbar. Its size will fit by default
\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n search: \'\',\n log: (msg: string, event?: Event): void => {\n console.log(msg, event);\n }\n },\n template: `\n
\n \n \n My toolbar-title\n \n \n \n \n
Layout content
\n
\n
\n `\n })\n}',...layoutToolbar.parameters?.docs?.source}}},actionsToolbar.parameters={...actionsToolbar.parameters,docs:{...actionsToolbar.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatFabButton, MatIconButton, MatTooltip, MatIcon]\n })],\n parameters: {\n docs: {\n description: {\n story: \'The actions template inside the component adds buttons on the toolbar. You must have the layoutToolbar template for it to work correctly.
  • The layoutPrimaryAction template allows you to add one primary button on the toolbar. Here my add icon button.
  • The layoutActions template allows you to add additional buttons to the toolbar. Here my refresh and my favorite icon button.
\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n log: (msg: string): void => {\n alert(msg);\n }\n },\n template: `\n
\n \n \n \n\n \x3c!-- Primary action --\x3e\n \n \n \n\n \x3c!-- Actions panel --\x3e\n \n \n\n \n \n
Layout content
\n
\n
\n `\n })\n}',...actionsToolbar.parameters?.docs?.source}}},rightPanel.parameters={...rightPanel.parameters,docs:{...rightPanel.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatChipListbox, MatChipOption]\n })],\n parameters: {\n docs: {\n description: {\n story: \'The layoutRight template inside the component adds a right panel to it.
  • A button to Open/Close the right panel will be automatically added to the toolbar
  • >You can add a filters-chip-list directive that can manage your filters
\'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n \n \n\n \x3c!-- Right panel --\x3e\n \n
\n Layout right\n
\n \n filter 1\n filter 2\n filter 3\n filter 4\n filter 5\n \n
\n
\n
\n
Layout content
\n
\n
\n `\n })\n}',...rightPanel.parameters?.docs?.source}}},infosBoxes.parameters={...infosBoxes.parameters,docs:{...infosBoxes.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'The layoutInfoBoxes template inside the component allows you to add informations under the toolbar.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n \n \n\n \x3c!-- Info boxes panel --\x3e\n \n Info box\n Info box primary\n Info box accent\n \n\n
Layout content
\n
\n
\n `\n })\n}',...infosBoxes.parameters?.docs?.source}}}},"./projects/layout/src/layout.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-layout {\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\nngx-layout.no-left.no-right .main-content {\n padding: 0;\n}\nngx-layout mat-sidenav-container {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\nngx-layout mat-drawer-content,\nngx-layout mat-sidenav-content {\n display: flex !important;\n flex-direction: column;\n}\nngx-layout mat-sidenav {\n width: 200px;\n}\nngx-layout mat-drawer {\n width: 220px;\n}\nngx-layout mat-drawer.right {\n padding: 0.3rem;\n}\nngx-layout mat-drawer.right [filters-title] {\n font-size: 1.2rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 1 1 auto;\n font-weight: bold;\n padding: 0.6rem;\n margin-bottom: 0.3rem;\n}\nngx-layout mat-drawer.right [filters-subtitle] {\n font-size: 1rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 1 1 auto;\n font-weight: 600;\n padding: 0.4rem 0.6rem;\n margin-bottom: 0.3rem;\n margin-top: 0.3rem;\n}\nngx-layout mat-drawer.right [icons-container] {\n display: flex;\n align-items: center;\n}\nngx-layout mat-drawer.right [filters-icon] {\n cursor: pointer;\n transition: color 0.3s ease-in-out;\n}\nngx-layout mat-drawer.right [filters-chip-list] mat-chip-listbox {\n margin: 0;\n max-height: 20vh;\n overflow-y: auto;\n}\nngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip {\n position: relative;\n padding: 0.5rem;\n margin: 0.1rem;\n font-size: 0.75rem;\n transition: 0.3s ease-in-out;\n}\nngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip:not([disabled]) {\n cursor: pointer;\n}\nngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip:not([disabled]):hover:before {\n font-family: "Material Icons";\n content: "close";\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-weight: bold;\n font-size: 1.2rem;\n cursor: pointer;\n transition: 0.3s ease-in-out;\n}\nngx-layout mat-drawer.right [filters-toggle-group] {\n display: flex;\n}\nngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle {\n transition: 0.3s ease-in-out;\n}\nngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon {\n margin-right: 1rem;\n}\nngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content {\n text-align: start;\n}\nngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay {\n height: 100%;\n}\nngx-layout mat-drawer.right mat-form-field {\n width: 100%;\n}\nngx-layout mat-drawer.right .mat-mdc-form-field-infix {\n width: inherit;\n}\nngx-layout mat-drawer.right.mat-drawer-side {\n box-shadow: -3px 0 5px -1px rgba(0, 0, 0, 0.2);\n z-index: 10;\n}\nngx-layout mat-drawer-container {\n flex: 1;\n}\nngx-layout .mat-toolbar:not(.actions) {\n display: flex;\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);\n z-index: 10;\n}\nngx-layout .mat-toolbar:not(.actions) #toolbar-content-container {\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n}\nngx-layout .mat-toolbar:not(.actions) [toolbar-title] {\n overflow: hidden;\n text-overflow: ellipsis;\n}\nngx-layout .mat-toolbar:not(.actions) > div {\n display: flex;\n align-items: center;\n}\nngx-layout .mat-toolbar .mat-mdc-icon-button {\n height: 40px;\n line-height: 40px;\n width: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n}\nngx-layout .mat-toolbar#actions-toolbar {\n flex: 0 0 auto;\n height: 40px;\n font-size: inherit;\n padding-right: 0;\n}\nngx-layout .mat-toolbar#actions-toolbar .info-boxes-container {\n display: flex;\n flex: 1 1 auto;\n justify-content: flex-end;\n}\nngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box {\n display: flex;\n flex-grow: 0;\n line-height: 40px;\n padding-left: 2rem;\n padding-right: 2rem;\n box-shadow: -3px 0 5px -1px rgba(0, 0, 0, 0.2);\n}\nngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar {\n display: flex;\n width: 100%;\n justify-content: space-around;\n}\nngx-layout .mat-toolbar#actions-toolbar .primary-action-container {\n z-index: 20;\n}\nngx-layout .mat-toolbar#actions-toolbar .primary-action-container button {\n background-color: #009688;\n}\nngx-layout .main-content {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n}\nngx-layout .main-content .primary-action-container {\n position: absolute;\n z-index: 20;\n opacity: 0.8;\n transition: 0.3s ease-in-out;\n}\nngx-layout .main-content .primary-action-container:hover {\n opacity: 1;\n}\nngx-layout .main-content .primary-action-container.bottom {\n right: 1rem;\n bottom: 1rem;\n}\nngx-layout .main-content .primary-action-container:not(.bottom) {\n top: 1rem;\n left: 1rem;\n}\nngx-layout ::-webkit-scrollbar {\n width: 12px;\n height: 12px;\n}\nngx-layout ::-webkit-scrollbar-thumb {\n -webkit-transition: 0.3s ease-in-out;\n transition: 0.3s ease-in-out;\n border-radius: 6px;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()},"./projects/search-container/src/search-container.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,"ngx-search-container {\n flex: 1 1 auto;\n display: flex;\n padding-left: 0.5rem;\n}\nngx-search-container .ngx-search-container {\n width: 100%;\n transition: 0.3s ease-in-out;\n border-radius: 4px;\n height: 40px;\n display: flex;\n}\nngx-search-container .ngx-search-container.mobile {\n justify-self: flex-end;\n}\nngx-search-container .ngx-search-container:not(.mobile) {\n min-width: 35vw;\n max-width: 800px;\n}\nngx-search-container .ngx-search-container .mat-icon {\n padding: 0.5rem;\n}\nngx-search-container .ngx-search-container .icon-clear {\n cursor: pointer;\n}\nngx-search-container .ngx-search-container input {\n width: 100%;\n background: none;\n border: none;\n outline: none;\n font-size: 1.2rem;\n}\nngx-search-container .ngx-search-container input:focus {\n outline: none;\n}\nngx-search-container .ngx-search-container-mobile {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n height: 40px;\n}\nngx-search-container .ngx-search-container-mobile.active {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 56px;\n z-index: 10;\n}\nngx-search-container .ngx-search-container-mobile .mat-icon {\n padding: 0.5rem;\n}\nngx-search-container .ngx-search-container-mobile .icon-close-search,\nngx-search-container .ngx-search-container-mobile .icon-open-search {\n cursor: pointer;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()},"./projects/story-book/src/layout/layout-wrapper.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,".layout-wrapper {\n height: 300px;\n position: relative;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/layout-layout-stories.e04d9990.iframe.bundle.js b/layout-layout-stories.e04d9990.iframe.bundle.js new file mode 100644 index 0000000..2e48d62 --- /dev/null +++ b/layout-layout-stories.e04d9990.iframe.bundle.js @@ -0,0 +1 @@ +(self.webpackChunk=self.webpackChunk||[]).push([[888],{"./projects/core/src/services/lazy-loader.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{U:()=>NgxAbstractLazyModule,e:()=>NgxLazyLoaderService});var tslib__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");class NgxAbstractLazyModule{componentType;constructor(componentType){this.componentType=componentType}}let NgxLazyLoaderService=class NgxLazyLoaderService{injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector);loadModule$(path,parentInjector){return(0,rxjs__WEBPACK_IMPORTED_MODULE_1__.H)(path).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((elementModuleOrFactory=>{const injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵcreateInjector"])(elementModuleOrFactory,parentInjector??this.injector);return{injector,module:injector.get(elementModuleOrFactory)}})))}};NgxLazyLoaderService=(0,tslib__WEBPACK_IMPORTED_MODULE_3__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxLazyLoaderService)},"./projects/core/src/services/media.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Lp:()=>NgxMediaService});var tslib__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");const mediaQueryDefinitions=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MEDIA_QUERY_DEFINITIONS"),simplifiedMediaQueryDefinitions=[{alias:"xs",mediaQuery:"(max-width: 599px)"},{alias:"sm",mediaQuery:"(min-width: 600px) and (max-width: 959px)"},{alias:"md",mediaQuery:"(min-width: 860px) and (max-width: 1279px)"},{alias:"lg",mediaQuery:"(min-width: 1280px)"}];let NgxMediaService=class NgxMediaService{isHandset$;isMobile$;mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t("lg");mql={};zone=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone);mediaDefinitions=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(mediaQueryDefinitions,{optional:!0});constructor(){this.mediaDefinitions||(this.mediaDefinitions=simplifiedMediaQueryDefinitions),this.mediaDefinitions.forEach((mediaDefinition=>{const{alias,mediaQuery}=mediaDefinition;this.mql[alias]=window.matchMedia(mediaQuery),this.mql[alias].addEventListener("change",this.onMqlEvent.bind(this,alias)),this.mql[alias].matches&&(this.mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t(alias))})),this.isHandset$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1})),this.isMobile$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias||"sm"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1}))}ngOnDestroy(){Object.keys(this.mql).forEach((alias=>{this.mql[alias].removeEventListener("change",this.onMqlEvent),delete this.mql[alias]}))}onMqlEvent(alias,event){this.zone.run((()=>{event.matches&&this.mediaChanged$.next(alias)}))}static ctorParameters=()=>[]};NgxMediaService=(0,tslib__WEBPACK_IMPORTED_MODULE_5__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxMediaService)},"./projects/search-container/src/search-container.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>NgxSearchContainerComponent,l:()=>NgxSearchInputDirective});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs");var search_container_componentngResource=__webpack_require__("./projects/search-container/src/search-container.component.scss?ngResource"),search_container_componentngResource_default=__webpack_require__.n(search_container_componentngResource),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),tooltip=__webpack_require__("./node_modules/@angular/material/fesm2022/tooltip.mjs"),media_service=__webpack_require__("./projects/core/src/services/media.service.ts"),BehaviorSubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),first=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/first.js"),tap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),distinctUntilChanged=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");let NgxSearchInputDirective=class NgxSearchInputDirective{ngControl=(0,core.inject)(fesm2022_forms.vO);elementRef=(0,core.inject)(core.ElementRef);constructor(){this.focus()}focus(){this.elementRef.nativeElement.focus()}static ctorParameters=()=>[]};NgxSearchInputDirective=(0,tslib_es6.Cg)([(0,core.Directive)({selector:"[ngx-search-input]",standalone:!0})],NgxSearchInputDirective);let NgxSearchContainerComponent=class NgxSearchContainerComponent{cleared=new core.EventEmitter;clearTooltip="Effacer la recherche";openSearchTooltip="Ouvrir la recherche";closeSearchTooltip="Quitter la recherche";mobileSearch;activeSearch$=new BehaviorSubject.t(!1);searchInputValue$;set searchInput(searchInput){if(!searchInput)throw new Error("You need to add the attribute ngx-search-input to the NgxSearchContainerComponent");if(!searchInput.ngControl)throw new Error("You need to add the attribute ngModel to the NgxSearchContainerComponent");this._searchInput=searchInput}set right(value){this._right=value}get right(){return this._right}mediaService=(0,core.inject)(media_service.Lp);zone=(0,core.inject)(core.NgZone);destroyRef=(0,core.inject)(core.DestroyRef);_searchInput;_right=null;constructor(){this.activeSearch$.pipe((0,switchMap.n)((activeSearch=>this.zone.onStable.pipe((0,first.$)(),(0,tap.M)((()=>{activeSearch||this.reset(),this._searchInput?.focus()}))))),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe()}ngAfterContentInit(){this.searchInputValue$=this._searchInput?.ngControl?.valueChanges?.pipe((0,distinctUntilChanged.F)(),(0,shareReplay.t)({bufferSize:1,refCount:!1}))??void 0}reset(){this._searchInput?.ngControl?.reset(),this.cleared.emit()}static ctorParameters=()=>[];static propDecorators={cleared:[{type:core.Output}],clearTooltip:[{type:core.Input}],openSearchTooltip:[{type:core.Input}],closeSearchTooltip:[{type:core.Input}],mobileSearch:[{type:core.ContentChild,args:["mobileSearch"]}],searchInput:[{type:core.ContentChild,args:[NgxSearchInputDirective]}],right:[{type:core.Input}]}};NgxSearchContainerComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-search-container",template:'@if (mediaService.isHandset$ | async) {\n
\n @if (activeSearch$ | async) {\n \n arrow_back\n \n \n } @else {\n \n search\n \n }\n
\n} @else {\n \n}\n\n\n
\n search\n \n @if (searchInputValue$ | async) {\n close\n }\n \n
\n
\n',encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.OnPush,standalone:!0,imports:[common.AsyncPipe,common.NgTemplateOutlet,icon.An,tooltip.oV],styles:[search_container_componentngResource_default()]})],NgxSearchContainerComponent)},"./projects/status/src/status.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{t:()=>NgxStatusService});var tslib__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),_hug_ngx_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),rxjs__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js"),rxjs__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),rxjs__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js");let NgxStatusService=class NgxStatusService{document=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_common__WEBPACK_IMPORTED_MODULE_1__.DOCUMENT);lazyLoaderService=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_hug_ngx_core__WEBPACK_IMPORTED_MODULE_2__.e);injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector);resolver=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ComponentFactoryResolver);destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef);info(text,title="",duration,actions){this.showStatus({type:"info",title,text,duration,actions})}success(text,title="",duration,actions){this.showStatus({type:"success",title,text,duration,actions})}warning(text,title="Attention",technicalText,duration,actions){this.showStatus({type:"warn",title,text,duration,technicalText,actions})}error(text,title="Erreur",technicalText,duration,actions){this.showStatus({type:"danger",title,text,duration,technicalText,actions})}showStatus(status){this.lazyLoaderService.loadModule$(Promise.all([__webpack_require__.e(584),__webpack_require__.e(73)]).then(__webpack_require__.bind(__webpack_require__,"./projects/status/src/status.module.ts")).then((m=>m.NgxStatusModule))).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_3__.s)(1),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.n)((moduleInfos=>{const componentRef=this.resolver.resolveComponentFactory(moduleInfos.module.componentType).create(this.injector);componentRef.instance.status=status;const applicationRef=this.injector.get(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ApplicationRef);applicationRef.attachView(componentRef.hostView);const domElement=componentRef.hostView.rootNodes[0];this.document.body.appendChild(domElement),applicationRef.tick();const duration=status.duration||"danger"===status.type&&3e4||8e3;return(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(duration).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_6__.X)(componentRef.instance.close),(0,rxjs__WEBPACK_IMPORTED_MODULE_7__.M)((()=>{componentRef.destroy(),applicationRef.tick()})))})),(0,_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_8__.pQ)(this.destroyRef)).subscribe()}};NgxStatusService=(0,tslib__WEBPACK_IMPORTED_MODULE_9__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxStatusService)},"./projects/story-book/src/layout/layout.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,actionsToolbar:()=>actionsToolbar,completeLayout:()=>completeLayout,default:()=>layout_stories,infosBoxes:()=>infosBoxes,layoutToolbar:()=>layoutToolbar,rightPanel:()=>rightPanel});var fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),fesm2022_button=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),chips=__webpack_require__("./node_modules/@angular/material/fesm2022/chips.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),tooltip=__webpack_require__("./node_modules/@angular/material/fesm2022/tooltip.mjs"),animations=__webpack_require__("./node_modules/@angular/platform-browser/fesm2022/animations.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),search_container_component=__webpack_require__("./projects/search-container/src/search-container.component.ts"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs");var layout_componentngResource=__webpack_require__("./projects/layout/src/layout.component.scss?ngResource"),layout_componentngResource_default=__webpack_require__.n(layout_componentngResource),coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),sidenav=__webpack_require__("./node_modules/@angular/material/fesm2022/sidenav.mjs"),toolbar=__webpack_require__("./node_modules/@angular/material/fesm2022/toolbar.mjs"),media_service=__webpack_require__("./projects/core/src/services/media.service.ts"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),mergeWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");let NgxSidenavService=class NgxSidenavService{openChanged$;modeChanged$;hiddenChanged$;mediaService=(0,core.inject)(media_service.Lp);opened$=new ReplaySubject.m(1);mode$=new ReplaySubject.m(1);hidden$=new ReplaySubject.m(1);toggle$=new ReplaySubject.m(1);constructor(){const alias$=this.mediaService.mediaChanged$.pipe((0,shareReplay.t)({bufferSize:1,refCount:!1})),toggleChanged$=this.toggle$.pipe((0,switchMap.n)((()=>this.openChanged$.pipe((0,take.s)(1),(0,map.T)((opened=>!opened))))),(0,shareReplay.t)({bufferSize:1,refCount:!1}));this.openChanged$=alias$.pipe((0,map.T)((alias=>"lg"===alias||"xl"===alias)),(0,mergeWith.X)(this.opened$,toggleChanged$),(0,shareReplay.t)({bufferSize:1,refCount:!1})),this.modeChanged$=alias$.pipe((0,map.T)((alias=>"xs"===alias?"over":"side")),(0,mergeWith.X)(this.mode$),(0,shareReplay.t)({bufferSize:1,refCount:!1})),this.hiddenChanged$=alias$.pipe((0,map.T)((alias=>"xs"===alias)),(0,mergeWith.X)(this.hidden$),(0,shareReplay.t)({bufferSize:1,refCount:!1}))}open(){this.opened$.next(!0)}close(){this.opened$.next(!1)}toggle(){this.toggle$.next()}hide(){this.hidden$.next(!0)}show(){this.hidden$.next(!1)}mode(value){this.mode$.next(value)}static ctorParameters=()=>[]};NgxSidenavService=(0,tslib_es6.Cg)([(0,core.Injectable)({providedIn:"root"})],NgxSidenavService);let NgxLayoutComponent=class NgxLayoutComponent{toolbarColor="primary";editorToolbarId="editor-toolbar";closeButtonLabel="Fermer";backButtonLabel="Retour";layoutToolbarExternal;layoutPrimaryActionExternal;layoutActionsExternal;layoutInfoBoxesExternal;layoutRightExternal;closeButtonClicked=new core.EventEmitter;backButtonClicked=new core.EventEmitter;sideFilterClosed=new core.EventEmitter;sideFilterOpened=new core.EventEmitter;layoutToolbarContent;layoutPrimaryActionContent;layoutActionsContent;layoutInfoBoxesContent;layoutRightContent;noRight=!1;sideFilter;mediaService=(0,core.inject)(media_service.Lp);sidenavService=(0,core.inject)(NgxSidenavService);get layoutToolbar(){return this.layoutToolbarExternal??this.layoutToolbarContent}get layoutPrimaryAction(){return this.layoutPrimaryActionExternal??this.layoutPrimaryActionContent}get layoutActions(){return this.layoutActionsExternal??this.layoutActionsContent}get layoutInfoBoxes(){return this.layoutInfoBoxesExternal??this.layoutInfoBoxesContent}get layoutRight(){const value=this.layoutRightExternal??this.layoutRightContent;return this.noRight=!value,value}_withSidenav=!1;set withSidenav(value){this._withSidenav=(0,coercion.he)(value)}get withSidenav(){return this._withSidenav}_keepFilterButtonDisplayed=!0;set keepFilterButtonDisplayed(value){this._keepFilterButtonDisplayed=(0,coercion.he)(value)}get keepFilterButtonDisplayed(){return this._keepFilterButtonDisplayed}_withCloseButton=!1;set withCloseButton(value){this._withCloseButton=(0,coercion.he)(value)}get withCloseButton(){return this._withCloseButton}_withBackButton=!1;set withBackButton(value){this._withBackButton=(0,coercion.he)(value)}get withBackButton(){return this._withBackButton}closeSideFilter(){this.sideFilter?.close()}openSideFilter(){this.sideFilter?.open()}static propDecorators={toolbarColor:[{type:core.Input}],editorToolbarId:[{type:core.Input}],closeButtonLabel:[{type:core.Input}],backButtonLabel:[{type:core.Input}],layoutToolbarExternal:[{type:core.Input}],layoutPrimaryActionExternal:[{type:core.Input}],layoutActionsExternal:[{type:core.Input}],layoutInfoBoxesExternal:[{type:core.Input}],layoutRightExternal:[{type:core.Input}],closeButtonClicked:[{type:core.Output}],backButtonClicked:[{type:core.Output}],sideFilterClosed:[{type:core.Output}],sideFilterOpened:[{type:core.Output}],layoutToolbarContent:[{type:core.ContentChild,args:["layoutToolbar"]}],layoutPrimaryActionContent:[{type:core.ContentChild,args:["layoutPrimaryAction"]}],layoutActionsContent:[{type:core.ContentChild,args:["layoutActions"]}],layoutInfoBoxesContent:[{type:core.ContentChild,args:["layoutInfoBoxes"]}],layoutRightContent:[{type:core.ContentChild,args:["layoutRight"]}],noRight:[{type:core.HostBinding,args:["class.no-right"]}],sideFilter:[{type:core.ViewChild,args:["sideFilter"]}],withSidenav:[{type:core.Input}],keepFilterButtonDisplayed:[{type:core.Input}],withCloseButton:[{type:core.Input}],withBackButton:[{type:core.Input}]}};NgxLayoutComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-layout",template:'\n\n\n
\n @if (\n layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\n ) {\n \n \n \n }\n \n
\n @if ((mediaService.isHandset$ | async) && actionsToolbar) {\n \n }\n
\n\n\n \n @if (layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false) {\n \n \n \n }\n @if (layoutActions) {\n \n }\n @if (layoutInfoBoxes && (mediaService.isHandset$ | async) === false) {\n
\n \n
\n }\n \n
\n\n\n @if (layoutToolbar || layoutRight) {\n \n @if (withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false) {\n \n }\n @if (withBackButton) {\n \n arrow_back\n \n }\n
\n @if (layoutToolbar) {\n \n }\n
\n @if (sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight) {\n \n tune\n \n }\n @if (withCloseButton) {\n \n close\n \n }\n
\n }\n\n @if ((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false) {\n \n }\n @if (layoutRight) {\n \n \n \n \n \n \n \n \n } @else {\n \n }\n
\n',encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.OnPush,standalone:!0,imports:[common.NgTemplateOutlet,common.AsyncPipe,fesm2022_button.iY,icon.An,sidenav.qe,sidenav.$C,sidenav.$l,toolbar.KQ,tooltip.oV],styles:[layout_componentngResource_default()]})],NgxLayoutComponent);var status_service=__webpack_require__("./projects/status/src/status.service.ts");var layout_wrapper_componentngResource=__webpack_require__("./projects/story-book/src/layout/layout-wrapper.component.scss?ngResource"),layout_wrapper_componentngResource_default=__webpack_require__.n(layout_wrapper_componentngResource);let StorybookLayoutWrapperComponent=class StorybookLayoutWrapperComponent{toolbarColor="primary";withBackButton=!0;withCloseButton=!0;search;ngxStatusService=(0,core.inject)(status_service.t);log(msg){this.ngxStatusService.showStatus({title:msg,type:"info",duration:1e3})}static propDecorators={toolbarColor:[{type:core.Input}]}};StorybookLayoutWrapperComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"storybook-layout-wrapper",template:'
\n \n \n Accès dossier patient\n \n \n \n\n \n \n\n \x3c!-- Primary action --\x3e\n \n \n \n\n \x3c!-- Actions panel --\x3e\n \n \n\n \n \n\n \x3c!-- Right panel --\x3e\n \n
\n Layout right\n
\n \n 1\n 2\n 3\n \n
\n
\n
\n\n \x3c!-- Info boxes panel --\x3e\n \n Info box\n Info box primary\n Info box accent\n \n\n
Layout content
\n \n
\n',changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,standalone:!0,imports:[icon.An,fesm2022_button.iY,fesm2022_button.Sr,chips.uI,chips.gq,tooltip.oV,search_container_component.A,search_container_component.l,NgxLayoutComponent,fesm2022_forms.YN],styles:[layout_wrapper_componentngResource_default()]})],StorybookLayoutWrapperComponent);const layout_stories={title:"Components/Layout",component:NgxLayoutComponent,decorators:[(0,dist.applicationConfig)({providers:[(0,animations.provideAnimations)()]}),(0,dist.moduleMetadata)({imports:[fesm2022_forms.YN],providers:[status_service.t]})],tags:["autodocs"],argTypes:{toolbarColor:{options:["primary","accent"],control:{type:"select"},description:"Sets the color of the toolbar. Choose between primary or accent themes.",table:{defaultValue:{summary:"primary"},type:{summary:"primary | accent"}}}},args:{toolbarColor:"primary"},parameters:{layout:"fullscreen",docs:{description:{component:"The `NgxLayoutComponent` is a flexible layout component for creating application layouts at HUG. It includes options for toolbars, actions, and side panels, making it adaptable for various use cases."}}}},completeLayout={decorators:[(0,dist.moduleMetadata)({imports:[StorybookLayoutWrapperComponent]})],parameters:{docs:{description:{story:"Here you can see everything that can be added to have this complete component.
  • Template layoutToolbar
    • toolbar-titledirective on span to add title
    • ngx-search-containercomponent for searching
  • Template layoutPrimaryAction
  • Template layoutActions
  • Template layoutRight
    • filters-chip-listdirective on div to contain mat-chip-listbox
  • Template layoutInfoBoxes
"}}},render:args=>({props:args,template:''})},layoutToolbar={args:{toolbarColor:"accent"},decorators:[(0,dist.moduleMetadata)({imports:[search_container_component.l,search_container_component.A]})],parameters:{docs:{description:{story:'The layoutToolbar template inside the component adds a toolbar to it.
  • The toolbarColor Input on the component allows you to define the color of the toolbar. Here I have toolbarColor="accent"
  • The span with directive toolbar-title allows you to add a title to the toolbar
  • You can add an ngx-search-container in the toolbar. Its size will fit by default
'}}},render:args=>({props:{...args,search:"",log:(msg,event)=>{console.log(msg,event)}},template:'\n
\n \n \n My toolbar-title\n \n \n \n \n
Layout content
\n
\n
\n '})},actionsToolbar={decorators:[(0,dist.moduleMetadata)({imports:[fesm2022_button.Sr,fesm2022_button.iY,tooltip.oV,icon.An]})],parameters:{docs:{description:{story:"The actions template inside the component adds buttons on the toolbar. You must have the layoutToolbar template for it to work correctly.
  • The layoutPrimaryAction template allows you to add one primary button on the toolbar. Here my add icon button.
  • The layoutActions template allows you to add additional buttons to the toolbar. Here my refresh and my favorite icon button.
"}}},render:args=>({props:{...args,log:msg=>{alert(msg)}},template:'\n
\n \n \n \n\n \x3c!-- Primary action --\x3e\n \n \n \n\n \x3c!-- Actions panel --\x3e\n \n \n\n \n \n
Layout content
\n
\n
\n '})},rightPanel={decorators:[(0,dist.moduleMetadata)({imports:[chips.uI,chips.gq]})],parameters:{docs:{description:{story:"The layoutRight template inside the component adds a right panel to it.
  • A button to Open/Close the right panel will be automatically added to the toolbar
  • >You can add a filters-chip-list directive that can manage your filters
"}}},render:args=>({props:{...args},template:'\n
\n \n \n \n\n \x3c!-- Right panel --\x3e\n \n
\n Layout right\n
\n \n filter 1\n filter 2\n filter 3\n filter 4\n filter 5\n \n
\n
\n
\n
Layout content
\n
\n
\n '})},infosBoxes={parameters:{docs:{description:{story:"The layoutInfoBoxes template inside the component allows you to add informations under the toolbar."}}},render:args=>({props:{...args},template:'\n
\n \n \n \n\n \x3c!-- Info boxes panel --\x3e\n \n Info box\n Info box primary\n Info box accent\n \n\n
Layout content
\n
\n
\n '})},__namedExportsOrder=["completeLayout","layoutToolbar","actionsToolbar","rightPanel","infosBoxes"];completeLayout.parameters={...completeLayout.parameters,docs:{...completeLayout.parameters?.docs,source:{originalSource:"{\n decorators: [moduleMetadata({\n imports: [StorybookLayoutWrapperComponent]\n })],\n parameters: {\n docs: {\n description: {\n story: 'Here you can see everything that can be added to have this complete component.
  • Template layoutToolbar
    • toolbar-titledirective on span to add title
    • ngx-search-containercomponent for searching
  • Template layoutPrimaryAction
  • Template layoutActions
  • Template layoutRight
    • filters-chip-listdirective on div to contain mat-chip-listbox
  • Template layoutInfoBoxes
'\n }\n }\n },\n render: args => ({\n props: args,\n template: ''\n })\n}",...completeLayout.parameters?.docs?.source}}},layoutToolbar.parameters={...layoutToolbar.parameters,docs:{...layoutToolbar.parameters?.docs,source:{originalSource:'{\n args: {\n toolbarColor: \'accent\'\n },\n decorators: [moduleMetadata({\n imports: [NgxSearchInputDirective, NgxSearchContainerComponent]\n })],\n parameters: {\n docs: {\n description: {\n story: \'The layoutToolbar template inside the component adds a toolbar to it.
  • The toolbarColor Input on the component allows you to define the color of the toolbar. Here I have toolbarColor="accent"
  • The span with directive toolbar-title allows you to add a title to the toolbar
  • You can add an ngx-search-container in the toolbar. Its size will fit by default
\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n search: \'\',\n log: (msg: string, event?: Event): void => {\n console.log(msg, event);\n }\n },\n template: `\n
\n \n \n My toolbar-title\n \n \n \n \n
Layout content
\n
\n
\n `\n })\n}',...layoutToolbar.parameters?.docs?.source}}},actionsToolbar.parameters={...actionsToolbar.parameters,docs:{...actionsToolbar.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatFabButton, MatIconButton, MatTooltip, MatIcon]\n })],\n parameters: {\n docs: {\n description: {\n story: \'The actions template inside the component adds buttons on the toolbar. You must have the layoutToolbar template for it to work correctly.
  • The layoutPrimaryAction template allows you to add one primary button on the toolbar. Here my add icon button.
  • The layoutActions template allows you to add additional buttons to the toolbar. Here my refresh and my favorite icon button.
\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n log: (msg: string): void => {\n alert(msg);\n }\n },\n template: `\n
\n \n \n \n\n \x3c!-- Primary action --\x3e\n \n \n \n\n \x3c!-- Actions panel --\x3e\n \n \n\n \n \n
Layout content
\n
\n
\n `\n })\n}',...actionsToolbar.parameters?.docs?.source}}},rightPanel.parameters={...rightPanel.parameters,docs:{...rightPanel.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatChipListbox, MatChipOption]\n })],\n parameters: {\n docs: {\n description: {\n story: \'The layoutRight template inside the component adds a right panel to it.
  • A button to Open/Close the right panel will be automatically added to the toolbar
  • >You can add a filters-chip-list directive that can manage your filters
\'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n \n \n\n \x3c!-- Right panel --\x3e\n \n
\n Layout right\n
\n \n filter 1\n filter 2\n filter 3\n filter 4\n filter 5\n \n
\n
\n
\n
Layout content
\n
\n
\n `\n })\n}',...rightPanel.parameters?.docs?.source}}},infosBoxes.parameters={...infosBoxes.parameters,docs:{...infosBoxes.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'The layoutInfoBoxes template inside the component allows you to add informations under the toolbar.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n \n \n\n \x3c!-- Info boxes panel --\x3e\n \n Info box\n Info box primary\n Info box accent\n \n\n
Layout content
\n
\n
\n `\n })\n}',...infosBoxes.parameters?.docs?.source}}}},"./projects/layout/src/layout.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-layout {\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\nngx-layout.no-left.no-right .main-content {\n padding: 0;\n}\nngx-layout mat-sidenav-container {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\nngx-layout mat-drawer-content,\nngx-layout mat-sidenav-content {\n display: flex !important;\n flex-direction: column;\n}\nngx-layout mat-sidenav {\n width: 200px;\n}\nngx-layout mat-drawer {\n width: 220px;\n}\nngx-layout mat-drawer.right {\n padding: 0.3rem;\n}\nngx-layout mat-drawer.right [filters-title] {\n font-size: 1.2rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 1 1 auto;\n font-weight: bold;\n padding: 0.6rem;\n margin-bottom: 0.3rem;\n}\nngx-layout mat-drawer.right [filters-subtitle] {\n font-size: 1rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 1 1 auto;\n font-weight: 600;\n padding: 0.4rem 0.6rem;\n margin-bottom: 0.3rem;\n margin-top: 0.3rem;\n}\nngx-layout mat-drawer.right [icons-container] {\n display: flex;\n align-items: center;\n}\nngx-layout mat-drawer.right [filters-icon] {\n cursor: pointer;\n transition: color 0.3s ease-in-out;\n}\nngx-layout mat-drawer.right [filters-chip-list] mat-chip-listbox {\n margin: 0;\n max-height: 20vh;\n overflow-y: auto;\n}\nngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip {\n position: relative;\n padding: 0.5rem;\n margin: 0.1rem;\n font-size: 0.75rem;\n transition: 0.3s ease-in-out;\n}\nngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip:not([disabled]) {\n cursor: pointer;\n}\nngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip:not([disabled]):hover:before {\n font-family: "Material Icons";\n content: "close";\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n font-weight: bold;\n font-size: 1.2rem;\n cursor: pointer;\n transition: 0.3s ease-in-out;\n}\nngx-layout mat-drawer.right [filters-toggle-group] {\n display: flex;\n}\nngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle {\n transition: 0.3s ease-in-out;\n}\nngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon {\n margin-right: 1rem;\n}\nngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content {\n text-align: start;\n}\nngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay {\n height: 100%;\n}\nngx-layout mat-drawer.right mat-form-field {\n width: 100%;\n}\nngx-layout mat-drawer.right .mat-mdc-form-field-infix {\n width: inherit;\n}\nngx-layout mat-drawer.right.mat-drawer-side {\n box-shadow: -3px 0 5px -1px rgba(0, 0, 0, 0.2);\n z-index: 10;\n}\nngx-layout mat-drawer-container {\n flex: 1;\n}\nngx-layout .mat-toolbar:not(.actions) {\n display: flex;\n box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);\n z-index: 10;\n}\nngx-layout .mat-toolbar:not(.actions) #toolbar-content-container {\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n}\nngx-layout .mat-toolbar:not(.actions) [toolbar-title] {\n overflow: hidden;\n text-overflow: ellipsis;\n}\nngx-layout .mat-toolbar:not(.actions) > div {\n display: flex;\n align-items: center;\n}\nngx-layout .mat-toolbar .mat-mdc-icon-button {\n height: 40px;\n line-height: 40px;\n width: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n}\nngx-layout .mat-toolbar#actions-toolbar {\n flex: 0 0 auto;\n height: 40px;\n font-size: inherit;\n padding-right: 0;\n}\nngx-layout .mat-toolbar#actions-toolbar .info-boxes-container {\n display: flex;\n flex: 1 1 auto;\n justify-content: flex-end;\n}\nngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box {\n display: flex;\n flex-grow: 0;\n line-height: 40px;\n padding-left: 2rem;\n padding-right: 2rem;\n box-shadow: -3px 0 5px -1px rgba(0, 0, 0, 0.2);\n}\nngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar {\n display: flex;\n width: 100%;\n justify-content: space-around;\n}\nngx-layout .mat-toolbar#actions-toolbar .primary-action-container {\n z-index: 20;\n}\nngx-layout .mat-toolbar#actions-toolbar .primary-action-container button {\n background-color: #009688;\n}\nngx-layout .main-content {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n}\nngx-layout .main-content .primary-action-container {\n position: absolute;\n z-index: 20;\n opacity: 0.8;\n transition: 0.3s ease-in-out;\n}\nngx-layout .main-content .primary-action-container:hover {\n opacity: 1;\n}\nngx-layout .main-content .primary-action-container.bottom {\n right: 1rem;\n bottom: 1rem;\n}\nngx-layout .main-content .primary-action-container:not(.bottom) {\n top: 1rem;\n left: 1rem;\n}\nngx-layout ::-webkit-scrollbar {\n width: 12px;\n height: 12px;\n}\nngx-layout ::-webkit-scrollbar-thumb {\n -webkit-transition: 0.3s ease-in-out;\n transition: 0.3s ease-in-out;\n border-radius: 6px;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()},"./projects/search-container/src/search-container.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,"ngx-search-container {\n flex: 1 1 auto;\n display: flex;\n padding-left: 0.5rem;\n}\nngx-search-container .ngx-search-container {\n width: 100%;\n transition: 0.3s ease-in-out;\n border-radius: 4px;\n height: 40px;\n display: flex;\n}\nngx-search-container .ngx-search-container.mobile {\n justify-self: flex-end;\n}\nngx-search-container .ngx-search-container:not(.mobile) {\n min-width: 35vw;\n max-width: 800px;\n}\nngx-search-container .ngx-search-container .mat-icon {\n padding: 0.5rem;\n}\nngx-search-container .ngx-search-container .icon-clear {\n cursor: pointer;\n}\nngx-search-container .ngx-search-container input {\n width: 100%;\n background: none;\n border: none;\n outline: none;\n font-size: 1.2rem;\n}\nngx-search-container .ngx-search-container input:focus {\n outline: none;\n}\nngx-search-container .ngx-search-container-mobile {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n height: 40px;\n}\nngx-search-container .ngx-search-container-mobile.active {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 56px;\n z-index: 10;\n}\nngx-search-container .ngx-search-container-mobile .mat-icon {\n padding: 0.5rem;\n}\nngx-search-container .ngx-search-container-mobile .icon-close-search,\nngx-search-container .ngx-search-container-mobile .icon-open-search {\n cursor: pointer;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()},"./projects/story-book/src/layout/layout-wrapper.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,".layout-wrapper {\n height: 300px;\n position: relative;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/main.71053a7e.iframe.bundle.js b/main.71053a7e.iframe.bundle.js new file mode 100644 index 0000000..30ffe22 --- /dev/null +++ b/main.71053a7e.iframe.bundle.js @@ -0,0 +1 @@ +(self.webpackChunk=self.webpackChunk||[]).push([[792],{"./projects/story-book/preview.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>story_book_preview});var angular=__webpack_require__("./node_modules/@storybook/addon-docs/angular/index.js");const documentation_namespaceObject=JSON.parse('{"pipes":[],"interfaces":[],"injectables":[],"guards":[],"interceptors":[],"classes":[],"directives":[],"components":[],"modules":[],"miscellaneous":{"variables":[{"name":"actionsToolbar","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFabButton,\\n MatIconButton,\\n MatTooltip,\\n MatIcon\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The actions template inside the component adds buttons on the toolbar. You must have the layoutToolbar template for it to work correctly.
  • The layoutPrimaryAction template allows you to add one primary button on the toolbar. Here my add icon button.
  • The layoutActions template allows you to add additional buttons to the toolbar. Here my refresh and my favorite icon button.
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n log: (msg: string): void => {\\n alert(msg);\\n }\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Primary action --\x3e\\n \\n \\n \\n\\n \x3c!-- Actions panel --\x3e\\n \\n \\n\\n \\n \\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"appearance","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggle,\\n MatButtonToggleGroup\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This component supports different appearances for `mat-form-field`.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'fill\',\\n appearanceChanged(value: string): void {\\n this[\'appearance\'] = value;\\n }\\n },\\n template: `\\n
\\n
\\n \\n This is my label\\n \\n \\n \\n
\\n
\\n \\n Fill\\n Outline\\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n `]\\n })\\n}"},{"name":"basicWarnHorizontal","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with a \\"warn\\" type and horizontal layout. It shows a simple warning message with default settings.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"warn\\" horizontal\\n \\n
\\n `\\n }),\\n args: {\\n type: \'warn\',\\n horizontal: true,\\n showCloseIcon: false,\\n title: \'My title\'\\n }\\n}"},{"name":"combinedSplitters","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story presents a combination of two splitters: a vertical splitter nested inside a horizontal splitter. This allows creating a complex layout with resizable areas in both directions.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \x3c!-- Horizontal Splitter --\x3e\\n \\n \x3c!-- First Horizontal Area --\x3e\\n \\n \x3c!-- Vertical Splitter Inside the First Horizontal Area --\x3e\\n \\n \x3c!-- First Vertical Area --\x3e\\n \\n

Content in the first vertical area...

\\n
\\n \x3c!-- Second Vertical Area --\x3e\\n \\n

Content in the second vertical area...

\\n
\\n
\\n
\\n \x3c!-- Second Horizontal Area --\x3e\\n \\n

Content in the second horizontal area...

\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"complete","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with all inputs configured, including actions, title, icon, and layout options. It shows how the component behaves with various properties and interactive elements.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This is a default message box, in vertical layout.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'info\',\\n title: undefined,\\n icon: undefined,\\n actions: [\\n {\\n action: (): void => alert(\'remove action\'),\\n icon: \'remove\'\\n },\\n {\\n action: (): void => alert(\'add action\'),\\n icon: \'add\'\\n }\\n ],\\n horizontal: false,\\n showCloseIcon: false\\n }\\n}"},{"name":"complete","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example showcases a `NgxStatusComponent` with all available features, including title, type, text, date, duration, custom CSS class, technical text, and multiple actions. Depending on the user\\\\\'s \\"familyCode\\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'This is a sample status message.\',\\n date: new Date(),\\n duration: 5000,\\n className: \'my-custom-css-class-2\',\\n technicalText: \'Technical details about the status.\',\\n actions: [\\n {\\n label: \'Action 1\',\\n callback: (): void => console.log(\'Action 1 triggered.\')\\n },\\n {\\n label: \'Action 2\',\\n callback: (): void => console.log(\'Action 2 triggered.\')\\n }\\n ]\\n }\\n }\\n}"},{"name":"completeLayout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n StorybookLayoutWrapperComponent\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Here you can see everything that can be added to have this complete component.
  • Template layoutToolbar
    • toolbar-titledirective on span to add title
    • ngx-search-containercomponent for searching
  • Template layoutPrimaryAction
  • Template layoutActions
  • Template layoutRight
    • filters-chip-listdirective on div to contain mat-chip-listbox
  • Template layoutInfoBoxes
\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: \'\'\\n })\\n}"},{"name":"config","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/main.ts","deprecated":false,"deprecationMessage":"","type":"StorybookConfig","defaultValue":"{\\n stories: [\\n \'./src/**/*.mdx\',\\n \'./src/**/*.stories.@(js|jsx|mjs|ts|tsx)\'\\n ],\\n addons: [\\n {\\n name: getAbsolutePath(\'@storybook/addon-essentials\'),\\n options: {\\n \'actions\': false\\n }\\n },\\n getAbsolutePath(\'@storybook/addon-themes\'),\\n getAbsolutePath(\'@storybook/addon-links\')\\n ],\\n framework: {\\n name: getAbsolutePath(\'@storybook/angular\'),\\n options: {}\\n },\\n staticDirs: [\\n \'./public\'\\n ],\\n webpackFinal: webpackConfig => {\\n webpackConfig.performance = (typeof webpackConfig.performance === \'object\') ? webpackConfig.performance : {};\\n webpackConfig.performance.hints = false;\\n webpackConfig.performance.maxEntrypointSize = 512000;\\n webpackConfig.performance.maxAssetSize = 512000;\\n return webpackConfig;\\n },\\n core: {\\n disableTelemetry: true\\n }\\n}"},{"name":"customArrowIcons","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n Custom Arrow Icons\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n }),\\n args: {\\n arrowIcons: true\\n }\\n}"},{"name":"customIcon","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'It shows a simple success message with default settings but with custom agriculture icon.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"success\\" horizontal\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n icon: \'agriculture\',\\n horizontal: true,\\n showCloseIcon: false,\\n title: \'My agriculture icon\'\\n }\\n}"},{"name":"customizableSplitAreas","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFormField, MatLabel, FormsModule, MatInput\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story provides an example of how to customize the properties of each split area dynamically. It allows changing the size and minimum size of each area through input fields.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n firstAreaSize: 50,\\n secondAreaSize: 50,\\n firstAreaMinSize: 100,\\n secondAreaMinSize: 10,\\n firstAreaSizeChanged(size: number): void {\\n if (size > 100) {\\n size = 100;\\n } else if (size < 0) {\\n size = 0;\\n }\\n this[\'firstAreaSize\'] = size;\\n this[\'secondAreaSize\'] = 100 - size;\\n },\\n secondAreaSizeChanged(size: number): void {\\n if (size > 100) {\\n size = 100;\\n } else if (size < 0) {\\n size = 0;\\n }\\n this[\'secondAreaSize\'] = size;\\n this[\'firstAreaSize\'] = 100 - size;\\n },\\n firstAreaMinSizeChanged(size: number): void {\\n this[\'firstAreaMinSize\'] = size;\\n },\\n secondAreaMinSizeChanged(size: number): void {\\n this[\'secondAreaMinSize\'] = size;\\n }\\n },\\n template: `\\n
\\n \\n \\n Area 1\\n
FirstArea minSize
\\n
\\n \\n Area 2\\n
SecondArea minSize
\\n
\\n
\\n
\\n
\\n
\\n \\n First Area Size (%)\\n \\n \\n \\n Second Area Size (%)\\n \\n \\n
\\n
\\n \\n First Area Minimum Size (px)\\n \\n \\n \\n Second Area Minimum Size (px)\\n \\n \\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"customTooltips","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Shows the search container with custom tooltip texts for clear, open, and close actions.\'\\n }\\n }\\n },\\n ...standard,\\n args: {\\n clearTooltip: \'Clear search\',\\n openSearchTooltip: \'Start searching\',\\n closeSearchTooltip: \'Close search\'\\n }\\n}"},{"name":"disabledSplitter","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'In this story, the splitter is disabled, preventing the user from resizing the areas.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n `\\n }),\\n args: {\\n disabled: true\\n }\\n}"},{"name":"dynamicBadgeColor","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Depending on the user\\\\\'s \\"familyCode\\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n familyCodeChanged(code: string): void {\\n this[\'user\'] = {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: code,\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n Social\\n Infirmier-e\\n Médecin dentiste\\n Custom text\\n Empty\\n \\n
\\n
\\n `\\n }),\\n args: {\\n user: {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Social\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n }\\n }\\n}"},{"name":"getAbsolutePath","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/main.ts","deprecated":false,"deprecationMessage":"","type":"","defaultValue":"(value: string): string => dirname(require.resolve(join(value, \'package.json\')))","rawdescription":"This function is used to resolve the absolute path of a package.\\nIt is needed in projects that use Yarn PnP or are set up within a monorepo.","description":"

This function is used to resolve the absolute path of a package.\\nIt is needed in projects that use Yarn PnP or are set up within a monorepo.

\\n"},{"name":"gutterSizeControl","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleGroup, MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story showcases the ability to control the gutter size dynamically. Use the buttons to change the gutter size between predefined values.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n changeGutterSize(size: number): void {\\n this[\'gutterSize\'] = size;\\n }\\n },\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n
\\n \\n 5px\\n 10px\\n 45px\\n 100px\\n \\n
\\n
\\n `\\n })\\n}"},{"name":"horizontalLayout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with a horizontal layout. The content and title are aligned horizontally, which may be useful for certain design requirements.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This message box is in horizontal layout.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'warn\',\\n title: \'Warning Message\',\\n icon: \'home\',\\n actions: [\\n {\\n text: \'Acknowledge\',\\n action: (): void => alert(\'Acknowledged\'),\\n icon: \'check\'\\n }\\n ],\\n horizontal: true,\\n showCloseIcon: true\\n }\\n}"},{"name":"hugTheme","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/manager.ts","deprecated":false,"deprecationMessage":"","type":"","defaultValue":"create({\\n base: \'light\',\\n brandTitle: \'ngx-components - storybook\',\\n brandImage: \'logo.svg\',\\n brandTarget: \'_self\'\\n})"},{"name":"infosBoxes","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutInfoBoxes template inside the component allows you to add informations under the toolbar.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Info boxes panel --\x3e\\n \\n Info box\\n Info box primary\\n Info box accent\\n \\n\\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"infoVertical","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent with an \\"info\\" type in vertical layout. It displays a basic informational message with default settings.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"info\\" vertical\\n \\n
\\n `\\n }),\\n args: {\\n type: \'info\',\\n horizontal: false,\\n showCloseIcon: true,\\n title: \'My title\'\\n }\\n}"},{"name":"layout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This component supports several layouts:
  • vertical
  • horizontal
  • horizontal-inlay
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115\\n },\\n template: `\\n
\\n
\\n
\\n \\n vertical layout\\n \\n \\n \\n
\\n
\\n \\n vertical layout\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal layout\\n \\n \\n \\n
\\n
\\n \\n horizontal layout\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal-inlay layout\\n \\n \\n \\n
\\n
\\n \\n horizontal-inlay layout\\n \\n \\n \\n
\\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n .grouped {\\n display: flex;\\n gap: 5rem;\\n }\\n `]\\n }),\\n args: {\\n layout: \'vertical\'\\n }\\n}"},{"name":"layoutToolbar","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n args: {\\n toolbarColor: \'accent\'\\n },\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSearchInputDirective,\\n NgxSearchContainerComponent\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutToolbar template inside the component adds a toolbar to it.
  • The toolbarColor Input on the component allows you to define the color of the toolbar. Here I have toolbarColor=\\"accent\\"
  • The span with directive toolbar-title allows you to add a title to the toolbar
  • You can add an ngx-search-container in the toolbar. Its size will fit by default
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n search: \'\',\\n log: (msg: string, event?: Event): void => {\\n console.log(msg, event);\\n }\\n },\\n template: `\\n
\\n \\n \\n My toolbar-title\\n \\n \\n \\n \\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Layout\',\\n component: NgxLayoutComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n FormsModule\\n ],\\n providers: [NgxStatusService]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n toolbarColor: {\\n options: [\'primary\', \'accent\'],\\n control: { type: \'select\' },\\n description: \'Sets the color of the toolbar. Choose between primary or accent themes.\',\\n table: {\\n defaultValue: {\\n summary: \'primary\'\\n },\\n type: { summary: \'primary | accent\' }\\n }\\n }\\n },\\n args: {\\n toolbarColor: \'primary\'\\n },\\n parameters: {\\n layout: \'fullscreen\',\\n docs: {\\n description: {\\n component: \'The `NgxLayoutComponent` is a flexible layout component for creating application layouts at HUG. It includes options for toolbars, actions, and side panels, making it adaptable for various use cases.\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/List Loader\',\\n component: NgxListLoaderComponent,\\n tags: [\'autodocs\'],\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxListLoaderComponent` is used to display a loading indicator when fetching large amounts of data. It includes a spinner animation and an optional label for context.\'\\n }\\n }\\n },\\n argTypes: {\\n label: {\\n description: \'The label text displayed alongside the loader.\',\\n control: {\\n type: \'text\'\\n },\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'\' }\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/MessageBox\',\\n component: NgxMessageBoxComponent,\\n tags: [\'autodocs\'],\\n argTypes: {\\n type: {\\n control: \'select\',\\n options: [\'info\', \'primary\', \'success\', \'warn\', \'danger\'],\\n description: \'Determines the type of the message box. Options include \\"info\\", \\"primary\\", \\"success\\", \\"warn\\", and \\"danger\\". This also sets the default icon if none is provided.\',\\n table: {\\n type: { summary: \'NgxMessageBoxType\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n title: {\\n control: \'text\',\\n description: \'The title displayed in the message box. Used to provide a header or subject for the message.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n icon: {\\n control: \'text\',\\n description: \'Icon associated with the message box. This can be the name of an icon or a path to an icon image. If not provided, a default icon based on the type will be used.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n actions: {\\n control: \'object\',\\n description: \'List of actions available in the message box. Each action can include text, type, icon, and an action function to execute. Allows you to customize the actions displayed in the footer of the message box.\',\\n table: {\\n type: { summary: \'readonly NgxMessageBoxAction[]\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n horizontal: {\\n control: \'boolean\',\\n description: \'Determines whether the layout of the message box is horizontal (true) or vertical (false). This affects the alignment of the title and content.\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n },\\n showCloseIcon: {\\n control: \'boolean\',\\n description: \'Indicates whether the close icon should be displayed in the message box. True to show the close icon, false to hide it.\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n }\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxMessageBoxComponent` is used to display informations to the user\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Numeric Stepper\',\\n component: NgxNumericStepperComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n MatLabel, MatInput, MatPrefix, MatSuffix, MatFormField, FormsModule\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n layout: {\\n options: [\'vertical\', \'horizontal\', \'horizontal-inlay\'],\\n control: { type: \'select\' },\\n description: \'Layout of the stepper control.\',\\n table: {\\n defaultValue: {\\n summary: \'vertical\'\\n },\\n type: { summary: \'NgxNumericStepperLayout\' }\\n }\\n },\\n arrowIcons: {\\n control: { type: \'boolean\' },\\n description: \'Whether to show arrow icons.\',\\n table: {\\n defaultValue: {\\n summary: \'false\'\\n },\\n type: { summary: \'boolean\' }\\n }\\n },\\n showOnInit: {\\n control: { type: \'boolean\' },\\n description: \'Whether to show the stepper on initialization.\',\\n table: {\\n defaultValue: {\\n summary: \'false\'\\n },\\n type: { summary: \'boolean\' }\\n }\\n },\\n input: {\\n control: { type: \'object\' },\\n description: \'The form field control input to be used.\',\\n table: {\\n defaultValue: { summary: undefined },\\n type: { summary: \'MatFormFieldControl\' }\\n }\\n }\\n },\\n args: {\\n layout: \'vertical\'\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxNumericStepperComponent` integrates with a `mat-form-field` containing an input. It provides a hover mask to allow custom increments or decrements using the `+` and `-` buttons. It can be configured with various layouts and options.\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Overlay\',\\n component: NgxOverlayComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n MatIcon, MatIconButton, MatButton\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n width: {\\n description: \'Defines the width of the overlay for desktop view.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n },\\n widthForMobile: {\\n description: \'Defines the width of the overlay for mobile view. It is only used when isMobile is true.\',\\n table: {\\n type: { summary: \'string\' },\\n disable: true\\n }\\n },\\n isMobile: {\\n description: \'Determines whether the overlay should use mobile-specific settings.\',\\n table: {\\n type: { summary: \'boolean\' },\\n disable: true\\n }\\n },\\n overlayBackdropClass: {\\n description: \'CSS class applied to the overlay backdrop. Can be used to style the backdrop.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n },\\n overlayContainerClass: {\\n description: \'CSS class applied to the overlay container. Allows customization of the overlay appearance.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n }\\n },\\n args: {\\n width: \'400px\',\\n widthForMobile: \'200px\',\\n isMobile: false,\\n overlayBackdropClass: \'\',\\n overlayContainerClass: \'\'\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxOverlayComponent` displays an overlay that appears above the page content. It supports custom widths, mobile-specific settings, and customizable CSS classes for both the container and backdrop.\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Search Container\',\\n component: NgxSearchContainerComponent,\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSearchInputDirective,\\n MatTooltip,\\n FormsModule\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxSearchContainerComponent` provides a flexible search interface with customizable tooltips for actions such as clearing, opening, and closing the search. It integrates with an input field via the `ngx-search-input` directive to enable search functionality.\'\\n }\\n }\\n },\\n argTypes: {\\n clearTooltip: {\\n control: \'text\',\\n description: \'Tooltip text for the clear button in the search container. This is displayed when the user hovers over the clear button.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Effacer la recherche\' }\\n }\\n },\\n openSearchTooltip: {\\n description: \'Tooltip text for the button that opens the search. This is displayed when the user hovers over the search button.\',\\n control: \'text\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Ouvrir la recherche\' }\\n }\\n },\\n closeSearchTooltip: {\\n description: \'Tooltip text for the button that closes the search. This is displayed when the user hovers over the close button.\',\\n control: \'text\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Quitter la recherche\' }\\n }\\n }\\n },\\n args: {\\n clearTooltip: \'Effacer la recherche\',\\n openSearchTooltip: \'Ouvrir la recherche\',\\n closeSearchTooltip: \'Quitter la recherche\'\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Splitter\',\\n component: NgxSplitterComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n NgxSplitAreaDirective\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n direction: {\\n description: \'Sets the direction of the split, which can either be `horizontal` or `vertical`.\',\\n control: \'select\',\\n options: [\'horizontal\', \'vertical\'],\\n table: {\\n type: { summary: \'NgxSplitterDirection\' },\\n defaultValue: { summary: \'horizontal\' }\\n }\\n },\\n gutterSize: {\\n description: \'Specifies the width of the gutter in pixels.\',\\n control: \'number\',\\n table: {\\n type: { summary: \'number\' },\\n defaultValue: { summary: \'10\' }\\n }\\n },\\n disabled: {\\n description: \'Determines whether the splitter is active or disabled.\',\\n control: \'boolean\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n },\\n dragStart: {\\n description: \'Event triggered when the user starts dragging the cursor.\',\\n action: \'dragStart\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n },\\n dragProgress: {\\n description: \'Event triggered during the cursor drag, providing the progress as a percentage.\',\\n action: \'dragProgress\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n },\\n dragEnd: {\\n description: \'Event triggered when the user stops dragging the cursor.\',\\n action: \'dragEnd\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n }\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxSplitterComponent` allows splitting a container into resizable parts either horizontally or vertically. It supports dynamic resizing, event callbacks during drag operations, and flexible gutter sizing.\'\\n }\\n }\\n },\\n args: {\\n direction: \'horizontal\',\\n gutterSize: \'10\',\\n disabled: false\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Status\',\\n component: NgxStatusComponent,\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSnackbarComponent, NgxStatusModule\\n ],\\n providers: [NgxStatusService]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n status: {\\n description: \'The object containing the status details to be displayed.\',\\n control: {\\n type: \'object\'\\n },\\n table: {\\n type: { summary: \'NgxStatus\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n }\\n },\\n args: {\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxStatusComponent` displays informational messages in a popup, leveraging the `NgxSnackbarComponent`. It supports various types of notifications, custom actions, and detailed technical information.\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/User Card\',\\n component: NgxUserCardComponent,\\n tags: [\'autodocs\'],\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n layout: \'centered\',\\n docs: {\\n description: {\\n component: \'The `NgxUserCardComponent` displays user information. The UserCard can be expanded or compressed, showing or hiding additional details based on the `expanded` input.\'\\n }\\n }\\n },\\n argTypes: {\\n expanded: {\\n control: \'boolean\',\\n table: {\\n defaultValue: {\\n summary: \'true\'\\n },\\n type: { summary: \'boolean\' }\\n },\\n description: \'Set to false to have a compressed UserCard with less information.\'\\n },\\n user: {\\n control: \'object\',\\n table: {\\n type: { summary: \'NgxUserCard\' }\\n },\\n description: \'User information object for displaying in the card.\'\\n }\\n },\\n args: {\\n user: {\\n title: \'Docteur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Infirmier-e\', // This value will influence badge color\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n },\\n expanded: false\\n }\\n}"},{"name":"minimumRequired","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates the `NgxStatusComponent` with only the required fields: `title` and `type`. Additional fields are optional.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\'\\n }\\n }\\n}"},{"name":"navigationExample","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Here an example of navigation through the component\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n Clicking these will navigate\\n \\n \\n
\\n @for (item of items; track $index) {\\n {{ item.text }}\\n }\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"noActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent without any actions. It demonstrates how the component looks and behaves when there are no interactive elements in the footer.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

No actions available in this example.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n title: \'Success Message\',\\n icon: \'done\',\\n horizontal: false,\\n showCloseIcon: true\\n }\\n}"},{"name":"noCloseIcon","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent without the close icon. This configuration is useful if you want to prevent the user from closing the message box manually.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This message box does not have a close icon.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'danger\',\\n title: \'Error Message\',\\n icon: \'error\',\\n actions: [\\n {\\n text: \'Retry\',\\n action: (): void => alert(\'Retry action\'),\\n icon: \'refresh\'\\n }\\n ],\\n horizontal: true,\\n showCloseIcon: false\\n }\\n}"},{"name":"notExpandedUserCard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'You can set the \\"expanded\\" property to false to have a compressed UserCard with less information.\'\\n }\\n }\\n }\\n}"},{"name":"overlayClass","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Customize the overlay appearance by applying custom CSS classes. Use overlayContainerClass for the overlay itself and overlayBackdropClass for the backdrop.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n < Click here\\n \\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n }\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'myCustomContainerClass\',\\n overlayBackdropClass: \'myCustomBackdropClass\'\\n }\\n}"},{"name":"overlayForMobile","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n parameters: {\\n docs: {\\n description: {\\n story: \'Set a widthForMobile that is used when isMobile is true to adjust the overlay width for mobile devices.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n Try to modify the width of the NgxOverlay component this text will be limited in width by this value\\n
\\n
\\n Current width: [{{menu.width}}]\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n widthForMobile: \'200px\',\\n isMobile: true\\n }\\n}"},{"name":"overlayWidth","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFormField, MatLabel, MatHint, FormsModule, MatInput\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Configure the width of the overlay using the width property. Adjust the input field to see changes in real-time.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n widthChanged(value: string): void {\\n this[\'width\'] = value;\\n }\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n Try to modify the width of the NgxOverlay component. This text will be limited in width by this value\\n
\\n
\\n Current width: [{{menu.width}}]\\n
\\n
\\n\\n
\\n \\n Width\\n \\n try 900\\n \\n
\\n
\\n `\\n })\\n}"},{"name":"ownerElement","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n parameters: {\\n docs: {\\n description: {\\n story: \'You can provide two custom css classes to the component:
  • overlayContainerClassallows you to customize the overlay itself
  • overlayBackdropClassallows you to customize the overlay backdrop
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n < Click here\\n \\n\\n
\\n I am is owner\\n
\\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n } \\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'myCustomContainerClass\',\\n overlayBackdropClass: \'myCustomBackdropClass\'\\n }\\n}"},{"name":"prefixAndSuffix","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This section allows you to visualize the component with different `mat-form-field` configurations, including custom prefixes and suffixes.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n prefix: \'\',\\n suffix: \'cm\',\\n prefixChanged(value: string): void {\\n this[\'prefix\'] = value;\\n },\\n suffixChanged(value: string): void {\\n this[\'suffix\'] = value;\\n }\\n },\\n template: `\\n
\\n
\\n
\\n \\n vertical layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n vertical layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n horizontal layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal-inlay layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n horizontal-inlay layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n

Try your own suffixes and prefixes

\\n
\\n
\\n \\n prefix\\n \\n \\n \\n suffix\\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n font-family: \'Roboto\';\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n .grouped {\\n display: flex;\\n gap: 5rem;\\n }\\n `]\\n }),\\n args: {\\n layout: \'vertical\'\\n }\\n}"},{"name":"preview","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/preview.ts","deprecated":false,"deprecationMessage":"","type":"Preview","defaultValue":"{\\n parameters: {\\n controls: {\\n matchers: {\\n color: /(background|color)$/i,\\n date: /Date$/i\\n }\\n },\\n layout: \'centered\'\\n }\\n}"},{"name":"rightPanel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatChipListbox,\\n MatChipOption\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutRight template inside the component adds a right panel to it.
  • A button to Open/Close the right panel will be automatically added to the toolbar
  • >You can add a filters-chip-list directive that can manage your filters
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Right panel --\x3e\\n \\n
\\n Layout right\\n
\\n \\n filter 1\\n filter 2\\n filter 3\\n filter 4\\n filter 5\\n \\n
\\n
\\n
\\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"searchWithLists","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatList, MatListItem\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Demonstrates the search container with a full list and search functionality. The search input filters the list based on user input and displays the results in separate sections.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n fullList: [\'lion\',\\n \'tigre\',\\n \'éléphant\',\\n \'giraffe\',\\n \'panda\',\\n \'koala\',\\n \'limace\',\\n \'cygne\',\\n \'chat\',\\n \'ours\',\\n \'faisan\',\\n \'dauphin\',\\n \'paon\',\\n \'furet\',\\n \'panda\',\\n \'phoque\',\\n \'crocodile\',\\n \'gorille\',\\n \'raie\',\\n \'chinchilla\',\\n \'cafard\',\\n \'faisan\',\\n \'corbeau\',\\n \'dromadaire\',\\n \'alpaga\',\\n \'aigle\',\\n \'espadon\',\\n \'canari\',\\n \'guépard\'],\\n searchList: [],\\n searchModel: \'\',\\n searchQueryChanged(event: string): void {\\n // If search query is empty, reset searchList to fullList\\n if (!event || event === \'\') {\\n this[\'searchList\'] = this[\'fullList\'] as string[];\\n } else {\\n this[\'searchList\'] = (this[\'fullList\'] as string[]).filter((animal: string) => animal.includes(event));\\n\\n }\\n }\\n },\\n template: `\\n
\\n \\n \\n \\n
\\n
\\n
\\n Liste complète\\n \\n @for (animal of fullList; track $index) {\\n {{ animal }}\\n }\\n \\n
\\n
\\n Liste issue de la recherche\\n \\n @for (animal of searchList; track $index) {\\n {{ animal }}\\n }\\n \\n
\\n
\\n
\\n `,\\n styles: [`\\n section {\\n padding: 5rem;\\n font-family: \'Roboto\';\\n }\\n\\n .listsContainer {\\n display: flex;\\n gap: 5px;\\n }\\n\\n .fullList,\\n .searchList {\\n flex: auto;\\n }\\n\\n .mdc-list-item.mdc-list-item--with-one-line {\\n height: 24px;\\n }\\n `]\\n }),\\n args: {\\n clearTooltip: \'Effacer la recherche\'\\n }\\n}"},{"name":"showOnInit","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n Show On Init True\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n }),\\n args: {\\n showOnInit: true\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the default loader without a label. This is useful when no additional context is needed.\'\\n }\\n }\\n },\\n args: {\\n label: \'\'\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n This is my label\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n })\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n }\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays a basic search container with default tooltips. Includes an input field for search queries.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n \\n \\n \\n `\\n })\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the standard usage of `NgxSplitterComponent`, where the container is split into two resizable areas in a horizontal direction. The first area takes 25% of the space, while the second area takes 75%.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n \\n

Lorem ipsum dolor sit amet...

\\n
\\n \\n

Sed ut perspiciatis unde omnis iste natus erro...

\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n direction: \'horizontal\'\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n args: {\\n expanded: true\\n }\\n}"},{"name":"statusActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates how to add actions to the `NgxStatusComponent`. Each action can be triggered with a callback.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with multiple actions.\',\\n actions: [\\n {\\n label: \'Action 1\',\\n callback: (): void => alert(\'Action 1 executed.\')\\n },\\n {\\n label: \'Action 2\',\\n callback: (): void => alert(\'Action 2 executed.\')\\n }\\n ]\\n }\\n }\\n}"},{"name":"statusCustomCssClass","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example shows how to apply custom CSS styles to the `NgxStatusComponent` using the `className` property.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with custom CSS class.\',\\n className: \'my-custom-css-class\'\\n }\\n }\\n}"},{"name":"statusDuration","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates setting a custom `duration` for the `NgxStatusComponent`. By default, the duration is 30 seconds for danger types and 8 seconds for other types.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with custom duration.\',\\n duration: 3000 // Duration in milliseconds\\n }\\n }\\n}"},{"name":"statusTechnicalText","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example shows how to include `technicalText` and `date` in the `NgxStatusComponent`. An info icon will appear, and clicking it will show the technical details in a dialog.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Error Status\',\\n type: \'danger\',\\n date: new Date(),\\n text: \'This is an error message.\',\\n technicalText: \'Detailed technical information about the error.\'\\n }\\n }\\n}"},{"name":"statusText","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates how to use the `text` property to display additional information in the status component.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Detailed message providing more context about the status.\'\\n }\\n }\\n}"},{"name":"statusType","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleGroup, MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example illustrates the different `type` values that the `NgxStatusComponent` can have: `primary`, `info`, `success`, `warn`, and `danger`. Use the buttons to switch between types.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n typeChanged(type: string): void {\\n this[\'status\'] = {\\n title: \'Sample Status Title\',\\n type: type,\\n text: \'Sample text for the status message.\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n primary\\n info\\n success\\n warn\\n danger\\n \\n
\\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'success\',\\n text: \'Sample text for the status message.\'\\n }\\n }\\n}"},{"name":"successWithActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent with a \\"success\\" type, horizontal layout, and a list of actions. It illustrates how actions can be used within the message box.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"success\\" avec actions\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n horizontal: true,\\n actions: [\\n {\\n text: \'OK\',\\n action: (): void => alert(\'OK clicked\'),\\n icon: \'check\'\\n },\\n {\\n text: \'Cancel\',\\n action: (): void => alert(\'Cancel clicked\'),\\n icon: \'cancel\'\\n }\\n ],\\n showCloseIcon: true\\n }\\n}"},{"name":"textContainerExample","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'An example demonstrating the NgxOverlay component with a large block of text and a custom style.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n Click here >\\n\\n \\n \\n\\n \\n
\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, lacus nec imperdiet pretium, purus nisi hendrerit velit, non laoreet est velit sit amet arcu. Cras eget malesuada tortor. Aliquam vitae libero tellus. Quisque at velit sed arcu feugiat imperdiet ut quis augue. Cras laoreet eleifend tellus varius laoreet. Vestibulum vulputate sagittis sapien, eget euismod metus. Sed ut lacus at risus tristique blandit. Cras at nibh augue. Nam felis felis, facilisis sed fringilla a, porta id magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc eget velit a enim pharetra volutpat quis eget lacus. Donec imperdiet magna metus, auctor pretium nibh dictum eu. Sed pharetra tristique sodales. Nam dapibus porta imperdiet. Pellentesque elementum tristique\\n molestie. Sed at dolor et mauris vehicula vestibulum. Maecenas cursus vulputate convallis. Quisque eu imperdiet nunc. Nunc ut feugiat eros. Integer aliquam nibh nec est sollicitudin dictum at et diam. Aliquam neque magna, condimentum non dolor in, faucibus malesuada mauris. Sed dictum massa neque, quis venenatis justo consequat sed. Fusce imperdiet purus nec neque vestibulum, vel placerat enim porta. Duis turpis purus, suscipit vitae scelerisque sed, sollicitudin a sem. Nullam orci risus, suscipit non mollis non, semper sit amet enim. In vel eros justo. Etiam gravida dolor vitae commodo tincidunt. Ut consequat id odio ac scelerisque. Phasellus fringilla et nisi at convallis. Nunc efficitur est in luctus interdum. Curabitur risus turpis, gravida in ex id, elementum convallis\\n augue. Duis laoreet condimentum purus, sit amet vulputate dolor finibus ac. Proin consectetur ullamcorper orci ut ullamcorper. Vivamus ornare leo vel urna molestie porta. Vivamus malesuada velit eros, non rutrum urna elementum ut. Pellentesque sed lorem tempor, consectetur sem in, condimentum justo. Vivamus eu nunc interdum, mattis turpis nec, accumsan neque. Integer convallis porttitor turpis feugiat placerat. Nulla sodales ex in neque lobortis, vel mollis turpis interdum. Mauris pharetra ex a justo maximus, at semper metus feugiat. Nullam aliquet tortor nec tortor auctor venenatis. Proin id laoreet eros, id sodales mi. Vestibulum mollis orci nec orci posuere dapibus. Integer placerat, nisl id aliquam interdum, diam est vestibulum purus, non venenatis turpis lacus in felis.\\n Vestibulum pulvinar velit tortor, ut convallis turpis condimentum ut. Nunc auctor hendrerit augue, sed malesuada quam. Etiam varius interdum risus, eget gravida libero convallis sed. Aliquam tempor orci at ex ullamcorper mollis. Fusce imperdiet ut ex in gravida. Curabitur iaculis non diam vel consequat. Praesent a magna posuere, feugiat mauris nec, sollicitudin ligula. Sed faucibus viverra velit eget porttitor. Suspendisse a sem gravida, tincidunt lacus vitae, lobortis ante. Nulla nisl quam, ultrices non nunc eget, commodo luctus metus. Curabitur nulla erat, gravida in nulla vel, commodo vestibulum ligula. Quisque quis lectus vel urna luctus gravida eget id risus.\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'customContainerForLorem\',\\n overlayBackdropClass: \'myCustomBackdropClass\',\\n width: \'100vw\'\\n }\\n}"},{"name":"userAbbreviationTitle","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Depending on the user\\\\\'s \\"title\\" property given, the UserCard will display its abbreviation.
  • Docteur / Docteure : Dr, Dre
  • Monsieur / Madame : M, Mme
  • Professeur / Professeure : Pr, Pre
Any other text in the \\"title\\" property will be displayed entirely.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n titleChanged(code: string): void {\\n this[\'user\'] = {\\n title: code,\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Soins\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n Docteur\\n Docteure\\n Monsieur\\n Madame\\n Professeur\\n Professeure\\n OtherTitle\\n \\n
\\n
\\n `\\n }),\\n args: {\\n user: {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Infirmier-e\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n }\\n }\\n}"},{"name":"userWithMissingInfo","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the component when certain user information is missing. This helps ensure that the rendering remains consistent even with incomplete data.\'\\n }\\n }\\n },\\n args: {\\n user: {\\n title: \'Professor\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n email: \'jean.patate@hug.ch\'\\n // Phone number and address are missing\\n },\\n expanded: true\\n }\\n}"},{"name":"verticalSplit","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story illustrates a vertical splitter, dividing the container into two areas. The first area occupies 25% of the height, while the second takes 75%.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n `\\n }),\\n args: {\\n direction: \'vertical\'\\n }\\n}"},{"name":"withLabel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Shows the loader with a custom label. This can be used to provide additional information or context while the data is loading.\'\\n }\\n }\\n },\\n args: {\\n label: \'Loading data, please wait...\'\\n }\\n}"},{"name":"withLongLabel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the loader with a long label to test how it handles extended text. This is useful to ensure that the layout accommodates longer messages.\'\\n }\\n }\\n },\\n args: {\\n label: \'This is a very long label that we use to test how the loader handles extended text. It should wrap or truncate gracefully depending on the design.\'\\n }\\n}"}],"functions":[],"typealiases":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"enumerations":[],"groupedVariables":{"projects/story-book/src/layout/layout.stories.ts":[{"name":"actionsToolbar","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFabButton,\\n MatIconButton,\\n MatTooltip,\\n MatIcon\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The actions template inside the component adds buttons on the toolbar. You must have the layoutToolbar template for it to work correctly.
  • The layoutPrimaryAction template allows you to add one primary button on the toolbar. Here my add icon button.
  • The layoutActions template allows you to add additional buttons to the toolbar. Here my refresh and my favorite icon button.
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n log: (msg: string): void => {\\n alert(msg);\\n }\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Primary action --\x3e\\n \\n \\n \\n\\n \x3c!-- Actions panel --\x3e\\n \\n \\n\\n \\n \\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"completeLayout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n StorybookLayoutWrapperComponent\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Here you can see everything that can be added to have this complete component.
  • Template layoutToolbar
    • toolbar-titledirective on span to add title
    • ngx-search-containercomponent for searching
  • Template layoutPrimaryAction
  • Template layoutActions
  • Template layoutRight
    • filters-chip-listdirective on div to contain mat-chip-listbox
  • Template layoutInfoBoxes
\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: \'\'\\n })\\n}"},{"name":"infosBoxes","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutInfoBoxes template inside the component allows you to add informations under the toolbar.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Info boxes panel --\x3e\\n \\n Info box\\n Info box primary\\n Info box accent\\n \\n\\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"layoutToolbar","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n args: {\\n toolbarColor: \'accent\'\\n },\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSearchInputDirective,\\n NgxSearchContainerComponent\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutToolbar template inside the component adds a toolbar to it.
  • The toolbarColor Input on the component allows you to define the color of the toolbar. Here I have toolbarColor=\\"accent\\"
  • The span with directive toolbar-title allows you to add a title to the toolbar
  • You can add an ngx-search-container in the toolbar. Its size will fit by default
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n search: \'\',\\n log: (msg: string, event?: Event): void => {\\n console.log(msg, event);\\n }\\n },\\n template: `\\n
\\n \\n \\n My toolbar-title\\n \\n \\n \\n \\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Layout\',\\n component: NgxLayoutComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n FormsModule\\n ],\\n providers: [NgxStatusService]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n toolbarColor: {\\n options: [\'primary\', \'accent\'],\\n control: { type: \'select\' },\\n description: \'Sets the color of the toolbar. Choose between primary or accent themes.\',\\n table: {\\n defaultValue: {\\n summary: \'primary\'\\n },\\n type: { summary: \'primary | accent\' }\\n }\\n }\\n },\\n args: {\\n toolbarColor: \'primary\'\\n },\\n parameters: {\\n layout: \'fullscreen\',\\n docs: {\\n description: {\\n component: \'The `NgxLayoutComponent` is a flexible layout component for creating application layouts at HUG. It includes options for toolbars, actions, and side panels, making it adaptable for various use cases.\'\\n }\\n }\\n }\\n}"},{"name":"rightPanel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatChipListbox,\\n MatChipOption\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutRight template inside the component adds a right panel to it.
  • A button to Open/Close the right panel will be automatically added to the toolbar
  • >You can add a filters-chip-list directive that can manage your filters
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Right panel --\x3e\\n \\n
\\n Layout right\\n
\\n \\n filter 1\\n filter 2\\n filter 3\\n filter 4\\n filter 5\\n \\n
\\n
\\n
\\n
Layout content
\\n
\\n
\\n `\\n })\\n}"}],"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts":[{"name":"appearance","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggle,\\n MatButtonToggleGroup\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This component supports different appearances for `mat-form-field`.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'fill\',\\n appearanceChanged(value: string): void {\\n this[\'appearance\'] = value;\\n }\\n },\\n template: `\\n
\\n
\\n \\n This is my label\\n \\n \\n \\n
\\n
\\n \\n Fill\\n Outline\\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n `]\\n })\\n}"},{"name":"customArrowIcons","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n Custom Arrow Icons\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n }),\\n args: {\\n arrowIcons: true\\n }\\n}"},{"name":"layout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This component supports several layouts:
  • vertical
  • horizontal
  • horizontal-inlay
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115\\n },\\n template: `\\n
\\n
\\n
\\n \\n vertical layout\\n \\n \\n \\n
\\n
\\n \\n vertical layout\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal layout\\n \\n \\n \\n
\\n
\\n \\n horizontal layout\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal-inlay layout\\n \\n \\n \\n
\\n
\\n \\n horizontal-inlay layout\\n \\n \\n \\n
\\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n .grouped {\\n display: flex;\\n gap: 5rem;\\n }\\n `]\\n }),\\n args: {\\n layout: \'vertical\'\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Numeric Stepper\',\\n component: NgxNumericStepperComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n MatLabel, MatInput, MatPrefix, MatSuffix, MatFormField, FormsModule\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n layout: {\\n options: [\'vertical\', \'horizontal\', \'horizontal-inlay\'],\\n control: { type: \'select\' },\\n description: \'Layout of the stepper control.\',\\n table: {\\n defaultValue: {\\n summary: \'vertical\'\\n },\\n type: { summary: \'NgxNumericStepperLayout\' }\\n }\\n },\\n arrowIcons: {\\n control: { type: \'boolean\' },\\n description: \'Whether to show arrow icons.\',\\n table: {\\n defaultValue: {\\n summary: \'false\'\\n },\\n type: { summary: \'boolean\' }\\n }\\n },\\n showOnInit: {\\n control: { type: \'boolean\' },\\n description: \'Whether to show the stepper on initialization.\',\\n table: {\\n defaultValue: {\\n summary: \'false\'\\n },\\n type: { summary: \'boolean\' }\\n }\\n },\\n input: {\\n control: { type: \'object\' },\\n description: \'The form field control input to be used.\',\\n table: {\\n defaultValue: { summary: undefined },\\n type: { summary: \'MatFormFieldControl\' }\\n }\\n }\\n },\\n args: {\\n layout: \'vertical\'\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxNumericStepperComponent` integrates with a `mat-form-field` containing an input. It provides a hover mask to allow custom increments or decrements using the `+` and `-` buttons. It can be configured with various layouts and options.\'\\n }\\n }\\n }\\n}"},{"name":"prefixAndSuffix","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This section allows you to visualize the component with different `mat-form-field` configurations, including custom prefixes and suffixes.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n prefix: \'\',\\n suffix: \'cm\',\\n prefixChanged(value: string): void {\\n this[\'prefix\'] = value;\\n },\\n suffixChanged(value: string): void {\\n this[\'suffix\'] = value;\\n }\\n },\\n template: `\\n
\\n
\\n
\\n \\n vertical layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n vertical layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n horizontal layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal-inlay layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n horizontal-inlay layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n

Try your own suffixes and prefixes

\\n
\\n
\\n \\n prefix\\n \\n \\n \\n suffix\\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n font-family: \'Roboto\';\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n .grouped {\\n display: flex;\\n gap: 5rem;\\n }\\n `]\\n }),\\n args: {\\n layout: \'vertical\'\\n }\\n}"},{"name":"showOnInit","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n Show On Init True\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n }),\\n args: {\\n showOnInit: true\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n This is my label\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n })\\n}"}],"projects/story-book/src/message-box/message-box.stories.ts":[{"name":"basicWarnHorizontal","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with a \\"warn\\" type and horizontal layout. It shows a simple warning message with default settings.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"warn\\" horizontal\\n \\n
\\n `\\n }),\\n args: {\\n type: \'warn\',\\n horizontal: true,\\n showCloseIcon: false,\\n title: \'My title\'\\n }\\n}"},{"name":"complete","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with all inputs configured, including actions, title, icon, and layout options. It shows how the component behaves with various properties and interactive elements.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This is a default message box, in vertical layout.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'info\',\\n title: undefined,\\n icon: undefined,\\n actions: [\\n {\\n action: (): void => alert(\'remove action\'),\\n icon: \'remove\'\\n },\\n {\\n action: (): void => alert(\'add action\'),\\n icon: \'add\'\\n }\\n ],\\n horizontal: false,\\n showCloseIcon: false\\n }\\n}"},{"name":"customIcon","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'It shows a simple success message with default settings but with custom agriculture icon.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"success\\" horizontal\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n icon: \'agriculture\',\\n horizontal: true,\\n showCloseIcon: false,\\n title: \'My agriculture icon\'\\n }\\n}"},{"name":"horizontalLayout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with a horizontal layout. The content and title are aligned horizontally, which may be useful for certain design requirements.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This message box is in horizontal layout.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'warn\',\\n title: \'Warning Message\',\\n icon: \'home\',\\n actions: [\\n {\\n text: \'Acknowledge\',\\n action: (): void => alert(\'Acknowledged\'),\\n icon: \'check\'\\n }\\n ],\\n horizontal: true,\\n showCloseIcon: true\\n }\\n}"},{"name":"infoVertical","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent with an \\"info\\" type in vertical layout. It displays a basic informational message with default settings.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"info\\" vertical\\n \\n
\\n `\\n }),\\n args: {\\n type: \'info\',\\n horizontal: false,\\n showCloseIcon: true,\\n title: \'My title\'\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/MessageBox\',\\n component: NgxMessageBoxComponent,\\n tags: [\'autodocs\'],\\n argTypes: {\\n type: {\\n control: \'select\',\\n options: [\'info\', \'primary\', \'success\', \'warn\', \'danger\'],\\n description: \'Determines the type of the message box. Options include \\"info\\", \\"primary\\", \\"success\\", \\"warn\\", and \\"danger\\". This also sets the default icon if none is provided.\',\\n table: {\\n type: { summary: \'NgxMessageBoxType\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n title: {\\n control: \'text\',\\n description: \'The title displayed in the message box. Used to provide a header or subject for the message.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n icon: {\\n control: \'text\',\\n description: \'Icon associated with the message box. This can be the name of an icon or a path to an icon image. If not provided, a default icon based on the type will be used.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n actions: {\\n control: \'object\',\\n description: \'List of actions available in the message box. Each action can include text, type, icon, and an action function to execute. Allows you to customize the actions displayed in the footer of the message box.\',\\n table: {\\n type: { summary: \'readonly NgxMessageBoxAction[]\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n horizontal: {\\n control: \'boolean\',\\n description: \'Determines whether the layout of the message box is horizontal (true) or vertical (false). This affects the alignment of the title and content.\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n },\\n showCloseIcon: {\\n control: \'boolean\',\\n description: \'Indicates whether the close icon should be displayed in the message box. True to show the close icon, false to hide it.\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n }\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxMessageBoxComponent` is used to display informations to the user\'\\n }\\n }\\n }\\n}"},{"name":"noActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent without any actions. It demonstrates how the component looks and behaves when there are no interactive elements in the footer.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

No actions available in this example.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n title: \'Success Message\',\\n icon: \'done\',\\n horizontal: false,\\n showCloseIcon: true\\n }\\n}"},{"name":"noCloseIcon","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent without the close icon. This configuration is useful if you want to prevent the user from closing the message box manually.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This message box does not have a close icon.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'danger\',\\n title: \'Error Message\',\\n icon: \'error\',\\n actions: [\\n {\\n text: \'Retry\',\\n action: (): void => alert(\'Retry action\'),\\n icon: \'refresh\'\\n }\\n ],\\n horizontal: true,\\n showCloseIcon: false\\n }\\n}"},{"name":"successWithActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent with a \\"success\\" type, horizontal layout, and a list of actions. It illustrates how actions can be used within the message box.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"success\\" avec actions\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n horizontal: true,\\n actions: [\\n {\\n text: \'OK\',\\n action: (): void => alert(\'OK clicked\'),\\n icon: \'check\'\\n },\\n {\\n text: \'Cancel\',\\n action: (): void => alert(\'Cancel clicked\'),\\n icon: \'cancel\'\\n }\\n ],\\n showCloseIcon: true\\n }\\n}"}],"projects/story-book/src/splitter/splitter.stories.ts":[{"name":"combinedSplitters","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story presents a combination of two splitters: a vertical splitter nested inside a horizontal splitter. This allows creating a complex layout with resizable areas in both directions.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \x3c!-- Horizontal Splitter --\x3e\\n \\n \x3c!-- First Horizontal Area --\x3e\\n \\n \x3c!-- Vertical Splitter Inside the First Horizontal Area --\x3e\\n \\n \x3c!-- First Vertical Area --\x3e\\n \\n

Content in the first vertical area...

\\n
\\n \x3c!-- Second Vertical Area --\x3e\\n \\n

Content in the second vertical area...

\\n
\\n
\\n
\\n \x3c!-- Second Horizontal Area --\x3e\\n \\n

Content in the second horizontal area...

\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"customizableSplitAreas","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFormField, MatLabel, FormsModule, MatInput\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story provides an example of how to customize the properties of each split area dynamically. It allows changing the size and minimum size of each area through input fields.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n firstAreaSize: 50,\\n secondAreaSize: 50,\\n firstAreaMinSize: 100,\\n secondAreaMinSize: 10,\\n firstAreaSizeChanged(size: number): void {\\n if (size > 100) {\\n size = 100;\\n } else if (size < 0) {\\n size = 0;\\n }\\n this[\'firstAreaSize\'] = size;\\n this[\'secondAreaSize\'] = 100 - size;\\n },\\n secondAreaSizeChanged(size: number): void {\\n if (size > 100) {\\n size = 100;\\n } else if (size < 0) {\\n size = 0;\\n }\\n this[\'secondAreaSize\'] = size;\\n this[\'firstAreaSize\'] = 100 - size;\\n },\\n firstAreaMinSizeChanged(size: number): void {\\n this[\'firstAreaMinSize\'] = size;\\n },\\n secondAreaMinSizeChanged(size: number): void {\\n this[\'secondAreaMinSize\'] = size;\\n }\\n },\\n template: `\\n
\\n \\n \\n Area 1\\n
FirstArea minSize
\\n
\\n \\n Area 2\\n
SecondArea minSize
\\n
\\n
\\n
\\n
\\n
\\n \\n First Area Size (%)\\n \\n \\n \\n Second Area Size (%)\\n \\n \\n
\\n
\\n \\n First Area Minimum Size (px)\\n \\n \\n \\n Second Area Minimum Size (px)\\n \\n \\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"disabledSplitter","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'In this story, the splitter is disabled, preventing the user from resizing the areas.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n `\\n }),\\n args: {\\n disabled: true\\n }\\n}"},{"name":"gutterSizeControl","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleGroup, MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story showcases the ability to control the gutter size dynamically. Use the buttons to change the gutter size between predefined values.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n changeGutterSize(size: number): void {\\n this[\'gutterSize\'] = size;\\n }\\n },\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n
\\n \\n 5px\\n 10px\\n 45px\\n 100px\\n \\n
\\n
\\n `\\n })\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Splitter\',\\n component: NgxSplitterComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n NgxSplitAreaDirective\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n direction: {\\n description: \'Sets the direction of the split, which can either be `horizontal` or `vertical`.\',\\n control: \'select\',\\n options: [\'horizontal\', \'vertical\'],\\n table: {\\n type: { summary: \'NgxSplitterDirection\' },\\n defaultValue: { summary: \'horizontal\' }\\n }\\n },\\n gutterSize: {\\n description: \'Specifies the width of the gutter in pixels.\',\\n control: \'number\',\\n table: {\\n type: { summary: \'number\' },\\n defaultValue: { summary: \'10\' }\\n }\\n },\\n disabled: {\\n description: \'Determines whether the splitter is active or disabled.\',\\n control: \'boolean\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n },\\n dragStart: {\\n description: \'Event triggered when the user starts dragging the cursor.\',\\n action: \'dragStart\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n },\\n dragProgress: {\\n description: \'Event triggered during the cursor drag, providing the progress as a percentage.\',\\n action: \'dragProgress\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n },\\n dragEnd: {\\n description: \'Event triggered when the user stops dragging the cursor.\',\\n action: \'dragEnd\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n }\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxSplitterComponent` allows splitting a container into resizable parts either horizontally or vertically. It supports dynamic resizing, event callbacks during drag operations, and flexible gutter sizing.\'\\n }\\n }\\n },\\n args: {\\n direction: \'horizontal\',\\n gutterSize: \'10\',\\n disabled: false\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the standard usage of `NgxSplitterComponent`, where the container is split into two resizable areas in a horizontal direction. The first area takes 25% of the space, while the second area takes 75%.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n \\n

Lorem ipsum dolor sit amet...

\\n
\\n \\n

Sed ut perspiciatis unde omnis iste natus erro...

\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n direction: \'horizontal\'\\n }\\n}"},{"name":"verticalSplit","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story illustrates a vertical splitter, dividing the container into two areas. The first area occupies 25% of the height, while the second takes 75%.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n `\\n }),\\n args: {\\n direction: \'vertical\'\\n }\\n}"}],"projects/story-book/src/status/status.stories.ts":[{"name":"complete","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example showcases a `NgxStatusComponent` with all available features, including title, type, text, date, duration, custom CSS class, technical text, and multiple actions. Depending on the user\\\\\'s \\"familyCode\\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'This is a sample status message.\',\\n date: new Date(),\\n duration: 5000,\\n className: \'my-custom-css-class-2\',\\n technicalText: \'Technical details about the status.\',\\n actions: [\\n {\\n label: \'Action 1\',\\n callback: (): void => console.log(\'Action 1 triggered.\')\\n },\\n {\\n label: \'Action 2\',\\n callback: (): void => console.log(\'Action 2 triggered.\')\\n }\\n ]\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Status\',\\n component: NgxStatusComponent,\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSnackbarComponent, NgxStatusModule\\n ],\\n providers: [NgxStatusService]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n status: {\\n description: \'The object containing the status details to be displayed.\',\\n control: {\\n type: \'object\'\\n },\\n table: {\\n type: { summary: \'NgxStatus\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n }\\n },\\n args: {\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxStatusComponent` displays informational messages in a popup, leveraging the `NgxSnackbarComponent`. It supports various types of notifications, custom actions, and detailed technical information.\'\\n }\\n }\\n }\\n}"},{"name":"minimumRequired","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates the `NgxStatusComponent` with only the required fields: `title` and `type`. Additional fields are optional.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\'\\n }\\n }\\n}"},{"name":"statusActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates how to add actions to the `NgxStatusComponent`. Each action can be triggered with a callback.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with multiple actions.\',\\n actions: [\\n {\\n label: \'Action 1\',\\n callback: (): void => alert(\'Action 1 executed.\')\\n },\\n {\\n label: \'Action 2\',\\n callback: (): void => alert(\'Action 2 executed.\')\\n }\\n ]\\n }\\n }\\n}"},{"name":"statusCustomCssClass","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example shows how to apply custom CSS styles to the `NgxStatusComponent` using the `className` property.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with custom CSS class.\',\\n className: \'my-custom-css-class\'\\n }\\n }\\n}"},{"name":"statusDuration","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates setting a custom `duration` for the `NgxStatusComponent`. By default, the duration is 30 seconds for danger types and 8 seconds for other types.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with custom duration.\',\\n duration: 3000 // Duration in milliseconds\\n }\\n }\\n}"},{"name":"statusTechnicalText","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example shows how to include `technicalText` and `date` in the `NgxStatusComponent`. An info icon will appear, and clicking it will show the technical details in a dialog.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Error Status\',\\n type: \'danger\',\\n date: new Date(),\\n text: \'This is an error message.\',\\n technicalText: \'Detailed technical information about the error.\'\\n }\\n }\\n}"},{"name":"statusText","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates how to use the `text` property to display additional information in the status component.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Detailed message providing more context about the status.\'\\n }\\n }\\n}"},{"name":"statusType","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleGroup, MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example illustrates the different `type` values that the `NgxStatusComponent` can have: `primary`, `info`, `success`, `warn`, and `danger`. Use the buttons to switch between types.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n typeChanged(type: string): void {\\n this[\'status\'] = {\\n title: \'Sample Status Title\',\\n type: type,\\n text: \'Sample text for the status message.\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n primary\\n info\\n success\\n warn\\n danger\\n \\n
\\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'success\',\\n text: \'Sample text for the status message.\'\\n }\\n }\\n}"}],"projects/story-book/main.ts":[{"name":"config","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/main.ts","deprecated":false,"deprecationMessage":"","type":"StorybookConfig","defaultValue":"{\\n stories: [\\n \'./src/**/*.mdx\',\\n \'./src/**/*.stories.@(js|jsx|mjs|ts|tsx)\'\\n ],\\n addons: [\\n {\\n name: getAbsolutePath(\'@storybook/addon-essentials\'),\\n options: {\\n \'actions\': false\\n }\\n },\\n getAbsolutePath(\'@storybook/addon-themes\'),\\n getAbsolutePath(\'@storybook/addon-links\')\\n ],\\n framework: {\\n name: getAbsolutePath(\'@storybook/angular\'),\\n options: {}\\n },\\n staticDirs: [\\n \'./public\'\\n ],\\n webpackFinal: webpackConfig => {\\n webpackConfig.performance = (typeof webpackConfig.performance === \'object\') ? webpackConfig.performance : {};\\n webpackConfig.performance.hints = false;\\n webpackConfig.performance.maxEntrypointSize = 512000;\\n webpackConfig.performance.maxAssetSize = 512000;\\n return webpackConfig;\\n },\\n core: {\\n disableTelemetry: true\\n }\\n}"},{"name":"getAbsolutePath","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/main.ts","deprecated":false,"deprecationMessage":"","type":"","defaultValue":"(value: string): string => dirname(require.resolve(join(value, \'package.json\')))","rawdescription":"This function is used to resolve the absolute path of a package.\\nIt is needed in projects that use Yarn PnP or are set up within a monorepo.","description":"

This function is used to resolve the absolute path of a package.\\nIt is needed in projects that use Yarn PnP or are set up within a monorepo.

\\n"}],"projects/story-book/src/search-container/search-container.stories.ts":[{"name":"customTooltips","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Shows the search container with custom tooltip texts for clear, open, and close actions.\'\\n }\\n }\\n },\\n ...standard,\\n args: {\\n clearTooltip: \'Clear search\',\\n openSearchTooltip: \'Start searching\',\\n closeSearchTooltip: \'Close search\'\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Search Container\',\\n component: NgxSearchContainerComponent,\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSearchInputDirective,\\n MatTooltip,\\n FormsModule\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxSearchContainerComponent` provides a flexible search interface with customizable tooltips for actions such as clearing, opening, and closing the search. It integrates with an input field via the `ngx-search-input` directive to enable search functionality.\'\\n }\\n }\\n },\\n argTypes: {\\n clearTooltip: {\\n control: \'text\',\\n description: \'Tooltip text for the clear button in the search container. This is displayed when the user hovers over the clear button.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Effacer la recherche\' }\\n }\\n },\\n openSearchTooltip: {\\n description: \'Tooltip text for the button that opens the search. This is displayed when the user hovers over the search button.\',\\n control: \'text\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Ouvrir la recherche\' }\\n }\\n },\\n closeSearchTooltip: {\\n description: \'Tooltip text for the button that closes the search. This is displayed when the user hovers over the close button.\',\\n control: \'text\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Quitter la recherche\' }\\n }\\n }\\n },\\n args: {\\n clearTooltip: \'Effacer la recherche\',\\n openSearchTooltip: \'Ouvrir la recherche\',\\n closeSearchTooltip: \'Quitter la recherche\'\\n }\\n}"},{"name":"searchWithLists","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatList, MatListItem\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Demonstrates the search container with a full list and search functionality. The search input filters the list based on user input and displays the results in separate sections.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n fullList: [\'lion\',\\n \'tigre\',\\n \'éléphant\',\\n \'giraffe\',\\n \'panda\',\\n \'koala\',\\n \'limace\',\\n \'cygne\',\\n \'chat\',\\n \'ours\',\\n \'faisan\',\\n \'dauphin\',\\n \'paon\',\\n \'furet\',\\n \'panda\',\\n \'phoque\',\\n \'crocodile\',\\n \'gorille\',\\n \'raie\',\\n \'chinchilla\',\\n \'cafard\',\\n \'faisan\',\\n \'corbeau\',\\n \'dromadaire\',\\n \'alpaga\',\\n \'aigle\',\\n \'espadon\',\\n \'canari\',\\n \'guépard\'],\\n searchList: [],\\n searchModel: \'\',\\n searchQueryChanged(event: string): void {\\n // If search query is empty, reset searchList to fullList\\n if (!event || event === \'\') {\\n this[\'searchList\'] = this[\'fullList\'] as string[];\\n } else {\\n this[\'searchList\'] = (this[\'fullList\'] as string[]).filter((animal: string) => animal.includes(event));\\n\\n }\\n }\\n },\\n template: `\\n
\\n \\n \\n \\n
\\n
\\n
\\n Liste complète\\n \\n @for (animal of fullList; track $index) {\\n {{ animal }}\\n }\\n \\n
\\n
\\n Liste issue de la recherche\\n \\n @for (animal of searchList; track $index) {\\n {{ animal }}\\n }\\n \\n
\\n
\\n
\\n `,\\n styles: [`\\n section {\\n padding: 5rem;\\n font-family: \'Roboto\';\\n }\\n\\n .listsContainer {\\n display: flex;\\n gap: 5px;\\n }\\n\\n .fullList,\\n .searchList {\\n flex: auto;\\n }\\n\\n .mdc-list-item.mdc-list-item--with-one-line {\\n height: 24px;\\n }\\n `]\\n }),\\n args: {\\n clearTooltip: \'Effacer la recherche\'\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays a basic search container with default tooltips. Includes an input field for search queries.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n \\n \\n \\n `\\n })\\n}"}],"projects/story-book/src/user-card/user-card.stories.ts":[{"name":"dynamicBadgeColor","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Depending on the user\\\\\'s \\"familyCode\\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n familyCodeChanged(code: string): void {\\n this[\'user\'] = {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: code,\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n Social\\n Infirmier-e\\n Médecin dentiste\\n Custom text\\n Empty\\n \\n
\\n
\\n `\\n }),\\n args: {\\n user: {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Social\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/User Card\',\\n component: NgxUserCardComponent,\\n tags: [\'autodocs\'],\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n layout: \'centered\',\\n docs: {\\n description: {\\n component: \'The `NgxUserCardComponent` displays user information. The UserCard can be expanded or compressed, showing or hiding additional details based on the `expanded` input.\'\\n }\\n }\\n },\\n argTypes: {\\n expanded: {\\n control: \'boolean\',\\n table: {\\n defaultValue: {\\n summary: \'true\'\\n },\\n type: { summary: \'boolean\' }\\n },\\n description: \'Set to false to have a compressed UserCard with less information.\'\\n },\\n user: {\\n control: \'object\',\\n table: {\\n type: { summary: \'NgxUserCard\' }\\n },\\n description: \'User information object for displaying in the card.\'\\n }\\n },\\n args: {\\n user: {\\n title: \'Docteur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Infirmier-e\', // This value will influence badge color\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n },\\n expanded: false\\n }\\n}"},{"name":"notExpandedUserCard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'You can set the \\"expanded\\" property to false to have a compressed UserCard with less information.\'\\n }\\n }\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n args: {\\n expanded: true\\n }\\n}"},{"name":"userAbbreviationTitle","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Depending on the user\\\\\'s \\"title\\" property given, the UserCard will display its abbreviation.
  • Docteur / Docteure : Dr, Dre
  • Monsieur / Madame : M, Mme
  • Professeur / Professeure : Pr, Pre
Any other text in the \\"title\\" property will be displayed entirely.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n titleChanged(code: string): void {\\n this[\'user\'] = {\\n title: code,\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Soins\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n Docteur\\n Docteure\\n Monsieur\\n Madame\\n Professeur\\n Professeure\\n OtherTitle\\n \\n
\\n
\\n `\\n }),\\n args: {\\n user: {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Infirmier-e\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n }\\n }\\n}"},{"name":"userWithMissingInfo","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the component when certain user information is missing. This helps ensure that the rendering remains consistent even with incomplete data.\'\\n }\\n }\\n },\\n args: {\\n user: {\\n title: \'Professor\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n email: \'jean.patate@hug.ch\'\\n // Phone number and address are missing\\n },\\n expanded: true\\n }\\n}"}],"projects/story-book/manager.ts":[{"name":"hugTheme","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/manager.ts","deprecated":false,"deprecationMessage":"","type":"","defaultValue":"create({\\n base: \'light\',\\n brandTitle: \'ngx-components - storybook\',\\n brandImage: \'logo.svg\',\\n brandTarget: \'_self\'\\n})"}],"projects/story-book/src/list-loader/list-loader.stories.ts":[{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/List Loader\',\\n component: NgxListLoaderComponent,\\n tags: [\'autodocs\'],\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxListLoaderComponent` is used to display a loading indicator when fetching large amounts of data. It includes a spinner animation and an optional label for context.\'\\n }\\n }\\n },\\n argTypes: {\\n label: {\\n description: \'The label text displayed alongside the loader.\',\\n control: {\\n type: \'text\'\\n },\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'\' }\\n }\\n }\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the default loader without a label. This is useful when no additional context is needed.\'\\n }\\n }\\n },\\n args: {\\n label: \'\'\\n }\\n}"},{"name":"withLabel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Shows the loader with a custom label. This can be used to provide additional information or context while the data is loading.\'\\n }\\n }\\n },\\n args: {\\n label: \'Loading data, please wait...\'\\n }\\n}"},{"name":"withLongLabel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the loader with a long label to test how it handles extended text. This is useful to ensure that the layout accommodates longer messages.\'\\n }\\n }\\n },\\n args: {\\n label: \'This is a very long label that we use to test how the loader handles extended text. It should wrap or truncate gracefully depending on the design.\'\\n }\\n}"}],"projects/story-book/src/overlay/overlay.stories.ts":[{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Overlay\',\\n component: NgxOverlayComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n MatIcon, MatIconButton, MatButton\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n width: {\\n description: \'Defines the width of the overlay for desktop view.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n },\\n widthForMobile: {\\n description: \'Defines the width of the overlay for mobile view. It is only used when isMobile is true.\',\\n table: {\\n type: { summary: \'string\' },\\n disable: true\\n }\\n },\\n isMobile: {\\n description: \'Determines whether the overlay should use mobile-specific settings.\',\\n table: {\\n type: { summary: \'boolean\' },\\n disable: true\\n }\\n },\\n overlayBackdropClass: {\\n description: \'CSS class applied to the overlay backdrop. Can be used to style the backdrop.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n },\\n overlayContainerClass: {\\n description: \'CSS class applied to the overlay container. Allows customization of the overlay appearance.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n }\\n },\\n args: {\\n width: \'400px\',\\n widthForMobile: \'200px\',\\n isMobile: false,\\n overlayBackdropClass: \'\',\\n overlayContainerClass: \'\'\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxOverlayComponent` displays an overlay that appears above the page content. It supports custom widths, mobile-specific settings, and customizable CSS classes for both the container and backdrop.\'\\n }\\n }\\n }\\n}"},{"name":"navigationExample","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Here an example of navigation through the component\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n Clicking these will navigate\\n \\n \\n
\\n @for (item of items; track $index) {\\n {{ item.text }}\\n }\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"overlayClass","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Customize the overlay appearance by applying custom CSS classes. Use overlayContainerClass for the overlay itself and overlayBackdropClass for the backdrop.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n < Click here\\n \\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n }\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'myCustomContainerClass\',\\n overlayBackdropClass: \'myCustomBackdropClass\'\\n }\\n}"},{"name":"overlayForMobile","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n parameters: {\\n docs: {\\n description: {\\n story: \'Set a widthForMobile that is used when isMobile is true to adjust the overlay width for mobile devices.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n Try to modify the width of the NgxOverlay component this text will be limited in width by this value\\n
\\n
\\n Current width: [{{menu.width}}]\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n widthForMobile: \'200px\',\\n isMobile: true\\n }\\n}"},{"name":"overlayWidth","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFormField, MatLabel, MatHint, FormsModule, MatInput\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Configure the width of the overlay using the width property. Adjust the input field to see changes in real-time.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n widthChanged(value: string): void {\\n this[\'width\'] = value;\\n }\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n Try to modify the width of the NgxOverlay component. This text will be limited in width by this value\\n
\\n
\\n Current width: [{{menu.width}}]\\n
\\n
\\n\\n
\\n \\n Width\\n \\n try 900\\n \\n
\\n
\\n `\\n })\\n}"},{"name":"ownerElement","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n parameters: {\\n docs: {\\n description: {\\n story: \'You can provide two custom css classes to the component:
  • overlayContainerClassallows you to customize the overlay itself
  • overlayBackdropClassallows you to customize the overlay backdrop
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n < Click here\\n \\n\\n
\\n I am is owner\\n
\\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n } \\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'myCustomContainerClass\',\\n overlayBackdropClass: \'myCustomBackdropClass\'\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n }\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"textContainerExample","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'An example demonstrating the NgxOverlay component with a large block of text and a custom style.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n Click here >\\n\\n \\n \\n\\n \\n
\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, lacus nec imperdiet pretium, purus nisi hendrerit velit, non laoreet est velit sit amet arcu. Cras eget malesuada tortor. Aliquam vitae libero tellus. Quisque at velit sed arcu feugiat imperdiet ut quis augue. Cras laoreet eleifend tellus varius laoreet. Vestibulum vulputate sagittis sapien, eget euismod metus. Sed ut lacus at risus tristique blandit. Cras at nibh augue. Nam felis felis, facilisis sed fringilla a, porta id magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc eget velit a enim pharetra volutpat quis eget lacus. Donec imperdiet magna metus, auctor pretium nibh dictum eu. Sed pharetra tristique sodales. Nam dapibus porta imperdiet. Pellentesque elementum tristique\\n molestie. Sed at dolor et mauris vehicula vestibulum. Maecenas cursus vulputate convallis. Quisque eu imperdiet nunc. Nunc ut feugiat eros. Integer aliquam nibh nec est sollicitudin dictum at et diam. Aliquam neque magna, condimentum non dolor in, faucibus malesuada mauris. Sed dictum massa neque, quis venenatis justo consequat sed. Fusce imperdiet purus nec neque vestibulum, vel placerat enim porta. Duis turpis purus, suscipit vitae scelerisque sed, sollicitudin a sem. Nullam orci risus, suscipit non mollis non, semper sit amet enim. In vel eros justo. Etiam gravida dolor vitae commodo tincidunt. Ut consequat id odio ac scelerisque. Phasellus fringilla et nisi at convallis. Nunc efficitur est in luctus interdum. Curabitur risus turpis, gravida in ex id, elementum convallis\\n augue. Duis laoreet condimentum purus, sit amet vulputate dolor finibus ac. Proin consectetur ullamcorper orci ut ullamcorper. Vivamus ornare leo vel urna molestie porta. Vivamus malesuada velit eros, non rutrum urna elementum ut. Pellentesque sed lorem tempor, consectetur sem in, condimentum justo. Vivamus eu nunc interdum, mattis turpis nec, accumsan neque. Integer convallis porttitor turpis feugiat placerat. Nulla sodales ex in neque lobortis, vel mollis turpis interdum. Mauris pharetra ex a justo maximus, at semper metus feugiat. Nullam aliquet tortor nec tortor auctor venenatis. Proin id laoreet eros, id sodales mi. Vestibulum mollis orci nec orci posuere dapibus. Integer placerat, nisl id aliquam interdum, diam est vestibulum purus, non venenatis turpis lacus in felis.\\n Vestibulum pulvinar velit tortor, ut convallis turpis condimentum ut. Nunc auctor hendrerit augue, sed malesuada quam. Etiam varius interdum risus, eget gravida libero convallis sed. Aliquam tempor orci at ex ullamcorper mollis. Fusce imperdiet ut ex in gravida. Curabitur iaculis non diam vel consequat. Praesent a magna posuere, feugiat mauris nec, sollicitudin ligula. Sed faucibus viverra velit eget porttitor. Suspendisse a sem gravida, tincidunt lacus vitae, lobortis ante. Nulla nisl quam, ultrices non nunc eget, commodo luctus metus. Curabitur nulla erat, gravida in nulla vel, commodo vestibulum ligula. Quisque quis lectus vel urna luctus gravida eget id risus.\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'customContainerForLorem\',\\n overlayBackdropClass: \'myCustomBackdropClass\',\\n width: \'100vw\'\\n }\\n}"}],"projects/story-book/preview.ts":[{"name":"preview","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/preview.ts","deprecated":false,"deprecationMessage":"","type":"Preview","defaultValue":"{\\n parameters: {\\n controls: {\\n matchers: {\\n color: /(background|color)$/i,\\n date: /Date$/i\\n }\\n },\\n layout: \'centered\'\\n }\\n}"}]},"groupedFunctions":{},"groupedEnumerations":{},"groupedTypeAliases":{"projects/story-book/src/layout/layout.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/list-loader/list-loader.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/message-box/message-box.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/overlay/overlay.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/search-container/search-container.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/splitter/splitter.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/status/status.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/user-card/user-card.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}]}},"routes":[],"coverage":{"count":1,"status":"low","files":[{"filePath":"projects/story-book/main.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"config","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/main.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"getAbsolutePath","coveragePercent":100,"coverageCount":"1/1","status":"very-good"},{"filePath":"projects/story-book/manager.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"hugTheme","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/preview.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"preview","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"actionsToolbar","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"completeLayout","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"infosBoxes","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"layoutToolbar","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"rightPanel","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/list-loader/list-loader.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/list-loader/list-loader.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/list-loader/list-loader.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"withLabel","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/list-loader/list-loader.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"withLongLabel","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"basicWarnHorizontal","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"complete","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"customIcon","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"horizontalLayout","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"infoVertical","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"noActions","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"noCloseIcon","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"successWithActions","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"appearance","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"customArrowIcons","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"layout","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"prefixAndSuffix","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"showOnInit","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"navigationExample","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"overlayClass","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"overlayForMobile","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"overlayWidth","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"ownerElement","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"textContainerExample","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/search-container/search-container.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"customTooltips","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/search-container/search-container.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/search-container/search-container.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"searchWithLists","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/search-container/search-container.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"combinedSplitters","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"customizableSplitAreas","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"disabledSplitter","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"gutterSizeControl","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"verticalSplit","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"complete","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"minimumRequired","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusActions","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusCustomCssClass","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusDuration","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusTechnicalText","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusText","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusType","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"dynamicBadgeColor","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"notExpandedUserCard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"userAbbreviationTitle","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"userWithMissingInfo","coveragePercent":0,"coverageCount":"0/1","status":"low"}]}}');(0,angular.$)(documentation_namespaceObject);const story_book_preview={parameters:{controls:{matchers:{color:/(background|color)$/i,date:/Date$/i}},layout:"centered"}}},"./storybook-config-entry.js":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var external_STORYBOOK_MODULE_GLOBAL_=__webpack_require__("@storybook/global"),external_STORYBOOK_MODULE_PREVIEW_API_=__webpack_require__("storybook/internal/preview-api"),external_STORYBOOK_MODULE_CHANNELS_=__webpack_require__("storybook/internal/channels"),asyncToGenerator=__webpack_require__("./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js");const pipeline=x=>x(),importers=[function(){var _ref=(0,asyncToGenerator.A)((function*(path){if(!/^\.[\\/](?:projects\/story-book\/src(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.mdx)$/.exec(path))return;const pathRemainder=path.substring(26);return __webpack_require__("./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$")("./"+pathRemainder)}));return function(_x){return _ref.apply(this,arguments)}}(),function(){var _ref2=(0,asyncToGenerator.A)((function*(path){if(!/^\.[\\/](?:projects\/story-book\/src(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.stories\.(js|jsx|mjs|ts|tsx))$/.exec(path))return;const pathRemainder=path.substring(26);return __webpack_require__("./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cmjs%7Cts%7Ctsx))$")("./"+pathRemainder)}));return function(_x2){return _ref2.apply(this,arguments)}}()];function _importFn(){return(_importFn=(0,asyncToGenerator.A)((function*(path){for(let i=0;iimporters[i](path)));if(moduleExports)return moduleExports}}))).apply(this,arguments)}const channel=(0,external_STORYBOOK_MODULE_CHANNELS_.createBrowserChannel)({page:"preview"});external_STORYBOOK_MODULE_PREVIEW_API_.addons.setChannel(channel),"DEVELOPMENT"===external_STORYBOOK_MODULE_GLOBAL_.global.CONFIG_TYPE&&(window.__STORYBOOK_SERVER_CHANNEL__=channel);const preview=new external_STORYBOOK_MODULE_PREVIEW_API_.PreviewWeb((function importFn(_x3){return _importFn.apply(this,arguments)}),(()=>(0,external_STORYBOOK_MODULE_PREVIEW_API_.composeConfigs)([__webpack_require__("./node_modules/@storybook/angular/dist/client/preview-prod.js"),__webpack_require__("./node_modules/@storybook/angular/dist/client/docs/config.js"),__webpack_require__("./node_modules/@storybook/angular/dist/client/config.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/docs/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/backgrounds/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/viewport/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/measure/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/outline/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/highlight/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-themes/preview.js"),__webpack_require__("./node_modules/@storybook/addon-links/preview.js"),__webpack_require__("./projects/story-book/preview.ts")])));window.__STORYBOOK_PREVIEW__=preview,window.__STORYBOOK_STORY_STORE__=preview.storyStore,window.__STORYBOOK_ADDONS_CHANNEL__=channel},"./node_modules/memoizerific sync recursive":module=>{function webpackEmptyContext(req){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id="./node_modules/memoizerific sync recursive",module.exports=webpackEmptyContext},"./projects/story-book/src/styles.scss?ngGlobalStyle":()=>{},"./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$":module=>{function webpackEmptyAsyncContext(req){return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}))}webpackEmptyAsyncContext.keys=()=>[],webpackEmptyAsyncContext.resolve=webpackEmptyAsyncContext,webpackEmptyAsyncContext.id="./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$",module.exports=webpackEmptyAsyncContext},"./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cmjs%7Cts%7Ctsx))$":(module,__unused_webpack_exports,__webpack_require__)=>{var map={"./layout/layout.stories":["./projects/story-book/src/layout/layout.stories.ts",504,122,932,91,578,758,597,344,888],"./layout/layout.stories.ts":["./projects/story-book/src/layout/layout.stories.ts",504,122,932,91,578,758,597,344,888],"./list-loader/list-loader.stories":["./projects/story-book/src/list-loader/list-loader.stories.ts",982],"./list-loader/list-loader.stories.ts":["./projects/story-book/src/list-loader/list-loader.stories.ts",982],"./message-box/message-box.stories":["./projects/story-book/src/message-box/message-box.stories.ts",504,932,578,4,118],"./message-box/message-box.stories.ts":["./projects/story-book/src/message-box/message-box.stories.ts",504,932,578,4,118],"./numeric-stepper/numeric-stepper.stories":["./projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts",504,122,932,758,547,652,285,622],"./numeric-stepper/numeric-stepper.stories.ts":["./projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts",504,122,932,758,547,652,285,622],"./overlay/overlay.stories":["./projects/story-book/src/overlay/overlay.stories.ts",504,122,932,91,578,758,652,126],"./overlay/overlay.stories.ts":["./projects/story-book/src/overlay/overlay.stories.ts",504,122,932,91,578,758,652,126],"./search-container/search-container.stories":["./projects/story-book/src/search-container/search-container.stories.ts",504,122,932,91,597,70,816],"./search-container/search-container.stories.ts":["./projects/story-book/src/search-container/search-container.stories.ts",504,122,932,91,597,70,816],"./splitter/splitter.stories":["./projects/story-book/src/splitter/splitter.stories.ts",504,122,758,547,652,254],"./splitter/splitter.stories.ts":["./projects/story-book/src/splitter/splitter.stories.ts",504,122,758,547,652,254],"./status/status.stories":["./projects/story-book/src/status/status.stories.ts",504,122,932,91,578,547,584,73,288],"./status/status.stories.ts":["./projects/story-book/src/status/status.stories.ts",504,122,932,91,578,547,584,73,288],"./user-card/user-card.stories":["./projects/story-book/src/user-card/user-card.stories.ts",504,122,932,547,158],"./user-card/user-card.stories.ts":["./projects/story-book/src/user-card/user-card.stories.ts",504,122,932,547,158]};function webpackAsyncContext(req){if(!__webpack_require__.o(map,req))return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}));var ids=map[req],id=ids[0];return Promise.all(ids.slice(1).map(__webpack_require__.e)).then((()=>__webpack_require__(id)))}webpackAsyncContext.keys=()=>Object.keys(map),webpackAsyncContext.id="./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cmjs%7Cts%7Ctsx))$",module.exports=webpackAsyncContext},"storybook/internal/channels":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CHANNELS__},"storybook/internal/client-logger":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CLIENT_LOGGER__},"@storybook/core/preview-errors":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CORE_EVENTS_PREVIEW_ERRORS__},"storybook/internal/core-events":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CORE_EVENTS__},"@storybook/global":module=>{"use strict";module.exports=__STORYBOOK_MODULE_GLOBAL__},"storybook/internal/preview-api":module=>{"use strict";module.exports=__STORYBOOK_MODULE_PREVIEW_API__}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[271],(()=>(__webpack_exec__("./storybook-config-entry.js"),__webpack_exec__("./node_modules/@angular/compiler/fesm2022/compiler.mjs"),__webpack_exec__("./projects/story-book/src/styles.scss?ngGlobalStyle"))));__webpack_require__.O()}]); \ No newline at end of file diff --git a/main.f98300a6.iframe.bundle.js b/main.f98300a6.iframe.bundle.js deleted file mode 100644 index 241e951..0000000 --- a/main.f98300a6.iframe.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk=self.webpackChunk||[]).push([[792],{"./projects/story-book/preview.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>story_book_preview});var angular=__webpack_require__("./node_modules/@storybook/addon-docs/angular/index.js");const documentation_namespaceObject=JSON.parse('{"pipes":[],"interfaces":[],"injectables":[],"guards":[],"interceptors":[],"classes":[],"directives":[],"components":[],"modules":[],"miscellaneous":{"variables":[{"name":"actionsToolbar","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFabButton,\\n MatIconButton,\\n MatTooltip,\\n MatIcon\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The actions template inside the component adds buttons on the toolbar. You must have the layoutToolbar template for it to work correctly.
  • The layoutPrimaryAction template allows you to add one primary button on the toolbar. Here my add icon button.
  • The layoutActions template allows you to add additional buttons to the toolbar. Here my refresh and my favorite icon button.
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n log: (msg: string): void => {\\n alert(msg);\\n }\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Primary action --\x3e\\n \\n \\n \\n\\n \x3c!-- Actions panel --\x3e\\n \\n \\n\\n \\n \\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"appearance","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggle,\\n MatButtonToggleGroup\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This component supports different appearances for `mat-form-field`.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'fill\',\\n appearanceChanged(value: string): void {\\n this[\'appearance\'] = value;\\n }\\n },\\n template: `\\n
\\n
\\n \\n This is my label\\n \\n \\n \\n
\\n
\\n \\n Fill\\n Outline\\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n `]\\n })\\n}"},{"name":"basicWarnHorizontal","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with a \\"warn\\" type and horizontal layout. It shows a simple warning message with default settings.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"warn\\" horizontal\\n \\n
\\n `\\n }),\\n args: {\\n type: \'warn\',\\n horizontal: true,\\n showCloseIcon: false,\\n title: \'My title\'\\n }\\n}"},{"name":"combinedSplitters","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story presents a combination of two splitters: a vertical splitter nested inside a horizontal splitter. This allows creating a complex layout with resizable areas in both directions.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \x3c!-- Horizontal Splitter --\x3e\\n \\n \x3c!-- First Horizontal Area --\x3e\\n \\n \x3c!-- Vertical Splitter Inside the First Horizontal Area --\x3e\\n \\n \x3c!-- First Vertical Area --\x3e\\n \\n

Content in the first vertical area...

\\n
\\n \x3c!-- Second Vertical Area --\x3e\\n \\n

Content in the second vertical area...

\\n
\\n
\\n
\\n \x3c!-- Second Horizontal Area --\x3e\\n \\n

Content in the second horizontal area...

\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"complete","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with all inputs configured, including actions, title, icon, and layout options. It shows how the component behaves with various properties and interactive elements.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This is a default message box, in vertical layout.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'info\',\\n title: undefined,\\n icon: undefined,\\n actions: [\\n {\\n action: (): void => alert(\'remove action\'),\\n icon: \'remove\'\\n },\\n {\\n action: (): void => alert(\'add action\'),\\n icon: \'add\'\\n }\\n ],\\n horizontal: false,\\n showCloseIcon: false\\n }\\n}"},{"name":"complete","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example showcases a `NgxStatusComponent` with all available features, including title, type, text, date, duration, custom CSS class, technical text, and multiple actions. Depending on the user\\\\\'s \\"familyCode\\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'This is a sample status message.\',\\n date: new Date(),\\n duration: 5000,\\n className: \'my-custom-css-class-2\',\\n technicalText: \'Technical details about the status.\',\\n actions: [\\n {\\n label: \'Action 1\',\\n callback: (): void => console.log(\'Action 1 triggered.\')\\n },\\n {\\n label: \'Action 2\',\\n callback: (): void => console.log(\'Action 2 triggered.\')\\n }\\n ]\\n }\\n }\\n}"},{"name":"completeLayout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n StorybookLayoutWrapperComponent\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Here you can see everything that can be added to have this complete component.
  • Template layoutToolbar
    • toolbar-titledirective on span to add title
    • ngx-search-containercomponent for searching
  • Template layoutPrimaryAction
  • Template layoutActions
  • Template layoutRight
    • filters-chip-listdirective on div to contain mat-chip-listbox
  • Template layoutInfoBoxes
\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: \'\'\\n })\\n}"},{"name":"config","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/main.ts","deprecated":false,"deprecationMessage":"","type":"StorybookConfig","defaultValue":"{\\n stories: [\\n \'./src/**/*.mdx\',\\n \'./src/**/*.stories.@(js|jsx|mjs|ts|tsx)\'\\n ],\\n addons: [\\n {\\n name: getAbsolutePath(\'@storybook/addon-essentials\'),\\n options: {\\n \'actions\': false\\n }\\n },\\n getAbsolutePath(\'@storybook/addon-themes\'),\\n getAbsolutePath(\'@storybook/addon-links\')\\n ],\\n framework: {\\n name: getAbsolutePath(\'@storybook/angular\'),\\n options: {}\\n },\\n staticDirs: [\\n \'./public\'\\n ],\\n webpackFinal: webpackConfig => {\\n webpackConfig.performance = (typeof webpackConfig.performance === \'object\') ? webpackConfig.performance : {};\\n webpackConfig.performance.hints = false;\\n webpackConfig.performance.maxEntrypointSize = 512000;\\n webpackConfig.performance.maxAssetSize = 512000;\\n return webpackConfig;\\n },\\n core: {\\n disableTelemetry: true\\n }\\n}"},{"name":"customArrowIcons","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n Custom Arrow Icons\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n }),\\n args: {\\n arrowIcons: true\\n }\\n}"},{"name":"customIcon","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'It shows a simple success message with default settings but with custom agriculture icon.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"success\\" horizontal\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n icon: \'agriculture\',\\n horizontal: true,\\n showCloseIcon: false,\\n title: \'My agriculture icon\'\\n }\\n}"},{"name":"customizableSplitAreas","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFormField, MatLabel, FormsModule, MatInput, ReactiveFormsModule\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story provides an example of how to customize the properties of each split area dynamically. It allows changing the size and minimum size of each area through input fields.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n firstAreaSize: 50,\\n secondAreaSize: 50,\\n firstAreaMinSize: 100,\\n secondAreaMinSize: 10,\\n firstAreaSizeChanged(size: number): void {\\n if (size > 100) {\\n size = 100;\\n } else if (size < 0) {\\n size = 0;\\n }\\n this[\'firstAreaSize\'] = size;\\n this[\'secondAreaSize\'] = 100 - size;\\n },\\n secondAreaSizeChanged(size: number): void {\\n if (size > 100) {\\n size = 100;\\n } else if (size < 0) {\\n size = 0;\\n }\\n this[\'secondAreaSize\'] = size;\\n this[\'firstAreaSize\'] = 100 - size;\\n },\\n firstAreaMinSizeChanged(size: number): void {\\n this[\'firstAreaMinSize\'] = size;\\n },\\n secondAreaMinSizeChanged(size: number): void {\\n this[\'secondAreaMinSize\'] = size;\\n }\\n },\\n template: `\\n
\\n \\n \\n Area 1\\n
FirstArea minSize
\\n
\\n \\n Area 2\\n
SecondArea minSize
\\n
\\n
\\n
\\n
\\n
\\n \\n First Area Size (%)\\n \\n \\n \\n Second Area Size (%)\\n \\n \\n
\\n
\\n \\n First Area Minimum Size (px)\\n \\n \\n \\n Second Area Minimum Size (px)\\n \\n \\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"customTooltips","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Shows the search container with custom tooltip texts for clear, open, and close actions.\'\\n }\\n }\\n },\\n ...standard,\\n args: {\\n clearTooltip: \'Clear search\',\\n openSearchTooltip: \'Start searching\',\\n closeSearchTooltip: \'Close search\'\\n }\\n}"},{"name":"disabledSplitter","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'In this story, the splitter is disabled, preventing the user from resizing the areas.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n `\\n }),\\n args: {\\n disabled: true\\n }\\n}"},{"name":"dynamicBadgeColor","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Depending on the user\\\\\'s \\"familyCode\\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n familyCodeChanged(code: string): void {\\n this[\'user\'] = {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: code,\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n Social\\n Infirmier-e\\n Médecin dentiste\\n Custom text\\n Empty\\n \\n
\\n
\\n `\\n }),\\n args: {\\n user: {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Social\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n }\\n }\\n}"},{"name":"getAbsolutePath","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/main.ts","deprecated":false,"deprecationMessage":"","type":"","defaultValue":"(value: string): string => dirname(require.resolve(join(value, \'package.json\')))","rawdescription":"This function is used to resolve the absolute path of a package.\\nIt is needed in projects that use Yarn PnP or are set up within a monorepo.","description":"

This function is used to resolve the absolute path of a package.\\nIt is needed in projects that use Yarn PnP or are set up within a monorepo.

\\n"},{"name":"gutterSizeControl","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleGroup, MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story showcases the ability to control the gutter size dynamically. Use the buttons to change the gutter size between predefined values.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n changeGutterSize(size: number): void {\\n this[\'gutterSize\'] = size;\\n }\\n },\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n
\\n \\n 5px\\n 10px\\n 45px\\n 100px\\n \\n
\\n
\\n `\\n })\\n}"},{"name":"horizontalLayout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with a horizontal layout. The content and title are aligned horizontally, which may be useful for certain design requirements.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This message box is in horizontal layout.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'warn\',\\n title: \'Warning Message\',\\n icon: \'home\',\\n actions: [\\n {\\n text: \'Acknowledge\',\\n action: (): void => alert(\'Acknowledged\'),\\n icon: \'check\'\\n }\\n ],\\n horizontal: true,\\n showCloseIcon: true\\n }\\n}"},{"name":"hugTheme","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/manager.ts","deprecated":false,"deprecationMessage":"","type":"","defaultValue":"create({\\n base: \'light\',\\n brandTitle: \'ngx-components - storybook\',\\n brandImage: \'logo.svg\',\\n brandTarget: \'_self\'\\n})"},{"name":"infosBoxes","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutInfoBoxes template inside the component allows you to add informations under the toolbar.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Info boxes panel --\x3e\\n \\n Info box\\n Info box primary\\n Info box accent\\n \\n\\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"infoVertical","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent with an \\"info\\" type in vertical layout. It displays a basic informational message with default settings.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"info\\" vertical\\n \\n
\\n `\\n }),\\n args: {\\n type: \'info\',\\n horizontal: false,\\n showCloseIcon: true,\\n title: \'My title\'\\n }\\n}"},{"name":"layout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This component supports several layouts:
  • vertical
  • horizontal
  • horizontal-inlay
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115\\n },\\n template: `\\n
\\n
\\n
\\n \\n vertical layout\\n \\n \\n \\n
\\n
\\n \\n vertical layout\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal layout\\n \\n \\n \\n
\\n
\\n \\n horizontal layout\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal-inlay layout\\n \\n \\n \\n
\\n
\\n \\n horizontal-inlay layout\\n \\n \\n \\n
\\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n .grouped {\\n display: flex;\\n gap: 5rem;\\n }\\n `]\\n }),\\n args: {\\n layout: \'vertical\'\\n }\\n}"},{"name":"layoutToolbar","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n args: {\\n toolbarColor: \'accent\'\\n },\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSearchInputDirective,\\n NgxSearchContainerComponent\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutToolbar template inside the component adds a toolbar to it.
  • The toolbarColor Input on the component allows you to define the color of the toolbar. Here I have toolbarColor=\\"accent\\"
  • The span with directive toolbar-title allows you to add a title to the toolbar
  • You can add an ngx-search-container in the toolbar. Its size will fit by default
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n search: \'\',\\n log: (msg: string, event?: Event): void => {\\n console.log(msg, event);\\n }\\n },\\n template: `\\n
\\n \\n \\n My toolbar-title\\n \\n \\n \\n \\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Layout\',\\n component: NgxLayoutComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n FormsModule\\n ],\\n providers: [NgxStatusService]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n toolbarColor: {\\n options: [\'primary\', \'accent\'],\\n control: { type: \'select\' },\\n description: \'Sets the color of the toolbar. Choose between primary or accent themes.\',\\n table: {\\n defaultValue: {\\n summary: \'primary\'\\n },\\n type: { summary: \'primary | accent\' }\\n }\\n }\\n },\\n args: {\\n toolbarColor: \'primary\'\\n },\\n parameters: {\\n layout: \'fullscreen\',\\n docs: {\\n description: {\\n component: \'The `NgxLayoutComponent` is a flexible layout component for creating application layouts at HUG. It includes options for toolbars, actions, and side panels, making it adaptable for various use cases.\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/List Loader\',\\n component: NgxListLoaderComponent,\\n tags: [\'autodocs\'],\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxListLoaderComponent` is used to display a loading indicator when fetching large amounts of data. It includes a spinner animation and an optional label for context.\'\\n }\\n }\\n },\\n argTypes: {\\n label: {\\n description: \'The label text displayed alongside the loader.\',\\n control: {\\n type: \'text\'\\n },\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'\' }\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/MessageBox\',\\n component: NgxMessageBoxComponent,\\n tags: [\'autodocs\'],\\n argTypes: {\\n type: {\\n control: \'select\',\\n options: [\'info\', \'primary\', \'success\', \'warn\', \'danger\'],\\n description: \'Determines the type of the message box. Options include \\"info\\", \\"primary\\", \\"success\\", \\"warn\\", and \\"danger\\". This also sets the default icon if none is provided.\',\\n table: {\\n type: { summary: \'NgxMessageBoxType\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n title: {\\n control: \'text\',\\n description: \'The title displayed in the message box. Used to provide a header or subject for the message.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n icon: {\\n control: \'text\',\\n description: \'Icon associated with the message box. This can be the name of an icon or a path to an icon image. If not provided, a default icon based on the type will be used.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n actions: {\\n control: \'object\',\\n description: \'List of actions available in the message box. Each action can include text, type, icon, and an action function to execute. Allows you to customize the actions displayed in the footer of the message box.\',\\n table: {\\n type: { summary: \'readonly NgxMessageBoxAction[]\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n horizontal: {\\n control: \'boolean\',\\n description: \'Determines whether the layout of the message box is horizontal (true) or vertical (false). This affects the alignment of the title and content.\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n },\\n showCloseIcon: {\\n control: \'boolean\',\\n description: \'Indicates whether the close icon should be displayed in the message box. True to show the close icon, false to hide it.\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n }\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxMessageBoxComponent` is used to display informations to the user\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Numeric Stepper\',\\n component: NgxNumericStepperComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n MatLabel, MatInput, MatPrefix, MatSuffix, MatFormField, ReactiveFormsModule, FormsModule\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n layout: {\\n options: [\'vertical\', \'horizontal\', \'horizontal-inlay\'],\\n control: { type: \'select\' },\\n description: \'Layout of the stepper control.\',\\n table: {\\n defaultValue: {\\n summary: \'vertical\'\\n },\\n type: { summary: \'NgxNumericStepperLayout\' }\\n }\\n },\\n arrowIcons: {\\n control: { type: \'boolean\' },\\n description: \'Whether to show arrow icons.\',\\n table: {\\n defaultValue: {\\n summary: \'false\'\\n },\\n type: { summary: \'boolean\' }\\n }\\n },\\n showOnInit: {\\n control: { type: \'boolean\' },\\n description: \'Whether to show the stepper on initialization.\',\\n table: {\\n defaultValue: {\\n summary: \'false\'\\n },\\n type: { summary: \'boolean\' }\\n }\\n },\\n input: {\\n control: { type: \'object\' },\\n description: \'The form field control input to be used.\',\\n table: {\\n defaultValue: { summary: undefined },\\n type: { summary: \'MatFormFieldControl\' }\\n }\\n }\\n },\\n args: {\\n layout: \'vertical\'\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxNumericStepperComponent` integrates with a `mat-form-field` containing an input. It provides a hover mask to allow custom increments or decrements using the `+` and `-` buttons. It can be configured with various layouts and options.\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Overlay\',\\n component: NgxOverlayComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n MatIcon, MatIconButton, MatButton\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n width: {\\n description: \'Defines the width of the overlay for desktop view.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n },\\n widthForMobile: {\\n description: \'Defines the width of the overlay for mobile view. It is only used when isMobile is true.\',\\n table: {\\n type: { summary: \'string\' },\\n disable: true\\n }\\n },\\n isMobile: {\\n description: \'Determines whether the overlay should use mobile-specific settings.\',\\n table: {\\n type: { summary: \'boolean\' },\\n disable: true\\n }\\n },\\n overlayBackdropClass: {\\n description: \'CSS class applied to the overlay backdrop. Can be used to style the backdrop.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n },\\n overlayContainerClass: {\\n description: \'CSS class applied to the overlay container. Allows customization of the overlay appearance.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n }\\n },\\n args: {\\n width: \'400px\',\\n widthForMobile: \'200px\',\\n isMobile: false,\\n overlayBackdropClass: \'\',\\n overlayContainerClass: \'\'\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxOverlayComponent` displays an overlay that appears above the page content. It supports custom widths, mobile-specific settings, and customizable CSS classes for both the container and backdrop.\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Search Container\',\\n component: NgxSearchContainerComponent,\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSearchInputDirective,\\n MatTooltipModule,\\n FormsModule\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxSearchContainerComponent` provides a flexible search interface with customizable tooltips for actions such as clearing, opening, and closing the search. It integrates with an input field via the `ngx-search-input` directive to enable search functionality.\'\\n }\\n }\\n },\\n argTypes: {\\n clearTooltip: {\\n control: \'text\',\\n description: \'Tooltip text for the clear button in the search container. This is displayed when the user hovers over the clear button.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Effacer la recherche\' }\\n }\\n },\\n openSearchTooltip: {\\n description: \'Tooltip text for the button that opens the search. This is displayed when the user hovers over the search button.\',\\n control: \'text\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Ouvrir la recherche\' }\\n }\\n },\\n closeSearchTooltip: {\\n description: \'Tooltip text for the button that closes the search. This is displayed when the user hovers over the close button.\',\\n control: \'text\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Quitter la recherche\' }\\n }\\n }\\n },\\n args: {\\n clearTooltip: \'Effacer la recherche\',\\n openSearchTooltip: \'Ouvrir la recherche\',\\n closeSearchTooltip: \'Quitter la recherche\'\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Splitter\',\\n component: NgxSplitterComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n NgxSplitAreaDirective\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n direction: {\\n description: \'Sets the direction of the split, which can either be `horizontal` or `vertical`.\',\\n control: \'select\',\\n options: [\'horizontal\', \'vertical\'],\\n table: {\\n type: { summary: \'NgxSplitterDirection\' },\\n defaultValue: { summary: \'horizontal\' }\\n }\\n },\\n gutterSize: {\\n description: \'Specifies the width of the gutter in pixels.\',\\n control: \'number\',\\n table: {\\n type: { summary: \'number\' },\\n defaultValue: { summary: \'10\' }\\n }\\n },\\n disabled: {\\n description: \'Determines whether the splitter is active or disabled.\',\\n control: \'boolean\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n },\\n dragStart: {\\n description: \'Event triggered when the user starts dragging the cursor.\',\\n action: \'dragStart\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n },\\n dragProgress: {\\n description: \'Event triggered during the cursor drag, providing the progress as a percentage.\',\\n action: \'dragProgress\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n },\\n dragEnd: {\\n description: \'Event triggered when the user stops dragging the cursor.\',\\n action: \'dragEnd\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n }\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxSplitterComponent` allows splitting a container into resizable parts either horizontally or vertically. It supports dynamic resizing, event callbacks during drag operations, and flexible gutter sizing.\'\\n }\\n }\\n },\\n args: {\\n direction: \'horizontal\',\\n gutterSize: \'10\',\\n disabled: false\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Status\',\\n component: NgxStatusComponent,\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSnackbarComponent, NgxStatusModule\\n ],\\n providers: [NgxStatusService]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n status: {\\n description: \'The object containing the status details to be displayed.\',\\n control: {\\n type: \'object\'\\n },\\n table: {\\n type: { summary: \'NgxStatus\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n }\\n },\\n args: {\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxStatusComponent` displays informational messages in a popup, leveraging the `NgxSnackbarComponent`. It supports various types of notifications, custom actions, and detailed technical information.\'\\n }\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/User Card\',\\n component: NgxUserCardComponent,\\n tags: [\'autodocs\'],\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleModule\\n ]\\n })\\n ],\\n parameters: {\\n layout: \'centered\',\\n docs: {\\n description: {\\n component: \'The `NgxUserCardComponent` displays user information. The UserCard can be expanded or compressed, showing or hiding additional details based on the `expanded` input.\'\\n }\\n }\\n },\\n argTypes: {\\n expanded: {\\n control: \'boolean\',\\n table: {\\n defaultValue: {\\n summary: \'true\'\\n },\\n type: { summary: \'boolean\' }\\n },\\n description: \'Set to false to have a compressed UserCard with less information.\'\\n },\\n user: {\\n control: \'object\',\\n table: {\\n type: { summary: \'NgxUserCard\' }\\n },\\n description: \'User information object for displaying in the card.\'\\n }\\n },\\n args: {\\n user: {\\n title: \'Docteur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Infirmier-e\', // This value will influence badge color\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n },\\n expanded: false\\n }\\n}"},{"name":"minimumRequired","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates the `NgxStatusComponent` with only the required fields: `title` and `type`. Additional fields are optional.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\'\\n }\\n }\\n}"},{"name":"navigationExample","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Here an example of navigation through the component\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n Clicking these will navigate\\n \\n \\n
\\n @for (item of items; track $index) {\\n {{ item.text }}\\n }\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"noActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent without any actions. It demonstrates how the component looks and behaves when there are no interactive elements in the footer.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

No actions available in this example.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n title: \'Success Message\',\\n icon: \'done\',\\n horizontal: false,\\n showCloseIcon: true\\n }\\n}"},{"name":"noCloseIcon","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent without the close icon. This configuration is useful if you want to prevent the user from closing the message box manually.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This message box does not have a close icon.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'danger\',\\n title: \'Error Message\',\\n icon: \'error\',\\n actions: [\\n {\\n text: \'Retry\',\\n action: (): void => alert(\'Retry action\'),\\n icon: \'refresh\'\\n }\\n ],\\n horizontal: true,\\n showCloseIcon: false\\n }\\n}"},{"name":"notExpandedUserCard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'You can set the \\"expanded\\" property to false to have a compressed UserCard with less information.\'\\n }\\n }\\n }\\n}"},{"name":"overlayClass","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Customize the overlay appearance by applying custom CSS classes. Use overlayContainerClass for the overlay itself and overlayBackdropClass for the backdrop.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n < Click here\\n \\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n }\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'myCustomContainerClass\',\\n overlayBackdropClass: \'myCustomBackdropClass\'\\n }\\n}"},{"name":"overlayForMobile","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n parameters: {\\n docs: {\\n description: {\\n story: \'Set a widthForMobile that is used when isMobile is true to adjust the overlay width for mobile devices.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n Try to modify the width of the NgxOverlay component this text will be limited in width by this value\\n
\\n
\\n Current width: [{{menu.width}}]\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n widthForMobile: \'200px\',\\n isMobile: true\\n }\\n}"},{"name":"overlayWidth","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFormField, MatLabel, MatHint, FormsModule, MatInput, ReactiveFormsModule\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Configure the width of the overlay using the width property. Adjust the input field to see changes in real-time.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n widthChanged(value: string): void {\\n this[\'width\'] = value;\\n }\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n Try to modify the width of the NgxOverlay component. This text will be limited in width by this value\\n
\\n
\\n Current width: [{{menu.width}}]\\n
\\n
\\n\\n
\\n \\n Width\\n \\n try 900\\n \\n
\\n
\\n `\\n })\\n}"},{"name":"ownerElement","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n parameters: {\\n docs: {\\n description: {\\n story: \'You can provide two custom css classes to the component:
  • overlayContainerClassallows you to customize the overlay itself
  • overlayBackdropClassallows you to customize the overlay backdrop
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n < Click here\\n \\n\\n
\\n I am is owner\\n
\\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n } \\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'myCustomContainerClass\',\\n overlayBackdropClass: \'myCustomBackdropClass\'\\n }\\n}"},{"name":"prefixAndSuffix","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This section allows you to visualize the component with different `mat-form-field` configurations, including custom prefixes and suffixes.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n prefix: \'\',\\n suffix: \'cm\',\\n prefixChanged(value: string): void {\\n this[\'prefix\'] = value;\\n },\\n suffixChanged(value: string): void {\\n this[\'suffix\'] = value;\\n }\\n },\\n template: `\\n
\\n
\\n
\\n \\n vertical layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n vertical layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n horizontal layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal-inlay layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n horizontal-inlay layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n

Try your own suffixes and prefixes

\\n
\\n
\\n \\n prefix\\n \\n \\n \\n suffix\\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n font-family: \'Roboto\';\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n .grouped {\\n display: flex;\\n gap: 5rem;\\n }\\n `]\\n }),\\n args: {\\n layout: \'vertical\'\\n }\\n}"},{"name":"preview","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/preview.ts","deprecated":false,"deprecationMessage":"","type":"Preview","defaultValue":"{\\n parameters: {\\n controls: {\\n matchers: {\\n color: /(background|color)$/i,\\n date: /Date$/i\\n }\\n },\\n layout: \'centered\'\\n }\\n}"},{"name":"rightPanel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatChipListbox,\\n MatChipOption\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutRight template inside the component adds a right panel to it.
  • A button to Open/Close the right panel will be automatically added to the toolbar
  • >You can add a filters-chip-list directive that can manage your filters
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Right panel --\x3e\\n \\n
\\n Layout right\\n
\\n \\n filter 1\\n filter 2\\n filter 3\\n filter 4\\n filter 5\\n \\n
\\n
\\n
\\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"searchWithLists","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatList, MatListItem\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Demonstrates the search container with a full list and search functionality. The search input filters the list based on user input and displays the results in separate sections.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n fullList: [\'lion\',\\n \'tigre\',\\n \'éléphant\',\\n \'giraffe\',\\n \'panda\',\\n \'koala\',\\n \'limace\',\\n \'cygne\',\\n \'chat\',\\n \'ours\',\\n \'faisan\',\\n \'dauphin\',\\n \'paon\',\\n \'furet\',\\n \'panda\',\\n \'phoque\',\\n \'crocodile\',\\n \'gorille\',\\n \'raie\',\\n \'chinchilla\',\\n \'cafard\',\\n \'faisan\',\\n \'corbeau\',\\n \'dromadaire\',\\n \'alpaga\',\\n \'aigle\',\\n \'espadon\',\\n \'canari\',\\n \'guépard\'],\\n searchList: [],\\n searchModel: \'\',\\n searchQueryChanged(event: string): void {\\n // If search query is empty, reset searchList to fullList\\n if (!event || event === \'\') {\\n this[\'searchList\'] = this[\'fullList\'] as string[];\\n } else {\\n this[\'searchList\'] = (this[\'fullList\'] as string[]).filter((animal: string) => animal.includes(event));\\n\\n }\\n }\\n },\\n template: `\\n
\\n \\n \\n \\n
\\n
\\n
\\n Liste complète\\n \\n @for (animal of fullList; track $index) {\\n {{ animal }}\\n }\\n \\n
\\n
\\n Liste issue de la recherche\\n \\n @for (animal of searchList; track $index) {\\n {{ animal }}\\n }\\n \\n
\\n
\\n
\\n `,\\n styles: [`\\n section {\\n padding: 5rem;\\n font-family: \'Roboto\';\\n }\\n\\n .listsContainer {\\n display: flex;\\n gap: 5px;\\n }\\n\\n .fullList,\\n .searchList {\\n flex: auto;\\n }\\n\\n .mdc-list-item.mdc-list-item--with-one-line {\\n height: 24px;\\n }\\n `]\\n }),\\n args: {\\n clearTooltip: \'Effacer la recherche\'\\n }\\n}"},{"name":"showOnInit","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n Show On Init True\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n }),\\n args: {\\n showOnInit: true\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the default loader without a label. This is useful when no additional context is needed.\'\\n }\\n }\\n },\\n args: {\\n label: \'\'\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n This is my label\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n })\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n }\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays a basic search container with default tooltips. Includes an input field for search queries.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n \\n \\n \\n `\\n })\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the standard usage of `NgxSplitterComponent`, where the container is split into two resizable areas in a horizontal direction. The first area takes 25% of the space, while the second area takes 75%.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n \\n

Lorem ipsum dolor sit amet...

\\n
\\n \\n

Sed ut perspiciatis unde omnis iste natus erro...

\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n direction: \'horizontal\'\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n args: {\\n expanded: true\\n }\\n}"},{"name":"statusActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates how to add actions to the `NgxStatusComponent`. Each action can be triggered with a callback.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with multiple actions.\',\\n actions: [\\n {\\n label: \'Action 1\',\\n callback: (): void => alert(\'Action 1 executed.\')\\n },\\n {\\n label: \'Action 2\',\\n callback: (): void => alert(\'Action 2 executed.\')\\n }\\n ]\\n }\\n }\\n}"},{"name":"statusCustomCssClass","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example shows how to apply custom CSS styles to the `NgxStatusComponent` using the `className` property.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with custom CSS class.\',\\n className: \'my-custom-css-class\'\\n }\\n }\\n}"},{"name":"statusDuration","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates setting a custom `duration` for the `NgxStatusComponent`. By default, the duration is 30 seconds for danger types and 8 seconds for other types.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with custom duration.\',\\n duration: 3000 // Duration in milliseconds\\n }\\n }\\n}"},{"name":"statusTechnicalText","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example shows how to include `technicalText` and `date` in the `NgxStatusComponent`. An info icon will appear, and clicking it will show the technical details in a dialog.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Error Status\',\\n type: \'danger\',\\n date: new Date(),\\n text: \'This is an error message.\',\\n technicalText: \'Detailed technical information about the error.\'\\n }\\n }\\n}"},{"name":"statusText","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates how to use the `text` property to display additional information in the status component.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Detailed message providing more context about the status.\'\\n }\\n }\\n}"},{"name":"statusType","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleGroup, MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example illustrates the different `type` values that the `NgxStatusComponent` can have: `primary`, `info`, `success`, `warn`, and `danger`. Use the buttons to switch between types.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n typeChanged(type: string): void {\\n this[\'status\'] = {\\n title: \'Sample Status Title\',\\n type: type,\\n text: \'Sample text for the status message.\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n primary\\n info\\n success\\n warn\\n danger\\n \\n
\\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'success\',\\n text: \'Sample text for the status message.\'\\n }\\n }\\n}"},{"name":"successWithActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent with a \\"success\\" type, horizontal layout, and a list of actions. It illustrates how actions can be used within the message box.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"success\\" avec actions\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n horizontal: true,\\n actions: [\\n {\\n text: \'OK\',\\n action: (): void => alert(\'OK clicked\'),\\n icon: \'check\'\\n },\\n {\\n text: \'Cancel\',\\n action: (): void => alert(\'Cancel clicked\'),\\n icon: \'cancel\'\\n }\\n ],\\n showCloseIcon: true\\n }\\n}"},{"name":"textContainerExample","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'An example demonstrating the NgxOverlay component with a large block of text and a custom style.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n Click here >\\n\\n \\n \\n\\n \\n
\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, lacus nec imperdiet pretium, purus nisi hendrerit velit, non laoreet est velit sit amet arcu. Cras eget malesuada tortor. Aliquam vitae libero tellus. Quisque at velit sed arcu feugiat imperdiet ut quis augue. Cras laoreet eleifend tellus varius laoreet. Vestibulum vulputate sagittis sapien, eget euismod metus. Sed ut lacus at risus tristique blandit. Cras at nibh augue. Nam felis felis, facilisis sed fringilla a, porta id magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc eget velit a enim pharetra volutpat quis eget lacus. Donec imperdiet magna metus, auctor pretium nibh dictum eu. Sed pharetra tristique sodales. Nam dapibus porta imperdiet. Pellentesque elementum tristique\\n molestie. Sed at dolor et mauris vehicula vestibulum. Maecenas cursus vulputate convallis. Quisque eu imperdiet nunc. Nunc ut feugiat eros. Integer aliquam nibh nec est sollicitudin dictum at et diam. Aliquam neque magna, condimentum non dolor in, faucibus malesuada mauris. Sed dictum massa neque, quis venenatis justo consequat sed. Fusce imperdiet purus nec neque vestibulum, vel placerat enim porta. Duis turpis purus, suscipit vitae scelerisque sed, sollicitudin a sem. Nullam orci risus, suscipit non mollis non, semper sit amet enim. In vel eros justo. Etiam gravida dolor vitae commodo tincidunt. Ut consequat id odio ac scelerisque. Phasellus fringilla et nisi at convallis. Nunc efficitur est in luctus interdum. Curabitur risus turpis, gravida in ex id, elementum convallis\\n augue. Duis laoreet condimentum purus, sit amet vulputate dolor finibus ac. Proin consectetur ullamcorper orci ut ullamcorper. Vivamus ornare leo vel urna molestie porta. Vivamus malesuada velit eros, non rutrum urna elementum ut. Pellentesque sed lorem tempor, consectetur sem in, condimentum justo. Vivamus eu nunc interdum, mattis turpis nec, accumsan neque. Integer convallis porttitor turpis feugiat placerat. Nulla sodales ex in neque lobortis, vel mollis turpis interdum. Mauris pharetra ex a justo maximus, at semper metus feugiat. Nullam aliquet tortor nec tortor auctor venenatis. Proin id laoreet eros, id sodales mi. Vestibulum mollis orci nec orci posuere dapibus. Integer placerat, nisl id aliquam interdum, diam est vestibulum purus, non venenatis turpis lacus in felis.\\n Vestibulum pulvinar velit tortor, ut convallis turpis condimentum ut. Nunc auctor hendrerit augue, sed malesuada quam. Etiam varius interdum risus, eget gravida libero convallis sed. Aliquam tempor orci at ex ullamcorper mollis. Fusce imperdiet ut ex in gravida. Curabitur iaculis non diam vel consequat. Praesent a magna posuere, feugiat mauris nec, sollicitudin ligula. Sed faucibus viverra velit eget porttitor. Suspendisse a sem gravida, tincidunt lacus vitae, lobortis ante. Nulla nisl quam, ultrices non nunc eget, commodo luctus metus. Curabitur nulla erat, gravida in nulla vel, commodo vestibulum ligula. Quisque quis lectus vel urna luctus gravida eget id risus.\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'customContainerForLorem\',\\n overlayBackdropClass: \'myCustomBackdropClass\',\\n width: \'100vw\'\\n }\\n}"},{"name":"userAbbreviationTitle","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Depending on the user\\\\\'s \\"title\\" property given, the UserCard will display its abbreviation.
  • Docteur / Docteure : Dr, Dre
  • Monsieur / Madame : M, Mme
  • Professeur / Professeure : Pr, Pre
Any other text in the \\"title\\" property will be displayed entirely.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n titleChanged(code: string): void {\\n this[\'user\'] = {\\n title: code,\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Soins\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n Docteur\\n Docteure\\n Monsieur\\n Madame\\n Professeur\\n Professeure\\n OtherTitle\\n \\n
\\n
\\n `\\n }),\\n args: {\\n user: {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Infirmier-e\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n }\\n }\\n}"},{"name":"userWithMissingInfo","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the component when certain user information is missing. This helps ensure that the rendering remains consistent even with incomplete data.\'\\n }\\n }\\n },\\n args: {\\n user: {\\n title: \'Professor\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n email: \'jean.patate@hug.ch\'\\n // Phone number and address are missing\\n },\\n expanded: true\\n }\\n}"},{"name":"verticalSplit","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story illustrates a vertical splitter, dividing the container into two areas. The first area occupies 25% of the height, while the second takes 75%.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n `\\n }),\\n args: {\\n direction: \'vertical\'\\n }\\n}"},{"name":"withLabel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Shows the loader with a custom label. This can be used to provide additional information or context while the data is loading.\'\\n }\\n }\\n },\\n args: {\\n label: \'Loading data, please wait...\'\\n }\\n}"},{"name":"withLongLabel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the loader with a long label to test how it handles extended text. This is useful to ensure that the layout accommodates longer messages.\'\\n }\\n }\\n },\\n args: {\\n label: \'This is a very long label that we use to test how the loader handles extended text. It should wrap or truncate gracefully depending on the design.\'\\n }\\n}"}],"functions":[],"typealiases":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183},{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"enumerations":[],"groupedVariables":{"projects/story-book/src/layout/layout.stories.ts":[{"name":"actionsToolbar","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFabButton,\\n MatIconButton,\\n MatTooltip,\\n MatIcon\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The actions template inside the component adds buttons on the toolbar. You must have the layoutToolbar template for it to work correctly.
  • The layoutPrimaryAction template allows you to add one primary button on the toolbar. Here my add icon button.
  • The layoutActions template allows you to add additional buttons to the toolbar. Here my refresh and my favorite icon button.
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n log: (msg: string): void => {\\n alert(msg);\\n }\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Primary action --\x3e\\n \\n \\n \\n\\n \x3c!-- Actions panel --\x3e\\n \\n \\n\\n \\n \\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"completeLayout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n StorybookLayoutWrapperComponent\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Here you can see everything that can be added to have this complete component.
  • Template layoutToolbar
    • toolbar-titledirective on span to add title
    • ngx-search-containercomponent for searching
  • Template layoutPrimaryAction
  • Template layoutActions
  • Template layoutRight
    • filters-chip-listdirective on div to contain mat-chip-listbox
  • Template layoutInfoBoxes
\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: \'\'\\n })\\n}"},{"name":"infosBoxes","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutInfoBoxes template inside the component allows you to add informations under the toolbar.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Info boxes panel --\x3e\\n \\n Info box\\n Info box primary\\n Info box accent\\n \\n\\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"layoutToolbar","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n args: {\\n toolbarColor: \'accent\'\\n },\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSearchInputDirective,\\n NgxSearchContainerComponent\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutToolbar template inside the component adds a toolbar to it.
  • The toolbarColor Input on the component allows you to define the color of the toolbar. Here I have toolbarColor=\\"accent\\"
  • The span with directive toolbar-title allows you to add a title to the toolbar
  • You can add an ngx-search-container in the toolbar. Its size will fit by default
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n search: \'\',\\n log: (msg: string, event?: Event): void => {\\n console.log(msg, event);\\n }\\n },\\n template: `\\n
\\n \\n \\n My toolbar-title\\n \\n \\n \\n \\n
Layout content
\\n
\\n
\\n `\\n })\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Layout\',\\n component: NgxLayoutComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n FormsModule\\n ],\\n providers: [NgxStatusService]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n toolbarColor: {\\n options: [\'primary\', \'accent\'],\\n control: { type: \'select\' },\\n description: \'Sets the color of the toolbar. Choose between primary or accent themes.\',\\n table: {\\n defaultValue: {\\n summary: \'primary\'\\n },\\n type: { summary: \'primary | accent\' }\\n }\\n }\\n },\\n args: {\\n toolbarColor: \'primary\'\\n },\\n parameters: {\\n layout: \'fullscreen\',\\n docs: {\\n description: {\\n component: \'The `NgxLayoutComponent` is a flexible layout component for creating application layouts at HUG. It includes options for toolbars, actions, and side panels, making it adaptable for various use cases.\'\\n }\\n }\\n }\\n}"},{"name":"rightPanel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatChipListbox,\\n MatChipOption\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'The layoutRight template inside the component adds a right panel to it.
  • A button to Open/Close the right panel will be automatically added to the toolbar
  • >You can add a filters-chip-list directive that can manage your filters
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n \\n \\n\\n \x3c!-- Right panel --\x3e\\n \\n
\\n Layout right\\n
\\n \\n filter 1\\n filter 2\\n filter 3\\n filter 4\\n filter 5\\n \\n
\\n
\\n
\\n
Layout content
\\n
\\n
\\n `\\n })\\n}"}],"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts":[{"name":"appearance","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggle,\\n MatButtonToggleGroup\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This component supports different appearances for `mat-form-field`.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'fill\',\\n appearanceChanged(value: string): void {\\n this[\'appearance\'] = value;\\n }\\n },\\n template: `\\n
\\n
\\n \\n This is my label\\n \\n \\n \\n
\\n
\\n \\n Fill\\n Outline\\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n `]\\n })\\n}"},{"name":"customArrowIcons","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n Custom Arrow Icons\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n }),\\n args: {\\n arrowIcons: true\\n }\\n}"},{"name":"layout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This component supports several layouts:
  • vertical
  • horizontal
  • horizontal-inlay
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115\\n },\\n template: `\\n
\\n
\\n
\\n \\n vertical layout\\n \\n \\n \\n
\\n
\\n \\n vertical layout\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal layout\\n \\n \\n \\n
\\n
\\n \\n horizontal layout\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal-inlay layout\\n \\n \\n \\n
\\n
\\n \\n horizontal-inlay layout\\n \\n \\n \\n
\\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n .grouped {\\n display: flex;\\n gap: 5rem;\\n }\\n `]\\n }),\\n args: {\\n layout: \'vertical\'\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Numeric Stepper\',\\n component: NgxNumericStepperComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n MatLabel, MatInput, MatPrefix, MatSuffix, MatFormField, ReactiveFormsModule, FormsModule\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n layout: {\\n options: [\'vertical\', \'horizontal\', \'horizontal-inlay\'],\\n control: { type: \'select\' },\\n description: \'Layout of the stepper control.\',\\n table: {\\n defaultValue: {\\n summary: \'vertical\'\\n },\\n type: { summary: \'NgxNumericStepperLayout\' }\\n }\\n },\\n arrowIcons: {\\n control: { type: \'boolean\' },\\n description: \'Whether to show arrow icons.\',\\n table: {\\n defaultValue: {\\n summary: \'false\'\\n },\\n type: { summary: \'boolean\' }\\n }\\n },\\n showOnInit: {\\n control: { type: \'boolean\' },\\n description: \'Whether to show the stepper on initialization.\',\\n table: {\\n defaultValue: {\\n summary: \'false\'\\n },\\n type: { summary: \'boolean\' }\\n }\\n },\\n input: {\\n control: { type: \'object\' },\\n description: \'The form field control input to be used.\',\\n table: {\\n defaultValue: { summary: undefined },\\n type: { summary: \'MatFormFieldControl\' }\\n }\\n }\\n },\\n args: {\\n layout: \'vertical\'\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxNumericStepperComponent` integrates with a `mat-form-field` containing an input. It provides a hover mask to allow custom increments or decrements using the `+` and `-` buttons. It can be configured with various layouts and options.\'\\n }\\n }\\n }\\n}"},{"name":"prefixAndSuffix","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This section allows you to visualize the component with different `mat-form-field` configurations, including custom prefixes and suffixes.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n prefix: \'\',\\n suffix: \'cm\',\\n prefixChanged(value: string): void {\\n this[\'prefix\'] = value;\\n },\\n suffixChanged(value: string): void {\\n this[\'suffix\'] = value;\\n }\\n },\\n template: `\\n
\\n
\\n
\\n \\n vertical layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n vertical layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n horizontal layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n horizontal-inlay layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n \\n horizontal-inlay layout\\n @if(prefix) {\\n {{ prefix }}\\n }\\n \\n @if(suffix) {\\n {{ suffix }}\\n }\\n \\n \\n
\\n
\\n
\\n

Try your own suffixes and prefixes

\\n
\\n
\\n \\n prefix\\n \\n \\n \\n suffix\\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n font-family: \'Roboto\';\\n }\\n .matButtonContainer {\\n padding-top: 20px;\\n display: flex;\\n justify-content: center;\\n }\\n .grouped {\\n display: flex;\\n gap: 5rem;\\n }\\n `]\\n }),\\n args: {\\n layout: \'vertical\'\\n }\\n}"},{"name":"showOnInit","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n Show On Init True\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n }),\\n args: {\\n showOnInit: true\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n value: 115,\\n appearance: \'outline\'\\n },\\n template: `\\n
\\n
\\n \\n This is my label\\n \\n \\n \\n
\\n
\\n `,\\n styles: [`\\n section {\\n background-color: white;\\n }\\n `]\\n })\\n}"}],"projects/story-book/src/message-box/message-box.stories.ts":[{"name":"basicWarnHorizontal","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with a \\"warn\\" type and horizontal layout. It shows a simple warning message with default settings.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"warn\\" horizontal\\n \\n
\\n `\\n }),\\n args: {\\n type: \'warn\',\\n horizontal: true,\\n showCloseIcon: false,\\n title: \'My title\'\\n }\\n}"},{"name":"complete","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with all inputs configured, including actions, title, icon, and layout options. It shows how the component behaves with various properties and interactive elements.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This is a default message box, in vertical layout.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'info\',\\n title: undefined,\\n icon: undefined,\\n actions: [\\n {\\n action: (): void => alert(\'remove action\'),\\n icon: \'remove\'\\n },\\n {\\n action: (): void => alert(\'add action\'),\\n icon: \'add\'\\n }\\n ],\\n horizontal: false,\\n showCloseIcon: false\\n }\\n}"},{"name":"customIcon","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'It shows a simple success message with default settings but with custom agriculture icon.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"success\\" horizontal\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n icon: \'agriculture\',\\n horizontal: true,\\n showCloseIcon: false,\\n title: \'My agriculture icon\'\\n }\\n}"},{"name":"horizontalLayout","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the NgxMessageBoxComponent with a horizontal layout. The content and title are aligned horizontally, which may be useful for certain design requirements.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This message box is in horizontal layout.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'warn\',\\n title: \'Warning Message\',\\n icon: \'home\',\\n actions: [\\n {\\n text: \'Acknowledge\',\\n action: (): void => alert(\'Acknowledged\'),\\n icon: \'check\'\\n }\\n ],\\n horizontal: true,\\n showCloseIcon: true\\n }\\n}"},{"name":"infoVertical","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent with an \\"info\\" type in vertical layout. It displays a basic informational message with default settings.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"info\\" vertical\\n \\n
\\n `\\n }),\\n args: {\\n type: \'info\',\\n horizontal: false,\\n showCloseIcon: true,\\n title: \'My title\'\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/MessageBox\',\\n component: NgxMessageBoxComponent,\\n tags: [\'autodocs\'],\\n argTypes: {\\n type: {\\n control: \'select\',\\n options: [\'info\', \'primary\', \'success\', \'warn\', \'danger\'],\\n description: \'Determines the type of the message box. Options include \\"info\\", \\"primary\\", \\"success\\", \\"warn\\", and \\"danger\\". This also sets the default icon if none is provided.\',\\n table: {\\n type: { summary: \'NgxMessageBoxType\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n title: {\\n control: \'text\',\\n description: \'The title displayed in the message box. Used to provide a header or subject for the message.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n icon: {\\n control: \'text\',\\n description: \'Icon associated with the message box. This can be the name of an icon or a path to an icon image. If not provided, a default icon based on the type will be used.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n actions: {\\n control: \'object\',\\n description: \'List of actions available in the message box. Each action can include text, type, icon, and an action function to execute. Allows you to customize the actions displayed in the footer of the message box.\',\\n table: {\\n type: { summary: \'readonly NgxMessageBoxAction[]\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n },\\n horizontal: {\\n control: \'boolean\',\\n description: \'Determines whether the layout of the message box is horizontal (true) or vertical (false). This affects the alignment of the title and content.\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n },\\n showCloseIcon: {\\n control: \'boolean\',\\n description: \'Indicates whether the close icon should be displayed in the message box. True to show the close icon, false to hide it.\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n }\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxMessageBoxComponent` is used to display informations to the user\'\\n }\\n }\\n }\\n}"},{"name":"noActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent without any actions. It demonstrates how the component looks and behaves when there are no interactive elements in the footer.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

No actions available in this example.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n title: \'Success Message\',\\n icon: \'done\',\\n horizontal: false,\\n showCloseIcon: true\\n }\\n}"},{"name":"noCloseIcon","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent without the close icon. This configuration is useful if you want to prevent the user from closing the message box manually.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n

Content inside the message box

\\n

This message box does not have a close icon.

\\n \\n
\\n `\\n }),\\n args: {\\n type: \'danger\',\\n title: \'Error Message\',\\n icon: \'error\',\\n actions: [\\n {\\n text: \'Retry\',\\n action: (): void => alert(\'Retry action\'),\\n icon: \'refresh\'\\n }\\n ],\\n horizontal: true,\\n showCloseIcon: false\\n }\\n}"},{"name":"successWithActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story shows the NgxMessageBoxComponent with a \\"success\\" type, horizontal layout, and a list of actions. It illustrates how actions can be used within the message box.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n Un message \\"success\\" avec actions\\n \\n
\\n `\\n }),\\n args: {\\n type: \'success\',\\n horizontal: true,\\n actions: [\\n {\\n text: \'OK\',\\n action: (): void => alert(\'OK clicked\'),\\n icon: \'check\'\\n },\\n {\\n text: \'Cancel\',\\n action: (): void => alert(\'Cancel clicked\'),\\n icon: \'cancel\'\\n }\\n ],\\n showCloseIcon: true\\n }\\n}"}],"projects/story-book/src/splitter/splitter.stories.ts":[{"name":"combinedSplitters","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story presents a combination of two splitters: a vertical splitter nested inside a horizontal splitter. This allows creating a complex layout with resizable areas in both directions.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \x3c!-- Horizontal Splitter --\x3e\\n \\n \x3c!-- First Horizontal Area --\x3e\\n \\n \x3c!-- Vertical Splitter Inside the First Horizontal Area --\x3e\\n \\n \x3c!-- First Vertical Area --\x3e\\n \\n

Content in the first vertical area...

\\n
\\n \x3c!-- Second Vertical Area --\x3e\\n \\n

Content in the second vertical area...

\\n
\\n
\\n
\\n \x3c!-- Second Horizontal Area --\x3e\\n \\n

Content in the second horizontal area...

\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"customizableSplitAreas","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFormField, MatLabel, FormsModule, MatInput, ReactiveFormsModule\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story provides an example of how to customize the properties of each split area dynamically. It allows changing the size and minimum size of each area through input fields.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n firstAreaSize: 50,\\n secondAreaSize: 50,\\n firstAreaMinSize: 100,\\n secondAreaMinSize: 10,\\n firstAreaSizeChanged(size: number): void {\\n if (size > 100) {\\n size = 100;\\n } else if (size < 0) {\\n size = 0;\\n }\\n this[\'firstAreaSize\'] = size;\\n this[\'secondAreaSize\'] = 100 - size;\\n },\\n secondAreaSizeChanged(size: number): void {\\n if (size > 100) {\\n size = 100;\\n } else if (size < 0) {\\n size = 0;\\n }\\n this[\'secondAreaSize\'] = size;\\n this[\'firstAreaSize\'] = 100 - size;\\n },\\n firstAreaMinSizeChanged(size: number): void {\\n this[\'firstAreaMinSize\'] = size;\\n },\\n secondAreaMinSizeChanged(size: number): void {\\n this[\'secondAreaMinSize\'] = size;\\n }\\n },\\n template: `\\n
\\n \\n \\n Area 1\\n
FirstArea minSize
\\n
\\n \\n Area 2\\n
SecondArea minSize
\\n
\\n
\\n
\\n
\\n
\\n \\n First Area Size (%)\\n \\n \\n \\n Second Area Size (%)\\n \\n \\n
\\n
\\n \\n First Area Minimum Size (px)\\n \\n \\n \\n Second Area Minimum Size (px)\\n \\n \\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"disabledSplitter","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'In this story, the splitter is disabled, preventing the user from resizing the areas.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n `\\n }),\\n args: {\\n disabled: true\\n }\\n}"},{"name":"gutterSizeControl","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleGroup, MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story showcases the ability to control the gutter size dynamically. Use the buttons to change the gutter size between predefined values.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n changeGutterSize(size: number): void {\\n this[\'gutterSize\'] = size;\\n }\\n },\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n
\\n \\n 5px\\n 10px\\n 45px\\n 100px\\n \\n
\\n
\\n `\\n })\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Splitter\',\\n component: NgxSplitterComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n NgxSplitAreaDirective\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n direction: {\\n description: \'Sets the direction of the split, which can either be `horizontal` or `vertical`.\',\\n control: \'select\',\\n options: [\'horizontal\', \'vertical\'],\\n table: {\\n type: { summary: \'NgxSplitterDirection\' },\\n defaultValue: { summary: \'horizontal\' }\\n }\\n },\\n gutterSize: {\\n description: \'Specifies the width of the gutter in pixels.\',\\n control: \'number\',\\n table: {\\n type: { summary: \'number\' },\\n defaultValue: { summary: \'10\' }\\n }\\n },\\n disabled: {\\n description: \'Determines whether the splitter is active or disabled.\',\\n control: \'boolean\',\\n table: {\\n type: { summary: \'boolean\' },\\n defaultValue: { summary: \'false\' }\\n }\\n },\\n dragStart: {\\n description: \'Event triggered when the user starts dragging the cursor.\',\\n action: \'dragStart\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n },\\n dragProgress: {\\n description: \'Event triggered during the cursor drag, providing the progress as a percentage.\',\\n action: \'dragProgress\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n },\\n dragEnd: {\\n description: \'Event triggered when the user stops dragging the cursor.\',\\n action: \'dragEnd\',\\n table: {\\n type: { summary: \'EventEmitter\' }\\n }\\n }\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxSplitterComponent` allows splitting a container into resizable parts either horizontally or vertically. It supports dynamic resizing, event callbacks during drag operations, and flexible gutter sizing.\'\\n }\\n }\\n },\\n args: {\\n direction: \'horizontal\',\\n gutterSize: \'10\',\\n disabled: false\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story demonstrates the standard usage of `NgxSplitterComponent`, where the container is split into two resizable areas in a horizontal direction. The first area takes 25% of the space, while the second area takes 75%.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n \\n

Lorem ipsum dolor sit amet...

\\n
\\n \\n

Sed ut perspiciatis unde omnis iste natus erro...

\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n direction: \'horizontal\'\\n }\\n}"},{"name":"verticalSplit","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This story illustrates a vertical splitter, dividing the container into two areas. The first area occupies 25% of the height, while the second takes 75%.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n
\\n \\n Area 1\\n Area 2\\n \\n
\\n `\\n }),\\n args: {\\n direction: \'vertical\'\\n }\\n}"}],"projects/story-book/src/status/status.stories.ts":[{"name":"complete","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example showcases a `NgxStatusComponent` with all available features, including title, type, text, date, duration, custom CSS class, technical text, and multiple actions. Depending on the user\\\\\'s \\"familyCode\\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'This is a sample status message.\',\\n date: new Date(),\\n duration: 5000,\\n className: \'my-custom-css-class-2\',\\n technicalText: \'Technical details about the status.\',\\n actions: [\\n {\\n label: \'Action 1\',\\n callback: (): void => console.log(\'Action 1 triggered.\')\\n },\\n {\\n label: \'Action 2\',\\n callback: (): void => console.log(\'Action 2 triggered.\')\\n }\\n ]\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Status\',\\n component: NgxStatusComponent,\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSnackbarComponent, NgxStatusModule\\n ],\\n providers: [NgxStatusService]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n status: {\\n description: \'The object containing the status details to be displayed.\',\\n control: {\\n type: \'object\'\\n },\\n table: {\\n type: { summary: \'NgxStatus\' },\\n defaultValue: { summary: \'undefined\' }\\n }\\n }\\n },\\n args: {\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxStatusComponent` displays informational messages in a popup, leveraging the `NgxSnackbarComponent`. It supports various types of notifications, custom actions, and detailed technical information.\'\\n }\\n }\\n }\\n}"},{"name":"minimumRequired","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates the `NgxStatusComponent` with only the required fields: `title` and `type`. Additional fields are optional.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\'\\n }\\n }\\n}"},{"name":"statusActions","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates how to add actions to the `NgxStatusComponent`. Each action can be triggered with a callback.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with multiple actions.\',\\n actions: [\\n {\\n label: \'Action 1\',\\n callback: (): void => alert(\'Action 1 executed.\')\\n },\\n {\\n label: \'Action 2\',\\n callback: (): void => alert(\'Action 2 executed.\')\\n }\\n ]\\n }\\n }\\n}"},{"name":"statusCustomCssClass","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example shows how to apply custom CSS styles to the `NgxStatusComponent` using the `className` property.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with custom CSS class.\',\\n className: \'my-custom-css-class\'\\n }\\n }\\n}"},{"name":"statusDuration","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates setting a custom `duration` for the `NgxStatusComponent`. By default, the duration is 30 seconds for danger types and 8 seconds for other types.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Message with custom duration.\',\\n duration: 3000 // Duration in milliseconds\\n }\\n }\\n}"},{"name":"statusTechnicalText","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example shows how to include `technicalText` and `date` in the `NgxStatusComponent`. An info icon will appear, and clicking it will show the technical details in a dialog.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Error Status\',\\n type: \'danger\',\\n date: new Date(),\\n text: \'This is an error message.\',\\n technicalText: \'Detailed technical information about the error.\'\\n }\\n }\\n}"},{"name":"statusText","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example demonstrates how to use the `text` property to display additional information in the status component.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'info\',\\n text: \'Detailed message providing more context about the status.\'\\n }\\n }\\n}"},{"name":"statusType","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleGroup, MatButtonToggle\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'This example illustrates the different `type` values that the `NgxStatusComponent` can have: `primary`, `info`, `success`, `warn`, and `danger`. Use the buttons to switch between types.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n typeChanged(type: string): void {\\n this[\'status\'] = {\\n title: \'Sample Status Title\',\\n type: type,\\n text: \'Sample text for the status message.\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n primary\\n info\\n success\\n warn\\n danger\\n \\n
\\n
\\n `\\n }),\\n args: {\\n status: {\\n title: \'Sample Status Title\',\\n type: \'success\',\\n text: \'Sample text for the status message.\'\\n }\\n }\\n}"}],"projects/story-book/main.ts":[{"name":"config","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/main.ts","deprecated":false,"deprecationMessage":"","type":"StorybookConfig","defaultValue":"{\\n stories: [\\n \'./src/**/*.mdx\',\\n \'./src/**/*.stories.@(js|jsx|mjs|ts|tsx)\'\\n ],\\n addons: [\\n {\\n name: getAbsolutePath(\'@storybook/addon-essentials\'),\\n options: {\\n \'actions\': false\\n }\\n },\\n getAbsolutePath(\'@storybook/addon-themes\'),\\n getAbsolutePath(\'@storybook/addon-links\')\\n ],\\n framework: {\\n name: getAbsolutePath(\'@storybook/angular\'),\\n options: {}\\n },\\n staticDirs: [\\n \'./public\'\\n ],\\n webpackFinal: webpackConfig => {\\n webpackConfig.performance = (typeof webpackConfig.performance === \'object\') ? webpackConfig.performance : {};\\n webpackConfig.performance.hints = false;\\n webpackConfig.performance.maxEntrypointSize = 512000;\\n webpackConfig.performance.maxAssetSize = 512000;\\n return webpackConfig;\\n },\\n core: {\\n disableTelemetry: true\\n }\\n}"},{"name":"getAbsolutePath","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/main.ts","deprecated":false,"deprecationMessage":"","type":"","defaultValue":"(value: string): string => dirname(require.resolve(join(value, \'package.json\')))","rawdescription":"This function is used to resolve the absolute path of a package.\\nIt is needed in projects that use Yarn PnP or are set up within a monorepo.","description":"

This function is used to resolve the absolute path of a package.\\nIt is needed in projects that use Yarn PnP or are set up within a monorepo.

\\n"}],"projects/story-book/src/search-container/search-container.stories.ts":[{"name":"customTooltips","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Shows the search container with custom tooltip texts for clear, open, and close actions.\'\\n }\\n }\\n },\\n ...standard,\\n args: {\\n clearTooltip: \'Clear search\',\\n openSearchTooltip: \'Start searching\',\\n closeSearchTooltip: \'Close search\'\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Search Container\',\\n component: NgxSearchContainerComponent,\\n decorators: [\\n moduleMetadata({\\n imports: [\\n NgxSearchInputDirective,\\n MatTooltipModule,\\n FormsModule\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxSearchContainerComponent` provides a flexible search interface with customizable tooltips for actions such as clearing, opening, and closing the search. It integrates with an input field via the `ngx-search-input` directive to enable search functionality.\'\\n }\\n }\\n },\\n argTypes: {\\n clearTooltip: {\\n control: \'text\',\\n description: \'Tooltip text for the clear button in the search container. This is displayed when the user hovers over the clear button.\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Effacer la recherche\' }\\n }\\n },\\n openSearchTooltip: {\\n description: \'Tooltip text for the button that opens the search. This is displayed when the user hovers over the search button.\',\\n control: \'text\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Ouvrir la recherche\' }\\n }\\n },\\n closeSearchTooltip: {\\n description: \'Tooltip text for the button that closes the search. This is displayed when the user hovers over the close button.\',\\n control: \'text\',\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'Quitter la recherche\' }\\n }\\n }\\n },\\n args: {\\n clearTooltip: \'Effacer la recherche\',\\n openSearchTooltip: \'Ouvrir la recherche\',\\n closeSearchTooltip: \'Quitter la recherche\'\\n }\\n}"},{"name":"searchWithLists","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatList, MatListItem\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Demonstrates the search container with a full list and search functionality. The search input filters the list based on user input and displays the results in separate sections.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n fullList: [\'lion\',\\n \'tigre\',\\n \'éléphant\',\\n \'giraffe\',\\n \'panda\',\\n \'koala\',\\n \'limace\',\\n \'cygne\',\\n \'chat\',\\n \'ours\',\\n \'faisan\',\\n \'dauphin\',\\n \'paon\',\\n \'furet\',\\n \'panda\',\\n \'phoque\',\\n \'crocodile\',\\n \'gorille\',\\n \'raie\',\\n \'chinchilla\',\\n \'cafard\',\\n \'faisan\',\\n \'corbeau\',\\n \'dromadaire\',\\n \'alpaga\',\\n \'aigle\',\\n \'espadon\',\\n \'canari\',\\n \'guépard\'],\\n searchList: [],\\n searchModel: \'\',\\n searchQueryChanged(event: string): void {\\n // If search query is empty, reset searchList to fullList\\n if (!event || event === \'\') {\\n this[\'searchList\'] = this[\'fullList\'] as string[];\\n } else {\\n this[\'searchList\'] = (this[\'fullList\'] as string[]).filter((animal: string) => animal.includes(event));\\n\\n }\\n }\\n },\\n template: `\\n
\\n \\n \\n \\n
\\n
\\n
\\n Liste complète\\n \\n @for (animal of fullList; track $index) {\\n {{ animal }}\\n }\\n \\n
\\n
\\n Liste issue de la recherche\\n \\n @for (animal of searchList; track $index) {\\n {{ animal }}\\n }\\n \\n
\\n
\\n
\\n `,\\n styles: [`\\n section {\\n padding: 5rem;\\n font-family: \'Roboto\';\\n }\\n\\n .listsContainer {\\n display: flex;\\n gap: 5px;\\n }\\n\\n .fullList,\\n .searchList {\\n flex: auto;\\n }\\n\\n .mdc-list-item.mdc-list-item--with-one-line {\\n height: 24px;\\n }\\n `]\\n }),\\n args: {\\n clearTooltip: \'Effacer la recherche\'\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays a basic search container with default tooltips. Includes an input field for search queries.\'\\n }\\n }\\n },\\n render: args => ({\\n props: args,\\n template: `\\n \\n \\n \\n `\\n })\\n}"}],"projects/story-book/src/user-card/user-card.stories.ts":[{"name":"dynamicBadgeColor","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Depending on the user\\\\\'s \\"familyCode\\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n familyCodeChanged(code: string): void {\\n this[\'user\'] = {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: code,\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n Social\\n Infirmier-e\\n Médecin dentiste\\n Custom text\\n Empty\\n \\n
\\n
\\n `\\n }),\\n args: {\\n user: {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Social\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n }\\n }\\n}"},{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/User Card\',\\n component: NgxUserCardComponent,\\n tags: [\'autodocs\'],\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatButtonToggleModule\\n ]\\n })\\n ],\\n parameters: {\\n layout: \'centered\',\\n docs: {\\n description: {\\n component: \'The `NgxUserCardComponent` displays user information. The UserCard can be expanded or compressed, showing or hiding additional details based on the `expanded` input.\'\\n }\\n }\\n },\\n argTypes: {\\n expanded: {\\n control: \'boolean\',\\n table: {\\n defaultValue: {\\n summary: \'true\'\\n },\\n type: { summary: \'boolean\' }\\n },\\n description: \'Set to false to have a compressed UserCard with less information.\'\\n },\\n user: {\\n control: \'object\',\\n table: {\\n type: { summary: \'NgxUserCard\' }\\n },\\n description: \'User information object for displaying in the card.\'\\n }\\n },\\n args: {\\n user: {\\n title: \'Docteur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Infirmier-e\', // This value will influence badge color\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n },\\n expanded: false\\n }\\n}"},{"name":"notExpandedUserCard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'You can set the \\"expanded\\" property to false to have a compressed UserCard with less information.\'\\n }\\n }\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n args: {\\n expanded: true\\n }\\n}"},{"name":"userAbbreviationTitle","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Depending on the user\\\\\'s \\"title\\" property given, the UserCard will display its abbreviation.
  • Docteur / Docteure : Dr, Dre
  • Monsieur / Madame : M, Mme
  • Professeur / Professeure : Pr, Pre
Any other text in the \\"title\\" property will be displayed entirely.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n titleChanged(code: string): void {\\n this[\'user\'] = {\\n title: code,\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Soins\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n };\\n }\\n },\\n template: `\\n
\\n \\n
\\n
\\n \\n Docteur\\n Docteure\\n Monsieur\\n Madame\\n Professeur\\n Professeure\\n OtherTitle\\n \\n
\\n
\\n `\\n }),\\n args: {\\n user: {\\n title: \'Professeur\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n type: \'Type\',\\n email: \'jean.patate@hug.ch\',\\n role: \'Medecin\',\\n groupFunctionLabel: \'Group\',\\n familyCode: \'Infirmier-e\',\\n functionSefName: \'SefNameFunction\',\\n functionSefCode: \'SefCodeFunction\',\\n organisation: \'HUG\',\\n speciality: \'Neurochirurgie\',\\n specialty1: \'Dermatologie\',\\n specialty2: \'Pedicure\',\\n esoN3Label: \'EsoN3Label\',\\n login: \'PatateLogin\',\\n phone: \'+44 150 509 39\',\\n bip: \'8859595\',\\n mobile: \'+44 150 509 39\',\\n address: \'Carouge, 7 Rue St Julien\',\\n city: \'Carouge\',\\n zipCode: \'1227\'\\n }\\n }\\n}"},{"name":"userWithMissingInfo","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the component when certain user information is missing. This helps ensure that the rendering remains consistent even with incomplete data.\'\\n }\\n }\\n },\\n args: {\\n user: {\\n title: \'Professor\',\\n firstname: \'Jean\',\\n lastname: \'PATATE\',\\n initials: \'jpat\',\\n email: \'jean.patate@hug.ch\'\\n // Phone number and address are missing\\n },\\n expanded: true\\n }\\n}"}],"projects/story-book/manager.ts":[{"name":"hugTheme","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/manager.ts","deprecated":false,"deprecationMessage":"","type":"","defaultValue":"create({\\n base: \'light\',\\n brandTitle: \'ngx-components - storybook\',\\n brandImage: \'logo.svg\',\\n brandTarget: \'_self\'\\n})"}],"projects/story-book/src/list-loader/list-loader.stories.ts":[{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/List Loader\',\\n component: NgxListLoaderComponent,\\n tags: [\'autodocs\'],\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxListLoaderComponent` is used to display a loading indicator when fetching large amounts of data. It includes a spinner animation and an optional label for context.\'\\n }\\n }\\n },\\n argTypes: {\\n label: {\\n description: \'The label text displayed alongside the loader.\',\\n control: {\\n type: \'text\'\\n },\\n table: {\\n type: { summary: \'string\' },\\n defaultValue: { summary: \'\' }\\n }\\n }\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the default loader without a label. This is useful when no additional context is needed.\'\\n }\\n }\\n },\\n args: {\\n label: \'\'\\n }\\n}"},{"name":"withLabel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Shows the loader with a custom label. This can be used to provide additional information or context while the data is loading.\'\\n }\\n }\\n },\\n args: {\\n label: \'Loading data, please wait...\'\\n }\\n}"},{"name":"withLongLabel","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Displays the loader with a long label to test how it handles extended text. This is useful to ensure that the layout accommodates longer messages.\'\\n }\\n }\\n },\\n args: {\\n label: \'This is a very long label that we use to test how the loader handles extended text. It should wrap or truncate gracefully depending on the design.\'\\n }\\n}"}],"projects/story-book/src/overlay/overlay.stories.ts":[{"name":"meta","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Meta","defaultValue":"{\\n title: \'Components/Overlay\',\\n component: NgxOverlayComponent,\\n decorators: [\\n applicationConfig({\\n providers: [\\n provideAnimations() // Provides animations to the application\\n ]\\n }),\\n moduleMetadata({\\n imports: [\\n MatIcon, MatIconButton, MatButton\\n ]\\n })\\n ],\\n tags: [\'autodocs\'],\\n argTypes: {\\n width: {\\n description: \'Defines the width of the overlay for desktop view.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n },\\n widthForMobile: {\\n description: \'Defines the width of the overlay for mobile view. It is only used when isMobile is true.\',\\n table: {\\n type: { summary: \'string\' },\\n disable: true\\n }\\n },\\n isMobile: {\\n description: \'Determines whether the overlay should use mobile-specific settings.\',\\n table: {\\n type: { summary: \'boolean\' },\\n disable: true\\n }\\n },\\n overlayBackdropClass: {\\n description: \'CSS class applied to the overlay backdrop. Can be used to style the backdrop.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n },\\n overlayContainerClass: {\\n description: \'CSS class applied to the overlay container. Allows customization of the overlay appearance.\',\\n table: {\\n type: { summary: \'string\' }\\n }\\n }\\n },\\n args: {\\n width: \'400px\',\\n widthForMobile: \'200px\',\\n isMobile: false,\\n overlayBackdropClass: \'\',\\n overlayContainerClass: \'\'\\n },\\n parameters: {\\n docs: {\\n description: {\\n component: \'The `NgxOverlayComponent` displays an overlay that appears above the page content. It supports custom widths, mobile-specific settings, and customizable CSS classes for both the container and backdrop.\'\\n }\\n }\\n }\\n}"},{"name":"navigationExample","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Here an example of navigation through the component\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n Clicking these will navigate\\n \\n \\n
\\n @for (item of items; track $index) {\\n {{ item.text }}\\n }\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"overlayClass","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'Customize the overlay appearance by applying custom CSS classes. Use overlayContainerClass for the overlay itself and overlayBackdropClass for the backdrop.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n < Click here\\n \\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n }\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'myCustomContainerClass\',\\n overlayBackdropClass: \'myCustomBackdropClass\'\\n }\\n}"},{"name":"overlayForMobile","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n parameters: {\\n docs: {\\n description: {\\n story: \'Set a widthForMobile that is used when isMobile is true to adjust the overlay width for mobile devices.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n Try to modify the width of the NgxOverlay component this text will be limited in width by this value\\n
\\n
\\n Current width: [{{menu.width}}]\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n widthForMobile: \'200px\',\\n isMobile: true\\n }\\n}"},{"name":"overlayWidth","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n decorators: [\\n moduleMetadata({\\n imports: [\\n MatFormField, MatLabel, MatHint, FormsModule, MatInput, ReactiveFormsModule\\n ]\\n })\\n ],\\n parameters: {\\n docs: {\\n description: {\\n story: \'Configure the width of the overlay using the width property. Adjust the input field to see changes in real-time.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n widthChanged(value: string): void {\\n this[\'width\'] = value;\\n }\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n Try to modify the width of the NgxOverlay component. This text will be limited in width by this value\\n
\\n
\\n Current width: [{{menu.width}}]\\n
\\n
\\n\\n
\\n \\n Width\\n \\n try 900\\n \\n
\\n
\\n `\\n })\\n}"},{"name":"ownerElement","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n tags: [\'!dev\', \'!autodocs\'], // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\\n parameters: {\\n docs: {\\n description: {\\n story: \'You can provide two custom css classes to the component:
  • overlayContainerClassallows you to customize the overlay itself
  • overlayBackdropClassallows you to customize the overlay backdrop
\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n \\n < Click here\\n \\n\\n
\\n I am is owner\\n
\\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n } \\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'myCustomContainerClass\',\\n overlayBackdropClass: \'myCustomBackdropClass\'\\n }\\n}"},{"name":"standard","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n\\n \\n
\\n @for (item of items; track $index) {\\n \\n }\\n
\\n
\\n
\\n `\\n })\\n}"},{"name":"textContainerExample","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","type":"Story","defaultValue":"{\\n parameters: {\\n docs: {\\n description: {\\n story: \'An example demonstrating the NgxOverlay component with a large block of text and a custom style.\'\\n }\\n }\\n },\\n render: args => ({\\n props: {\\n ...args,\\n selected: \'\',\\n items: [\\n { text: \'Refresh\' },\\n { text: \'Settings\' },\\n { text: \'Help\', disabled: true },\\n { text: \'Sign Out\' }\\n ],\\n select(text: string): void {\\n this[\'selected\'] = text;\\n }\\n },\\n template: `\\n
\\n \\n Click here >\\n\\n \\n \\n\\n \\n
\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, lacus nec imperdiet pretium, purus nisi hendrerit velit, non laoreet est velit sit amet arcu. Cras eget malesuada tortor. Aliquam vitae libero tellus. Quisque at velit sed arcu feugiat imperdiet ut quis augue. Cras laoreet eleifend tellus varius laoreet. Vestibulum vulputate sagittis sapien, eget euismod metus. Sed ut lacus at risus tristique blandit. Cras at nibh augue. Nam felis felis, facilisis sed fringilla a, porta id magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc eget velit a enim pharetra volutpat quis eget lacus. Donec imperdiet magna metus, auctor pretium nibh dictum eu. Sed pharetra tristique sodales. Nam dapibus porta imperdiet. Pellentesque elementum tristique\\n molestie. Sed at dolor et mauris vehicula vestibulum. Maecenas cursus vulputate convallis. Quisque eu imperdiet nunc. Nunc ut feugiat eros. Integer aliquam nibh nec est sollicitudin dictum at et diam. Aliquam neque magna, condimentum non dolor in, faucibus malesuada mauris. Sed dictum massa neque, quis venenatis justo consequat sed. Fusce imperdiet purus nec neque vestibulum, vel placerat enim porta. Duis turpis purus, suscipit vitae scelerisque sed, sollicitudin a sem. Nullam orci risus, suscipit non mollis non, semper sit amet enim. In vel eros justo. Etiam gravida dolor vitae commodo tincidunt. Ut consequat id odio ac scelerisque. Phasellus fringilla et nisi at convallis. Nunc efficitur est in luctus interdum. Curabitur risus turpis, gravida in ex id, elementum convallis\\n augue. Duis laoreet condimentum purus, sit amet vulputate dolor finibus ac. Proin consectetur ullamcorper orci ut ullamcorper. Vivamus ornare leo vel urna molestie porta. Vivamus malesuada velit eros, non rutrum urna elementum ut. Pellentesque sed lorem tempor, consectetur sem in, condimentum justo. Vivamus eu nunc interdum, mattis turpis nec, accumsan neque. Integer convallis porttitor turpis feugiat placerat. Nulla sodales ex in neque lobortis, vel mollis turpis interdum. Mauris pharetra ex a justo maximus, at semper metus feugiat. Nullam aliquet tortor nec tortor auctor venenatis. Proin id laoreet eros, id sodales mi. Vestibulum mollis orci nec orci posuere dapibus. Integer placerat, nisl id aliquam interdum, diam est vestibulum purus, non venenatis turpis lacus in felis.\\n Vestibulum pulvinar velit tortor, ut convallis turpis condimentum ut. Nunc auctor hendrerit augue, sed malesuada quam. Etiam varius interdum risus, eget gravida libero convallis sed. Aliquam tempor orci at ex ullamcorper mollis. Fusce imperdiet ut ex in gravida. Curabitur iaculis non diam vel consequat. Praesent a magna posuere, feugiat mauris nec, sollicitudin ligula. Sed faucibus viverra velit eget porttitor. Suspendisse a sem gravida, tincidunt lacus vitae, lobortis ante. Nulla nisl quam, ultrices non nunc eget, commodo luctus metus. Curabitur nulla erat, gravida in nulla vel, commodo vestibulum ligula. Quisque quis lectus vel urna luctus gravida eget id risus.\\n
\\n
\\n
\\n `\\n }),\\n args: {\\n overlayContainerClass: \'customContainerForLorem\',\\n overlayBackdropClass: \'myCustomBackdropClass\',\\n width: \'100vw\'\\n }\\n}"}],"projects/story-book/preview.ts":[{"name":"preview","ctype":"miscellaneous","subtype":"variable","file":"projects/story-book/preview.ts","deprecated":false,"deprecationMessage":"","type":"Preview","defaultValue":"{\\n parameters: {\\n controls: {\\n matchers: {\\n color: /(background|color)$/i,\\n date: /Date$/i\\n }\\n },\\n layout: \'centered\'\\n }\\n}"}]},"groupedFunctions":{},"groupedEnumerations":{},"groupedTypeAliases":{"projects/story-book/src/layout/layout.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/layout/layout.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/list-loader/list-loader.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/list-loader/list-loader.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/message-box/message-box.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/message-box/message-box.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/overlay/overlay.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/overlay/overlay.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/search-container/search-container.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/search-container/search-container.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/splitter/splitter.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/splitter/splitter.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/status/status.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/status/status.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}],"projects/story-book/src/user-card/user-card.stories.ts":[{"name":"Story","ctype":"miscellaneous","subtype":"typealias","rawtype":"StoryObj","file":"projects/story-book/src/user-card/user-card.stories.ts","deprecated":false,"deprecationMessage":"","description":"","kind":183}]}},"routes":[],"coverage":{"count":1,"status":"low","files":[{"filePath":"projects/story-book/main.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"config","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/main.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"getAbsolutePath","coveragePercent":100,"coverageCount":"1/1","status":"very-good"},{"filePath":"projects/story-book/manager.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"hugTheme","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/preview.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"preview","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"actionsToolbar","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"completeLayout","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"infosBoxes","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"layoutToolbar","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/layout/layout.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"rightPanel","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/list-loader/list-loader.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/list-loader/list-loader.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/list-loader/list-loader.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"withLabel","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/list-loader/list-loader.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"withLongLabel","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"basicWarnHorizontal","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"complete","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"customIcon","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"horizontalLayout","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"infoVertical","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"noActions","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"noCloseIcon","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/message-box/message-box.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"successWithActions","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"appearance","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"customArrowIcons","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"layout","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"prefixAndSuffix","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"showOnInit","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"navigationExample","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"overlayClass","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"overlayForMobile","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"overlayWidth","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"ownerElement","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/overlay/overlay.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"textContainerExample","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/search-container/search-container.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"customTooltips","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/search-container/search-container.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/search-container/search-container.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"searchWithLists","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/search-container/search-container.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"combinedSplitters","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"customizableSplitAreas","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"disabledSplitter","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"gutterSizeControl","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/splitter/splitter.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"verticalSplit","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"complete","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"minimumRequired","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusActions","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusCustomCssClass","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusDuration","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusTechnicalText","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusText","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/status/status.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"statusType","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"dynamicBadgeColor","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"meta","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"notExpandedUserCard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"standard","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"userAbbreviationTitle","coveragePercent":0,"coverageCount":"0/1","status":"low"},{"filePath":"projects/story-book/src/user-card/user-card.stories.ts","type":"variable","linktype":"miscellaneous","linksubtype":"variable","name":"userWithMissingInfo","coveragePercent":0,"coverageCount":"0/1","status":"low"}]}}');(0,angular.$)(documentation_namespaceObject);const story_book_preview={parameters:{controls:{matchers:{color:/(background|color)$/i,date:/Date$/i}},layout:"centered"}}},"./storybook-config-entry.js":(__unused_webpack_module,__unused_webpack___webpack_exports__,__webpack_require__)=>{"use strict";var external_STORYBOOK_MODULE_GLOBAL_=__webpack_require__("@storybook/global"),external_STORYBOOK_MODULE_PREVIEW_API_=__webpack_require__("storybook/internal/preview-api"),external_STORYBOOK_MODULE_CHANNELS_=__webpack_require__("storybook/internal/channels"),asyncToGenerator=__webpack_require__("./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js");const pipeline=x=>x(),importers=[function(){var _ref=(0,asyncToGenerator.A)((function*(path){if(!/^\.[\\/](?:projects\/story-book\/src(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.mdx)$/.exec(path))return;const pathRemainder=path.substring(26);return __webpack_require__("./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$")("./"+pathRemainder)}));return function(_x){return _ref.apply(this,arguments)}}(),function(){var _ref2=(0,asyncToGenerator.A)((function*(path){if(!/^\.[\\/](?:projects\/story-book\/src(?:\/(?!\.)(?:(?:(?!(?:^|\/)\.).)*?)\/|\/|$)(?!\.)(?=.)[^/]*?\.stories\.(js|jsx|mjs|ts|tsx))$/.exec(path))return;const pathRemainder=path.substring(26);return __webpack_require__("./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cmjs%7Cts%7Ctsx))$")("./"+pathRemainder)}));return function(_x2){return _ref2.apply(this,arguments)}}()];function _importFn(){return(_importFn=(0,asyncToGenerator.A)((function*(path){for(let i=0;iimporters[i](path)));if(moduleExports)return moduleExports}}))).apply(this,arguments)}const channel=(0,external_STORYBOOK_MODULE_CHANNELS_.createBrowserChannel)({page:"preview"});external_STORYBOOK_MODULE_PREVIEW_API_.addons.setChannel(channel),"DEVELOPMENT"===external_STORYBOOK_MODULE_GLOBAL_.global.CONFIG_TYPE&&(window.__STORYBOOK_SERVER_CHANNEL__=channel);const preview=new external_STORYBOOK_MODULE_PREVIEW_API_.PreviewWeb((function importFn(_x3){return _importFn.apply(this,arguments)}),(()=>(0,external_STORYBOOK_MODULE_PREVIEW_API_.composeConfigs)([__webpack_require__("./node_modules/@storybook/angular/dist/client/preview-prod.js"),__webpack_require__("./node_modules/@storybook/angular/dist/client/docs/config.js"),__webpack_require__("./node_modules/@storybook/angular/dist/client/config.js"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/docs/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/backgrounds/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/viewport/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/measure/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/outline/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-essentials/dist/highlight/preview.mjs"),__webpack_require__("./node_modules/@storybook/addon-themes/preview.js"),__webpack_require__("./node_modules/@storybook/addon-links/preview.js"),__webpack_require__("./projects/story-book/preview.ts")])));window.__STORYBOOK_PREVIEW__=preview,window.__STORYBOOK_STORY_STORE__=preview.storyStore,window.__STORYBOOK_ADDONS_CHANNEL__=channel},"./node_modules/memoizerific sync recursive":module=>{function webpackEmptyContext(req){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id="./node_modules/memoizerific sync recursive",module.exports=webpackEmptyContext},"./projects/story-book/src/styles.scss?ngGlobalStyle":()=>{},"./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$":module=>{function webpackEmptyAsyncContext(req){return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}))}webpackEmptyAsyncContext.keys=()=>[],webpackEmptyAsyncContext.resolve=webpackEmptyAsyncContext,webpackEmptyAsyncContext.id="./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.mdx)$",module.exports=webpackEmptyAsyncContext},"./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cmjs%7Cts%7Ctsx))$":(module,__unused_webpack_exports,__webpack_require__)=>{var map={"./layout/layout.stories":["./projects/story-book/src/layout/layout.stories.ts",504,122,932,91,578,758,597,344,888],"./layout/layout.stories.ts":["./projects/story-book/src/layout/layout.stories.ts",504,122,932,91,578,758,597,344,888],"./list-loader/list-loader.stories":["./projects/story-book/src/list-loader/list-loader.stories.ts",982],"./list-loader/list-loader.stories.ts":["./projects/story-book/src/list-loader/list-loader.stories.ts",982],"./message-box/message-box.stories":["./projects/story-book/src/message-box/message-box.stories.ts",504,932,578,4,118],"./message-box/message-box.stories.ts":["./projects/story-book/src/message-box/message-box.stories.ts",504,932,578,4,118],"./numeric-stepper/numeric-stepper.stories":["./projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts",504,122,932,758,547,652,285,622],"./numeric-stepper/numeric-stepper.stories.ts":["./projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts",504,122,932,758,547,652,285,622],"./overlay/overlay.stories":["./projects/story-book/src/overlay/overlay.stories.ts",504,122,932,91,578,758,652,126],"./overlay/overlay.stories.ts":["./projects/story-book/src/overlay/overlay.stories.ts",504,122,932,91,578,758,652,126],"./search-container/search-container.stories":["./projects/story-book/src/search-container/search-container.stories.ts",504,122,932,91,597,70,816],"./search-container/search-container.stories.ts":["./projects/story-book/src/search-container/search-container.stories.ts",504,122,932,91,597,70,816],"./splitter/splitter.stories":["./projects/story-book/src/splitter/splitter.stories.ts",504,122,758,547,652,254],"./splitter/splitter.stories.ts":["./projects/story-book/src/splitter/splitter.stories.ts",504,122,758,547,652,254],"./status/status.stories":["./projects/story-book/src/status/status.stories.ts",504,122,932,91,578,547,584,73,288],"./status/status.stories.ts":["./projects/story-book/src/status/status.stories.ts",504,122,932,91,578,547,584,73,288],"./user-card/user-card.stories":["./projects/story-book/src/user-card/user-card.stories.ts",504,122,932,547,158],"./user-card/user-card.stories.ts":["./projects/story-book/src/user-card/user-card.stories.ts",504,122,932,547,158]};function webpackAsyncContext(req){if(!__webpack_require__.o(map,req))return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}));var ids=map[req],id=ids[0];return Promise.all(ids.slice(1).map(__webpack_require__.e)).then((()=>__webpack_require__(id)))}webpackAsyncContext.keys=()=>Object.keys(map),webpackAsyncContext.id="./projects/story-book/src lazy recursive ^\\.\\/.*$ include: (?%21.*node_modules)(?:\\/projects\\/story-book\\/src(?:\\/(?%21\\.)(?:(?:(?%21(?:^%7C\\/)\\.).)*?)\\/%7C\\/%7C$)(?%21\\.)(?=.)[^/]*?\\.stories\\.(js%7Cjsx%7Cmjs%7Cts%7Ctsx))$",module.exports=webpackAsyncContext},"storybook/internal/channels":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CHANNELS__},"storybook/internal/client-logger":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CLIENT_LOGGER__},"@storybook/core/preview-errors":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CORE_EVENTS_PREVIEW_ERRORS__},"storybook/internal/core-events":module=>{"use strict";module.exports=__STORYBOOK_MODULE_CORE_EVENTS__},"@storybook/global":module=>{"use strict";module.exports=__STORYBOOK_MODULE_GLOBAL__},"storybook/internal/preview-api":module=>{"use strict";module.exports=__STORYBOOK_MODULE_PREVIEW_API__}},__webpack_require__=>{var __webpack_exec__=moduleId=>__webpack_require__(__webpack_require__.s=moduleId);__webpack_require__.O(0,[271],(()=>(__webpack_exec__("./storybook-config-entry.js"),__webpack_exec__("./node_modules/@angular/compiler/fesm2022/compiler.mjs"),__webpack_exec__("./projects/story-book/src/styles.scss?ngGlobalStyle"))));__webpack_require__.O()}]); \ No newline at end of file diff --git a/numeric-stepper-numeric-stepper-stories.09a54a7a.iframe.bundle.js b/numeric-stepper-numeric-stepper-stories.09a54a7a.iframe.bundle.js new file mode 100644 index 0000000..c860684 --- /dev/null +++ b/numeric-stepper-numeric-stepper-stories.09a54a7a.iframe.bundle.js @@ -0,0 +1 @@ +(self.webpackChunk=self.webpackChunk||[]).push([[622],{"./projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,appearance:()=>appearance,customArrowIcons:()=>customArrowIcons,default:()=>numeric_stepper_stories,layout:()=>layout,prefixAndSuffix:()=>prefixAndSuffix,showOnInit:()=>showOnInit,standard:()=>standard});var fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),button_toggle=__webpack_require__("./node_modules/@angular/material/fesm2022/button-toggle.mjs"),form_field=__webpack_require__("./node_modules/@angular/material/fesm2022/form-field.mjs"),input=__webpack_require__("./node_modules/@angular/material/fesm2022/input.mjs"),animations=__webpack_require__("./node_modules/@angular/platform-browser/fesm2022/animations.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),numeric_stepper_componentngResource=__webpack_require__("./projects/numeric-stepper/src/numeric-stepper.component.scss?ngResource"),numeric_stepper_componentngResource_default=__webpack_require__.n(numeric_stepper_componentngResource);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),operators_filter=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/filter.js"),operators_map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");const filterMap=job=>source$=>source$.pipe((0,operators_map.T)((value=>job(value))),(source$=>source$.pipe((0,operators_filter.p)((v=>void 0!==v)),(0,operators_map.T)((v=>v)))));var NgxNumericStepperComponent_1,Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),timer=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js"),debounceTime=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js"),withLatestFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js"),tap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),fromEvent=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js"),operators_mergeWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),startWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/startWith.js"),delay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/delay.js"),combineLatestWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/combineLatestWith.js");let NgxNumericStepperComponent=class NgxNumericStepperComponent{static#_=NgxNumericStepperComponent_1=this;static TYPE_ERROR='Input element on the same mat-form-field must be type="number". With other input type, use increment or decrement events and implement your proper functions to change the value.';static STEP_FN_ERROR="Input element on the same mat-form-field must implement stepDown/stepUp functions.";static INPUT_ERROR='To use the automatic binding, you must specify the input field with a matInput reference. [input]="matInputRef"';layout="vertical";increment=new core.EventEmitter;decrement=new core.EventEmitter;input;set arrowIcons(value){this._arrowIcons=(0,coercion.he)(value)}get arrowIcons(){return this._arrowIcons}set showOnInit(value){this._showOnInit=(0,coercion.he)(value)}get showOnInit(){return this._showOnInit}hover=null;leftUp=void 0;leftDown=void 0;topUp=void 0;topDown=void 0;leftShadow=void 0;topShadow=void 0;widthShadow=void 0;heightShadow=void 0;disableUp=!1;disableDown=!1;clickArrow$=new Subject.B;show$=new ReplaySubject.m(1);elementRef=(0,core.inject)(core.ElementRef);changeDetectorRef=(0,core.inject)(core.ChangeDetectorRef);destroyRef=(0,core.inject)(core.DestroyRef);validateArrows$=new Subject.B;_arrowIcons=!1;_showOnInit=!1;arrowSize=32;parentAppearance;ngOnInit(){const calcPositions=(inputElement,formFieldElement,containerElement)=>{const containerBounds=containerElement?.getBoundingClientRect(),formFieldBounds=formFieldElement?.getBoundingClientRect()??{},inputBounds=inputElement?.getBoundingClientRect()??formFieldBounds,bounds=this.elementRef.nativeElement.getBoundingClientRect();if(this.validateArrows$.next(),formFieldElement?.setAttribute("hover",""),"horizontal"===this.layout){const height=containerBounds?.height||formFieldBounds.height;this.heightShadow=Math.min(54,height)+2,this.topShadow=(containerBounds?.top??inputBounds.top+(inputBounds.height-this.heightShadow)/2-5)-bounds.top,this.leftDown=this.leftShadow=formFieldBounds.left-bounds.left-28,this.leftUp=formFieldBounds.right-bounds.left,this.widthShadow=this.leftUp-this.leftDown+28,"FILL"===this.parentAppearance&&(this.heightShadow-=2),this.topUp=this.topDown=inputBounds.top+(inputBounds.height-this.arrowSize)/2-bounds.top}else"horizontal-inlay"===this.layout?(this.heightShadow=Math.min(54,containerBounds?.height||formFieldBounds.height)+4,this.topShadow=containerBounds?.top??inputBounds.top+(inputBounds.height-this.heightShadow)/2-5-bounds.top,this.leftDown=this.leftShadow=formFieldBounds.left-bounds.left,this.leftUp=formFieldBounds.right-bounds.left-28,this.widthShadow=this.leftUp-this.leftDown+28,"FILL"===this.parentAppearance&&(this.heightShadow-=2),this.topUp=this.topDown=inputBounds.top+(inputBounds.height-this.arrowSize)/2-bounds.top):(this.heightShadow=90,this.topShadow=inputBounds.top-bounds.top+(inputBounds.height-this.heightShadow)/2,this.leftShadow=(containerBounds?.left??formFieldBounds.left)-bounds.left,this.topUp=this.topShadow,this.topDown=this.topShadow+this.heightShadow-this.arrowSize,this.widthShadow=containerBounds?.width||formFieldBounds.width,this.leftUp=this.leftDown=formFieldBounds.left+(formFieldBounds.width-this.arrowSize)/2-bounds.left);this.changeDetectorRef.markForCheck()},linkedElements$=(0,timer.O)(100).pipe((0,operators_map.T)((()=>{let formFieldElement,containerElement,inputElement,parentElement=this.elementRef.nativeElement.parentElement;for(;parentElement&&(("MAT-FORM-FIELD"===parentElement.tagName||parentElement.hasAttribute("ngx-numeric-stepper-form-field"))&&(formFieldElement=parentElement),parentElement.hasAttribute("ngx-numeric-stepper-container")&&(containerElement=parentElement),!containerElement||!formFieldElement);)parentElement=parentElement.parentElement;return formFieldElement&&(formFieldElement.setAttribute("ngx-numeric-stepper-form-field",this.layout),this.parentAppearance=formFieldElement.getAttribute("appearance")?.toUpperCase()),formFieldElement?(inputElement=formFieldElement.getElementsByTagName("INPUT")?.[0]||null,inputElement||console.error("ngx-numeric-stepper work only inside a mat-form-field or a [ngx-numeric-stepper-form-field] element containing an input element")):console.error("ngx-numeric-stepper work only inside a mat-form-field or a [ngx-numeric-stepper-form-field] element"),[inputElement,formFieldElement,containerElement]})),(0,operators_filter.p)((([inputElement,formFieldElement])=>!!formFieldElement&&!!inputElement)),(0,shareReplay.t)({bufferSize:1,refCount:!1})),step=(inputElement,event,fn)=>{if(this[event].observed)this[event].emit();else{if("number"!==inputElement?.type)throw new Error(NgxNumericStepperComponent_1.TYPE_ERROR);if(!inputElement[fn])throw new Error(NgxNumericStepperComponent_1.STEP_FN_ERROR);if(!this.input?.ngControl?.control)throw new Error(NgxNumericStepperComponent_1.INPUT_ERROR);inputElement[fn](),this.input.ngControl.control.setValue(+inputElement.value)}this.validateArrows$.next()},step$=this.clickArrow$.pipe((0,debounceTime.B)(10),(0,withLatestFrom.E)(linkedElements$),(0,tap.M)((([isUp,[inputElement]])=>{isUp&&!this.disableUp&&inputElement&&step(inputElement,"increment","stepUp"),isUp||this.disableDown||!inputElement||step(inputElement,"decrement","stepDown")})),(0,shareReplay.t)({bufferSize:1,refCount:!1})),valueChange$=linkedElements$.pipe(filterMap((([inputElement])=>inputElement)),(0,switchMap.n)((inputElement=>(0,fromEvent.R)(inputElement,"input").pipe((0,operators_mergeWith.X)(step$,(0,fromEvent.R)(inputElement,"paste"),(0,fromEvent.R)(inputElement,"keypress"))))),(0,debounceTime.B)(50),(0,startWith.Z)(void 0));linkedElements$.pipe((0,switchMap.n)((([inputElement,formFieldElement,containerElement])=>{const element=containerElement??formFieldElement;return element?(0,fromEvent.R)(element,"mouseenter").pipe((0,switchMap.n)((()=>valueChange$)),(0,operators_mergeWith.X)(this.show$.pipe((0,delay.c)(200))),(0,tap.M)((()=>calcPositions(inputElement,formFieldElement,containerElement))),(0,switchMap.n)((()=>(0,fromEvent.R)(element,"mouseleave"))),(0,delay.c)(400),(0,tap.M)((()=>{formFieldElement?.removeAttribute("hover")}))):[]})),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe(),linkedElements$.pipe(filterMap((([_,formFieldElement])=>formFieldElement)),(0,switchMap.n)((formFieldElement=>(0,fromEvent.R)(formFieldElement,"keydown"))),(0,operators_filter.p)((event=>{const keyCode=event.code;return("ArrowUp"===keyCode||"ArrowDown"===keyCode)&&(this.clickArrow$.next("ArrowUp"===keyCode),!0)})),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe((event=>(event.preventDefault(),!1))),linkedElements$.pipe((0,combineLatestWith.v)(this.validateArrows$),filterMap((([[inputElement]])=>inputElement)),(0,debounceTime.B)(1),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe((inputElement=>{if(inputElement.disabled)this.disableDown=!0,this.disableUp=!0;else{const min=inputElement.min;this.disableDown=""!==min&&!isNaN(+min)&&+inputElement.value<=+min;const max=inputElement.max;this.disableUp=""!==max&&!isNaN(+max)&&+inputElement.value>=+max}this.changeDetectorRef.markForCheck()})),step$.pipe((0,rxjs_interop.pQ)(this.destroyRef)).subscribe(),this.showOnInit&&this.show$.next()}static propDecorators={layout:[{type:core.HostBinding,args:["attr.layout"]},{type:core.Input}],increment:[{type:core.Output}],decrement:[{type:core.Output}],input:[{type:core.Input}],arrowIcons:[{type:core.Input}],showOnInit:[{type:core.Input}],hover:[{type:core.HostBinding,args:["attr.hover"]}]}};NgxNumericStepperComponent=NgxNumericStepperComponent_1=(0,tslib_es6.Cg)([(0,core.Component)({changeDetection:core.ChangeDetectionStrategy.OnPush,selector:"ngx-numeric-stepper",template:'@if (leftUp !== null) {\n \n {{ (!arrowIcons && \'add\') || (layout === \'vertical\' && \'keyboard_arrow_up\') || \'keyboard_arrow_right\' }}\n \n}\n@if (leftDown !== null) {\n \n {{ (!arrowIcons && \'remove\') || (layout === \'vertical\' && \'keyboard_arrow_down\') || \'keyboard_arrow_left\' }}\n \n}\n@if (widthShadow !== null) {\n \n}\n',standalone:!0,imports:[icon.An],encapsulation:core.ViewEncapsulation.None,styles:[numeric_stepper_componentngResource_default()]})],NgxNumericStepperComponent);const numeric_stepper_stories={title:"Components/Numeric Stepper",component:NgxNumericStepperComponent,decorators:[(0,dist.applicationConfig)({providers:[(0,animations.provideAnimations)()]}),(0,dist.moduleMetadata)({imports:[form_field.nJ,input.fg,form_field.JW,form_field.yw,form_field.rl,fesm2022_forms.YN]})],tags:["autodocs"],argTypes:{layout:{options:["vertical","horizontal","horizontal-inlay"],control:{type:"select"},description:"Layout of the stepper control.",table:{defaultValue:{summary:"vertical"},type:{summary:"NgxNumericStepperLayout"}}},arrowIcons:{control:{type:"boolean"},description:"Whether to show arrow icons.",table:{defaultValue:{summary:"false"},type:{summary:"boolean"}}},showOnInit:{control:{type:"boolean"},description:"Whether to show the stepper on initialization.",table:{defaultValue:{summary:"false"},type:{summary:"boolean"}}},input:{control:{type:"object"},description:"The form field control input to be used.",table:{defaultValue:{summary:void 0},type:{summary:"MatFormFieldControl"}}}},args:{layout:"vertical"},parameters:{docs:{description:{component:"The `NgxNumericStepperComponent` integrates with a `mat-form-field` containing an input. It provides a hover mask to allow custom increments or decrements using the `+` and `-` buttons. It can be configured with various layouts and options."}}}},standard={render:args=>({props:{...args,value:115,appearance:"outline"},template:'\n
\n
\n \n This is my label\n \n \n \n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n "]})},layout={parameters:{docs:{description:{story:"This component supports several layouts:
  • vertical
  • horizontal
  • horizontal-inlay
"}}},render:args=>({props:{...args,value:115},template:'\n
\n
\n
\n \n vertical layout\n \n \n \n
\n
\n \n vertical layout\n \n \n \n
\n
\n
\n
\n
\n \n horizontal layout\n \n \n \n
\n
\n \n horizontal layout\n \n \n \n
\n
\n
\n
\n
\n \n horizontal-inlay layout\n \n \n \n
\n
\n \n horizontal-inlay layout\n \n \n \n
\n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n .grouped {\n display: flex;\n gap: 5rem;\n }\n "]}),args:{layout:"vertical"}},customArrowIcons={render:args=>({props:{...args,value:115,appearance:"outline"},template:'\n
\n
\n \n Custom Arrow Icons\n \n \n \n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n "]}),args:{arrowIcons:!0}},showOnInit={tags:["!dev","!autodocs"],render:args=>({props:{...args,value:115,appearance:"outline"},template:'\n
\n
\n \n Show On Init True\n \n \n \n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n "]}),args:{showOnInit:!0}},appearance={decorators:[(0,dist.moduleMetadata)({imports:[button_toggle.pc,button_toggle.ec]})],parameters:{docs:{description:{story:"This component supports different appearances for `mat-form-field`."}}},render:args=>({props:{...args,value:115,appearance:"fill",appearanceChanged(value){this.appearance=value}},template:'\n
\n
\n \n This is my label\n \n \n \n
\n
\n \n Fill\n Outline\n \n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n "]})},prefixAndSuffix={parameters:{docs:{description:{story:"This section allows you to visualize the component with different `mat-form-field` configurations, including custom prefixes and suffixes."}}},render:args=>({props:{...args,value:115,prefix:"",suffix:"cm",prefixChanged(value){this.prefix=value},suffixChanged(value){this.suffix=value}},template:'\n
\n
\n
\n \n vertical layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n vertical layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n
\n
\n \n horizontal layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n horizontal layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n
\n
\n \n horizontal-inlay layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n horizontal-inlay layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n

Try your own suffixes and prefixes

\n
\n
\n \n prefix\n \n \n \n suffix\n \n \n
\n
\n ',styles:["\n section {\n background-color: white;\n font-family: 'Roboto';\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n .grouped {\n display: flex;\n gap: 5rem;\n }\n "]}),args:{layout:"vertical"}},__namedExportsOrder=["standard","layout","customArrowIcons","showOnInit","appearance","prefixAndSuffix"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:'{\n render: args => ({\n props: {\n ...args,\n value: 115,\n appearance: \'outline\'\n },\n template: `\n
\n
\n \n This is my label\n \n \n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n `]\n })\n}',...standard.parameters?.docs?.source}}},layout.parameters={...layout.parameters,docs:{...layout.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This component supports several layouts:
  • vertical
  • horizontal
  • horizontal-inlay
\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n value: 115\n },\n template: `\n
\n
\n
\n \n vertical layout\n \n \n \n
\n
\n \n vertical layout\n \n \n \n
\n
\n
\n
\n
\n \n horizontal layout\n \n \n \n
\n
\n \n horizontal layout\n \n \n \n
\n
\n
\n
\n
\n \n horizontal-inlay layout\n \n \n \n
\n
\n \n horizontal-inlay layout\n \n \n \n
\n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n .grouped {\n display: flex;\n gap: 5rem;\n }\n `]\n }),\n args: {\n layout: \'vertical\'\n }\n}',...layout.parameters?.docs?.source}}},customArrowIcons.parameters={...customArrowIcons.parameters,docs:{...customArrowIcons.parameters?.docs,source:{originalSource:'{\n render: args => ({\n props: {\n ...args,\n value: 115,\n appearance: \'outline\'\n },\n template: `\n
\n
\n \n Custom Arrow Icons\n \n \n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n `]\n }),\n args: {\n arrowIcons: true\n }\n}',...customArrowIcons.parameters?.docs?.source}}},showOnInit.parameters={...showOnInit.parameters,docs:{...showOnInit.parameters?.docs,source:{originalSource:'{\n tags: [\'!dev\', \'!autodocs\'],\n // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\n render: args => ({\n props: {\n ...args,\n value: 115,\n appearance: \'outline\'\n },\n template: `\n
\n
\n \n Show On Init True\n \n \n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n `]\n }),\n args: {\n showOnInit: true\n }\n}',...showOnInit.parameters?.docs?.source}}},appearance.parameters={...appearance.parameters,docs:{...appearance.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatButtonToggle, MatButtonToggleGroup]\n })],\n parameters: {\n docs: {\n description: {\n story: \'This component supports different appearances for `mat-form-field`.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n value: 115,\n appearance: \'fill\',\n appearanceChanged(value: string): void {\n this[\'appearance\'] = value;\n }\n },\n template: `\n
\n
\n \n This is my label\n \n \n \n
\n
\n \n Fill\n Outline\n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n `]\n })\n}',...appearance.parameters?.docs?.source}}},prefixAndSuffix.parameters={...prefixAndSuffix.parameters,docs:{...prefixAndSuffix.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This section allows you to visualize the component with different `mat-form-field` configurations, including custom prefixes and suffixes.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n value: 115,\n prefix: \'\',\n suffix: \'cm\',\n prefixChanged(value: string): void {\n this[\'prefix\'] = value;\n },\n suffixChanged(value: string): void {\n this[\'suffix\'] = value;\n }\n },\n template: `\n
\n
\n
\n \n vertical layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n vertical layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n
\n
\n \n horizontal layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n horizontal layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n
\n
\n \n horizontal-inlay layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n horizontal-inlay layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n

Try your own suffixes and prefixes

\n
\n
\n \n prefix\n \n \n \n suffix\n \n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n font-family: \'Roboto\';\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n .grouped {\n display: flex;\n gap: 5rem;\n }\n `]\n }),\n args: {\n layout: \'vertical\'\n }\n}',...prefixAndSuffix.parameters?.docs?.source}}}},"./projects/numeric-stepper/src/numeric-stepper.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'[ngx-numeric-stepper-container] {\n width: max-content;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled {\n overflow: visible;\n background-color: transparent;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .mat-mdcform-field-focus-overlay,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .mat-mdc-form-field-focus-overlay,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .mdc-line-ripple,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .mat-mdcform-field-focus-overlay,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .mat-mdc-form-field-focus-overlay,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .mdc-line-ripple {\n transition: opacity ease-out;\n opacity: 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .mat-mdc-form-field-flex,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .mat-mdc-form-field-flex {\n background-color: transparent;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .shadow {\n background-color: rgb(245, 245, 245);\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align {\n visibility: hidden;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=vertical]:not(.disabled):hover .mdc-floating-label,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=vertical]:not(.disabled):hover .mdc-floating-label {\n opacity: 0 !important;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=vertical]:not(.disabled):hover.mat-mdc-form-field-invalid .mat-mdc-form-field-subscript-wrapper,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=vertical]:not(.disabled):hover.mat-mdc-form-field-invalid .mat-mdc-form-field-subscript-wrapper {\n visibility: hidden;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled) input:not([ngx-input-autosize]),\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled) input:not([ngx-input-autosize]) {\n width: calc(100% - 64px);\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover:not([float-label=always]) .mdc-floating-label.mat-mdc-empty,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover:not([float-label=always]) .mdc-floating-label.mat-mdc-empty {\n padding-left: 23px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover[ngx-input-autosize-form-field] .mat-mdc-form-field-infix,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover[ngx-input-autosize-form-field] .mat-mdc-form-field-infix {\n padding: 1em 23px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover[ngx-input-autosize-form-field].mat-mdc-form-field-appearance-outline .mat-mdc-form-field-infix,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover[ngx-input-autosize-form-field].mat-mdc-form-field-appearance-outline .mat-mdc-form-field-infix {\n padding: 1em 18px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover:not([ngx-input-autosize-form-field]).mat-mdc-form-field-appearance-fill input,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover:not([ngx-input-autosize-form-field]).mat-mdc-form-field-appearance-fill input {\n margin: 0 18px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field .noselect,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] .noselect {\n -webkit-touch-callout: none;\n /* iOS Safari */\n -webkit-user-select: none;\n /* Chrome/Safari/Opera */\n /* Konqueror */\n /* Firefox */\n /* Internet Explorer/Edge */\n user-select: none;\n /* Non-prefixed version, currently\n not supported by any browser */\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field *,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] * {\n transition: opacity 250ms ease-out;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field input::-webkit-inner-spin-button,\n[ngx-numeric-stepper-container] .mat-mdc-form-field input::-webkit-outer-spin-button,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] input::-webkit-inner-spin-button,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] input::-webkit-outer-spin-button {\n -webkit-appearance: none !important;\n margin: 0 !important;\n -moz-appearance: textfield !important;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field .mat-mdc-input-element,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] .mat-mdc-input-element {\n text-align: center;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover .mat-mdc-floating-label,\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover input,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover .mat-mdc-floating-label,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover input {\n z-index: 10001;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .arrow,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .shadow {\n opacity: 1;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mdc-notched-outline__trailing,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mdc-notched-outline__leading,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mdc-notched-outline__notch,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mdc-notched-outline__trailing,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mdc-notched-outline__leading,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mdc-notched-outline__notch {\n border: 0 !important;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mat-mdc-form-field-text-suffix,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mat-mdc-form-field-text-prefix,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mat-mdc-form-field-text-suffix,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mat-mdc-form-field-text-prefix {\n opacity: 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mat-mdc-floating-label,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover input,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mat-mdc-floating-label,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover input {\n z-index: 10003;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover input,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover input {\n position: relative;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .arrow,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .shadow, [ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled)[hover] .arrow,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled)[hover] .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled)[hover] .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled)[hover] .shadow {\n visibility: visible;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper {\n z-index: 10002;\n position: relative;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .arrow,\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .shadow {\n position: absolute;\n visibility: hidden;\n opacity: 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .arrow {\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n z-index: 10004;\n height: 32px;\n width: 32px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .arrow[disabled=true],\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .arrow[disabled=true] {\n cursor: default;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .shadow {\n border-radius: 4px;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .increment,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .increment {\n border-radius: 4px 4px 0 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .decrement,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .decrement {\n border-radius: 0 0 4px 4px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper[ngx-layout=horizontal] .increment, [ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper[ngx-layout=horizontal-inlay] .increment,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper[ngx-layout=horizontal] .increment,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper[ngx-layout=horizontal-inlay] .increment {\n border-radius: 0 4px 4px 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper[ngx-layout=horizontal] .decrement, [ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper[ngx-layout=horizontal-inlay] .decrement,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper[ngx-layout=horizontal] .decrement,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper[ngx-layout=horizontal-inlay] .decrement {\n border-radius: 4px 0 0 4px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .shadow::after,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .shadow::after {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/numeric-stepper-numeric-stepper-stories.192685a8.iframe.bundle.js b/numeric-stepper-numeric-stepper-stories.192685a8.iframe.bundle.js deleted file mode 100644 index 96e6892..0000000 --- a/numeric-stepper-numeric-stepper-stories.192685a8.iframe.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk=self.webpackChunk||[]).push([[622],{"./projects/story-book/src/numeric-stepper/numeric-stepper.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,appearance:()=>appearance,customArrowIcons:()=>customArrowIcons,default:()=>numeric_stepper_stories,layout:()=>layout,prefixAndSuffix:()=>prefixAndSuffix,showOnInit:()=>showOnInit,standard:()=>standard});var fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),button_toggle=__webpack_require__("./node_modules/@angular/material/fesm2022/button-toggle.mjs"),form_field=__webpack_require__("./node_modules/@angular/material/fesm2022/form-field.mjs"),input=__webpack_require__("./node_modules/@angular/material/fesm2022/input.mjs"),animations=__webpack_require__("./node_modules/@angular/platform-browser/fesm2022/animations.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),numeric_stepper_componentngResource=__webpack_require__("./projects/numeric-stepper/src/numeric-stepper.component.scss?ngResource"),numeric_stepper_componentngResource_default=__webpack_require__.n(numeric_stepper_componentngResource);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),operators_filter=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/filter.js"),operators_map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");const filterMap=job=>source$=>source$.pipe((0,operators_map.T)((value=>job(value))),(source$=>source$.pipe((0,operators_filter.p)((v=>void 0!==v)),(0,operators_map.T)((v=>v)))));var NgxNumericStepperComponent_1,Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),timer=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js"),debounceTime=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js"),withLatestFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js"),tap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),fromEvent=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js"),operators_mergeWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),startWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/startWith.js"),delay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/delay.js"),combineLatestWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/combineLatestWith.js");let NgxNumericStepperComponent=class NgxNumericStepperComponent{static#_=NgxNumericStepperComponent_1=this;static TYPE_ERROR='Input element on the same mat-form-field must be type="number". With other input type, use increment or decrement events and implement your proper functions to change the value.';static STEP_FN_ERROR="Input element on the same mat-form-field must implement stepDown/stepUp functions.";static INPUT_ERROR='To use the automatic binding, you must specify the input field with a matInput reference. [input]="matInputRef"';layout="vertical";increment=new core.EventEmitter;decrement=new core.EventEmitter;input;set arrowIcons(value){this._arrowIcons=(0,coercion.he)(value)}get arrowIcons(){return this._arrowIcons}set showOnInit(value){this._showOnInit=(0,coercion.he)(value)}get showOnInit(){return this._showOnInit}hover=null;leftUp=void 0;leftDown=void 0;topUp=void 0;topDown=void 0;leftShadow=void 0;topShadow=void 0;widthShadow=void 0;heightShadow=void 0;disableUp=!1;disableDown=!1;clickArrow$=new Subject.B;show$=new ReplaySubject.m(1);elementRef=(0,core.inject)(core.ElementRef);changeDetectorRef=(0,core.inject)(core.ChangeDetectorRef);destroyRef=(0,core.inject)(core.DestroyRef);validateArrows$=new Subject.B;_arrowIcons=!1;_showOnInit=!1;arrowSize=32;parentAppearance;ngOnInit(){const calcPositions=(inputElement,formFieldElement,containerElement)=>{const containerBounds=containerElement?.getBoundingClientRect(),formFieldBounds=formFieldElement?.getBoundingClientRect()??{},inputBounds=inputElement?.getBoundingClientRect()??formFieldBounds,bounds=this.elementRef.nativeElement.getBoundingClientRect();if(this.validateArrows$.next(),formFieldElement?.setAttribute("hover",""),"horizontal"===this.layout){const height=containerBounds?.height||formFieldBounds.height;this.heightShadow=Math.min(54,height)+2,this.topShadow=(containerBounds?.top??inputBounds.top+(inputBounds.height-this.heightShadow)/2-5)-bounds.top,this.leftDown=this.leftShadow=formFieldBounds.left-bounds.left-28,this.leftUp=formFieldBounds.right-bounds.left,this.widthShadow=this.leftUp-this.leftDown+28,"FILL"===this.parentAppearance&&(this.heightShadow-=2),this.topUp=this.topDown=inputBounds.top+(inputBounds.height-this.arrowSize)/2-bounds.top}else"horizontal-inlay"===this.layout?(this.heightShadow=Math.min(54,containerBounds?.height||formFieldBounds.height)+4,this.topShadow=containerBounds?.top??inputBounds.top+(inputBounds.height-this.heightShadow)/2-5-bounds.top,this.leftDown=this.leftShadow=formFieldBounds.left-bounds.left,this.leftUp=formFieldBounds.right-bounds.left-28,this.widthShadow=this.leftUp-this.leftDown+28,"FILL"===this.parentAppearance&&(this.heightShadow-=2),this.topUp=this.topDown=inputBounds.top+(inputBounds.height-this.arrowSize)/2-bounds.top):(this.heightShadow=90,this.topShadow=inputBounds.top-bounds.top+(inputBounds.height-this.heightShadow)/2,this.leftShadow=(containerBounds?.left??formFieldBounds.left)-bounds.left,this.topUp=this.topShadow,this.topDown=this.topShadow+this.heightShadow-this.arrowSize,this.widthShadow=containerBounds?.width||formFieldBounds.width,this.leftUp=this.leftDown=formFieldBounds.left+(formFieldBounds.width-this.arrowSize)/2-bounds.left);this.changeDetectorRef.markForCheck()},linkedElements$=(0,timer.O)(100).pipe((0,operators_map.T)((()=>{let formFieldElement,containerElement,inputElement,parentElement=this.elementRef.nativeElement.parentElement;for(;parentElement&&(("MAT-FORM-FIELD"===parentElement.tagName||parentElement.hasAttribute("ngx-numeric-stepper-form-field"))&&(formFieldElement=parentElement),parentElement.hasAttribute("ngx-numeric-stepper-container")&&(containerElement=parentElement),!containerElement||!formFieldElement);)parentElement=parentElement.parentElement;return formFieldElement&&(formFieldElement.setAttribute("ngx-numeric-stepper-form-field",this.layout),this.parentAppearance=formFieldElement.getAttribute("appearance")?.toUpperCase()),formFieldElement?(inputElement=formFieldElement.getElementsByTagName("INPUT")?.[0]||null,inputElement||console.error("ngx-numeric-stepper work only inside a mat-form-field or a [ngx-numeric-stepper-form-field] element containing an input element")):console.error("ngx-numeric-stepper work only inside a mat-form-field or a [ngx-numeric-stepper-form-field] element"),[inputElement,formFieldElement,containerElement]})),(0,operators_filter.p)((([inputElement,formFieldElement])=>!!formFieldElement&&!!inputElement)),(0,shareReplay.t)({bufferSize:1,refCount:!1})),step=(inputElement,event,fn)=>{if(this[event].observed)this[event].emit();else{if("number"!==inputElement?.type)throw new Error(NgxNumericStepperComponent_1.TYPE_ERROR);if(!inputElement[fn])throw new Error(NgxNumericStepperComponent_1.STEP_FN_ERROR);if(!this.input?.ngControl?.control)throw new Error(NgxNumericStepperComponent_1.INPUT_ERROR);inputElement[fn](),this.input.ngControl.control.setValue(+inputElement.value)}this.validateArrows$.next()},step$=this.clickArrow$.pipe((0,debounceTime.B)(10),(0,withLatestFrom.E)(linkedElements$),(0,tap.M)((([isUp,[inputElement]])=>{isUp&&!this.disableUp&&inputElement&&step(inputElement,"increment","stepUp"),isUp||this.disableDown||!inputElement||step(inputElement,"decrement","stepDown")})),(0,shareReplay.t)({bufferSize:1,refCount:!1})),valueChange$=linkedElements$.pipe(filterMap((([inputElement])=>inputElement)),(0,switchMap.n)((inputElement=>(0,fromEvent.R)(inputElement,"input").pipe((0,operators_mergeWith.X)(step$,(0,fromEvent.R)(inputElement,"paste"),(0,fromEvent.R)(inputElement,"keypress"))))),(0,debounceTime.B)(50),(0,startWith.Z)(void 0));linkedElements$.pipe((0,switchMap.n)((([inputElement,formFieldElement,containerElement])=>{const element=containerElement??formFieldElement;return element?(0,fromEvent.R)(element,"mouseenter").pipe((0,switchMap.n)((()=>valueChange$)),(0,operators_mergeWith.X)(this.show$.pipe((0,delay.c)(200))),(0,tap.M)((()=>calcPositions(inputElement,formFieldElement,containerElement))),(0,switchMap.n)((()=>(0,fromEvent.R)(element,"mouseleave"))),(0,delay.c)(400),(0,tap.M)((()=>{formFieldElement?.removeAttribute("hover")}))):[]})),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe(),linkedElements$.pipe(filterMap((([_,formFieldElement])=>formFieldElement)),(0,switchMap.n)((formFieldElement=>(0,fromEvent.R)(formFieldElement,"keydown"))),(0,operators_filter.p)((event=>{const keyCode=event.code;return("ArrowUp"===keyCode||"ArrowDown"===keyCode)&&(this.clickArrow$.next("ArrowUp"===keyCode),!0)})),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe((event=>(event.preventDefault(),!1))),linkedElements$.pipe((0,combineLatestWith.v)(this.validateArrows$),filterMap((([[inputElement]])=>inputElement)),(0,debounceTime.B)(1),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe((inputElement=>{if(inputElement.disabled)this.disableDown=!0,this.disableUp=!0;else{const min=inputElement.min;this.disableDown=""!==min&&!isNaN(+min)&&+inputElement.value<=+min;const max=inputElement.max;this.disableUp=""!==max&&!isNaN(+max)&&+inputElement.value>=+max}this.changeDetectorRef.markForCheck()})),step$.pipe((0,rxjs_interop.pQ)(this.destroyRef)).subscribe(),this.showOnInit&&this.show$.next()}static propDecorators={layout:[{type:core.HostBinding,args:["attr.layout"]},{type:core.Input}],increment:[{type:core.Output}],decrement:[{type:core.Output}],input:[{type:core.Input}],arrowIcons:[{type:core.Input}],showOnInit:[{type:core.Input}],hover:[{type:core.HostBinding,args:["attr.hover"]}]}};NgxNumericStepperComponent=NgxNumericStepperComponent_1=(0,tslib_es6.Cg)([(0,core.Component)({changeDetection:core.ChangeDetectionStrategy.OnPush,selector:"ngx-numeric-stepper",template:'@if (leftUp !== null) {\n \n {{ (!arrowIcons && \'add\') || (layout === \'vertical\' && \'keyboard_arrow_up\') || \'keyboard_arrow_right\' }}\n \n}\n@if (leftDown !== null) {\n \n {{ (!arrowIcons && \'remove\') || (layout === \'vertical\' && \'keyboard_arrow_down\') || \'keyboard_arrow_left\' }}\n \n}\n@if (widthShadow !== null) {\n \n}\n',standalone:!0,imports:[icon.An],encapsulation:core.ViewEncapsulation.None,styles:[numeric_stepper_componentngResource_default()]})],NgxNumericStepperComponent);const numeric_stepper_stories={title:"Components/Numeric Stepper",component:NgxNumericStepperComponent,decorators:[(0,dist.applicationConfig)({providers:[(0,animations.provideAnimations)()]}),(0,dist.moduleMetadata)({imports:[form_field.nJ,input.fg,form_field.JW,form_field.yw,form_field.rl,fesm2022_forms.X1,fesm2022_forms.YN]})],tags:["autodocs"],argTypes:{layout:{options:["vertical","horizontal","horizontal-inlay"],control:{type:"select"},description:"Layout of the stepper control.",table:{defaultValue:{summary:"vertical"},type:{summary:"NgxNumericStepperLayout"}}},arrowIcons:{control:{type:"boolean"},description:"Whether to show arrow icons.",table:{defaultValue:{summary:"false"},type:{summary:"boolean"}}},showOnInit:{control:{type:"boolean"},description:"Whether to show the stepper on initialization.",table:{defaultValue:{summary:"false"},type:{summary:"boolean"}}},input:{control:{type:"object"},description:"The form field control input to be used.",table:{defaultValue:{summary:void 0},type:{summary:"MatFormFieldControl"}}}},args:{layout:"vertical"},parameters:{docs:{description:{component:"The `NgxNumericStepperComponent` integrates with a `mat-form-field` containing an input. It provides a hover mask to allow custom increments or decrements using the `+` and `-` buttons. It can be configured with various layouts and options."}}}},standard={render:args=>({props:{...args,value:115,appearance:"outline"},template:'\n
\n
\n \n This is my label\n \n \n \n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n "]})},layout={parameters:{docs:{description:{story:"This component supports several layouts:
  • vertical
  • horizontal
  • horizontal-inlay
"}}},render:args=>({props:{...args,value:115},template:'\n
\n
\n
\n \n vertical layout\n \n \n \n
\n
\n \n vertical layout\n \n \n \n
\n
\n
\n
\n
\n \n horizontal layout\n \n \n \n
\n
\n \n horizontal layout\n \n \n \n
\n
\n
\n
\n
\n \n horizontal-inlay layout\n \n \n \n
\n
\n \n horizontal-inlay layout\n \n \n \n
\n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n .grouped {\n display: flex;\n gap: 5rem;\n }\n "]}),args:{layout:"vertical"}},customArrowIcons={render:args=>({props:{...args,value:115,appearance:"outline"},template:'\n
\n
\n \n Custom Arrow Icons\n \n \n \n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n "]}),args:{arrowIcons:!0}},showOnInit={tags:["!dev","!autodocs"],render:args=>({props:{...args,value:115,appearance:"outline"},template:'\n
\n
\n \n Show On Init True\n \n \n \n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n "]}),args:{showOnInit:!0}},appearance={decorators:[(0,dist.moduleMetadata)({imports:[button_toggle.pc,button_toggle.ec]})],parameters:{docs:{description:{story:"This component supports different appearances for `mat-form-field`."}}},render:args=>({props:{...args,value:115,appearance:"fill",appearanceChanged(value){this.appearance=value}},template:'\n
\n
\n \n This is my label\n \n \n \n
\n
\n \n Fill\n Outline\n \n
\n
\n ',styles:["\n section {\n background-color: white;\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n "]})},prefixAndSuffix={parameters:{docs:{description:{story:"This section allows you to visualize the component with different `mat-form-field` configurations, including custom prefixes and suffixes."}}},render:args=>({props:{...args,value:115,prefix:"",suffix:"cm",prefixChanged(value){this.prefix=value},suffixChanged(value){this.suffix=value}},template:'\n
\n
\n
\n \n vertical layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n vertical layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n
\n
\n \n horizontal layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n horizontal layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n
\n
\n \n horizontal-inlay layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n horizontal-inlay layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n

Try your own suffixes and prefixes

\n
\n
\n \n prefix\n \n \n \n suffix\n \n \n
\n
\n ',styles:["\n section {\n background-color: white;\n font-family: 'Roboto';\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n .grouped {\n display: flex;\n gap: 5rem;\n }\n "]}),args:{layout:"vertical"}},__namedExportsOrder=["standard","layout","customArrowIcons","showOnInit","appearance","prefixAndSuffix"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:'{\n render: args => ({\n props: {\n ...args,\n value: 115,\n appearance: \'outline\'\n },\n template: `\n
\n
\n \n This is my label\n \n \n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n `]\n })\n}',...standard.parameters?.docs?.source}}},layout.parameters={...layout.parameters,docs:{...layout.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This component supports several layouts:
  • vertical
  • horizontal
  • horizontal-inlay
\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n value: 115\n },\n template: `\n
\n
\n
\n \n vertical layout\n \n \n \n
\n
\n \n vertical layout\n \n \n \n
\n
\n
\n
\n
\n \n horizontal layout\n \n \n \n
\n
\n \n horizontal layout\n \n \n \n
\n
\n
\n
\n
\n \n horizontal-inlay layout\n \n \n \n
\n
\n \n horizontal-inlay layout\n \n \n \n
\n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n .grouped {\n display: flex;\n gap: 5rem;\n }\n `]\n }),\n args: {\n layout: \'vertical\'\n }\n}',...layout.parameters?.docs?.source}}},customArrowIcons.parameters={...customArrowIcons.parameters,docs:{...customArrowIcons.parameters?.docs,source:{originalSource:'{\n render: args => ({\n props: {\n ...args,\n value: 115,\n appearance: \'outline\'\n },\n template: `\n
\n
\n \n Custom Arrow Icons\n \n \n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n `]\n }),\n args: {\n arrowIcons: true\n }\n}',...customArrowIcons.parameters?.docs?.source}}},showOnInit.parameters={...showOnInit.parameters,docs:{...showOnInit.parameters?.docs,source:{originalSource:'{\n tags: [\'!dev\', \'!autodocs\'],\n // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\n render: args => ({\n props: {\n ...args,\n value: 115,\n appearance: \'outline\'\n },\n template: `\n
\n
\n \n Show On Init True\n \n \n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n `]\n }),\n args: {\n showOnInit: true\n }\n}',...showOnInit.parameters?.docs?.source}}},appearance.parameters={...appearance.parameters,docs:{...appearance.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatButtonToggle, MatButtonToggleGroup]\n })],\n parameters: {\n docs: {\n description: {\n story: \'This component supports different appearances for `mat-form-field`.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n value: 115,\n appearance: \'fill\',\n appearanceChanged(value: string): void {\n this[\'appearance\'] = value;\n }\n },\n template: `\n
\n
\n \n This is my label\n \n \n \n
\n
\n \n Fill\n Outline\n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n `]\n })\n}',...appearance.parameters?.docs?.source}}},prefixAndSuffix.parameters={...prefixAndSuffix.parameters,docs:{...prefixAndSuffix.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This section allows you to visualize the component with different `mat-form-field` configurations, including custom prefixes and suffixes.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n value: 115,\n prefix: \'\',\n suffix: \'cm\',\n prefixChanged(value: string): void {\n this[\'prefix\'] = value;\n },\n suffixChanged(value: string): void {\n this[\'suffix\'] = value;\n }\n },\n template: `\n
\n
\n
\n \n vertical layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n vertical layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n
\n
\n \n horizontal layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n horizontal layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n
\n
\n \n horizontal-inlay layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n \n horizontal-inlay layout\n @if(prefix) {\n {{ prefix }}\n }\n \n @if(suffix) {\n {{ suffix }}\n }\n \n \n
\n
\n
\n

Try your own suffixes and prefixes

\n
\n
\n \n prefix\n \n \n \n suffix\n \n \n
\n
\n `,\n styles: [`\n section {\n background-color: white;\n font-family: \'Roboto\';\n }\n .matButtonContainer {\n padding-top: 20px;\n display: flex;\n justify-content: center;\n }\n .grouped {\n display: flex;\n gap: 5rem;\n }\n `]\n }),\n args: {\n layout: \'vertical\'\n }\n}',...prefixAndSuffix.parameters?.docs?.source}}}},"./projects/numeric-stepper/src/numeric-stepper.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'[ngx-numeric-stepper-container] {\n width: max-content;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled {\n overflow: visible;\n background-color: transparent;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .mat-mdcform-field-focus-overlay,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .mat-mdc-form-field-focus-overlay,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .mdc-line-ripple,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .mat-mdcform-field-focus-overlay,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .mat-mdc-form-field-focus-overlay,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .mdc-line-ripple {\n transition: opacity ease-out;\n opacity: 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .mat-mdc-form-field-flex,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .mat-mdc-form-field-flex {\n background-color: transparent;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mdc-text-field--filled .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mdc-text-field--filled .shadow {\n background-color: rgb(245, 245, 245);\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:hover .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:hover .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align {\n visibility: hidden;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=vertical]:not(.disabled):hover .mdc-floating-label,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=vertical]:not(.disabled):hover .mdc-floating-label {\n opacity: 0 !important;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=vertical]:not(.disabled):hover.mat-mdc-form-field-invalid .mat-mdc-form-field-subscript-wrapper,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=vertical]:not(.disabled):hover.mat-mdc-form-field-invalid .mat-mdc-form-field-subscript-wrapper {\n visibility: hidden;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled) input:not([ngx-input-autosize]),\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled) input:not([ngx-input-autosize]) {\n width: calc(100% - 64px);\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover:not([float-label=always]) .mdc-floating-label.mat-mdc-empty,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover:not([float-label=always]) .mdc-floating-label.mat-mdc-empty {\n padding-left: 23px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover[ngx-input-autosize-form-field] .mat-mdc-form-field-infix,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover[ngx-input-autosize-form-field] .mat-mdc-form-field-infix {\n padding: 1em 23px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover[ngx-input-autosize-form-field].mat-mdc-form-field-appearance-outline .mat-mdc-form-field-infix,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover[ngx-input-autosize-form-field].mat-mdc-form-field-appearance-outline .mat-mdc-form-field-infix {\n padding: 1em 18px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover:not([ngx-input-autosize-form-field]).mat-mdc-form-field-appearance-fill input,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover:not([ngx-input-autosize-form-field]).mat-mdc-form-field-appearance-fill input {\n margin: 0 18px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field .noselect,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] .noselect {\n -webkit-touch-callout: none;\n /* iOS Safari */\n -webkit-user-select: none;\n /* Chrome/Safari/Opera */\n /* Konqueror */\n /* Firefox */\n /* Internet Explorer/Edge */\n user-select: none;\n /* Non-prefixed version, currently\n not supported by any browser */\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field *,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] * {\n transition: opacity 250ms ease-out;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field input::-webkit-inner-spin-button,\n[ngx-numeric-stepper-container] .mat-mdc-form-field input::-webkit-outer-spin-button,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] input::-webkit-inner-spin-button,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] input::-webkit-outer-spin-button {\n -webkit-appearance: none !important;\n margin: 0 !important;\n -moz-appearance: textfield !important;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field .mat-mdc-input-element,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] .mat-mdc-input-element {\n text-align: center;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover .mat-mdc-floating-label,\n[ngx-numeric-stepper-container] .mat-mdc-form-field[ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover input,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover .mat-mdc-floating-label,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field][ngx-numeric-stepper-form-field=horizontal-inlay]:not(.disabled):hover input {\n z-index: 10001;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .arrow,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .shadow {\n opacity: 1;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mdc-notched-outline__trailing,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mdc-notched-outline__leading,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mdc-notched-outline__notch,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mdc-notched-outline__trailing,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mdc-notched-outline__leading,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mdc-notched-outline__notch {\n border: 0 !important;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mat-mdc-form-field-text-suffix,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mat-mdc-form-field-text-prefix,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mat-mdc-form-field-text-suffix,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mat-mdc-form-field-text-prefix {\n opacity: 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .mat-mdc-floating-label,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover input,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .mat-mdc-floating-label,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover input {\n z-index: 10003;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover input,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover input {\n position: relative;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .arrow,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled):hover .shadow, [ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled)[hover] .arrow,\n[ngx-numeric-stepper-container] .mat-mdc-form-field:not(.disabled)[hover] .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled):hover .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled)[hover] .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field]:not(.disabled)[hover] .shadow {\n visibility: visible;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper {\n z-index: 10002;\n position: relative;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .arrow,\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .shadow {\n position: absolute;\n visibility: hidden;\n opacity: 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .arrow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .arrow {\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n z-index: 10004;\n height: 32px;\n width: 32px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .arrow[disabled=true],\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .arrow[disabled=true] {\n cursor: default;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .shadow,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .shadow {\n border-radius: 4px;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .increment,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .increment {\n border-radius: 4px 4px 0 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .decrement,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .decrement {\n border-radius: 0 0 4px 4px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper[ngx-layout=horizontal] .increment, [ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper[ngx-layout=horizontal-inlay] .increment,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper[ngx-layout=horizontal] .increment,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper[ngx-layout=horizontal-inlay] .increment {\n border-radius: 0 4px 4px 0;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper[ngx-layout=horizontal] .decrement, [ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper[ngx-layout=horizontal-inlay] .decrement,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper[ngx-layout=horizontal] .decrement,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper[ngx-layout=horizontal-inlay] .decrement {\n border-radius: 4px 0 0 4px;\n}\n[ngx-numeric-stepper-container] .mat-mdc-form-field ngx-numeric-stepper .shadow::after,\n[ngx-numeric-stepper-container] [ngx-numeric-stepper-form-field] ngx-numeric-stepper .shadow::after {\n content: "";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/overlay-overlay-stories.69a51f90.iframe.bundle.js b/overlay-overlay-stories.69a51f90.iframe.bundle.js new file mode 100644 index 0000000..cf3b161 --- /dev/null +++ b/overlay-overlay-stories.69a51f90.iframe.bundle.js @@ -0,0 +1 @@ +(self.webpackChunk=self.webpackChunk||[]).push([[126],{"./projects/core/src/services/media.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Lp:()=>NgxMediaService});var tslib__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");const mediaQueryDefinitions=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MEDIA_QUERY_DEFINITIONS"),simplifiedMediaQueryDefinitions=[{alias:"xs",mediaQuery:"(max-width: 599px)"},{alias:"sm",mediaQuery:"(min-width: 600px) and (max-width: 959px)"},{alias:"md",mediaQuery:"(min-width: 860px) and (max-width: 1279px)"},{alias:"lg",mediaQuery:"(min-width: 1280px)"}];let NgxMediaService=class NgxMediaService{isHandset$;isMobile$;mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t("lg");mql={};zone=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone);mediaDefinitions=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(mediaQueryDefinitions,{optional:!0});constructor(){this.mediaDefinitions||(this.mediaDefinitions=simplifiedMediaQueryDefinitions),this.mediaDefinitions.forEach((mediaDefinition=>{const{alias,mediaQuery}=mediaDefinition;this.mql[alias]=window.matchMedia(mediaQuery),this.mql[alias].addEventListener("change",this.onMqlEvent.bind(this,alias)),this.mql[alias].matches&&(this.mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t(alias))})),this.isHandset$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1})),this.isMobile$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias||"sm"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1}))}ngOnDestroy(){Object.keys(this.mql).forEach((alias=>{this.mql[alias].removeEventListener("change",this.onMqlEvent),delete this.mql[alias]}))}onMqlEvent(alias,event){this.zone.run((()=>{event.matches&&this.mediaChanged$.next(alias)}))}static ctorParameters=()=>[]};NgxMediaService=(0,tslib__WEBPACK_IMPORTED_MODULE_5__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxMediaService)},"./node_modules/rxjs/dist/esm5/internal/operators/combineLatestWith.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{v:()=>combineLatestWith});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),combineLatest=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),argsOrArgArray=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/argsOrArgArray.js"),mapOneOrManyArgs=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js"),pipe=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/pipe.js"),util_args=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/args.js");function combineLatest_combineLatest(){for(var args=[],_i=0;_i{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,default:()=>overlay_stories,navigationExample:()=>navigationExample,overlayClass:()=>overlayClass,overlayForMobile:()=>overlayForMobile,overlayWidth:()=>overlayWidth,ownerElement:()=>ownerElement,standard:()=>standard,textContainerExample:()=>textContainerExample});var fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),fesm2022_button=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),form_field=__webpack_require__("./node_modules/@angular/material/fesm2022/form-field.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),input=__webpack_require__("./node_modules/@angular/material/fesm2022/input.mjs"),animations=__webpack_require__("./node_modules/@angular/platform-browser/fesm2022/animations.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),overlay_componentngResource=__webpack_require__("./projects/overlay/src/overlay.component.scss?ngResource"),overlay_componentngResource_default=__webpack_require__.n(overlay_componentngResource);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),overlay=__webpack_require__("./node_modules/@angular/cdk/fesm2022/overlay.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),media_service=__webpack_require__("./projects/core/src/services/media.service.ts"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),BehaviorSubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),startWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/startWith.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js"),mergeWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),combineLatestWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/combineLatestWith.js"),map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),empty=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/empty.js"),distinctUntilChanged=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js");class NgxOverlayConnectionPositionPair extends overlay.uH{static parse(value){const values=value.trim().split(","),positions=new Array;return values.forEach((pos=>{const poss=pos.trim().split(" ");if(4!==poss.length)throw new Error("Invalid positions property for MenuComponent. String entry must be of type 'positions=\"start top end bottom\"'");const originPosition={originX:poss[0],originY:poss[1]},overlayPosition={overlayX:poss[2],overlayY:poss[3]};positions.push(new NgxOverlayConnectionPositionPair(originPosition,overlayPosition))})),positions}}const defaultConnectionPositionPair=NgxOverlayConnectionPositionPair.parse("start bottom start top,start top start bottom,end bottom end top,end top end bottom");let NgxOverlayComponent=class NgxOverlayComponent{ownerElement;width;widthForMobile="100%";overlayBackdropClass="cdk-overlay-transparent-backdrop";overlayContainerClass;isMobile;contentTemplate;set overlay(value){value&&this.overlayRef$.next(value.overlayRef)}isVisible$;overlayInfos$;overlayRef$=new ReplaySubject.m(1);elementRef=(0,core.inject)(core.ElementRef);overlayContainer=(0,core.inject)(overlay.Sf);mediaService=(0,core.inject)(media_service.Lp);show$=new ReplaySubject.m(1);hide$=new Subject.B;isMobileExt$=new BehaviorSubject.t(void 0);_hasBackdrop=!0;ownerElement$=new BehaviorSubject.t(void 0);set hasBackdrop(value){this._hasBackdrop=(0,coercion.he)(value)}get hasBackdrop(){return this._hasBackdrop}_positions=defaultConnectionPositionPair;_positionsForMobile;constructor(){const containerElement=this.overlayContainer.getContainerElement();containerElement.addEventListener("contextmenu",(event=>(event.preventDefault(),!1)));const isMobile$=this.isMobileExt$.pipe((0,switchMap.n)((isMobileExt=>void 0!==isMobileExt?(0,of.of)(isMobileExt):this.mediaService.isMobile$)),(0,startWith.Z)(!1),(0,shareReplay.t)({bufferSize:1,refCount:!1}));this.overlayInfos$=this.show$.pipe((0,mergeWith.X)(this.hide$),(0,switchMap.n)((showParams=>{if(!showParams)return(0,of.of)(void 0);containerElement.className=Array.from(containerElement.classList).filter((token=>token.startsWith("cdk"))).join(" "),containerElement.classList.add("ngx-overlay-container"),this.overlayContainerClass&&this.overlayContainerClass.split(" ").forEach((className=>{containerElement.classList.add(className)}));const info$=this.ownerElement$.pipe((0,combineLatestWith.v)(isMobile$),(0,map.T)((([ownerElement,isMobile])=>{const mobileElement=isMobile?document.body:void 0;return{offsetX:showParams.offsetX&&+showParams.offsetX||0,offsetY:showParams.offsetY&&+showParams.offsetY||0,origin:new overlay.$Q(new core.ElementRef(mobileElement??showParams.event?.target??ownerElement??this.elementRef.nativeElement)),width:isMobile?this.widthForMobile:this.width,context:showParams.context}}))),updatePosition$=this.overlayRef$.pipe((0,take.s)(1),(0,switchMap.n)((overlayRef=>(overlayRef.updatePosition(),empty.w))));return info$.pipe((0,mergeWith.X)(updatePosition$))})),(0,shareReplay.t)({bufferSize:1,refCount:!1})),this.isVisible$=this.overlayInfos$.pipe((0,map.T)(Boolean),(0,startWith.Z)(!1),(0,distinctUntilChanged.F)())}ngOnChanges(changes){changes.isMobile&&this.isMobileExt$.next(void 0!==this.isMobile?(0,coercion.he)(this.isMobile):void 0),changes.ownerElement&&this.ownerElement$.next(this.ownerElement)}get positionPairs(){return this.positions}get positions(){return this.isMobile?this._positionsForMobile?this._positionsForMobile:NgxOverlayConnectionPositionPair.parse("start top start top"):this._positions}set positions(value){this._positions="string"==typeof value?NgxOverlayConnectionPositionPair.parse(value):value}set positionsForMobile(value){this._positionsForMobile="string"==typeof value?NgxOverlayConnectionPositionPair.parse(value):value}show(eventOrOffsetX,offsetY,context){"number"==typeof eventOrOffsetX?this.show$.next({offsetX:eventOrOffsetX,offsetY,context}):this.show$.next({event:eventOrOffsetX,offsetY,context})}close(){this.hide$.next()}static ctorParameters=()=>[];static propDecorators={ownerElement:[{type:core.Input}],width:[{type:core.Input}],widthForMobile:[{type:core.Input}],overlayBackdropClass:[{type:core.Input}],overlayContainerClass:[{type:core.Input}],isMobile:[{type:core.Input}],contentTemplate:[{type:core.ContentChild,args:["content"]}],overlay:[{type:core.ViewChild,args:[overlay.WB]}],hasBackdrop:[{type:core.Input}],positions:[{type:core.Input}],positionsForMobile:[{type:core.Input}]}};NgxOverlayComponent=(0,tslib_es6.Cg)([(0,core.Component)({changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,selector:"ngx-overlay",template:'@if (overlayInfos$ | async; as overlayInfos) {\n \n \x3c!-- prettier-ignore --\x3e\n @if (contentTemplate) {\n \n
\n }\n @else {\n \n }\n
\n}\n',standalone:!0,imports:[common.AsyncPipe,common.NgTemplateOutlet,overlay.WB],styles:[overlay_componentngResource_default()]})],NgxOverlayComponent);const overlay_stories={title:"Components/Overlay",component:NgxOverlayComponent,decorators:[(0,dist.applicationConfig)({providers:[(0,animations.provideAnimations)()]}),(0,dist.moduleMetadata)({imports:[icon.An,fesm2022_button.iY,fesm2022_button.$z]})],tags:["autodocs"],argTypes:{width:{description:"Defines the width of the overlay for desktop view.",table:{type:{summary:"string"}}},widthForMobile:{description:"Defines the width of the overlay for mobile view. It is only used when isMobile is true.",table:{type:{summary:"string"},disable:!0}},isMobile:{description:"Determines whether the overlay should use mobile-specific settings.",table:{type:{summary:"boolean"},disable:!0}},overlayBackdropClass:{description:"CSS class applied to the overlay backdrop. Can be used to style the backdrop.",table:{type:{summary:"string"}}},overlayContainerClass:{description:"CSS class applied to the overlay container. Allows customization of the overlay appearance.",table:{type:{summary:"string"}}}},args:{width:"400px",widthForMobile:"200px",isMobile:!1,overlayBackdropClass:"",overlayContainerClass:""},parameters:{docs:{description:{component:"The `NgxOverlayComponent` displays an overlay that appears above the page content. It supports custom widths, mobile-specific settings, and customizable CSS classes for both the container and backdrop."}}}},standard={render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n\n \n
\n @for (item of items; track $index) {\n \n }\n
\n
\n
\n '})},overlayWidth={decorators:[(0,dist.moduleMetadata)({imports:[form_field.rl,form_field.nJ,form_field.MV,fesm2022_forms.YN,input.fg]})],parameters:{docs:{description:{story:"Configure the width of the overlay using the width property. Adjust the input field to see changes in real-time."}}},render:args=>({props:{...args,widthChanged(value){this.width=value}},template:'\n
\n \n\n \n
\n Try to modify the width of the NgxOverlay component. This text will be limited in width by this value\n
\n
\n Current width: [{{menu.width}}]\n
\n
\n\n
\n \n Width\n \n try 900\n \n
\n
\n '})},overlayForMobile={tags:["!dev","!autodocs"],parameters:{docs:{description:{story:"Set a widthForMobile that is used when isMobile is true to adjust the overlay width for mobile devices."}}},render:args=>({props:{...args},template:'\n
\n \n\n \n
\n Try to modify the width of the NgxOverlay component this text will be limited in width by this value\n
\n
\n Current width: [{{menu.width}}]\n
\n
\n
\n '}),args:{widthForMobile:"200px",isMobile:!0}},overlayClass={parameters:{docs:{description:{story:"Customize the overlay appearance by applying custom CSS classes. Use overlayContainerClass for the overlay itself and overlayBackdropClass for the backdrop."}}},render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n \n < Click here\n \n\n \n
\n @for (item of items; track $index) {\n \n }\n
\n
\n
\n '}),args:{overlayContainerClass:"myCustomContainerClass",overlayBackdropClass:"myCustomBackdropClass"}},textContainerExample={parameters:{docs:{description:{story:"An example demonstrating the NgxOverlay component with a large block of text and a custom style."}}},render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n Click here >\n\n \n \n\n \n
\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, lacus nec imperdiet pretium, purus nisi hendrerit velit, non laoreet est velit sit amet arcu. Cras eget malesuada tortor. Aliquam vitae libero tellus. Quisque at velit sed arcu feugiat imperdiet ut quis augue. Cras laoreet eleifend tellus varius laoreet. Vestibulum vulputate sagittis sapien, eget euismod metus. Sed ut lacus at risus tristique blandit. Cras at nibh augue. Nam felis felis, facilisis sed fringilla a, porta id magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc eget velit a enim pharetra volutpat quis eget lacus. Donec imperdiet magna metus, auctor pretium nibh dictum eu. Sed pharetra tristique sodales. Nam dapibus porta imperdiet. Pellentesque elementum tristique\n molestie. Sed at dolor et mauris vehicula vestibulum. Maecenas cursus vulputate convallis. Quisque eu imperdiet nunc. Nunc ut feugiat eros. Integer aliquam nibh nec est sollicitudin dictum at et diam. Aliquam neque magna, condimentum non dolor in, faucibus malesuada mauris. Sed dictum massa neque, quis venenatis justo consequat sed. Fusce imperdiet purus nec neque vestibulum, vel placerat enim porta. Duis turpis purus, suscipit vitae scelerisque sed, sollicitudin a sem. Nullam orci risus, suscipit non mollis non, semper sit amet enim. In vel eros justo. Etiam gravida dolor vitae commodo tincidunt. Ut consequat id odio ac scelerisque. Phasellus fringilla et nisi at convallis. Nunc efficitur est in luctus interdum. Curabitur risus turpis, gravida in ex id, elementum convallis\n augue. Duis laoreet condimentum purus, sit amet vulputate dolor finibus ac. Proin consectetur ullamcorper orci ut ullamcorper. Vivamus ornare leo vel urna molestie porta. Vivamus malesuada velit eros, non rutrum urna elementum ut. Pellentesque sed lorem tempor, consectetur sem in, condimentum justo. Vivamus eu nunc interdum, mattis turpis nec, accumsan neque. Integer convallis porttitor turpis feugiat placerat. Nulla sodales ex in neque lobortis, vel mollis turpis interdum. Mauris pharetra ex a justo maximus, at semper metus feugiat. Nullam aliquet tortor nec tortor auctor venenatis. Proin id laoreet eros, id sodales mi. Vestibulum mollis orci nec orci posuere dapibus. Integer placerat, nisl id aliquam interdum, diam est vestibulum purus, non venenatis turpis lacus in felis.\n Vestibulum pulvinar velit tortor, ut convallis turpis condimentum ut. Nunc auctor hendrerit augue, sed malesuada quam. Etiam varius interdum risus, eget gravida libero convallis sed. Aliquam tempor orci at ex ullamcorper mollis. Fusce imperdiet ut ex in gravida. Curabitur iaculis non diam vel consequat. Praesent a magna posuere, feugiat mauris nec, sollicitudin ligula. Sed faucibus viverra velit eget porttitor. Suspendisse a sem gravida, tincidunt lacus vitae, lobortis ante. Nulla nisl quam, ultrices non nunc eget, commodo luctus metus. Curabitur nulla erat, gravida in nulla vel, commodo vestibulum ligula. Quisque quis lectus vel urna luctus gravida eget id risus.\n
\n
\n
\n '}),args:{overlayContainerClass:"customContainerForLorem",overlayBackdropClass:"myCustomBackdropClass",width:"100vw"}},ownerElement={tags:["!dev","!autodocs"],parameters:{docs:{description:{story:"You can provide two custom css classes to the component:
  • overlayContainerClassallows you to customize the overlay itself
  • overlayBackdropClassallows you to customize the overlay backdrop
"}}},render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n \n < Click here\n \n\n
\n I am is owner\n
\n\n \n
\n @for (item of items; track $index) {\n \n } \n
\n
\n
\n '}),args:{overlayContainerClass:"myCustomContainerClass",overlayBackdropClass:"myCustomBackdropClass"}},navigationExample={parameters:{docs:{description:{story:"Here an example of navigation through the component"}}},render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n \n Clicking these will navigate\n \n \n
\n @for (item of items; track $index) {\n {{ item.text }}\n }\n
\n
\n
\n '})},__namedExportsOrder=["standard","overlayWidth","overlayForMobile","overlayClass","textContainerExample","ownerElement","navigationExample"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:'{\n render: args => ({\n props: {\n ...args,\n selected: \'\',\n items: [{\n text: \'Refresh\'\n }, {\n text: \'Settings\'\n }, {\n text: \'Help\',\n disabled: true\n }, {\n text: \'Sign Out\'\n }],\n select(text: string): void {\n this[\'selected\'] = text;\n }\n },\n template: `\n
\n \n\n \n
\n @for (item of items; track $index) {\n \n }\n
\n
\n
\n `\n })\n}',...standard.parameters?.docs?.source}}},overlayWidth.parameters={...overlayWidth.parameters,docs:{...overlayWidth.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatFormField, MatLabel, MatHint, FormsModule, MatInput]\n })],\n parameters: {\n docs: {\n description: {\n story: \'Configure the width of the overlay using the width property. Adjust the input field to see changes in real-time.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n widthChanged(value: string): void {\n this[\'width\'] = value;\n }\n },\n template: `\n
\n \n\n \n
\n Try to modify the width of the NgxOverlay component. This text will be limited in width by this value\n
\n
\n Current width: [{{menu.width}}]\n
\n
\n\n
\n \n Width\n \n try 900\n \n
\n
\n `\n })\n}',...overlayWidth.parameters?.docs?.source}}},overlayForMobile.parameters={...overlayForMobile.parameters,docs:{...overlayForMobile.parameters?.docs,source:{originalSource:'{\n tags: [\'!dev\', \'!autodocs\'],\n // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\n parameters: {\n docs: {\n description: {\n story: \'Set a widthForMobile that is used when isMobile is true to adjust the overlay width for mobile devices.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n\n \n
\n Try to modify the width of the NgxOverlay component this text will be limited in width by this value\n
\n
\n Current width: [{{menu.width}}]\n
\n
\n
\n `\n }),\n args: {\n widthForMobile: \'200px\',\n isMobile: true\n }\n}',...overlayForMobile.parameters?.docs?.source},description:{story:"@todo: Je ne sais pas comment fonctionne l'overlay sur mobile, supprimer les tags quand OK",...overlayForMobile.parameters?.docs?.description}}},overlayClass.parameters={...overlayClass.parameters,docs:{...overlayClass.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Customize the overlay appearance by applying custom CSS classes. Use overlayContainerClass for the overlay itself and overlayBackdropClass for the backdrop.'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n selected: '',\n items: [{\n text: 'Refresh'\n }, {\n text: 'Settings'\n }, {\n text: 'Help',\n disabled: true\n }, {\n text: 'Sign Out'\n }],\n select(text: string): void {\n this['selected'] = text;\n }\n },\n template: `\n
\n \n \n < Click here\n \n\n \n
\n @for (item of items; track $index) {\n \n }\n
\n
\n
\n `\n }),\n args: {\n overlayContainerClass: 'myCustomContainerClass',\n overlayBackdropClass: 'myCustomBackdropClass'\n }\n}",...overlayClass.parameters?.docs?.source}}},textContainerExample.parameters={...textContainerExample.parameters,docs:{...textContainerExample.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'An example demonstrating the NgxOverlay component with a large block of text and a custom style.'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n selected: '',\n items: [{\n text: 'Refresh'\n }, {\n text: 'Settings'\n }, {\n text: 'Help',\n disabled: true\n }, {\n text: 'Sign Out'\n }],\n select(text: string): void {\n this['selected'] = text;\n }\n },\n template: `\n
\n \n Click here >\n\n \n \n\n \n
\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, lacus nec imperdiet pretium, purus nisi hendrerit velit, non laoreet est velit sit amet arcu. Cras eget malesuada tortor. Aliquam vitae libero tellus. Quisque at velit sed arcu feugiat imperdiet ut quis augue. Cras laoreet eleifend tellus varius laoreet. Vestibulum vulputate sagittis sapien, eget euismod metus. Sed ut lacus at risus tristique blandit. Cras at nibh augue. Nam felis felis, facilisis sed fringilla a, porta id magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc eget velit a enim pharetra volutpat quis eget lacus. Donec imperdiet magna metus, auctor pretium nibh dictum eu. Sed pharetra tristique sodales. Nam dapibus porta imperdiet. Pellentesque elementum tristique\n molestie. Sed at dolor et mauris vehicula vestibulum. Maecenas cursus vulputate convallis. Quisque eu imperdiet nunc. Nunc ut feugiat eros. Integer aliquam nibh nec est sollicitudin dictum at et diam. Aliquam neque magna, condimentum non dolor in, faucibus malesuada mauris. Sed dictum massa neque, quis venenatis justo consequat sed. Fusce imperdiet purus nec neque vestibulum, vel placerat enim porta. Duis turpis purus, suscipit vitae scelerisque sed, sollicitudin a sem. Nullam orci risus, suscipit non mollis non, semper sit amet enim. In vel eros justo. Etiam gravida dolor vitae commodo tincidunt. Ut consequat id odio ac scelerisque. Phasellus fringilla et nisi at convallis. Nunc efficitur est in luctus interdum. Curabitur risus turpis, gravida in ex id, elementum convallis\n augue. Duis laoreet condimentum purus, sit amet vulputate dolor finibus ac. Proin consectetur ullamcorper orci ut ullamcorper. Vivamus ornare leo vel urna molestie porta. Vivamus malesuada velit eros, non rutrum urna elementum ut. Pellentesque sed lorem tempor, consectetur sem in, condimentum justo. Vivamus eu nunc interdum, mattis turpis nec, accumsan neque. Integer convallis porttitor turpis feugiat placerat. Nulla sodales ex in neque lobortis, vel mollis turpis interdum. Mauris pharetra ex a justo maximus, at semper metus feugiat. Nullam aliquet tortor nec tortor auctor venenatis. Proin id laoreet eros, id sodales mi. Vestibulum mollis orci nec orci posuere dapibus. Integer placerat, nisl id aliquam interdum, diam est vestibulum purus, non venenatis turpis lacus in felis.\n Vestibulum pulvinar velit tortor, ut convallis turpis condimentum ut. Nunc auctor hendrerit augue, sed malesuada quam. Etiam varius interdum risus, eget gravida libero convallis sed. Aliquam tempor orci at ex ullamcorper mollis. Fusce imperdiet ut ex in gravida. Curabitur iaculis non diam vel consequat. Praesent a magna posuere, feugiat mauris nec, sollicitudin ligula. Sed faucibus viverra velit eget porttitor. Suspendisse a sem gravida, tincidunt lacus vitae, lobortis ante. Nulla nisl quam, ultrices non nunc eget, commodo luctus metus. Curabitur nulla erat, gravida in nulla vel, commodo vestibulum ligula. Quisque quis lectus vel urna luctus gravida eget id risus.\n
\n
\n
\n `\n }),\n args: {\n overlayContainerClass: 'customContainerForLorem',\n overlayBackdropClass: 'myCustomBackdropClass',\n width: '100vw'\n }\n}",...textContainerExample.parameters?.docs?.source}}},ownerElement.parameters={...ownerElement.parameters,docs:{...ownerElement.parameters?.docs,source:{originalSource:"{\n tags: ['!dev', '!autodocs'],\n // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\n parameters: {\n docs: {\n description: {\n story: 'You can provide two custom css classes to the component:
  • overlayContainerClassallows you to customize the overlay itself
  • overlayBackdropClassallows you to customize the overlay backdrop
'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n selected: '',\n items: [{\n text: 'Refresh'\n }, {\n text: 'Settings'\n }, {\n text: 'Help',\n disabled: true\n }, {\n text: 'Sign Out'\n }],\n select(text: string): void {\n this['selected'] = text;\n }\n },\n template: `\n
\n \n \n < Click here\n \n\n
\n I am is owner\n
\n\n \n
\n @for (item of items; track $index) {\n \n } \n
\n
\n
\n `\n }),\n args: {\n overlayContainerClass: 'myCustomContainerClass',\n overlayBackdropClass: 'myCustomBackdropClass'\n }\n}",...ownerElement.parameters?.docs?.source},description:{story:"@todo: Je ne sais pas comment fonctionne l'input ownerElement, supprimer les tags quand OK",...ownerElement.parameters?.docs?.description}}},navigationExample.parameters={...navigationExample.parameters,docs:{...navigationExample.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'Here an example of navigation through the component\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n selected: \'\',\n items: [{\n text: \'Refresh\'\n }, {\n text: \'Settings\'\n }, {\n text: \'Help\',\n disabled: true\n }, {\n text: \'Sign Out\'\n }],\n select(text: string): void {\n this[\'selected\'] = text;\n }\n },\n template: `\n
\n \n \n Clicking these will navigate\n \n \n
\n @for (item of items; track $index) {\n {{ item.text }}\n }\n
\n
\n
\n `\n })\n}',...navigationExample.parameters?.docs?.source}}}},"./projects/overlay/src/overlay.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,"@media print {\n .ngx-overlay-container {\n display: none;\n }\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/overlay-overlay-stories.a05382e2.iframe.bundle.js b/overlay-overlay-stories.a05382e2.iframe.bundle.js deleted file mode 100644 index 0b1102a..0000000 --- a/overlay-overlay-stories.a05382e2.iframe.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk=self.webpackChunk||[]).push([[126],{"./projects/core/src/services/media.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Lp:()=>NgxMediaService});var tslib__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");const mediaQueryDefinitions=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MEDIA_QUERY_DEFINITIONS"),simplifiedMediaQueryDefinitions=[{alias:"xs",mediaQuery:"(max-width: 599px)"},{alias:"sm",mediaQuery:"(min-width: 600px) and (max-width: 959px)"},{alias:"md",mediaQuery:"(min-width: 860px) and (max-width: 1279px)"},{alias:"lg",mediaQuery:"(min-width: 1280px)"}];let NgxMediaService=class NgxMediaService{zone;isHandset$;isMobile$;mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t("lg");mql={};constructor(zone,mediaDefinitions){this.zone=zone,mediaDefinitions||(mediaDefinitions=simplifiedMediaQueryDefinitions),mediaDefinitions.forEach((mediaDefinition=>{const{alias,mediaQuery}=mediaDefinition;this.mql[alias]=window.matchMedia(mediaQuery),this.mql[alias].addEventListener("change",this.onMqlEvent.bind(this,alias)),this.mql[alias].matches&&(this.mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t(alias))})),this.isHandset$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1})),this.isMobile$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias||"sm"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1}))}ngOnDestroy(){Object.keys(this.mql).forEach((alias=>{this.mql[alias].removeEventListener("change",this.onMqlEvent),delete this.mql[alias]}))}onMqlEvent(alias,event){this.zone.run((()=>{event.matches&&this.mediaChanged$.next(alias)}))}static ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone},{type:Array,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[mediaQueryDefinitions]}]}]};NgxMediaService=(0,tslib__WEBPACK_IMPORTED_MODULE_5__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxMediaService)},"./node_modules/rxjs/dist/esm5/internal/operators/combineLatestWith.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{v:()=>combineLatestWith});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),combineLatest=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),argsOrArgArray=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/argsOrArgArray.js"),mapOneOrManyArgs=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js"),pipe=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/pipe.js"),util_args=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/args.js");function combineLatest_combineLatest(){for(var args=[],_i=0;_i{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,default:()=>overlay_stories,navigationExample:()=>navigationExample,overlayClass:()=>overlayClass,overlayForMobile:()=>overlayForMobile,overlayWidth:()=>overlayWidth,ownerElement:()=>ownerElement,standard:()=>standard,textContainerExample:()=>textContainerExample});var fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),fesm2022_button=__webpack_require__("./node_modules/@angular/material/fesm2022/button.mjs"),form_field=__webpack_require__("./node_modules/@angular/material/fesm2022/form-field.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),input=__webpack_require__("./node_modules/@angular/material/fesm2022/input.mjs"),animations=__webpack_require__("./node_modules/@angular/platform-browser/fesm2022/animations.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),overlay_componentngResource=__webpack_require__("./projects/overlay/src/overlay.component.scss?ngResource"),overlay_componentngResource_default=__webpack_require__.n(overlay_componentngResource);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),overlay=__webpack_require__("./node_modules/@angular/cdk/fesm2022/overlay.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),media_service=__webpack_require__("./projects/core/src/services/media.service.ts"),ReplaySubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),BehaviorSubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),startWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/startWith.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js"),mergeWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),combineLatestWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/combineLatestWith.js"),map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),empty=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/empty.js"),distinctUntilChanged=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js");class NgxOverlayConnectionPositionPair extends overlay.uH{static parse(value){const values=value.trim().split(","),positions=new Array;return values.forEach((pos=>{const poss=pos.trim().split(" ");if(4!==poss.length)throw new Error("Invalid positions property for MenuComponent. String entry must be of type 'positions=\"start top end bottom\"'");const originPosition={originX:poss[0],originY:poss[1]},overlayPosition={overlayX:poss[2],overlayY:poss[3]};positions.push(new NgxOverlayConnectionPositionPair(originPosition,overlayPosition))})),positions}}const defaultConnectionPositionPair=NgxOverlayConnectionPositionPair.parse("start bottom start top,start top start bottom,end bottom end top,end top end bottom");let NgxOverlayComponent=class NgxOverlayComponent{ownerElement;width;widthForMobile="100%";overlayBackdropClass="cdk-overlay-transparent-backdrop";overlayContainerClass;isMobile;contentTemplate;set overlay(value){value&&this.overlayRef$.next(value.overlayRef)}isVisible$;overlayInfos$;overlayRef$=new ReplaySubject.m(1);elementRef=(0,core.inject)(core.ElementRef);overlayContainer=(0,core.inject)(overlay.Sf);mediaService=(0,core.inject)(media_service.Lp);show$=new ReplaySubject.m(1);hide$=new Subject.B;isMobileExt$=new BehaviorSubject.t(void 0);_hasBackdrop=!0;ownerElement$=new BehaviorSubject.t(void 0);set hasBackdrop(value){this._hasBackdrop=(0,coercion.he)(value)}get hasBackdrop(){return this._hasBackdrop}_positions=defaultConnectionPositionPair;_positionsForMobile;constructor(){const containerElement=this.overlayContainer.getContainerElement();containerElement.addEventListener("contextmenu",(event=>(event.preventDefault(),!1)));const isMobile$=this.isMobileExt$.pipe((0,switchMap.n)((isMobileExt=>void 0!==isMobileExt?(0,of.of)(isMobileExt):this.mediaService.isMobile$)),(0,startWith.Z)(!1),(0,shareReplay.t)({bufferSize:1,refCount:!1}));this.overlayInfos$=this.show$.pipe((0,mergeWith.X)(this.hide$),(0,switchMap.n)((showParams=>{if(!showParams)return(0,of.of)(void 0);containerElement.className=Array.from(containerElement.classList).filter((token=>token.startsWith("cdk"))).join(" "),containerElement.classList.add("ngx-overlay-container"),this.overlayContainerClass&&this.overlayContainerClass.split(" ").forEach((className=>{containerElement.classList.add(className)}));const info$=this.ownerElement$.pipe((0,combineLatestWith.v)(isMobile$),(0,map.T)((([ownerElement,isMobile])=>{const mobileElement=isMobile?document.body:void 0;return{offsetX:showParams.offsetX&&+showParams.offsetX||0,offsetY:showParams.offsetY&&+showParams.offsetY||0,origin:new overlay.$Q(new core.ElementRef(mobileElement??showParams.event?.target??ownerElement??this.elementRef.nativeElement)),width:isMobile?this.widthForMobile:this.width,context:showParams.context}}))),updatePosition$=this.overlayRef$.pipe((0,take.s)(1),(0,switchMap.n)((overlayRef=>(overlayRef.updatePosition(),empty.w))));return info$.pipe((0,mergeWith.X)(updatePosition$))})),(0,shareReplay.t)({bufferSize:1,refCount:!1})),this.isVisible$=this.overlayInfos$.pipe((0,map.T)(Boolean),(0,startWith.Z)(!1),(0,distinctUntilChanged.F)())}ngOnChanges(changes){changes.isMobile&&this.isMobileExt$.next(void 0!==this.isMobile?(0,coercion.he)(this.isMobile):void 0),changes.ownerElement&&this.ownerElement$.next(this.ownerElement)}get positionPairs(){return this.positions}get positions(){return this.isMobile?this._positionsForMobile?this._positionsForMobile:NgxOverlayConnectionPositionPair.parse("start top start top"):this._positions}set positions(value){this._positions="string"==typeof value?NgxOverlayConnectionPositionPair.parse(value):value}set positionsForMobile(value){this._positionsForMobile="string"==typeof value?NgxOverlayConnectionPositionPair.parse(value):value}show(eventOrOffsetX,offsetY,context){"number"==typeof eventOrOffsetX?this.show$.next({offsetX:eventOrOffsetX,offsetY,context}):this.show$.next({event:eventOrOffsetX,offsetY,context})}close(){this.hide$.next()}static ctorParameters=()=>[];static propDecorators={ownerElement:[{type:core.Input}],width:[{type:core.Input}],widthForMobile:[{type:core.Input}],overlayBackdropClass:[{type:core.Input}],overlayContainerClass:[{type:core.Input}],isMobile:[{type:core.Input}],contentTemplate:[{type:core.ContentChild,args:["content"]}],overlay:[{type:core.ViewChild,args:[overlay.WB]}],hasBackdrop:[{type:core.Input}],positions:[{type:core.Input}],positionsForMobile:[{type:core.Input}]}};NgxOverlayComponent=(0,tslib_es6.Cg)([(0,core.Component)({changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,selector:"ngx-overlay",template:'@if (overlayInfos$ | async; as overlayInfos) {\n \n \x3c!-- prettier-ignore --\x3e\n @if (contentTemplate) {\n \n \n }\n @else {\n \n }\n \n}\n',standalone:!0,imports:[common.AsyncPipe,common.NgTemplateOutlet,overlay.WB],styles:[overlay_componentngResource_default()]})],NgxOverlayComponent);const overlay_stories={title:"Components/Overlay",component:NgxOverlayComponent,decorators:[(0,dist.applicationConfig)({providers:[(0,animations.provideAnimations)()]}),(0,dist.moduleMetadata)({imports:[icon.An,fesm2022_button.iY,fesm2022_button.$z]})],tags:["autodocs"],argTypes:{width:{description:"Defines the width of the overlay for desktop view.",table:{type:{summary:"string"}}},widthForMobile:{description:"Defines the width of the overlay for mobile view. It is only used when isMobile is true.",table:{type:{summary:"string"},disable:!0}},isMobile:{description:"Determines whether the overlay should use mobile-specific settings.",table:{type:{summary:"boolean"},disable:!0}},overlayBackdropClass:{description:"CSS class applied to the overlay backdrop. Can be used to style the backdrop.",table:{type:{summary:"string"}}},overlayContainerClass:{description:"CSS class applied to the overlay container. Allows customization of the overlay appearance.",table:{type:{summary:"string"}}}},args:{width:"400px",widthForMobile:"200px",isMobile:!1,overlayBackdropClass:"",overlayContainerClass:""},parameters:{docs:{description:{component:"The `NgxOverlayComponent` displays an overlay that appears above the page content. It supports custom widths, mobile-specific settings, and customizable CSS classes for both the container and backdrop."}}}},standard={render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n\n \n
\n @for (item of items; track $index) {\n \n }\n
\n
\n
\n '})},overlayWidth={decorators:[(0,dist.moduleMetadata)({imports:[form_field.rl,form_field.nJ,form_field.MV,fesm2022_forms.YN,input.fg,fesm2022_forms.X1]})],parameters:{docs:{description:{story:"Configure the width of the overlay using the width property. Adjust the input field to see changes in real-time."}}},render:args=>({props:{...args,widthChanged(value){this.width=value}},template:'\n
\n \n\n \n
\n Try to modify the width of the NgxOverlay component. This text will be limited in width by this value\n
\n
\n Current width: [{{menu.width}}]\n
\n
\n\n
\n \n Width\n \n try 900\n \n
\n
\n '})},overlayForMobile={tags:["!dev","!autodocs"],parameters:{docs:{description:{story:"Set a widthForMobile that is used when isMobile is true to adjust the overlay width for mobile devices."}}},render:args=>({props:{...args},template:'\n
\n \n\n \n
\n Try to modify the width of the NgxOverlay component this text will be limited in width by this value\n
\n
\n Current width: [{{menu.width}}]\n
\n
\n
\n '}),args:{widthForMobile:"200px",isMobile:!0}},overlayClass={parameters:{docs:{description:{story:"Customize the overlay appearance by applying custom CSS classes. Use overlayContainerClass for the overlay itself and overlayBackdropClass for the backdrop."}}},render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n \n < Click here\n \n\n \n
\n @for (item of items; track $index) {\n \n }\n
\n
\n
\n '}),args:{overlayContainerClass:"myCustomContainerClass",overlayBackdropClass:"myCustomBackdropClass"}},textContainerExample={parameters:{docs:{description:{story:"An example demonstrating the NgxOverlay component with a large block of text and a custom style."}}},render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n Click here >\n\n \n \n\n \n
\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, lacus nec imperdiet pretium, purus nisi hendrerit velit, non laoreet est velit sit amet arcu. Cras eget malesuada tortor. Aliquam vitae libero tellus. Quisque at velit sed arcu feugiat imperdiet ut quis augue. Cras laoreet eleifend tellus varius laoreet. Vestibulum vulputate sagittis sapien, eget euismod metus. Sed ut lacus at risus tristique blandit. Cras at nibh augue. Nam felis felis, facilisis sed fringilla a, porta id magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc eget velit a enim pharetra volutpat quis eget lacus. Donec imperdiet magna metus, auctor pretium nibh dictum eu. Sed pharetra tristique sodales. Nam dapibus porta imperdiet. Pellentesque elementum tristique\n molestie. Sed at dolor et mauris vehicula vestibulum. Maecenas cursus vulputate convallis. Quisque eu imperdiet nunc. Nunc ut feugiat eros. Integer aliquam nibh nec est sollicitudin dictum at et diam. Aliquam neque magna, condimentum non dolor in, faucibus malesuada mauris. Sed dictum massa neque, quis venenatis justo consequat sed. Fusce imperdiet purus nec neque vestibulum, vel placerat enim porta. Duis turpis purus, suscipit vitae scelerisque sed, sollicitudin a sem. Nullam orci risus, suscipit non mollis non, semper sit amet enim. In vel eros justo. Etiam gravida dolor vitae commodo tincidunt. Ut consequat id odio ac scelerisque. Phasellus fringilla et nisi at convallis. Nunc efficitur est in luctus interdum. Curabitur risus turpis, gravida in ex id, elementum convallis\n augue. Duis laoreet condimentum purus, sit amet vulputate dolor finibus ac. Proin consectetur ullamcorper orci ut ullamcorper. Vivamus ornare leo vel urna molestie porta. Vivamus malesuada velit eros, non rutrum urna elementum ut. Pellentesque sed lorem tempor, consectetur sem in, condimentum justo. Vivamus eu nunc interdum, mattis turpis nec, accumsan neque. Integer convallis porttitor turpis feugiat placerat. Nulla sodales ex in neque lobortis, vel mollis turpis interdum. Mauris pharetra ex a justo maximus, at semper metus feugiat. Nullam aliquet tortor nec tortor auctor venenatis. Proin id laoreet eros, id sodales mi. Vestibulum mollis orci nec orci posuere dapibus. Integer placerat, nisl id aliquam interdum, diam est vestibulum purus, non venenatis turpis lacus in felis.\n Vestibulum pulvinar velit tortor, ut convallis turpis condimentum ut. Nunc auctor hendrerit augue, sed malesuada quam. Etiam varius interdum risus, eget gravida libero convallis sed. Aliquam tempor orci at ex ullamcorper mollis. Fusce imperdiet ut ex in gravida. Curabitur iaculis non diam vel consequat. Praesent a magna posuere, feugiat mauris nec, sollicitudin ligula. Sed faucibus viverra velit eget porttitor. Suspendisse a sem gravida, tincidunt lacus vitae, lobortis ante. Nulla nisl quam, ultrices non nunc eget, commodo luctus metus. Curabitur nulla erat, gravida in nulla vel, commodo vestibulum ligula. Quisque quis lectus vel urna luctus gravida eget id risus.\n
\n
\n
\n '}),args:{overlayContainerClass:"customContainerForLorem",overlayBackdropClass:"myCustomBackdropClass",width:"100vw"}},ownerElement={tags:["!dev","!autodocs"],parameters:{docs:{description:{story:"You can provide two custom css classes to the component:
  • overlayContainerClassallows you to customize the overlay itself
  • overlayBackdropClassallows you to customize the overlay backdrop
"}}},render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n \n < Click here\n \n\n
\n I am is owner\n
\n\n \n
\n @for (item of items; track $index) {\n \n } \n
\n
\n
\n '}),args:{overlayContainerClass:"myCustomContainerClass",overlayBackdropClass:"myCustomBackdropClass"}},navigationExample={parameters:{docs:{description:{story:"Here an example of navigation through the component"}}},render:args=>({props:{...args,selected:"",items:[{text:"Refresh"},{text:"Settings"},{text:"Help",disabled:!0},{text:"Sign Out"}],select(text){this.selected=text}},template:'\n
\n \n \n Clicking these will navigate\n \n \n
\n @for (item of items; track $index) {\n {{ item.text }}\n }\n
\n
\n
\n '})},__namedExportsOrder=["standard","overlayWidth","overlayForMobile","overlayClass","textContainerExample","ownerElement","navigationExample"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:'{\n render: args => ({\n props: {\n ...args,\n selected: \'\',\n items: [{\n text: \'Refresh\'\n }, {\n text: \'Settings\'\n }, {\n text: \'Help\',\n disabled: true\n }, {\n text: \'Sign Out\'\n }],\n select(text: string): void {\n this[\'selected\'] = text;\n }\n },\n template: `\n
\n \n\n \n
\n @for (item of items; track $index) {\n \n }\n
\n
\n
\n `\n })\n}',...standard.parameters?.docs?.source}}},overlayWidth.parameters={...overlayWidth.parameters,docs:{...overlayWidth.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatFormField, MatLabel, MatHint, FormsModule, MatInput, ReactiveFormsModule]\n })],\n parameters: {\n docs: {\n description: {\n story: \'Configure the width of the overlay using the width property. Adjust the input field to see changes in real-time.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n widthChanged(value: string): void {\n this[\'width\'] = value;\n }\n },\n template: `\n
\n \n\n \n
\n Try to modify the width of the NgxOverlay component. This text will be limited in width by this value\n
\n
\n Current width: [{{menu.width}}]\n
\n
\n\n
\n \n Width\n \n try 900\n \n
\n
\n `\n })\n}',...overlayWidth.parameters?.docs?.source}}},overlayForMobile.parameters={...overlayForMobile.parameters,docs:{...overlayForMobile.parameters?.docs,source:{originalSource:'{\n tags: [\'!dev\', \'!autodocs\'],\n // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\n parameters: {\n docs: {\n description: {\n story: \'Set a widthForMobile that is used when isMobile is true to adjust the overlay width for mobile devices.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n\n \n
\n Try to modify the width of the NgxOverlay component this text will be limited in width by this value\n
\n
\n Current width: [{{menu.width}}]\n
\n
\n
\n `\n }),\n args: {\n widthForMobile: \'200px\',\n isMobile: true\n }\n}',...overlayForMobile.parameters?.docs?.source},description:{story:"@todo: Je ne sais pas comment fonctionne l'overlay sur mobile, supprimer les tags quand OK",...overlayForMobile.parameters?.docs?.description}}},overlayClass.parameters={...overlayClass.parameters,docs:{...overlayClass.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Customize the overlay appearance by applying custom CSS classes. Use overlayContainerClass for the overlay itself and overlayBackdropClass for the backdrop.'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n selected: '',\n items: [{\n text: 'Refresh'\n }, {\n text: 'Settings'\n }, {\n text: 'Help',\n disabled: true\n }, {\n text: 'Sign Out'\n }],\n select(text: string): void {\n this['selected'] = text;\n }\n },\n template: `\n
\n \n \n < Click here\n \n\n \n
\n @for (item of items; track $index) {\n \n }\n
\n
\n
\n `\n }),\n args: {\n overlayContainerClass: 'myCustomContainerClass',\n overlayBackdropClass: 'myCustomBackdropClass'\n }\n}",...overlayClass.parameters?.docs?.source}}},textContainerExample.parameters={...textContainerExample.parameters,docs:{...textContainerExample.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'An example demonstrating the NgxOverlay component with a large block of text and a custom style.'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n selected: '',\n items: [{\n text: 'Refresh'\n }, {\n text: 'Settings'\n }, {\n text: 'Help',\n disabled: true\n }, {\n text: 'Sign Out'\n }],\n select(text: string): void {\n this['selected'] = text;\n }\n },\n template: `\n
\n \n Click here >\n\n \n \n\n \n
\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, lacus nec imperdiet pretium, purus nisi hendrerit velit, non laoreet est velit sit amet arcu. Cras eget malesuada tortor. Aliquam vitae libero tellus. Quisque at velit sed arcu feugiat imperdiet ut quis augue. Cras laoreet eleifend tellus varius laoreet. Vestibulum vulputate sagittis sapien, eget euismod metus. Sed ut lacus at risus tristique blandit. Cras at nibh augue. Nam felis felis, facilisis sed fringilla a, porta id magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc eget velit a enim pharetra volutpat quis eget lacus. Donec imperdiet magna metus, auctor pretium nibh dictum eu. Sed pharetra tristique sodales. Nam dapibus porta imperdiet. Pellentesque elementum tristique\n molestie. Sed at dolor et mauris vehicula vestibulum. Maecenas cursus vulputate convallis. Quisque eu imperdiet nunc. Nunc ut feugiat eros. Integer aliquam nibh nec est sollicitudin dictum at et diam. Aliquam neque magna, condimentum non dolor in, faucibus malesuada mauris. Sed dictum massa neque, quis venenatis justo consequat sed. Fusce imperdiet purus nec neque vestibulum, vel placerat enim porta. Duis turpis purus, suscipit vitae scelerisque sed, sollicitudin a sem. Nullam orci risus, suscipit non mollis non, semper sit amet enim. In vel eros justo. Etiam gravida dolor vitae commodo tincidunt. Ut consequat id odio ac scelerisque. Phasellus fringilla et nisi at convallis. Nunc efficitur est in luctus interdum. Curabitur risus turpis, gravida in ex id, elementum convallis\n augue. Duis laoreet condimentum purus, sit amet vulputate dolor finibus ac. Proin consectetur ullamcorper orci ut ullamcorper. Vivamus ornare leo vel urna molestie porta. Vivamus malesuada velit eros, non rutrum urna elementum ut. Pellentesque sed lorem tempor, consectetur sem in, condimentum justo. Vivamus eu nunc interdum, mattis turpis nec, accumsan neque. Integer convallis porttitor turpis feugiat placerat. Nulla sodales ex in neque lobortis, vel mollis turpis interdum. Mauris pharetra ex a justo maximus, at semper metus feugiat. Nullam aliquet tortor nec tortor auctor venenatis. Proin id laoreet eros, id sodales mi. Vestibulum mollis orci nec orci posuere dapibus. Integer placerat, nisl id aliquam interdum, diam est vestibulum purus, non venenatis turpis lacus in felis.\n Vestibulum pulvinar velit tortor, ut convallis turpis condimentum ut. Nunc auctor hendrerit augue, sed malesuada quam. Etiam varius interdum risus, eget gravida libero convallis sed. Aliquam tempor orci at ex ullamcorper mollis. Fusce imperdiet ut ex in gravida. Curabitur iaculis non diam vel consequat. Praesent a magna posuere, feugiat mauris nec, sollicitudin ligula. Sed faucibus viverra velit eget porttitor. Suspendisse a sem gravida, tincidunt lacus vitae, lobortis ante. Nulla nisl quam, ultrices non nunc eget, commodo luctus metus. Curabitur nulla erat, gravida in nulla vel, commodo vestibulum ligula. Quisque quis lectus vel urna luctus gravida eget id risus.\n
\n
\n
\n `\n }),\n args: {\n overlayContainerClass: 'customContainerForLorem',\n overlayBackdropClass: 'myCustomBackdropClass',\n width: '100vw'\n }\n}",...textContainerExample.parameters?.docs?.source}}},ownerElement.parameters={...ownerElement.parameters,docs:{...ownerElement.parameters?.docs,source:{originalSource:"{\n tags: ['!dev', '!autodocs'],\n // Pour disable sur le menu à gauche !dev, et sur la doc !autodocs\n parameters: {\n docs: {\n description: {\n story: 'You can provide two custom css classes to the component:
  • overlayContainerClassallows you to customize the overlay itself
  • overlayBackdropClassallows you to customize the overlay backdrop
'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n selected: '',\n items: [{\n text: 'Refresh'\n }, {\n text: 'Settings'\n }, {\n text: 'Help',\n disabled: true\n }, {\n text: 'Sign Out'\n }],\n select(text: string): void {\n this['selected'] = text;\n }\n },\n template: `\n
\n \n \n < Click here\n \n\n
\n I am is owner\n
\n\n \n
\n @for (item of items; track $index) {\n \n } \n
\n
\n
\n `\n }),\n args: {\n overlayContainerClass: 'myCustomContainerClass',\n overlayBackdropClass: 'myCustomBackdropClass'\n }\n}",...ownerElement.parameters?.docs?.source},description:{story:"@todo: Je ne sais pas comment fonctionne l'input ownerElement, supprimer les tags quand OK",...ownerElement.parameters?.docs?.description}}},navigationExample.parameters={...navigationExample.parameters,docs:{...navigationExample.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'Here an example of navigation through the component\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n selected: \'\',\n items: [{\n text: \'Refresh\'\n }, {\n text: \'Settings\'\n }, {\n text: \'Help\',\n disabled: true\n }, {\n text: \'Sign Out\'\n }],\n select(text: string): void {\n this[\'selected\'] = text;\n }\n },\n template: `\n
\n \n \n Clicking these will navigate\n \n \n
\n @for (item of items; track $index) {\n {{ item.text }}\n }\n
\n
\n
\n `\n })\n}',...navigationExample.parameters?.docs?.source}}}},"./projects/overlay/src/overlay.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,"@media print {\n .ngx-overlay-container {\n display: none;\n }\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/project.json b/project.json index 5331e0a..ad4a931 100644 --- a/project.json +++ b/project.json @@ -1 +1 @@ -{"generatedAt":1725890512691,"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"testPackages":{"@types/jasmine":"5.1.4","jasmine-core":"5.2.0","karma":"6.4.4","karma-chrome-launcher":"3.2.0","karma-coverage":"2.2.1","karma-jasmine":"5.1.0","karma-jasmine-html-reporter":"2.1.0"},"monorepo":"Nx","packageManager":{"type":"npm","version":"10.8.3"},"framework":{"name":"@storybook/angular","options":{}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/angular","language":"typescript","storybookPackages":{},"addons":{"$SNIP/node_modules/@storybook/addon-essentials":{"options":{"actions":false},"version":null},"$SNIP/node_modules/@storybook/addon-themes":{"version":null},"$SNIP/node_modules/@storybook/addon-links":{"version":null}}} +{"generatedAt":1726064759883,"hasCustomBabel":false,"hasCustomWebpack":true,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"testPackages":{"@types/jasmine":"5.1.4","jasmine-core":"5.2.0","karma":"6.4.4","karma-chrome-launcher":"3.2.0","karma-coverage":"2.2.1","karma-jasmine":"5.1.0","karma-jasmine-html-reporter":"2.1.0"},"monorepo":"Nx","packageManager":{"type":"npm","version":"10.8.3"},"framework":{"name":"@storybook/angular","options":{}},"builder":"@storybook/builder-webpack5","renderer":"@storybook/angular","language":"typescript","storybookPackages":{},"addons":{"$SNIP/node_modules/@storybook/addon-essentials":{"options":{"actions":false},"version":null},"$SNIP/node_modules/@storybook/addon-themes":{"version":null},"$SNIP/node_modules/@storybook/addon-links":{"version":null}}} diff --git a/runtime~main.0509ca9a.iframe.bundle.js b/runtime~main.0e2dc7f4.iframe.bundle.js similarity index 93% rename from runtime~main.0509ca9a.iframe.bundle.js rename to runtime~main.0e2dc7f4.iframe.bundle.js index 27d031c..d624c27 100644 --- a/runtime~main.0509ca9a.iframe.bundle.js +++ b/runtime~main.0e2dc7f4.iframe.bundle.js @@ -1 +1 @@ -(()=>{"use strict";var deferred,inProgress,__webpack_modules__={},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={id:moduleId,loaded:!1,exports:{}};return __webpack_modules__[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdO={},deferred=[],__webpack_require__.O=(result,chunkIds,fn,priority)=>{if(!chunkIds){var notFulfilled=1/0;for(i=0;i=priority)&&Object.keys(__webpack_require__.O).every((key=>__webpack_require__.O[key](chunkIds[j])))?chunkIds.splice(j--,1):(fulfilled=!1,priority0&&deferred[i-1][2]>priority;i--)deferred[i]=deferred[i-1];deferred[i]=[chunkIds,fn,priority]},__webpack_require__.n=module=>{var getter=module&&module.__esModule?()=>module.default:()=>module;return __webpack_require__.d(getter,{a:getter}),getter},__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.f={},__webpack_require__.e=chunkId=>Promise.all(Object.keys(__webpack_require__.f).reduce(((promises,key)=>(__webpack_require__.f[key](chunkId,promises),promises)),[])),__webpack_require__.u=chunkId=>(({118:"message-box-message-box-stories",126:"overlay-overlay-stories",158:"user-card-user-card-stories",254:"splitter-splitter-stories",288:"status-status-stories",622:"numeric-stepper-numeric-stepper-stories",816:"search-container-search-container-stories",888:"layout-layout-stories",982:"list-loader-list-loader-stories"}[chunkId]||chunkId)+"."+{2:"5f95997f",4:"32ecf785",26:"f5e91325",70:"a90ad24d",73:"0a67b36d",91:"2766f413",118:"a79f0042",122:"faec37ef",126:"a05382e2",158:"f7110038",254:"c607e5b3",285:"7a5c82f8",288:"f114a441",308:"f5da812e",341:"2dbc1438",344:"7439c807",472:"6e8c773a",504:"ca2589bb",547:"a9f89bb7",578:"4f514d50",584:"3b2708bc",597:"5ef023c7",622:"192685a8",652:"ec835943",758:"b172cb82",815:"9f5686a5",816:"092b0f7a",888:"24427c59",932:"cf43be9d",982:"c6209b96"}[chunkId]+".iframe.bundle.js"),__webpack_require__.miniCssF=chunkId=>{},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),inProgress={},__webpack_require__.l=(url,done,key,chunkId)=>{if(inProgress[url])inProgress[url].push(done);else{var script,needAttach;if(void 0!==key)for(var scripts=document.getElementsByTagName("script"),i=0;i{script.onerror=script.onload=null,clearTimeout(timeout);var doneFns=inProgress[url];if(delete inProgress[url],script.parentNode&&script.parentNode.removeChild(script),doneFns&&doneFns.forEach((fn=>fn(event))),prev)return prev(event)},timeout=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:script}),12e4);script.onerror=onScriptComplete.bind(null,script.onerror),script.onload=onScriptComplete.bind(null,script.onload),needAttach&&document.head.appendChild(script)}},__webpack_require__.r=exports=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.nmd=module=>(module.paths=[],module.children||(module.children=[]),module),__webpack_require__.p="",(()=>{var installedChunks={354:0};__webpack_require__.f.j=(chunkId,promises)=>{var installedChunkData=__webpack_require__.o(installedChunks,chunkId)?installedChunks[chunkId]:void 0;if(0!==installedChunkData)if(installedChunkData)promises.push(installedChunkData[2]);else if(354!=chunkId){var promise=new Promise(((resolve,reject)=>installedChunkData=installedChunks[chunkId]=[resolve,reject]));promises.push(installedChunkData[2]=promise);var url=__webpack_require__.p+__webpack_require__.u(chunkId),error=new Error;__webpack_require__.l(url,(event=>{if(__webpack_require__.o(installedChunks,chunkId)&&(0!==(installedChunkData=installedChunks[chunkId])&&(installedChunks[chunkId]=void 0),installedChunkData)){var errorType=event&&("load"===event.type?"missing":event.type),realSrc=event&&event.target&&event.target.src;error.message="Loading chunk "+chunkId+" failed.\n("+errorType+": "+realSrc+")",error.name="ChunkLoadError",error.type=errorType,error.request=realSrc,installedChunkData[1](error)}}),"chunk-"+chunkId,chunkId)}else installedChunks[chunkId]=0},__webpack_require__.O.j=chunkId=>0===installedChunks[chunkId];var webpackJsonpCallback=(parentChunkLoadingFunction,data)=>{var moduleId,chunkId,[chunkIds,moreModules,runtime]=data,i=0;if(chunkIds.some((id=>0!==installedChunks[id]))){for(moduleId in moreModules)__webpack_require__.o(moreModules,moduleId)&&(__webpack_require__.m[moduleId]=moreModules[moduleId]);if(runtime)var result=runtime(__webpack_require__)}for(parentChunkLoadingFunction&&parentChunkLoadingFunction(data);i{"use strict";var deferred,inProgress,__webpack_modules__={},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={id:moduleId,loaded:!1,exports:{}};return __webpack_modules__[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdO={},deferred=[],__webpack_require__.O=(result,chunkIds,fn,priority)=>{if(!chunkIds){var notFulfilled=1/0;for(i=0;i=priority)&&Object.keys(__webpack_require__.O).every((key=>__webpack_require__.O[key](chunkIds[j])))?chunkIds.splice(j--,1):(fulfilled=!1,priority0&&deferred[i-1][2]>priority;i--)deferred[i]=deferred[i-1];deferred[i]=[chunkIds,fn,priority]},__webpack_require__.n=module=>{var getter=module&&module.__esModule?()=>module.default:()=>module;return __webpack_require__.d(getter,{a:getter}),getter},__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.f={},__webpack_require__.e=chunkId=>Promise.all(Object.keys(__webpack_require__.f).reduce(((promises,key)=>(__webpack_require__.f[key](chunkId,promises),promises)),[])),__webpack_require__.u=chunkId=>(({118:"message-box-message-box-stories",126:"overlay-overlay-stories",158:"user-card-user-card-stories",254:"splitter-splitter-stories",288:"status-status-stories",622:"numeric-stepper-numeric-stepper-stories",816:"search-container-search-container-stories",888:"layout-layout-stories",982:"list-loader-list-loader-stories"}[chunkId]||chunkId)+"."+{2:"5f95997f",4:"32ecf785",26:"f5e91325",70:"a90ad24d",73:"de95fa6a",91:"2766f413",118:"a79f0042",122:"7fdc123b",126:"69a51f90",158:"6d0f86bd",254:"16a85969",285:"7a5c82f8",288:"16de7496",308:"b66911bc",341:"2dbc1438",344:"7439c807",472:"6e8c773a",504:"ca2589bb",547:"fba7e732",578:"4f514d50",584:"c942b81e",597:"26c68a28",622:"09a54a7a",652:"ec835943",758:"b172cb82",815:"9f5686a5",816:"362d6e66",888:"e04d9990",932:"cf43be9d",982:"c6209b96"}[chunkId]+".iframe.bundle.js"),__webpack_require__.miniCssF=chunkId=>{},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),inProgress={},__webpack_require__.l=(url,done,key,chunkId)=>{if(inProgress[url])inProgress[url].push(done);else{var script,needAttach;if(void 0!==key)for(var scripts=document.getElementsByTagName("script"),i=0;i{script.onerror=script.onload=null,clearTimeout(timeout);var doneFns=inProgress[url];if(delete inProgress[url],script.parentNode&&script.parentNode.removeChild(script),doneFns&&doneFns.forEach((fn=>fn(event))),prev)return prev(event)},timeout=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:script}),12e4);script.onerror=onScriptComplete.bind(null,script.onerror),script.onload=onScriptComplete.bind(null,script.onload),needAttach&&document.head.appendChild(script)}},__webpack_require__.r=exports=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.nmd=module=>(module.paths=[],module.children||(module.children=[]),module),__webpack_require__.p="",(()=>{var installedChunks={354:0};__webpack_require__.f.j=(chunkId,promises)=>{var installedChunkData=__webpack_require__.o(installedChunks,chunkId)?installedChunks[chunkId]:void 0;if(0!==installedChunkData)if(installedChunkData)promises.push(installedChunkData[2]);else if(354!=chunkId){var promise=new Promise(((resolve,reject)=>installedChunkData=installedChunks[chunkId]=[resolve,reject]));promises.push(installedChunkData[2]=promise);var url=__webpack_require__.p+__webpack_require__.u(chunkId),error=new Error;__webpack_require__.l(url,(event=>{if(__webpack_require__.o(installedChunks,chunkId)&&(0!==(installedChunkData=installedChunks[chunkId])&&(installedChunks[chunkId]=void 0),installedChunkData)){var errorType=event&&("load"===event.type?"missing":event.type),realSrc=event&&event.target&&event.target.src;error.message="Loading chunk "+chunkId+" failed.\n("+errorType+": "+realSrc+")",error.name="ChunkLoadError",error.type=errorType,error.request=realSrc,installedChunkData[1](error)}}),"chunk-"+chunkId,chunkId)}else installedChunks[chunkId]=0},__webpack_require__.O.j=chunkId=>0===installedChunks[chunkId];var webpackJsonpCallback=(parentChunkLoadingFunction,data)=>{var moduleId,chunkId,[chunkIds,moreModules,runtime]=data,i=0;if(chunkIds.some((id=>0!==installedChunks[id]))){for(moduleId in moreModules)__webpack_require__.o(moreModules,moduleId)&&(__webpack_require__.m[moduleId]=moreModules[moduleId]);if(runtime)var result=runtime(__webpack_require__)}for(parentChunkLoadingFunction&&parentChunkLoadingFunction(data);i{"use strict";__webpack_require__.d(__webpack_exports__,{Lp:()=>NgxMediaService});var tslib__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");const mediaQueryDefinitions=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MEDIA_QUERY_DEFINITIONS"),simplifiedMediaQueryDefinitions=[{alias:"xs",mediaQuery:"(max-width: 599px)"},{alias:"sm",mediaQuery:"(min-width: 600px) and (max-width: 959px)"},{alias:"md",mediaQuery:"(min-width: 860px) and (max-width: 1279px)"},{alias:"lg",mediaQuery:"(min-width: 1280px)"}];let NgxMediaService=class NgxMediaService{zone;isHandset$;isMobile$;mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t("lg");mql={};constructor(zone,mediaDefinitions){this.zone=zone,mediaDefinitions||(mediaDefinitions=simplifiedMediaQueryDefinitions),mediaDefinitions.forEach((mediaDefinition=>{const{alias,mediaQuery}=mediaDefinition;this.mql[alias]=window.matchMedia(mediaQuery),this.mql[alias].addEventListener("change",this.onMqlEvent.bind(this,alias)),this.mql[alias].matches&&(this.mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t(alias))})),this.isHandset$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1})),this.isMobile$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias||"sm"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1}))}ngOnDestroy(){Object.keys(this.mql).forEach((alias=>{this.mql[alias].removeEventListener("change",this.onMqlEvent),delete this.mql[alias]}))}onMqlEvent(alias,event){this.zone.run((()=>{event.matches&&this.mediaChanged$.next(alias)}))}static ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone},{type:Array,decorators:[{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Optional},{type:_angular_core__WEBPACK_IMPORTED_MODULE_0__.Inject,args:[mediaQueryDefinitions]}]}]};NgxMediaService=(0,tslib__WEBPACK_IMPORTED_MODULE_5__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxMediaService)},"./projects/search-container/src/search-container.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>NgxSearchContainerComponent,l:()=>NgxSearchInputDirective});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs");var search_container_componentngResource=__webpack_require__("./projects/search-container/src/search-container.component.scss?ngResource"),search_container_componentngResource_default=__webpack_require__.n(search_container_componentngResource),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),tooltip=__webpack_require__("./node_modules/@angular/material/fesm2022/tooltip.mjs"),media_service=__webpack_require__("./projects/core/src/services/media.service.ts"),BehaviorSubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),first=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/first.js"),tap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),distinctUntilChanged=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");let NgxSearchInputDirective=class NgxSearchInputDirective{ngControl=(0,core.inject)(fesm2022_forms.vO);elementRef=(0,core.inject)(core.ElementRef);constructor(){this.focus()}focus(){this.elementRef.nativeElement.focus()}static ctorParameters=()=>[]};NgxSearchInputDirective=(0,tslib_es6.Cg)([(0,core.Directive)({selector:"[ngx-search-input]",standalone:!0})],NgxSearchInputDirective);let NgxSearchContainerComponent=class NgxSearchContainerComponent{cleared=new core.EventEmitter;clearTooltip="Effacer la recherche";openSearchTooltip="Ouvrir la recherche";closeSearchTooltip="Quitter la recherche";mobileSearch;activeSearch$=new BehaviorSubject.t(!1);searchInputValue$;set searchInput(searchInput){if(!searchInput)throw new Error("You need to add the attribute ngx-search-input to the NgxSearchContainerComponent");if(!searchInput.ngControl)throw new Error("You need to add the attribute ngModel to the NgxSearchContainerComponent");this._searchInput=searchInput}set right(value){this._right=value}get right(){return this._right}mediaService=(0,core.inject)(media_service.Lp);zone=(0,core.inject)(core.NgZone);destroyRef=(0,core.inject)(core.DestroyRef);_searchInput;_right=null;constructor(){this.activeSearch$.pipe((0,switchMap.n)((activeSearch=>this.zone.onStable.pipe((0,first.$)(),(0,tap.M)((()=>{activeSearch||this.reset(),this._searchInput?.focus()}))))),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe()}ngAfterContentInit(){this.searchInputValue$=this._searchInput?.ngControl?.valueChanges?.pipe((0,distinctUntilChanged.F)(),(0,shareReplay.t)({bufferSize:1,refCount:!1}))??void 0}reset(){this._searchInput?.ngControl?.reset(),this.cleared.emit()}static ctorParameters=()=>[];static propDecorators={cleared:[{type:core.Output}],clearTooltip:[{type:core.Input}],openSearchTooltip:[{type:core.Input}],closeSearchTooltip:[{type:core.Input}],mobileSearch:[{type:core.ContentChild,args:["mobileSearch"]}],searchInput:[{type:core.ContentChild,args:[NgxSearchInputDirective]}],right:[{type:core.Input}]}};NgxSearchContainerComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-search-container",template:'@if (mediaService.isHandset$ | async) {\n
\n @if (activeSearch$ | async) {\n \n arrow_back\n \n \n } @else {\n \n search\n \n }\n
\n} @else {\n \n}\n\n\n
\n search\n \n @if (searchInputValue$ | async) {\n close\n }\n \n
\n
\n',encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.OnPush,standalone:!0,imports:[common.AsyncPipe,common.NgTemplateOutlet,icon.An,tooltip.oV],styles:[search_container_componentngResource_default()]})],NgxSearchContainerComponent)},"./projects/story-book/src/search-container/search-container.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,customTooltips:()=>customTooltips,default:()=>__WEBPACK_DEFAULT_EXPORT__,searchWithLists:()=>searchWithLists,standard:()=>standard});var _angular_forms__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),_angular_material_list__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@angular/material/fesm2022/list.mjs"),_angular_material_tooltip__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/material/fesm2022/tooltip.mjs"),_storybook_angular__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),_search_container_src_search_container_component__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./projects/search-container/src/search-container.component.ts");const __WEBPACK_DEFAULT_EXPORT__={title:"Components/Search Container",component:_search_container_src_search_container_component__WEBPACK_IMPORTED_MODULE_1__.A,decorators:[(0,_storybook_angular__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata)({imports:[_search_container_src_search_container_component__WEBPACK_IMPORTED_MODULE_1__.l,_angular_material_tooltip__WEBPACK_IMPORTED_MODULE_2__.uc,_angular_forms__WEBPACK_IMPORTED_MODULE_3__.YN]})],tags:["autodocs"],parameters:{docs:{description:{component:"The `NgxSearchContainerComponent` provides a flexible search interface with customizable tooltips for actions such as clearing, opening, and closing the search. It integrates with an input field via the `ngx-search-input` directive to enable search functionality."}}},argTypes:{clearTooltip:{control:"text",description:"Tooltip text for the clear button in the search container. This is displayed when the user hovers over the clear button.",table:{type:{summary:"string"},defaultValue:{summary:"Effacer la recherche"}}},openSearchTooltip:{description:"Tooltip text for the button that opens the search. This is displayed when the user hovers over the search button.",control:"text",table:{type:{summary:"string"},defaultValue:{summary:"Ouvrir la recherche"}}},closeSearchTooltip:{description:"Tooltip text for the button that closes the search. This is displayed when the user hovers over the close button.",control:"text",table:{type:{summary:"string"},defaultValue:{summary:"Quitter la recherche"}}}},args:{clearTooltip:"Effacer la recherche",openSearchTooltip:"Ouvrir la recherche",closeSearchTooltip:"Quitter la recherche"}},standard={parameters:{docs:{description:{story:"Displays a basic search container with default tooltips. Includes an input field for search queries."}}},render:args=>({props:args,template:'\n \n \n \n '})},customTooltips={parameters:{docs:{description:{story:"Shows the search container with custom tooltip texts for clear, open, and close actions."}}},...standard,args:{clearTooltip:"Clear search",openSearchTooltip:"Start searching",closeSearchTooltip:"Close search"}},searchWithLists={decorators:[(0,_storybook_angular__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata)({imports:[_angular_material_list__WEBPACK_IMPORTED_MODULE_4__.jt,_angular_material_list__WEBPACK_IMPORTED_MODULE_4__.YE]})],parameters:{docs:{description:{story:"Demonstrates the search container with a full list and search functionality. The search input filters the list based on user input and displays the results in separate sections."}}},render:args=>({props:{...args,fullList:["lion","tigre","éléphant","giraffe","panda","koala","limace","cygne","chat","ours","faisan","dauphin","paon","furet","panda","phoque","crocodile","gorille","raie","chinchilla","cafard","faisan","corbeau","dromadaire","alpaga","aigle","espadon","canari","guépard"],searchList:[],searchModel:"",searchQueryChanged(event){this.searchList=event&&""!==event?this.fullList.filter((animal=>animal.includes(event))):this.fullList}},template:'\n
\n \n \n \n
\n
\n
\n Liste complète\n \n @for (animal of fullList; track $index) {\n {{ animal }}\n }\n \n
\n
\n Liste issue de la recherche\n \n @for (animal of searchList; track $index) {\n {{ animal }}\n }\n \n
\n
\n
\n ',styles:["\n section {\n padding: 5rem;\n font-family: 'Roboto';\n }\n\n .listsContainer {\n display: flex;\n gap: 5px;\n }\n\n .fullList,\n .searchList {\n flex: auto;\n }\n\n .mdc-list-item.mdc-list-item--with-one-line {\n height: 24px;\n }\n "]}),args:{clearTooltip:"Effacer la recherche"}},__namedExportsOrder=["standard","customTooltips","searchWithLists"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'Displays a basic search container with default tooltips. Includes an input field for search queries.\'\n }\n }\n },\n render: args => ({\n props: args,\n template: `\n \n \n \n `\n })\n}',...standard.parameters?.docs?.source}}},customTooltips.parameters={...customTooltips.parameters,docs:{...customTooltips.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Shows the search container with custom tooltip texts for clear, open, and close actions.'\n }\n }\n },\n ...standard,\n args: {\n clearTooltip: 'Clear search',\n openSearchTooltip: 'Start searching',\n closeSearchTooltip: 'Close search'\n }\n}",...customTooltips.parameters?.docs?.source}}},searchWithLists.parameters={...searchWithLists.parameters,docs:{...searchWithLists.parameters?.docs,source:{originalSource:"{\n decorators: [moduleMetadata({\n imports: [MatList, MatListItem]\n })],\n parameters: {\n docs: {\n description: {\n story: 'Demonstrates the search container with a full list and search functionality. The search input filters the list based on user input and displays the results in separate sections.'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n fullList: ['lion', 'tigre', 'éléphant', 'giraffe', 'panda', 'koala', 'limace', 'cygne', 'chat', 'ours', 'faisan', 'dauphin', 'paon', 'furet', 'panda', 'phoque', 'crocodile', 'gorille', 'raie', 'chinchilla', 'cafard', 'faisan', 'corbeau', 'dromadaire', 'alpaga', 'aigle', 'espadon', 'canari', 'guépard'],\n searchList: [],\n searchModel: '',\n searchQueryChanged(event: string): void {\n // If search query is empty, reset searchList to fullList\n if (!event || event === '') {\n this['searchList'] = (this['fullList'] as string[]);\n } else {\n this['searchList'] = (this['fullList'] as string[]).filter((animal: string) => animal.includes(event));\n }\n }\n },\n template: `\n
\n \n \n \n
\n
\n
\n Liste complète\n \n @for (animal of fullList; track $index) {\n {{ animal }}\n }\n \n
\n
\n Liste issue de la recherche\n \n @for (animal of searchList; track $index) {\n {{ animal }}\n }\n \n
\n
\n
\n `,\n styles: [`\n section {\n padding: 5rem;\n font-family: 'Roboto';\n }\n\n .listsContainer {\n display: flex;\n gap: 5px;\n }\n\n .fullList,\n .searchList {\n flex: auto;\n }\n\n .mdc-list-item.mdc-list-item--with-one-line {\n height: 24px;\n }\n `]\n }),\n args: {\n clearTooltip: 'Effacer la recherche'\n }\n}",...searchWithLists.parameters?.docs?.source}}}},"./projects/search-container/src/search-container.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,"ngx-search-container {\n flex: 1 1 auto;\n display: flex;\n padding-left: 0.5rem;\n}\nngx-search-container .ngx-search-container {\n width: 100%;\n transition: 0.3s ease-in-out;\n border-radius: 4px;\n height: 40px;\n display: flex;\n}\nngx-search-container .ngx-search-container.mobile {\n justify-self: flex-end;\n}\nngx-search-container .ngx-search-container:not(.mobile) {\n min-width: 35vw;\n max-width: 800px;\n}\nngx-search-container .ngx-search-container .mat-icon {\n padding: 0.5rem;\n}\nngx-search-container .ngx-search-container .icon-clear {\n cursor: pointer;\n}\nngx-search-container .ngx-search-container input {\n width: 100%;\n background: none;\n border: none;\n outline: none;\n font-size: 1.2rem;\n}\nngx-search-container .ngx-search-container input:focus {\n outline: none;\n}\nngx-search-container .ngx-search-container-mobile {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n height: 40px;\n}\nngx-search-container .ngx-search-container-mobile.active {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 56px;\n z-index: 10;\n}\nngx-search-container .ngx-search-container-mobile .mat-icon {\n padding: 0.5rem;\n}\nngx-search-container .ngx-search-container-mobile .icon-close-search,\nngx-search-container .ngx-search-container-mobile .icon-open-search {\n cursor: pointer;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/search-container-search-container-stories.362d6e66.iframe.bundle.js b/search-container-search-container-stories.362d6e66.iframe.bundle.js new file mode 100644 index 0000000..e0fdf0e --- /dev/null +++ b/search-container-search-container-stories.362d6e66.iframe.bundle.js @@ -0,0 +1 @@ +(self.webpackChunk=self.webpackChunk||[]).push([[816],{"./projects/core/src/services/media.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Lp:()=>NgxMediaService});var tslib__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");const mediaQueryDefinitions=new _angular_core__WEBPACK_IMPORTED_MODULE_0__.InjectionToken("MEDIA_QUERY_DEFINITIONS"),simplifiedMediaQueryDefinitions=[{alias:"xs",mediaQuery:"(max-width: 599px)"},{alias:"sm",mediaQuery:"(min-width: 600px) and (max-width: 959px)"},{alias:"md",mediaQuery:"(min-width: 860px) and (max-width: 1279px)"},{alias:"lg",mediaQuery:"(min-width: 1280px)"}];let NgxMediaService=class NgxMediaService{isHandset$;isMobile$;mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t("lg");mql={};zone=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.NgZone);mediaDefinitions=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(mediaQueryDefinitions,{optional:!0});constructor(){this.mediaDefinitions||(this.mediaDefinitions=simplifiedMediaQueryDefinitions),this.mediaDefinitions.forEach((mediaDefinition=>{const{alias,mediaQuery}=mediaDefinition;this.mql[alias]=window.matchMedia(mediaQuery),this.mql[alias].addEventListener("change",this.onMqlEvent.bind(this,alias)),this.mql[alias].matches&&(this.mediaChanged$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.t(alias))})),this.isHandset$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1})),this.isMobile$=this.mediaChanged$.pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((alias=>"xs"===alias||"sm"===alias)),(0,rxjs__WEBPACK_IMPORTED_MODULE_3__.F)(),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.t)({bufferSize:1,refCount:!1}))}ngOnDestroy(){Object.keys(this.mql).forEach((alias=>{this.mql[alias].removeEventListener("change",this.onMqlEvent),delete this.mql[alias]}))}onMqlEvent(alias,event){this.zone.run((()=>{event.matches&&this.mediaChanged$.next(alias)}))}static ctorParameters=()=>[]};NgxMediaService=(0,tslib__WEBPACK_IMPORTED_MODULE_5__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxMediaService)},"./projects/search-container/src/search-container.component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{A:()=>NgxSearchContainerComponent,l:()=>NgxSearchInputDirective});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs");var search_container_componentngResource=__webpack_require__("./projects/search-container/src/search-container.component.scss?ngResource"),search_container_componentngResource_default=__webpack_require__.n(search_container_componentngResource),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs"),tooltip=__webpack_require__("./node_modules/@angular/material/fesm2022/tooltip.mjs"),media_service=__webpack_require__("./projects/core/src/services/media.service.ts"),BehaviorSubject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),first=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/first.js"),tap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),distinctUntilChanged=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js");let NgxSearchInputDirective=class NgxSearchInputDirective{ngControl=(0,core.inject)(fesm2022_forms.vO);elementRef=(0,core.inject)(core.ElementRef);constructor(){this.focus()}focus(){this.elementRef.nativeElement.focus()}static ctorParameters=()=>[]};NgxSearchInputDirective=(0,tslib_es6.Cg)([(0,core.Directive)({selector:"[ngx-search-input]",standalone:!0})],NgxSearchInputDirective);let NgxSearchContainerComponent=class NgxSearchContainerComponent{cleared=new core.EventEmitter;clearTooltip="Effacer la recherche";openSearchTooltip="Ouvrir la recherche";closeSearchTooltip="Quitter la recherche";mobileSearch;activeSearch$=new BehaviorSubject.t(!1);searchInputValue$;set searchInput(searchInput){if(!searchInput)throw new Error("You need to add the attribute ngx-search-input to the NgxSearchContainerComponent");if(!searchInput.ngControl)throw new Error("You need to add the attribute ngModel to the NgxSearchContainerComponent");this._searchInput=searchInput}set right(value){this._right=value}get right(){return this._right}mediaService=(0,core.inject)(media_service.Lp);zone=(0,core.inject)(core.NgZone);destroyRef=(0,core.inject)(core.DestroyRef);_searchInput;_right=null;constructor(){this.activeSearch$.pipe((0,switchMap.n)((activeSearch=>this.zone.onStable.pipe((0,first.$)(),(0,tap.M)((()=>{activeSearch||this.reset(),this._searchInput?.focus()}))))),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe()}ngAfterContentInit(){this.searchInputValue$=this._searchInput?.ngControl?.valueChanges?.pipe((0,distinctUntilChanged.F)(),(0,shareReplay.t)({bufferSize:1,refCount:!1}))??void 0}reset(){this._searchInput?.ngControl?.reset(),this.cleared.emit()}static ctorParameters=()=>[];static propDecorators={cleared:[{type:core.Output}],clearTooltip:[{type:core.Input}],openSearchTooltip:[{type:core.Input}],closeSearchTooltip:[{type:core.Input}],mobileSearch:[{type:core.ContentChild,args:["mobileSearch"]}],searchInput:[{type:core.ContentChild,args:[NgxSearchInputDirective]}],right:[{type:core.Input}]}};NgxSearchContainerComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-search-container",template:'@if (mediaService.isHandset$ | async) {\n
\n @if (activeSearch$ | async) {\n \n arrow_back\n \n \n } @else {\n \n search\n \n }\n
\n} @else {\n \n}\n\n\n
\n search\n \n @if (searchInputValue$ | async) {\n close\n }\n \n
\n
\n',encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.OnPush,standalone:!0,imports:[common.AsyncPipe,common.NgTemplateOutlet,icon.An,tooltip.oV],styles:[search_container_componentngResource_default()]})],NgxSearchContainerComponent)},"./projects/story-book/src/search-container/search-container.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,customTooltips:()=>customTooltips,default:()=>__WEBPACK_DEFAULT_EXPORT__,searchWithLists:()=>searchWithLists,standard:()=>standard});var _angular_forms__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),_angular_material_list__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@angular/material/fesm2022/list.mjs"),_angular_material_tooltip__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/material/fesm2022/tooltip.mjs"),_storybook_angular__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),_search_container_src_search_container_component__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./projects/search-container/src/search-container.component.ts");const __WEBPACK_DEFAULT_EXPORT__={title:"Components/Search Container",component:_search_container_src_search_container_component__WEBPACK_IMPORTED_MODULE_1__.A,decorators:[(0,_storybook_angular__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata)({imports:[_search_container_src_search_container_component__WEBPACK_IMPORTED_MODULE_1__.l,_angular_material_tooltip__WEBPACK_IMPORTED_MODULE_2__.oV,_angular_forms__WEBPACK_IMPORTED_MODULE_3__.YN]})],tags:["autodocs"],parameters:{docs:{description:{component:"The `NgxSearchContainerComponent` provides a flexible search interface with customizable tooltips for actions such as clearing, opening, and closing the search. It integrates with an input field via the `ngx-search-input` directive to enable search functionality."}}},argTypes:{clearTooltip:{control:"text",description:"Tooltip text for the clear button in the search container. This is displayed when the user hovers over the clear button.",table:{type:{summary:"string"},defaultValue:{summary:"Effacer la recherche"}}},openSearchTooltip:{description:"Tooltip text for the button that opens the search. This is displayed when the user hovers over the search button.",control:"text",table:{type:{summary:"string"},defaultValue:{summary:"Ouvrir la recherche"}}},closeSearchTooltip:{description:"Tooltip text for the button that closes the search. This is displayed when the user hovers over the close button.",control:"text",table:{type:{summary:"string"},defaultValue:{summary:"Quitter la recherche"}}}},args:{clearTooltip:"Effacer la recherche",openSearchTooltip:"Ouvrir la recherche",closeSearchTooltip:"Quitter la recherche"}},standard={parameters:{docs:{description:{story:"Displays a basic search container with default tooltips. Includes an input field for search queries."}}},render:args=>({props:args,template:'\n \n \n \n '})},customTooltips={parameters:{docs:{description:{story:"Shows the search container with custom tooltip texts for clear, open, and close actions."}}},...standard,args:{clearTooltip:"Clear search",openSearchTooltip:"Start searching",closeSearchTooltip:"Close search"}},searchWithLists={decorators:[(0,_storybook_angular__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata)({imports:[_angular_material_list__WEBPACK_IMPORTED_MODULE_4__.jt,_angular_material_list__WEBPACK_IMPORTED_MODULE_4__.YE]})],parameters:{docs:{description:{story:"Demonstrates the search container with a full list and search functionality. The search input filters the list based on user input and displays the results in separate sections."}}},render:args=>({props:{...args,fullList:["lion","tigre","éléphant","giraffe","panda","koala","limace","cygne","chat","ours","faisan","dauphin","paon","furet","panda","phoque","crocodile","gorille","raie","chinchilla","cafard","faisan","corbeau","dromadaire","alpaga","aigle","espadon","canari","guépard"],searchList:[],searchModel:"",searchQueryChanged(event){this.searchList=event&&""!==event?this.fullList.filter((animal=>animal.includes(event))):this.fullList}},template:'\n
\n \n \n \n
\n
\n
\n Liste complète\n \n @for (animal of fullList; track $index) {\n {{ animal }}\n }\n \n
\n
\n Liste issue de la recherche\n \n @for (animal of searchList; track $index) {\n {{ animal }}\n }\n \n
\n
\n
\n ',styles:["\n section {\n padding: 5rem;\n font-family: 'Roboto';\n }\n\n .listsContainer {\n display: flex;\n gap: 5px;\n }\n\n .fullList,\n .searchList {\n flex: auto;\n }\n\n .mdc-list-item.mdc-list-item--with-one-line {\n height: 24px;\n }\n "]}),args:{clearTooltip:"Effacer la recherche"}},__namedExportsOrder=["standard","customTooltips","searchWithLists"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'Displays a basic search container with default tooltips. Includes an input field for search queries.\'\n }\n }\n },\n render: args => ({\n props: args,\n template: `\n \n \n \n `\n })\n}',...standard.parameters?.docs?.source}}},customTooltips.parameters={...customTooltips.parameters,docs:{...customTooltips.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Shows the search container with custom tooltip texts for clear, open, and close actions.'\n }\n }\n },\n ...standard,\n args: {\n clearTooltip: 'Clear search',\n openSearchTooltip: 'Start searching',\n closeSearchTooltip: 'Close search'\n }\n}",...customTooltips.parameters?.docs?.source}}},searchWithLists.parameters={...searchWithLists.parameters,docs:{...searchWithLists.parameters?.docs,source:{originalSource:"{\n decorators: [moduleMetadata({\n imports: [MatList, MatListItem]\n })],\n parameters: {\n docs: {\n description: {\n story: 'Demonstrates the search container with a full list and search functionality. The search input filters the list based on user input and displays the results in separate sections.'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n fullList: ['lion', 'tigre', 'éléphant', 'giraffe', 'panda', 'koala', 'limace', 'cygne', 'chat', 'ours', 'faisan', 'dauphin', 'paon', 'furet', 'panda', 'phoque', 'crocodile', 'gorille', 'raie', 'chinchilla', 'cafard', 'faisan', 'corbeau', 'dromadaire', 'alpaga', 'aigle', 'espadon', 'canari', 'guépard'],\n searchList: [],\n searchModel: '',\n searchQueryChanged(event: string): void {\n // If search query is empty, reset searchList to fullList\n if (!event || event === '') {\n this['searchList'] = (this['fullList'] as string[]);\n } else {\n this['searchList'] = (this['fullList'] as string[]).filter((animal: string) => animal.includes(event));\n }\n }\n },\n template: `\n
\n \n \n \n
\n
\n
\n Liste complète\n \n @for (animal of fullList; track $index) {\n {{ animal }}\n }\n \n
\n
\n Liste issue de la recherche\n \n @for (animal of searchList; track $index) {\n {{ animal }}\n }\n \n
\n
\n
\n `,\n styles: [`\n section {\n padding: 5rem;\n font-family: 'Roboto';\n }\n\n .listsContainer {\n display: flex;\n gap: 5px;\n }\n\n .fullList,\n .searchList {\n flex: auto;\n }\n\n .mdc-list-item.mdc-list-item--with-one-line {\n height: 24px;\n }\n `]\n }),\n args: {\n clearTooltip: 'Effacer la recherche'\n }\n}",...searchWithLists.parameters?.docs?.source}}}},"./projects/search-container/src/search-container.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,"ngx-search-container {\n flex: 1 1 auto;\n display: flex;\n padding-left: 0.5rem;\n}\nngx-search-container .ngx-search-container {\n width: 100%;\n transition: 0.3s ease-in-out;\n border-radius: 4px;\n height: 40px;\n display: flex;\n}\nngx-search-container .ngx-search-container.mobile {\n justify-self: flex-end;\n}\nngx-search-container .ngx-search-container:not(.mobile) {\n min-width: 35vw;\n max-width: 800px;\n}\nngx-search-container .ngx-search-container .mat-icon {\n padding: 0.5rem;\n}\nngx-search-container .ngx-search-container .icon-clear {\n cursor: pointer;\n}\nngx-search-container .ngx-search-container input {\n width: 100%;\n background: none;\n border: none;\n outline: none;\n font-size: 1.2rem;\n}\nngx-search-container .ngx-search-container input:focus {\n outline: none;\n}\nngx-search-container .ngx-search-container-mobile {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n height: 40px;\n}\nngx-search-container .ngx-search-container-mobile.active {\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 56px;\n z-index: 10;\n}\nngx-search-container .ngx-search-container-mobile .mat-icon {\n padding: 0.5rem;\n}\nngx-search-container .ngx-search-container-mobile .icon-close-search,\nngx-search-container .ngx-search-container-mobile .icon-open-search {\n cursor: pointer;\n}",""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/splitter-splitter-stories.c607e5b3.iframe.bundle.js b/splitter-splitter-stories.16a85969.iframe.bundle.js similarity index 64% rename from splitter-splitter-stories.c607e5b3.iframe.bundle.js rename to splitter-splitter-stories.16a85969.iframe.bundle.js index 2e9b4d7..b7dfe4c 100644 --- a/splitter-splitter-stories.c607e5b3.iframe.bundle.js +++ b/splitter-splitter-stories.16a85969.iframe.bundle.js @@ -1,2 +1,2 @@ -/*! For license information please see splitter-splitter-stories.c607e5b3.iframe.bundle.js.LICENSE.txt */ -(self.webpackChunk=self.webpackChunk||[]).push([[254],{"./node_modules/@angular/core/fesm2022/rxjs-interop.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{pQ:()=>takeUntilDestroyed});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),rxjs_operators__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js");function takeUntilDestroyed(destroyRef){destroyRef||((0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.assertInInjectionContext)(takeUntilDestroyed),destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef));const destroyed$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.c((observer=>destroyRef.onDestroy(observer.next.bind(observer))));return source=>source.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.Q)(destroyed$))}},"./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{m:()=>ReplaySubject});var tslib__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_Subject__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),_scheduler_dateTimestampProvider__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js"),ReplaySubject=function(_super){function ReplaySubject(_bufferSize,_windowTime,_timestampProvider){void 0===_bufferSize&&(_bufferSize=1/0),void 0===_windowTime&&(_windowTime=1/0),void 0===_timestampProvider&&(_timestampProvider=_scheduler_dateTimestampProvider__WEBPACK_IMPORTED_MODULE_1__.U);var _this=_super.call(this)||this;return _this._bufferSize=_bufferSize,_this._windowTime=_windowTime,_this._timestampProvider=_timestampProvider,_this._buffer=[],_this._infiniteTimeWindow=!0,_this._infiniteTimeWindow=_windowTime===1/0,_this._bufferSize=Math.max(1,_bufferSize),_this._windowTime=Math.max(1,_windowTime),_this}return(0,tslib__WEBPACK_IMPORTED_MODULE_0__.C6)(ReplaySubject,_super),ReplaySubject.prototype.next=function(value){var _a=this,isStopped=_a.isStopped,_buffer=_a._buffer,_infiniteTimeWindow=_a._infiniteTimeWindow,_timestampProvider=_a._timestampProvider,_windowTime=_a._windowTime;isStopped||(_buffer.push(value),!_infiniteTimeWindow&&_buffer.push(_timestampProvider.now()+_windowTime)),this._trimBuffer(),_super.prototype.next.call(this,value)},ReplaySubject.prototype._subscribe=function(subscriber){this._throwIfClosed(),this._trimBuffer();for(var subscription=this._innerSubscribe(subscriber),_infiniteTimeWindow=this._infiniteTimeWindow,copy=this._buffer.slice(),i=0;i{"use strict";__webpack_require__.d(__webpack_exports__,{R:()=>fromEvent});var tslib__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_observable_innerFrom__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js"),_Observable__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),_operators_mergeMap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js"),_util_isArrayLike__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js"),_util_isFunction__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isFunction.js"),_util_mapOneOrManyArgs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js"),nodeEventEmitterMethods=["addListener","removeListener"],eventTargetMethods=["addEventListener","removeEventListener"],jqueryMethods=["on","off"];function fromEvent(target,eventName,options,resultSelector){if((0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(options)&&(resultSelector=options,options=void 0),resultSelector)return fromEvent(target,eventName,options).pipe((0,_util_mapOneOrManyArgs__WEBPACK_IMPORTED_MODULE_1__.I)(resultSelector));var _a=(0,tslib__WEBPACK_IMPORTED_MODULE_2__.zs)(function isEventTarget(target){return(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.addEventListener)&&(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.removeEventListener)}(target)?eventTargetMethods.map((function(methodName){return function(handler){return target[methodName](eventName,handler,options)}})):function isNodeStyleEventEmitter(target){return(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.addListener)&&(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.removeListener)}(target)?nodeEventEmitterMethods.map(toCommonHandlerRegistry(target,eventName)):function isJQueryStyleEventEmitter(target){return(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.on)&&(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.off)}(target)?jqueryMethods.map(toCommonHandlerRegistry(target,eventName)):[],2),add=_a[0],remove=_a[1];if(!add&&(0,_util_isArrayLike__WEBPACK_IMPORTED_MODULE_3__.X)(target))return(0,_operators_mergeMap__WEBPACK_IMPORTED_MODULE_4__.Z)((function(subTarget){return fromEvent(subTarget,eventName,options)}))((0,_observable_innerFrom__WEBPACK_IMPORTED_MODULE_5__.Tg)(target));if(!add)throw new TypeError("Invalid event target");return new _Observable__WEBPACK_IMPORTED_MODULE_6__.c((function(subscriber){var handler=function(){for(var args=[],_i=0;_i{"use strict";__webpack_require__.d(__webpack_exports__,{h:()=>merge});var _operators_mergeAll__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js"),_innerFrom__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js"),_empty__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/empty.js"),_util_args__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/args.js"),_from__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js");function merge(){for(var args=[],_i=0;_i{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>timer});var Observable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),scheduler_async=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/async.js"),isScheduler=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isScheduler.js");function timer(dueTime,intervalOrScheduler,scheduler){void 0===dueTime&&(dueTime=0),void 0===scheduler&&(scheduler=scheduler_async.b);var intervalDuration=-1;return null!=intervalOrScheduler&&((0,isScheduler.m)(intervalOrScheduler)?scheduler=intervalOrScheduler:intervalDuration=intervalOrScheduler),new Observable.c((function(subscriber){var due=function isValidDate(value){return value instanceof Date&&!isNaN(value)}(dueTime)?+dueTime-scheduler.now():dueTime;due<0&&(due=0);var n=0;return scheduler.schedule((function(){subscriber.closed||(subscriber.next(n++),0<=intervalDuration?this.schedule(void 0,intervalDuration):subscriber.complete())}),due)}))}},"./node_modules/rxjs/dist/esm5/internal/operators/auditTime.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>auditTime});var scheduler_async=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/async.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),innerFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js"),OperatorSubscriber=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js");var timer=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js");function auditTime(duration,scheduler){return void 0===scheduler&&(scheduler=scheduler_async.E),function audit(durationSelector){return(0,lift.N)((function(source,subscriber){var hasValue=!1,lastValue=null,durationSubscriber=null,isComplete=!1,endDuration=function(){if(null==durationSubscriber||durationSubscriber.unsubscribe(),durationSubscriber=null,hasValue){hasValue=!1;var value=lastValue;lastValue=null,subscriber.next(value)}isComplete&&subscriber.complete()},cleanupDuration=function(){durationSubscriber=null,isComplete&&subscriber.complete()};source.subscribe((0,OperatorSubscriber._)(subscriber,(function(value){hasValue=!0,lastValue=value,durationSubscriber||(0,innerFrom.Tg)(durationSelector(value)).subscribe(durationSubscriber=(0,OperatorSubscriber._)(subscriber,endDuration,cleanupDuration))}),(function(){isComplete=!0,(!hasValue||!durationSubscriber||durationSubscriber.closed)&&subscriber.complete()})))}))}((function(){return(0,timer.O)(duration,scheduler)}))}},"./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{t:()=>shareReplay});var _ReplaySubject__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),_share__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/share.js");function shareReplay(configOrBufferSize,windowTime,scheduler){var _a,_b,_c,bufferSize,refCount=!1;return configOrBufferSize&&"object"==typeof configOrBufferSize?(_a=configOrBufferSize.bufferSize,bufferSize=void 0===_a?1/0:_a,_b=configOrBufferSize.windowTime,windowTime=void 0===_b?1/0:_b,refCount=void 0!==(_c=configOrBufferSize.refCount)&&_c,scheduler=configOrBufferSize.scheduler):bufferSize=null!=configOrBufferSize?configOrBufferSize:1/0,(0,_share__WEBPACK_IMPORTED_MODULE_0__.u)({connector:function(){return new _ReplaySubject__WEBPACK_IMPORTED_MODULE_1__.m(bufferSize,windowTime,scheduler)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:refCount})}},"./projects/story-book/src/splitter/splitter.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,combinedSplitters:()=>combinedSplitters,customizableSplitAreas:()=>customizableSplitAreas,default:()=>splitter_stories,disabledSplitter:()=>disabledSplitter,gutterSizeControl:()=>gutterSizeControl,standard:()=>standard,verticalSplit:()=>verticalSplit});var fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),button_toggle=__webpack_require__("./node_modules/@angular/material/fesm2022/button-toggle.mjs"),form_field=__webpack_require__("./node_modules/@angular/material/fesm2022/form-field.mjs"),input=__webpack_require__("./node_modules/@angular/material/fesm2022/input.mjs"),animations=__webpack_require__("./node_modules/@angular/platform-browser/fesm2022/animations.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs");let NgxSplitAreaDirective=class NgxSplitAreaDirective{elementRef;order;_size=null;direction="horizontal";set size(value){this._size=(0,coercion.OE)(value)}get size(){const parentElement=this.elementRef.nativeElement.parentElement,parentSizeInPixels=parentElement&&("horizontal"===this.direction?parentElement.offsetWidth:parentElement.offsetHeight)||void 0;return parentSizeInPixels&&100*this.sizeinPixels/parentSizeInPixels}get sizeinPixels(){return"horizontal"===this.direction?this.elementRef.nativeElement.offsetWidth:this.elementRef.nativeElement.offsetHeight}set minSizePixel(value){this._minSizePixel=(0,coercion.OE)(value)}get minSizePixel(){return this._minSizePixel}get minWidth(){return"vertical"===this.direction?void 0:this._minSizePixel}get minHeight(){return"horizontal"===this.direction?void 0:this._minSizePixel}_minSizePixel=0;constructor(elementRef){this.elementRef=elementRef}static ctorParameters=()=>[{type:core.ElementRef}];static propDecorators={order:[{type:core.HostBinding,args:["style.order"]}],_size:[{type:core.HostBinding,args:["style.flex-basis.%"]}],size:[{type:core.Input}],minSizePixel:[{type:core.Input}],minWidth:[{type:core.HostBinding,args:["style.min-width.px"]}],minHeight:[{type:core.HostBinding,args:["style.min-height.px"]}]}};NgxSplitAreaDirective=(0,tslib_es6.Cg)([(0,core.Directive)({selector:"ngx-split-area",standalone:!0})],NgxSplitAreaDirective);var splitter_componentngResource=__webpack_require__("./projects/splitter/src/splitter.component.scss?ngResource"),splitter_componentngResource_default=__webpack_require__.n(splitter_componentngResource);var rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),filter=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/filter.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),fromEvent=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js"),mergeWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),tap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),takeUntil=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js");let NgxSplitterComponent=class NgxSplitterComponent{dragStart=new core.EventEmitter(!1);dragProgress=new core.EventEmitter(!1);dragEnd=new core.EventEmitter(!1);set direction(direction){this._direction=direction,this.ensureDirections()}get direction(){return this._direction}set gutterSize(gutterSize){this._gutterSize=(0,coercion.OE)(gutterSize)}get gutterSize(){return this._gutterSize}get styleFlexDirection(){return"horizontal"===this.direction?"row":"column"}set spliterAreas(spliterAreas){this.areas=spliterAreas.toArray(),this.areas.forEach(((area,index)=>area.order=2*index)),this.ensureDirections()}_direction="horizontal";_disabled=null;startDragging$=new Subject.B;areas=new Array;_gutterSize=10;set disabled(value){this._disabled=(0,coercion.he)(value)||null}get disabled(){return this._disabled}elementRef=(0,core.inject)(core.ElementRef);changeDetectorRef=(0,core.inject)(core.ChangeDetectorRef);destroyRef=(0,core.inject)(core.DestroyRef);constructor(){this.startDragging$.pipe((0,filter.p)((()=>!this.disabled)),(0,switchMap.n)((draggingEvent=>{const areaA=this.areas.find((a=>a.order===draggingEvent.index-1)),areaB=this.areas.find((a=>a.order===draggingEvent.index+1)),mouseEvent=draggingEvent.event;if(!areaA||!areaB)return(0,of.of)(mouseEvent);const startPos="horizontal"===this.direction?mouseEvent.pageX||mouseEvent.screenX:mouseEvent.pageY||mouseEvent.screenY,containerSizeInPixels="horizontal"===this.direction?this.elementRef.nativeElement.offsetWidth:this.elementRef.nativeElement.offsetHeight,startSizeInPixelsA=areaA.sizeinPixels,startSizeInPixelsB=areaB.sizeinPixels;this.dragStart.emit();const mouseMove$=(0,fromEvent.R)(document,"mousemove").pipe((0,shareReplay.t)({bufferSize:1,refCount:!0})),stopDragging$=mouseMove$.pipe((0,filter.p)((event=>1!==event.buttons)),(0,mergeWith.X)((0,fromEvent.R)(document,"mouseup"),(0,fromEvent.R)(document,"touchend"),(0,fromEvent.R)(document,"touchcancel")),(0,map.T)((event=>(this.dragEnd.emit(),event))),(0,shareReplay.t)({bufferSize:1,refCount:!0})),drag$=mouseMove$.pipe((0,filter.p)((event=>1===event.buttons)),(0,mergeWith.X)((0,fromEvent.R)(document,"touchmove")),(0,tap.M)((event=>{const pos="horizontal"===this.direction?event.pageX||event.screenX:event.pageY||event.screenY,diffInPixels=startPos-pos,areaSizeInPixelsA=startSizeInPixelsA-diffInPixels,areaSizeInPixelsB=startSizeInPixelsB+diffInPixels,areaSizeInPercentA=areaA.size=Math.min(100,Math.max(0,100*areaSizeInPixelsA/containerSizeInPixels));areaB.size=Math.min(100,Math.max(0,100*areaSizeInPixelsB/containerSizeInPixels));const percentWithTwoDigits=Math.round(100*areaSizeInPercentA)/100;this.dragProgress.emit(percentWithTwoDigits)})),(0,takeUntil.Q)(stopDragging$));return stopDragging$.pipe((0,take.s)(1),(0,mergeWith.X)(drag$))})),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe((event=>("mouseup"!==event.type&&"touchend"!==event.type&&"touchcancel"!==event.type?this.elementRef.nativeElement.setAttribute("splitting","true"):this.elementRef.nativeElement.removeAttribute("splitting"),event.preventDefault(),this.changeDetectorRef.markForCheck(),!1)))}ensureDirections(){this.areas.forEach((area=>area.direction=this.direction))}static ctorParameters=()=>[];static propDecorators={dragStart:[{type:core.Output}],dragProgress:[{type:core.Output}],dragEnd:[{type:core.Output}],direction:[{type:core.Input}],gutterSize:[{type:core.Input}],styleFlexDirection:[{type:core.HostBinding,args:["style.flex-direction"]}],spliterAreas:[{type:core.ContentChildren,args:[NgxSplitAreaDirective]}],_direction:[{type:core.HostBinding,args:["attr.direction"]}],_disabled:[{type:core.HostBinding,args:["attr.disabled"]}],disabled:[{type:core.Input}]}};NgxSplitterComponent=(0,tslib_es6.Cg)([(0,core.Component)({encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.OnPush,selector:"ngx-splitter",template:'\n@for (area of areas; track $index; let index = $index, last = $last) {\n @if (last === false) {\n \n }\n}\n',standalone:!0,styles:[splitter_componentngResource_default()]})],NgxSplitterComponent);const splitter_stories={title:"Components/Splitter",component:NgxSplitterComponent,decorators:[(0,dist.applicationConfig)({providers:[(0,animations.provideAnimations)()]}),(0,dist.moduleMetadata)({imports:[NgxSplitAreaDirective]})],tags:["autodocs"],argTypes:{direction:{description:"Sets the direction of the split, which can either be `horizontal` or `vertical`.",control:"select",options:["horizontal","vertical"],table:{type:{summary:"NgxSplitterDirection"},defaultValue:{summary:"horizontal"}}},gutterSize:{description:"Specifies the width of the gutter in pixels.",control:"number",table:{type:{summary:"number"},defaultValue:{summary:"10"}}},disabled:{description:"Determines whether the splitter is active or disabled.",control:"boolean",table:{type:{summary:"boolean"},defaultValue:{summary:"false"}}},dragStart:{description:"Event triggered when the user starts dragging the cursor.",action:"dragStart",table:{type:{summary:"EventEmitter"}}},dragProgress:{description:"Event triggered during the cursor drag, providing the progress as a percentage.",action:"dragProgress",table:{type:{summary:"EventEmitter"}}},dragEnd:{description:"Event triggered when the user stops dragging the cursor.",action:"dragEnd",table:{type:{summary:"EventEmitter"}}}},parameters:{docs:{description:{component:"The `NgxSplitterComponent` allows splitting a container into resizable parts either horizontally or vertically. It supports dynamic resizing, event callbacks during drag operations, and flexible gutter sizing."}}},args:{direction:"horizontal",gutterSize:"10",disabled:!1}},standard={parameters:{docs:{description:{story:"This story demonstrates the standard usage of `NgxSplitterComponent`, where the container is split into two resizable areas in a horizontal direction. The first area takes 25% of the space, while the second area takes 75%."}}},render:args=>({props:args,template:'\n
\n \n \n

Lorem ipsum dolor sit amet...

\n
\n \n

Sed ut perspiciatis unde omnis iste natus erro...

\n
\n
\n
\n '}),args:{direction:"horizontal"}},verticalSplit={parameters:{docs:{description:{story:"This story illustrates a vertical splitter, dividing the container into two areas. The first area occupies 25% of the height, while the second takes 75%."}}},render:args=>({props:args,template:'\n
\n \n Area 1\n Area 2\n \n
\n '}),args:{direction:"vertical"}},disabledSplitter={parameters:{docs:{description:{story:"In this story, the splitter is disabled, preventing the user from resizing the areas."}}},render:args=>({props:args,template:'\n
\n \n Area 1\n Area 2\n \n
\n '}),args:{disabled:!0}},gutterSizeControl={decorators:[(0,dist.moduleMetadata)({imports:[button_toggle.ec,button_toggle.pc]})],parameters:{docs:{description:{story:"This story showcases the ability to control the gutter size dynamically. Use the buttons to change the gutter size between predefined values."}}},render:args=>({props:{...args,changeGutterSize(size){this.gutterSize=size}},template:'\n
\n \n Area 1\n Area 2\n \n
\n
\n \n 5px\n 10px\n 45px\n 100px\n \n
\n
\n '})},combinedSplitters={parameters:{docs:{description:{story:"This story presents a combination of two splitters: a vertical splitter nested inside a horizontal splitter. This allows creating a complex layout with resizable areas in both directions."}}},render:args=>({props:{...args},template:'\n
\n \x3c!-- Horizontal Splitter --\x3e\n \n \x3c!-- First Horizontal Area --\x3e\n \n \x3c!-- Vertical Splitter Inside the First Horizontal Area --\x3e\n \n \x3c!-- First Vertical Area --\x3e\n \n

Content in the first vertical area...

\n
\n \x3c!-- Second Vertical Area --\x3e\n \n

Content in the second vertical area...

\n
\n
\n
\n \x3c!-- Second Horizontal Area --\x3e\n \n

Content in the second horizontal area...

\n
\n
\n
\n '})},customizableSplitAreas={decorators:[(0,dist.moduleMetadata)({imports:[form_field.rl,form_field.nJ,fesm2022_forms.YN,input.fg,fesm2022_forms.X1]})],parameters:{docs:{description:{story:"This story provides an example of how to customize the properties of each split area dynamically. It allows changing the size and minimum size of each area through input fields."}}},render:args=>({props:{...args,firstAreaSize:50,secondAreaSize:50,firstAreaMinSize:100,secondAreaMinSize:10,firstAreaSizeChanged(size){size>100?size=100:size<0&&(size=0),this.firstAreaSize=size,this.secondAreaSize=100-size},secondAreaSizeChanged(size){size>100?size=100:size<0&&(size=0),this.secondAreaSize=size,this.firstAreaSize=100-size},firstAreaMinSizeChanged(size){this.firstAreaMinSize=size},secondAreaMinSizeChanged(size){this.secondAreaMinSize=size}},template:'\n
\n \n \n Area 1\n
FirstArea minSize
\n
\n \n Area 2\n
SecondArea minSize
\n
\n
\n
\n
\n
\n \n First Area Size (%)\n \n \n \n Second Area Size (%)\n \n \n
\n
\n \n First Area Minimum Size (px)\n \n \n \n Second Area Minimum Size (px)\n \n \n
\n
\n
\n '})},__namedExportsOrder=["standard","verticalSplit","disabledSplitter","gutterSizeControl","combinedSplitters","customizableSplitAreas"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This story demonstrates the standard usage of `NgxSplitterComponent`, where the container is split into two resizable areas in a horizontal direction. The first area takes 25% of the space, while the second area takes 75%.\'\n }\n }\n },\n render: args => ({\n props: args,\n template: `\n
\n \n \n

Lorem ipsum dolor sit amet...

\n
\n \n

Sed ut perspiciatis unde omnis iste natus erro...

\n
\n
\n
\n `\n }),\n args: {\n direction: \'horizontal\'\n }\n}',...standard.parameters?.docs?.source}}},verticalSplit.parameters={...verticalSplit.parameters,docs:{...verticalSplit.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This story illustrates a vertical splitter, dividing the container into two areas. The first area occupies 25% of the height, while the second takes 75%.\'\n }\n }\n },\n render: args => ({\n props: args,\n template: `\n
\n \n Area 1\n Area 2\n \n
\n `\n }),\n args: {\n direction: \'vertical\'\n }\n}',...verticalSplit.parameters?.docs?.source}}},disabledSplitter.parameters={...disabledSplitter.parameters,docs:{...disabledSplitter.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'In this story, the splitter is disabled, preventing the user from resizing the areas.\'\n }\n }\n },\n render: args => ({\n props: args,\n template: `\n
\n \n Area 1\n Area 2\n \n
\n `\n }),\n args: {\n disabled: true\n }\n}',...disabledSplitter.parameters?.docs?.source}}},gutterSizeControl.parameters={...gutterSizeControl.parameters,docs:{...gutterSizeControl.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatButtonToggleGroup, MatButtonToggle]\n })],\n parameters: {\n docs: {\n description: {\n story: \'This story showcases the ability to control the gutter size dynamically. Use the buttons to change the gutter size between predefined values.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n changeGutterSize(size: number): void {\n this[\'gutterSize\'] = size;\n }\n },\n template: `\n
\n \n Area 1\n Area 2\n \n
\n
\n \n 5px\n 10px\n 45px\n 100px\n \n
\n
\n `\n })\n}',...gutterSizeControl.parameters?.docs?.source}}},combinedSplitters.parameters={...combinedSplitters.parameters,docs:{...combinedSplitters.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This story presents a combination of two splitters: a vertical splitter nested inside a horizontal splitter. This allows creating a complex layout with resizable areas in both directions.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \x3c!-- Horizontal Splitter --\x3e\n \n \x3c!-- First Horizontal Area --\x3e\n \n \x3c!-- Vertical Splitter Inside the First Horizontal Area --\x3e\n \n \x3c!-- First Vertical Area --\x3e\n \n

Content in the first vertical area...

\n
\n \x3c!-- Second Vertical Area --\x3e\n \n

Content in the second vertical area...

\n
\n
\n
\n \x3c!-- Second Horizontal Area --\x3e\n \n

Content in the second horizontal area...

\n
\n
\n
\n `\n })\n}',...combinedSplitters.parameters?.docs?.source}}},customizableSplitAreas.parameters={...customizableSplitAreas.parameters,docs:{...customizableSplitAreas.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatFormField, MatLabel, FormsModule, MatInput, ReactiveFormsModule]\n })],\n parameters: {\n docs: {\n description: {\n story: \'This story provides an example of how to customize the properties of each split area dynamically. It allows changing the size and minimum size of each area through input fields.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n firstAreaSize: 50,\n secondAreaSize: 50,\n firstAreaMinSize: 100,\n secondAreaMinSize: 10,\n firstAreaSizeChanged(size: number): void {\n if (size > 100) {\n size = 100;\n } else if (size < 0) {\n size = 0;\n }\n this[\'firstAreaSize\'] = size;\n this[\'secondAreaSize\'] = 100 - size;\n },\n secondAreaSizeChanged(size: number): void {\n if (size > 100) {\n size = 100;\n } else if (size < 0) {\n size = 0;\n }\n this[\'secondAreaSize\'] = size;\n this[\'firstAreaSize\'] = 100 - size;\n },\n firstAreaMinSizeChanged(size: number): void {\n this[\'firstAreaMinSize\'] = size;\n },\n secondAreaMinSizeChanged(size: number): void {\n this[\'secondAreaMinSize\'] = size;\n }\n },\n template: `\n
\n \n \n Area 1\n
FirstArea minSize
\n
\n \n Area 2\n
SecondArea minSize
\n
\n
\n
\n
\n
\n \n First Area Size (%)\n \n \n \n Second Area Size (%)\n \n \n
\n
\n \n First Area Minimum Size (px)\n \n \n \n Second Area Minimum Size (px)\n \n \n
\n
\n
\n `\n })\n}',...customizableSplitAreas.parameters?.docs?.source}}}},"./projects/splitter/src/splitter.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-splitter {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n overflow: hidden;\n}\nngx-splitter[splitting] * {\n -webkit-user-select: none;\n user-select: none;\n}\nngx-splitter ngx-split-area {\n flex: 1 1 auto;\n overflow: hidden;\n}\nngx-splitter .ngx-split-gutter {\n flex-shrink: 0;\n flex-grow: 0;\n background-position: 50%;\n background-repeat: no-repeat;\n content: none;\n cursor: default;\n background-image: none;\n}\nngx-splitter[direction=horizontal] ngx-split-area {\n width: 100%;\n}\nngx-splitter[direction=horizontal]:not([disabled]) .ngx-split-gutter {\n cursor: col-resize;\n content: " ";\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==");\n}\nngx-splitter[direction=vertical] ngx-split-area {\n height: 100%;\n}\nngx-splitter[direction=vertical]:not([disabled]) .ngx-split-gutter {\n cursor: row-resize;\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC");\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file +/*! For license information please see splitter-splitter-stories.16a85969.iframe.bundle.js.LICENSE.txt */ +(self.webpackChunk=self.webpackChunk||[]).push([[254],{"./node_modules/@angular/core/fesm2022/rxjs-interop.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{pQ:()=>takeUntilDestroyed});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),rxjs_operators__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js");function takeUntilDestroyed(destroyRef){destroyRef||((0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.assertInInjectionContext)(takeUntilDestroyed),destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef));const destroyed$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.c((observer=>destroyRef.onDestroy(observer.next.bind(observer))));return source=>source.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.Q)(destroyed$))}},"./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{m:()=>ReplaySubject});var tslib__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_Subject__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),_scheduler_dateTimestampProvider__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js"),ReplaySubject=function(_super){function ReplaySubject(_bufferSize,_windowTime,_timestampProvider){void 0===_bufferSize&&(_bufferSize=1/0),void 0===_windowTime&&(_windowTime=1/0),void 0===_timestampProvider&&(_timestampProvider=_scheduler_dateTimestampProvider__WEBPACK_IMPORTED_MODULE_1__.U);var _this=_super.call(this)||this;return _this._bufferSize=_bufferSize,_this._windowTime=_windowTime,_this._timestampProvider=_timestampProvider,_this._buffer=[],_this._infiniteTimeWindow=!0,_this._infiniteTimeWindow=_windowTime===1/0,_this._bufferSize=Math.max(1,_bufferSize),_this._windowTime=Math.max(1,_windowTime),_this}return(0,tslib__WEBPACK_IMPORTED_MODULE_0__.C6)(ReplaySubject,_super),ReplaySubject.prototype.next=function(value){var _a=this,isStopped=_a.isStopped,_buffer=_a._buffer,_infiniteTimeWindow=_a._infiniteTimeWindow,_timestampProvider=_a._timestampProvider,_windowTime=_a._windowTime;isStopped||(_buffer.push(value),!_infiniteTimeWindow&&_buffer.push(_timestampProvider.now()+_windowTime)),this._trimBuffer(),_super.prototype.next.call(this,value)},ReplaySubject.prototype._subscribe=function(subscriber){this._throwIfClosed(),this._trimBuffer();for(var subscription=this._innerSubscribe(subscriber),_infiniteTimeWindow=this._infiniteTimeWindow,copy=this._buffer.slice(),i=0;i{"use strict";__webpack_require__.d(__webpack_exports__,{R:()=>fromEvent});var tslib__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_observable_innerFrom__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js"),_Observable__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),_operators_mergeMap__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js"),_util_isArrayLike__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js"),_util_isFunction__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isFunction.js"),_util_mapOneOrManyArgs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js"),nodeEventEmitterMethods=["addListener","removeListener"],eventTargetMethods=["addEventListener","removeEventListener"],jqueryMethods=["on","off"];function fromEvent(target,eventName,options,resultSelector){if((0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(options)&&(resultSelector=options,options=void 0),resultSelector)return fromEvent(target,eventName,options).pipe((0,_util_mapOneOrManyArgs__WEBPACK_IMPORTED_MODULE_1__.I)(resultSelector));var _a=(0,tslib__WEBPACK_IMPORTED_MODULE_2__.zs)(function isEventTarget(target){return(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.addEventListener)&&(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.removeEventListener)}(target)?eventTargetMethods.map((function(methodName){return function(handler){return target[methodName](eventName,handler,options)}})):function isNodeStyleEventEmitter(target){return(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.addListener)&&(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.removeListener)}(target)?nodeEventEmitterMethods.map(toCommonHandlerRegistry(target,eventName)):function isJQueryStyleEventEmitter(target){return(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.on)&&(0,_util_isFunction__WEBPACK_IMPORTED_MODULE_0__.T)(target.off)}(target)?jqueryMethods.map(toCommonHandlerRegistry(target,eventName)):[],2),add=_a[0],remove=_a[1];if(!add&&(0,_util_isArrayLike__WEBPACK_IMPORTED_MODULE_3__.X)(target))return(0,_operators_mergeMap__WEBPACK_IMPORTED_MODULE_4__.Z)((function(subTarget){return fromEvent(subTarget,eventName,options)}))((0,_observable_innerFrom__WEBPACK_IMPORTED_MODULE_5__.Tg)(target));if(!add)throw new TypeError("Invalid event target");return new _Observable__WEBPACK_IMPORTED_MODULE_6__.c((function(subscriber){var handler=function(){for(var args=[],_i=0;_i{"use strict";__webpack_require__.d(__webpack_exports__,{h:()=>merge});var _operators_mergeAll__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js"),_innerFrom__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js"),_empty__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/empty.js"),_util_args__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/args.js"),_from__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js");function merge(){for(var args=[],_i=0;_i{"use strict";__webpack_require__.d(__webpack_exports__,{O:()=>timer});var Observable=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),scheduler_async=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/async.js"),isScheduler=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/isScheduler.js");function timer(dueTime,intervalOrScheduler,scheduler){void 0===dueTime&&(dueTime=0),void 0===scheduler&&(scheduler=scheduler_async.b);var intervalDuration=-1;return null!=intervalOrScheduler&&((0,isScheduler.m)(intervalOrScheduler)?scheduler=intervalOrScheduler:intervalDuration=intervalOrScheduler),new Observable.c((function(subscriber){var due=function isValidDate(value){return value instanceof Date&&!isNaN(value)}(dueTime)?+dueTime-scheduler.now():dueTime;due<0&&(due=0);var n=0;return scheduler.schedule((function(){subscriber.closed||(subscriber.next(n++),0<=intervalDuration?this.schedule(void 0,intervalDuration):subscriber.complete())}),due)}))}},"./node_modules/rxjs/dist/esm5/internal/operators/auditTime.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>auditTime});var scheduler_async=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/scheduler/async.js"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),innerFrom=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js"),OperatorSubscriber=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js");var timer=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js");function auditTime(duration,scheduler){return void 0===scheduler&&(scheduler=scheduler_async.E),function audit(durationSelector){return(0,lift.N)((function(source,subscriber){var hasValue=!1,lastValue=null,durationSubscriber=null,isComplete=!1,endDuration=function(){if(null==durationSubscriber||durationSubscriber.unsubscribe(),durationSubscriber=null,hasValue){hasValue=!1;var value=lastValue;lastValue=null,subscriber.next(value)}isComplete&&subscriber.complete()},cleanupDuration=function(){durationSubscriber=null,isComplete&&subscriber.complete()};source.subscribe((0,OperatorSubscriber._)(subscriber,(function(value){hasValue=!0,lastValue=value,durationSubscriber||(0,innerFrom.Tg)(durationSelector(value)).subscribe(durationSubscriber=(0,OperatorSubscriber._)(subscriber,endDuration,cleanupDuration))}),(function(){isComplete=!0,(!hasValue||!durationSubscriber||durationSubscriber.closed)&&subscriber.complete()})))}))}((function(){return(0,timer.O)(duration,scheduler)}))}},"./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.d(__webpack_exports__,{t:()=>shareReplay});var _ReplaySubject__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/ReplaySubject.js"),_share__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/share.js");function shareReplay(configOrBufferSize,windowTime,scheduler){var _a,_b,_c,bufferSize,refCount=!1;return configOrBufferSize&&"object"==typeof configOrBufferSize?(_a=configOrBufferSize.bufferSize,bufferSize=void 0===_a?1/0:_a,_b=configOrBufferSize.windowTime,windowTime=void 0===_b?1/0:_b,refCount=void 0!==(_c=configOrBufferSize.refCount)&&_c,scheduler=configOrBufferSize.scheduler):bufferSize=null!=configOrBufferSize?configOrBufferSize:1/0,(0,_share__WEBPACK_IMPORTED_MODULE_0__.u)({connector:function(){return new _ReplaySubject__WEBPACK_IMPORTED_MODULE_1__.m(bufferSize,windowTime,scheduler)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:refCount})}},"./projects/story-book/src/splitter/splitter.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,combinedSplitters:()=>combinedSplitters,customizableSplitAreas:()=>customizableSplitAreas,default:()=>splitter_stories,disabledSplitter:()=>disabledSplitter,gutterSizeControl:()=>gutterSizeControl,standard:()=>standard,verticalSplit:()=>verticalSplit});var fesm2022_forms=__webpack_require__("./node_modules/@angular/forms/fesm2022/forms.mjs"),button_toggle=__webpack_require__("./node_modules/@angular/material/fesm2022/button-toggle.mjs"),form_field=__webpack_require__("./node_modules/@angular/material/fesm2022/form-field.mjs"),input=__webpack_require__("./node_modules/@angular/material/fesm2022/input.mjs"),animations=__webpack_require__("./node_modules/@angular/platform-browser/fesm2022/animations.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs");let NgxSplitAreaDirective=class NgxSplitAreaDirective{elementRef;order;_size=null;direction="horizontal";set size(value){this._size=(0,coercion.OE)(value)}get size(){const parentElement=this.elementRef.nativeElement.parentElement,parentSizeInPixels=parentElement&&("horizontal"===this.direction?parentElement.offsetWidth:parentElement.offsetHeight)||void 0;return parentSizeInPixels&&100*this.sizeinPixels/parentSizeInPixels}get sizeinPixels(){return"horizontal"===this.direction?this.elementRef.nativeElement.offsetWidth:this.elementRef.nativeElement.offsetHeight}set minSizePixel(value){this._minSizePixel=(0,coercion.OE)(value)}get minSizePixel(){return this._minSizePixel}get minWidth(){return"vertical"===this.direction?void 0:this._minSizePixel}get minHeight(){return"horizontal"===this.direction?void 0:this._minSizePixel}_minSizePixel=0;constructor(elementRef){this.elementRef=elementRef}static ctorParameters=()=>[{type:core.ElementRef}];static propDecorators={order:[{type:core.HostBinding,args:["style.order"]}],_size:[{type:core.HostBinding,args:["style.flex-basis.%"]}],size:[{type:core.Input}],minSizePixel:[{type:core.Input}],minWidth:[{type:core.HostBinding,args:["style.min-width.px"]}],minHeight:[{type:core.HostBinding,args:["style.min-height.px"]}]}};NgxSplitAreaDirective=(0,tslib_es6.Cg)([(0,core.Directive)({selector:"ngx-split-area",standalone:!0})],NgxSplitAreaDirective);var splitter_componentngResource=__webpack_require__("./projects/splitter/src/splitter.component.scss?ngResource"),splitter_componentngResource_default=__webpack_require__.n(splitter_componentngResource);var rxjs_interop=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),Subject=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Subject.js"),filter=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/filter.js"),switchMap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),of=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/of.js"),fromEvent=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js"),shareReplay=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js"),mergeWith=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),map=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js"),tap=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js"),takeUntil=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js"),take=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js");let NgxSplitterComponent=class NgxSplitterComponent{dragStart=new core.EventEmitter(!1);dragProgress=new core.EventEmitter(!1);dragEnd=new core.EventEmitter(!1);set direction(direction){this._direction=direction,this.ensureDirections()}get direction(){return this._direction}set gutterSize(gutterSize){this._gutterSize=(0,coercion.OE)(gutterSize)}get gutterSize(){return this._gutterSize}get styleFlexDirection(){return"horizontal"===this.direction?"row":"column"}set spliterAreas(spliterAreas){this.areas=spliterAreas.toArray(),this.areas.forEach(((area,index)=>area.order=2*index)),this.ensureDirections()}_direction="horizontal";_disabled=null;startDragging$=new Subject.B;areas=new Array;_gutterSize=10;set disabled(value){this._disabled=(0,coercion.he)(value)||null}get disabled(){return this._disabled}elementRef=(0,core.inject)(core.ElementRef);changeDetectorRef=(0,core.inject)(core.ChangeDetectorRef);destroyRef=(0,core.inject)(core.DestroyRef);constructor(){this.startDragging$.pipe((0,filter.p)((()=>!this.disabled)),(0,switchMap.n)((draggingEvent=>{const areaA=this.areas.find((a=>a.order===draggingEvent.index-1)),areaB=this.areas.find((a=>a.order===draggingEvent.index+1)),mouseEvent=draggingEvent.event;if(!areaA||!areaB)return(0,of.of)(mouseEvent);const startPos="horizontal"===this.direction?mouseEvent.pageX||mouseEvent.screenX:mouseEvent.pageY||mouseEvent.screenY,containerSizeInPixels="horizontal"===this.direction?this.elementRef.nativeElement.offsetWidth:this.elementRef.nativeElement.offsetHeight,startSizeInPixelsA=areaA.sizeinPixels,startSizeInPixelsB=areaB.sizeinPixels;this.dragStart.emit();const mouseMove$=(0,fromEvent.R)(document,"mousemove").pipe((0,shareReplay.t)({bufferSize:1,refCount:!0})),stopDragging$=mouseMove$.pipe((0,filter.p)((event=>1!==event.buttons)),(0,mergeWith.X)((0,fromEvent.R)(document,"mouseup"),(0,fromEvent.R)(document,"touchend"),(0,fromEvent.R)(document,"touchcancel")),(0,map.T)((event=>(this.dragEnd.emit(),event))),(0,shareReplay.t)({bufferSize:1,refCount:!0})),drag$=mouseMove$.pipe((0,filter.p)((event=>1===event.buttons)),(0,mergeWith.X)((0,fromEvent.R)(document,"touchmove")),(0,tap.M)((event=>{const pos="horizontal"===this.direction?event.pageX||event.screenX:event.pageY||event.screenY,diffInPixels=startPos-pos,areaSizeInPixelsA=startSizeInPixelsA-diffInPixels,areaSizeInPixelsB=startSizeInPixelsB+diffInPixels,areaSizeInPercentA=areaA.size=Math.min(100,Math.max(0,100*areaSizeInPixelsA/containerSizeInPixels));areaB.size=Math.min(100,Math.max(0,100*areaSizeInPixelsB/containerSizeInPixels));const percentWithTwoDigits=Math.round(100*areaSizeInPercentA)/100;this.dragProgress.emit(percentWithTwoDigits)})),(0,takeUntil.Q)(stopDragging$));return stopDragging$.pipe((0,take.s)(1),(0,mergeWith.X)(drag$))})),(0,rxjs_interop.pQ)(this.destroyRef)).subscribe((event=>("mouseup"!==event.type&&"touchend"!==event.type&&"touchcancel"!==event.type?this.elementRef.nativeElement.setAttribute("splitting","true"):this.elementRef.nativeElement.removeAttribute("splitting"),event.preventDefault(),this.changeDetectorRef.markForCheck(),!1)))}ensureDirections(){this.areas.forEach((area=>area.direction=this.direction))}static ctorParameters=()=>[];static propDecorators={dragStart:[{type:core.Output}],dragProgress:[{type:core.Output}],dragEnd:[{type:core.Output}],direction:[{type:core.Input}],gutterSize:[{type:core.Input}],styleFlexDirection:[{type:core.HostBinding,args:["style.flex-direction"]}],spliterAreas:[{type:core.ContentChildren,args:[NgxSplitAreaDirective]}],_direction:[{type:core.HostBinding,args:["attr.direction"]}],_disabled:[{type:core.HostBinding,args:["attr.disabled"]}],disabled:[{type:core.Input}]}};NgxSplitterComponent=(0,tslib_es6.Cg)([(0,core.Component)({encapsulation:core.ViewEncapsulation.None,changeDetection:core.ChangeDetectionStrategy.OnPush,selector:"ngx-splitter",template:'\n@for (area of areas; track $index; let index = $index, last = $last) {\n @if (last === false) {\n \n }\n}\n',standalone:!0,styles:[splitter_componentngResource_default()]})],NgxSplitterComponent);const splitter_stories={title:"Components/Splitter",component:NgxSplitterComponent,decorators:[(0,dist.applicationConfig)({providers:[(0,animations.provideAnimations)()]}),(0,dist.moduleMetadata)({imports:[NgxSplitAreaDirective]})],tags:["autodocs"],argTypes:{direction:{description:"Sets the direction of the split, which can either be `horizontal` or `vertical`.",control:"select",options:["horizontal","vertical"],table:{type:{summary:"NgxSplitterDirection"},defaultValue:{summary:"horizontal"}}},gutterSize:{description:"Specifies the width of the gutter in pixels.",control:"number",table:{type:{summary:"number"},defaultValue:{summary:"10"}}},disabled:{description:"Determines whether the splitter is active or disabled.",control:"boolean",table:{type:{summary:"boolean"},defaultValue:{summary:"false"}}},dragStart:{description:"Event triggered when the user starts dragging the cursor.",action:"dragStart",table:{type:{summary:"EventEmitter"}}},dragProgress:{description:"Event triggered during the cursor drag, providing the progress as a percentage.",action:"dragProgress",table:{type:{summary:"EventEmitter"}}},dragEnd:{description:"Event triggered when the user stops dragging the cursor.",action:"dragEnd",table:{type:{summary:"EventEmitter"}}}},parameters:{docs:{description:{component:"The `NgxSplitterComponent` allows splitting a container into resizable parts either horizontally or vertically. It supports dynamic resizing, event callbacks during drag operations, and flexible gutter sizing."}}},args:{direction:"horizontal",gutterSize:"10",disabled:!1}},standard={parameters:{docs:{description:{story:"This story demonstrates the standard usage of `NgxSplitterComponent`, where the container is split into two resizable areas in a horizontal direction. The first area takes 25% of the space, while the second area takes 75%."}}},render:args=>({props:args,template:'\n
\n \n \n

Lorem ipsum dolor sit amet...

\n
\n \n

Sed ut perspiciatis unde omnis iste natus erro...

\n
\n
\n
\n '}),args:{direction:"horizontal"}},verticalSplit={parameters:{docs:{description:{story:"This story illustrates a vertical splitter, dividing the container into two areas. The first area occupies 25% of the height, while the second takes 75%."}}},render:args=>({props:args,template:'\n
\n \n Area 1\n Area 2\n \n
\n '}),args:{direction:"vertical"}},disabledSplitter={parameters:{docs:{description:{story:"In this story, the splitter is disabled, preventing the user from resizing the areas."}}},render:args=>({props:args,template:'\n
\n \n Area 1\n Area 2\n \n
\n '}),args:{disabled:!0}},gutterSizeControl={decorators:[(0,dist.moduleMetadata)({imports:[button_toggle.ec,button_toggle.pc]})],parameters:{docs:{description:{story:"This story showcases the ability to control the gutter size dynamically. Use the buttons to change the gutter size between predefined values."}}},render:args=>({props:{...args,changeGutterSize(size){this.gutterSize=size}},template:'\n
\n \n Area 1\n Area 2\n \n
\n
\n \n 5px\n 10px\n 45px\n 100px\n \n
\n
\n '})},combinedSplitters={parameters:{docs:{description:{story:"This story presents a combination of two splitters: a vertical splitter nested inside a horizontal splitter. This allows creating a complex layout with resizable areas in both directions."}}},render:args=>({props:{...args},template:'\n
\n \x3c!-- Horizontal Splitter --\x3e\n \n \x3c!-- First Horizontal Area --\x3e\n \n \x3c!-- Vertical Splitter Inside the First Horizontal Area --\x3e\n \n \x3c!-- First Vertical Area --\x3e\n \n

Content in the first vertical area...

\n
\n \x3c!-- Second Vertical Area --\x3e\n \n

Content in the second vertical area...

\n
\n
\n
\n \x3c!-- Second Horizontal Area --\x3e\n \n

Content in the second horizontal area...

\n
\n
\n
\n '})},customizableSplitAreas={decorators:[(0,dist.moduleMetadata)({imports:[form_field.rl,form_field.nJ,fesm2022_forms.YN,input.fg]})],parameters:{docs:{description:{story:"This story provides an example of how to customize the properties of each split area dynamically. It allows changing the size and minimum size of each area through input fields."}}},render:args=>({props:{...args,firstAreaSize:50,secondAreaSize:50,firstAreaMinSize:100,secondAreaMinSize:10,firstAreaSizeChanged(size){size>100?size=100:size<0&&(size=0),this.firstAreaSize=size,this.secondAreaSize=100-size},secondAreaSizeChanged(size){size>100?size=100:size<0&&(size=0),this.secondAreaSize=size,this.firstAreaSize=100-size},firstAreaMinSizeChanged(size){this.firstAreaMinSize=size},secondAreaMinSizeChanged(size){this.secondAreaMinSize=size}},template:'\n
\n \n \n Area 1\n
FirstArea minSize
\n
\n \n Area 2\n
SecondArea minSize
\n
\n
\n
\n
\n
\n \n First Area Size (%)\n \n \n \n Second Area Size (%)\n \n \n
\n
\n \n First Area Minimum Size (px)\n \n \n \n Second Area Minimum Size (px)\n \n \n
\n
\n
\n '})},__namedExportsOrder=["standard","verticalSplit","disabledSplitter","gutterSizeControl","combinedSplitters","customizableSplitAreas"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This story demonstrates the standard usage of `NgxSplitterComponent`, where the container is split into two resizable areas in a horizontal direction. The first area takes 25% of the space, while the second area takes 75%.\'\n }\n }\n },\n render: args => ({\n props: args,\n template: `\n
\n \n \n

Lorem ipsum dolor sit amet...

\n
\n \n

Sed ut perspiciatis unde omnis iste natus erro...

\n
\n
\n
\n `\n }),\n args: {\n direction: \'horizontal\'\n }\n}',...standard.parameters?.docs?.source}}},verticalSplit.parameters={...verticalSplit.parameters,docs:{...verticalSplit.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This story illustrates a vertical splitter, dividing the container into two areas. The first area occupies 25% of the height, while the second takes 75%.\'\n }\n }\n },\n render: args => ({\n props: args,\n template: `\n
\n \n Area 1\n Area 2\n \n
\n `\n }),\n args: {\n direction: \'vertical\'\n }\n}',...verticalSplit.parameters?.docs?.source}}},disabledSplitter.parameters={...disabledSplitter.parameters,docs:{...disabledSplitter.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'In this story, the splitter is disabled, preventing the user from resizing the areas.\'\n }\n }\n },\n render: args => ({\n props: args,\n template: `\n
\n \n Area 1\n Area 2\n \n
\n `\n }),\n args: {\n disabled: true\n }\n}',...disabledSplitter.parameters?.docs?.source}}},gutterSizeControl.parameters={...gutterSizeControl.parameters,docs:{...gutterSizeControl.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatButtonToggleGroup, MatButtonToggle]\n })],\n parameters: {\n docs: {\n description: {\n story: \'This story showcases the ability to control the gutter size dynamically. Use the buttons to change the gutter size between predefined values.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n changeGutterSize(size: number): void {\n this[\'gutterSize\'] = size;\n }\n },\n template: `\n
\n \n Area 1\n Area 2\n \n
\n
\n \n 5px\n 10px\n 45px\n 100px\n \n
\n
\n `\n })\n}',...gutterSizeControl.parameters?.docs?.source}}},combinedSplitters.parameters={...combinedSplitters.parameters,docs:{...combinedSplitters.parameters?.docs,source:{originalSource:'{\n parameters: {\n docs: {\n description: {\n story: \'This story presents a combination of two splitters: a vertical splitter nested inside a horizontal splitter. This allows creating a complex layout with resizable areas in both directions.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \x3c!-- Horizontal Splitter --\x3e\n \n \x3c!-- First Horizontal Area --\x3e\n \n \x3c!-- Vertical Splitter Inside the First Horizontal Area --\x3e\n \n \x3c!-- First Vertical Area --\x3e\n \n

Content in the first vertical area...

\n
\n \x3c!-- Second Vertical Area --\x3e\n \n

Content in the second vertical area...

\n
\n
\n
\n \x3c!-- Second Horizontal Area --\x3e\n \n

Content in the second horizontal area...

\n
\n
\n
\n `\n })\n}',...combinedSplitters.parameters?.docs?.source}}},customizableSplitAreas.parameters={...customizableSplitAreas.parameters,docs:{...customizableSplitAreas.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatFormField, MatLabel, FormsModule, MatInput]\n })],\n parameters: {\n docs: {\n description: {\n story: \'This story provides an example of how to customize the properties of each split area dynamically. It allows changing the size and minimum size of each area through input fields.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n firstAreaSize: 50,\n secondAreaSize: 50,\n firstAreaMinSize: 100,\n secondAreaMinSize: 10,\n firstAreaSizeChanged(size: number): void {\n if (size > 100) {\n size = 100;\n } else if (size < 0) {\n size = 0;\n }\n this[\'firstAreaSize\'] = size;\n this[\'secondAreaSize\'] = 100 - size;\n },\n secondAreaSizeChanged(size: number): void {\n if (size > 100) {\n size = 100;\n } else if (size < 0) {\n size = 0;\n }\n this[\'secondAreaSize\'] = size;\n this[\'firstAreaSize\'] = 100 - size;\n },\n firstAreaMinSizeChanged(size: number): void {\n this[\'firstAreaMinSize\'] = size;\n },\n secondAreaMinSizeChanged(size: number): void {\n this[\'secondAreaMinSize\'] = size;\n }\n },\n template: `\n
\n \n \n Area 1\n
FirstArea minSize
\n
\n \n Area 2\n
SecondArea minSize
\n
\n
\n
\n
\n
\n \n First Area Size (%)\n \n \n \n Second Area Size (%)\n \n \n
\n
\n \n First Area Minimum Size (px)\n \n \n \n Second Area Minimum Size (px)\n \n \n
\n
\n
\n `\n })\n}',...customizableSplitAreas.parameters?.docs?.source}}}},"./projects/splitter/src/splitter.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-splitter {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n overflow: hidden;\n}\nngx-splitter[splitting] * {\n -webkit-user-select: none;\n user-select: none;\n}\nngx-splitter ngx-split-area {\n flex: 1 1 auto;\n overflow: hidden;\n}\nngx-splitter .ngx-split-gutter {\n flex-shrink: 0;\n flex-grow: 0;\n background-position: 50%;\n background-repeat: no-repeat;\n content: none;\n cursor: default;\n background-image: none;\n}\nngx-splitter[direction=horizontal] ngx-split-area {\n width: 100%;\n}\nngx-splitter[direction=horizontal]:not([disabled]) .ngx-split-gutter {\n cursor: col-resize;\n content: " ";\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==");\n}\nngx-splitter[direction=vertical] ngx-split-area {\n height: 100%;\n}\nngx-splitter[direction=vertical]:not([disabled]) .ngx-split-gutter {\n cursor: row-resize;\n background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC");\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file diff --git a/splitter-splitter-stories.c607e5b3.iframe.bundle.js.LICENSE.txt b/splitter-splitter-stories.16a85969.iframe.bundle.js.LICENSE.txt similarity index 100% rename from splitter-splitter-stories.c607e5b3.iframe.bundle.js.LICENSE.txt rename to splitter-splitter-stories.16a85969.iframe.bundle.js.LICENSE.txt diff --git a/status-status-stories.16de7496.iframe.bundle.js b/status-status-stories.16de7496.iframe.bundle.js new file mode 100644 index 0000000..860ec38 --- /dev/null +++ b/status-status-stories.16de7496.iframe.bundle.js @@ -0,0 +1,2 @@ +/*! For license information please see status-status-stories.16de7496.iframe.bundle.js.LICENSE.txt */ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[288],{"./node_modules/@angular/core/fesm2022/rxjs-interop.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{pQ:()=>takeUntilDestroyed});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),rxjs_operators__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js");function takeUntilDestroyed(destroyRef){destroyRef||((0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.assertInInjectionContext)(takeUntilDestroyed),destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef));const destroyed$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.c((observer=>destroyRef.onDestroy(observer.next.bind(observer))));return source=>source.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.Q)(destroyed$))}},"./projects/core/src/services/lazy-loader.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{U:()=>NgxAbstractLazyModule,e:()=>NgxLazyLoaderService});var tslib__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js"),rxjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");class NgxAbstractLazyModule{componentType;constructor(componentType){this.componentType=componentType}}let NgxLazyLoaderService=class NgxLazyLoaderService{injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector);loadModule$(path,parentInjector){return(0,rxjs__WEBPACK_IMPORTED_MODULE_1__.H)(path).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_2__.T)((elementModuleOrFactory=>{const injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵcreateInjector"])(elementModuleOrFactory,parentInjector??this.injector);return{injector,module:injector.get(elementModuleOrFactory)}})))}};NgxLazyLoaderService=(0,tslib__WEBPACK_IMPORTED_MODULE_3__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxLazyLoaderService)},"./projects/status/src/status.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{t:()=>NgxStatusService});var tslib__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),_hug_ngx_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),rxjs__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js"),rxjs__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),rxjs__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js");let NgxStatusService=class NgxStatusService{document=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_common__WEBPACK_IMPORTED_MODULE_1__.DOCUMENT);lazyLoaderService=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_hug_ngx_core__WEBPACK_IMPORTED_MODULE_2__.e);injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector);resolver=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ComponentFactoryResolver);destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef);info(text,title="",duration,actions){this.showStatus({type:"info",title,text,duration,actions})}success(text,title="",duration,actions){this.showStatus({type:"success",title,text,duration,actions})}warning(text,title="Attention",technicalText,duration,actions){this.showStatus({type:"warn",title,text,duration,technicalText,actions})}error(text,title="Erreur",technicalText,duration,actions){this.showStatus({type:"danger",title,text,duration,technicalText,actions})}showStatus(status){this.lazyLoaderService.loadModule$(Promise.all([__webpack_require__.e(584),__webpack_require__.e(73)]).then(__webpack_require__.bind(__webpack_require__,"./projects/status/src/status.module.ts")).then((m=>m.NgxStatusModule))).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_3__.s)(1),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.n)((moduleInfos=>{const componentRef=this.resolver.resolveComponentFactory(moduleInfos.module.componentType).create(this.injector);componentRef.instance.status=status;const applicationRef=this.injector.get(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ApplicationRef);applicationRef.attachView(componentRef.hostView);const domElement=componentRef.hostView.rootNodes[0];this.document.body.appendChild(domElement),applicationRef.tick();const duration=status.duration||"danger"===status.type&&3e4||8e3;return(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(duration).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_6__.X)(componentRef.instance.close),(0,rxjs__WEBPACK_IMPORTED_MODULE_7__.M)((()=>{componentRef.destroy(),applicationRef.tick()})))})),(0,_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_8__.pQ)(this.destroyRef)).subscribe()}};NgxStatusService=(0,tslib__WEBPACK_IMPORTED_MODULE_9__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxStatusService)},"./node_modules/rxjs/dist/esm5/internal/operators/mapTo.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{u:()=>mapTo});var _map__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");function mapTo(value){return(0,_map__WEBPACK_IMPORTED_MODULE_0__.T)((function(){return value}))}},"./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{X:()=>mergeWith});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),argsOrArgArray=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/argsOrArgArray.js"),mergeAll=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js"),util_args=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/args.js"),from=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js");function merge(){for(var args=[],_i=0;_i{__webpack_require__.d(__webpack_exports__,{K:()=>argsOrArgArray});var isArray=Array.isArray;function argsOrArgArray(args){return 1===args.length&&isArray(args[0])?args[0]:args}},"./projects/story-book/src/status/status.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,complete:()=>complete,default:()=>__WEBPACK_DEFAULT_EXPORT__,minimumRequired:()=>minimumRequired,statusActions:()=>statusActions,statusCustomCssClass:()=>statusCustomCssClass,statusDuration:()=>statusDuration,statusTechnicalText:()=>statusTechnicalText,statusText:()=>statusText,statusType:()=>statusType});var _angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@angular/material/fesm2022/button-toggle.mjs"),_storybook_angular__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),_snackbar_src_snackbar_component__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./projects/snackbar/src/snackbar.component.ts"),_status_src_status_component__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./projects/status/src/status.component.ts"),_status_src_status_module__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./projects/status/src/status.module.ts"),_status_src_status_service__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./projects/status/src/status.service.ts");const __WEBPACK_DEFAULT_EXPORT__={title:"Components/Status",component:_status_src_status_component__WEBPACK_IMPORTED_MODULE_1__.n,decorators:[(0,_storybook_angular__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata)({imports:[_snackbar_src_snackbar_component__WEBPACK_IMPORTED_MODULE_2__.Q,_status_src_status_module__WEBPACK_IMPORTED_MODULE_3__.NgxStatusModule],providers:[_status_src_status_service__WEBPACK_IMPORTED_MODULE_4__.t]})],tags:["autodocs"],argTypes:{status:{description:"The object containing the status details to be displayed.",control:{type:"object"},table:{type:{summary:"NgxStatus"},defaultValue:{summary:"undefined"}}}},args:{},parameters:{docs:{description:{component:"The `NgxStatusComponent` displays informational messages in a popup, leveraging the `NgxSnackbarComponent`. It supports various types of notifications, custom actions, and detailed technical information."}}}},complete={parameters:{docs:{description:{story:'This example showcases a `NgxStatusComponent` with all available features, including title, type, text, date, duration, custom CSS class, technical text, and multiple actions. Depending on the user\'s "familyCode" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
'}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"This is a sample status message.",date:new Date,duration:5e3,className:"my-custom-css-class-2",technicalText:"Technical details about the status.",actions:[{label:"Action 1",callback:()=>console.log("Action 1 triggered.")},{label:"Action 2",callback:()=>console.log("Action 2 triggered.")}]}}},minimumRequired={parameters:{docs:{description:{story:"This example demonstrates the `NgxStatusComponent` with only the required fields: `title` and `type`. Additional fields are optional."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info"}}},statusText={parameters:{docs:{description:{story:"This example demonstrates how to use the `text` property to display additional information in the status component."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"Detailed message providing more context about the status."}}},statusType={decorators:[(0,_storybook_angular__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata)({imports:[_angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_5__.ec,_angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_5__.pc]})],parameters:{docs:{description:{story:"This example illustrates the different `type` values that the `NgxStatusComponent` can have: `primary`, `info`, `success`, `warn`, and `danger`. Use the buttons to switch between types."}}},render:args=>({props:{...args,typeChanged(type){this.status={title:"Sample Status Title",type,text:"Sample text for the status message."}}},template:'\n
\n \n
\n
\n \n primary\n info\n success\n warn\n danger\n \n
\n
\n '}),args:{status:{title:"Sample Status Title",type:"success",text:"Sample text for the status message."}}},statusTechnicalText={parameters:{docs:{description:{story:"This example shows how to include `technicalText` and `date` in the `NgxStatusComponent`. An info icon will appear, and clicking it will show the technical details in a dialog."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Error Status",type:"danger",date:new Date,text:"This is an error message.",technicalText:"Detailed technical information about the error."}}},statusActions={parameters:{docs:{description:{story:"This example demonstrates how to add actions to the `NgxStatusComponent`. Each action can be triggered with a callback."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"Message with multiple actions.",actions:[{label:"Action 1",callback:()=>alert("Action 1 executed.")},{label:"Action 2",callback:()=>alert("Action 2 executed.")}]}}},statusDuration={parameters:{docs:{description:{story:"This example demonstrates setting a custom `duration` for the `NgxStatusComponent`. By default, the duration is 30 seconds for danger types and 8 seconds for other types."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"Message with custom duration.",duration:3e3}}},statusCustomCssClass={parameters:{docs:{description:{story:"This example shows how to apply custom CSS styles to the `NgxStatusComponent` using the `className` property."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"Message with custom CSS class.",className:"my-custom-css-class"}}},__namedExportsOrder=["complete","minimumRequired","statusText","statusType","statusTechnicalText","statusActions","statusDuration","statusCustomCssClass"];complete.parameters={...complete.parameters,docs:{...complete.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example showcases a `NgxStatusComponent` with all available features, including title, type, text, date, duration, custom CSS class, technical text, and multiple actions. Depending on the user\\'s \"familyCode\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'This is a sample status message.',\n date: new Date(),\n duration: 5000,\n className: 'my-custom-css-class-2',\n technicalText: 'Technical details about the status.',\n actions: [{\n label: 'Action 1',\n callback: (): void => console.log('Action 1 triggered.')\n }, {\n label: 'Action 2',\n callback: (): void => console.log('Action 2 triggered.')\n }]\n }\n }\n}",...complete.parameters?.docs?.source}}},minimumRequired.parameters={...minimumRequired.parameters,docs:{...minimumRequired.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example demonstrates the `NgxStatusComponent` with only the required fields: `title` and `type`. Additional fields are optional.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info'\n }\n }\n}",...minimumRequired.parameters?.docs?.source}}},statusText.parameters={...statusText.parameters,docs:{...statusText.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example demonstrates how to use the `text` property to display additional information in the status component.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'Detailed message providing more context about the status.'\n }\n }\n}",...statusText.parameters?.docs?.source}}},statusType.parameters={...statusType.parameters,docs:{...statusType.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatButtonToggleGroup, MatButtonToggle]\n })],\n parameters: {\n docs: {\n description: {\n story: \'This example illustrates the different `type` values that the `NgxStatusComponent` can have: `primary`, `info`, `success`, `warn`, and `danger`. Use the buttons to switch between types.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n typeChanged(type: string): void {\n this[\'status\'] = {\n title: \'Sample Status Title\',\n type: type,\n text: \'Sample text for the status message.\'\n };\n }\n },\n template: `\n
\n \n
\n
\n \n primary\n info\n success\n warn\n danger\n \n
\n
\n `\n }),\n args: {\n status: {\n title: \'Sample Status Title\',\n type: \'success\',\n text: \'Sample text for the status message.\'\n }\n }\n}',...statusType.parameters?.docs?.source}}},statusTechnicalText.parameters={...statusTechnicalText.parameters,docs:{...statusTechnicalText.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example shows how to include `technicalText` and `date` in the `NgxStatusComponent`. An info icon will appear, and clicking it will show the technical details in a dialog.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Error Status',\n type: 'danger',\n date: new Date(),\n text: 'This is an error message.',\n technicalText: 'Detailed technical information about the error.'\n }\n }\n}",...statusTechnicalText.parameters?.docs?.source}}},statusActions.parameters={...statusActions.parameters,docs:{...statusActions.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example demonstrates how to add actions to the `NgxStatusComponent`. Each action can be triggered with a callback.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'Message with multiple actions.',\n actions: [{\n label: 'Action 1',\n callback: (): void => alert('Action 1 executed.')\n }, {\n label: 'Action 2',\n callback: (): void => alert('Action 2 executed.')\n }]\n }\n }\n}",...statusActions.parameters?.docs?.source}}},statusDuration.parameters={...statusDuration.parameters,docs:{...statusDuration.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example demonstrates setting a custom `duration` for the `NgxStatusComponent`. By default, the duration is 30 seconds for danger types and 8 seconds for other types.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'Message with custom duration.',\n duration: 3000 // Duration in milliseconds\n }\n }\n}",...statusDuration.parameters?.docs?.source}}},statusCustomCssClass.parameters={...statusCustomCssClass.parameters,docs:{...statusCustomCssClass.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example shows how to apply custom CSS styles to the `NgxStatusComponent` using the `className` property.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'Message with custom CSS class.',\n className: 'my-custom-css-class'\n }\n }\n}",...statusCustomCssClass.parameters?.docs?.source}}}}}]); \ No newline at end of file diff --git a/status-status-stories.f114a441.iframe.bundle.js.LICENSE.txt b/status-status-stories.16de7496.iframe.bundle.js.LICENSE.txt similarity index 100% rename from status-status-stories.f114a441.iframe.bundle.js.LICENSE.txt rename to status-status-stories.16de7496.iframe.bundle.js.LICENSE.txt diff --git a/status-status-stories.f114a441.iframe.bundle.js b/status-status-stories.f114a441.iframe.bundle.js deleted file mode 100644 index 97a91dc..0000000 --- a/status-status-stories.f114a441.iframe.bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see status-status-stories.f114a441.iframe.bundle.js.LICENSE.txt */ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[288],{"./node_modules/@angular/core/fesm2022/rxjs-interop.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{pQ:()=>takeUntilDestroyed});var _angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/Observable.js"),rxjs_operators__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js");function takeUntilDestroyed(destroyRef){destroyRef||((0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.assertInInjectionContext)(takeUntilDestroyed),destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef));const destroyed$=new rxjs__WEBPACK_IMPORTED_MODULE_1__.c((observer=>destroyRef.onDestroy(observer.next.bind(observer))));return source=>source.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.Q)(destroyed$))}},"./projects/core/src/services/lazy-loader.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{U:()=>NgxAbstractLazyModule,e:()=>NgxLazyLoaderService});var tslib__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),rxjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js"),rxjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");class NgxAbstractLazyModule{componentType;constructor(componentType){this.componentType=componentType}}let NgxLazyLoaderService=class NgxLazyLoaderService{injector;constructor(injector){this.injector=injector}loadModule$(path,parentInjector){return(0,rxjs__WEBPACK_IMPORTED_MODULE_0__.H)(path).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_1__.T)((elementModuleOrFactory=>{const injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵcreateInjector"])(elementModuleOrFactory,parentInjector??this.injector);return{injector,module:injector.get(elementModuleOrFactory)}})))}static ctorParameters=()=>[{type:_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injector}]};NgxLazyLoaderService=(0,tslib__WEBPACK_IMPORTED_MODULE_3__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.Injectable)({providedIn:"root"})],NgxLazyLoaderService)},"./projects/status/src/status.service.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{t:()=>NgxStatusService});var tslib__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),_angular_common__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),_angular_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__("./node_modules/@angular/core/fesm2022/rxjs-interop.mjs"),_hug_ngx_core__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./projects/core/src/services/lazy-loader.service.ts"),rxjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/take.js"),rxjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/switchMap.js"),rxjs__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/timer.js"),rxjs__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js"),rxjs__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/tap.js");let NgxStatusService=class NgxStatusService{document=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_common__WEBPACK_IMPORTED_MODULE_1__.DOCUMENT);lazyLoaderService=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_hug_ngx_core__WEBPACK_IMPORTED_MODULE_2__.e);injector=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injector);resolver=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ComponentFactoryResolver);destroyRef=(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.inject)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.DestroyRef);info(text,title="",duration,actions){this.showStatus({type:"info",title,text,duration,actions})}success(text,title="",duration,actions){this.showStatus({type:"success",title,text,duration,actions})}warning(text,title="Attention",technicalText,duration,actions){this.showStatus({type:"warn",title,text,duration,technicalText,actions})}error(text,title="Erreur",technicalText,duration,actions){this.showStatus({type:"danger",title,text,duration,technicalText,actions})}showStatus(status){this.lazyLoaderService.loadModule$(Promise.all([__webpack_require__.e(584),__webpack_require__.e(73)]).then(__webpack_require__.bind(__webpack_require__,"./projects/status/src/status.module.ts")).then((m=>m.NgxStatusModule))).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_3__.s)(1),(0,rxjs__WEBPACK_IMPORTED_MODULE_4__.n)((moduleInfos=>{const componentRef=this.resolver.resolveComponentFactory(moduleInfos.module.componentType).create(this.injector);componentRef.instance.status=status;const applicationRef=this.injector.get(_angular_core__WEBPACK_IMPORTED_MODULE_0__.ApplicationRef);applicationRef.attachView(componentRef.hostView);const domElement=componentRef.hostView.rootNodes[0];this.document.body.appendChild(domElement),applicationRef.tick();const duration=status.duration||"danger"===status.type&&3e4||8e3;return(0,rxjs__WEBPACK_IMPORTED_MODULE_5__.O)(duration).pipe((0,rxjs__WEBPACK_IMPORTED_MODULE_6__.X)(componentRef.instance.close),(0,rxjs__WEBPACK_IMPORTED_MODULE_7__.M)((()=>{componentRef.destroy(),applicationRef.tick()})))})),(0,_angular_core_rxjs_interop__WEBPACK_IMPORTED_MODULE_8__.pQ)(this.destroyRef)).subscribe()}};NgxStatusService=(0,tslib__WEBPACK_IMPORTED_MODULE_9__.Cg)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_0__.Injectable)({providedIn:"root"})],NgxStatusService)},"./node_modules/rxjs/dist/esm5/internal/operators/mapTo.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{u:()=>mapTo});var _map__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/map.js");function mapTo(value){return(0,_map__WEBPACK_IMPORTED_MODULE_0__.T)((function(){return value}))}},"./node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{X:()=>mergeWith});var tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),lift=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/lift.js"),argsOrArgArray=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/argsOrArgArray.js"),mergeAll=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js"),util_args=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/util/args.js"),from=__webpack_require__("./node_modules/rxjs/dist/esm5/internal/observable/from.js");function merge(){for(var args=[],_i=0;_i{__webpack_require__.d(__webpack_exports__,{K:()=>argsOrArgArray});var isArray=Array.isArray;function argsOrArgArray(args){return 1===args.length&&isArray(args[0])?args[0]:args}},"./projects/story-book/src/status/status.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,complete:()=>complete,default:()=>__WEBPACK_DEFAULT_EXPORT__,minimumRequired:()=>minimumRequired,statusActions:()=>statusActions,statusCustomCssClass:()=>statusCustomCssClass,statusDuration:()=>statusDuration,statusTechnicalText:()=>statusTechnicalText,statusText:()=>statusText,statusType:()=>statusType});var _angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/@angular/material/fesm2022/button-toggle.mjs"),_storybook_angular__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),_snackbar_src_snackbar_component__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./projects/snackbar/src/snackbar.component.ts"),_status_src_status_component__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./projects/status/src/status.component.ts"),_status_src_status_module__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./projects/status/src/status.module.ts"),_status_src_status_service__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./projects/status/src/status.service.ts");const __WEBPACK_DEFAULT_EXPORT__={title:"Components/Status",component:_status_src_status_component__WEBPACK_IMPORTED_MODULE_1__.n,decorators:[(0,_storybook_angular__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata)({imports:[_snackbar_src_snackbar_component__WEBPACK_IMPORTED_MODULE_2__.Q,_status_src_status_module__WEBPACK_IMPORTED_MODULE_3__.NgxStatusModule],providers:[_status_src_status_service__WEBPACK_IMPORTED_MODULE_4__.t]})],tags:["autodocs"],argTypes:{status:{description:"The object containing the status details to be displayed.",control:{type:"object"},table:{type:{summary:"NgxStatus"},defaultValue:{summary:"undefined"}}}},args:{},parameters:{docs:{description:{component:"The `NgxStatusComponent` displays informational messages in a popup, leveraging the `NgxSnackbarComponent`. It supports various types of notifications, custom actions, and detailed technical information."}}}},complete={parameters:{docs:{description:{story:'This example showcases a `NgxStatusComponent` with all available features, including title, type, text, date, duration, custom CSS class, technical text, and multiple actions. Depending on the user\'s "familyCode" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
'}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"This is a sample status message.",date:new Date,duration:5e3,className:"my-custom-css-class-2",technicalText:"Technical details about the status.",actions:[{label:"Action 1",callback:()=>console.log("Action 1 triggered.")},{label:"Action 2",callback:()=>console.log("Action 2 triggered.")}]}}},minimumRequired={parameters:{docs:{description:{story:"This example demonstrates the `NgxStatusComponent` with only the required fields: `title` and `type`. Additional fields are optional."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info"}}},statusText={parameters:{docs:{description:{story:"This example demonstrates how to use the `text` property to display additional information in the status component."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"Detailed message providing more context about the status."}}},statusType={decorators:[(0,_storybook_angular__WEBPACK_IMPORTED_MODULE_0__.moduleMetadata)({imports:[_angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_5__.ec,_angular_material_button_toggle__WEBPACK_IMPORTED_MODULE_5__.pc]})],parameters:{docs:{description:{story:"This example illustrates the different `type` values that the `NgxStatusComponent` can have: `primary`, `info`, `success`, `warn`, and `danger`. Use the buttons to switch between types."}}},render:args=>({props:{...args,typeChanged(type){this.status={title:"Sample Status Title",type,text:"Sample text for the status message."}}},template:'\n
\n \n
\n
\n \n primary\n info\n success\n warn\n danger\n \n
\n
\n '}),args:{status:{title:"Sample Status Title",type:"success",text:"Sample text for the status message."}}},statusTechnicalText={parameters:{docs:{description:{story:"This example shows how to include `technicalText` and `date` in the `NgxStatusComponent`. An info icon will appear, and clicking it will show the technical details in a dialog."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Error Status",type:"danger",date:new Date,text:"This is an error message.",technicalText:"Detailed technical information about the error."}}},statusActions={parameters:{docs:{description:{story:"This example demonstrates how to add actions to the `NgxStatusComponent`. Each action can be triggered with a callback."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"Message with multiple actions.",actions:[{label:"Action 1",callback:()=>alert("Action 1 executed.")},{label:"Action 2",callback:()=>alert("Action 2 executed.")}]}}},statusDuration={parameters:{docs:{description:{story:"This example demonstrates setting a custom `duration` for the `NgxStatusComponent`. By default, the duration is 30 seconds for danger types and 8 seconds for other types."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"Message with custom duration.",duration:3e3}}},statusCustomCssClass={parameters:{docs:{description:{story:"This example shows how to apply custom CSS styles to the `NgxStatusComponent` using the `className` property."}}},render:args=>({props:{...args},template:'\n
\n \n
\n '}),args:{status:{title:"Sample Status Title",type:"info",text:"Message with custom CSS class.",className:"my-custom-css-class"}}},__namedExportsOrder=["complete","minimumRequired","statusText","statusType","statusTechnicalText","statusActions","statusDuration","statusCustomCssClass"];complete.parameters={...complete.parameters,docs:{...complete.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example showcases a `NgxStatusComponent` with all available features, including title, type, text, date, duration, custom CSS class, technical text, and multiple actions. Depending on the user\\'s \"familyCode\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'This is a sample status message.',\n date: new Date(),\n duration: 5000,\n className: 'my-custom-css-class-2',\n technicalText: 'Technical details about the status.',\n actions: [{\n label: 'Action 1',\n callback: (): void => console.log('Action 1 triggered.')\n }, {\n label: 'Action 2',\n callback: (): void => console.log('Action 2 triggered.')\n }]\n }\n }\n}",...complete.parameters?.docs?.source}}},minimumRequired.parameters={...minimumRequired.parameters,docs:{...minimumRequired.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example demonstrates the `NgxStatusComponent` with only the required fields: `title` and `type`. Additional fields are optional.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info'\n }\n }\n}",...minimumRequired.parameters?.docs?.source}}},statusText.parameters={...statusText.parameters,docs:{...statusText.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example demonstrates how to use the `text` property to display additional information in the status component.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'Detailed message providing more context about the status.'\n }\n }\n}",...statusText.parameters?.docs?.source}}},statusType.parameters={...statusType.parameters,docs:{...statusType.parameters?.docs,source:{originalSource:'{\n decorators: [moduleMetadata({\n imports: [MatButtonToggleGroup, MatButtonToggle]\n })],\n parameters: {\n docs: {\n description: {\n story: \'This example illustrates the different `type` values that the `NgxStatusComponent` can have: `primary`, `info`, `success`, `warn`, and `danger`. Use the buttons to switch between types.\'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n typeChanged(type: string): void {\n this[\'status\'] = {\n title: \'Sample Status Title\',\n type: type,\n text: \'Sample text for the status message.\'\n };\n }\n },\n template: `\n
\n \n
\n
\n \n primary\n info\n success\n warn\n danger\n \n
\n
\n `\n }),\n args: {\n status: {\n title: \'Sample Status Title\',\n type: \'success\',\n text: \'Sample text for the status message.\'\n }\n }\n}',...statusType.parameters?.docs?.source}}},statusTechnicalText.parameters={...statusTechnicalText.parameters,docs:{...statusTechnicalText.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example shows how to include `technicalText` and `date` in the `NgxStatusComponent`. An info icon will appear, and clicking it will show the technical details in a dialog.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Error Status',\n type: 'danger',\n date: new Date(),\n text: 'This is an error message.',\n technicalText: 'Detailed technical information about the error.'\n }\n }\n}",...statusTechnicalText.parameters?.docs?.source}}},statusActions.parameters={...statusActions.parameters,docs:{...statusActions.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example demonstrates how to add actions to the `NgxStatusComponent`. Each action can be triggered with a callback.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'Message with multiple actions.',\n actions: [{\n label: 'Action 1',\n callback: (): void => alert('Action 1 executed.')\n }, {\n label: 'Action 2',\n callback: (): void => alert('Action 2 executed.')\n }]\n }\n }\n}",...statusActions.parameters?.docs?.source}}},statusDuration.parameters={...statusDuration.parameters,docs:{...statusDuration.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example demonstrates setting a custom `duration` for the `NgxStatusComponent`. By default, the duration is 30 seconds for danger types and 8 seconds for other types.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'Message with custom duration.',\n duration: 3000 // Duration in milliseconds\n }\n }\n}",...statusDuration.parameters?.docs?.source}}},statusCustomCssClass.parameters={...statusCustomCssClass.parameters,docs:{...statusCustomCssClass.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'This example shows how to apply custom CSS styles to the `NgxStatusComponent` using the `className` property.'\n }\n }\n },\n render: args => ({\n props: {\n ...args\n },\n template: `\n
\n \n
\n `\n }),\n args: {\n status: {\n title: 'Sample Status Title',\n type: 'info',\n text: 'Message with custom CSS class.',\n className: 'my-custom-css-class'\n }\n }\n}",...statusCustomCssClass.parameters?.docs?.source}}}}}]); \ No newline at end of file diff --git a/user-card-user-card-stories.f7110038.iframe.bundle.js b/user-card-user-card-stories.6d0f86bd.iframe.bundle.js similarity index 99% rename from user-card-user-card-stories.f7110038.iframe.bundle.js rename to user-card-user-card-stories.6d0f86bd.iframe.bundle.js index 937d35c..8730e5f 100644 --- a/user-card-user-card-stories.f7110038.iframe.bundle.js +++ b/user-card-user-card-stories.6d0f86bd.iframe.bundle.js @@ -1 +1 @@ -(self.webpackChunk=self.webpackChunk||[]).push([[158],{"./projects/story-book/src/user-card/user-card.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,default:()=>user_card_stories,dynamicBadgeColor:()=>dynamicBadgeColor,notExpandedUserCard:()=>notExpandedUserCard,standard:()=>standard,userAbbreviationTitle:()=>userAbbreviationTitle,userWithMissingInfo:()=>userWithMissingInfo});var button_toggle=__webpack_require__("./node_modules/@angular/material/fesm2022/button-toggle.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),user_card_componentngResource=__webpack_require__("./projects/user-card/src/user-card.component.scss?ngResource"),user_card_componentngResource_default=__webpack_require__.n(user_card_componentngResource);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs");const greenBadgeFamily=["Médico-technique","Social","Médico-thérapeutique","Pharmacie"],blueBadgeFamily=["Soins","Infirmier-e"],redBadgeFamily=["Médecin dentiste","Médecin"];let NgxUserCardComponent=class NgxUserCardComponent{user;userCard;_expanded=!0;set expanded(value){this._expanded=(0,coercion.he)(value)}get expanded(){return this._expanded}ngOnChanges(changes){changes.user&&(this.userCard=this.buildDisplayableUserCard(this.user))}buildDisplayableUserCard(user){return{fullname:this.getFullName(user),initials:user.initials,function:this.getFunction(user).toLocaleLowerCase(),specialty:this.getSpecialty(user),badgeColor:this.getBadgeColor(user.familyCode),service:user.esoN3Label,type:user.type,phoneNumber:this.formatPhone(user.phone),mobileNumber:this.formatPhone(user.bip||user.mobile),email:user.email?.toLowerCase(),address:this.getUserAddress(user)}}getUserAddress(user){if(user.organisation||user.address||user.zipCode||user.city){let address="";return user.organisation&&(address+=`${user.organisation}
`),user.address&&(address+=`${user.address}
`),user.zipCode&&(address+=`${user.zipCode} `),user.city&&(address+=`${user.city}`),address}}getBadgeColor(familyCode){if(familyCode)return greenBadgeFamily.includes(familyCode)?"green":blueBadgeFamily.includes(familyCode)?"blue":redBadgeFamily.includes(familyCode)?"red":"grey"}getSpecialty(user){return this.isValidSpecialty(user.specialty1)||this.isValidSpecialty(user.specialty2)?[user.specialty1,user.specialty2].filter((s=>this.isValidSpecialty(s))).join(", "):user.speciality?.trim()?user.speciality:void 0}isValidSpecialty(specialty){const s=specialty?.trim();return!!s&&"-"!==s&&"null"!==s}getFunction(user){return user.groupFunctionLabel?`${user.groupFunctionLabel}`:`${user.functionSefName?user.functionSefName:""} ${user.functionSefCode?`(${user.functionSefCode})`:""} ${user.role?`/ ${user.role}`:""}`}getShortTitle(title){switch(title?.toLowerCase().trim()){case"monsieur":return"M.";case"madame":return"Mme.";case"docteur":return"Dr.";case"docteure":return"Dre.";case"professeur":return"Pr.";case"professeure":return"Pre.";default:return title||""}}getFullName(user){return`${this.getShortTitle(user.title)} ${user.firstname||""} ${user.lastname||""}`}formatPhone(rawNumber){return 10===rawNumber?.length&&rawNumber.startsWith("0")?rawNumber.replace(/^(\d{3})(\d{3})(\d{2})(\d{2})$/,"$1 $2 $3 $4"):12===rawNumber?.length&&rawNumber.startsWith("+")||13===rawNumber?.length&&rawNumber.startsWith("00")?rawNumber.replace(/^(\+|0{2})(\d{2})(\d{2})(\d{3})(\d{2})(\d{2})$/,"$1$2 $3 $4 $5 $6"):rawNumber}static propDecorators={user:[{type:core.Input}],expanded:[{type:core.Input}],ngOnChanges:[{type:core.Input}]}};NgxUserCardComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-user-card",template:'
\n @if (userCard.badgeColor; as badgeColor) {\n \n }\n
\n
\n {{ userCard.fullname }}\n @if (userCard.initials; as initials) {\n \n {{ \' - \' + initials }}\n \n }\n
\n
\n {{ userCard.function }}{{ userCard.specialty ? \' - \' + userCard.specialty : \'\' }}\n
\n
\n
\n@if (expanded) {\n
\n
\n
\n
\n
Service
\n
{{ userCard.service ?? \'-\' }}
\n
\n
\n
Type
\n
{{ userCard.type ?? \'-\' }}
\n
\n
\n
Téléphone
\n
{{ userCard.phoneNumber ?? \'-\' }}
\n
\n
\n
Mobile
\n
{{ userCard.mobileNumber ?? \'-\' }}
\n
\n
\n
Email
\n
{{ userCard.email ?? \'-\' }}
\n
\n
\n
Adresse
\n
\n
\n
\n
\n}\n',changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,standalone:!0,imports:[common.NgClass,icon.An],styles:[user_card_componentngResource_default()]})],NgxUserCardComponent);const user_card_stories={title:"Components/User Card",component:NgxUserCardComponent,tags:["autodocs"],decorators:[(0,dist.moduleMetadata)({imports:[button_toggle.Vg]})],parameters:{layout:"centered",docs:{description:{component:"The `NgxUserCardComponent` displays user information. The UserCard can be expanded or compressed, showing or hiding additional details based on the `expanded` input."}}},argTypes:{expanded:{control:"boolean",table:{defaultValue:{summary:"true"},type:{summary:"boolean"}},description:"Set to false to have a compressed UserCard with less information."},user:{control:"object",table:{type:{summary:"NgxUserCard"}},description:"User information object for displaying in the card."}},args:{user:{title:"Docteur",firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:"Infirmier-e",functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"},expanded:!1}},standard={args:{expanded:!0}},notExpandedUserCard={parameters:{docs:{description:{story:'You can set the "expanded" property to false to have a compressed UserCard with less information.'}}}},dynamicBadgeColor={parameters:{docs:{description:{story:'Depending on the user\'s "familyCode" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
'}}},render:args=>({props:{...args,familyCodeChanged(code){this.user={title:"Professeur",firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:code,functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"}}},template:'\n
\n \n
\n
\n \n Social\n Infirmier-e\n Médecin dentiste\n Custom text\n Empty\n \n
\n
\n '}),args:{user:{title:"Professeur",firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:"Social",functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"}}},userAbbreviationTitle={parameters:{docs:{description:{story:'Depending on the user\'s "title" property given, the UserCard will display its abbreviation.
  • Docteur / Docteure : Dr, Dre
  • Monsieur / Madame : M, Mme
  • Professeur / Professeure : Pr, Pre
Any other text in the "title" property will be displayed entirely.'}}},render:args=>({props:{...args,titleChanged(code){this.user={title:code,firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:"Soins",functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"}}},template:'\n
\n \n
\n
\n \n Docteur\n Docteure\n Monsieur\n Madame\n Professeur\n Professeure\n OtherTitle\n \n
\n
\n '}),args:{user:{title:"Professeur",firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:"Infirmier-e",functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"}}},userWithMissingInfo={parameters:{docs:{description:{story:"Displays the component when certain user information is missing. This helps ensure that the rendering remains consistent even with incomplete data."}}},args:{user:{title:"Professor",firstname:"Jean",lastname:"PATATE",initials:"jpat",email:"jean.patate@hug.ch"},expanded:!0}},__namedExportsOrder=["standard","notExpandedUserCard","dynamicBadgeColor","userAbbreviationTitle","userWithMissingInfo"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:"{\n args: {\n expanded: true\n }\n}",...standard.parameters?.docs?.source}}},notExpandedUserCard.parameters={...notExpandedUserCard.parameters,docs:{...notExpandedUserCard.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'You can set the \"expanded\" property to false to have a compressed UserCard with less information.'\n }\n }\n }\n}",...notExpandedUserCard.parameters?.docs?.source}}},dynamicBadgeColor.parameters={...dynamicBadgeColor.parameters,docs:{...dynamicBadgeColor.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Depending on the user\\'s \"familyCode\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n familyCodeChanged(code: string): void {\n this['user'] = {\n title: 'Professeur',\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n type: 'Type',\n email: 'jean.patate@hug.ch',\n role: 'Medecin',\n groupFunctionLabel: 'Group',\n familyCode: code,\n functionSefName: 'SefNameFunction',\n functionSefCode: 'SefCodeFunction',\n organisation: 'HUG',\n speciality: 'Neurochirurgie',\n specialty1: 'Dermatologie',\n specialty2: 'Pedicure',\n esoN3Label: 'EsoN3Label',\n login: 'PatateLogin',\n phone: '+44 150 509 39',\n bip: '8859595',\n mobile: '+44 150 509 39',\n address: 'Carouge, 7 Rue St Julien',\n city: 'Carouge',\n zipCode: '1227'\n };\n }\n },\n template: `\n
\n \n
\n
\n \n Social\n Infirmier-e\n Médecin dentiste\n Custom text\n Empty\n \n
\n
\n `\n }),\n args: {\n user: {\n title: 'Professeur',\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n type: 'Type',\n email: 'jean.patate@hug.ch',\n role: 'Medecin',\n groupFunctionLabel: 'Group',\n familyCode: 'Social',\n functionSefName: 'SefNameFunction',\n functionSefCode: 'SefCodeFunction',\n organisation: 'HUG',\n speciality: 'Neurochirurgie',\n specialty1: 'Dermatologie',\n specialty2: 'Pedicure',\n esoN3Label: 'EsoN3Label',\n login: 'PatateLogin',\n phone: '+44 150 509 39',\n bip: '8859595',\n mobile: '+44 150 509 39',\n address: 'Carouge, 7 Rue St Julien',\n city: 'Carouge',\n zipCode: '1227'\n }\n }\n}",...dynamicBadgeColor.parameters?.docs?.source}}},userAbbreviationTitle.parameters={...userAbbreviationTitle.parameters,docs:{...userAbbreviationTitle.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Depending on the user\\'s \"title\" property given, the UserCard will display its abbreviation.
  • Docteur / Docteure : Dr, Dre
  • Monsieur / Madame : M, Mme
  • Professeur / Professeure : Pr, Pre
Any other text in the \"title\" property will be displayed entirely.'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n titleChanged(code: string): void {\n this['user'] = {\n title: code,\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n type: 'Type',\n email: 'jean.patate@hug.ch',\n role: 'Medecin',\n groupFunctionLabel: 'Group',\n familyCode: 'Soins',\n functionSefName: 'SefNameFunction',\n functionSefCode: 'SefCodeFunction',\n organisation: 'HUG',\n speciality: 'Neurochirurgie',\n specialty1: 'Dermatologie',\n specialty2: 'Pedicure',\n esoN3Label: 'EsoN3Label',\n login: 'PatateLogin',\n phone: '+44 150 509 39',\n bip: '8859595',\n mobile: '+44 150 509 39',\n address: 'Carouge, 7 Rue St Julien',\n city: 'Carouge',\n zipCode: '1227'\n };\n }\n },\n template: `\n
\n \n
\n
\n \n Docteur\n Docteure\n Monsieur\n Madame\n Professeur\n Professeure\n OtherTitle\n \n
\n
\n `\n }),\n args: {\n user: {\n title: 'Professeur',\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n type: 'Type',\n email: 'jean.patate@hug.ch',\n role: 'Medecin',\n groupFunctionLabel: 'Group',\n familyCode: 'Infirmier-e',\n functionSefName: 'SefNameFunction',\n functionSefCode: 'SefCodeFunction',\n organisation: 'HUG',\n speciality: 'Neurochirurgie',\n specialty1: 'Dermatologie',\n specialty2: 'Pedicure',\n esoN3Label: 'EsoN3Label',\n login: 'PatateLogin',\n phone: '+44 150 509 39',\n bip: '8859595',\n mobile: '+44 150 509 39',\n address: 'Carouge, 7 Rue St Julien',\n city: 'Carouge',\n zipCode: '1227'\n }\n }\n}",...userAbbreviationTitle.parameters?.docs?.source}}},userWithMissingInfo.parameters={...userWithMissingInfo.parameters,docs:{...userWithMissingInfo.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Displays the component when certain user information is missing. This helps ensure that the rendering remains consistent even with incomplete data.'\n }\n }\n },\n args: {\n user: {\n title: 'Professor',\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n email: 'jean.patate@hug.ch'\n // Phone number and address are missing\n },\n expanded: true\n }\n}",...userWithMissingInfo.parameters?.docs?.source}}}},"./projects/user-card/src/user-card.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-user-card {\n display: block;\n font-family: "Roboto";\n border-radius: 8px;\n width: 350px;\n padding: 1rem;\n word-break: break-word;\n}\nngx-user-card > .ngx-user-card-header {\n display: flex;\n flex-direction: row;\n align-items: center;\n font-size: 12px;\n font-weight: 400;\n}\nngx-user-card > .ngx-user-card-header.expandable {\n cursor: pointer;\n}\nngx-user-card > .ngx-user-card-header > .header-badge {\n display: flex;\n flex: 0 0 auto;\n width: 16px;\n height: 16px;\n margin: 10px;\n border-radius: 12px;\n}\nngx-user-card > .ngx-user-card-header > .header-infos {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n}\nngx-user-card > .ngx-user-card-header > .header-infos > .header-fullname {\n display: flex;\n align-items: baseline;\n font-weight: 600;\n font-size: 1rem;\n}\nngx-user-card > .ngx-user-card-header > .header-infos > .header-fullname > .header-initials {\n font-size: 12px;\n margin-left: 5px;\n font-weight: 400;\n text-transform: uppercase;\n}\nngx-user-card > .ngx-user-card-header > .header-infos > .header-function {\n font-size: 14px;\n}\nngx-user-card > .ngx-user-card-header > .header-infos > .header-function::first-letter {\n text-transform: uppercase;\n}\nngx-user-card > .ngx-user-card-header > .header-icon {\n display: flex;\n transition: rotate 300ms ease-in-out;\n}\nngx-user-card > .ngx-user-card-header > .header-icon.expanded {\n rotate: -180deg;\n}\nngx-user-card > .ngx-user-card-wrapper {\n overflow: hidden;\n}\nngx-user-card hr {\n border-bottom: 1px;\n margin: 1rem 0;\n}\nngx-user-card .ngx-user-card-content {\n display: grid;\n grid-template-columns: 3fr 2fr;\n grid-template-rows: auto;\n grid-template-areas: "service type" "phone mobile" "email email" "address address";\n row-gap: 12px;\n column-gap: 0.5rem;\n}\nngx-user-card .ngx-user-card-content .label {\n font-weight: 400;\n font-size: 10px;\n line-height: 14px;\n}\nngx-user-card .ngx-user-card-content .value {\n line-height: 20px;\n}\nngx-user-card .ngx-user-card-content > .content-type {\n grid-area: type;\n}\nngx-user-card .ngx-user-card-content > .content-service {\n grid-area: service;\n}\nngx-user-card .ngx-user-card-content > .content-phone {\n grid-area: phone;\n}\nngx-user-card .ngx-user-card-content > .content-mobile {\n grid-area: mobile;\n}\nngx-user-card .ngx-user-card-content > .content-email {\n grid-area: email;\n}\nngx-user-card .ngx-user-card-content > .content-address {\n grid-area: address;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file +(self.webpackChunk=self.webpackChunk||[]).push([[158],{"./projects/story-book/src/user-card/user-card.stories.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{__namedExportsOrder:()=>__namedExportsOrder,default:()=>user_card_stories,dynamicBadgeColor:()=>dynamicBadgeColor,notExpandedUserCard:()=>notExpandedUserCard,standard:()=>standard,userAbbreviationTitle:()=>userAbbreviationTitle,userWithMissingInfo:()=>userWithMissingInfo});var button_toggle=__webpack_require__("./node_modules/@angular/material/fesm2022/button-toggle.mjs"),dist=__webpack_require__("./node_modules/@storybook/angular/dist/index.mjs"),tslib_es6=__webpack_require__("./node_modules/tslib/tslib.es6.mjs"),user_card_componentngResource=__webpack_require__("./projects/user-card/src/user-card.component.scss?ngResource"),user_card_componentngResource_default=__webpack_require__.n(user_card_componentngResource);var coercion=__webpack_require__("./node_modules/@angular/cdk/fesm2022/coercion.mjs"),common=__webpack_require__("./node_modules/@angular/common/fesm2022/common.mjs"),core=__webpack_require__("./node_modules/@angular/core/fesm2022/core.mjs"),icon=__webpack_require__("./node_modules/@angular/material/fesm2022/icon.mjs");const greenBadgeFamily=["Médico-technique","Social","Médico-thérapeutique","Pharmacie"],blueBadgeFamily=["Soins","Infirmier-e"],redBadgeFamily=["Médecin dentiste","Médecin"];let NgxUserCardComponent=class NgxUserCardComponent{user;userCard;_expanded=!0;set expanded(value){this._expanded=(0,coercion.he)(value)}get expanded(){return this._expanded}ngOnChanges(changes){changes.user&&(this.userCard=this.buildDisplayableUserCard(this.user))}buildDisplayableUserCard(user){return{fullname:this.getFullName(user),initials:user.initials,function:this.getFunction(user).toLocaleLowerCase(),specialty:this.getSpecialty(user),badgeColor:this.getBadgeColor(user.familyCode),service:user.esoN3Label,type:user.type,phoneNumber:this.formatPhone(user.phone),mobileNumber:this.formatPhone(user.bip||user.mobile),email:user.email?.toLowerCase(),address:this.getUserAddress(user)}}getUserAddress(user){if(user.organisation||user.address||user.zipCode||user.city){let address="";return user.organisation&&(address+=`${user.organisation}
`),user.address&&(address+=`${user.address}
`),user.zipCode&&(address+=`${user.zipCode} `),user.city&&(address+=`${user.city}`),address}}getBadgeColor(familyCode){if(familyCode)return greenBadgeFamily.includes(familyCode)?"green":blueBadgeFamily.includes(familyCode)?"blue":redBadgeFamily.includes(familyCode)?"red":"grey"}getSpecialty(user){return this.isValidSpecialty(user.specialty1)||this.isValidSpecialty(user.specialty2)?[user.specialty1,user.specialty2].filter((s=>this.isValidSpecialty(s))).join(", "):user.speciality?.trim()?user.speciality:void 0}isValidSpecialty(specialty){const s=specialty?.trim();return!!s&&"-"!==s&&"null"!==s}getFunction(user){return user.groupFunctionLabel?`${user.groupFunctionLabel}`:`${user.functionSefName?user.functionSefName:""} ${user.functionSefCode?`(${user.functionSefCode})`:""} ${user.role?`/ ${user.role}`:""}`}getShortTitle(title){switch(title?.toLowerCase().trim()){case"monsieur":return"M.";case"madame":return"Mme.";case"docteur":return"Dr.";case"docteure":return"Dre.";case"professeur":return"Pr.";case"professeure":return"Pre.";default:return title||""}}getFullName(user){return`${this.getShortTitle(user.title)} ${user.firstname||""} ${user.lastname||""}`}formatPhone(rawNumber){return 10===rawNumber?.length&&rawNumber.startsWith("0")?rawNumber.replace(/^(\d{3})(\d{3})(\d{2})(\d{2})$/,"$1 $2 $3 $4"):12===rawNumber?.length&&rawNumber.startsWith("+")||13===rawNumber?.length&&rawNumber.startsWith("00")?rawNumber.replace(/^(\+|0{2})(\d{2})(\d{2})(\d{3})(\d{2})(\d{2})$/,"$1$2 $3 $4 $5 $6"):rawNumber}static propDecorators={user:[{type:core.Input}],expanded:[{type:core.Input}],ngOnChanges:[{type:core.Input}]}};NgxUserCardComponent=(0,tslib_es6.Cg)([(0,core.Component)({selector:"ngx-user-card",template:'
\n @if (userCard.badgeColor; as badgeColor) {\n \n }\n
\n
\n {{ userCard.fullname }}\n @if (userCard.initials; as initials) {\n \n {{ \' - \' + initials }}\n \n }\n
\n
\n {{ userCard.function }}{{ userCard.specialty ? \' - \' + userCard.specialty : \'\' }}\n
\n
\n
\n@if (expanded) {\n
\n
\n
\n
\n
Service
\n
{{ userCard.service ?? \'-\' }}
\n
\n
\n
Type
\n
{{ userCard.type ?? \'-\' }}
\n
\n
\n
Téléphone
\n
{{ userCard.phoneNumber ?? \'-\' }}
\n
\n
\n
Mobile
\n
{{ userCard.mobileNumber ?? \'-\' }}
\n
\n
\n
Email
\n
{{ userCard.email ?? \'-\' }}
\n
\n
\n
Adresse
\n
\n
\n
\n
\n}\n',changeDetection:core.ChangeDetectionStrategy.OnPush,encapsulation:core.ViewEncapsulation.None,standalone:!0,imports:[common.NgClass,icon.An],styles:[user_card_componentngResource_default()]})],NgxUserCardComponent);const user_card_stories={title:"Components/User Card",component:NgxUserCardComponent,tags:["autodocs"],decorators:[(0,dist.moduleMetadata)({imports:[button_toggle.pc]})],parameters:{layout:"centered",docs:{description:{component:"The `NgxUserCardComponent` displays user information. The UserCard can be expanded or compressed, showing or hiding additional details based on the `expanded` input."}}},argTypes:{expanded:{control:"boolean",table:{defaultValue:{summary:"true"},type:{summary:"boolean"}},description:"Set to false to have a compressed UserCard with less information."},user:{control:"object",table:{type:{summary:"NgxUserCard"}},description:"User information object for displaying in the card."}},args:{user:{title:"Docteur",firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:"Infirmier-e",functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"},expanded:!1}},standard={args:{expanded:!0}},notExpandedUserCard={parameters:{docs:{description:{story:'You can set the "expanded" property to false to have a compressed UserCard with less information.'}}}},dynamicBadgeColor={parameters:{docs:{description:{story:'Depending on the user\'s "familyCode" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
'}}},render:args=>({props:{...args,familyCodeChanged(code){this.user={title:"Professeur",firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:code,functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"}}},template:'\n
\n \n
\n
\n \n Social\n Infirmier-e\n Médecin dentiste\n Custom text\n Empty\n \n
\n
\n '}),args:{user:{title:"Professeur",firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:"Social",functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"}}},userAbbreviationTitle={parameters:{docs:{description:{story:'Depending on the user\'s "title" property given, the UserCard will display its abbreviation.
  • Docteur / Docteure : Dr, Dre
  • Monsieur / Madame : M, Mme
  • Professeur / Professeure : Pr, Pre
Any other text in the "title" property will be displayed entirely.'}}},render:args=>({props:{...args,titleChanged(code){this.user={title:code,firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:"Soins",functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"}}},template:'\n
\n \n
\n
\n \n Docteur\n Docteure\n Monsieur\n Madame\n Professeur\n Professeure\n OtherTitle\n \n
\n
\n '}),args:{user:{title:"Professeur",firstname:"Jean",lastname:"PATATE",initials:"jpat",type:"Type",email:"jean.patate@hug.ch",role:"Medecin",groupFunctionLabel:"Group",familyCode:"Infirmier-e",functionSefName:"SefNameFunction",functionSefCode:"SefCodeFunction",organisation:"HUG",speciality:"Neurochirurgie",specialty1:"Dermatologie",specialty2:"Pedicure",esoN3Label:"EsoN3Label",login:"PatateLogin",phone:"+44 150 509 39",bip:"8859595",mobile:"+44 150 509 39",address:"Carouge, 7 Rue St Julien",city:"Carouge",zipCode:"1227"}}},userWithMissingInfo={parameters:{docs:{description:{story:"Displays the component when certain user information is missing. This helps ensure that the rendering remains consistent even with incomplete data."}}},args:{user:{title:"Professor",firstname:"Jean",lastname:"PATATE",initials:"jpat",email:"jean.patate@hug.ch"},expanded:!0}},__namedExportsOrder=["standard","notExpandedUserCard","dynamicBadgeColor","userAbbreviationTitle","userWithMissingInfo"];standard.parameters={...standard.parameters,docs:{...standard.parameters?.docs,source:{originalSource:"{\n args: {\n expanded: true\n }\n}",...standard.parameters?.docs?.source}}},notExpandedUserCard.parameters={...notExpandedUserCard.parameters,docs:{...notExpandedUserCard.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'You can set the \"expanded\" property to false to have a compressed UserCard with less information.'\n }\n }\n }\n}",...notExpandedUserCard.parameters?.docs?.source}}},dynamicBadgeColor.parameters={...dynamicBadgeColor.parameters,docs:{...dynamicBadgeColor.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Depending on the user\\'s \"familyCode\" property given, the UserCard can have a green, blue, red or gray colored badge.
  • Green : Médico-technique, Social, Médico-thérapeutique, Pharmacie
  • Blue : Soins, Infirmier-e
  • Red : Médecin dentiste, Médecin
  • Gray : Any other text
  • Nothing : Empty familyCode
'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n familyCodeChanged(code: string): void {\n this['user'] = {\n title: 'Professeur',\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n type: 'Type',\n email: 'jean.patate@hug.ch',\n role: 'Medecin',\n groupFunctionLabel: 'Group',\n familyCode: code,\n functionSefName: 'SefNameFunction',\n functionSefCode: 'SefCodeFunction',\n organisation: 'HUG',\n speciality: 'Neurochirurgie',\n specialty1: 'Dermatologie',\n specialty2: 'Pedicure',\n esoN3Label: 'EsoN3Label',\n login: 'PatateLogin',\n phone: '+44 150 509 39',\n bip: '8859595',\n mobile: '+44 150 509 39',\n address: 'Carouge, 7 Rue St Julien',\n city: 'Carouge',\n zipCode: '1227'\n };\n }\n },\n template: `\n
\n \n
\n
\n \n Social\n Infirmier-e\n Médecin dentiste\n Custom text\n Empty\n \n
\n
\n `\n }),\n args: {\n user: {\n title: 'Professeur',\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n type: 'Type',\n email: 'jean.patate@hug.ch',\n role: 'Medecin',\n groupFunctionLabel: 'Group',\n familyCode: 'Social',\n functionSefName: 'SefNameFunction',\n functionSefCode: 'SefCodeFunction',\n organisation: 'HUG',\n speciality: 'Neurochirurgie',\n specialty1: 'Dermatologie',\n specialty2: 'Pedicure',\n esoN3Label: 'EsoN3Label',\n login: 'PatateLogin',\n phone: '+44 150 509 39',\n bip: '8859595',\n mobile: '+44 150 509 39',\n address: 'Carouge, 7 Rue St Julien',\n city: 'Carouge',\n zipCode: '1227'\n }\n }\n}",...dynamicBadgeColor.parameters?.docs?.source}}},userAbbreviationTitle.parameters={...userAbbreviationTitle.parameters,docs:{...userAbbreviationTitle.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Depending on the user\\'s \"title\" property given, the UserCard will display its abbreviation.
  • Docteur / Docteure : Dr, Dre
  • Monsieur / Madame : M, Mme
  • Professeur / Professeure : Pr, Pre
Any other text in the \"title\" property will be displayed entirely.'\n }\n }\n },\n render: args => ({\n props: {\n ...args,\n titleChanged(code: string): void {\n this['user'] = {\n title: code,\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n type: 'Type',\n email: 'jean.patate@hug.ch',\n role: 'Medecin',\n groupFunctionLabel: 'Group',\n familyCode: 'Soins',\n functionSefName: 'SefNameFunction',\n functionSefCode: 'SefCodeFunction',\n organisation: 'HUG',\n speciality: 'Neurochirurgie',\n specialty1: 'Dermatologie',\n specialty2: 'Pedicure',\n esoN3Label: 'EsoN3Label',\n login: 'PatateLogin',\n phone: '+44 150 509 39',\n bip: '8859595',\n mobile: '+44 150 509 39',\n address: 'Carouge, 7 Rue St Julien',\n city: 'Carouge',\n zipCode: '1227'\n };\n }\n },\n template: `\n
\n \n
\n
\n \n Docteur\n Docteure\n Monsieur\n Madame\n Professeur\n Professeure\n OtherTitle\n \n
\n
\n `\n }),\n args: {\n user: {\n title: 'Professeur',\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n type: 'Type',\n email: 'jean.patate@hug.ch',\n role: 'Medecin',\n groupFunctionLabel: 'Group',\n familyCode: 'Infirmier-e',\n functionSefName: 'SefNameFunction',\n functionSefCode: 'SefCodeFunction',\n organisation: 'HUG',\n speciality: 'Neurochirurgie',\n specialty1: 'Dermatologie',\n specialty2: 'Pedicure',\n esoN3Label: 'EsoN3Label',\n login: 'PatateLogin',\n phone: '+44 150 509 39',\n bip: '8859595',\n mobile: '+44 150 509 39',\n address: 'Carouge, 7 Rue St Julien',\n city: 'Carouge',\n zipCode: '1227'\n }\n }\n}",...userAbbreviationTitle.parameters?.docs?.source}}},userWithMissingInfo.parameters={...userWithMissingInfo.parameters,docs:{...userWithMissingInfo.parameters?.docs,source:{originalSource:"{\n parameters: {\n docs: {\n description: {\n story: 'Displays the component when certain user information is missing. This helps ensure that the rendering remains consistent even with incomplete data.'\n }\n }\n },\n args: {\n user: {\n title: 'Professor',\n firstname: 'Jean',\n lastname: 'PATATE',\n initials: 'jpat',\n email: 'jean.patate@hug.ch'\n // Phone number and address are missing\n },\n expanded: true\n }\n}",...userWithMissingInfo.parameters?.docs?.source}}}},"./projects/user-card/src/user-card.component.scss?ngResource":(module,__unused_webpack_exports,__webpack_require__)=>{var ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/noSourceMaps.js"),___CSS_LOADER_EXPORT___=__webpack_require__("./node_modules/css-loader/dist/runtime/api.js")(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);___CSS_LOADER_EXPORT___.push([module.id,'ngx-user-card {\n display: block;\n font-family: "Roboto";\n border-radius: 8px;\n width: 350px;\n padding: 1rem;\n word-break: break-word;\n}\nngx-user-card > .ngx-user-card-header {\n display: flex;\n flex-direction: row;\n align-items: center;\n font-size: 12px;\n font-weight: 400;\n}\nngx-user-card > .ngx-user-card-header.expandable {\n cursor: pointer;\n}\nngx-user-card > .ngx-user-card-header > .header-badge {\n display: flex;\n flex: 0 0 auto;\n width: 16px;\n height: 16px;\n margin: 10px;\n border-radius: 12px;\n}\nngx-user-card > .ngx-user-card-header > .header-infos {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n}\nngx-user-card > .ngx-user-card-header > .header-infos > .header-fullname {\n display: flex;\n align-items: baseline;\n font-weight: 600;\n font-size: 1rem;\n}\nngx-user-card > .ngx-user-card-header > .header-infos > .header-fullname > .header-initials {\n font-size: 12px;\n margin-left: 5px;\n font-weight: 400;\n text-transform: uppercase;\n}\nngx-user-card > .ngx-user-card-header > .header-infos > .header-function {\n font-size: 14px;\n}\nngx-user-card > .ngx-user-card-header > .header-infos > .header-function::first-letter {\n text-transform: uppercase;\n}\nngx-user-card > .ngx-user-card-header > .header-icon {\n display: flex;\n transition: rotate 300ms ease-in-out;\n}\nngx-user-card > .ngx-user-card-header > .header-icon.expanded {\n rotate: -180deg;\n}\nngx-user-card > .ngx-user-card-wrapper {\n overflow: hidden;\n}\nngx-user-card hr {\n border-bottom: 1px;\n margin: 1rem 0;\n}\nngx-user-card .ngx-user-card-content {\n display: grid;\n grid-template-columns: 3fr 2fr;\n grid-template-rows: auto;\n grid-template-areas: "service type" "phone mobile" "email email" "address address";\n row-gap: 12px;\n column-gap: 0.5rem;\n}\nngx-user-card .ngx-user-card-content .label {\n font-weight: 400;\n font-size: 10px;\n line-height: 14px;\n}\nngx-user-card .ngx-user-card-content .value {\n line-height: 20px;\n}\nngx-user-card .ngx-user-card-content > .content-type {\n grid-area: type;\n}\nngx-user-card .ngx-user-card-content > .content-service {\n grid-area: service;\n}\nngx-user-card .ngx-user-card-content > .content-phone {\n grid-area: phone;\n}\nngx-user-card .ngx-user-card-content > .content-mobile {\n grid-area: mobile;\n}\nngx-user-card .ngx-user-card-content > .content-email {\n grid-area: email;\n}\nngx-user-card .ngx-user-card-content > .content-address {\n grid-area: address;\n}',""]),module.exports=___CSS_LOADER_EXPORT___.toString()}}]); \ No newline at end of file