{"version":3,"file":"default-src_app_screens_form_form_component_ts-node_modules_angular_material_fesm2020_checkbo-c667d8.js","mappings":"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","sources":["./src/app/data/step.data.ts","./src/app/screens/form/contact-form/contact-form.component.ts","./src/app/screens/form/contact-form/contact-form.component.html","./src/app/screens/form/form-complete/form-complete.component.ts","./src/app/screens/form/form-complete/form-complete.component.html","./src/app/screens/form/form.component.ts","./src/app/screens/form/form.component.html","./src/app/services/step/step.service.ts","./node_modules/@angular/material/fesm2020/checkbox.mjs","./node_modules/@angular/material/fesm2020/progress-spinner.mjs","./node_modules/@angular/material/fesm2020/radio.mjs"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n@Injectable()\nexport class StepsData {\n public static STEPS = [\n {\n id: 1,\n step: \"application_type\",\n title: \"step.application_type\",\n description: \"application_type.description\",\n isComplete: false,\n type: \"select_one\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"web_application\",\n selectedIcon: \"../../../assets/images/app_type/web_app_selected.svg\",\n icon: \"../../../assets/images/app_type/web_app.svg\",\n imgSrc: \"\",\n title: \"application_type.web_application\",\n description: \"\"\n },\n {\n id: \"mobile_application\",\n selectedIcon: \"../../../assets/images/app_type/mobile_app_selected.svg\",\n icon: \"../../../assets/images/app_type/mobile_app.svg\",\n imgSrc: \"\",\n title: \"application_type.mobile_application\",\n description: \"\"\n },\n ]\n },\n {\n id: 2,\n step: \"mobile_type\",\n title: \"step.mobile_type\",\n description: \"\",\n isComplete: false,\n type: \"select_one\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"hybrid\",\n selectedIcon: \"../../../assets/images/mobile_app_type/hybrid_selected.svg\",\n icon: \"../../../assets/images/mobile_app_type/hybrid.svg\",\n title: \"mobile_type.hybrid\",\n imgSrc: \"\",\n description: \"mobile_type.hybrid_description\"\n },\n {\n id: \"android_ios\",\n selectedIcon: \"../../../assets/images/mobile_app_type/android_ios_selected.svg\",\n icon: \"../../../assets/images/mobile_app_type/android_ios.svg\",\n title: \"mobile_type.android_ios\",\n imgSrc: \"\",\n description: \"mobile_type.android_ios_description\"\n },\n {\n id: \"android\",\n selectedIcon: \"../../../assets/images/mobile_app_type/android_selected.svg\",\n icon: \"../../../assets/images/mobile_app_type/android.svg\",\n title: \"mobile_type.android\",\n imgSrc: \"\",\n description: \"mobile_type.android_description\"\n },\n {\n id: \"ios\",\n selectedIcon: \"../../../assets/images/mobile_app_type/ios_selected.svg\",\n icon: \"../../../assets/images/mobile_app_type/ios.svg\",\n title: \"mobile_type.ios\",\n imgSrc: \"\",\n description: \"mobile_type.ios_description\"\n },\n ]\n },\n {\n id: 3,\n step: \"industry\",\n title: \"step.industry\",\n description: \"industry.description\",\n isComplete: false,\n type: \"select_one\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"government\",\n selectedIcon: \"../../../assets/images/industry/government_selected.svg\",\n icon: \"../../../assets/images/industry/government.svg\",\n title: \"industry.government\",\n imgSrc: \"\",\n description: \"\"\n },\n {\n id: \"financial\",\n selectedIcon: \"../../../assets/images/industry/financial_selected.svg\",\n icon: \"../../../assets/images/industry/financial.svg\",\n title: \"industry.financial\",\n imgSrc: \"\",\n description: \"\"\n },\n {\n id: \"insurance\",\n selectedIcon: \"../../../assets/images/industry/insurance_selected.svg\",\n icon: \"../../../assets/images/industry/insurance.svg\",\n title: \"industry.insurance\",\n imgSrc: \"\",\n description: \"\"\n },\n {\n id: \"education\",\n selectedIcon: \"../../../assets/images/industry/education_selected.svg\",\n icon: \"../../../assets/images/industry/education.svg\",\n title: \"industry.education\",\n imgSrc: \"\",\n description: \"\"\n },\n {\n id: \"communication\",\n selectedIcon: \"../../../assets/images/industry/communication_selected.svg\",\n icon: \"../../../assets/images/industry/communication.svg\",\n title: \"industry.communication\",\n imgSrc: \"\",\n description: \"\"\n },\n {\n id: \"healthcare\",\n selectedIcon: \"../../../assets/images/industry/healthcare_selected.svg\",\n icon: \"../../../assets/images/industry/healthcare.svg\",\n title: \"industry.healthcare\",\n imgSrc: \"\",\n description: \"\"\n },\n {\n id: \"other\",\n selectedIcon: \"../../../assets/images/industry/other_selected.svg\",\n icon: \"../../../assets/images/industry/other.svg\",\n title: \"industry.other\",\n imgSrc: \"\",\n description: \"\"\n },\n ]\n },\n {\n id: 4,\n step: \"design\",\n title: \"step.design\",\n description: \"design.description\",\n isComplete: false,\n type: \"select_one\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"basic\",\n selectedIcon: \"../../../assets/images/design/basic_selected.svg\",\n icon: \"../../../assets/images/design/basic.svg\",\n title: \"design.basic\",\n imgSrc: \"\",\n description: \"design.basic_description\"\n },\n {\n id: \"template\",\n selectedIcon: \"../../../assets/images/design/template_selected.svg\",\n icon: \"../../../assets/images/design/template.svg\",\n title: \"design.template\",\n imgSrc: \"\",\n description: \"design.template_description\"\n },\n {\n id: \"custom\",\n selectedIcon: \"../../../assets/images/design/custom_selected.svg\",\n icon: \"../../../assets/images/design/custom.svg\",\n title: \"design.custom\",\n imgSrc: \"\",\n description: \"design.custom_description\"\n },\n ]\n },\n {\n id: 5,\n step: \"application_size\",\n title: \"step.application_size\",\n description: \"\",\n isComplete: false,\n type: \"select_one\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"small\",\n selectedIcon: \"../../../assets/images/app_size/small_selected.svg\",\n icon: \"../../../assets/images/app_size/small.svg\",\n title: \"application_size.small\",\n imgSrc: \"\",\n description: \"application_size.small_description\"\n },\n {\n id: \"medium\",\n selectedIcon: \"../../../assets/images/app_size/medium_selected.svg\",\n icon: \"../../../assets/images/app_size/medium.svg\",\n title: \"application_size.medium\",\n imgSrc: \"\",\n description: \"application_size.medium_description\"\n },\n {\n id: \"large\",\n selectedIcon: \"../../../assets/images/app_size/large_selected.svg\",\n icon: \"../../../assets/images/app_size/large.svg\",\n title: \"application_size.large\",\n imgSrc: \"\",\n description: \"application_size.large_description\"\n },\n ]\n },\n {\n id: 6,\n step: \"login\",\n title: \"step.login_feature\",\n description: \"\",\n isComplete: true,\n type: \"select_question\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"login_question\",\n selectedIcon: \"\",\n icon: \"\",\n title: \"\",\n imgSrc: \"\",\n description: \"login_feature.require_login\"\n },\n {\n id: \"email_password\",\n selectedIcon: \"../../../assets/images/login/password_selected.svg\",\n icon: \"../../../assets/images/login/password.svg\",\n title: \"login_feature.email_password\",\n imgSrc: \"\",\n description: \"login_feature.email_password_description\"\n },\n {\n id: \"multifactor\",\n selectedIcon: \"../../../assets/images/login/multi_factor_authentication_selected.svg\",\n icon: \"../../../assets/images/login/multi_factor_authentication.svg\",\n title: \"login_feature.multifactor\",\n imgSrc: \"\",\n description: \"login_feature.multifactor_description\"\n },\n {\n id: \"external\",\n selectedIcon: \"../../../assets/images/login/external_selected.svg\",\n icon: \"../../../assets/images/login/external.svg\",\n title: \"login_feature.external\",\n imgSrc: \"\",\n description: \"login_feature.external_description\"\n },\n {\n id: \"social\",\n selectedIcon: \"../../../assets/images/login/social_selected.svg\",\n icon: \"../../../assets/images/login/social.svg\",\n title: \"login_feature.social\",\n imgSrc: \"\",\n description: \"login_feature.social_description\"\n },\n ]\n },\n {\n id: 7,\n step: \"general\",\n title: \"step.general_features\",\n description: \"general_features.description\",\n isComplete: true,\n type: \"multi_select\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"form\",\n selectedIcon: \"../../../assets/images/general_features/forms_selected.svg\",\n icon: \"../../../assets/images/general_features/forms.svg\",\n title: \"general_features.form\",\n imgSrc: \"\",\n description: \"general_features.form_description\"\n },\n {\n id: \"dashboard_reports\",\n selectedIcon: \"../../../assets/images/general_features/dashboard_reports_selected.svg\",\n icon: \"../../../assets/images/general_features/dashboard_reports.svg\",\n title: \"general_features.dashboard_reports\",\n imgSrc: \"\",\n description: \"general_features.dashboard_reports_description\"\n },\n {\n id: \"payments\",\n selectedIcon: \"../../../assets/images/general_features/payments_selected.svg\",\n icon: \"../../../assets/images/general_features/payments.svg\",\n title: \"general_features.payments\",\n imgSrc: \"\",\n description: \"general_features.payments_description\"\n },\n ]\n },\n {\n id: 8,\n step: \"media\",\n title: \"step.media_features\",\n description: \"media_features.description\",\n isComplete: true,\n type: \"multi_select\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"audio\",\n selectedIcon: \"../../../assets/images/media_features/audio_selected.svg\",\n icon: \"../../../assets/images/media_features/audio.svg\",\n title: \"media_features.audio\",\n imgSrc: \"\",\n description: \"media_features.audio_description\"\n },\n {\n id: \"video\",\n selectedIcon: \"../../../assets/images/media_features/video_selected.svg\",\n icon: \"../../../assets/images/media_features/video.svg\",\n title: \"media_features.video\",\n imgSrc: \"\",\n description: \"media_features.video_description\"\n },\n {\n id: \"file_upload\",\n selectedIcon: \"../../../assets/images/media_features/file_upload_selected.svg\",\n icon: \"../../../assets/images/media_features/file_upload.svg\",\n title: \"media_features.file_upload\",\n imgSrc: \"\",\n description: \"media_features.file_upload_description\"\n },\n ]\n },\n {\n id: 9,\n step: \"communication\",\n title: \"step.communication_features\",\n description: \"communication_features.description\",\n isComplete: true,\n type: \"multi_select\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"notifications1\",\n selectedIcon: \"../../../assets/images/communication_features/notification_selected.svg\",\n icon: \"../../../assets/images/communication_features/notification.svg\",\n title: \"communication_features.notifications\",\n imgSrc: \"\",\n description: \"communication_features.notifications_description\"\n },\n {\n id: \"email\",\n selectedIcon: \"../../../assets/images/communication_features/email_selected.svg\",\n icon: \"../../../assets/images/communication_features/email.svg\",\n title: \"communication_features.email\",\n imgSrc: \"\",\n description: \"communication_features.email_description\"\n },\n {\n id: \"messaging\",\n selectedIcon: \"../../../assets/images/communication_features/messaging_selected.svg\",\n icon: \"../../../assets/images/communication_features/messaging.svg\",\n title: \"communication_features.messaging\",\n imgSrc: \"\",\n description: \"communication_features.messaging_description\"\n },\n {\n id: \"sms\",\n selectedIcon: \"../../../assets/images/communication_features/sms_selected.svg\",\n icon: \"../../../assets/images/communication_features/sms.svg\",\n title: \"communication_features.sms\",\n imgSrc: \"\",\n description: \"communication_features.sms_description\"\n },\n ]\n },\n {\n id: 10,\n step: \"other\",\n title: \"step.other_features\",\n description: \"other_features.description\",\n isComplete: true,\n type: \"multi_select\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"maps_geolocation\",\n selectedIcon: \"../../../assets/images/other_features/geolocation_selected.svg\",\n icon: \"../../../assets/images/other_features/geolocation.svg\",\n title: \"other_features.maps\",\n imgSrc: \"\",\n description: \"other_features.maps_description\"\n },\n {\n id: \"search_bar\",\n selectedIcon: \"../../../assets/images/other_features/search_selected.svg\",\n icon: \"../../../assets/images/other_features/search.svg\",\n title: \"other_features.search_bar\",\n imgSrc: \"\",\n description: \"other_features.search_bar_description\"\n },\n {\n id: \"subscription\",\n selectedIcon: \"../../../assets/images/other_features/subscription_selected.svg\",\n icon: \"../../../assets/images/other_features/subscription.svg\",\n title: \"other_features.subscription\",\n imgSrc: \"\",\n description: \"other_features.subscription_description\"\n },\n {\n id: \"shopping_cart\",\n selectedIcon: \"../../../assets/images/other_features/shopping_cart_selected.svg\",\n icon: \"../../../assets/images/other_features/shopping_cart.svg\",\n title: \"other_features.shopping_cart\",\n imgSrc: \"\",\n description: \"other_features.shopping_cart_description\"\n },\n {\n id: \"audit_trail\",\n selectedIcon: \"../../../assets/images/other_features/audit_trail_selected.svg\",\n icon: \"../../../assets/images/other_features/audit_trail.svg\",\n title: \"other_features.audit_trail\",\n imgSrc: \"\",\n description: \"other_features.audit_trail_description\"\n },\n ]\n },\n {\n id: 11,\n step: \"external_data\",\n title: \"step.external_data\",\n description: \"\",\n isComplete: true,\n type: \"question\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"external_data\",\n selectedIcon: \"\",\n icon: \"\",\n title: \"external_data.title\",\n imgSrc: \"\",\n description: \"external_data.description\"\n },\n ]\n },\n {\n id: 12,\n step: \"admin\",\n title: \"step.admin_features\",\n description: \"\",\n isComplete: true,\n type: \"select_question\",\n selectedValues: [],\n selectedValuesTitle: [],\n content: [\n {\n id: \"admin_question\",\n selectedIcon: \"\",\n icon: \"\",\n title: \"\",\n imgSrc: \"\",\n description: \"admin_features.admin_area\"\n },\n {\n id: \"user_management\",\n selectedIcon: \"../../../assets/images/admin_features/user_management_selected.svg\",\n icon: \"../../../assets/images/admin_features/user_management.svg\",\n title: \"admin_features.user_management\",\n imgSrc: \"\",\n description: \"admin_features.user_management_description\"\n },\n {\n id: \"cms\",\n selectedIcon: \"../../../assets/images/admin_features/cms_selected.svg\",\n icon: \"../../../assets/images/admin_features/cms.svg\",\n title: \"admin_features.cms\",\n imgSrc: \"\",\n description: \"admin_features.cms_description\",\n webOnly: true\n },\n {\n id: \"role_management\",\n selectedIcon: \"../../../assets/images/admin_features/role_management_selected.svg\",\n icon: \"../../../assets/images/admin_features/role_management.svg\",\n title: \"admin_features.role_management\",\n imgSrc: \"\",\n description: \"admin_features.role_management_description\"\n },\n {\n id: \"analytics_reports_logs\",\n selectedIcon: \"../../../assets/images/admin_features/analytics_reports_selected.svg\",\n icon: \"../../../assets/images/admin_features/analytics_reports.svg\",\n title: \"admin_features.analytics\",\n imgSrc: \"\",\n description: \"admin_features.analytics_description\"\n },\n ]\n },\n ];\n}\n","import { CdkTextareaAutosize } from '@angular/cdk/text-field';\nimport { Component, OnInit, ViewChild, Input, EventEmitter, Output } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { DateAdapter } from '@angular/material/core';\nimport { BaseComponent } from 'src/app/shared/base/base.component';\n\n@Component({\n selector: 'app-contact-form-cmp',\n templateUrl: 'contact-form.component.html',\n styles: [`md-calendar {width: 300px;}`],\n styleUrls: ['./contact-form.component.css'],\n})\n\nexport class ContactFormComponent extends BaseComponent implements OnInit {\n deadlineDate: any = new Date();\n dp:Date|any;\n imagePreview: any;\n image: any = null;\n formSubmitted: boolean = false;\n language = localStorage.getItem('locale')?localStorage.getItem('locale'):'en';\n minDate:Date = new Date();\n currentDate = new Date((new Date().getFullYear())+\"-\"+(new Date().getMonth()+1)+\"-\"+(new Date().getDate()));\n contactForm: FormGroup|any;\n @Input() estimateId: number = 0;\n @Output() isLoadingEvent = new EventEmitter<[boolean, boolean]>();\n @ViewChild('autosize') autosize: CdkTextareaAutosize|any;\n\n dropdownValues:any;\n multiselectValues:any;\n lang = localStorage.getItem('language')?localStorage.getItem('language'):'en';\n\n constructor(\n private _dateAdapter: DateAdapter\n ) {\n super();\n this.titleService.setTitle('title.contact_us');\n }\n\n ngOnInit() {\n this._dateAdapter.setLocale(this.lang);\n this.translateService.onLangChange.subscribe((event) => {\n this.lang = event.lang;\n this._dateAdapter.setLocale(this.lang);\n });\n this.contactForm = new FormGroup({\n email: new FormControl('', Validators.compose([\n Validators.maxLength(320),\n Validators.required,\n Validators.pattern(this.constant.EMAIL_REGEX)\n ])),\n firstName: new FormControl('', Validators.compose([\n Validators.maxLength(50),\n Validators.required,\n Validators.pattern(this.constant.NAME_REGEX)\n ])),\n lastName: new FormControl('', Validators.compose([\n Validators.maxLength(50),\n Validators.required,\n Validators.pattern(this.constant.NAME_REGEX)\n ])),\n phone: new FormControl('', Validators.compose([\n Validators.maxLength(20),\n Validators.required,\n Validators.pattern(this.constant.PHONE_REGEX)\n ])),\n company: new FormControl('', Validators.compose([\n Validators.maxLength(45),\n Validators.required,\n Validators.pattern(this.constant.NOLEADING_REGEX)\n ])),\n website: new FormControl('', Validators.compose([\n Validators.maxLength(150),\n Validators.required,\n Validators.pattern(this.constant.URL_REGEX)\n ])),\n deadline: new FormControl('', Validators.compose([\n Validators.maxLength(10),\n Validators.pattern(this.constant.NOLEADING_REGEX)\n ])),\n comment: new FormControl('', Validators.compose([\n Validators.maxLength(250),\n Validators.pattern(this.constant.NOLEADING_REGEX)\n ])),\n });\n }\n\n ngOnChanges(changes:any) {\n this.estimateId = changes.estimateId.currentValue;\n }\n\n clearDeadlineDate(){\n this.deadlineDate = null;\n }\n\n onSubmit(): void {\n this.router.navigate(['/form']);\n }\n\n submitValues(event:any){\n if(!this.contactForm.valid){\n return;\n }\n\n this.contactForm.value['language'] = this.lang;\n this.contactForm.value['estimateId'] = this.estimateId;\n this.isLoadingEvent.emit([true, false]);\n this.baseService.post('contactData',this.contactForm.value)\n .subscribe(\n () => {\n this.isLoadingEvent.emit([false, true]);\n },\n error => {\n console.debug(error);\n this.isLoadingEvent.emit([false, false]);\n this.functionService.errorHandler(error.status);\n }\n );\n }\n\n clearDate(event:any) {\n event.stopPropagation();\n this.dp = null;\n }\n\n hasError = (controlName: string, errorName: string) =>{\n return this.contactForm.controls[controlName].hasError(errorName);\n }\n\n ngOnDestroy(){\n this.unsubscribe.next();\n this.unsubscribe.complete();\n }\n}\n","
\n {{'form.contact_us' | translate}}\n
\n
\n
\n
\n
\n \n \n \n
\n {{'error.required' | translate}}\n
\n
\n {{'error.name' | translate}}\n
\n
\n
\n
\n \n \n \n
\n {{'error.required' | translate}}\n
\n
\n {{'error.name' | translate}}\n
\n
\n
\n
\n \n \n \n
\n {{'error.required' | translate}}\n
\n
\n {{'error.email_format' | translate}}\n
\n
\n
\n
\n \n \n \n
\n {{'error.required' | translate}}\n
\n
\n {{'error.phone_format' | translate}}\n
\n
\n
\n
\n \n \n \n
\n {{'error.required' | translate}}\n
\n
\n {{'error.no_leading_spaces' | translate}}\n
\n
\n
\n
\n \n \n \n
\n {{'error.required' | translate}}\n
\n
\n {{'error.website_format' | translate}}\n
\n
\n
\n
\n \n \n \n Clear\n {{'form.deadline_1to3' | translate}}\n {{'form.deadline_3to6' | translate}}\n {{'form.deadline_6to9' | translate}}\n {{'form.deadline_9to12' | translate}}\n {{'form.deadline_unsure' | translate}}\n \n \n \n
\n {{'error.no_leading_spaces' | translate}}\n
\n
\n
\n
\n \n \n \n
\n {{'error.no_leading_spaces' | translate}}\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { BaseComponent } from 'src/app/shared/base/base.component';\nimport { StepsService } from 'src/app/services/step/step.service';\n\n@Component({\n selector: 'app-form-complete-cmp',\n templateUrl: 'form-complete.component.html',\n styleUrls: ['../contact-form/contact-form.component.css'],\n})\n\nexport class FormCompleteComponent extends BaseComponent implements OnInit {\n constructor(private _stepsService: StepsService) {\n super();\n this.titleService.setTitle('form.contact');\n }\n\n ngOnInit() {}\n\n redirectAction(site:boolean): void {\n this._stepsService.clearSteps();\n if(site){\n window.location.href = 'https://invidgroup.com/';\n } else {\n this.router.navigate(['/']);\n }\n }\n}\n","
\n
\n

{{'form.contact' | translate}}

\n

{{'form.contact_representative' | translate}}

\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n ","import { Component, OnInit, ElementRef, OnDestroy, ViewChildren, QueryList } from '@angular/core';\nimport { BaseComponent } from 'src/app/shared/base/base.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { environment } from 'src/environments/environment';\nimport { Observable, Subject } from 'rxjs';\nimport { StepsService } from 'src/app/services/step/step.service';\nimport { Step } from 'src/app/models/step.model';\nimport { Estimate } from 'src/app/models/estimate.model';\ndeclare var $: any;\n\n@Component({\n selector: 'app-form-cmp',\n templateUrl: './form.component.html',\n styleUrls: [ './form.component.css' ]\n})\n\nexport class FormComponent extends BaseComponent implements OnInit, OnDestroy {\n @ViewChildren(\"checkboxes\") checkboxes: QueryList | undefined;\n isLoading = false;\n formSubmitted = false;\n loggedIn = false;\n loginError = \"\";\n currentVersion = environment.version;\n isIframe = false;\n loginDisplay = false;\n private readonly _destroying$ = new Subject();\n currentStep: Observable = new Observable();\n stepContent: Step = {} as Step;\n showOptions: Boolean = false;\n options: any = [];\n disabled: Boolean = true;\n totalSteps: number = 1;\n roughEstimate = \"-\";\n developmentTime = \"-\";\n estimate: Estimate = {} as Estimate;\n estimateId = 0;\n\n loginForm = new FormGroup({\n email: new FormControl('', Validators.compose([\n Validators.required,\n Validators.pattern(this.constant.EMAIL_REGEX)\n ])),\n password: new FormControl('')\n });\n\n constructor(\n public stepsService: StepsService,\n private _element: ElementRef\n ) {\n super();\n \n }\n\n async ngOnInit() {\n this.stepsService.stepValues.map((s:Step) => {\n if(!s.isComplete && (s.step == 'mobile_type' && this.stepsService.stepValues[0]['selectedValues'][0] != 'web_application')) {\n this.functionService.goBack(this.router, '/estimator');\n } else {\n this.totalSteps = this.stepsService.stepValues[0]['selectedValues'][0] != 'mobile_application' ? this.stepsService.stepValues.length + 1 : this.stepsService.stepValues.length + 2;\n this.currentStep = this.stepsService.getCurrentStep();\n this.currentStep.subscribe(value => {\n this.stepContent = value;\n this.titleService.setTitle(this.stepContent.title);\n if(this.stepContent.isComplete) {\n this.options = this.stepContent.selectedValues;\n this.disabled = false;\n }\n });\n }\n });\n this.calculateEstimate();\n }\n\n calculateEstimate() {\n this.isLoading = true;\n if(this.stepsService.stepValues[0].selectedValues.length>0){\n this.baseService.post(\"estimator\", {\"stepValues\": this.stepsService.stepValues}).subscribe(\n (resp) => {\n this.estimate = resp.body as Estimate;\n let nf = new Intl.NumberFormat('en-US');\n this.roughEstimate = `${nf.format(parseInt(Math.ceil(this.estimate.minimumPrice).toFixed()))} - ${nf.format(parseInt(Math.ceil(this.estimate.maximumPrice).toFixed()))} USD`;\n \n var minTime = this.functionService.hoursToMonths(parseInt((Math.ceil(this.estimate.minimumTime)).toFixed()));\n var maxTime = this.functionService.hoursToMonths(parseInt((Math.ceil(this.estimate.maximumTime)).toFixed()), minTime);\n\n this.developmentTime = `${minTime} - ${maxTime}`;\n this.estimateId = this.estimate.id;\n this.isLoading = false;\n }, \n error => {\n console.debug(error);\n this.isLoading = false;\n this.functionService.errorHandler(error.status);\n this.functionService.goBack(this.router, '/estimator');\n }\n );\n }\n }\n\n loadingEvent(e:[boolean, boolean]) {\n this.isLoading = e[0];\n this.formSubmitted = e[1];\n }\n\n ngOnDestroy(){\n this._destroying$.next(undefined);\n this._destroying$.complete();\n }\n}\n\n\n","
\n
\n
\n \n \"Invid\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

{{'title.app_cost_estimator' | translate}}

\n
\n
\n

{{'form.description' | translate}}

\n
\n
\n
\n paid\n \n

{{'form.rough_estimate' | translate}}

\n

{{roughEstimate}}

\n
\n
\n \n
\n
\n
\n
\n
\n access_time_filled\n \n

{{'form.development_time' | translate}}

\n

{{developmentTime}} {{'general.months' | translate}}

\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

{{'form.includes_question' | translate}}

\n

{{'form.includes' | translate}}

\n
    \n
    \n
  • \n \n {{stepInfo['title'] | translate}} 0\">-\n \n \n {{title | translate}},\n \n
  • \n
    \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { StepsData } from 'src/app/data/step.data';\nimport { Step } from '../../models/step.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StepsService {\n\n steps$: BehaviorSubject = new BehaviorSubject(StepsData.STEPS);\n currentStep$: BehaviorSubject = new BehaviorSubject(StepsData.STEPS[0]);\n stepValues:any = StepsData.STEPS;\n\n constructor() {\n this.currentStep$.next(this.steps$.value[0]);\n }\n\n setCurrentStep(step: Step): void {\n if(step.step == 'mobile_type' && this.stepValues[0]['selectedValues'][0] != 'mobile_application') {\n this.currentStep$.next(this.steps$.value[0]);\n } else {\n this.currentStep$.next(step);\n }\n }\n\n getCurrentStep(): Observable {\n return this.currentStep$.asObservable();\n }\n\n getSteps(): Observable {\n return this.steps$.asObservable();\n }\n\n moveToNextStep(values:{}): void {\n const index = this.currentStep$.value.id;\n this.stepValues[index-1] = values;\n if(this.steps$.value[index].step == 'mobile_type' && this.stepValues[0]['selectedValues'][0] != 'mobile_application') {\n this.steps$.value[index].selectedValues = [];\n this.steps$.value[index].selectedValuesTitle = [];\n this.currentStep$.next(this.steps$.value[index+1]);\n }\n else if (index < this.steps$.value.length) {\n this.currentStep$.next(this.steps$.value[index]);\n }\n }\n\n isLastStep(): boolean {\n return this.currentStep$.value.id === this.steps$.value.length;\n }\n\n clearSteps(): void {\n this.steps$ = new BehaviorSubject(StepsData.STEPS);\n this.stepValues.forEach((step:any) => {\n step.isComplete = false;\n step.selectedValues = [];\n step.selectedValuesTitle = [];\n });\n this.setCurrentStep(this.stepValues[0]);\n }\n}","import * as i1 from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, EventEmitter, Directive, Input, Output, ViewChild, Component, ViewEncapsulation, ChangeDetectionStrategy, Attribute, Optional, Inject, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, CheckboxRequiredValidator } from '@angular/forms';\nimport * as i2 from '@angular/material/core';\nimport { mixinTabIndex, mixinColor, mixinDisableRipple, mixinDisabled, MatRipple, MatRippleModule, MatCommonModule } from '@angular/material/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport * as i3 from '@angular/cdk/observers';\nimport { ObserversModule } from '@angular/cdk/observers';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injection token to be used to override the default options for `mat-checkbox`. */\nconst MAT_CHECKBOX_DEFAULT_OPTIONS = new InjectionToken('mat-checkbox-default-options', {\n providedIn: 'root',\n factory: MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY() {\n return {\n color: 'accent',\n clickAction: 'check-indeterminate',\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Increasing integer for generating unique ids for checkbox components.\nlet nextUniqueId = 0;\n// Default checkbox configuration.\nconst defaults = MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY();\n/**\n * Provider Expression that allows mat-checkbox to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nconst MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatCheckbox),\n multi: true,\n};\n/** Change event object emitted by MatCheckbox. */\nclass MatCheckboxChange {\n}\n// Boilerplate for applying mixins to MatCheckbox.\n/** @docs-private */\nconst _MatCheckboxMixinBase = mixinTabIndex(mixinColor(mixinDisableRipple(mixinDisabled(class {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}))));\nclass _MatCheckboxBase extends _MatCheckboxMixinBase {\n constructor(idPrefix, elementRef, _changeDetectorRef, _ngZone, tabIndex, _animationMode, _options) {\n super(elementRef);\n this._changeDetectorRef = _changeDetectorRef;\n this._ngZone = _ngZone;\n this._animationMode = _animationMode;\n this._options = _options;\n /**\n * Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will\n * take precedence so this may be omitted.\n */\n this.ariaLabel = '';\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n this.ariaLabelledby = null;\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n this.labelPosition = 'after';\n /** Name value will be applied to the input element if present */\n this.name = null;\n /** Event emitted when the checkbox's `checked` value changes. */\n this.change = new EventEmitter();\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n this.indeterminateChange = new EventEmitter();\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n this._onTouched = () => { };\n this._currentAnimationClass = '';\n this._currentCheckState = 0 /* TransitionCheckState.Init */;\n this._controlValueAccessorChangeFn = () => { };\n this._checked = false;\n this._disabled = false;\n this._indeterminate = false;\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options.color || defaults.color;\n this.tabIndex = parseInt(tabIndex) || 0;\n this.id = this._uniqueId = `${idPrefix}${++nextUniqueId}`;\n }\n /** Returns the unique id for the visual hidden input. */\n get inputId() {\n return `${this.id || this._uniqueId}-input`;\n }\n /** Whether the checkbox is required. */\n get required() {\n return this._required;\n }\n set required(value) {\n this._required = coerceBooleanProperty(value);\n }\n ngAfterViewInit() {\n this._syncIndeterminate(this._indeterminate);\n }\n /** Whether the checkbox is checked. */\n get checked() {\n return this._checked;\n }\n set checked(value) {\n const checked = coerceBooleanProperty(value);\n if (checked != this.checked) {\n this._checked = checked;\n this._changeDetectorRef.markForCheck();\n }\n }\n /**\n * Whether the checkbox is disabled. This fully overrides the implementation provided by\n * mixinDisabled, but the mixin is still required because mixinTabIndex requires it.\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this.disabled) {\n this._disabled = newValue;\n this._changeDetectorRef.markForCheck();\n }\n }\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n get indeterminate() {\n return this._indeterminate;\n }\n set indeterminate(value) {\n const changed = value != this._indeterminate;\n this._indeterminate = coerceBooleanProperty(value);\n if (changed) {\n if (this._indeterminate) {\n this._transitionCheckState(3 /* TransitionCheckState.Indeterminate */);\n }\n else {\n this._transitionCheckState(this.checked ? 1 /* TransitionCheckState.Checked */ : 2 /* TransitionCheckState.Unchecked */);\n }\n this.indeterminateChange.emit(this._indeterminate);\n }\n this._syncIndeterminate(this._indeterminate);\n }\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n /** Method being called whenever the label text changes. */\n _onLabelTextChange() {\n // Since the event of the `cdkObserveContent` directive runs outside of the zone, the checkbox\n // component will be only marked for check, but no actual change detection runs automatically.\n // Instead of going back into the zone in order to trigger a change detection which causes\n // *all* components to be checked (if explicitly marked or not using OnPush), we only trigger\n // an explicit change detection for the checkbox view and its children.\n this._changeDetectorRef.detectChanges();\n }\n // Implemented as part of ControlValueAccessor.\n writeValue(value) {\n this.checked = !!value;\n }\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n }\n _getAriaChecked() {\n if (this.checked) {\n return 'true';\n }\n return this.indeterminate ? 'mixed' : 'false';\n }\n _transitionCheckState(newState) {\n let oldState = this._currentCheckState;\n let element = this._getAnimationTargetElement();\n if (oldState === newState || !element) {\n return;\n }\n if (this._currentAnimationClass) {\n element.classList.remove(this._currentAnimationClass);\n }\n this._currentAnimationClass = this._getAnimationClassForCheckStateTransition(oldState, newState);\n this._currentCheckState = newState;\n if (this._currentAnimationClass.length > 0) {\n element.classList.add(this._currentAnimationClass);\n // Remove the animation class to avoid animation when the checkbox is moved between containers\n const animationClass = this._currentAnimationClass;\n this._ngZone.runOutsideAngular(() => {\n setTimeout(() => {\n element.classList.remove(animationClass);\n }, 1000);\n });\n }\n }\n _emitChangeEvent() {\n this._controlValueAccessorChangeFn(this.checked);\n this.change.emit(this._createChangeEvent(this.checked));\n // Assigning the value again here is redundant, but we have to do it in case it was\n // changed inside the `change` listener which will cause the input to be out of sync.\n if (this._inputElement) {\n this._inputElement.nativeElement.checked = this.checked;\n }\n }\n /** Toggles the `checked` state of the checkbox. */\n toggle() {\n this.checked = !this.checked;\n this._controlValueAccessorChangeFn(this.checked);\n }\n _handleInputClick() {\n const clickAction = this._options?.clickAction;\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled && clickAction !== 'noop') {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate && clickAction !== 'check') {\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n this._checked = !this._checked;\n this._transitionCheckState(this._checked ? 1 /* TransitionCheckState.Checked */ : 2 /* TransitionCheckState.Unchecked */);\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this._emitChangeEvent();\n }\n else if (!this.disabled && clickAction === 'noop') {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `mat-checkbox`.\n this._inputElement.nativeElement.checked = this.checked;\n this._inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n _onInteractionEvent(event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n _onBlur() {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state change\n // (such as a form control's 'ng-touched') will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n _getAnimationClassForCheckStateTransition(oldState, newState) {\n // Don't transition if animations are disabled.\n if (this._animationMode === 'NoopAnimations') {\n return '';\n }\n switch (oldState) {\n case 0 /* TransitionCheckState.Init */:\n // Handle edge case where user interacts with checkbox that does not have [(ngModel)] or\n // [checked] bound to it.\n if (newState === 1 /* TransitionCheckState.Checked */) {\n return this._animationClasses.uncheckedToChecked;\n }\n else if (newState == 3 /* TransitionCheckState.Indeterminate */) {\n return this._checked\n ? this._animationClasses.checkedToIndeterminate\n : this._animationClasses.uncheckedToIndeterminate;\n }\n break;\n case 2 /* TransitionCheckState.Unchecked */:\n return newState === 1 /* TransitionCheckState.Checked */\n ? this._animationClasses.uncheckedToChecked\n : this._animationClasses.uncheckedToIndeterminate;\n case 1 /* TransitionCheckState.Checked */:\n return newState === 2 /* TransitionCheckState.Unchecked */\n ? this._animationClasses.checkedToUnchecked\n : this._animationClasses.checkedToIndeterminate;\n case 3 /* TransitionCheckState.Indeterminate */:\n return newState === 1 /* TransitionCheckState.Checked */\n ? this._animationClasses.indeterminateToChecked\n : this._animationClasses.indeterminateToUnchecked;\n }\n return '';\n }\n /**\n * Syncs the indeterminate value with the checkbox DOM node.\n *\n * We sync `indeterminate` directly on the DOM node, because in Ivy the check for whether a\n * property is supported on an element boils down to `if (propName in element)`. Domino's\n * HTMLInputElement doesn't have an `indeterminate` property so Ivy will warn during\n * server-side rendering.\n */\n _syncIndeterminate(value) {\n const nativeCheckbox = this._inputElement;\n if (nativeCheckbox) {\n nativeCheckbox.nativeElement.indeterminate = value;\n }\n }\n}\n_MatCheckboxBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatCheckboxBase, deps: \"invalid\", target: i0.ɵɵFactoryTarget.Directive });\n_MatCheckboxBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: _MatCheckboxBase, inputs: { ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], ariaDescribedby: [\"aria-describedby\", \"ariaDescribedby\"], id: \"id\", required: \"required\", labelPosition: \"labelPosition\", name: \"name\", value: \"value\", checked: \"checked\", disabled: \"disabled\", indeterminate: \"indeterminate\" }, outputs: { change: \"change\", indeterminateChange: \"indeterminateChange\" }, viewQueries: [{ propertyName: \"_inputElement\", first: true, predicate: [\"input\"], descendants: true }, { propertyName: \"_labelElement\", first: true, predicate: [\"label\"], descendants: true }, { propertyName: \"ripple\", first: true, predicate: MatRipple, descendants: true }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatCheckboxBase, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: undefined }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined }, { type: undefined }, { type: undefined }]; }, propDecorators: { ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], ariaDescribedby: [{\n type: Input,\n args: ['aria-describedby']\n }], id: [{\n type: Input\n }], required: [{\n type: Input\n }], labelPosition: [{\n type: Input\n }], name: [{\n type: Input\n }], change: [{\n type: Output\n }], indeterminateChange: [{\n type: Output\n }], value: [{\n type: Input\n }], _inputElement: [{\n type: ViewChild,\n args: ['input']\n }], _labelElement: [{\n type: ViewChild,\n args: ['label']\n }], ripple: [{\n type: ViewChild,\n args: [MatRipple]\n }], checked: [{\n type: Input\n }], disabled: [{\n type: Input\n }], indeterminate: [{\n type: Input\n }] } });\n/**\n * A material design checkbox component. Supports all of the functionality of an HTML5 checkbox,\n * and exposes a similar API. A MatCheckbox can be either checked, unchecked, indeterminate, or\n * disabled. Note that all additional accessibility attributes are taken care of by the component,\n * so there is no need to provide them yourself. However, if you want to omit a label and still\n * have the checkbox be accessible, you may supply an [aria-label] input.\n * See: https://material.io/design/components/selection-controls.html\n */\nclass MatCheckbox extends _MatCheckboxBase {\n constructor(elementRef, changeDetectorRef, _focusMonitor, ngZone, tabIndex, animationMode, options) {\n super('mat-checkbox-', elementRef, changeDetectorRef, ngZone, tabIndex, animationMode, options);\n this._focusMonitor = _focusMonitor;\n this._animationClasses = {\n uncheckedToChecked: 'mat-checkbox-anim-unchecked-checked',\n uncheckedToIndeterminate: 'mat-checkbox-anim-unchecked-indeterminate',\n checkedToUnchecked: 'mat-checkbox-anim-checked-unchecked',\n checkedToIndeterminate: 'mat-checkbox-anim-checked-indeterminate',\n indeterminateToChecked: 'mat-checkbox-anim-indeterminate-checked',\n indeterminateToUnchecked: 'mat-checkbox-anim-indeterminate-unchecked',\n };\n }\n _createChangeEvent(isChecked) {\n const event = new MatCheckboxChange();\n event.source = this;\n event.checked = isChecked;\n return event;\n }\n _getAnimationTargetElement() {\n return this._elementRef.nativeElement;\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (!focusOrigin) {\n this._onBlur();\n }\n });\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n /**\n * Event handler for checkbox input element.\n * Toggles checked state if element is not disabled.\n * Do not toggle on (change) event since IE doesn't fire change event when\n * indeterminate checkbox is clicked.\n * @param event\n */\n _onInputClick(event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `checkbox` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n super._handleInputClick();\n }\n /** Focuses the checkbox. */\n focus(origin, options) {\n if (origin) {\n this._focusMonitor.focusVia(this._inputElement, origin, options);\n }\n else {\n this._inputElement.nativeElement.focus(options);\n }\n }\n}\nMatCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatCheckbox, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i0.NgZone }, { token: 'tabindex', attribute: true }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_CHECKBOX_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nMatCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: MatCheckbox, selector: \"mat-checkbox\", inputs: { disableRipple: \"disableRipple\", color: \"color\", tabIndex: \"tabIndex\" }, host: { properties: { \"id\": \"id\", \"attr.tabindex\": \"null\", \"attr.aria-label\": \"null\", \"attr.aria-labelledby\": \"null\", \"class.mat-checkbox-indeterminate\": \"indeterminate\", \"class.mat-checkbox-checked\": \"checked\", \"class.mat-checkbox-disabled\": \"disabled\", \"class.mat-checkbox-label-before\": \"labelPosition == \\\"before\\\"\", \"class._mat-animation-noopable\": \"_animationMode === 'NoopAnimations'\" }, classAttribute: \"mat-checkbox\" }, providers: [MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR], exportAs: [\"matCheckbox\"], usesInheritance: true, ngImport: i0, template: \"\\n\", styles: [\"@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.mat-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-checkbox-layout{-webkit-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:rgba(0,0,0,0);transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:rgba(0,0,0,0)}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox-input:focus~.mat-focus-indicator::before{content:\\\"\\\"}\"], dependencies: [{ kind: \"directive\", type: i2.MatRipple, selector: \"[mat-ripple], [matRipple]\", inputs: [\"matRippleColor\", \"matRippleUnbounded\", \"matRippleCentered\", \"matRippleRadius\", \"matRippleAnimation\", \"matRippleDisabled\", \"matRippleTrigger\"], exportAs: [\"matRipple\"] }, { kind: \"directive\", type: i3.CdkObserveContent, selector: \"[cdkObserveContent]\", inputs: [\"cdkObserveContentDisabled\", \"debounce\"], outputs: [\"cdkObserveContent\"], exportAs: [\"cdkObserveContent\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatCheckbox, decorators: [{\n type: Component,\n args: [{ selector: 'mat-checkbox', exportAs: 'matCheckbox', host: {\n 'class': 'mat-checkbox',\n '[id]': 'id',\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class.mat-checkbox-indeterminate]': 'indeterminate',\n '[class.mat-checkbox-checked]': 'checked',\n '[class.mat-checkbox-disabled]': 'disabled',\n '[class.mat-checkbox-label-before]': 'labelPosition == \"before\"',\n '[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`,\n }, providers: [MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR], inputs: ['disableRipple', 'color', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: \"\\n\", styles: [\"@keyframes mat-checkbox-fade-in-background{0%{opacity:0}50%{opacity:1}}@keyframes mat-checkbox-fade-out-background{0%,50%{opacity:1}100%{opacity:0}}@keyframes mat-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:22.910259}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1)}100%{stroke-dashoffset:0}}@keyframes mat-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mat-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);stroke-dashoffset:0}to{stroke-dashoffset:-22.910259}}@keyframes mat-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(45deg)}}@keyframes mat-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:0;transform:rotate(45deg)}to{opacity:1;transform:rotate(360deg)}}@keyframes mat-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 0.1);opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:rotate(0deg)}}@keyframes mat-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);opacity:1;transform:rotate(0deg)}to{opacity:0;transform:rotate(315deg)}}@keyframes mat-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;opacity:1;transform:scaleX(1)}32.8%,100%{opacity:0;transform:scaleX(0)}}.mat-checkbox-background,.mat-checkbox-frame{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:2px;box-sizing:border-box;pointer-events:none}.mat-checkbox{display:inline-block;transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.mat-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-checkbox .mat-ripple-element:not(.mat-checkbox-persistent-ripple){opacity:.16}.mat-checkbox .mat-checkbox-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-checkbox-layout{-webkit-user-select:none;user-select:none;cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mat-checkbox-label{-webkit-user-select:auto;user-select:auto}.mat-checkbox-inner-container{display:inline-block;height:16px;line-height:0;margin:auto;margin-right:8px;order:0;position:relative;vertical-align:middle;white-space:nowrap;width:16px;flex-shrink:0}[dir=rtl] .mat-checkbox-inner-container{margin-left:8px;margin-right:auto}.mat-checkbox-inner-container-no-side-margin{margin-left:0;margin-right:0}.mat-checkbox-frame{background-color:rgba(0,0,0,0);transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1);border-width:2px;border-style:solid}._mat-animation-noopable .mat-checkbox-frame{transition:none}.mat-checkbox-background{align-items:center;display:inline-flex;justify-content:center;transition:background-color 90ms cubic-bezier(0, 0, 0.2, 0.1),opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);-webkit-print-color-adjust:exact;color-adjust:exact}._mat-animation-noopable .mat-checkbox-background{transition:none}.cdk-high-contrast-active .mat-checkbox .mat-checkbox-background{background:none}.mat-checkbox-persistent-ripple{display:block;width:100%;height:100%;transform:none}.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:.04}.mat-checkbox.cdk-keyboard-focused .mat-checkbox-persistent-ripple{opacity:.12}.mat-checkbox-persistent-ripple,.mat-checkbox.mat-checkbox-disabled .mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{opacity:0}@media(hover: none){.mat-checkbox-inner-container:hover .mat-checkbox-persistent-ripple{display:none}}.mat-checkbox-checkmark{top:0;left:0;right:0;bottom:0;position:absolute;width:100%}.mat-checkbox-checkmark-path{stroke-dashoffset:22.910259;stroke-dasharray:22.910259;stroke-width:2.1333333333px}.cdk-high-contrast-black-on-white .mat-checkbox-checkmark-path{stroke:#000 !important}.mat-checkbox-mixedmark{width:calc(100% - 6px);height:2px;opacity:0;transform:scaleX(0) rotate(0deg);border-radius:2px}.cdk-high-contrast-active .mat-checkbox-mixedmark{height:0;border-top:solid 2px;margin-top:2px}.mat-checkbox-label-before .mat-checkbox-inner-container{order:1;margin-left:8px;margin-right:auto}[dir=rtl] .mat-checkbox-label-before .mat-checkbox-inner-container{margin-left:auto;margin-right:8px}.mat-checkbox-checked .mat-checkbox-checkmark{opacity:1}.mat-checkbox-checked .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-checked .mat-checkbox-mixedmark{transform:scaleX(1) rotate(-45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark{opacity:0;transform:rotate(45deg)}.mat-checkbox-indeterminate .mat-checkbox-checkmark-path{stroke-dashoffset:0}.mat-checkbox-indeterminate .mat-checkbox-mixedmark{opacity:1;transform:scaleX(1) rotate(0deg)}.mat-checkbox-unchecked .mat-checkbox-background{background-color:rgba(0,0,0,0)}.mat-checkbox-disabled{cursor:default}.cdk-high-contrast-active .mat-checkbox-disabled{opacity:.5}.mat-checkbox-anim-unchecked-checked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-checked .mat-checkbox-checkmark-path{animation:180ms linear 0ms mat-checkbox-unchecked-checked-checkmark-path}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-in-background}.mat-checkbox-anim-unchecked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-unchecked-indeterminate-mixedmark}.mat-checkbox-anim-checked-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-checked-unchecked .mat-checkbox-checkmark-path{animation:90ms linear 0ms mat-checkbox-checked-unchecked-checkmark-path}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-checkmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-checkmark}.mat-checkbox-anim-checked-indeterminate .mat-checkbox-mixedmark{animation:90ms linear 0ms mat-checkbox-checked-indeterminate-mixedmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-checkmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-checkmark}.mat-checkbox-anim-indeterminate-checked .mat-checkbox-mixedmark{animation:500ms linear 0ms mat-checkbox-indeterminate-checked-mixedmark}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-background{animation:180ms linear 0ms mat-checkbox-fade-out-background}.mat-checkbox-anim-indeterminate-unchecked .mat-checkbox-mixedmark{animation:300ms linear 0ms mat-checkbox-indeterminate-unchecked-mixedmark}.mat-checkbox-input{bottom:0;left:50%}.mat-checkbox-input:focus~.mat-focus-indicator::before{content:\\\"\\\"}\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_CHECKBOX_DEFAULT_OPTIONS]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAT_CHECKBOX_REQUIRED_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MatCheckboxRequiredValidator),\n multi: true,\n};\n/**\n * Validator for Material checkbox's required attribute in template-driven checkbox.\n * Current CheckboxRequiredValidator only work with `input type=checkbox` and does not\n * work with `mat-checkbox`.\n */\nclass MatCheckboxRequiredValidator extends CheckboxRequiredValidator {\n}\nMatCheckboxRequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatCheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nMatCheckboxRequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: MatCheckboxRequiredValidator, selector: \"mat-checkbox[required][formControlName],\\n mat-checkbox[required][formControl], mat-checkbox[required][ngModel]\", providers: [MAT_CHECKBOX_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatCheckboxRequiredValidator, decorators: [{\n type: Directive,\n args: [{\n selector: `mat-checkbox[required][formControlName],\n mat-checkbox[required][formControl], mat-checkbox[required][ngModel]`,\n providers: [MAT_CHECKBOX_REQUIRED_VALIDATOR],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** This module is used by both original and MDC-based checkbox implementations. */\nclass _MatCheckboxRequiredValidatorModule {\n}\n_MatCheckboxRequiredValidatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatCheckboxRequiredValidatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n_MatCheckboxRequiredValidatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatCheckboxRequiredValidatorModule, declarations: [MatCheckboxRequiredValidator], exports: [MatCheckboxRequiredValidator] });\n_MatCheckboxRequiredValidatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatCheckboxRequiredValidatorModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatCheckboxRequiredValidatorModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [MatCheckboxRequiredValidator],\n declarations: [MatCheckboxRequiredValidator],\n }]\n }] });\nclass MatCheckboxModule {\n}\nMatCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nMatCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: MatCheckboxModule, declarations: [MatCheckbox], imports: [MatRippleModule, MatCommonModule, ObserversModule, _MatCheckboxRequiredValidatorModule], exports: [MatCheckbox, MatCommonModule, _MatCheckboxRequiredValidatorModule] });\nMatCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatCheckboxModule, imports: [MatRippleModule, MatCommonModule, ObserversModule, _MatCheckboxRequiredValidatorModule, MatCommonModule, _MatCheckboxRequiredValidatorModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatCheckboxModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [MatRippleModule, MatCommonModule, ObserversModule, _MatCheckboxRequiredValidatorModule],\n exports: [MatCheckbox, MatCommonModule, _MatCheckboxRequiredValidatorModule],\n declarations: [MatCheckbox],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR, MAT_CHECKBOX_DEFAULT_OPTIONS, MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY, MAT_CHECKBOX_REQUIRED_VALIDATOR, MatCheckbox, MatCheckboxChange, MatCheckboxModule, MatCheckboxRequiredValidator, _MatCheckboxBase, _MatCheckboxRequiredValidatorModule };\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i1 from '@angular/cdk/platform';\nimport { _getShadowRoot } from '@angular/cdk/platform';\nimport * as i2 from '@angular/cdk/scrolling';\nimport * as i3 from '@angular/common';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, Input, NgModule } from '@angular/core';\nimport { mixinColor, MatCommonModule } from '@angular/material/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { Subscription } from 'rxjs';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Base reference size of the spinner.\n * @docs-private\n */\nconst BASE_SIZE = 100;\n/**\n * Base reference stroke width of the spinner.\n * @docs-private\n */\nconst BASE_STROKE_WIDTH = 10;\n// Boilerplate for applying mixins to MatProgressSpinner.\n/** @docs-private */\nconst _MatProgressSpinnerBase = mixinColor(class {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}, 'primary');\n/** Injection token to be used to override the default options for `mat-progress-spinner`. */\nconst MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS = new InjectionToken('mat-progress-spinner-default-options', {\n providedIn: 'root',\n factory: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY() {\n return { diameter: BASE_SIZE };\n}\n// .0001 percentage difference is necessary in order to avoid unwanted animation frames\n// for example because the animation duration is 4 seconds, .1% accounts to 4ms\n// which are enough to see the flicker described in\n// https://github.com/angular/components/issues/8984\nconst INDETERMINATE_ANIMATION_TEMPLATE = `\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n`;\n/**\n * `` component.\n */\nclass MatProgressSpinner extends _MatProgressSpinnerBase {\n constructor(elementRef, _platform, _document, animationMode, defaults, \n /**\n * @deprecated `changeDetectorRef`, `viewportRuler` and `ngZone`\n * parameters to become required.\n * @breaking-change 14.0.0\n */\n changeDetectorRef, viewportRuler, ngZone) {\n super(elementRef);\n this._document = _document;\n this._diameter = BASE_SIZE;\n this._value = 0;\n this._resizeSubscription = Subscription.EMPTY;\n /** Mode of the progress circle */\n this.mode = 'determinate';\n const trackedDiameters = MatProgressSpinner._diameters;\n this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();\n // The base size is already inserted via the component's structural styles. We still\n // need to track it so we don't end up adding the same styles again.\n if (!trackedDiameters.has(_document.head)) {\n trackedDiameters.set(_document.head, new Set([BASE_SIZE]));\n }\n this._noopAnimations =\n animationMode === 'NoopAnimations' && !!defaults && !defaults._forceAnimations;\n if (elementRef.nativeElement.nodeName.toLowerCase() === 'mat-spinner') {\n this.mode = 'indeterminate';\n }\n if (defaults) {\n if (defaults.color) {\n this.color = this.defaultColor = defaults.color;\n }\n if (defaults.diameter) {\n this.diameter = defaults.diameter;\n }\n if (defaults.strokeWidth) {\n this.strokeWidth = defaults.strokeWidth;\n }\n }\n // Safari has an issue where the circle isn't positioned correctly when the page has a\n // different zoom level from the default. This handler triggers a recalculation of the\n // `transform-origin` when the page zoom level changes.\n // See `_getCircleTransformOrigin` for more info.\n // @breaking-change 14.0.0 Remove null checks for `_changeDetectorRef`,\n // `viewportRuler` and `ngZone`.\n if (_platform.isBrowser && _platform.SAFARI && viewportRuler && changeDetectorRef && ngZone) {\n this._resizeSubscription = viewportRuler.change(150).subscribe(() => {\n // When the window is resize while the spinner is in `indeterminate` mode, we\n // have to mark for check so the transform origin of the circle can be recomputed.\n if (this.mode === 'indeterminate') {\n ngZone.run(() => changeDetectorRef.markForCheck());\n }\n });\n }\n }\n /** The diameter of the progress spinner (will set width and height of svg). */\n get diameter() {\n return this._diameter;\n }\n set diameter(size) {\n this._diameter = coerceNumberProperty(size);\n this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();\n // If this is set before `ngOnInit`, the style root may not have been resolved yet.\n if (this._styleRoot) {\n this._attachStyleNode();\n }\n }\n /** Stroke width of the progress spinner. */\n get strokeWidth() {\n return this._strokeWidth || this.diameter / 10;\n }\n set strokeWidth(value) {\n this._strokeWidth = coerceNumberProperty(value);\n }\n /** Value of the progress circle. */\n get value() {\n return this.mode === 'determinate' ? this._value : 0;\n }\n set value(newValue) {\n this._value = Math.max(0, Math.min(100, coerceNumberProperty(newValue)));\n }\n ngOnInit() {\n const element = this._elementRef.nativeElement;\n // Note that we need to look up the root node in ngOnInit, rather than the constructor, because\n // Angular seems to create the element outside the shadow root and then moves it inside, if the\n // node is inside an `ngIf` and a ShadowDom-encapsulated component.\n this._styleRoot = _getShadowRoot(element) || this._document.head;\n this._attachStyleNode();\n element.classList.add('mat-progress-spinner-indeterminate-animation');\n }\n ngOnDestroy() {\n this._resizeSubscription.unsubscribe();\n }\n /** The radius of the spinner, adjusted for stroke width. */\n _getCircleRadius() {\n return (this.diameter - BASE_STROKE_WIDTH) / 2;\n }\n /** The view box of the spinner's svg element. */\n _getViewBox() {\n const viewBox = this._getCircleRadius() * 2 + this.strokeWidth;\n return `0 0 ${viewBox} ${viewBox}`;\n }\n /** The stroke circumference of the svg circle. */\n _getStrokeCircumference() {\n return 2 * Math.PI * this._getCircleRadius();\n }\n /** The dash offset of the svg circle. */\n _getStrokeDashOffset() {\n if (this.mode === 'determinate') {\n return (this._getStrokeCircumference() * (100 - this._value)) / 100;\n }\n return null;\n }\n /** Stroke width of the circle in percent. */\n _getCircleStrokeWidth() {\n return (this.strokeWidth / this.diameter) * 100;\n }\n /** Gets the `transform-origin` for the inner circle element. */\n _getCircleTransformOrigin(svg) {\n // Safari has an issue where the `transform-origin` doesn't work as expected when the page\n // has a different zoom level from the default. The problem appears to be that a zoom\n // is applied on the `svg` node itself. We can work around it by calculating the origin\n // based on the zoom level. On all other browsers the `currentScale` appears to always be 1.\n const scale = (svg.currentScale ?? 1) * 50;\n return `${scale}% ${scale}%`;\n }\n /** Dynamically generates a style tag containing the correct animation for this diameter. */\n _attachStyleNode() {\n const styleRoot = this._styleRoot;\n const currentDiameter = this._diameter;\n const diameters = MatProgressSpinner._diameters;\n let diametersForElement = diameters.get(styleRoot);\n if (!diametersForElement || !diametersForElement.has(currentDiameter)) {\n const styleTag = this._document.createElement('style');\n styleTag.setAttribute('mat-spinner-animation', this._spinnerAnimationLabel);\n styleTag.textContent = this._getAnimationText();\n styleRoot.appendChild(styleTag);\n if (!diametersForElement) {\n diametersForElement = new Set();\n diameters.set(styleRoot, diametersForElement);\n }\n diametersForElement.add(currentDiameter);\n }\n }\n /** Generates animation styles adjusted for the spinner's diameter. */\n _getAnimationText() {\n const strokeCircumference = this._getStrokeCircumference();\n return (INDETERMINATE_ANIMATION_TEMPLATE\n // Animation should begin at 5% and end at 80%\n .replace(/START_VALUE/g, `${0.95 * strokeCircumference}`)\n .replace(/END_VALUE/g, `${0.2 * strokeCircumference}`)\n .replace(/DIAMETER/g, `${this._spinnerAnimationLabel}`));\n }\n /** Returns the circle diameter formatted for use with the animation-name CSS property. */\n _getSpinnerAnimationLabel() {\n // The string of a float point number will include a period ‘.’ character,\n // which is not valid for a CSS animation-name.\n return this.diameter.toString().replace('.', '_');\n }\n}\n/**\n * Tracks diameters of existing instances to de-dupe generated styles (default d = 100).\n * We need to keep track of which elements the diameters were attached to, because for\n * elements in the Shadow DOM the style tags are attached to the shadow root, rather\n * than the document head.\n */\nMatProgressSpinner._diameters = new WeakMap();\nMatProgressSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatProgressSpinner, deps: [{ token: i0.ElementRef }, { token: i1.Platform }, { token: DOCUMENT, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS }, { token: i0.ChangeDetectorRef }, { token: i2.ViewportRuler }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\nMatProgressSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: MatProgressSpinner, selector: \"mat-progress-spinner, mat-spinner\", inputs: { color: \"color\", diameter: \"diameter\", strokeWidth: \"strokeWidth\", mode: \"mode\", value: \"value\" }, host: { attributes: { \"role\": \"progressbar\", \"tabindex\": \"-1\" }, properties: { \"class._mat-animation-noopable\": \"_noopAnimations\", \"style.width.px\": \"diameter\", \"style.height.px\": \"diameter\", \"attr.aria-valuemin\": \"mode === \\\"determinate\\\" ? 0 : null\", \"attr.aria-valuemax\": \"mode === \\\"determinate\\\" ? 100 : null\", \"attr.aria-valuenow\": \"mode === \\\"determinate\\\" ? value : null\", \"attr.mode\": \"mode\" }, classAttribute: \"mat-progress-spinner mat-spinner\" }, exportAs: [\"matProgressSpinner\"], usesInheritance: true, ngImport: i0, template: \"\\n\\n\\n\\n \\n \\n\\n \\n\\n\", styles: [\".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:rgba(0,0,0,0);transition:stroke-dashoffset 225ms linear}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:CanvasText}.mat-progress-spinner[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}.mat-progress-spinner[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}.mat-progress-spinner._mat-animation-noopable svg,.mat-progress-spinner._mat-animation-noopable circle{animation:none;transition:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}\"], dependencies: [{ kind: \"directive\", type: i3.NgSwitch, selector: \"[ngSwitch]\", inputs: [\"ngSwitch\"] }, { kind: \"directive\", type: i3.NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: [\"ngSwitchCase\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatProgressSpinner, decorators: [{\n type: Component,\n args: [{ selector: 'mat-progress-spinner, mat-spinner', exportAs: 'matProgressSpinner', host: {\n 'role': 'progressbar',\n // `mat-spinner` is here for backward compatibility.\n 'class': 'mat-progress-spinner mat-spinner',\n // set tab index to -1 so screen readers will read the aria-label\n // Note: there is a known issue with JAWS that does not read progressbar aria labels on FireFox\n 'tabindex': '-1',\n '[class._mat-animation-noopable]': `_noopAnimations`,\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n '[attr.aria-valuemin]': 'mode === \"determinate\" ? 0 : null',\n '[attr.aria-valuemax]': 'mode === \"determinate\" ? 100 : null',\n '[attr.aria-valuenow]': 'mode === \"determinate\" ? value : null',\n '[attr.mode]': 'mode',\n }, inputs: ['color'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"\\n\\n\\n\\n \\n \\n\\n \\n\\n\", styles: [\".mat-progress-spinner{display:block;position:relative;overflow:hidden}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:rgba(0,0,0,0);transition:stroke-dashoffset 225ms linear}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:CanvasText}.mat-progress-spinner[mode=indeterminate] svg{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}.mat-progress-spinner[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}.mat-progress-spinner._mat-animation-noopable svg,.mat-progress-spinner._mat-animation-noopable circle{animation:none;transition:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS]\n }] }, { type: i0.ChangeDetectorRef }, { type: i2.ViewportRuler }, { type: i0.NgZone }]; }, propDecorators: { diameter: [{\n type: Input\n }], strokeWidth: [{\n type: Input\n }], mode: [{\n type: Input\n }], value: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatProgressSpinnerModule {\n}\nMatProgressSpinnerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatProgressSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nMatProgressSpinnerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: MatProgressSpinnerModule, declarations: [MatProgressSpinner], imports: [MatCommonModule, CommonModule], exports: [MatProgressSpinner, MatCommonModule] });\nMatProgressSpinnerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatProgressSpinnerModule, imports: [MatCommonModule, CommonModule, MatCommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatProgressSpinnerModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [MatCommonModule, CommonModule],\n exports: [MatProgressSpinner, MatCommonModule],\n declarations: [MatProgressSpinner],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @deprecated Import `MatProgressSpinner` instead. Note that the\n * `mat-spinner` selector isn't deprecated.\n * @breaking-change 8.0.0\n */\n// tslint:disable-next-line:variable-name\nconst MatSpinner = MatProgressSpinner;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS, MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, MatProgressSpinner, MatProgressSpinnerModule, MatSpinner };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, EventEmitter, Directive, Output, Input, ContentChildren, ViewChild, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Inject, Attribute, NgModule } from '@angular/core';\nimport * as i3 from '@angular/material/core';\nimport { mixinDisableRipple, mixinTabIndex, MatRippleModule, MatCommonModule } from '@angular/material/core';\nimport * as i1 from '@angular/cdk/a11y';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i2 from '@angular/cdk/collections';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAT_RADIO_DEFAULT_OPTIONS = new InjectionToken('mat-radio-default-options', {\n providedIn: 'root',\n factory: MAT_RADIO_DEFAULT_OPTIONS_FACTORY,\n});\nfunction MAT_RADIO_DEFAULT_OPTIONS_FACTORY() {\n return {\n color: 'accent',\n };\n}\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n/**\n * Provider Expression that allows mat-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nconst MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatRadioGroup),\n multi: true,\n};\n/** Change event object emitted by MatRadio and MatRadioGroup. */\nclass MatRadioChange {\n constructor(\n /** The MatRadioButton that emits the change event. */\n source, \n /** The value of the MatRadioButton. */\n value) {\n this.source = source;\n this.value = value;\n }\n}\n/**\n * Injection token that can be used to inject instances of `MatRadioGroup`. It serves as\n * alternative token to the actual `MatRadioGroup` class which could cause unnecessary\n * retention of the class and its component metadata.\n */\nconst MAT_RADIO_GROUP = new InjectionToken('MatRadioGroup');\n/**\n * Base class with all of the `MatRadioGroup` functionality.\n * @docs-private\n */\nclass _MatRadioGroupBase {\n constructor(_changeDetector) {\n this._changeDetector = _changeDetector;\n /** Selected value for the radio group. */\n this._value = null;\n /** The HTML name attribute applied to radio buttons in this group. */\n this._name = `mat-radio-group-${nextUniqueId++}`;\n /** The currently selected radio button. Should match value. */\n this._selected = null;\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n this._labelPosition = 'after';\n /** Whether the radio group is disabled. */\n this._disabled = false;\n /** Whether the radio group is required. */\n this._required = false;\n /** The method to be called in order to update ngModel */\n this._controlValueAccessorChangeFn = () => { };\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n this.onTouched = () => { };\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as ``).\n */\n this.change = new EventEmitter();\n }\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n get name() {\n return this._name;\n }\n set name(value) {\n this._name = value;\n this._updateRadioButtonNames();\n }\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n get labelPosition() {\n return this._labelPosition;\n }\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this._markRadiosForCheck();\n }\n /**\n * Value for the radio-group. Should equal the value of the selected radio button if there is\n * a corresponding radio button with a matching value. If there is not such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n get value() {\n return this._value;\n }\n set value(newValue) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n this._updateSelectedRadioFromValue();\n this._checkSelectedRadioButton();\n }\n }\n _checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n /**\n * The currently selected radio button. If set to a new radio button, the radio group value\n * will be updated to match the new selected button.\n */\n get selected() {\n return this._selected;\n }\n set selected(selected) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this._checkSelectedRadioButton();\n }\n /** Whether the radio group is disabled */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._markRadiosForCheck();\n }\n /** Whether the radio group is required */\n get required() {\n return this._required;\n }\n set required(value) {\n this._required = coerceBooleanProperty(value);\n this._markRadiosForCheck();\n }\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on MatRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the MatRadioGroup.\n this._isInitialized = true;\n }\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n _touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n _updateRadioButtonNames() {\n if (this._radios) {\n this._radios.forEach(radio => {\n radio.name = this.name;\n radio._markForCheck();\n });\n }\n }\n /** Updates the `selected` radio button from the internal _value state. */\n _updateSelectedRadioFromValue() {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n if (this._radios && !isAlreadySelected) {\n this._selected = null;\n this._radios.forEach(radio => {\n radio.checked = this.value === radio.value;\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n /** Dispatch change event with current selection and group value. */\n _emitChangeEvent() {\n if (this._isInitialized) {\n this.change.emit(new MatRadioChange(this._selected, this._value));\n }\n }\n _markRadiosForCheck() {\n if (this._radios) {\n this._radios.forEach(radio => radio._markForCheck());\n }\n }\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value\n */\n writeValue(value) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn) {\n this._controlValueAccessorChangeFn = fn;\n }\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this._changeDetector.markForCheck();\n }\n}\n_MatRadioGroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatRadioGroupBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });\n_MatRadioGroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: _MatRadioGroupBase, inputs: { color: \"color\", name: \"name\", labelPosition: \"labelPosition\", value: \"value\", selected: \"selected\", disabled: \"disabled\", required: \"required\" }, outputs: { change: \"change\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatRadioGroupBase, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { change: [{\n type: Output\n }], color: [{\n type: Input\n }], name: [{\n type: Input\n }], labelPosition: [{\n type: Input\n }], value: [{\n type: Input\n }], selected: [{\n type: Input\n }], disabled: [{\n type: Input\n }], required: [{\n type: Input\n }] } });\n/**\n * A group of radio buttons. May contain one or more `` elements.\n */\nclass MatRadioGroup extends _MatRadioGroupBase {\n}\nMatRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatRadioGroup, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nMatRadioGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: MatRadioGroup, selector: \"mat-radio-group\", host: { attributes: { \"role\": \"radiogroup\" }, classAttribute: \"mat-radio-group\" }, providers: [\n MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,\n { provide: MAT_RADIO_GROUP, useExisting: MatRadioGroup },\n ], queries: [{ propertyName: \"_radios\", predicate: i0.forwardRef(function () { return MatRadioButton; }), descendants: true }], exportAs: [\"matRadioGroup\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatRadioGroup, decorators: [{\n type: Directive,\n args: [{\n selector: 'mat-radio-group',\n exportAs: 'matRadioGroup',\n providers: [\n MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,\n { provide: MAT_RADIO_GROUP, useExisting: MatRadioGroup },\n ],\n host: {\n 'role': 'radiogroup',\n 'class': 'mat-radio-group',\n },\n }]\n }], propDecorators: { _radios: [{\n type: ContentChildren,\n args: [forwardRef(() => MatRadioButton), { descendants: true }]\n }] } });\n// Boilerplate for applying mixins to MatRadioButton.\n/** @docs-private */\nclass MatRadioButtonBase {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}\nconst _MatRadioButtonMixinBase = mixinDisableRipple(mixinTabIndex(MatRadioButtonBase));\n/**\n * Base class with all of the `MatRadioButton` functionality.\n * @docs-private\n */\nclass _MatRadioButtonBase extends _MatRadioButtonMixinBase {\n constructor(radioGroup, elementRef, _changeDetector, _focusMonitor, _radioDispatcher, animationMode, _providerOverride, tabIndex) {\n super(elementRef);\n this._changeDetector = _changeDetector;\n this._focusMonitor = _focusMonitor;\n this._radioDispatcher = _radioDispatcher;\n this._providerOverride = _providerOverride;\n this._uniqueId = `mat-radio-${++nextUniqueId}`;\n /** The unique ID for the radio button. */\n this.id = this._uniqueId;\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as ``).\n */\n this.change = new EventEmitter();\n /** Whether this radio is checked. */\n this._checked = false;\n /** Value assigned to this radio. */\n this._value = null;\n /** Unregister function for _radioDispatcher */\n this._removeUniqueSelectionListener = () => { };\n // Assertions. Ideally these should be stripped out by the compiler.\n // TODO(jelbourn): Assert that there's no name binding AND a parent radio group.\n this.radioGroup = radioGroup;\n this._noopAnimations = animationMode === 'NoopAnimations';\n if (tabIndex) {\n this.tabIndex = coerceNumberProperty(tabIndex, 0);\n }\n this._removeUniqueSelectionListener = _radioDispatcher.listen((id, name) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n /** Whether this radio button is checked. */\n get checked() {\n return this._checked;\n }\n set checked(value) {\n const newCheckedState = coerceBooleanProperty(value);\n if (this._checked !== newCheckedState) {\n this._checked = newCheckedState;\n if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n }\n else if (!newCheckedState && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n if (newCheckedState) {\n // Notify all radio buttons with the same name to un-check.\n this._radioDispatcher.notify(this.id, this.name);\n }\n this._changeDetector.markForCheck();\n }\n }\n /** The value of this radio button. */\n get value() {\n return this._value;\n }\n set value(value) {\n if (this._value !== value) {\n this._value = value;\n if (this.radioGroup !== null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n get labelPosition() {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n set labelPosition(value) {\n this._labelPosition = value;\n }\n /** Whether the radio button is disabled. */\n get disabled() {\n return this._disabled || (this.radioGroup !== null && this.radioGroup.disabled);\n }\n set disabled(value) {\n this._setDisabled(coerceBooleanProperty(value));\n }\n /** Whether the radio button is required. */\n get required() {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n set required(value) {\n this._required = coerceBooleanProperty(value);\n }\n /** Theme color of the radio button. */\n get color() {\n // As per Material design specifications the selection control radio should use the accent color\n // palette by default. https://material.io/guidelines/components/selection-controls.html\n return (this._color ||\n (this.radioGroup && this.radioGroup.color) ||\n (this._providerOverride && this._providerOverride.color) ||\n 'accent');\n }\n set color(newValue) {\n this._color = newValue;\n }\n /** ID of the native input element inside `` */\n get inputId() {\n return `${this.id || this._uniqueId}-input`;\n }\n /** Focuses the radio button. */\n focus(options, origin) {\n if (origin) {\n this._focusMonitor.focusVia(this._inputElement, origin, options);\n }\n else {\n this._inputElement.nativeElement.focus(options);\n }\n }\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n _markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this._changeDetector.markForCheck();\n }\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n ngDoCheck() {\n this._updateTabIndex();\n }\n ngAfterViewInit() {\n this._updateTabIndex();\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup._touch();\n }\n });\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._removeUniqueSelectionListener();\n }\n /** Dispatch change event with current value. */\n _emitChangeEvent() {\n this.change.emit(new MatRadioChange(this, this._value));\n }\n _isRippleDisabled() {\n return this.disableRipple || this.disabled;\n }\n _onInputClick(event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n }\n /** Triggered when the radio button receives an interaction from the user. */\n _onInputInteraction(event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n if (!this.checked && !this.disabled) {\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n this.checked = true;\n this._emitChangeEvent();\n if (this.radioGroup) {\n this.radioGroup._controlValueAccessorChangeFn(this.value);\n if (groupValueChanged) {\n this.radioGroup._emitChangeEvent();\n }\n }\n }\n }\n /** Sets the disabled state and marks for check if a change occurred. */\n _setDisabled(value) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._changeDetector.markForCheck();\n }\n }\n /** Gets the tabindex for the underlying input element. */\n _updateTabIndex() {\n const group = this.radioGroup;\n let value;\n // Implement a roving tabindex if the button is inside a group. For most cases this isn't\n // necessary, because the browser handles the tab order for inputs inside a group automatically,\n // but we need an explicitly higher tabindex for the selected button in order for things like\n // the focus trap to pick it up correctly.\n if (!group || !group.selected || this.disabled) {\n value = this.tabIndex;\n }\n else {\n value = group.selected === this ? this.tabIndex : -1;\n }\n if (value !== this._previousTabIndex) {\n // We have to set the tabindex directly on the DOM node, because it depends on\n // the selected state which is prone to \"changed after checked errors\".\n const input = this._inputElement?.nativeElement;\n if (input) {\n input.setAttribute('tabindex', value + '');\n this._previousTabIndex = value;\n }\n }\n }\n}\n_MatRadioButtonBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatRadioButtonBase, deps: \"invalid\", target: i0.ɵɵFactoryTarget.Directive });\n_MatRadioButtonBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.2.0\", type: _MatRadioButtonBase, inputs: { id: \"id\", name: \"name\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], ariaDescribedby: [\"aria-describedby\", \"ariaDescribedby\"], checked: \"checked\", value: \"value\", labelPosition: \"labelPosition\", disabled: \"disabled\", required: \"required\", color: \"color\" }, outputs: { change: \"change\" }, viewQueries: [{ propertyName: \"_inputElement\", first: true, predicate: [\"input\"], descendants: true }], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: _MatRadioButtonBase, decorators: [{\n type: Directive\n }], ctorParameters: function () { return [{ type: _MatRadioGroupBase }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }, { type: undefined }, { type: undefined }, { type: undefined }]; }, propDecorators: { id: [{\n type: Input\n }], name: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], ariaDescribedby: [{\n type: Input,\n args: ['aria-describedby']\n }], checked: [{\n type: Input\n }], value: [{\n type: Input\n }], labelPosition: [{\n type: Input\n }], disabled: [{\n type: Input\n }], required: [{\n type: Input\n }], color: [{\n type: Input\n }], change: [{\n type: Output\n }], _inputElement: [{\n type: ViewChild,\n args: ['input']\n }] } });\n/**\n * A Material design radio-button. Typically placed inside of `` elements.\n */\nclass MatRadioButton extends _MatRadioButtonBase {\n constructor(radioGroup, elementRef, changeDetector, focusMonitor, radioDispatcher, animationMode, providerOverride, tabIndex) {\n super(radioGroup, elementRef, changeDetector, focusMonitor, radioDispatcher, animationMode, providerOverride, tabIndex);\n }\n}\nMatRadioButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatRadioButton, deps: [{ token: MAT_RADIO_GROUP, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_RADIO_DEFAULT_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });\nMatRadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.2.0\", type: MatRadioButton, selector: \"mat-radio-button\", inputs: { disableRipple: \"disableRipple\", tabIndex: \"tabIndex\" }, host: { listeners: { \"focus\": \"_inputElement.nativeElement.focus()\" }, properties: { \"class.mat-radio-checked\": \"checked\", \"class.mat-radio-disabled\": \"disabled\", \"class._mat-animation-noopable\": \"_noopAnimations\", \"class.mat-primary\": \"color === \\\"primary\\\"\", \"class.mat-accent\": \"color === \\\"accent\\\"\", \"class.mat-warn\": \"color === \\\"warn\\\"\", \"attr.tabindex\": \"null\", \"attr.id\": \"id\", \"attr.aria-label\": \"null\", \"attr.aria-labelledby\": \"null\", \"attr.aria-describedby\": \"null\" }, classAttribute: \"mat-radio-button\" }, exportAs: [\"matRadioButton\"], usesInheritance: true, ngImport: i0, template: \"\\n\\n\\n\", styles: [\".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.mat-radio-input:focus~.mat-focus-indicator::before{content:\\\"\\\"}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\"], dependencies: [{ kind: \"directive\", type: i3.MatRipple, selector: \"[mat-ripple], [matRipple]\", inputs: [\"matRippleColor\", \"matRippleUnbounded\", \"matRippleCentered\", \"matRippleRadius\", \"matRippleAnimation\", \"matRippleDisabled\", \"matRippleTrigger\"], exportAs: [\"matRipple\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatRadioButton, decorators: [{\n type: Component,\n args: [{ selector: 'mat-radio-button', inputs: ['disableRipple', 'tabIndex'], encapsulation: ViewEncapsulation.None, exportAs: 'matRadioButton', host: {\n 'class': 'mat-radio-button',\n '[class.mat-radio-checked]': 'checked',\n '[class.mat-radio-disabled]': 'disabled',\n '[class._mat-animation-noopable]': '_noopAnimations',\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-accent]': 'color === \"accent\"',\n '[class.mat-warn]': 'color === \"warn\"',\n // Needs to be removed since it causes some a11y issues (see #21266).\n '[attr.tabindex]': 'null',\n '[attr.id]': 'id',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n // Note: under normal conditions focus shouldn't land on this element, however it may be\n // programmatically set, for example inside of a focus trap, in this case we want to forward\n // the focus to the native element.\n '(focus)': '_inputElement.nativeElement.focus()',\n }, changeDetection: ChangeDetectionStrategy.OnPush, template: \"\\n\\n\\n\", styles: [\".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.mat-radio-input:focus~.mat-focus-indicator::before{content:\\\"\\\"}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}\"] }]\n }], ctorParameters: function () { return [{ type: MatRadioGroup, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_RADIO_GROUP]\n }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_RADIO_DEFAULT_OPTIONS]\n }] }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatRadioModule {\n}\nMatRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nMatRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.2.0\", ngImport: i0, type: MatRadioModule, declarations: [MatRadioGroup, MatRadioButton], imports: [MatRippleModule, MatCommonModule], exports: [MatRadioGroup, MatRadioButton, MatCommonModule] });\nMatRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatRadioModule, imports: [MatRippleModule, MatCommonModule, MatCommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.2.0\", ngImport: i0, type: MatRadioModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [MatRippleModule, MatCommonModule],\n exports: [MatRadioGroup, MatRadioButton, MatCommonModule],\n declarations: [MatRadioGroup, MatRadioButton],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_RADIO_DEFAULT_OPTIONS, MAT_RADIO_DEFAULT_OPTIONS_FACTORY, MAT_RADIO_GROUP, MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, MatRadioButton, MatRadioChange, MatRadioGroup, MatRadioModule, _MatRadioButtonBase, _MatRadioGroupBase };\n"],"names":["ElementRef","QueryList","BaseComponent","FormControl","FormGroup","Validators","environment","Observable","Subject","i0","FormComponent","constructor","stepsService","_element","version","email","compose","required","pattern","constant","EMAIL_REGEX","password","ngOnInit","stepValues","map","s","isComplete","step","functionService","goBack","router","totalSteps","length","currentStep","getCurrentStep","subscribe","value","stepContent","titleService","setTitle","title","options","selectedValues","disabled","calculateEstimate","isLoading","baseService","post","resp","estimate","body","nf","Intl","NumberFormat","roughEstimate","format","parseInt","Math","ceil","minimumPrice","toFixed","maximumPrice","minTime","hoursToMonths","minimumTime","maxTime","maximumTime","developmentTime","estimateId","id","error","console","debug","errorHandler","status","loadingEvent","e","formSubmitted","ngOnDestroy","_destroying$","next","undefined","complete","selectors","viewQuery","i1","coerceBooleanProperty","InjectionToken","forwardRef","EventEmitter","Directive","Input","Output","ViewChild","Component","ViewEncapsulation","ChangeDetectionStrategy","Attribute","Optional","Inject","NgModule","NG_VALUE_ACCESSOR","NG_VALIDATORS","CheckboxRequiredValidator","i2","mixinTabIndex","mixinColor","mixinDisableRipple","mixinDisabled","MatRipple","MatRippleModule","MatCommonModule","ANIMATION_MODULE_TYPE","i3","ObserversModule","MAT_CHECKBOX_DEFAULT_OPTIONS","providedIn","factory","MAT_CHECKBOX_DEFAULT_OPTIONS_FACTORY","color","clickAction","nextUniqueId","defaults","MAT_CHECKBOX_CONTROL_VALUE_ACCESSOR","provide","useExisting","MatCheckbox","multi","MatCheckboxChange","_MatCheckboxMixinBase","_elementRef","_MatCheckboxBase","idPrefix","elementRef","_changeDetectorRef","_ngZone","tabIndex","_animationMode","_options","ariaLabel","ariaLabelledby","labelPosition","name","change","indeterminateChange","_onTouched","_currentAnimationClass","_currentCheckState","_controlValueAccessorChangeFn","_checked","_disabled","_indeterminate","defaultColor","_uniqueId","inputId","_required","ngAfterViewInit","_syncIndeterminate","checked","markForCheck","newValue","indeterminate","changed","_transitionCheckState","emit","_isRippleDisabled","disableRipple","_onLabelTextChange","detectChanges","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","_getAriaChecked","newState","oldState","element","_getAnimationTargetElement","classList","remove","_getAnimationClassForCheckStateTransition","add","animationClass","runOutsideAngular","setTimeout","_emitChangeEvent","_createChangeEvent","_inputElement","nativeElement","toggle","_handleInputClick","Promise","resolve","then","_onInteractionEvent","event","stopPropagation","_onBlur","_animationClasses","uncheckedToChecked","checkedToIndeterminate","uncheckedToIndeterminate","checkedToUnchecked","indeterminateToChecked","indeterminateToUnchecked","nativeCheckbox","ɵfac","ɵdir","type","ChangeDetectorRef","NgZone","args","ariaDescribedby","_labelElement","ripple","changeDetectorRef","_focusMonitor","ngZone","animationMode","isChecked","source","monitor","focusOrigin","stopMonitoring","_onInputClick","focus","origin","focusVia","FocusMonitor","ɵcmp","CdkObserveContent","selector","exportAs","host","providers","inputs","encapsulation","None","changeDetection","OnPush","template","styles","decorators","MAT_CHECKBOX_REQUIRED_VALIDATOR","MatCheckboxRequiredValidator","_MatCheckboxRequiredValidatorModule","ɵmod","ɵinj","exports","declarations","MatCheckboxModule","imports","coerceNumberProperty","_getShadowRoot","DOCUMENT","CommonModule","Subscription","BASE_SIZE","BASE_STROKE_WIDTH","_MatProgressSpinnerBase","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS","MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY","diameter","INDETERMINATE_ANIMATION_TEMPLATE","MatProgressSpinner","_platform","_document","viewportRuler","_diameter","_value","_resizeSubscription","EMPTY","mode","trackedDiameters","_diameters","_spinnerAnimationLabel","_getSpinnerAnimationLabel","has","head","set","Set","_noopAnimations","_forceAnimations","nodeName","toLowerCase","strokeWidth","isBrowser","SAFARI","run","size","_styleRoot","_attachStyleNode","_strokeWidth","max","min","unsubscribe","_getCircleRadius","_getViewBox","viewBox","_getStrokeCircumference","PI","_getStrokeDashOffset","_getCircleStrokeWidth","_getCircleTransformOrigin","svg","scale","currentScale","styleRoot","currentDiameter","diameters","diametersForElement","get","styleTag","createElement","setAttribute","textContent","_getAnimationText","appendChild","strokeCircumference","replace","toString","WeakMap","Platform","ViewportRuler","NgSwitch","NgSwitchCase","MatProgressSpinnerModule","MatSpinner","ContentChildren","MAT_RADIO_DEFAULT_OPTIONS","MAT_RADIO_DEFAULT_OPTIONS_FACTORY","MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR","MatRadioGroup","MatRadioChange","MAT_RADIO_GROUP","_MatRadioGroupBase","_changeDetector","_name","_selected","_isInitialized","_labelPosition","onTouched","_updateRadioButtonNames","v","_markRadiosForCheck","_updateSelectedRadioFromValue","_checkSelectedRadioButton","selected","ngAfterContentInit","_touch","_radios","forEach","radio","_markForCheck","isAlreadySelected","MatRadioButton","descendants","MatRadioButtonBase","_MatRadioButtonMixinBase","_MatRadioButtonBase","radioGroup","_radioDispatcher","_providerOverride","_removeUniqueSelectionListener","listen","newCheckedState","notify","_setDisabled","_color","ngDoCheck","_updateTabIndex","_onInputInteraction","groupValueChanged","group","_previousTabIndex","input","UniqueSelectionDispatcher","changeDetector","focusMonitor","radioDispatcher","providerOverride","MatRadioModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[8,9,10]}