mis-crystal-design-system 18.1.13 → 18.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/action-list/action-list.component.mjs +2 -2
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +2 -2
- package/esm2022/button/button.component.mjs +2 -2
- package/esm2022/checkbox/checkbox.component.mjs +2 -2
- package/esm2022/chip/chip.component.mjs +2 -2
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +2 -2
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +2 -2
- package/esm2022/dropdown/dropdown.component.mjs +2 -2
- package/esm2022/dynamic-form/dynamic-form.component.mjs +2 -2
- package/esm2022/fab/fab.component.mjs +3 -3
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +8 -4
- package/esm2022/input/mis-input.component.mjs +2 -2
- package/esm2022/loader/loader.component.mjs +2 -2
- package/esm2022/mobile-filter/mobile-filter.component.mjs +2 -2
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +2 -2
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +2 -2
- package/esm2022/phone-input/phone-input.component.mjs +2 -2
- package/esm2022/radio-button/radio-button.component.mjs +2 -2
- package/esm2022/ske-loader/ske-loader.component.mjs +2 -2
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +2 -2
- package/esm2022/star-rating/star-rating.component.mjs +2 -2
- package/esm2022/switch/switch.component.mjs +2 -2
- package/esm2022/table/table.component.mjs +46 -27
- package/esm2022/timepicker/timepicker.component.mjs +2 -2
- package/esm2022/toast/toast.component.mjs +3 -3
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-action-list.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-button.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-checkbox.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +7 -3
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-star-rating.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-switch.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +45 -26
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/filter/filter-panel/filter-panel.component.d.ts +3 -1
- package/package.json +7 -7
- package/styles/mis-color-constants.scss +4 -0
- package/table/table.component.d.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-dynamic-form.mjs","sources":["../../../projects/mis-components/dynamic-form/dynamic-form.component.html","../../../projects/mis-components/dynamic-form/dynamic-form.component.ts","../../../projects/mis-components/dynamic-form/dynamic-form.module.ts","../../../projects/mis-components/dynamic-form/mis-crystal-design-system-dynamic-form.ts"],"sourcesContent":["<form [formGroup]=\"dynamicForm()\">\n <ng-container formArrayName=\"dynamicFields\">\n <ng-container [formGroupName]=\"i\" *ngFor=\"let fieldControl of getDynamicFieldsControls().controls; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFieldsArray?.[i],\n formGroup: fieldControl,\n control: fieldControl.controls.value\n }\"\n >\n </ng-container>\n <div class=\"sub-dynamic-form\" *ngIf=\"fieldControl?.value && (!!formFieldsArray?.[i]?.subFields && formFieldsArray?.[i]?.subFields?.length > 0 && matchParentConfig(formFieldsArray?.[i]?.subFields, fieldControl?.controls?.value?.value?.value))\">\n <ng-container *ngFor=\"let subFieldControl of fieldControl.controls.subFields.controls; let j = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: findSelectedSubFieldConfig(formFieldsArray?.[i]?.subFields, fieldControl.controls.value.value.value,j),\n control: subFieldControl\n }\">\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</form>\n\n\n<ng-template #dynamicField let-field let-control=\"control\" let-formgroup=\"formGroup\">\n\n <!-- fieldType: 'input' fieldInputType: 'text' | 'number' -->\n <ng-container *ngIf=\"field.fieldType === 'input' && (field.fieldInputType === 'text' || field.fieldInputType === 'number')\">\n <ng-container *ngIf=\"customInputTextNumber; else defaultInputTextNumber\">\n <ng-template\n [ngTemplateOutlet]=\"customInputTextNumber\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultInputTextNumber>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field?.title }} <span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <input class=\"input-field ip-text\" [type]=\"field.fieldInputType\" [formControl]=\"control\"\n (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\" \n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" \n [min]=\"field.fieldInputType === 'number' ? 0 : '' \"/>\n <ng-container *ngIf=\"control.touched && control.errors\"\n [ngTemplateOutlet]=\"dynamicFieldErrors\" \n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\"\n >\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n \n <!-- fieldType: 'input' fieldInputType: 'textarea' -->\n <ng-container *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'textarea'\">\n <ng-container *ngIf=\"customInputTextarea; else defaultInputTextarea\">\n <ng-template\n [ngTemplateOutlet]=\"customInputTextarea\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultInputTextarea>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <textarea class=\"input-field ip-textarea\" type=\"text\"\n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" [formControl]=\"control\" (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\"></textarea>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n \n <!-- fieldType: 'input' fieldInputType: 'date' -->\n <ng-container *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <ng-container *ngIf=\"customInputDate; else defaultInputDate\">\n <ng-template\n [ngTemplateOutlet]=\"customInputDate\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultInputDate>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <p class=\"h6\">\n {{ field.title }} <span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div class=\"date-picker-container\">\n <input class=\"date-picker\" readonly misTzDp [dpConfig]=\"field.fieldConfig\"\n (dateChange)=\"control.setValue($event)\" [selectedDate]=\"control.value\" [offsetY]=\"0\"\n [value]=\"control.value\" #dp />\n <img alt=\"data-picker\" *ngIf=\"calendarIconUrl()\" class=\"date-picker-icon\" [src]=\"calendarIconUrl()\"\n (click)=\"dp.click()\" />\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n <!-- fieldType: 'boolean' fieldInputType: 'toggle' -->\n <ng-container *ngIf=\"field.fieldType === 'boolean' && field.fieldInputType === 'toggle'\">\n <ng-container *ngIf=\"customBooleanToggle; else defaultBooleanToggle\">\n <ng-template\n [ngTemplateOutlet]=\"customBooleanToggle\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultBooleanToggle>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <mis-switch [control]=\"control\" (valueChanged)=\"updateSubDynamicFields(field, formgroup, $event)\"></mis-switch>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div> \n </ng-template>\n </ng-container>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'dropdown' -->\n <ng-container *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'dropdown'\">\n <ng-container *ngIf=\"customSingleSelectDropdown; else defaultSingleSelectDropdown\">\n <ng-template\n [ngTemplateOutlet]=\"customSingleSelectDropdown\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultSingleSelectDropdown>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div [ngClass]=\"{'removeable-container' : field?.isRemoveable}\">\n <mis-dropdown [searchEnabled]=\"false\" [width]=\"'140px'\" [data]=\"field.itemsList\" [selectedItem]=\"control.value\"\n (onChange)=\"updateSelectedValueForSingleSelect(field, control, formgroup, $event);\">\n </mis-dropdown>\n <img *ngIf=\"field.isRemoveable && removeIconUrl()\" class=\"remove-icon\" [src]=\"removeIconUrl()\" (click)=\"fieldRemoved.emit(field)\">\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container >\n \n\n <!-- fieldType: 'singleSelect' fieldInputType: 'radio' -->\n <ng-container *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'radio'\">\n <ng-container *ngIf=\"customSingleSelectRadio; else defaultSingleSelectRadio\">\n <ng-template\n [ngTemplateOutlet]=\"customSingleSelectRadio\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultSingleSelectRadio>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': item.label === control.value?.label }\"\n (click)=\"updateSelectedValueForSingleSelect(field, control, formgroup, item);\">\n <img *ngIf=\"(item.label === control.value?.label) && activeBtnIconUrl()\" [src]=\"activeBtnIconUrl()\" alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n \n\n <!-- fieldType: 'multiSelect' fieldInputType: 'checkbox' -->\n <ng-container *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'checkbox'\">\n <ng-container *ngIf=\"customMultiSelectCheckbox; else defaultMultiSelectCheckbox\">\n <ng-template\n [ngTemplateOutlet]=\"customMultiSelectCheckbox\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultMultiSelectCheckbox>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': isCheckBoxSelected(item.label, control.value) }\"\n (click)=\"updateSelectedValueForMultiSelect(field, control, formgroup, [item])\">\n <img *ngIf=\"isCheckBoxSelected(item.label, control.value) && activeBtnIconUrl()\" [src]=\"activeBtnIconUrl()\"\n alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'dropdown' -->\n <ng-container *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'dropdown'\">\n <ng-container *ngIf=\"customMultiSelectDropdown; else defaultMultiSelectDropdown\">\n <ng-template\n [ngTemplateOutlet]=\"customMultiSelectDropdown\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultMultiSelectDropdown>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <mis-multi-select-dropdown [width]=\"'140px'\" [showSelectedCount]=\"true\" [dropdownListWidth]=\"'256px'\"\n [searchEnabled]=\"false\" [hideApplyButton]=\"true\" [data]=\"field.itemsList\"\n [selectedItems]=\"control.value\" (onChange)=\"updateSelectedValueForMultiSelect(field, control, formgroup, $event);\"></mis-multi-select-dropdown>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n</ng-template>\n\n<ng-template #dynamicFieldErrors let-errors>\n <div id=\"error-messages-container\">\n <ng-container *ngFor=\"let error of errors | keyvalue\">\n <p class=\"h8\">\n {{\" • \" + error.value}}\n </p>\n <div [ngStyle]=\"{ 'flex-basis': '100%', 'height': '0' }\"></div>\n </ng-container>\n </div>\n</ng-template>","import { Component, ContentChild, HostListener, OnDestroy, OnInit, TemplateRef, input, output, signal, computed, effect, untracked } from \"@angular/core\";\nimport { NsDynamicForm } from \"./dynamic-form.namespace\";\nimport { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup, ValidationErrors, ValidatorFn, Validators } from \"@angular/forms\";\n\nimport dayjs from 'dayjs';\nimport timezone from 'dayjs/plugin/timezone';\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\n\ndayjs.extend(timezone);\ndayjs.extend(customParseFormat);\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: \"mis-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"./dynamic-form.component.scss\"]\n})\nexport class DynamicFormComponent implements OnInit, OnDestroy {\n /**\n * formFields: Dynamic fields recieved from the API metadata to build a dynamic form\n * formValues: Holds the value of the dynamic form with \"key\" being dynamic field \"title\"\n * and value being the user input.\n */\n formFields = input<Array<NsDynamicForm.IDynamicField>>([]);\n formValues = input<{ [key: string]: any }>({});\n // Need to deprecate these inputs and use constants.\n activeBtnIconUrl = input<string>(\"\");\n calendarIconUrl = input<string>(\"\");\n removeIconUrl = input<string>(\"\");\n removeSepratorForSubFields = input<boolean>(false);\n /**\n * dynamicForm: Constructed using formFields and formValues(in case of edit)\n */\n\n /**\n * formUpdated: Emits formValues Object whenever there is a change in the dynamic form.\n */\n formUpdated = output<{ [key: string]: any }>();\n /**\n * formValid: Emits boolean depending on validity of the form\n */\n formValid = output<boolean>();\n /**\n * formInitialized: Emits dynamic form API on form initilization\n */\n formInitialized = output<any>();\n fieldRemoved = output<NsDynamicForm.IDynamicField>();\n\n @ContentChild(\"customInputTextNumber\", { static: false })\n customInputTextNumber: TemplateRef<Element>;\n \n @ContentChild(\"customInputTextarea\", { static: false })\n customInputTextarea: TemplateRef<Element>;\n\n @ContentChild(\"customInputDate\", { static: false })\n customInputDate: TemplateRef<Element>;\n\n @ContentChild(\"customBooleanToggle\", { static: false })\n customBooleanToggle: TemplateRef<Element>;\n\n @ContentChild(\"customSingleSelectDropdown\", { static: false })\n customSingleSelectDropdown: TemplateRef<Element>;\n\n @ContentChild(\"customSingleSelectRadio\", { static: false })\n customSingleSelectRadio: TemplateRef<Element>;\n\n @ContentChild(\"customMultiSelectCheckbox\", { static: false })\n customMultiSelectCheckbox: TemplateRef<Element>;\n\n @ContentChild(\"customMultiSelectDropdown\", { static: false })\n customMultiSelectDropdown: TemplateRef<Element>;\n\n // Signal-based state management\n private readonly dynamicFormSignal = signal<UntypedFormGroup | null>(null);\n private readonly dynamicFormAPISignal = signal<NsDynamicForm.IDynamicFormAPI | null>(null);\n private readonly valueChangesSubscriptionSignal = signal<Subscription | null>(null);\n \n // Computed properties for template access\n dynamicForm = computed(() => this.dynamicFormSignal());\n dynamicFormAPI = computed(() => this.dynamicFormAPISignal());\n valueChangesSubscription$ = computed(() => this.valueChangesSubscriptionSignal());\n \n // Backward compatibility: handle both signal and property access\n get formFieldsArray() {\n return this.formFields();\n }\n \n // dynamic-form.component.ts (in constructor)\nconstructor() {\n // Watch for changes in **form structure/metadata (formFields)** and update the form accordingly\n effect(() => {\n const formFields = this.formFields();\n \n // Use untracked to access formValues so that this effect only runs when formFields changes,\n // not when the formValues output (which feeds back as an input) changes.\n untracked(() => {\n const formValues = this.formValues();\n \n // Only update if we have form fields\n if (formFields) {\n const form = this.generateDynamicForm(formFields, formValues);\n this.dynamicFormSignal.set(form);\n \n // Re-subscribe to form changes\n this.valueChangesSubscriptionSignal()?.unsubscribe();\n this.valueChangesSubscriptionSignal.set(form.valueChanges.subscribe(formValue => {\n this.onFormValueChanges();\n }));\n \n // Emit form validity status\n this.formValid.emit(form.valid);\n \n // Update the API with the new form\n this.dynamicFormAPISignal.set({\n defaultFormValues: () => {\n return this.generateDynamicFieldsValueObject(form.value.dynamicFields);\n }\n });\n \n // Also, emit the initial or updated values right after generating the form\n this.onFormValueChanges();\n }\n });\n });\n}\n\n\n\n ngOnInit(): void {\n // Building the form with proper null checks\n const formFields = this.formFields() || [];\n const formValues = this.formValues() || {};\n \n // Only create form if we have form fields\n if (formFields.length > 0) {\n const form = this.generateDynamicForm(formFields, formValues);\n this.dynamicFormSignal.set(form);\n } else {\n // Create an empty form as fallback\n const emptyForm = new UntypedFormGroup({\n dynamicFields: new UntypedFormArray([])\n });\n this.dynamicFormSignal.set(emptyForm);\n }\n\n // Subscribing to form changes and emiting values.\n const currentForm = this.dynamicFormSignal();\n if (currentForm) {\n this.valueChangesSubscriptionSignal.set(currentForm.valueChanges.subscribe(formValue => {\n this.onFormValueChanges();\n }));\n }\n\n //api to expose functions\n this.dynamicFormAPISignal.set({\n defaultFormValues: () => {\n return this.generateDynamicFieldsValueObject(this.dynamicForm().value.dynamicFields);\n }\n });\n this.formInitialized.emit(this.dynamicFormAPI());\n this.formValid.emit(this.dynamicForm().valid);\n }\n ngOnDestroy(): void {\n this.valueChangesSubscription$()?.unsubscribe();\n }\n onFormValueChanges(): void {\n let formValues = this.generateDynamicFieldsValueObject(this.dynamicForm().value.dynamicFields);\n this.formValid.emit(this.dynamicForm().valid);\n this.formUpdated.emit(formValues);\n console.log(formValues)\n }\n generateDynamicFieldsValueObject(formValues: Array<any>): { [key: string]: any } {\n let dynamicFieldsValue = {};\n formValues.forEach((fieldValue, index) => {\n if(typeof fieldValue?.value === 'string') fieldValue.value = fieldValue?.value?.trim()\n let formattedValue = this.mapFormFieldToFormValue(this.formFields()[index], fieldValue.value);\n if (fieldValue.subFields?.length > 0) {\n let formattedSubFieldsValues = {}\n let subField = this.formFields()[index].subFields\n if(this.formFields()[index].fieldType === 'singleSelect' || this.formFields()[index].fieldType === 'multiSelect') {\n subField = subField.filter((subField) => subField.parentConfigValue === fieldValue.value.value);\n }\n fieldValue.subFields.forEach((subFieldValue, subIndex) => {\n let subFormField = subField[subIndex]\n if(typeof subFieldValue?.value === 'string') subFieldValue.value = subFieldValue?.value?.trim()\n formattedSubFieldsValues[subFormField.configName] = this.mapFormFieldToFormValue(subFormField, subFieldValue)\n })\n dynamicFieldsValue[this.formFields()[index].configName] = {\n value: formattedValue,\n subFields: formattedSubFieldsValues\n }\n }\n else {\n dynamicFieldsValue[this.formFields()[index].configName] = formattedValue;\n }\n });\n return dynamicFieldsValue;\n }\n generateDynamicForm(\n formFields: Array<NsDynamicForm.IDynamicField>,\n formValues: { [key: string]: any }\n ): UntypedFormGroup {\n let formArray = new UntypedFormArray([])\n\n for (let field of formFields) {\n let fieldValue = formValues[field.configName];\n let fieldControl = this.mapFormValueToFormField(field, fieldValue);\n let subFieldsControls = this.generateSubDynamicFields(formValues, field, fieldControl.value);\n formArray.push(new UntypedFormGroup({\n value: fieldControl,\n subFields: subFieldsControls\n }))\n } \n return new UntypedFormGroup({\n dynamicFields: formArray\n })\n }\n \n getDynamicFieldsControls(): UntypedFormArray {\n return this.dynamicForm().get(\"dynamicFields\") as UntypedFormArray;\n }\n updateSubDynamicFields(\n field: NsDynamicForm.IDynamicField,\n formGroup: UntypedFormGroup,\n value: any\n ): void {\n if (field.subFields?.length > 0) {\n let subFieldsControls = this.generateSubDynamicFields(this.formValues(), field, value);\n formGroup.removeControl('subFields')\n formGroup.addControl('subFields', subFieldsControls)\n }\n }\n updateSelectedValueForSingleSelect(\n field: NsDynamicForm.IDynamicField,\n control: UntypedFormControl,\n formGroup: UntypedFormGroup,\n value: any\n ): void {\n if (control.value?.value !== value.value) {\n control.setValue(value);\n }\n else control.setValue('');\n this.updateSubDynamicFields(field, formGroup, value);\n control.markAsTouched();\n }\n updateSelectedValueForMultiSelect(\n field: NsDynamicForm.IDynamicField,\n control: UntypedFormControl,\n formGroup: UntypedFormGroup,\n values: Array<any>\n ): void {\n let selectedValues: Array<{ label: string; value: any }> = control.value;\n for (let value of values) {\n let itemIndex = selectedValues.findIndex(item => item.label === value.label);\n if (itemIndex > -1) {\n selectedValues.splice(itemIndex, 1);\n } else {\n selectedValues.push({ ...value });\n }\n }\n control.setValue(selectedValues);\n this.updateSubDynamicFields(field, formGroup, values);\n control.markAsTouched();\n }\n isCheckBoxSelected(value: string, selectedValues: Array<{ label: string; value: string }>): boolean {\n return selectedValues.findIndex(item => item.label === value) > -1;\n }\n\n findSelectedSubFieldConfig(subfields, value, subFieldIndex) {\n try{\n const selectedSubFieldConfig = subfields.filter(item => item.parentConfigValue === value)[subFieldIndex];\n return selectedSubFieldConfig;\n }\n catch(e){\n throw new Error('Subfield index not found');\n }\n }\n\n matchParentConfig(subfields, value) {\n if (!subfields || subfields.length === 0) {\n return false;\n }\n return subfields.some(item => item.parentConfigValue === value);\n }\n\n generateSubDynamicFields(\n formValues: any,\n parentField: NsDynamicForm.IDynamicField,\n parentValue: Array<{ label: string, value: string | number }> | {label: string, value: string } | string | number | boolean\n ): UntypedFormArray {\n let controls = new UntypedFormArray([])\n let subFields = parentField.subFields\n let subFieldsValues = formValues[parentField.configName]?.subFields ? formValues[parentField.configName].subFields : {}\n if(!subFields) return controls;\n if (parentField.fieldType === 'singleSelect') {\n subFields = subFields.filter((subField) => subField.parentConfigValue === (<{label: string, value: string }>parentValue)?.value);\n }\n else if (parentField.fieldType === 'multiSelect') {\n let parentValues = new Set((<Array<{ label: string, value: string | number }>>parentValue).map((value) => value.value));\n subFields = subFields.filter((subField) => parentValues.has(subField.parentConfigValue));\n }\n\n if (subFields?.length > 0) {\n for (let subField of subFields) {\n controls.push(this.mapFormValueToFormField(subField, subFieldsValues[subField.configName]))\n }\n }\n return controls;\n }\n mapFormValueToFormField(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n let validators = formField.validators ? [dynamicFieldValidator(formField.validators)]: []\n let control = new UntypedFormControl(null, validators);\n\n /**\n * Extract actual value if formValue has nested structure (for fields with subFields)\n * Format: { value: \"actualValue\", subFields: {...} }\n */\n const actualValue = formValue?.value !== undefined ? formValue.value : formValue;\n\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") control.setValue(actualValue ? actualValue : \"\");\n else if (formField.fieldInputType === \"number\") control.setValue(actualValue ? actualValue : 0);\n else if (formField.fieldInputType === \"date\") {\n if (actualValue && typeof actualValue === \"number\") {\n const timezone = (formField.fieldConfig && formField.fieldConfig.timezone) || 'Asia/Kolkata';\n const format = (formField.fieldConfig && formField.fieldConfig.format) || 'DD/MM/YYYY';\n control.setValue(dayjs(actualValue).tz(timezone).format(format));\n } else if (actualValue && typeof actualValue === \"string\") {\n const timezone = (formField.fieldConfig && formField.fieldConfig.timezone) || 'Asia/Kolkata';\n const format = (formField.fieldConfig && formField.fieldConfig.format) || 'DD/MM/YYYY';\n control.setValue(dayjs.tz(actualValue, format, timezone).format(format));\n } else {\n const timezone = (formField.fieldConfig && formField.fieldConfig.timezone) || 'Asia/Kolkata';\n const format = (formField.fieldConfig && formField.fieldConfig.format) || 'DD/MM/YYYY';\n control.setValue(dayjs().tz(timezone).format(format));\n }\n }\n } else if (formField.fieldType === \"singleSelect\") {\n const findSelectedValue = () => {\n let index = formField.itemsList.findIndex(item => item.value === actualValue)\n return index >= 0 ? formField.itemsList[index]: \"\";\n }\n if (formField.fieldInputType === \"dropdown\") {\n if (!actualValue) control.setValue(formField.itemsList[0]);\n else control.setValue(findSelectedValue())\n }\n else if (formField.fieldInputType === \"radio\") {\n control.setValue(findSelectedValue())\n }\n } else if (formField.fieldType === \"multiSelect\") {\n if (actualValue && Array.isArray(actualValue)) {\n let selectedValues = [];\n for (let value of actualValue) {\n let index = formField.itemsList.findIndex(item => item.value === value);\n if (index > -1) selectedValues.push({ ...formField.itemsList[index] });\n }\n control.setValue(selectedValues);\n } else {\n control.setValue([]);\n }\n } else if (formField.fieldType === \"boolean\") {\n control.setValue(!!actualValue);\n } else control.setValue(null);\n return control;\n }\n mapFormFieldToFormValue(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") return formValue;\n else if (formField.fieldInputType === \"number\") return +formValue;\n else if (formField.fieldInputType === \"date\") {\n const format = (formField.fieldConfig && formField.fieldConfig.format) || 'DD/MM/YYYY';\n const timezone = (formField.fieldConfig && formField.fieldConfig.timezone) || 'Asia/Kolkata';\n return dayjs.tz(formValue, format, timezone).valueOf();\n }\n } else if (formField.fieldType === \"singleSelect\") {\n return formValue?.value ?? '';\n } else if (formField.fieldType === \"multiSelect\") {\n return formValue?.map(item => item.value);\n } else if (formField.fieldType === \"boolean\") {\n return formValue;\n } else return formValue;\n }\n}\n\nexport const dynamicFieldValidator = (validators: Array<NsDynamicForm.IDynamicFieldValidator>): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n let value = control.value\n if (Array.isArray(value)) {\n return null;\n }\n else if (typeof value === 'object') {\n value = value?.value ? value.value : ''\n }\n let errors = null\n\n validators.forEach((validator) => {\n let error = null\n let message = validator.message\n switch (validator.type) {\n case \"Required\":\n error = Validators.required(control);\n if (!error && typeof value === 'string' && value.trim() === '') {\n error = { Required: message };\n }\n if(error) error = {Required: message}\n break;\n case \"MinLength\":\n error = Validators.minLength(+validator.value)(control)\n message = message.replace('${0}', error?.minlength.requiredLength)\n if(error) error = { MinLength: message }\n break;\n case \"MaxLength\":\n error = Validators.maxLength(+validator.value)(control)\n message = message.replace('${0}', error?.actualLength)\n if(error) error = { MaxLength: message }\n break;\n case \"Email\":\n error = Validators.email(control)\n if(error) error = {Email: message}\n break;\n case \"Custom\":\n error = Validators.pattern(`${validator.value}`)(control)\n if(error) error = {Custom: message}\n break;\n default:\n break;\n }\n if (error) errors = { ...errors, ...error }\n })\n return errors\n }\n}","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ScrollingModule } from \"@angular/cdk-experimental/scrolling\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { SwitchModule } from \"mis-crystal-design-system/switch\";\nimport { MultiSelectDropdownModule } from \"mis-crystal-design-system/multi-select-dropdown\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\n\n@NgModule({\n declarations: [DynamicFormComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n OverlayModule,\n ScrollingModule,\n DropdownModule,\n SwitchModule,\n MultiSelectDropdownModule,\n DatepickerModuleV2\n ],\n exports: [DynamicFormComponent]\n})\nexport class DynamicFormModule {\n static forRoot(): ModuleWithProviders<DynamicFormModule> {\n return { ngModule: DynamicFormModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaQ,EAAsG,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IACpG,EAMe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;;;IALb,EAAiC,CAAA,SAAA,EAAA,CAAA;AACjC,IADA,kDAAiC,CAI/B,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,0BAAA,CAAA,MAAA,CAAA,eAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,CAAA,SAAA,EAAA,eAAA,CAAA,QAAA,CAAA,KAAA,CAAA,KAAA,CAAA,KAAA,EAAA,IAAA,CAAA,EAAA,kBAAA,CAAA,CAAA,CAAA;;;IAPR,EAAmP,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACjP,EAAsG,CAAA,UAAA,CAAA,CAAA,EAAA,iEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IASxG,EAAM,CAAA,YAAA,EAAA,CAAA;;;IATsC,EAA6C,CAAA,SAAA,EAAA,CAAA;IAA7C,EAA6C,CAAA,UAAA,CAAA,SAAA,EAAA,eAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,CAAA,CAAA;;;IAX3F,EAAkH,CAAA,uBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;IAC9G,EAQa,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;IACf,EAAmP,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;IAVvO,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,IAAA,CAAA,CAAA;IAE7B,EAAiC,CAAA,SAAA,EAAA,CAAA;AACjC,IADA,kDAAiC,CAK/B,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,eAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,EAAA,eAAA,EAAA,eAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,CAAA;IAG2B,EAAkN,CAAA,SAAA,EAAA,CAAA;IAAlN,EAAkN,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,eAAA,IAAA,IAAA,GAAA,IAAA,GAAA,eAAA,CAAA,KAAA,MAAA,CAAA,EAAA,MAAA,CAAA,eAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,CAAA,SAAA,CAAA,IAAA,CAAA,MAAA,CAAA,eAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,CAAA,SAAA,CAAA,MAAA,IAAA,CAAA,IAAA,MAAA,CAAA,iBAAA,CAAA,MAAA,CAAA,eAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,eAAA,CAAA,IAAA,CAAA,CAAA,SAAA,EAAA,eAAA,IAAA,IAAA,GAAA,IAAA,GAAA,eAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,eAAA,CAAA,QAAA,CAAA,KAAA,IAAA,IAAA,GAAA,IAAA,GAAA,eAAA,CAAA,QAAA,CAAA,KAAA,CAAA,KAAA,IAAA,IAAA,GAAA,IAAA,GAAA,eAAA,CAAA,QAAA,CAAA,KAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;;;;IAoBnP,EAAyE,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IACvE,EAGC,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;IAFC,EAA0C,CAAA,SAAA,EAAA,CAAA;AAC1C,IADA,+DAA0C,CAC0C,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,CAAA,CAAA,CAAA;;;IAO/D,EAA8D,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;IAAC,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;IAQ5F,EAIe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AAFb,IADA,yDAAuC,CACkB,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAA;;;;AAX3D,IAFF,+BAC+H,CAChG,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IAC3B,EAAmB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAA8D,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IACnF,EAAI,CAAA,YAAA,EAAA,CAAA;IACJ,EAAoC,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACpC,EAIuD,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAHrD,IAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,uGAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,aAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAiB,8DAAgD,CAAC,CAAA,EAAA,CAAA,CAAA;IADpE,EAIuD,CAAA,YAAA,EAAA,CAAA;IACvD,EAGC,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IAEH,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;;;IAfJ,EAA4H,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,aAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,CAAA,MAAA,KAAA,MAAA,CAAA,0BAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAE1H,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAnB,EAAmB,CAAA,kBAAA,CAAA,GAAA,EAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,QAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;IAAO,EAAqD,CAAA,SAAA,EAAA,CAAA;IAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;IAG9C,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAI9D,IAJiC,8CAA6B,CAAwB,aAAA,EAAA,WAAA,CAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,IAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,GAAA,mBAAA,GAAA,EAAA,CAAA,CAEH,mFACP,CACzB,KAAA,EAAA,QAAA,CAAA,cAAA,KAAA,QAAA,GAAA,CAAA,GAAA,EAAA,CAAA,CAAA;IACtC,EAAuC,CAAA,SAAA,EAAA,CAAA;IAAvC,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;IAnB5D,EAA4H,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAO1H,IANA,qHAAyE,CAMpC,CAAA,EAAA,wEAAA,EAAA,CAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;;;IANtB,EAA6B,CAAA,SAAA,EAAA,CAAA;AAAA,IAA7B,mDAA6B,CAA2B,UAAA,EAAA,0BAAA,CAAA,CAAA;;;;IA6BvE,EAAqE,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IACnE,EAGD,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;IAFC,EAAwC,CAAA,SAAA,EAAA,CAAA;AACxC,IADA,6DAAwC,CAC4C,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,CAAA,CAAA,CAAA;;;IAO/D,EAA8D,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;IAAC,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;IAMxF,EAEe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AADb,IADsD,yDAAuC,CACpC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAA;;;;AAR7D,IAFF,+BAC6H,CAC9F,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IAC3B,EAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAA8D,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IACjF,EAAI,CAAA,YAAA,EAAA,CAAA;IACJ,EAAoC,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACpC,EAE0K,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAnE,IAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,0GAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,aAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAiB,8DAAgD,CAAC,CAAA,EAAA,CAAA,CAAA;IAAC,EAAW,CAAA,YAAA,EAAA,CAAA;IACnL,EAC4D,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IAEhE,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;;;IAXN,EAA4H,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,aAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,CAAA,MAAA,KAAA,MAAA,CAAA,0BAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAExH,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAjB,EAAiB,CAAA,kBAAA,CAAA,GAAA,EAAA,QAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAAO,EAAqD,CAAA,SAAA,EAAA,CAAA;IAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;IAI7E,EAAmF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAnF,EAAmF,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,GAAA,mBAAA,GAAA,EAAA,CAAA,CAAA,CAAA,aAAA,EAAA,QAAA,CAAA,eAAA,GAAA,QAAA,CAAA,eAAA,GAAA,YAAA,CACP,CAAwB,aAAA,EAAA,WAAA,CAAA,CAAA;IACrF,EAAuC,CAAA,SAAA,EAAA,CAAA;IAAvC,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;IAjB9D,EAAyF,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAOvF,IANA,qHAAqE,CAMlC,CAAA,EAAA,wEAAA,EAAA,CAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;;;IANpB,EAA2B,CAAA,SAAA,EAAA,CAAA;AAAA,IAA3B,iDAA2B,CAAyB,UAAA,EAAA,wBAAA,CAAA,CAAA;;;;IAyBnE,EAA6D,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IAC3D,EAGC,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;IAFC,EAAoC,CAAA,SAAA,EAAA,CAAA;AACpC,IADA,yDAAoC,CACgD,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,CAAA,CAAA,CAAA;;;IAQhE,EAA8D,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;IAAC,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;;IAMzF,EACyB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yGAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAS,cAAU,CAAC,CAAA,EAAA,CAAA,CAAA;IADtB,EACyB,CAAA,YAAA,EAAA,CAAA;;;IADiD,EAAyB,CAAA,UAAA,CAAA,KAAA,EAAA,MAAA,CAAA,eAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA;;;IAGrG,EAEe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AADb,IADsD,yDAAuC,CACpC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAA;;;;AAX3D,IAHF,+BAEyE,CACzD,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IACZ,EAAkB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAA8D,CAAA,UAAA,CAAA,CAAA,EAAA,qFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IAClF,EAAI,CAAA,YAAA,EAAA,CAAA;AAEF,IADF,+BAAmC,CAGD,CAAA,EAAA,OAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;AAD9B,IAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,0GAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAc,4BAAwB,CAAC,CAAA,EAAA,CAAA,CAAA;IADzC,EAEgC,CAAA,YAAA,EAAA,CAAA;IAChC,EACyB,CAAA,UAAA,CAAA,CAAA,EAAA,oFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAC3B,EAAM,CAAA,YAAA,EAAA,CAAA;IACN,EAC4D,CAAA,UAAA,CAAA,CAAA,EAAA,6FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IAE9D,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;;;IAfN,EAA4H,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,aAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,CAAA,MAAA,KAAA,MAAA,CAAA,0BAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAGxH,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAlB,EAAkB,CAAA,kBAAA,CAAA,GAAA,EAAA,QAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;IAAO,EAAqD,CAAA,SAAA,EAAA,CAAA;IAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;IAGlC,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAExE,IAF0C,EAA8B,CAAA,UAAA,CAAA,UAAA,EAAA,QAAA,CAAA,WAAA,CAAA,CAAA,cAAA,EAAA,WAAA,CAAA,KAAA,CACF,cAAc,CAC7D,OAAA,EAAA,WAAA,CAAA,KAAA,CAAA,CAAA;IACD,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAvB,EAAuB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,eAAA,EAAA,CAAA,CAAA;IAGlC,EAAuC,CAAA,SAAA,EAAA,CAAA;IAAvC,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;IAbxD,EAEyE,CAAA,UAAA,CAAA,CAAA,EAAA,8EAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;IAAtE,EAAoE,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,KAAA,OAAA,IAAA,QAAA,CAAA,cAAA,KAAA,MAAA,CAAA,CAAA;;;IAV3E,EAAqF,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAOnF,IANA,qHAA6D,CAM9B,CAAA,EAAA,wEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;;;IANhB,EAAuB,CAAA,SAAA,EAAA,CAAA;AAAA,IAAvB,6CAAuB,CAAqB,UAAA,EAAA,oBAAA,CAAA,CAAA;;;;IA6B3D,EAAqE,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IACnE,EAGC,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;IAFC,EAAwC,CAAA,SAAA,EAAA,CAAA;AACxC,IADA,6DAAwC,CAC4C,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,CAAA,CAAA,CAAA;;;IAOjE,EAA8D,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;IAAC,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;IAG1F,EAEe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AADb,IADsD,yDAAuC,CACpC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAA;;;;AAL3D,IAFF,+BAC6H,CAC7G,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IACZ,EAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAA8D,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IACjF,EAAI,CAAA,YAAA,EAAA,CAAA;IACJ,EAAkG,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;AAAlE,IAAA,EAAA,CAAA,UAAA,CAAA,cAAA,EAAA,SAAA,2GAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,aAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAgB,8DAAgD,CAAC,CAAA,EAAA,CAAA,CAAA;IAAC,EAAa,CAAA,YAAA,EAAA,CAAA;IAC/G,EAC4D,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IAE9D,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;;;IARN,EAA4H,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,aAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,CAAA,MAAA,KAAA,MAAA,CAAA,0BAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAExH,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAjB,EAAiB,CAAA,kBAAA,CAAA,GAAA,EAAA,QAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAAO,EAAqD,CAAA,SAAA,EAAA,CAAA;IAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;IAEnE,EAAmB,CAAA,SAAA,EAAA,CAAA;IAAnB,EAAmB,CAAA,UAAA,CAAA,SAAA,EAAA,WAAA,CAAA,CAAA;IAChB,EAAuC,CAAA,SAAA,EAAA,CAAA;IAAvC,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;IAd5D,EAAyF,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAOvF,IANA,qHAAqE,CAMlC,CAAA,EAAA,wEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;;;IANpB,EAA2B,CAAA,SAAA,EAAA,CAAA;AAAA,IAA3B,iDAA2B,CAAyB,UAAA,EAAA,wBAAA,CAAA,CAAA;;;;IAsBnE,EAAmF,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IACjF,EAGC,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;IAFC,EAA+C,CAAA,SAAA,EAAA,CAAA;AAC/C,IADA,oEAA+C,CACqC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,CAAA,CAAA,CAAA;;;IAOjE,EAA8D,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;IAAC,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;;IAMxF,EAAkI,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,mGAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAS,kCAAwB,CAAC,CAAA,EAAA,CAAA,CAAA;IAAjI,EAAkI,CAAA,YAAA,EAAA,CAAA;;;IAA3D,EAAuB,CAAA,UAAA,CAAA,KAAA,EAAA,MAAA,CAAA,aAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA;;;IAEhG,EAEe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AADb,IADsD,yDAAuC,CACpC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAA;;;;AAV3D,IAFF,+BAC+H,CAC/G,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IACZ,EAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAA8D,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IACjF,EAAI,CAAA,YAAA,EAAA,CAAA;AAEF,IADF,+BAAgE,CAEsB,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAApF,IAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,SAAA,yGAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,WAAA,GAAA,MAAA,CAAA,OAAA,CAAA,CAAA,MAAA,aAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAY,uFAAqE,CAAE,CAAA,EAAA,CAAA,CAAA;IACnF,EAAe,CAAA,YAAA,EAAA,CAAA;IACf,EAAkI,CAAA,UAAA,CAAA,CAAA,EAAA,8EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACpI,EAAM,CAAA,YAAA,EAAA,CAAA;IACN,EAC4D,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IAE9D,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;;;IAbJ,EAA4H,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,aAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,CAAA,MAAA,KAAA,MAAA,CAAA,0BAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAE1H,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAjB,EAAiB,CAAA,kBAAA,CAAA,GAAA,EAAA,QAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAAO,EAAqD,CAAA,SAAA,EAAA,CAAA;IAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;IAE1E,EAA0D,CAAA,SAAA,EAAA,CAAA;IAA1D,EAA0D,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,IAAA,EAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,QAAA,CAAA,YAAA,CAAA,CAAA,CAAA;IAC/C,EAAuB,CAAA,SAAA,EAAA,CAAA;AAA4C,IAAnE,EAAuB,CAAA,UAAA,CAAA,eAAA,EAAA,KAAA,CAAA,CAAA,OAAA,EAAA,OAAA,CAAkB,4BAAyB,CAA+B,cAAA,EAAA,WAAA,CAAA,KAAA,CAAA,CAAA;IAGzG,EAA2C,CAAA,SAAA,EAAA,CAAA;IAA3C,EAA2C,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,YAAA,IAAA,MAAA,CAAA,aAAA,EAAA,CAAA,CAAA;IAEpC,EAAuC,CAAA,SAAA,EAAA,CAAA;IAAvC,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;IAnB5D,EAAgG,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAO9F,IANA,qHAAmF,CAMzC,CAAA,EAAA,wEAAA,EAAA,CAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;;;IAN3B,EAAkC,CAAA,SAAA,EAAA,CAAA;AAAA,IAAlC,wDAAkC,CAAgC,UAAA,EAAA,+BAAA,CAAA,CAAA;;;;IA4BjF,EAA6E,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IAC3E,EAGC,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;IAFC,EAA4C,CAAA,SAAA,EAAA,CAAA;AAC5C,IADA,iEAA4C,CACwC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,CAAA,CAAA,CAAA;;;IAOjE,EAA8D,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;IAAC,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;IAOtF,EAA6G,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;IAApC,EAA0B,CAAA,UAAA,CAAA,KAAA,EAAA,MAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA;;;;IAHrG,EAEiF,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAA/E,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,mGAAA,GAAA,EAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,WAAA,GAAA,MAAA,CAAA,OAAA,CAAA,CAAA,MAAA,aAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAS,yFAAmE,CAAE,CAAA,EAAA,CAAA,CAAA;IAC9E,EAA6G,CAAA,UAAA,CAAA,CAAA,EAAA,oFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAC7G,EAAc,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IAAA,EAAgB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAChC,IADgC,iBAAI,EAC9B,CAAA;;;;;IAJJ,EAAsE,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,CAAA,KAAA,MAAA,WAAA,CAAA,KAAA,IAAA,IAAA,GAAA,IAAA,GAAA,WAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;IAEhE,EAAiE,CAAA,SAAA,EAAA,CAAA;IAAjE,EAAiE,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,KAAA,MAAA,WAAA,CAAA,KAAA,IAAA,IAAA,GAAA,IAAA,GAAA,WAAA,CAAA,KAAA,CAAA,KAAA,CAAA,IAAA,MAAA,CAAA,gBAAA,EAAA,CAAA,CAAA;IACzD,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAhB,EAAgB,CAAA,iBAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA;;;IAGlC,EAEe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AADb,IADsD,yDAAuC,CACpC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAA;;;AAb3D,IAFF,+BAC6H,CAC9F,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IAC3B,EAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAA8D,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IACjF,EAAI,CAAA,YAAA,EAAA,CAAA;IACJ,EAAoC,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACpC,EAA+B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAC7B,EAEiF,CAAA,UAAA,CAAA,CAAA,EAAA,8EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAInF,EAAM,CAAA,YAAA,EAAA,CAAA;IACN,EAC4D,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IAE9D,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;;;IAhBN,EAA4H,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,aAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,CAAA,MAAA,KAAA,MAAA,CAAA,0BAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAExH,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAjB,EAAiB,CAAA,kBAAA,CAAA,GAAA,EAAA,QAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAAO,EAAqD,CAAA,SAAA,EAAA,CAAA;IAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;IAIzB,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAlB,EAAkB,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,SAAA,CAAA,CAAA;IAOzD,EAAuC,CAAA,SAAA,EAAA,CAAA;IAAvC,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;IAtB5D,EAA6F,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAO3F,IANA,qHAA6E,CAMtC,CAAA,EAAA,wEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;;;IANxB,EAA+B,CAAA,SAAA,EAAA,CAAA;AAAA,IAA/B,qDAA+B,CAA6B,UAAA,EAAA,4BAAA,CAAA,CAAA;;;;IA+B3E,EAAiF,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IAC/E,EAGC,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;IAFC,EAA8C,CAAA,SAAA,EAAA,CAAA;AAC9C,IADA,mEAA8C,CACsC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,CAAA,CAAA,CAAA;;;IAOjE,EAA8D,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;IAAC,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;IAOtF,EACW,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;IADsE,EAA0B,CAAA,UAAA,CAAA,KAAA,EAAA,MAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA;;;;IAH7G,EAEiF,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAA/E,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,mGAAA,GAAA,EAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,WAAA,GAAA,MAAA,CAAA,OAAA,CAAA,CAAA,MAAA,aAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAS,0FAAoE,CAAC,CAAA,EAAA,CAAA,CAAA;IAC9E,EACW,CAAA,UAAA,CAAA,CAAA,EAAA,oFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACX,EAAc,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IAAA,EAAgB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAChC,IADgC,iBAAI,EAC9B,CAAA;;;;;IALJ,EAAgF,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,MAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;IAE1E,EAAyE,CAAA,SAAA,EAAA,CAAA;IAAzE,EAAyE,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,KAAA,EAAA,WAAA,CAAA,KAAA,CAAA,IAAA,MAAA,CAAA,gBAAA,EAAA,CAAA,CAAA;IAEjE,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAhB,EAAgB,CAAA,iBAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA;;;IAGlC,EAEe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AADb,IADsD,yDAAuC,CACpC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAA;;;AAd3D,IAFF,+BAC6H,CAC9F,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IAC3B,EAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAA8D,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IACjF,EAAI,CAAA,YAAA,EAAA,CAAA;IACJ,EAAoC,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACpC,EAA+B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAC7B,EAEiF,CAAA,UAAA,CAAA,CAAA,EAAA,8EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAKnF,EAAM,CAAA,YAAA,EAAA,CAAA;IACN,EAC4D,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IAE9D,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;;;IAjBN,EAA4H,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,aAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,CAAA,MAAA,KAAA,MAAA,CAAA,0BAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAExH,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAjB,EAAiB,CAAA,kBAAA,CAAA,GAAA,EAAA,QAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAAO,EAAqD,CAAA,SAAA,EAAA,CAAA;IAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;IAIzB,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAlB,EAAkB,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,SAAA,CAAA,CAAA;IAQzD,EAAuC,CAAA,SAAA,EAAA,CAAA;IAAvC,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;IAvB5D,EAA+F,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAO7F,IANA,qHAAiF,CAMxC,CAAA,EAAA,wEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;;;IAN1B,EAAiC,CAAA,SAAA,EAAA,CAAA;AAAA,IAAjC,uDAAiC,CAA+B,UAAA,EAAA,8BAAA,CAAA,CAAA;;;;IAgC/E,EAAiF,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IAC/E,EAGC,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;IAFC,EAA8C,CAAA,SAAA,EAAA,CAAA;AAC9C,IADA,mEAA8C,CACsC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,CAAA,CAAA,CAAA;;;IAOjE,EAA8D,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;IAAC,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;IAK1F,EAEe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AADb,IADsD,yDAAuC,CACpC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAA;;;;AAP3D,IAFF,+BAC6H,CAC7G,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IACZ,EAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAA8D,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;IACjF,EAAI,CAAA,YAAA,EAAA,CAAA;IACJ,EAEqH,CAAA,cAAA,CAAA,CAAA,EAAA,2BAAA,EAAA,EAAA,CAAA,CAAA;AAAnF,IAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,SAAA,sHAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,WAAA,GAAA,MAAA,CAAA,OAAA,CAAA,CAAA,MAAA,aAAA,GAAA,MAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAY,sFAAoE,CAAE,CAAA,EAAA,CAAA,CAAA;IAAC,EAA4B,CAAA,YAAA,EAAA,CAAA;IACjJ,EAC4D,CAAA,UAAA,CAAA,CAAA,EAAA,uFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IAE9D,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;;;IAVN,EAA4H,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,aAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,IAAA,IAAA,GAAA,IAAA,GAAA,aAAA,CAAA,QAAA,CAAA,SAAA,CAAA,QAAA,CAAA,MAAA,KAAA,MAAA,CAAA,0BAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAExH,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAjB,EAAiB,CAAA,kBAAA,CAAA,GAAA,EAAA,QAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IAAO,EAAqD,CAAA,SAAA,EAAA,CAAA;IAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;IAEpD,EAAiB,CAAA,SAAA,EAAA,CAAA;IAAjB,EAAiB,CAAA,UAAA,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA,mBAAA,EAAA,IAAA,CAA2B,CAA8B,mBAAA,EAAA,OAAA,CAAA,CAAA,eAAA,EAAA,KAAA,CAC5E,CAAyB,iBAAA,EAAA,IAAA,CAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,CAAyB,CAC1C,eAAA,EAAA,WAAA,CAAA,KAAA,CAAA,CAAA;IAClB,EAAuC,CAAA,SAAA,EAAA,CAAA;IAAvC,EAAuC,CAAA,UAAA,CAAA,MAAA,EAAA,WAAA,CAAA,OAAA,IAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;IAhB5D,EAA+F,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAO7F,IANA,qHAAiF,CAMxC,CAAA,EAAA,wEAAA,EAAA,CAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;;;IAN1B,EAAiC,CAAA,SAAA,EAAA,CAAA;AAAA,IAAjC,uDAAiC,CAA+B,UAAA,EAAA,8BAAA,CAAA,CAAA;;;AADjF,IApMA,EAA4H,CAAA,UAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CA6BnC,CAyBJ,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CA6BI,CAsBO,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CA4BH,yFA+BE,CAgCA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;;;IApMhF,EAA2G,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,KAAA,OAAA,KAAA,QAAA,CAAA,cAAA,KAAA,MAAA,IAAA,QAAA,CAAA,cAAA,KAAA,QAAA,CAAA,CAAA,CAAA;IA6B3G,EAAwE,CAAA,SAAA,EAAA,CAAA;IAAxE,EAAwE,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,KAAA,OAAA,IAAA,QAAA,CAAA,cAAA,KAAA,UAAA,CAAA,CAAA;IAyBxE,EAAoE,CAAA,SAAA,EAAA,CAAA;IAApE,EAAoE,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,KAAA,OAAA,IAAA,QAAA,CAAA,cAAA,KAAA,MAAA,CAAA,CAAA;IA6BpE,EAAwE,CAAA,SAAA,EAAA,CAAA;IAAxE,EAAwE,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,KAAA,SAAA,IAAA,QAAA,CAAA,cAAA,KAAA,QAAA,CAAA,CAAA;IAsBxE,EAA+E,CAAA,SAAA,EAAA,CAAA;IAA/E,EAA+E,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,KAAA,cAAA,IAAA,QAAA,CAAA,cAAA,KAAA,UAAA,CAAA,CAAA;IA4B/E,EAA4E,CAAA,SAAA,EAAA,CAAA;IAA5E,EAA4E,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,KAAA,cAAA,IAAA,QAAA,CAAA,cAAA,KAAA,OAAA,CAAA,CAAA;IA+B5E,EAA8E,CAAA,SAAA,EAAA,CAAA;IAA9E,EAA8E,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,KAAA,aAAA,IAAA,QAAA,CAAA,cAAA,KAAA,UAAA,CAAA,CAAA;IAgC9E,EAA8E,CAAA,SAAA,EAAA,CAAA;IAA9E,EAA8E,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,KAAA,aAAA,IAAA,QAAA,CAAA,cAAA,KAAA,UAAA,CAAA,CAAA;;;IA2B3F,EAAsD,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;IACpD,EAAc,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IACZ,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAI,CAAA,YAAA,EAAA,CAAA;IACJ,EAA+D,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;;IAF7D,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,gBAAA,GAAA,SAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;IACK,EAAmD,CAAA,SAAA,EAAA,CAAA;IAAnD,EAAmD,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;;;IAL5D,EAAmC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACjC,EAAsD,CAAA,UAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;;IAMxD,EAAM,CAAA,YAAA,EAAA,CAAA;;;IAN4B,EAAoB,CAAA,SAAA,EAAA,CAAA;IAApB,EAAoB,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,UAAA,CAAA,CAAA,CAAA;;ACtPxD,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvB,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;MAQnB,oBAAoB,CAAA;;AAkE/B,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;KAC1B;;AAGH,IAAA,WAAA,GAAA;AAtEE;;;;AAIG;AACH,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAqC,EAAE,CAAC,CAAC;AAC3D,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAyB,EAAE,CAAC,CAAC;;AAE/C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,0BAA0B,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACnD;;AAEG;AAEH;;AAEG;QACH,IAAW,CAAA,WAAA,GAAG,MAAM,EAA0B,CAAC;AAC/C;;AAEG;QACH,IAAS,CAAA,SAAA,GAAG,MAAM,EAAW,CAAC;AAC9B;;AAEG;QACH,IAAe,CAAA,eAAA,GAAG,MAAM,EAAO,CAAC;QAChC,IAAY,CAAA,YAAA,GAAG,MAAM,EAA+B,CAAC;;AA2BpC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;AAC1D,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;AAC1E,QAAA,IAAA,CAAA,8BAA8B,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;;QAGpF,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACvD,IAAc,CAAA,cAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC7D,IAAyB,CAAA,yBAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;;QAUlF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;;;YAIrC,SAAS,CAAC,MAAK;AACb,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;;gBAGrC,IAAI,UAAU,EAAE;oBACd,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC9D,oBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;AAGjC,oBAAA,IAAI,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,CAAC;AACrD,oBAAA,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,IAAG;wBAC9E,IAAI,CAAC,kBAAkB,EAAE,CAAC;qBAC3B,CAAC,CAAC,CAAC;;oBAGJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAGhC,oBAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;wBAC5B,iBAAiB,EAAE,MAAK;4BACtB,OAAO,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;yBACxE;AACF,qBAAA,CAAC,CAAC;;oBAGH,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC3B;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;IAIC,QAAQ,GAAA;;QAEN,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;;AAG3C,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC9D,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAClC;aAAM;;AAEL,YAAA,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC;AACrC,gBAAA,aAAa,EAAE,IAAI,gBAAgB,CAAC,EAAE,CAAC;AACxC,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SACvC;;AAGD,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7C,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,IAAG;gBACrF,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B,CAAC,CAAC,CAAC;SACL;;AAGD,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;YAC5B,iBAAiB,EAAE,MAAK;AACtB,gBAAA,OAAO,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;aACtF;AACF,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;KAC/C;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,yBAAyB,EAAE,EAAE,WAAW,EAAE,CAAC;KACjD;IACD,kBAAkB,GAAA;AAChB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC/F,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClC,QAAA,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;KACxB;AACD,IAAA,gCAAgC,CAAC,UAAsB,EAAA;QACrD,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,KAAI;AACvC,YAAA,IAAG,OAAO,UAAU,EAAE,KAAK,KAAK,QAAQ;gBAAE,UAAU,CAAC,KAAK,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACtF,YAAA,IAAI,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAC9F,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE;gBACpC,IAAI,wBAAwB,GAAG,EAAE,CAAA;gBACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAA;gBACjD,IAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,aAAa,EAAE;oBAChH,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,iBAAiB,KAAK,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACjG;gBACD,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,QAAQ,KAAI;AACvD,oBAAA,IAAI,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACrC,oBAAA,IAAG,OAAO,aAAa,EAAE,KAAK,KAAK,QAAQ;wBAAE,aAAa,CAAC,KAAK,GAAG,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAC/F,oBAAA,wBAAwB,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;AAC/G,iBAAC,CAAC,CAAA;gBACF,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG;AACxD,oBAAA,KAAK,EAAE,cAAc;AACrB,oBAAA,SAAS,EAAE,wBAAwB;iBACpC,CAAA;aACF;iBACI;AACH,gBAAA,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC;aAC1E;AACH,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,kBAAkB,CAAC;KAC3B;IACD,mBAAmB,CACjB,UAA8C,EAC9C,UAAkC,EAAA;AAElC,QAAA,IAAI,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAA;AAExC,QAAA,KAAK,IAAI,KAAK,IAAI,UAAU,EAAE;YAC5B,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACnE,YAAA,IAAI,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7F,YAAA,SAAS,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC;AAClC,gBAAA,KAAK,EAAE,YAAY;AACnB,gBAAA,SAAS,EAAE,iBAAiB;AAC7B,aAAA,CAAC,CAAC,CAAA;SACJ;QACD,OAAO,IAAI,gBAAgB,CAAC;AAC1B,YAAA,aAAa,EAAE,SAAS;AACzB,SAAA,CAAC,CAAA;KACH;IAED,wBAAwB,GAAA;QACtB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,eAAe,CAAqB,CAAC;KACpE;AACD,IAAA,sBAAsB,CACpB,KAAkC,EAClC,SAA2B,EAC3B,KAAU,EAAA;QAEV,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE;AAC/B,YAAA,IAAI,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACvF,YAAA,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;AACpC,YAAA,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAA;SACrD;KACF;AACD,IAAA,kCAAkC,CAChC,KAAkC,EAClC,OAA2B,EAC3B,SAA2B,EAC3B,KAAU,EAAA;QAEV,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE;AACxC,YAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACzB;;AACI,YAAA,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,aAAa,EAAE,CAAC;KACzB;AACD,IAAA,iCAAiC,CAC/B,KAAkC,EAClC,OAA2B,EAC3B,SAA2B,EAC3B,MAAkB,EAAA;AAElB,QAAA,IAAI,cAAc,GAAyC,OAAO,CAAC,KAAK,CAAC;AACzE,QAAA,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;AACxB,YAAA,IAAI,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7E,YAAA,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE;AAClB,gBAAA,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;aACrC;iBAAM;gBACL,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;aACnC;SACF;AACD,QAAA,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACjC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,CAAC,aAAa,EAAE,CAAC;KACzB;IACD,kBAAkB,CAAC,KAAa,EAAE,cAAuD,EAAA;AACvF,QAAA,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KACpE;AAED,IAAA,0BAA0B,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAA;AACxD,QAAA,IAAG;AACD,YAAA,MAAM,sBAAsB,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;AACzG,YAAA,OAAO,sBAAsB,CAAC;SAC/B;QACD,OAAM,CAAC,EAAC;AACN,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;KACF;IAED,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAA;QAChC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,YAAA,OAAO,KAAK,CAAC;SACd;AACD,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,CAAC,CAAC;KACjE;AAED,IAAA,wBAAwB,CACtB,UAAe,EACf,WAAwC,EACxC,WAA2H,EAAA;AAE3H,QAAA,IAAI,QAAQ,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAA;AACvC,QAAA,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,CAAA;QACrC,IAAI,eAAe,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,SAAS,GAAG,EAAE,CAAA;AACvH,QAAA,IAAG,CAAC,SAAS;AAAE,YAAA,OAAO,QAAQ,CAAC;AAC/B,QAAA,IAAI,WAAW,CAAC,SAAS,KAAK,cAAc,EAAE;AAC5C,YAAA,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,iBAAiB,KAAuC,WAAY,EAAE,KAAK,CAAC,CAAC;SAClI;AACI,aAAA,IAAI,WAAW,CAAC,SAAS,KAAK,aAAa,EAAE;AAChD,YAAA,IAAI,YAAY,GAAG,IAAI,GAAG,CAAoD,WAAY,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxH,YAAA,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;SAC1F;AAED,QAAA,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE;AACvB,YAAA,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE;AAC9B,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;aAC5F;SACF;AACH,QAAA,OAAO,QAAQ,CAAC;KACjB;IACD,uBAAuB,CAAC,SAAsC,EAAE,SAAc,EAAA;QAC5E,IAAI,UAAU,GAAG,SAAS,CAAC,UAAU,GAAG,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAE,EAAE,CAAA;QACzF,IAAI,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAEvD;;;AAGG;AACH,QAAA,MAAM,WAAW,GAAG,SAAS,EAAE,KAAK,KAAK,SAAS,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;AAEjF,QAAA,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,EAAE;YACnC,IAAI,SAAS,CAAC,cAAc,KAAK,MAAM,IAAI,SAAS,CAAC,cAAc,KAAK,UAAU;AAAE,gBAAA,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,WAAW,GAAG,EAAE,CAAC,CAAC;AAChI,iBAAA,IAAI,SAAS,CAAC,cAAc,KAAK,QAAQ;AAAE,gBAAA,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;AAC3F,iBAAA,IAAI,SAAS,CAAC,cAAc,KAAK,MAAM,EAAE;AAC5C,gBAAA,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AAClD,oBAAA,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,KAAK,cAAc,CAAC;AAC7F,oBAAA,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,YAAY,CAAC;AACvF,oBAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iBAClE;AAAM,qBAAA,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACzD,oBAAA,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,KAAK,cAAc,CAAC;AAC7F,oBAAA,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,YAAY,CAAC;AACvF,oBAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC1E;qBAAM;AACL,oBAAA,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,KAAK,cAAc,CAAC;AAC7F,oBAAA,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,YAAY,CAAC;AACvF,oBAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iBACvD;aACF;SACF;AAAM,aAAA,IAAI,SAAS,CAAC,SAAS,KAAK,cAAc,EAAE;YACjD,MAAM,iBAAiB,GAAG,MAAK;AAC7B,gBAAA,IAAI,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAA;AAC7E,gBAAA,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,GAAE,EAAE,CAAC;AACrD,aAAC,CAAA;AACD,YAAA,IAAI,SAAS,CAAC,cAAc,KAAK,UAAU,EAAE;AAC3C,gBAAA,IAAI,CAAC,WAAW;oBAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;AACtD,oBAAA,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAA;aAC3C;AACI,iBAAA,IAAI,SAAS,CAAC,cAAc,KAAK,OAAO,EAAE;AAC7C,gBAAA,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAA;aACtC;SACF;AAAM,aAAA,IAAI,SAAS,CAAC,SAAS,KAAK,aAAa,EAAE;YAChD,IAAI,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBAC7C,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,gBAAA,KAAK,IAAI,KAAK,IAAI,WAAW,EAAE;AAC7B,oBAAA,IAAI,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;oBACxE,IAAI,KAAK,GAAG,CAAC,CAAC;AAAE,wBAAA,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACxE;AACD,gBAAA,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;aAClC;iBAAM;AACL,gBAAA,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACtB;SACF;AAAM,aAAA,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE;AAC5C,YAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;SACjC;;AAAM,YAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,OAAO,OAAO,CAAC;KAChB;IACD,uBAAuB,CAAC,SAAsC,EAAE,SAAc,EAAA;AAC5E,QAAA,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,EAAE;YACnC,IAAI,SAAS,CAAC,cAAc,KAAK,MAAM,IAAI,SAAS,CAAC,cAAc,KAAK,UAAU;AAAE,gBAAA,OAAO,SAAS,CAAC;AAChG,iBAAA,IAAI,SAAS,CAAC,cAAc,KAAK,QAAQ;gBAAE,OAAO,CAAC,SAAS,CAAC;AAC7D,iBAAA,IAAI,SAAS,CAAC,cAAc,KAAK,MAAM,EAAE;AAC5C,gBAAA,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,YAAY,CAAC;AACvF,gBAAA,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,KAAK,cAAc,CAAC;AAC7F,gBAAA,OAAO,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;aACxD;SACF;AAAM,aAAA,IAAI,SAAS,CAAC,SAAS,KAAK,cAAc,EAAE;AACjD,YAAA,OAAO,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;SAC/B;AAAM,aAAA,IAAI,SAAS,CAAC,SAAS,KAAK,aAAa,EAAE;AAChD,YAAA,OAAO,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3C;AAAM,aAAA,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE;AAC5C,YAAA,OAAO,SAAS,CAAC;SAClB;;AAAM,YAAA,OAAO,SAAS,CAAC;KACzB;qHA5WU,oBAAoB,GAAA,CAAA,EAAA,CAAA,EAAA;oEAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,EAAA,cAAA,EAAA,SAAA,mCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;YDjBjC,EAAkC,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;YAChC,EAA4C,CAAA,uBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;YAC1C,EAAkH,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;;YAuBtH,EAAO,CAAA,YAAA,EAAA,CAAA;AAmOP,YAhOA,sHAAqF,CAgOzC,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;YA5PtC,EAA2B,CAAA,UAAA,CAAA,WAAA,EAAA,GAAA,CAAA,WAAA,EAAA,CAAA,CAAA;YAE8B,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAxC,EAAwC,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,wBAAA,EAAA,CAAA,QAAA,CAAA,CAAA;;;iFCe1F,oBAAoB,EAAA,CAAA;cALhC,SAAS;2BACE,kBAAkB,EAAA,QAAA,EAAA,89bAAA,EAAA,MAAA,EAAA,CAAA,ijMAAA,CAAA,EAAA,CAAA;oBAoC5B,qBAAqB,EAAA,CAAA;kBADpB,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YAIxD,mBAAmB,EAAA,CAAA;kBADlB,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YAItD,eAAe,EAAA,CAAA;kBADd,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YAIlD,mBAAmB,EAAA,CAAA;kBADlB,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YAItD,0BAA0B,EAAA,CAAA;kBADzB,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,4BAA4B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YAI7D,uBAAuB,EAAA,CAAA;kBADtB,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,yBAAyB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YAI1D,yBAAyB,EAAA,CAAA;kBADxB,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YAI5D,yBAAyB,EAAA,CAAA;kBADxB,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,2BAA2B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;kFApDjD,oBAAoB,EAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA;AA+W1B,MAAM,qBAAqB,GAAG,CAAC,UAAuD,KAAiB;IAC5G,OAAO,CAAC,OAAwB,KAA6B;AAC3D,QAAA,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;AACzB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,IAAI,CAAC;SACb;AACI,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAClC,YAAA,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,EAAE,CAAA;SACxC;QACD,IAAI,MAAM,GAAG,IAAI,CAAA;AAEjB,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;YAC/B,IAAI,KAAK,GAAG,IAAI,CAAA;AAChB,YAAA,IAAI,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;AAC/B,YAAA,QAAQ,SAAS,CAAC,IAAI;AACpB,gBAAA,KAAK,UAAU;AACb,oBAAA,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrC,oBAAA,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AAC9D,wBAAA,KAAK,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;qBAC/B;AACD,oBAAA,IAAG,KAAK;AAAE,wBAAA,KAAK,GAAG,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAA;oBACrC,MAAM;AACR,gBAAA,KAAK,WAAW;AACd,oBAAA,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;AACvD,oBAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;AAClE,oBAAA,IAAG,KAAK;AAAE,wBAAA,KAAK,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;oBACxC,MAAM;AACR,gBAAA,KAAK,WAAW;AACd,oBAAA,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;oBACvD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;AACtD,oBAAA,IAAG,KAAK;AAAE,wBAAA,KAAK,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;oBACxC,MAAM;AACR,gBAAA,KAAK,OAAO;AACV,oBAAA,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AACjC,oBAAA,IAAG,KAAK;AAAE,wBAAA,KAAK,GAAG,EAAC,KAAK,EAAE,OAAO,EAAC,CAAA;oBAClC,MAAM;AACR,gBAAA,KAAK,QAAQ;AACX,oBAAA,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAG,EAAA,SAAS,CAAC,KAAK,CAAE,CAAA,CAAC,CAAC,OAAO,CAAC,CAAA;AACzD,oBAAA,IAAG,KAAK;AAAE,wBAAA,KAAK,GAAG,EAAC,MAAM,EAAE,OAAO,EAAC,CAAA;oBACnC,MAAM;AACR,gBAAA;oBACE,MAAM;aACT;AACD,YAAA,IAAI,KAAK;gBAAE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;AAC7C,SAAC,CAAC,CAAA;AACF,QAAA,OAAO,MAAM,CAAA;AACf,KAAC,CAAA;AACH,CAAC;;MCpZY,iBAAiB,CAAA;AAC5B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACvD;kHAHU,iBAAiB,GAAA,CAAA,EAAA,CAAA,EAAA;mEAAjB,iBAAiB,EAAA,CAAA,CAAA,EAAA;uEAZ1B,YAAY;YACZ,mBAAmB;YACnB,WAAW;YACX,aAAa;YACb,eAAe;YACf,cAAc;YACd,YAAY;YACZ,yBAAyB;YACzB,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;;iFAIT,iBAAiB,EAAA,CAAA;cAf7B,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,gBAAA,OAAO,EAAE;oBACP,YAAY;oBACZ,mBAAmB;oBACnB,WAAW;oBACX,aAAa;oBACb,eAAe;oBACf,cAAc;oBACd,YAAY;oBACZ,yBAAyB;oBACzB,kBAAkB;AACnB,iBAAA;gBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,aAAA,CAAA;;wFACY,iBAAiB,EAAA,EAAA,YAAA,EAAA,CAdb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEjC,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,eAAe;QACf,cAAc;QACd,YAAY;QACZ,yBAAyB;AACzB,QAAA,kBAAkB,aAEV,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACzBhC;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-dynamic-form.mjs","sources":["../../../projects/mis-components/dynamic-form/dynamic-form.component.html","../../../projects/mis-components/dynamic-form/dynamic-form.component.ts","../../../projects/mis-components/dynamic-form/dynamic-form.module.ts","../../../projects/mis-components/dynamic-form/mis-crystal-design-system-dynamic-form.ts"],"sourcesContent":["<form [formGroup]=\"dynamicForm()\">\n <ng-container formArrayName=\"dynamicFields\">\n <ng-container [formGroupName]=\"i\" *ngFor=\"let fieldControl of getDynamicFieldsControls().controls; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFieldsArray?.[i],\n formGroup: fieldControl,\n control: fieldControl.controls.value\n }\"\n >\n </ng-container>\n <div class=\"sub-dynamic-form\" *ngIf=\"fieldControl?.value && (!!formFieldsArray?.[i]?.subFields && formFieldsArray?.[i]?.subFields?.length > 0 && matchParentConfig(formFieldsArray?.[i]?.subFields, fieldControl?.controls?.value?.value?.value))\">\n <ng-container *ngFor=\"let subFieldControl of fieldControl.controls.subFields.controls; let j = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: findSelectedSubFieldConfig(formFieldsArray?.[i]?.subFields, fieldControl.controls.value.value.value,j),\n control: subFieldControl\n }\">\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</form>\n\n\n<ng-template #dynamicField let-field let-control=\"control\" let-formgroup=\"formGroup\">\n\n <!-- fieldType: 'input' fieldInputType: 'text' | 'number' -->\n <ng-container *ngIf=\"field.fieldType === 'input' && (field.fieldInputType === 'text' || field.fieldInputType === 'number')\">\n <ng-container *ngIf=\"customInputTextNumber; else defaultInputTextNumber\">\n <ng-template\n [ngTemplateOutlet]=\"customInputTextNumber\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultInputTextNumber>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field?.title }} <span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <input class=\"input-field ip-text\" [type]=\"field.fieldInputType\" [formControl]=\"control\"\n (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\" \n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" \n [min]=\"field.fieldInputType === 'number' ? 0 : '' \"/>\n <ng-container *ngIf=\"control.touched && control.errors\"\n [ngTemplateOutlet]=\"dynamicFieldErrors\" \n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\"\n >\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n \n <!-- fieldType: 'input' fieldInputType: 'textarea' -->\n <ng-container *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'textarea'\">\n <ng-container *ngIf=\"customInputTextarea; else defaultInputTextarea\">\n <ng-template\n [ngTemplateOutlet]=\"customInputTextarea\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultInputTextarea>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <textarea class=\"input-field ip-textarea\" type=\"text\"\n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" [formControl]=\"control\" (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\"></textarea>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n \n <!-- fieldType: 'input' fieldInputType: 'date' -->\n <ng-container *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <ng-container *ngIf=\"customInputDate; else defaultInputDate\">\n <ng-template\n [ngTemplateOutlet]=\"customInputDate\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultInputDate>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <p class=\"h6\">\n {{ field.title }} <span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div class=\"date-picker-container\">\n <input class=\"date-picker\" readonly misTzDp [dpConfig]=\"field.fieldConfig\"\n (dateChange)=\"control.setValue($event)\" [selectedDate]=\"control.value\" [offsetY]=\"0\"\n [value]=\"control.value\" #dp />\n <img alt=\"data-picker\" *ngIf=\"calendarIconUrl()\" class=\"date-picker-icon\" [src]=\"calendarIconUrl()\"\n (click)=\"dp.click()\" />\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n <!-- fieldType: 'boolean' fieldInputType: 'toggle' -->\n <ng-container *ngIf=\"field.fieldType === 'boolean' && field.fieldInputType === 'toggle'\">\n <ng-container *ngIf=\"customBooleanToggle; else defaultBooleanToggle\">\n <ng-template\n [ngTemplateOutlet]=\"customBooleanToggle\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultBooleanToggle>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <mis-switch [control]=\"control\" (valueChanged)=\"updateSubDynamicFields(field, formgroup, $event)\"></mis-switch>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div> \n </ng-template>\n </ng-container>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'dropdown' -->\n <ng-container *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'dropdown'\">\n <ng-container *ngIf=\"customSingleSelectDropdown; else defaultSingleSelectDropdown\">\n <ng-template\n [ngTemplateOutlet]=\"customSingleSelectDropdown\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultSingleSelectDropdown>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div [ngClass]=\"{'removeable-container' : field?.isRemoveable}\">\n <mis-dropdown [searchEnabled]=\"false\" [width]=\"'140px'\" [data]=\"field.itemsList\" [selectedItem]=\"control.value\"\n (onChange)=\"updateSelectedValueForSingleSelect(field, control, formgroup, $event);\">\n </mis-dropdown>\n <img *ngIf=\"field.isRemoveable && removeIconUrl()\" class=\"remove-icon\" [src]=\"removeIconUrl()\" (click)=\"fieldRemoved.emit(field)\">\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container >\n \n\n <!-- fieldType: 'singleSelect' fieldInputType: 'radio' -->\n <ng-container *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'radio'\">\n <ng-container *ngIf=\"customSingleSelectRadio; else defaultSingleSelectRadio\">\n <ng-template\n [ngTemplateOutlet]=\"customSingleSelectRadio\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultSingleSelectRadio>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': item.label === control.value?.label }\"\n (click)=\"updateSelectedValueForSingleSelect(field, control, formgroup, item);\">\n <img *ngIf=\"(item.label === control.value?.label) && activeBtnIconUrl()\" [src]=\"activeBtnIconUrl()\" alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n \n\n <!-- fieldType: 'multiSelect' fieldInputType: 'checkbox' -->\n <ng-container *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'checkbox'\">\n <ng-container *ngIf=\"customMultiSelectCheckbox; else defaultMultiSelectCheckbox\">\n <ng-template\n [ngTemplateOutlet]=\"customMultiSelectCheckbox\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultMultiSelectCheckbox>\n <div class=\"dynamic-field multi-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': isCheckBoxSelected(item.label, control.value) }\"\n (click)=\"updateSelectedValueForMultiSelect(field, control, formgroup, [item])\">\n <img *ngIf=\"isCheckBoxSelected(item.label, control.value) && activeBtnIconUrl()\" [src]=\"activeBtnIconUrl()\"\n alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'dropdown' -->\n <ng-container *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'dropdown'\">\n <ng-container *ngIf=\"customMultiSelectDropdown; else defaultMultiSelectDropdown\">\n <ng-template\n [ngTemplateOutlet]=\"customMultiSelectDropdown\"\n [ngTemplateOutletContext]=\"{ field: field, control: control, formgroup: formgroup }\"\n ></ng-template>\n </ng-container>\n <ng-template #defaultMultiSelectDropdown>\n <div class=\"dynamic-field single-line-field-container\"\n [ngStyle]=\"{'border-bottom': (formgroup?.controls?.subFields?.controls?.length && removeSepratorForSubFields) ? 'none':''}\">\n <p class=\"h6\">\n {{ field.title }}<span *ngIf=\"field.validators && field.validators.length > 0\"> *</span>\n </p>\n <mis-multi-select-dropdown [width]=\"'140px'\" [showSelectedCount]=\"true\" [dropdownListWidth]=\"'256px'\"\n [searchEnabled]=\"false\" [hideApplyButton]=\"true\" [data]=\"field.itemsList\"\n [selectedItems]=\"control.value\" (onChange)=\"updateSelectedValueForMultiSelect(field, control, formgroup, $event);\"></mis-multi-select-dropdown>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n </ng-template>\n </ng-container>\n\n</ng-template>\n\n<ng-template #dynamicFieldErrors let-errors>\n <div id=\"error-messages-container\">\n <ng-container *ngFor=\"let error of errors | keyvalue\">\n <p class=\"h8\">\n {{\" • \" + error.value}}\n </p>\n <div [ngStyle]=\"{ 'flex-basis': '100%', 'height': '0' }\"></div>\n </ng-container>\n </div>\n</ng-template>","import { Component, ContentChild, HostListener, OnDestroy, OnInit, TemplateRef, input, output, signal, computed, effect, untracked } from \"@angular/core\";\nimport { NsDynamicForm } from \"./dynamic-form.namespace\";\nimport { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup, ValidationErrors, ValidatorFn, Validators } from \"@angular/forms\";\n\nimport dayjs from 'dayjs';\nimport timezone from 'dayjs/plugin/timezone';\nimport customParseFormat from 'dayjs/plugin/customParseFormat'\n\ndayjs.extend(timezone);\ndayjs.extend(customParseFormat);\nimport { Subscription } from \"rxjs\";\n\n@Component({\n selector: \"mis-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"./dynamic-form.component.scss\"]\n})\nexport class DynamicFormComponent implements OnInit, OnDestroy {\n /**\n * formFields: Dynamic fields recieved from the API metadata to build a dynamic form\n * formValues: Holds the value of the dynamic form with \"key\" being dynamic field \"title\"\n * and value being the user input.\n */\n formFields = input<Array<NsDynamicForm.IDynamicField>>([]);\n formValues = input<{ [key: string]: any }>({});\n // Need to deprecate these inputs and use constants.\n activeBtnIconUrl = input<string>(\"\");\n calendarIconUrl = input<string>(\"\");\n removeIconUrl = input<string>(\"\");\n removeSepratorForSubFields = input<boolean>(false);\n /**\n * dynamicForm: Constructed using formFields and formValues(in case of edit)\n */\n\n /**\n * formUpdated: Emits formValues Object whenever there is a change in the dynamic form.\n */\n formUpdated = output<{ [key: string]: any }>();\n /**\n * formValid: Emits boolean depending on validity of the form\n */\n formValid = output<boolean>();\n /**\n * formInitialized: Emits dynamic form API on form initilization\n */\n formInitialized = output<any>();\n fieldRemoved = output<NsDynamicForm.IDynamicField>();\n\n @ContentChild(\"customInputTextNumber\", { static: false })\n customInputTextNumber: TemplateRef<Element>;\n \n @ContentChild(\"customInputTextarea\", { static: false })\n customInputTextarea: TemplateRef<Element>;\n\n @ContentChild(\"customInputDate\", { static: false })\n customInputDate: TemplateRef<Element>;\n\n @ContentChild(\"customBooleanToggle\", { static: false })\n customBooleanToggle: TemplateRef<Element>;\n\n @ContentChild(\"customSingleSelectDropdown\", { static: false })\n customSingleSelectDropdown: TemplateRef<Element>;\n\n @ContentChild(\"customSingleSelectRadio\", { static: false })\n customSingleSelectRadio: TemplateRef<Element>;\n\n @ContentChild(\"customMultiSelectCheckbox\", { static: false })\n customMultiSelectCheckbox: TemplateRef<Element>;\n\n @ContentChild(\"customMultiSelectDropdown\", { static: false })\n customMultiSelectDropdown: TemplateRef<Element>;\n\n // Signal-based state management\n private readonly dynamicFormSignal = signal<UntypedFormGroup | null>(null);\n private readonly dynamicFormAPISignal = signal<NsDynamicForm.IDynamicFormAPI | null>(null);\n private readonly valueChangesSubscriptionSignal = signal<Subscription | null>(null);\n \n // Computed properties for template access\n dynamicForm = computed(() => this.dynamicFormSignal());\n dynamicFormAPI = computed(() => this.dynamicFormAPISignal());\n valueChangesSubscription$ = computed(() => this.valueChangesSubscriptionSignal());\n \n // Backward compatibility: handle both signal and property access\n get formFieldsArray() {\n return this.formFields();\n }\n \n // dynamic-form.component.ts (in constructor)\nconstructor() {\n // Watch for changes in **form structure/metadata (formFields)** and update the form accordingly\n effect(() => {\n const formFields = this.formFields();\n \n // Use untracked to access formValues so that this effect only runs when formFields changes,\n // not when the formValues output (which feeds back as an input) changes.\n untracked(() => {\n const formValues = this.formValues();\n \n // Only update if we have form fields\n if (formFields) {\n const form = this.generateDynamicForm(formFields, formValues);\n this.dynamicFormSignal.set(form);\n \n // Re-subscribe to form changes\n this.valueChangesSubscriptionSignal()?.unsubscribe();\n this.valueChangesSubscriptionSignal.set(form.valueChanges.subscribe(formValue => {\n this.onFormValueChanges();\n }));\n \n // Emit form validity status\n this.formValid.emit(form.valid);\n \n // Update the API with the new form\n this.dynamicFormAPISignal.set({\n defaultFormValues: () => {\n return this.generateDynamicFieldsValueObject(form.value.dynamicFields);\n }\n });\n \n // Also, emit the initial or updated values right after generating the form\n this.onFormValueChanges();\n }\n });\n });\n}\n\n\n\n ngOnInit(): void {\n // Building the form with proper null checks\n const formFields = this.formFields() || [];\n const formValues = this.formValues() || {};\n \n // Only create form if we have form fields\n if (formFields.length > 0) {\n const form = this.generateDynamicForm(formFields, formValues);\n this.dynamicFormSignal.set(form);\n } else {\n // Create an empty form as fallback\n const emptyForm = new UntypedFormGroup({\n dynamicFields: new UntypedFormArray([])\n });\n this.dynamicFormSignal.set(emptyForm);\n }\n\n // Subscribing to form changes and emiting values.\n const currentForm = this.dynamicFormSignal();\n if (currentForm) {\n this.valueChangesSubscriptionSignal.set(currentForm.valueChanges.subscribe(formValue => {\n this.onFormValueChanges();\n }));\n }\n\n //api to expose functions\n this.dynamicFormAPISignal.set({\n defaultFormValues: () => {\n return this.generateDynamicFieldsValueObject(this.dynamicForm().value.dynamicFields);\n }\n });\n this.formInitialized.emit(this.dynamicFormAPI());\n this.formValid.emit(this.dynamicForm().valid);\n }\n ngOnDestroy(): void {\n this.valueChangesSubscription$()?.unsubscribe();\n }\n onFormValueChanges(): void {\n let formValues = this.generateDynamicFieldsValueObject(this.dynamicForm().value.dynamicFields);\n this.formValid.emit(this.dynamicForm().valid);\n this.formUpdated.emit(formValues);\n console.log(formValues)\n }\n generateDynamicFieldsValueObject(formValues: Array<any>): { [key: string]: any } {\n let dynamicFieldsValue = {};\n formValues.forEach((fieldValue, index) => {\n if(typeof fieldValue?.value === 'string') fieldValue.value = fieldValue?.value?.trim()\n let formattedValue = this.mapFormFieldToFormValue(this.formFields()[index], fieldValue.value);\n if (fieldValue.subFields?.length > 0) {\n let formattedSubFieldsValues = {}\n let subField = this.formFields()[index].subFields\n if(this.formFields()[index].fieldType === 'singleSelect' || this.formFields()[index].fieldType === 'multiSelect') {\n subField = subField.filter((subField) => subField.parentConfigValue === fieldValue.value.value);\n }\n fieldValue.subFields.forEach((subFieldValue, subIndex) => {\n let subFormField = subField[subIndex]\n if(typeof subFieldValue?.value === 'string') subFieldValue.value = subFieldValue?.value?.trim()\n formattedSubFieldsValues[subFormField.configName] = this.mapFormFieldToFormValue(subFormField, subFieldValue)\n })\n dynamicFieldsValue[this.formFields()[index].configName] = {\n value: formattedValue,\n subFields: formattedSubFieldsValues\n }\n }\n else {\n dynamicFieldsValue[this.formFields()[index].configName] = formattedValue;\n }\n });\n return dynamicFieldsValue;\n }\n generateDynamicForm(\n formFields: Array<NsDynamicForm.IDynamicField>,\n formValues: { [key: string]: any }\n ): UntypedFormGroup {\n let formArray = new UntypedFormArray([])\n\n for (let field of formFields) {\n let fieldValue = formValues[field.configName];\n let fieldControl = this.mapFormValueToFormField(field, fieldValue);\n let subFieldsControls = this.generateSubDynamicFields(formValues, field, fieldControl.value);\n formArray.push(new UntypedFormGroup({\n value: fieldControl,\n subFields: subFieldsControls\n }))\n } \n return new UntypedFormGroup({\n dynamicFields: formArray\n })\n }\n \n getDynamicFieldsControls(): UntypedFormArray {\n return this.dynamicForm().get(\"dynamicFields\") as UntypedFormArray;\n }\n updateSubDynamicFields(\n field: NsDynamicForm.IDynamicField,\n formGroup: UntypedFormGroup,\n value: any\n ): void {\n if (field.subFields?.length > 0) {\n let subFieldsControls = this.generateSubDynamicFields(this.formValues(), field, value);\n formGroup.removeControl('subFields')\n formGroup.addControl('subFields', subFieldsControls)\n }\n }\n updateSelectedValueForSingleSelect(\n field: NsDynamicForm.IDynamicField,\n control: UntypedFormControl,\n formGroup: UntypedFormGroup,\n value: any\n ): void {\n if (control.value?.value !== value.value) {\n control.setValue(value);\n }\n else control.setValue('');\n this.updateSubDynamicFields(field, formGroup, value);\n control.markAsTouched();\n }\n updateSelectedValueForMultiSelect(\n field: NsDynamicForm.IDynamicField,\n control: UntypedFormControl,\n formGroup: UntypedFormGroup,\n values: Array<any>\n ): void {\n let selectedValues: Array<{ label: string; value: any }> = control.value;\n for (let value of values) {\n let itemIndex = selectedValues.findIndex(item => item.label === value.label);\n if (itemIndex > -1) {\n selectedValues.splice(itemIndex, 1);\n } else {\n selectedValues.push({ ...value });\n }\n }\n control.setValue(selectedValues);\n this.updateSubDynamicFields(field, formGroup, values);\n control.markAsTouched();\n }\n isCheckBoxSelected(value: string, selectedValues: Array<{ label: string; value: string }>): boolean {\n return selectedValues.findIndex(item => item.label === value) > -1;\n }\n\n findSelectedSubFieldConfig(subfields, value, subFieldIndex) {\n try{\n const selectedSubFieldConfig = subfields.filter(item => item.parentConfigValue === value)[subFieldIndex];\n return selectedSubFieldConfig;\n }\n catch(e){\n throw new Error('Subfield index not found');\n }\n }\n\n matchParentConfig(subfields, value) {\n if (!subfields || subfields.length === 0) {\n return false;\n }\n return subfields.some(item => item.parentConfigValue === value);\n }\n\n generateSubDynamicFields(\n formValues: any,\n parentField: NsDynamicForm.IDynamicField,\n parentValue: Array<{ label: string, value: string | number }> | {label: string, value: string } | string | number | boolean\n ): UntypedFormArray {\n let controls = new UntypedFormArray([])\n let subFields = parentField.subFields\n let subFieldsValues = formValues[parentField.configName]?.subFields ? formValues[parentField.configName].subFields : {}\n if(!subFields) return controls;\n if (parentField.fieldType === 'singleSelect') {\n subFields = subFields.filter((subField) => subField.parentConfigValue === (<{label: string, value: string }>parentValue)?.value);\n }\n else if (parentField.fieldType === 'multiSelect') {\n let parentValues = new Set((<Array<{ label: string, value: string | number }>>parentValue).map((value) => value.value));\n subFields = subFields.filter((subField) => parentValues.has(subField.parentConfigValue));\n }\n\n if (subFields?.length > 0) {\n for (let subField of subFields) {\n controls.push(this.mapFormValueToFormField(subField, subFieldsValues[subField.configName]))\n }\n }\n return controls;\n }\n mapFormValueToFormField(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n let validators = formField.validators ? [dynamicFieldValidator(formField.validators)]: []\n let control = new UntypedFormControl(null, validators);\n\n /**\n * Extract actual value if formValue has nested structure (for fields with subFields)\n * Format: { value: \"actualValue\", subFields: {...} }\n */\n const actualValue = formValue?.value !== undefined ? formValue.value : formValue;\n\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") control.setValue(actualValue ? actualValue : \"\");\n else if (formField.fieldInputType === \"number\") control.setValue(actualValue ? actualValue : 0);\n else if (formField.fieldInputType === \"date\") {\n if (actualValue && typeof actualValue === \"number\") {\n const timezone = (formField.fieldConfig && formField.fieldConfig.timezone) || 'Asia/Kolkata';\n const format = (formField.fieldConfig && formField.fieldConfig.format) || 'DD/MM/YYYY';\n control.setValue(dayjs(actualValue).tz(timezone).format(format));\n } else if (actualValue && typeof actualValue === \"string\") {\n const timezone = (formField.fieldConfig && formField.fieldConfig.timezone) || 'Asia/Kolkata';\n const format = (formField.fieldConfig && formField.fieldConfig.format) || 'DD/MM/YYYY';\n control.setValue(dayjs.tz(actualValue, format, timezone).format(format));\n } else {\n const timezone = (formField.fieldConfig && formField.fieldConfig.timezone) || 'Asia/Kolkata';\n const format = (formField.fieldConfig && formField.fieldConfig.format) || 'DD/MM/YYYY';\n control.setValue(dayjs().tz(timezone).format(format));\n }\n }\n } else if (formField.fieldType === \"singleSelect\") {\n const findSelectedValue = () => {\n let index = formField.itemsList.findIndex(item => item.value === actualValue)\n return index >= 0 ? formField.itemsList[index]: \"\";\n }\n if (formField.fieldInputType === \"dropdown\") {\n if (!actualValue) control.setValue(formField.itemsList[0]);\n else control.setValue(findSelectedValue())\n }\n else if (formField.fieldInputType === \"radio\") {\n control.setValue(findSelectedValue())\n }\n } else if (formField.fieldType === \"multiSelect\") {\n if (actualValue && Array.isArray(actualValue)) {\n let selectedValues = [];\n for (let value of actualValue) {\n let index = formField.itemsList.findIndex(item => item.value === value);\n if (index > -1) selectedValues.push({ ...formField.itemsList[index] });\n }\n control.setValue(selectedValues);\n } else {\n control.setValue([]);\n }\n } else if (formField.fieldType === \"boolean\") {\n control.setValue(!!actualValue);\n } else control.setValue(null);\n return control;\n }\n mapFormFieldToFormValue(formField: NsDynamicForm.IDynamicField, formValue: any): any {\n if (formField.fieldType === \"input\") {\n if (formField.fieldInputType === \"text\" || formField.fieldInputType === \"textarea\") return formValue;\n else if (formField.fieldInputType === \"number\") return +formValue;\n else if (formField.fieldInputType === \"date\") {\n const format = (formField.fieldConfig && formField.fieldConfig.format) || 'DD/MM/YYYY';\n const timezone = (formField.fieldConfig && formField.fieldConfig.timezone) || 'Asia/Kolkata';\n return dayjs.tz(formValue, format, timezone).valueOf();\n }\n } else if (formField.fieldType === \"singleSelect\") {\n return formValue?.value ?? '';\n } else if (formField.fieldType === \"multiSelect\") {\n return formValue?.map(item => item.value);\n } else if (formField.fieldType === \"boolean\") {\n return formValue;\n } else return formValue;\n }\n}\n\nexport const dynamicFieldValidator = (validators: Array<NsDynamicForm.IDynamicFieldValidator>): ValidatorFn => {\n return (control: AbstractControl): ValidationErrors | null => {\n let value = control.value\n if (Array.isArray(value)) {\n return null;\n }\n else if (typeof value === 'object') {\n value = value?.value ? value.value : ''\n }\n let errors = null\n\n validators.forEach((validator) => {\n let error = null\n let message = validator.message\n switch (validator.type) {\n case \"Required\":\n error = Validators.required(control);\n if (!error && typeof value === 'string' && value.trim() === '') {\n error = { Required: message };\n }\n if(error) error = {Required: message}\n break;\n case \"MinLength\":\n error = Validators.minLength(+validator.value)(control)\n message = message.replace('${0}', error?.minlength.requiredLength)\n if(error) error = { MinLength: message }\n break;\n case \"MaxLength\":\n error = Validators.maxLength(+validator.value)(control)\n message = message.replace('${0}', error?.actualLength)\n if(error) error = { MaxLength: message }\n break;\n case \"Email\":\n error = Validators.email(control)\n if(error) error = {Email: message}\n break;\n case \"Custom\":\n error = Validators.pattern(`${validator.value}`)(control)\n if(error) error = {Custom: message}\n break;\n default:\n break;\n }\n if (error) errors = { ...errors, ...error }\n })\n return errors\n }\n}","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { ScrollingModule } from \"@angular/cdk-experimental/scrolling\";\nimport { DropdownModule } from \"mis-crystal-design-system/dropdown\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { SwitchModule } from \"mis-crystal-design-system/switch\";\nimport { MultiSelectDropdownModule } from \"mis-crystal-design-system/multi-select-dropdown\";\nimport { DatepickerModuleV2 } from \"mis-crystal-design-system/datepicker_v2\";\n\n@NgModule({\n declarations: [DynamicFormComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n OverlayModule,\n ScrollingModule,\n DropdownModule,\n SwitchModule,\n MultiSelectDropdownModule,\n DatepickerModuleV2\n ],\n exports: [DynamicFormComponent]\n})\nexport class DynamicFormModule {\n static forRoot(): ModuleWithProviders<DynamicFormModule> {\n return { ngModule: DynamicFormModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -102,7 +102,7 @@ class FabComponent {
|
|
|
102
102
|
i0.ɵɵtemplate(0, FabComponent_div_0_Template, 5, 5, "div", 0);
|
|
103
103
|
} if (rf & 2) {
|
|
104
104
|
i0.ɵɵproperty("ngIf", ctx.show());
|
|
105
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgStyle], styles: ["[_ngcontent-%COMP%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.fab-wrapper[_ngcontent-%COMP%]{position:fixed;right:24px;bottom:24px;z-index:1000}.fab-wrapper[_ngcontent-%COMP%] .fab-item[_ngcontent-%COMP%]{position:relative;padding:0 0 16px 8px}.fab-wrapper[_ngcontent-%COMP%] .fab-item[_ngcontent-%COMP%] .fab-tooltip[_ngcontent-%COMP%]{position:absolute;background-color:var(--text-primary, #181F33);border-radius:4px;color:var(--bg-primary, #FFFFFF);padding:8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;right:100%;top:calc(50% - 8px);transform:translateY(-50%)}.fab-wrapper[_ngcontent-%COMP%] .fab-item[_ngcontent-%COMP%] .fab-button[_ngcontent-%COMP%]{width:40px;height:40px;cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center}.fab-wrapper[_ngcontent-%COMP%] .fab-container[_ngcontent-%COMP%]{border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;width:56px;height:56px}.add-img[_ngcontent-%COMP%]{height:24px;width:24px}"], data: { animation: [
|
|
105
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgStyle], styles: ["[_ngcontent-%COMP%]:root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-muted-secondary: #E5E5E5;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.fab-wrapper[_ngcontent-%COMP%]{position:fixed;right:24px;bottom:24px;z-index:1000}.fab-wrapper[_ngcontent-%COMP%] .fab-item[_ngcontent-%COMP%]{position:relative;padding:0 0 16px 8px}.fab-wrapper[_ngcontent-%COMP%] .fab-item[_ngcontent-%COMP%] .fab-tooltip[_ngcontent-%COMP%]{position:absolute;background-color:var(--text-primary, #181F33);border-radius:4px;color:var(--bg-primary, #FFFFFF);padding:8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;right:100%;top:calc(50% - 8px);transform:translateY(-50%)}.fab-wrapper[_ngcontent-%COMP%] .fab-item[_ngcontent-%COMP%] .fab-button[_ngcontent-%COMP%]{width:40px;height:40px;cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center}.fab-wrapper[_ngcontent-%COMP%] .fab-container[_ngcontent-%COMP%]{border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;width:56px;height:56px}.add-img[_ngcontent-%COMP%]{height:24px;width:24px}"], data: { animation: [
|
|
106
106
|
trigger("slideUpFab", [
|
|
107
107
|
transition(":enter", [
|
|
108
108
|
style({ transform: "translateY(50px)", opacity: 0 }),
|
|
@@ -134,7 +134,7 @@ class FabComponent {
|
|
|
134
134
|
transition("rotated => default", animate("300ms ease-out")),
|
|
135
135
|
transition("default => rotated", animate("200ms ease-in"))
|
|
136
136
|
])
|
|
137
|
-
], template: "<div class=\"fab-wrapper\" *ngIf=\"show()\">\n <div class=\"fab-items\" *ngIf=\"isOpen()\" @slideUpFab>\n <div class=\"fab-item\" *ngFor=\"let item of items().reverse(); let i = index\" (click)=\"clickItem(item)\">\n <div *ngIf=\"item.label\" class=\"fab-tooltip\">\n {{ item.label }}\n </div>\n <div\n class=\"fab-button\"\n [ngStyle]=\"{\n backgroundColor: item.backgroundColor || '#0937B2'\n }\"\n >\n <img [src]=\"item.icon\" class=\"add-img\" />\n </div>\n </div>\n </div>\n <div\n class=\"fab-container\"\n [ngStyle]=\"{\n backgroundColor: isOpen() ? computedOptions().backgroundColorOpened : computedOptions().backgroundColorClosed\n }\"\n (click)=\"toogleFab()\"\n >\n <svg\n [@rotateButton]=\"isOpen() ? 'rotated' : 'default'\"\n class=\"add-img\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.1424 5.15607C13.1424 4.51759 12.6313 4 12.0009 4C11.3704 4 10.8594 4.51759 10.8594 5.15607V10.8421H5.14149C4.51106 10.8421 4 11.3597 4 11.9982C4 12.6367 4.51106 13.1543 5.14149 13.1543H10.8594V18.8439C10.8594 19.4824 11.3704 20 12.0009 20C12.6313 20 13.1424 19.4824 13.1424 18.8439V13.1543H18.8585C19.4889 13.1543 20 12.6367 20 11.9982C20 11.3597 19.4889 10.8421 18.8585 10.8421H13.1424V5.15607Z\"\n fill=\"white\"\n />\n </svg>\n </div>\n</div>\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.fab-wrapper{position:fixed;right:24px;bottom:24px;z-index:1000}.fab-wrapper .fab-item{position:relative;padding:0 0 16px 8px}.fab-wrapper .fab-item .fab-tooltip{position:absolute;background-color:var(--text-primary, #181F33);border-radius:4px;color:var(--bg-primary, #FFFFFF);padding:8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;right:100%;top:calc(50% - 8px);transform:translateY(-50%)}.fab-wrapper .fab-item .fab-button{width:40px;height:40px;cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center}.fab-wrapper .fab-container{border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;width:56px;height:56px}.add-img{height:24px;width:24px}\n"] }]
|
|
137
|
+
], template: "<div class=\"fab-wrapper\" *ngIf=\"show()\">\n <div class=\"fab-items\" *ngIf=\"isOpen()\" @slideUpFab>\n <div class=\"fab-item\" *ngFor=\"let item of items().reverse(); let i = index\" (click)=\"clickItem(item)\">\n <div *ngIf=\"item.label\" class=\"fab-tooltip\">\n {{ item.label }}\n </div>\n <div\n class=\"fab-button\"\n [ngStyle]=\"{\n backgroundColor: item.backgroundColor || '#0937B2'\n }\"\n >\n <img [src]=\"item.icon\" class=\"add-img\" />\n </div>\n </div>\n </div>\n <div\n class=\"fab-container\"\n [ngStyle]=\"{\n backgroundColor: isOpen() ? computedOptions().backgroundColorOpened : computedOptions().backgroundColorClosed\n }\"\n (click)=\"toogleFab()\"\n >\n <svg\n [@rotateButton]=\"isOpen() ? 'rotated' : 'default'\"\n class=\"add-img\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.1424 5.15607C13.1424 4.51759 12.6313 4 12.0009 4C11.3704 4 10.8594 4.51759 10.8594 5.15607V10.8421H5.14149C4.51106 10.8421 4 11.3597 4 11.9982C4 12.6367 4.51106 13.1543 5.14149 13.1543H10.8594V18.8439C10.8594 19.4824 11.3704 20 12.0009 20C12.6313 20 13.1424 19.4824 13.1424 18.8439V13.1543H18.8585C19.4889 13.1543 20 12.6367 20 11.9982C20 11.3597 19.4889 10.8421 18.8585 10.8421H13.1424V5.15607Z\"\n fill=\"white\"\n />\n </svg>\n </div>\n</div>\n", styles: [":root{--pmry-200: #99BAF7;--pmry-100: #CBDDFB;--pmry-500: #0937B2;--pmry-400: #3C68D0;--pmry-600: #062A99;--pmry-700: #041F80;--pmry-300: #638FE7;--pmry-800: #021567;--pmry-900: #010F55;--sec-d-purple: #40447F;--sec-maroon: #6B034E;--sec-mud-red: #B23600;--sec-orange: #ED711C;--sec-purple: #815FD5;--sec-teal: #10ADAE;--sec-yellow: #D4900C;--sec-green: #547F40;--sec-bright-green: #27D22E;--sec-dark-teal: #035F6B;--sec-chocolate: #7C2F33;--sec-rube-pink: #C13D6D;--sec-cerulean: #0087B2;--sem-error: #B00020;--sem-info: #0091FF;--sem-warning: #FF9D00;--sem-success: #38AF49;--grey-bg-1: #FAFAFA;--grey-bg: #F5F5F5;--grey-seperators: #E0E0E0;--grey-disabled: #C8CDD3;--grey-hover: #F5F7FC;--grey-pressed: #E6EBF7;--grey-row: #F5F7FC;--dec-light-yellow: #F4E7C3;--dec-light-purple: #DACFF9;--dec-light-green: #E4F5E9;--dec-light-green2: #F1FFF3;--dec-light-pink: #FAE1EA;--dec-: #F4CBC1;--dec-lt-orange: #FAEFED;--dec-light-blue: #CFECF9;--dec-row-selection: #F1FDF8;--dec-row-selection2: #F2FBFF;--dec-row-lines: #D3E1E9;--text-white: #FFFFFF;--text-muted: #6A737D;--text-black: #181F33;--MR-solid-blue2:#C8D5F6;--MR-solid-purple:#C9C3FB;--MR-solid-orange:#EEAC9F;--MR-solid-green:#ACDADA;--MR-solid-brown:#E8C8AF;--MR-solid-yellow:#FFEFC7;--MR-solid-blue:#BBE6FF;--MR-solid-pink:#FFC6F2;--tr-hover:#F0F3FA;--tr-pressed:#DAE1F3;--brand-primary: #0937B2;--brand-primary-light: #3C68D0;--brand-primary-dark: #062A99;--brand-primary-darker: #041F80;--brand-primary-lighter: #638FE7;--brand-primary-lightest: #CBDDFB;--brand-primary-hover: #F0F3FA;--brand-primary-active: #DAE1F3;--brand-secondary: #ED711C;--brand-secondary-light: #F09E65;--brand-secondary-dark: #B23600;--brand-secondary-lighter: #FFC6F2;--brand-accent: #10ADAE;--brand-accent-light: #16CBBC;--brand-accent-dark: #035F6B;--brand-accent-lighter: #ACDADA;--brand-success: #38AF49;--brand-success-light: #4CAF50;--brand-success-dark: #216531;--brand-success-lighter: #E4F5E9;--brand-success-lightest: #F1FFF3;--brand-error: #B00020;--brand-error-light: #F04E4E;--brand-error-dark: #A60060;--brand-error-lighter: #FAE1EA;--brand-error-lightest: #FDF2F2;--brand-warning: #FF9D00;--brand-warning-light: #D4900C;--brand-warning-dark: #624000;--brand-warning-lighter: #F4E7C3;--brand-warning-lightest: #FAEFED;--brand-info: #0091FF;--brand-info-light: #35A1FF;--brand-info-dark: #0087B2;--brand-info-lighter: #CFECF9;--text-primary: #181F33;--text-secondary: #6A737D;--text-tertiary: #929DAB;--text-disabled: #929DAB;--text-muted-secondary: #E5E5E5;--text-primary-87: rgba(24, 31, 51, .87);--text-primary-60: rgba(24, 31, 51, .6);--text-primary-38: rgba(24, 31, 51, .38);--text-primary-12: rgba(24, 31, 51, .12);--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-overlay: rgba(0, 0, 0, .32);--bg-overlay-light: rgba(0, 0, 0, .12);--bg-overlay-lighter: rgba(0, 0, 0, .08);--bg-overlay-lightest: rgba(0, 0, 0, .04);--border-primary: #E0E0E0;--border-secondary: #D6DCE2;--border-tertiary: #C8CDD3;--border-light: #F1F4F8;--border-primary-12: rgba(0, 0, 0, .12);--border-primary-08: rgba(0, 0, 0, .08);--border-primary-06: rgba(0, 0, 0, .06);--shadow-primary: rgba(0, 0, 0, .12);--shadow-secondary: rgba(0, 0, 0, .08);--shadow-tertiary: rgba(0, 0, 0, .04);--shadow-light: rgba(0, 0, 0, .06);--status-available: #929DAB;--status-unavailable: #CCD3DA;--status-hotseat: #857BFF;--status-multiteam: #10ADAE;--status-selected: #10ADAE;--status-upcoming: #D4900C;--status-room: #38AF49;--status-room-booked: #B23600;--status-room-unavailable: #181F33;--team-color-1: #F8C52E;--team-color-2: #FA8E20;--team-color-3: #987CDD;--team-color-4: #16CBBC;--team-color-5: #E65010;--team-color-6: #A60060;--team-color-7: #ED323B;--team-color-8: #35A1FF;--team-color-9: #80D348}.fab-wrapper{position:fixed;right:24px;bottom:24px;z-index:1000}.fab-wrapper .fab-item{position:relative;padding:0 0 16px 8px}.fab-wrapper .fab-item .fab-tooltip{position:absolute;background-color:var(--text-primary, #181F33);border-radius:4px;color:var(--bg-primary, #FFFFFF);padding:8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;right:100%;top:calc(50% - 8px);transform:translateY(-50%)}.fab-wrapper .fab-item .fab-button{width:40px;height:40px;cursor:pointer;border-radius:50%;display:flex;justify-content:center;align-items:center}.fab-wrapper .fab-container{border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;width:56px;height:56px}.add-img{height:24px;width:24px}\n"] }]
|
|
138
138
|
}], () => [{ type: i0.ElementRef }], { clickout: [{
|
|
139
139
|
type: HostListener,
|
|
140
140
|
args: ["document:click", ["$event"]]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-fab.mjs","sources":["../../../projects/mis-components/fab/fab.component.ts","../../../projects/mis-components/fab/fab.component.html","../../../projects/mis-components/fab/fab.module.ts","../../../projects/mis-components/fab/mis-crystal-design-system-fab.ts"],"sourcesContent":["/** @format */\n\nimport { Component, ElementRef, HostListener, OnDestroy, ChangeDetectionStrategy, input, signal, WritableSignal, computed } from \"@angular/core\";\nimport { trigger, transition, style, animate, state } from \"@angular/animations\";\n\nexport type FabOptions = {\n backgroundColorClosed?: string;\n backgroundColorOpened?: string;\n size?: number;\n};\n\nexport type FabItem = {\n label?: string;\n icon: string;\n backgroundColor?: string;\n id?: string;\n click?: () => any;\n};\n\nexport type FabItems = FabItem[];\n\n@Component({\n selector: \"mis-fab\",\n templateUrl: \"./fab.component.html\",\n styleUrls: [\"./fab.component.scss\"],\n animations: [\n trigger(\"slideUpFab\", [\n transition(\":enter\", [\n style({ transform: \"translateY(50px)\", opacity: 0 }),\n animate(\"300ms ease-out\", style({ transform: \"translateY(0px)\", opacity: 1 }))\n ]),\n transition(\":leave\", [animate(\"200ms ease-out\", style({ transform: \"translateY(70px)\", opacity: 0 }))])\n ]),\n trigger(\"rotateButton\", [\n state(\"default\", style({ transform: \"rotate(0)\" })),\n state(\"rotated\", style({ transform: \"rotate(45deg)\" })),\n transition(\"rotated => default\", animate(\"300ms ease-out\")),\n transition(\"default => rotated\", animate(\"200ms ease-in\"))\n ])\n ]\n})\nexport class FabComponent implements OnDestroy {\n show = input<boolean>(false);\n options = input<FabOptions>({});\n items = input<FabItems>([]);\n\n isOpen: WritableSignal<boolean> = signal(false);\n\n // Computed signal for options with defaults\n computedOptions = computed(() => {\n const currentOptions = this.options();\n return {\n size: 56,\n backgroundColorClosed: \"#0937B2\",\n backgroundColorOpened: \"#3a5fc1\",\n ...currentOptions\n };\n });\n\n constructor(private eRef: ElementRef) {}\n\n @HostListener(\"document:click\", [\"$event\"])\n clickout(event: any) {\n if (!this.eRef.nativeElement.contains(event.target)) {\n this.closeFab();\n }\n }\n\n ngOnDestroy(): void {}\n\n clickItem(item: FabItem) {\n this.closeFab();\n item.click?.();\n }\n\n closeFab() {\n this.isOpen.set(false);\n }\n\n toogleFab() {\n this.isOpen.set(!this.isOpen());\n }\n}\n","<div class=\"fab-wrapper\" *ngIf=\"show()\">\n <div class=\"fab-items\" *ngIf=\"isOpen()\" @slideUpFab>\n <div class=\"fab-item\" *ngFor=\"let item of items().reverse(); let i = index\" (click)=\"clickItem(item)\">\n <div *ngIf=\"item.label\" class=\"fab-tooltip\">\n {{ item.label }}\n </div>\n <div\n class=\"fab-button\"\n [ngStyle]=\"{\n backgroundColor: item.backgroundColor || '#0937B2'\n }\"\n >\n <img [src]=\"item.icon\" class=\"add-img\" />\n </div>\n </div>\n </div>\n <div\n class=\"fab-container\"\n [ngStyle]=\"{\n backgroundColor: isOpen() ? computedOptions().backgroundColorOpened : computedOptions().backgroundColorClosed\n }\"\n (click)=\"toogleFab()\"\n >\n <svg\n [@rotateButton]=\"isOpen() ? 'rotated' : 'default'\"\n class=\"add-img\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.1424 5.15607C13.1424 4.51759 12.6313 4 12.0009 4C11.3704 4 10.8594 4.51759 10.8594 5.15607V10.8421H5.14149C4.51106 10.8421 4 11.3597 4 11.9982C4 12.6367 4.51106 13.1543 5.14149 13.1543H10.8594V18.8439C10.8594 19.4824 11.3704 20 12.0009 20C12.6313 20 13.1424 19.4824 13.1424 18.8439V13.1543H18.8585C19.4889 13.1543 20 12.6367 20 11.9982C20 11.3597 19.4889 10.8421 18.8585 10.8421H13.1424V5.15607Z\"\n fill=\"white\"\n />\n </svg>\n </div>\n</div>\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FabComponent } from \"./fab.component\";\n\n@NgModule({\n declarations: [FabComponent],\n imports: [CommonModule],\n exports: [FabComponent]\n})\nexport class FabModule {\n static forRoot(): ModuleWithProviders<FabModule> {\n return { ngModule: FabModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-fab.mjs","sources":["../../../projects/mis-components/fab/fab.component.ts","../../../projects/mis-components/fab/fab.component.html","../../../projects/mis-components/fab/fab.module.ts","../../../projects/mis-components/fab/mis-crystal-design-system-fab.ts"],"sourcesContent":["/** @format */\n\nimport { Component, ElementRef, HostListener, OnDestroy, ChangeDetectionStrategy, input, signal, WritableSignal, computed } from \"@angular/core\";\nimport { trigger, transition, style, animate, state } from \"@angular/animations\";\n\nexport type FabOptions = {\n backgroundColorClosed?: string;\n backgroundColorOpened?: string;\n size?: number;\n};\n\nexport type FabItem = {\n label?: string;\n icon: string;\n backgroundColor?: string;\n id?: string;\n click?: () => any;\n};\n\nexport type FabItems = FabItem[];\n\n@Component({\n selector: \"mis-fab\",\n templateUrl: \"./fab.component.html\",\n styleUrls: [\"./fab.component.scss\"],\n animations: [\n trigger(\"slideUpFab\", [\n transition(\":enter\", [\n style({ transform: \"translateY(50px)\", opacity: 0 }),\n animate(\"300ms ease-out\", style({ transform: \"translateY(0px)\", opacity: 1 }))\n ]),\n transition(\":leave\", [animate(\"200ms ease-out\", style({ transform: \"translateY(70px)\", opacity: 0 }))])\n ]),\n trigger(\"rotateButton\", [\n state(\"default\", style({ transform: \"rotate(0)\" })),\n state(\"rotated\", style({ transform: \"rotate(45deg)\" })),\n transition(\"rotated => default\", animate(\"300ms ease-out\")),\n transition(\"default => rotated\", animate(\"200ms ease-in\"))\n ])\n ]\n})\nexport class FabComponent implements OnDestroy {\n show = input<boolean>(false);\n options = input<FabOptions>({});\n items = input<FabItems>([]);\n\n isOpen: WritableSignal<boolean> = signal(false);\n\n // Computed signal for options with defaults\n computedOptions = computed(() => {\n const currentOptions = this.options();\n return {\n size: 56,\n backgroundColorClosed: \"#0937B2\",\n backgroundColorOpened: \"#3a5fc1\",\n ...currentOptions\n };\n });\n\n constructor(private eRef: ElementRef) {}\n\n @HostListener(\"document:click\", [\"$event\"])\n clickout(event: any) {\n if (!this.eRef.nativeElement.contains(event.target)) {\n this.closeFab();\n }\n }\n\n ngOnDestroy(): void {}\n\n clickItem(item: FabItem) {\n this.closeFab();\n item.click?.();\n }\n\n closeFab() {\n this.isOpen.set(false);\n }\n\n toogleFab() {\n this.isOpen.set(!this.isOpen());\n }\n}\n","<div class=\"fab-wrapper\" *ngIf=\"show()\">\n <div class=\"fab-items\" *ngIf=\"isOpen()\" @slideUpFab>\n <div class=\"fab-item\" *ngFor=\"let item of items().reverse(); let i = index\" (click)=\"clickItem(item)\">\n <div *ngIf=\"item.label\" class=\"fab-tooltip\">\n {{ item.label }}\n </div>\n <div\n class=\"fab-button\"\n [ngStyle]=\"{\n backgroundColor: item.backgroundColor || '#0937B2'\n }\"\n >\n <img [src]=\"item.icon\" class=\"add-img\" />\n </div>\n </div>\n </div>\n <div\n class=\"fab-container\"\n [ngStyle]=\"{\n backgroundColor: isOpen() ? computedOptions().backgroundColorOpened : computedOptions().backgroundColorClosed\n }\"\n (click)=\"toogleFab()\"\n >\n <svg\n [@rotateButton]=\"isOpen() ? 'rotated' : 'default'\"\n class=\"add-img\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.1424 5.15607C13.1424 4.51759 12.6313 4 12.0009 4C11.3704 4 10.8594 4.51759 10.8594 5.15607V10.8421H5.14149C4.51106 10.8421 4 11.3597 4 11.9982C4 12.6367 4.51106 13.1543 5.14149 13.1543H10.8594V18.8439C10.8594 19.4824 11.3704 20 12.0009 20C12.6313 20 13.1424 19.4824 13.1424 18.8439V13.1543H18.8585C19.4889 13.1543 20 12.6367 20 11.9982C20 11.3597 19.4889 10.8421 18.8585 10.8421H13.1424V5.15607Z\"\n fill=\"white\"\n />\n </svg>\n </div>\n</div>\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FabComponent } from \"./fab.component\";\n\n@NgModule({\n declarations: [FabComponent],\n imports: [CommonModule],\n exports: [FabComponent]\n})\nexport class FabModule {\n static forRoot(): ModuleWithProviders<FabModule> {\n return { ngModule: FabModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|