master-control 0.4.39 → 0.4.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/age-date/age-date.component.mjs +3 -3
- package/esm2022/lib/dob/dob.component.mjs +77 -13
- package/esm2022/lib/textarea/textarea.component.mjs +3 -3
- package/fesm2022/master-control.mjs +80 -16
- package/fesm2022/master-control.mjs.map +1 -1
- package/master-control-0.4.41.tgz +0 -0
- package/package.json +1 -1
- package/master-control-0.4.39.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"master-control.mjs","sources":["../../../projects/master-control/src/lib/master-control.service.ts","../../../projects/master-control/src/lib/textbox/textbox.component.ts","../../../projects/master-control/src/lib/textbox/textbox.component.html","../../../projects/master-control/src/lib/button/button.component.ts","../../../projects/master-control/src/lib/button/button.component.html","../../../projects/master-control/src/lib/directives/customized.tooltip.directive.ts","../../../projects/master-control/src/lib/select/select.component.ts","../../../projects/master-control/src/lib/select/select.component.html","../../../projects/master-control/src/lib/radio/radio.component.ts","../../../projects/master-control/src/lib/radio/radio.component.html","../../../projects/master-control/src/lib/toggle/toggle.component.ts","../../../projects/master-control/src/lib/toggle/toggle.component.html","../../../projects/master-control/src/lib/file-preview/file-preview.component.ts","../../../projects/master-control/src/lib/file-preview/file-preview.component.html","../../../projects/master-control/src/lib/master.service.ts","../../../projects/master-control/src/lib/upload/upload.component.ts","../../../projects/master-control/src/lib/upload/upload.component.html","../../../projects/master-control/src/lib/dob/dob.component.ts","../../../projects/master-control/src/lib/dob/dob.component.html","../../../projects/master-control/src/lib/mob-number/mob-number.component.ts","../../../projects/master-control/src/lib/mob-number/mob-number.component.html","../../../projects/master-control/src/lib/info/info.component.ts","../../../projects/master-control/src/lib/info/info.component.html","../../../projects/master-control/src/lib/checkbox/checkbox.component.ts","../../../projects/master-control/src/lib/checkbox/checkbox.component.html","../../../projects/master-control/src/lib/textarea/textarea.component.ts","../../../projects/master-control/src/lib/textarea/textarea.component.html","../../../projects/master-control/src/lib/tab/tab.component.ts","../../../projects/master-control/src/lib/tab/tab.component.html","../../../projects/master-control/src/lib/autocomplete/autocomplete.component.ts","../../../projects/master-control/src/lib/autocomplete/autocomplete.component.html","../../../projects/master-control/src/lib/multiple-select/multiple-select.component.ts","../../../projects/master-control/src/lib/multiple-select/multiple-select.component.html","../../../projects/master-control/src/lib/select-textbox/select-textbox.component.ts","../../../projects/master-control/src/lib/select-textbox/select-textbox.component.html","../../../projects/master-control/src/lib/otp-textbox/otp-textbox.component.ts","../../../projects/master-control/src/lib/otp-textbox/otp-textbox.component.html","../../../projects/master-control/src/lib/amount-textbox/amount-textbox.component.ts","../../../projects/master-control/src/lib/amount-textbox/amount-textbox.component.html","../../../projects/master-control/src/lib/suffix-textbox/suffix-textbox.component.ts","../../../projects/master-control/src/lib/suffix-textbox/suffix-textbox.component.html","../../../projects/master-control/src/lib/otp-mob-number/otp-mob-number.component.ts","../../../projects/master-control/src/lib/otp-mob-number/otp-mob-number.component.html","../../../projects/master-control/src/lib/tag-mob-number/tag-mob-number.component.ts","../../../projects/master-control/src/lib/tag-mob-number/tag-mob-number.component.html","../../../projects/master-control/src/lib/age-date/age-date.component.ts","../../../projects/master-control/src/lib/age-date/age-date.component.html","../../../projects/master-control/src/lib/addition-button/addition-button.component.ts","../../../projects/master-control/src/lib/addition-button/addition-button.component.html","../../../projects/master-control/src/lib/info-textbox/info-textbox.component.ts","../../../projects/master-control/src/lib/info-textbox/info-textbox.component.html","../../../projects/master-control/src/lib/textbox-with-image/textbox-with-image.component.ts","../../../projects/master-control/src/lib/textbox-with-image/textbox-with-image.component.html","../../../projects/master-control/src/lib/email-with-domain/email-with-domain.component.ts","../../../projects/master-control/src/lib/email-with-domain/email-with-domain.component.html","../../../projects/master-control/src/lib/image-upload/image-upload.component.ts","../../../projects/master-control/src/lib/image-upload/image-upload.component.html","../../../projects/master-control/src/lib/download-document/download-document.component.ts","../../../projects/master-control/src/lib/download-document/download-document.component.html","../../../projects/master-control/src/lib/add-document/add-document.component.ts","../../../projects/master-control/src/lib/add-document/add-document.component.html","../../../projects/master-control/src/lib/hyperlink/hyperlink.component.ts","../../../projects/master-control/src/lib/hyperlink/hyperlink.component.html","../../../projects/master-control/src/lib/textbox-with-underscore/textbox-with-underscore.component.ts","../../../projects/master-control/src/lib/textbox-with-underscore/textbox-with-underscore.component.html","../../../projects/master-control/src/lib/underscore-mob-number/underscore-mob-number.component.ts","../../../projects/master-control/src/lib/underscore-mob-number/underscore-mob-number.component.html","../../../projects/master-control/src/lib/icon-button/icon-button.component.ts","../../../projects/master-control/src/lib/icon-button/icon-button.component.html","../../../projects/master-control/src/lib/image/image.component.ts","../../../projects/master-control/src/lib/image/image.component.html","../../../projects/master-control/src/lib/stepper/stepper.component.ts","../../../projects/master-control/src/lib/stepper/stepper.component.html","../../../projects/master-control/src/lib/card/card.component.ts","../../../projects/master-control/src/lib/card/card.component.html","../../../projects/master-control/src/lib/hr-line/hr-line.component.ts","../../../projects/master-control/src/lib/hr-line/hr-line.component.html","../../../projects/master-control/src/lib/search-multi-select/search-multi-select.component.ts","../../../projects/master-control/src/lib/search-multi-select/search-multi-select.component.html","../../../projects/master-control/src/lib/subscript-textbox/subscript-textbox.component.ts","../../../projects/master-control/src/lib/subscript-textbox/subscript-textbox.component.html","../../../projects/master-control/src/lib/label/label.component.ts","../../../projects/master-control/src/lib/label/label.component.html","../../../projects/master-control/src/lib/sub-header/sub-header.component.ts","../../../projects/master-control/src/lib/sub-header/sub-header.component.html","../../../projects/master-control/src/lib/header/header.component.ts","../../../projects/master-control/src/lib/header/header.component.html","../../../projects/master-control/src/lib/table/table.component.ts","../../../projects/master-control/src/lib/table/table.component.html","../../../projects/master-control/src/lib/textbox-with-text/textbox-with-text.component.ts","../../../projects/master-control/src/lib/textbox-with-text/textbox-with-text.component.html","../../../projects/master-control/src/lib/discount/discount.component.ts","../../../projects/master-control/src/lib/discount/discount.component.html","../../../projects/master-control/src/lib/benefit-card/benefit-card.component.ts","../../../projects/master-control/src/lib/benefit-card/benefit-card.component.html","../../../projects/master-control/src/lib/loader/loader.component.ts","../../../projects/master-control/src/lib/loader/loader.component.html","../../../projects/master-control/src/lib/warning-snackbar/warning-snackbar.component.ts","../../../projects/master-control/src/lib/warning-snackbar/warning-snackbar.component.html","../../../projects/master-control/src/lib/success-snackbar/success-snackbar.component.ts","../../../projects/master-control/src/lib/success-snackbar/success-snackbar.component.html","../../../projects/master-control/src/lib/neutral-snackbar/neutral-snackbar.component.ts","../../../projects/master-control/src/lib/neutral-snackbar/neutral-snackbar.component.html","../../../projects/master-control/src/lib/error-snackbar/error-snackbar.component.ts","../../../projects/master-control/src/lib/error-snackbar/error-snackbar.component.html","../../../projects/master-control/src/lib/grey-label/grey-label.component.ts","../../../projects/master-control/src/lib/grey-label/grey-label.component.html","../../../projects/master-control/src/lib/iframe/iframe.component.ts","../../../projects/master-control/src/lib/iframe/iframe.component.html","../../../projects/master-control/src/lib/toggle-button/toggle-button.component.ts","../../../projects/master-control/src/lib/toggle-button/toggle-button.component.html","../../../projects/master-control/src/lib/pay-get-card/pay-get-card.component.ts","../../../projects/master-control/src/lib/pay-get-card/pay-get-card.component.html","../../../projects/master-control/src/lib/in-built-benefit/in-built-benefit.component.ts","../../../projects/master-control/src/lib/in-built-benefit/in-built-benefit.component.html","../../../projects/master-control/src/lib/other-benefits/other-benefits.component.ts","../../../projects/master-control/src/lib/other-benefits/other-benefits.component.html","../../../projects/master-control/src/lib/annuity-rate-logo/annuity-rate-logo.component.ts","../../../projects/master-control/src/lib/annuity-rate-logo/annuity-rate-logo.component.html","../../../projects/master-control/src/lib/discount-v2/discount-v2.component.ts","../../../projects/master-control/src/lib/discount-v2/discount-v2.component.html","../../../projects/master-control/src/lib/label-value-card/label-value-card.component.ts","../../../projects/master-control/src/lib/label-value-card/label-value-card.component.html","../../../projects/master-control/src/lib/medial-questions/medial-questions.component.ts","../../../projects/master-control/src/lib/medial-questions/medial-questions.component.html","../../../projects/master-control/src/lib/page-nudge/page-nudge.component.ts","../../../projects/master-control/src/lib/page-nudge/page-nudge.component.html","../../../projects/master-control/src/lib/progress-bar/progress-bar.component.ts","../../../projects/master-control/src/lib/progress-bar/progress-bar.component.html","../../../projects/master-control/src/lib/accordian/accordian.component.ts","../../../projects/master-control/src/lib/accordian/accordian.component.html","../../../projects/master-control/src/lib/miscellaneous-info-bar/miscellaneous-info-bar.component.ts","../../../projects/master-control/src/lib/miscellaneous-info-bar/miscellaneous-info-bar.component.html","../../../projects/master-control/src/lib/plain-text/plain-text.component.ts","../../../projects/master-control/src/lib/plain-text/plain-text.component.html","../../../projects/master-control/src/lib/menu/menu.component.ts","../../../projects/master-control/src/lib/menu/menu.component.html","../../../projects/master-control/src/lib/stepper-with-arrow/stepper-with-arrow.component.ts","../../../projects/master-control/src/lib/stepper-with-arrow/stepper-with-arrow.component.html","../../../projects/master-control/src/lib/label-with-image/label-with-image.component.ts","../../../projects/master-control/src/lib/label-with-image/label-with-image.component.html","../../../projects/master-control/src/lib/top-header/top-header.component.ts","../../../projects/master-control/src/lib/top-header/top-header.component.html","../../../projects/master-control/src/lib/footer/footer.component.ts","../../../projects/master-control/src/lib/footer/footer.component.html","../../../projects/master-control/src/lib/footer-with-buttons/footer-with-buttons.component.ts","../../../projects/master-control/src/lib/footer-with-buttons/footer-with-buttons.component.html","../../../projects/master-control/src/lib/motor-glow-plan-details/motor-glow-plan-details.component.ts","../../../projects/master-control/src/lib/motor-glow-plan-details/motor-glow-plan-details.component.html","../../../projects/master-control/src/lib/annuity-premium-calculator/annuity-premium-calculator.component.ts","../../../projects/master-control/src/lib/annuity-premium-calculator/annuity-premium-calculator.component.html","../../../projects/master-control/src/lib/footer-design/footer-design.component.ts","../../../projects/master-control/src/lib/footer-design/footer-design.component.html","../../../projects/master-control/src/lib/master-control.component.ts","../../../projects/master-control/src/lib/master-control.component.html","../../../projects/master-control/src/public-api.ts","../../../projects/master-control/src/master-control.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MasterControlService {\n\n configData: any = {\n \"iframe\": {\n \"URLForIframe\": \"N\"\n },\n \"loader\": {\n \"imageURL\": \"\",\n \"imageAltText\": \"\",\n \"text\": \"\",\n \"imageCSS\": {\n \"width\": \"\",\n \"height\": \"\",\n \"borderRadius\": \"\",\n \"boxShadow\": \"\"\n },\n \"cardCSS\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"backgroundColor\": \"#ffffff\",\n \"borderRadius\": \"0px\",\n \"boxShadow\": \"0px 0px 0px 0px rgba(0, 0, 0, 0)\",\n \"alignItems\": \"center\"\n },\n \"textCSS\": {\n \"fontSize\": \"\",\n \"color\": \"\",\n \"textAlign\": \"\",\n \"fontWeight\": \"\"\n },\n \"loaderCSS\": {\n \"display\": \"flex\",\n \"justifyContent\": \"center\",\n \"alignItems\": \"center\",\n \"height\": \"60px\",\n \"gap\": \"8px\",\n \"dot\": {\n \"width\": \"16px\",\n \"height\": \"16px\",\n \"background\": \"#1976d2\",\n \"borderRadius\": \"50%\",\n \"display\": \"inline-block\",\n \"animation\": \"bounce 0.6s infinite alternate\"\n },\n \"dot2\": {\n \"animationDelay\": \"0.2s\"\n },\n \"dot3\": {\n \"animationDelay\": \"0.4s\"\n },\n \"@keyframes bounce\": {\n \"to\": {\n \"opacity\": 0.3,\n \"transform\": \"translateY(-16px)\"\n }\n }\n }\n },\n \"table\": {\n \"showCheckBox\": true,\n \"tableHeaders\": [],\n \"tdData\": [],\n \"showActions\": true,\n \"actionOptions\": [\n {\n \"matIconName\": \"edit\",\n \"displayTitle\": \"Edit\",\n \"toolTip\": \"Edit\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"info\",\n \"displayTitle\": \"Info\",\n \"toolTip\": \"Information\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"download\",\n \"displayTitle\": \"Download Documents\",\n \"toolTip\": \"Download Document\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"notifications_active\",\n \"displayTitle\": \"Send Reminder\",\n \"toolTip\": \"Send Reminder\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"link\",\n \"displayTitle\": \"Send Payment Link\",\n \"toolTip\": \"Payment Link\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"download\",\n \"displayTitle\": \"Download Policy Document\",\n \"toolTip\": \"Download Policy\",\n \"isSelected\": false\n }, {\n \"matIconName\": \"visibility\",\n \"displayTitle\": \"View Policy Document\",\n \"toolTip\": \"View Policy\",\n \"isSelected\": false\n }, {\n \"matIconName\": \"visibility\",\n \"displayTitle\": \"View new BI\",\n \"toolTip\": \"View new BI\",\n \"isSelected\": false\n }\n\n ],\n \"userSelectedOptions\": {},\n \"showPagination\": true,\n \"rowlength\": 3,\n \"columnlength\": 4,\n \"totalItems\": 1,\n \"paginationSize\": 10,\n \"pageSize\": 10,\n \"pageNumber\": 0\n },\n \"stepper\": {\n \"stepperData\": [\n {\n \"defaultId\": 1,\n \"displayLabel\": \"stepper-1\",\n \"imgIconUrl\": 'https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/check_circle.svg'\n },\n {\n \"defaultId\": 2,\n \"displayLabel\": \"stepper-2\",\n \"imgIconUrl\": 'https://cdn.godigit.com/retail-life/check_circle_Endorsment.svg'\n },\n {\n \"defaultId\": 3,\n \"displayLabel\": \"stepper-3\",\n \"imgIconUrl\": 'https://cdn.godigit.com/retail-life/Endorsement_pending.svg'\n }\n ]\n },\n \"policyDisplayCard\": {\n \"policyDetails\":[{\n \"policyHolderName\":\"XYZ\",\n \"policyType\":\"Glow Plus\",\n \"policyNumber\":\"L1234694934\"\n }\n ]\n }\n }\n\n snackbars: any = [\n {\n \"type\": \"Error\",\n \"imageURL\": \"https://cdn.godigit.com/retail-life/alert-icon-lib.svg\",\n \"imageCSS\": \"toaster-img\",\n \"isShowLabel\": true,\n \"labelCSS\": \"toaster-label\",\n \"messageCSS\": \"toaster-msg\",\n \"horizontalPosition\": \"\",\n \"verticalPosition\": \"\",\n \"duration\": 3000,\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\n \"closeIconCSS\": \"cross\",\n \"labelText\":\"A error toast\",\n \"messageText\":\"Error message here\",\n 'toasterCSS':\"error-snackbar-card\"\n },{\n \"type\": \"Warning\",\n \"imageURL\": \"https://cdn.godigit.com/retail-life/nudge-icon-lib.svg\",\n \"imageCSS\": \"toaster-img\",\n \"isShowLabel\": true,\n \"labelCSS\": \"toaster-label\",\n \"messageCSS\": \"toaster-msg\",\n \"horizontalPosition\": \"\",\n \"verticalPosition\": \"\",\n \"duration\": 3000,\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\n \"closeIconCSS\": \"cross\",\n \"labelText\":\"A warning toast\",\n \"messageText\":\"Warning message here\",\n \"toasterCSS\":\"warning-snackbar-card\"\n },{\n \"type\": \"Success\",\n \"imageURL\": \"https://cdn.godigit.com/retail-life/success-info-lib.svg\",\n \"imageCSS\": \"toaster-img\",\n \"isShowLabel\": true,\n \"labelCSS\": \"toaster-label\",\n \"messageCSS\": \"toaster-msg\",\n \"horizontalPosition\": \"\",\n \"verticalPosition\": \"\",\n \"duration\": 3000,\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\n \"closeIconCSS\": \"cross\",\n \"labelText\":\"A success toast\",\n \"messageText\":\"Success message here\",\n \"toasterCSS\":\"success-snackbar-card\"\n },{\n \"type\": \"Neutral\",\n \"imageURL\": \"https://cdn.godigit.com/retail-life/neutral-star-lib-icon.svg\",\n \"imageCSS\": \"neutral-image\",\n \"isShowLabel\": true,\n \"labelCSS\": \"neutral-toaster-label\",\n \"messageCSS\": \"neutral-toaster-msg\",\n \"horizontalPosition\": \"\",\n \"verticalPosition\": \"\",\n \"duration\": 3000,\n \"closeIconImageURL\": \"https://cdn.godigit.com/retail-life/neutral-cross-lib-icon.svg\",\n \"closeIconCSS\": \"cross\",\n \"labelText\":\"A neutral toast\",\n \"messageText\":\"Neutral message here\",\n \"toasterCSS\":\"neutral-snackbar-card\"\n }\n ];\n constructor() { }\n\n checkIfValueIsEmpty(value: any) {\n if (typeof value === 'string') {\n value = value.trim();\n }\n return (\n value === undefined ||\n value === null ||\n value === '' ||\n (value instanceof Array && value.length === 0) ||\n JSON.stringify(value) === '{}'\n );\n }\n\n saveTableFieldState(tableField: any, key: any = 'tableField') {\n localStorage.setItem(key, JSON.stringify(tableField));\n }\n\n restoreTableFieldState(key: any = 'tableField'): any | null {\n const data = localStorage.getItem(key);\n return data ? JSON.parse(data) : null;\n }\n\n addComasToNumberValues(value: any, isRemoveRupeeSymbol : any = false) {\n let newVal: any = value;\n if (!this.checkIfValueIsEmpty(value)) {\n if (\n Number(\n value\n\n .toString()\n\n .replace(\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\n\n ''\n )\n\n .replaceAll(',', '')\n\n .replaceAll('₹', '')\n )\n ) {\n newVal = Number(\n value\n\n .toString()\n\n .replace(\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\n\n ''\n )\n\n .replaceAll('₹', '')\n\n .replaceAll(',', '')\n )\n .toLocaleString('en-IN', {\n style: 'currency',\n\n currency: 'INR',\n\n minimumFractionDigits: 0,\n\n maximumFractionDigits: 0,\n })\n\n .split('₹')[1];\n }\n }\n return isRemoveRupeeSymbol ? newVal?.replaceAll('₹', '').trim() : newVal;\n }\n\n removeComasAndCurrencySymbolFromNumberValues(value: any) {\n if (!this.checkIfValueIsEmpty(value)) {\n return value\n\n .toString()\n\n .replace(\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\n\n ''\n )\n\n .replaceAll('₹', '')\n\n .replaceAll(',', '');\n } else {\n return value;\n }\n }\n}\n","import { Component, forwardRef, input, Output, EventEmitter } from '@angular/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { CommonModule } from '@angular/common';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-textbox',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule ,\n CommonModule,\n ReactiveFormsModule\n ],\n templateUrl: './textbox.component.html',\n styleUrl: './textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextboxComponent,\n multi: true\n }\n ]\n})\nexport class TextboxComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n inputValue: any = null;\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n maskEnabled: any = true;\n inputValueDeepCopy:any = null;\n\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n\n ngOnInit() {\n if(!this.field().isInputMasked){\n this.field().isInputMasked = false;\n }\n if(this.field()?.configData?.isTextCapitalized && this.field().isInputMasked){\n this.inputValue = this.field()?.configData?.isTextCapitalized;\n this.checkinputMasked();\n }\n }\n\n writeValue(obj: any): void{\n this.inputValue=!this.masterService.checkIfValueIsEmpty(obj) ? obj : '';\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any) : any {\n let min : any = null;\n let max : any= null;\n let value = event.target.value;\n if(!this.masterService.checkIfValueIsEmpty(this.field()?.configData) && !this.masterService.checkIfValueIsEmpty(this.field()?.configData?.minValue) && !this.masterService.checkIfValueIsEmpty(this.field()?.configData?.maxValue)) {\n min = parseInt(this.field()?.configData?.minValue);\n max = parseInt(this.field()?.configData?.maxValue);\n }\n\n if (!this.masterService.checkIfValueIsEmpty(this.field()?.configData?.inputType) && this.field()?.configData?.inputType === 'number' && !this.masterService.checkIfValueIsEmpty(max) && !this.masterService.checkIfValueIsEmpty(min)) {\n if(parseInt(value) < min || parseInt(value) > max) {\n event.target.value = parseInt(event.target.value.toString().slice(0, -1));\n }\n }\n if(this.field()?.configData?.isAllowNumbersInTextFields) {\n // Remove any non-numeric characters from the input\n let numericValue = value.replace(/[^0-9]/g, '');\n event.target.value = numericValue;\n value = numericValue;\n }\n\n this.inputValue = this.field()?.configData?.isTextCapitalized ? value.toUpperCase() : value;\n this.inputValueDeepCopy = JSON.parse(JSON.stringify(this.inputValue));\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event?: any): void {\n this._unTouched();\n this.blur.emit(event);\n this.checkinputMasked();\n }\n\n checkinputMasked() {\n if(!this.field().isInputMasked){\n this.inputValue = this.inputValueDeepCopy;\n }\n return this.field().isInputMasked ? this.maskInput(this.inputValue) : this.inputValue;\n }\n\n maskInput(value: any) {\n if (value.length > 3){\n this.inputValue = value[0] + 'X'.repeat(value.length - 2) + value[value.length - 1];\n }\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n'--custom-width': field()?.controlStyle?.width ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n />\n }\n <mat-hint *ngIf=\"field()?.configData?.helperText\">{{field()?.configData?.helperText}}</mat-hint>\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n <!-- <mat-error *ngIf=\"field()?.configData?.isInvalidPattern && !masterService.checkIfValueIsEmpty(field()?.validators?.patternMessage)\">\n {{ field()?.validators?.patternMessage }}\n </mat-error> -->\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n\n@Component({\n selector: 'lib-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.css'\n})\nexport class ButtonComponent {\n constructor(public masterService : MasterControlService){}\n field: any = input.required<any>();\n}\n","<Button\n class=\"button\"\n *ngIf=\"field() && field()?.isVisible\"\n [disabled]=\"field()?.isDisable\"\n [ngStyle]=\"\n {\n '--button-border-width': field()?.controlStyle?.borderWidth ,\n '--button-border-color': field()?.controlStyle?.borderColor ,\n '--button-border-style': field()?.controlStyle?.borderStyle ,\n '--button-width': field()?.controlStyle?.width ,\n '--button-font-size': field()?.controlStyle?.fontSize ,\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\n '--button-background': field()?.controlStyle?.background ,\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\n '--button-text-color': field()?.controlStyle?.color ,\n '--button-margin': field()?.controlStyle?.margin ,\n }\"\n [ngClass]=\"field()?.isDisable ? 'button-disable' : 'button'\"\n>\n<span class=\"button-text\">\n<img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl'>\n<span>{{field()?.label}}</span>\n</span>\n</Button>\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n TemplateRef,\n ViewContainerRef,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n selector: '[appTooltipTemplate]',\n standalone: true,\n})\nexport class CustomizedTooltipDirective implements OnDestroy {\n @Input('appTooltipTemplate') template!: TemplateRef<any>;\n\n private tooltipElement: HTMLElement | null = null;\n private showTimeout: any = null;\n private hideTimeout: any = null;\n private static styleInjected = false;\n\n constructor(\n private el: ElementRef,\n private vcr: ViewContainerRef,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.injectStyles();\n }\n\n private injectStyles() {\n // Only inject styles once per application\n if (CustomizedTooltipDirective.styleInjected) {\n return;\n }\n\n const style = this.document.createElement('style');\n style.id = 'tooltip-styles';\n style.textContent = `\n .tooltip-container {\n position: relative;\n display: inline-block;\n}\n\n.tooltip-text-msg {\n max-width: 328px !important;\n min-height: auto !important;\n background-color: white;\n border: 1px solid #ffaa013d !important;\n color: #444444 !important;\n text-align: left;\n border-radius: 8px;\n padding: 12px;\n font-size: 12px;\n position: absolute;\n z-index: 1;\n top: 100%;\n left: 50%;\n transform: translateX(-10%);\n transition: opacity 0.3s;\n box-shadow: 0px 2px 15px 2px #e3e6ec99;\n letter-spacing: 0px;\n line-height: 150%;\n}\n.tooltip-text-msg, p {\n font-weight: 400 !important;\n}\n\n.tooltip-container:hover .tooltip-text-msg {\n visibility: visible;\n opacity: 1;\n}\n\n.tooltip-text-msg::after {\n content: \"\";\n position: absolute;\n bottom: 100%;\n left: var(--arrow-left-position, 10%);\n transform: translateX(-50%);\n border-width: 10px;\n border-style: solid;\n border-color: transparent transparent #ffaa013d transparent;\n z-index: 2;\n}\n\n.tooltip-text-msg::before {\n content: \"\";\n position: absolute;\n bottom: calc(100% - 0px);\n left: var(--arrow-left-position, 10%);\n transform: translateX(-50%);\n border-width: 9px;\n border-style: solid;\n border-color: transparent transparent #fff transparent;\n z-index: 3;\n}\n `;\n\n this.document.head.appendChild(style);\n CustomizedTooltipDirective.styleInjected = true;\n }\n\n @HostListener('mouseenter')\n showTooltip() {\n // Clear any existing hide timeout\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n\n // If tooltip already exists, don't create another\n if (this.tooltipElement) {\n return;\n }\n\n // Small delay to prevent flickering\n this.showTimeout = setTimeout(() => {\n if (!this.tooltipElement && this.template) {\n // Create tooltip container\n this.tooltipElement = this.document.createElement('div');\n this.tooltipElement.className = 'tooltip-text-msg';\n\n // Add pointer-events none to prevent mouse interference\n this.tooltipElement.style.pointerEvents = 'none';\n\n // Render the template content\n const embeddedView = this.vcr.createEmbeddedView(this.template);\n embeddedView.detectChanges();\n embeddedView.rootNodes.forEach((node: any) => {\n this.tooltipElement?.appendChild(node);\n });\n\n // Position the tooltip\n this.document.body.appendChild(this.tooltipElement);\n const rect = this.el.nativeElement.getBoundingClientRect();\n this.tooltipElement.style.position = 'absolute';\n this.tooltipElement.style.top = (rect.bottom + 10) + 'px';\n this.tooltipElement.style.left = (rect.left - 10) + 'px';\n this.tooltipElement.style.visibility = 'visible';\n this.tooltipElement.style.opacity = '1';\n\n // Wait a frame for the tooltip to be fully rendered with its content\n requestAnimationFrame(() => {\n if (this.tooltipElement) {\n // Find the image element inside the span to get its actual dimensions\n const imgElement = this.el.nativeElement.querySelector('img');\n let iconCenterX: number;\n\n if (imgElement) {\n const imgRect = imgElement.getBoundingClientRect();\n iconCenterX = imgRect.left + (imgRect.width / 2);\n } else {\n // Fallback to span center if no image found\n iconCenterX = rect.left + (rect.width / 2);\n }\n\n // Get the actual tooltip position after it's rendered\n const tooltipRect = this.tooltipElement.getBoundingClientRect();\n const arrowPosition = iconCenterX - tooltipRect.left;\n this.tooltipElement.style.setProperty('--arrow-left-position', `${arrowPosition}px`);\n }\n });\n }\n }, 100);\n }\n\n @HostListener('mouseleave')\n hideTooltip() {\n // Clear any existing show timeout\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n\n // Small delay before hiding to prevent flickering\n this.hideTimeout = setTimeout(() => {\n if (this.tooltipElement) {\n this.document.body.removeChild(this.tooltipElement);\n this.tooltipElement = null;\n this.vcr.clear();\n }\n }, 50);\n }\n\n ngOnDestroy() {\n // Clean up timeouts\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n }\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n }\n // Clean up tooltip\n if (this.tooltipElement) {\n this.document.body.removeChild(this.tooltipElement);\n this.tooltipElement = null;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MasterControlService } from '../master-control.service';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\n\n@Component({\n selector: 'lib-select',\n standalone: true,\n imports: [\n MatSelectModule,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatInputModule,\n FormsModule,\n MatOptionModule,\n CommonModule,\n ReactiveFormsModule,\n CustomizedTooltipDirective\n ],\n templateUrl: './select.component.html',\n styleUrl: './select.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectComponent,\n multi: true\n }\n ]\n})\nexport class SelectComponent implements ControlValueAccessor {\n\nconstructor(public masterService : MasterControlService){}\n field : any = input.required<any>();\n\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n configData : any = {\n isInfoMsgVisible: true,\n };\n\n onChange: any = () => {};\n onTouched: any = () => {};\n @Output() selectionChange = new EventEmitter<any>();\n @Output() infoClick = new EventEmitter<any>();\n // @Output() change = new EventEmitter<any>();\n\n // ngOnInit(): void {\n // // Initialize inputValue with a default or initial value if needed\n // }\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n selectionChanged(event: MatSelectChange) {\n this.inputValue = event.value;\n this.onChange(event.value);\n this.onTouched();\n this.selectionChange.emit(event.value);\n }\n\n handleWhereToFindClick(): void {\n this.infoClick.emit({ field: this.field });\n }\n\n onSelectOpened(opened: boolean) {\n const css = this.field()?.controlStyle;\n if (opened) {\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\n } else {\n document.body.style.removeProperty('--custom-select-option-background-color');\n document.body.style.removeProperty('--custom-select-option-font-color');\n document.body.style.removeProperty('--custom-select-option-font-weight');\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\n }\n}\n}\n","<label class=\"field-lable info-label\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">\n <span>{{ field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></span>\n <!-- <span style=\"justify-content: end;\" *ngIf=\"field() && field()?.configData?.infoMessage\">\n <img class=\"mx-1\" src=\"https://cdn.godigit.com/retail-life/question-mark.svg\" alt=\"\">\n <u>{{field()?.configData?.infoMessage}} ></u>\n </span>\\ -->\n <span class=\"info-content\" *ngIf=\"configData.isInfoMsgVisible\">\n <img class=\"mx-1\" *ngIf=\"field()?.configData?.imageURL\" [src]=\"field()?.configData?.imageURL\" alt=\"\">\n <u style=\"cursor: pointer;\" (click)=\"handleWhereToFindClick()\">{{field()?.configData?.infoMsg}}</u>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().imageUrl\" class=\"toggle-img mx-1\" />\n </span>\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.infoMessage\"></span>\n </ng-template>\n\n</label>\n\n<mat-form-field appearance=\"outline\" class=\"input-full-width full-width w-100\" *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\">\n @if(reactiveFormControlobject()) {\n <mat-select [id]=\"field()?.fieldName\" [attr.name]=\"field()?.fieldName\" [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\" [disabled]=\"field()?.isDisable\" (openedChange)=\"onSelectOpened($event)\"\n [value]=\"inputValue\" (selectionChange)=\"selectionChanged($event)\" [formControl]=\"reactiveFormControlobject()\">\n <mat-option *ngFor=\"let data of field()?.options\" [id]=\"data.value\" [value]=\"data.value\">{{\n data.label\n }}</mat-option>\n </mat-select>\n }@else {\n <mat-select [id]=\"field()?.fieldName\" [attr.name]=\"field()?.fieldName\" [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\" [disabled]=\"field()?.isDisable\" (openedChange)=\"onSelectOpened($event)\"\n [value]=\"inputValue\" (selectionChange)=\"selectionChanged($event)\">\n <mat-option *ngFor=\"let data of field()?.options\" [id]=\"data.value\" [value]=\"data.value\">{{\n data.label\n }}</mat-option>\n </mat-select>\n }\n\n <!-- selectField.invalid && (selectField.dirty || selectField.touched) -->\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message mt-2\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n</div>\n","import { CustomizedTooltipDirective } from './../directives/customized.tooltip.directive';\nimport { CommonModule } from '@angular/common';\nimport { Component, forwardRef, Input, input, Output, EventEmitter } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { MatRadioModule, MatRadioChange } from '@angular/material/radio';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-radio',\n standalone: true,\n imports: [\n MatRadioModule,\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n CustomizedTooltipDirective\n ],\n templateUrl: './radio.component.html',\n styleUrl: './radio.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioComponent,\n multi: true\n }\n ]\n})\nexport class RadioComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n reactiveFormControlobject : any = input<any>();\n field : any = input.required<any>();\n inputValue: any = null;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n @Output() change = new EventEmitter<any>();\n\n ngOnInit(): void {\n // Initialize inputValue with a default or initial value if needed\n }\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n this.change.emit(newValue);\n }\n\n onRadioGroupChange(event: MatRadioChange): void {\n const newValue = event.value;\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n this.change.emit(newValue);\n console.log('Radio group changed:', newValue);\n }\n\n toggleRadio(value: any, event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.inputValue = value;\n if (this.reactiveFormControlobject && this.reactiveFormControlobject.setValue) {\n this.reactiveFormControlobject.setValue(value);\n }\n this.onRadioGroupChange({ source: {} as any, value: value });\n }\n\n}\n\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\n }\">{{field()?.label}}<span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n </label>\n @if(reactiveFormControlobject()) {\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\n class=\"radio-btn-group radio-btn-gender\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n (change)=\"onRadioGroupChange($event)\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || reactiveFormControlobject?.disabled, 'two-options': field()?.options?.length === 2}\"\n (click)=\"toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }@else {\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\n class=\"radio-btn-group radio-btn-gender\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n (change)=\"onRadioGroupChange($event)\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable, 'two-options': field()?.options?.length === 2}\"\n (click)=\"toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }\n <div class=\"error-message\" *ngIf=\"false\">\n {{field()?.validators?.patternMessage}}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output,EventEmitter, forwardRef } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-toggle',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './toggle.component.html',\n styleUrl: './toggle.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleComponent),\n multi: true,\n },\n ],\n})\nexport class ToggleComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n field : any = input.required<any>();\n inputValue: any = false;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue: any) => {};\n _onTouched: any = () => {};\n\n // Declare Output event emitters here (class level)\n @Output() change = new EventEmitter<any>();\n\n writeValue(obj: any): void {\n this.inputValue = obj;\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Handle disabled state if needed\n }\n\n onToggleChange(event: any): void {\n this.inputValue = event.target.checked;\n this._onChange(this.inputValue);\n this._onTouched();\n // Emit the change event to parent component\n this.change.emit(this.inputValue);\n }\n}\n","<div class=\"\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\n '--custom-toggle-bg-color': field()?.controlStyle?.background,\n '--custom-toggle-border-color': field()?.controlStyle?.borderColor ,\n '--custom-toggle-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-toggle-border-radius': field()?.controlStyle?.borderRadius,\n '--custom-toggle-width': field()?.controlStyle?.width,\n }\"\n class=\"card toggle-background mt-2\"\n >\n <div class=\"toggle_switch mt-2\">\n <div *ngIf=\"field().configData?.leftLabel\" [ngStyle]=\"{\n '--custom-toggle-font-size': field()?.controlStyle?.fontSize ,\n '--custom-toggle-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-toggle-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-toggle-font-color': field()?.controlStyle?.color ,\n }\" class=\"toggle-text\">\n <div>{{field().configData?.leftLabel}}</div>\n </div>\n <div class=\"mt-1\">\n <label class=\"switch\">\n @if(reactiveFormControlobject()) {\n <input\n type=\"checkbox\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [checked]=\"inputValue\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [formControl]=\"reactiveFormControlobject()\"\n (change)=\"onToggleChange($event)\"\n />\n }@else {\n <input\n type=\"checkbox\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [checked]=\"inputValue\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n (change)=\"onToggleChange($event)\"\n />\n }\n <span class=\"slider round\"></span>\n </label>\n </div>\n <div [ngStyle]=\"{\n '--custom-toggle-font-size': field()?.controlStyle?.fontSize ,\n '--custom-toggle-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-toggle-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-toggle-font-color': field()?.controlStyle?.color ,\n }\" class=\"toggle-text mb-2\">\n <div>{{field()?.label}}</div>\n <div style=\"font-size: 10px; font-weight: 400;\" *ngIf=\"field().configData?.subLabel\">{{field()?.configData?.subLabel}} <img alt=\"\" [src]=\"field()?.imageUrl\" *ngIf=\"field()?.imageUrl\" /> </div>\n </div>\n </div>\n </div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'lib-file-preview',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './file-preview.component.html',\n styleUrl: './file-preview.component.css'\n})\nexport class FilePreviewComponent implements OnInit, OnDestroy {\n field = input.required<any>();\n file = input<File | null>(null);\n \n @Output() closed = new EventEmitter<void>();\n\n fileDataUrl: any = '';\n fileObjectUrl: any = '';\n textContent: any = '';\n safeFileUrl: SafeResourceUrl | null = null; \n constructor(private sanitizer: DomSanitizer) {}\n isImage(): any {\n return this.file()?.type.startsWith('image/') || false;\n }\n\n isPdf(): any {\n return this.file()?.type === 'application/pdf' || false;\n }\n\n isText(): any {\n return this.file()?.type.startsWith('text/') || false;\n }\n\n isUnsupported(): any {\n return !this.isImage() && !this.isPdf() && !this.isText(); // ✅ Correct\n }\n\n ngOnInit() {\n document.body.style.overflow = 'hidden';\n this.loadFileContent();\n }\n\n ngOnDestroy() {\n document.body.style.overflow = '';\n if (this.fileObjectUrl) {\n URL.revokeObjectURL(this.fileObjectUrl);\n }\n }\n\n loadFileContent() {\n const currentFile = this.file();\n if (!currentFile) return;\n\n if (this.isImage()) {\n const reader = new FileReader();\n reader.onload = (e) => {\n this.fileDataUrl = e.target?.result as any;\n };\n reader.readAsDataURL(currentFile);\n } else if (this.isPdf()) {\n this.fileObjectUrl = URL.createObjectURL(currentFile);\n this.safeFileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.fileObjectUrl);\n } else if (this.isText()) {\n const reader = new FileReader();\n reader.onload = (e) => {\n this.textContent = e.target?.result as any;\n };\n reader.readAsText(currentFile);\n }\n}\n\n onBackdropClick(event: Event) {\n if (event.target === event.currentTarget) {\n this.closePreview();\n }\n }\n\n closePreview() {\n this.closed.emit();\n }\n\n downloadFile() {\n const currentFile = this.file();\n if (!currentFile) return;\n\n const url = URL.createObjectURL(currentFile);\n const link = document.createElement('a');\n link.href = url;\n link.download = currentFile.name;\n link.style.display = 'none';\n \n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n \n setTimeout(() => URL.revokeObjectURL(url), 100);\n }\n}","<div class=\"file-preview-modal\" \n *ngIf=\"field() && field()?.isVisible\"\n [id]=\"field()?.fieldName + '_preview'\"\n (click)=\"onBackdropClick($event)\"\n (keydown.escape)=\"closePreview()\"\n [ngStyle]=\"{\n '--modal-background': field()?.previewStyle?.modalBackground || 'rgba(0, 0, 0, 0.9)',\n '--modal-z-index': field()?.previewStyle?.zIndex || '10000',\n '--modal-width': field()?.previewStyle?.width || '100%',\n '--modal-height': field()?.previewStyle?.height || '100%'\n }\">\n \n <!-- Image Preview -->\n <div *ngIf=\"isImage()\" \n class=\"preview-container image-container\"\n [id]=\"field()?.fieldName + '_image_container'\"\n [ngStyle]=\"{\n '--image-container-background': field()?.previewStyle?.imageContainerBackground || 'transparent',\n '--image-container-border-radius': field()?.previewStyle?.imageContainerBorderRadius || '8px',\n '--image-container-padding': field()?.previewStyle?.imageContainerPadding || '20px',\n '--image-container-margin': field()?.previewStyle?.imageContainerMargin || '0'\n }\">\n \n <button class=\"close-btn\" \n type=\"button\"\n [id]=\"field()?.fieldName + '_close_btn'\"\n (click)=\"closePreview()\" \n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\n [ngStyle]=\"{\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\n }\">×</button>\n \n <h3 class=\"file-title\"\n [ngStyle]=\"{\n '--title-color': field()?.previewStyle?.titleColor || '#fff',\n '--title-font-family': field()?.previewStyle?.titleFontFamily || 'Mulish',\n '--title-font-size': field()?.previewStyle?.titleFontSize || '18px',\n '--title-font-weight': field()?.previewStyle?.titleFontWeight || '600',\n '--title-margin': field()?.previewStyle?.titleMargin || '0 0 10px 0',\n '--title-padding': field()?.previewStyle?.titlePadding || '0 10px'\n }\">{{ file()?.name }}</h3>\n \n <img [src]=\"fileDataUrl\" \n [alt]=\"file()?.name\" \n [id]=\"field()?.fieldName + '_preview_image'\"\n class=\"preview-image\"\n [ngStyle]=\"{\n '--image-max-width': field()?.previewStyle?.imageMaxWidth || '100%',\n '--image-max-height': field()?.previewStyle?.imageMaxHeight || '80vh',\n '--image-border-radius': field()?.previewStyle?.imageBorderRadius || '8px',\n '--image-box-shadow': field()?.previewStyle?.imageBoxShadow || '0 4px 20px rgba(0,0,0,0.5)',\n '--image-object-fit': field()?.previewStyle?.imageObjectFit || 'contain'\n }\" />\n </div>\n\n <!-- PDF Preview -->\n <div *ngIf=\"isPdf()\" \n class=\"preview-container pdf-container\"\n [id]=\"field()?.fieldName + '_pdf_container'\"\n [ngStyle]=\"{\n '--pdf-container-background': field()?.previewStyle?.pdfContainerBackground || '#fff',\n '--pdf-container-border-radius': field()?.previewStyle?.pdfContainerBorderRadius || '8px',\n '--pdf-container-width': field()?.previewStyle?.pdfContainerWidth || '95vw',\n '--pdf-container-height': field()?.previewStyle?.pdfContainerHeight || '95vh'\n }\">\n \n <!-- Top-right action buttons -->\n <div class=\"pdf-actions-top-right\"\n [ngStyle]=\"{\n '--actions-top': field()?.previewStyle?.actionsTop || '15px',\n '--actions-right': field()?.previewStyle?.actionsRight || '15px',\n '--actions-gap': field()?.previewStyle?.actionsGap || '10px'\n }\">\n \n <button (click)=\"closePreview()\" \n type=\"button\"\n class=\"action-icon-btn close-btn\"\n [id]=\"field()?.fieldName + '_close_pdf'\"\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\n [ngStyle]=\"{\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\n }\">×</button>\n </div>\n \n <!-- File title -->\n <h3 class=\"file-title pdf-title\"\n [ngStyle]=\"{\n '--pdf-title-color': field()?.previewStyle?.pdfTitleColor || '#333',\n '--pdf-title-font-family': field()?.previewStyle?.pdfTitleFontFamily || 'Mulish',\n '--pdf-title-font-size': field()?.previewStyle?.pdfTitleFontSize || '16px',\n '--pdf-title-font-weight': field()?.previewStyle?.pdfTitleFontWeight || '600',\n '--pdf-title-margin': field()?.previewStyle?.pdfTitleMargin || '0px 20px 10px 20px',\n '--pdf-title-padding': field()?.previewStyle?.pdfTitlePadding || '0'\n }\">{{ file()?.name }}</h3>\n \n <iframe [src]=\"safeFileUrl\" \n [title]=\"file()?.name\" \n [id]=\"field()?.fieldName + '_pdf_iframe'\"\n class=\"pdf-iframe\"\n [ngStyle]=\"{\n '--iframe-border': field()?.previewStyle?.iframeBorder || 'none',\n '--iframe-border-radius': field()?.previewStyle?.iframeBorderRadius || '0',\n '--iframe-width': field()?.previewStyle?.iframeWidth || '100%',\n '--iframe-height': field()?.previewStyle?.iframeHeight || 'calc(100% - 80px)',\n '--iframe-min-height': field()?.previewStyle?.iframeMinHeight || '600px'\n }\"></iframe>\n </div>\n\n <!-- Text Preview -->\n <div *ngIf=\"isText()\" \n class=\"preview-container text-container\"\n [id]=\"field()?.fieldName + '_text_container'\"\n [ngStyle]=\"{\n '--text-container-background': field()?.previewStyle?.textContainerBackground || '#fff',\n '--text-container-border-radius': field()?.previewStyle?.textContainerBorderRadius || '8px',\n '--text-container-width': field()?.previewStyle?.textContainerWidth || '95vw',\n '--text-container-height': field()?.previewStyle?.textContainerHeight || '95vh'\n }\">\n \n <div class=\"text-header\"\n [id]=\"field()?.fieldName + '_text_header'\"\n [ngStyle]=\"{\n '--text-header-background': field()?.previewStyle?.textHeaderBackground || '#f8f9fa',\n '--text-header-border-color': field()?.previewStyle?.textHeaderBorderColor || '#dee2e6',\n '--text-header-padding': field()?.previewStyle?.textHeaderPadding || '15px 20px'\n }\">\n \n <h3 class=\"file-title\"\n [ngStyle]=\"{\n '--text-title-color': field()?.previewStyle?.textTitleColor || '#333',\n '--text-title-font-family': field()?.previewStyle?.textTitleFontFamily || 'Mulish',\n '--text-title-font-size': field()?.previewStyle?.textTitleFontSize || '16px',\n '--text-title-font-weight': field()?.previewStyle?.textTitleFontWeight || '600',\n '--text-title-margin': field()?.previewStyle?.textTitleMargin || '0'\n }\">{{ file()?.name }}</h3>\n \n <button (click)=\"closePreview()\" \n type=\"button\"\n class=\"btn btn-danger\"\n [id]=\"field()?.fieldName + '_close_text'\"\n [ngStyle]=\"{\n '--btn-danger-background': field()?.previewStyle?.btnDangerBackground || '#dc3545',\n '--btn-danger-color': field()?.previewStyle?.btnDangerColor || '#fff',\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\n </div>\n \n <pre class=\"text-content\"\n [id]=\"field()?.fieldName + '_text_content'\"\n [ngStyle]=\"{\n '--text-content-background': field()?.previewStyle?.textContentBackground || '#fff',\n '--text-content-color': field()?.previewStyle?.textContentColor || '#333',\n '--text-content-font-family': field()?.previewStyle?.textContentFontFamily || 'Consolas, Monaco, Courier New, monospace',\n '--text-content-font-size': field()?.previewStyle?.textContentFontSize || '14px',\n '--text-content-line-height': field()?.previewStyle?.textContentLineHeight || '1.5',\n '--text-content-padding': field()?.previewStyle?.textContentPadding || '20px',\n '--text-content-margin': field()?.previewStyle?.textContentMargin || '0'\n }\">{{ textContent }}</pre>\n </div>\n\n <!-- Unsupported File -->\n <div *ngIf=\"isUnsupported()\" \n class=\"preview-container unsupported-container\"\n [id]=\"field()?.fieldName + '_unsupported_container'\"\n [ngStyle]=\"{\n '--unsupported-background': field()?.previewStyle?.unsupportedBackground || '#fff',\n '--unsupported-border-radius': field()?.previewStyle?.unsupportedBorderRadius || '8px',\n '--unsupported-padding': field()?.previewStyle?.unsupportedPadding || '40px',\n '--unsupported-min-width': field()?.previewStyle?.unsupportedMinWidth || '300px'\n }\">\n \n <div class=\"unsupported-content\">\n <h3 [ngStyle]=\"{\n '--unsupported-title-color': field()?.previewStyle?.unsupportedTitleColor || '#333',\n '--unsupported-title-font-family': field()?.previewStyle?.unsupportedTitleFontFamily || 'Mulish',\n '--unsupported-title-font-size': field()?.previewStyle?.unsupportedTitleFontSize || '18px',\n '--unsupported-title-font-weight': field()?.previewStyle?.unsupportedTitleFontWeight || '600',\n '--unsupported-title-margin': field()?.previewStyle?.unsupportedTitleMargin || '0 0 20px 0'\n }\">{{ file()?.name }}</h3>\n \n <p [ngStyle]=\"{\n '--unsupported-text-color': field()?.previewStyle?.unsupportedTextColor || '#666',\n '--unsupported-text-font-size': field()?.previewStyle?.unsupportedTextFontSize || '14px',\n '--unsupported-text-margin': field()?.previewStyle?.unsupportedTextMargin || '0 0 30px 0'\n }\">{{ field()?.previewStyle?.unsupportedMessage || 'Preview not available for this file type' }}</p>\n \n <div class=\"unsupported-actions\"\n [ngStyle]=\"{\n '--actions-gap': field()?.previewStyle?.actionsGap || '15px',\n '--actions-justify': field()?.previewStyle?.actionsJustify || 'center'\n }\">\n \n <button (click)=\"downloadFile()\" \n type=\"button\"\n class=\"btn btn-primary\"\n [id]=\"field()?.fieldName + '_download'\"\n [ngStyle]=\"{\n '--btn-primary-background': field()?.previewStyle?.btnPrimaryBackground || '#007bff',\n '--btn-primary-color': field()?.previewStyle?.btnPrimaryColor || '#fff',\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\n }\">{{ field()?.previewStyle?.downloadText || 'Download' }}</button>\n \n <button (click)=\"closePreview()\" \n type=\"button\"\n class=\"btn btn-secondary\"\n [id]=\"field()?.fieldName + '_close_unsupported'\"\n [ngStyle]=\"{\n '--btn-secondary-background': field()?.previewStyle?.btnSecondaryBackground || '#6c757d',\n '--btn-secondary-color': field()?.previewStyle?.btnSecondaryColor || '#fff',\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\n </div>\n </div>\n </div>\n</div>","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MasterService {\n\n constructor(private http: HttpClient) { }\n\n getCookieValue(name: string): string {\n const cookie = document.cookie.split(';');\n let tokenName = '';\n let tokenValue = '';\n const index2 = 2;\n cookie.forEach(data => {\n if (data.split('=')[0].includes(name) && !!data.split('=')[1]) {\n tokenName = data.split('=')[0].trim();\n tokenValue = data.split('=')[1];\n }\n if (\n name === 'link' &&\n data.split('=')[0].includes(name) &&\n data.split('=')[index2] !== null &&\n data.split('=')[index2] !== undefined\n ) {\n tokenValue = tokenValue + '=' + data.split('=')[index2];\n }\n });\n return tokenValue;\n }\n\n\n getCommonHeaders(configData : any) {\n const headers: any = {};\n headers['content-type'] = 'application/json';\n if(configData['isSendToken']) {\n headers['Authorization'] = 'Bearer ' + this.getCookieValue(configData['tokenCookieParam']);\n }\n return headers;\n }\n\n getSubQuestions(configData : any, subquestionType: any, personUWID: any) {\n let url = `${configData['apiUrl']}`;\n url += `?${configData['urlParamForDisease']}=${subquestionType}`;\n url += `&${configData['urlParamForPersonUwId']}=${personUWID}`;\n url += `&lang=ENG`\n return this.http.get(url, { headers: this.getCommonHeaders(configData) });\n }\n\n getImage(configData: any, request : any) {\n const headers : any = this.getCommonHeaders(configData);\n headers['applicationid'] = sessionStorage.getItem(configData['sessionStorageApplicationIdParam']);\n return this.http.post(`${configData['apiUrl']}`, request, {headers,\n responseType: 'blob'\n });\n}\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, input, ViewChild, ElementRef, Output, EventEmitter, ComponentRef, EnvironmentInjector, ApplicationRef, createComponent, OnInit, SimpleChanges } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { FilePreviewComponent } from '../file-preview/file-preview.component';\nimport { MasterService } from '../master.service';\n\n@Component({\n selector: 'lib-upload',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n templateUrl: './upload.component.html',\n styleUrl: './upload.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: UploadComponent,\n multi: true\n }\n ]\n})\nexport class UploadComponent implements ControlValueAccessor {\n documentUploaderField = input<any>();\n openQuoteImageObj : any = input<any>();\n http: any;\n // openQuoteImageObj : any = {\n // documentId: \"E1B17401B6604614AC72714AB1C89BEB\",\n // documentCode: \"LAPIC\",\n // documentName: \"LAPIC_1687424860972.png\",\n // companyCode: \"DL\"\n // }\n\n // configData object for api call\n\n// {\n// \"apiUrl\" : \"https://uat-directportallife.godigit.com/DirectPortalLife/life/document\",\n// \"sessionStorageApplicationIdParam\": \"applicationid\",\n// \"isSendToken\" : false,\n// \"tokenCookieParam\" : \"v3Token\"\n// }\n constructor(public masterService : MasterControlService, public appRef: ApplicationRef,\n public injector: EnvironmentInjector, public masterservice : MasterService){}\n\n ngOnChanges(changes: SimpleChanges) {\n if ( (changes['openQuoteImageObj']) && !this.masterService.checkIfValueIsEmpty(changes['openQuoteImageObj'].currentValue) ) {\n if (\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj()) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentId) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentCode) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentName)\n ) {\n this.uploadedFiles = [\n {\n name: this.openQuoteImageObj().documentName\n }\n ];\n }\n\n\n }\n }\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n @ViewChild('fileInput') fileInput!: ElementRef<HTMLInputElement>;\n\n @Output() filesChanged = new EventEmitter<File[]>();\n @Output() fileRemoved = new EventEmitter<{ file: File, index: number }>();\n @Output() filePreview = new EventEmitter<{ file: File, index: number }>();\n public filePreviewRef: ComponentRef<FilePreviewComponent> | null = null;\n // ControlValueAccessor properties\n uploadedFiles: any = [];\n value: any = null;\n _onChange: any = (value: any) => {};\n _onTouched: any = () => {};\n disabled: any = false;\n\n\n // ControlValueAccessor implementation\n writeValue(obj: any) {\n this.value = obj;\n if (obj && Array.isArray(obj)) {\n this.uploadedFiles = obj;\n } else if (obj) {\n this.uploadedFiles = [obj];\n } else {\n this.uploadedFiles = [];\n }\n }\n\n registerOnChange(fn: any) {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: any) {\n this.disabled = isDisabled;\n }\n\n // File upload handling\n onFileSelected(event: any) {\n const files = event.target.files;\n if (files && files.length > 0) {\n if (this.field()?.multiple) {\n this.uploadedFiles = Array.from(files);\n this.value = this.uploadedFiles;\n } else {\n this.uploadedFiles = [files[0]];\n this.value = files[0];\n }\n this._onChange(this.value);\n this._onTouched();\n }\n this.filesChanged.emit(this.uploadedFiles);\n }\n\n removeFile(index: any, event?: Event) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n const removedFile = this.uploadedFiles[index];\n this.uploadedFiles.splice(index, 1);\n if (this.field()?.multiple) {\n this.value = [...this.uploadedFiles];\n } else {\n this.value = this.uploadedFiles.length > 0 ? this.uploadedFiles[0] : null;\n }\n this._onChange(this.value);\n this.fileRemoved.emit({ file: removedFile, index });\n this.filesChanged.emit(this.uploadedFiles);\n }\n\n hasFiles(): any {\n return this.uploadedFiles.length > 0;\n }\n\n triggerFileInput(): void {\n if (this.fileInput) {\n this.fileInput.nativeElement.click();\n }\n }\n\npreviewFile(file: File, index: number, event?: Event): void {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n // Check if the file is newly uploaded or not\n const isActualFile = file instanceof File && file.size > 0;\n\n if (\n !isActualFile &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj()) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentId) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentCode) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentName)\n ) {\n // This is the initially loaded file from openQuoteImageObj, fetch it from server\n if(!this.masterService.checkIfValueIsEmpty(this.field().configData) && !this.masterService.checkIfValueIsEmpty(this.field().configData['apiUrl']) && !this.masterService.checkIfValueIsEmpty(this.field().configData['sessionStorageApplicationIdParam'])) {\n let req : any = {\n documentId: this.openQuoteImageObj().documentId,\n documentCode: this.openQuoteImageObj().documentCode,\n companycode: this.openQuoteImageObj().companyCode,\n }\n this.masterservice.getImage(this.field().configData,req).subscribe((response : any) => {\n if (response) {\n const previewFile = new File([response], this.openQuoteImageObj().documentName, { type: response.type });\n console.log('Downloaded file for preview:', previewFile);\n this.showFilePreview(previewFile);\n }\n });\n }\n } else {\n this.showFilePreview(file);\n }\n}\n\n // Helper method to show file preview\n private showFilePreview(file: File): void {\n this.filePreviewRef = createComponent(FilePreviewComponent, {\n environmentInjector: this.injector\n });\n this.filePreviewRef.setInput('field', this.field());\n this.filePreviewRef.setInput('file', file);\n this.filePreviewRef.instance.closed.subscribe(() => {\n this.closeFilePreview();\n });\n document.body.appendChild(this.filePreviewRef.location.nativeElement);\n this.appRef.attachView(this.filePreviewRef.hostView);\n }\n\n closeFilePreview(): void {\n if (this.filePreviewRef) {\n const element = this.filePreviewRef.location.nativeElement;\n if (element.parentNode) {\n element.parentNode.removeChild(element);\n }\n this.appRef.detachView(this.filePreviewRef.hostView);\n this.filePreviewRef.destroy();\n this.filePreviewRef = null;\n }\n }\n\n ngOnDestroy(): void {\n this.closeFilePreview();\n }\n}\n","<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n @if(reactiveFormControlobject()) {\n <input\n hidden\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [multiple]=\"field()?.configData?.multiple\"\n [accept]=\"field()?.configData?.accept\"\n #fileInput\n (change)=\"onFileSelected($event)\"\n (click)=\"fileInput.value = ''\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n hidden\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [multiple]=\"field()?.configData?.multiple\"\n [accept]=\"field()?.configData?.accept\"\n #fileInput\n (change)=\"onFileSelected($event)\"\n (click)=\"fileInput.value = ''\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n />\n }\n <button\n type=\"button\"\n class=\"upload-btn\"\n (click)=\"triggerFileInput()\"\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\n *ngIf=\"field() && field()?.isVisible\"\n [disabled]=\"field()?.isDisable\"\n [ngStyle]=\"{\n'--upload-width': field()?.controlStyle?.width ,\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\n'--upload-border-color': field()?.controlStyle?.borderColor ,\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\n'--upload-background-color': field()?.controlStyle?.background ,\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\n}\"\n >\n <ng-container *ngIf=\"field()?.label && !hasFiles(); else fileUploadedTemplate\">\n <span class=\"upload-icon\">\n <span\n ><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\n <span class=\"upload-text\" [ngStyle]=\"{\n'--upload-font-color': field()?.controlStyle?.color ,\n'--upload-font-size': field()?.controlStyle?.fontSize ,\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\n}\">{{ field()?.placeHolder }} <span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></span>\n </span>\n </ng-container>\n <ng-template #fileUploadedTemplate>\n <div *ngFor=\"let file of uploadedFiles; let i = index\" class=\"uploaded-file d-flex gap-4\" style=\"transform: translate(0px, -3px);\">\n <span class=\"mt-2 right-icon\" style=\" white-space: nowrap !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\">\n <span><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\n <span [title]=\"file.name\">{{ file.name }}</span>\n </span>\n <div class=\"mt-2 left-icon\">\n <span (click)=\"previewFile(file, i, $event)\" style=\"cursor: pointer;\"><img src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\" alt=\"\"/></span>\n <span (click)=\"removeFile(i, $event)\" style=\"cursor: pointer;\" *ngIf=\"!field()?.isDisable\">\n <img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"/>\n </span>\n </div>\n </div>\n </ng-template>\n </button>\n <div class=\"upload-info\" *ngIf=\"field() && field()?.isVisible && field()?.configData?.subText\">{{field()?.configData?.subText}}</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MomentDateAdapter, MomentDateModule } from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MasterControlService } from '../master-control.service';\n\n\nexport const MY_DATE_FORMAT = {\n parse: {\n dateInput: [\n 'DD-MM-YYYY',\n 'MM/DD/YYYY',\n 'YYYY/MM/DD',\n 'DD/MM/YYYY',\n 'DD MMM YYYY',\n 'DD MMMM YYYY',\n 'DD-MMM-YYYY'\n ]\n },\n display: {\n dateInput: 'DD-MMM-YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'DD-MMM-YYYY',\n monthYearA11yLabel: 'MMMM YYYY'\n }\n};\n\n@Component({\n selector: 'lib-dob',\n standalone: true,\n imports: [MatInputModule, MatFormFieldModule, CommonModule, MatDatepickerModule, MomentDateModule, ReactiveFormsModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: DobComponent,\n multi: true\n },\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: []\n },\n { provide: MAT_DATE_FORMATS, useValue: MY_DATE_FORMAT }\n ],\n templateUrl: './dob.component.html',\n styleUrl: './dob.component.css',\n})\nexport class DobComponent implements ControlValueAccessor {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n @Output() blur = new EventEmitter<any>();\n @Output() valueChange = new EventEmitter<any>();\n @Output() dateSelected = new EventEmitter<any>();\n @Output() invalidDate = new EventEmitter<any>();\n\n constructor(public service : MasterControlService) {}\n\n dateDivisionFormat(event: any) {\n let evt = event.target;\n if (evt.value.length > 2 && !evt.value.substr(2, 1).includes('-')) {\n evt.value = [evt.value.slice(0, 2), '-', evt.value.slice(2)].join('');\n } else if (\n evt.value.length > 5 &&\n Number(evt.value.substr(3, 2)) &&\n !evt.value.substr(5, 1).includes('-')\n ) {\n evt.value = [evt.value.slice(0, 5), '-', evt.value.slice(5)].join('');\n } else if (\n evt.value.length > 6 &&\n !Number(evt.value.substr(3, 2)) &&\n !evt.value.substr(6, 1).includes('-')\n ) {\n evt.value = [evt.value.slice(0, 6), '-', evt.value.slice(6)].join('');\n }\n }\n\n\n\n\n\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event? : any): void {\n if (!this.service.checkIfValueIsEmpty(event.target.value)) {\n if (isNaN(Date.parse(event.target.value))) {\n event.target.value = '';\n }\n }\n this._unTouched();\n this.blur.emit(event);\n }\n\n\n // Handle datepicker selection\n onDateChange(event: any): void {\n if (event.value) {\n const selectedDate = event.value;\n this.inputValue = selectedDate;\n this._onChange(this.inputValue);\n \n // Emit date selection event\n this.dateSelected.emit({\n formattedValue: this.inputValue,\n dateObject: selectedDate,\n isValid: true,\n source: 'datepicker'\n });\n \n this.valueChange.emit(this.inputValue);\n }\n }\n\n}\n","<label\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n class=\"field-lable\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n '--custom-font-size': field()?.controlStyle?.fontSize ,\n '--custom-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-font-color': field()?.controlStyle?.color ,\n '--custom-caret-color': field()?.controlStyle?.caretColor ,\n '--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n '--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n }\"\n>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder || 'DD-MM-YYYY'\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n [matDatepicker]=\"picker\"\n (keyup)=\"dateDivisionFormat($event)\"\n [min]=\"field()?.configData?.min\"\n [max]=\"field()?.configData?.max\"\n [disabled]=\"field()?.isDisable\"\n (dateChange)=\"onDateChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n [matDatepicker]=\"picker\"\n (keyup)=\"dateDivisionFormat($event)\"\n [min]=\"field()?.configData?.min\"\n [max]=\"field()?.configData?.max\"\n [disabled]=\"field()?.isDisable\"\n (dateChange)=\"onDateChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n />\n }\n\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <img\n src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/date_picker_icon.svg\"\n style=\"width: 16px\"\n matDatepickerToggleIcon\n />\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"field()?.configData?.isInvalid\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-mob-number',\n standalone: true,\n imports: [CommonModule, MatInputModule, MatFormFieldModule, MatSelectModule, MatOptionModule, ReactiveFormsModule, FormsModule],\n templateUrl: './mob-number.component.html',\n styleUrl: './mob-number.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: MobNumberComponent,\n multi: true\n }\n ]\n})\nexport class MobNumberComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n CountryCode: any = '+91';\n selectedOption: any = null;\n inputValue: any = null;\n searchInputValue: any = null;\n filteredOptions:any=[];\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n // Declare Output event emitters here (class level)\n @Output() blur = new EventEmitter<any>();\n\n ngOnInit(): void {\n this.CountryCode = '+91';\n this.filteredOptions = this.field().options || [];\n }\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event?:any): void {\n this._unTouched();\n this.blur.emit(event);\n }\n searchInputChange(event: any): void {\n this.searchInputValue = event.target.value;\n this.filterOptions();\n }\n\n filterOptions(): void {\n if (!this.searchInputValue || this.searchInputValue.trim() === '') {\n this.filteredOptions = this.field().options || [];\n return;\n }\n const filterValue = this.searchInputValue.toLowerCase();\n this.filteredOptions = (this.field().options || []).filter((option: any) =>\n option.label.toLowerCase().includes(filterValue)\n );\n }\n\n //clear search input if typed value not found and selected value should be first option\n clearSearch(): void {\n if (this.filteredOptions.length === 0) {\n this.searchInputValue = null;\n this.filteredOptions = this.field().options || [];\n }\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n<mat-form-field\n class=\"w-100 mobile-field\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n '--custom-font-size': field()?.controlStyle?.fontSize ,\n '--custom-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-font-color': field()?.controlStyle?.color ,\n '--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\"\n>\n <div matTextPrefix class=\"prefix_alternate_mobile primary\" (click)=\"$event.stopPropagation()\">\n <div class=\"d-flex countryCode\">\n <mat-select class=\"country_code_input\" [(value)]=\"CountryCode\" (click)=\"$event.stopPropagation()\">\n <mat-select-trigger>\n {{ CountryCode }}\n </mat-select-trigger>\n <mat-option (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\n <div class=\"search-input-wrapper\">\n <img src=\"https://cdn.godigit.com/retail-life/search.svg\" alt=\"search\" class=\"search-icon\" />\n <input\n type=\"text\"\n placeholder=\"Search...\"\n autocomplete=\"off\"\n [(ngModel)]=\"searchInputValue\"\n (click)=\"$event.stopPropagation()\"\n (input)=\"searchInputChange($event)\"\n (blur)=\"clearSearch()\"\n class=\"country-code-search-input\"\n />\n </div>\n </mat-option>\n @for (option of filteredOptions; track option.value) {\n <mat-option [value]=\"option.value\">{{ option.label }}</mat-option>\n }\n </mat-select>\n </div>\n <!-- <span class=\"seperation_line\" *ngIf=\"true\"></span> -->\n </div>\n\n <div (click)=\"$event.stopPropagation()\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n (click)=\"$event.stopPropagation()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n />\n }\n </div>\n\n\n <span matSuffix class=\"p-3\" *ngIf=\"false\">\n <img src=\"https://cdn.godigit.com/retail-life/edit-icon.svg\" alt=\"\" />\n </span>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-info',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './info.component.html',\n styleUrl: './info.component.css'\n})\nexport class InfoComponent {\n constructor(public masterService : MasterControlService){}\n field: any = input.required<any>();\n}\n","<div class=\"info-background\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-info-bg-color': field()?.controlStyle?.background ,\n '--custom-info-border-radius': field()?.controlStyle?.borderRadius,\n '--custom-info-border-width': field()?.controlStyle?.borderWidth,\n '--custom-info-border-color': field()?.controlStyle?.borderColor,\n '--custom-info-border-style': field()?.controlStyle?.borderStyle,\n }\">\n <span style=\"display: flex; align-items: flex-start; gap: 16px; padding-top: 16px; padding-bottom: 16px;\">\n <img\n class=\"info-nudge-image mb-1\"\n [src]=\"field()?.controlStyle?.nudgeDisplayImage\"\n alt=\"\"\n />\n <span class=\"info-nudge-text\" [ngStyle]=\"{\n '--custom-info-font-size': field()?.controlStyle?.fontSize ,\n '--custom-info-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-info-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-info-font-color': field()?.controlStyle?.color ,\n }\">{{ field()?.label }}</span>\n </span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MasterControlService } from '../master-control.service';\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\n\n\n@Component({\n selector: 'lib-checkbox',\n standalone: true,\n imports: [CommonModule , MatCheckboxModule, ReactiveFormsModule, CustomizedTooltipDirective],\n templateUrl: './checkbox.component.html',\n styleUrl: './checkbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CheckboxComponent,\n multi: true\n }\n ]\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n field: any = input.required<any>();\n\n inputValue: any = false;\n reactiveFormControlobject : any = input<any>();\n @Output() change = new EventEmitter<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onCheckboxChange(event: any): void {\n // const target = event.target as HTMLInputElement;\n this.inputValue = event.checked;\n this._onChange(this.inputValue);\n this._unTouched();\n // this.change.emit({ event, field: this.field() });\n this.change.emit(this.inputValue);\n const css = this.field()?.controlStyle;\n if (event.checked) {\n document.body.style.setProperty('--custom-checkbox-border-focus', css?.focusBorderColor || '#ffbb00');\n document.body.style.setProperty('--custom-checkbox-bg-color-focus', css?.focusBackground || '#ffbb00');\n document.body.style.setProperty('--custom-checkbox-border-radius-checkbox', css?.borderRadius || '4px');\n document.body.style.setProperty('--custom-font-size', css?.fontSize || '16px');\n document.body.style.setProperty('--custom-font-weight', css?.fontWeight || '400');\n document.body.style.setProperty('--custom-font-family', css?.fontFamily || 'Mulish');\n document.body.style.setProperty('--custom-font-color', css?.color || '#444');\n } else {\n document.body.style.setProperty('--custom-border-color-focus', css?.focusBorderColor || '#ddd');\n document.body.style.setProperty('--custom-bg-color-focus', css?.focusBackground || '#999');\n document.body.style.setProperty('--custom-border-radius-checkbox', css?.borderRadius || '4px');\n }\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","@if(reactiveFormControlobject()) {\n<mat-checkbox *ngIf=\"field() && field()?.isVisible\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\n [disabled]=\"field()?.isDisable\" [required]=\"field()?.validators?.isRequired\" [checked]=\"inputValue\" (keydown.enter)=\"$event.preventDefault()\"\n [formControl]=\"reactiveFormControlobject()\" (change)=\"onCheckboxChange($event)\" [ngStyle]=\"{\n '--checkbox-border-radius': field()?.controlStyle?.borderRadius,\n '--checkbox-bg-color': field()?.controlStyle?.background,\n '--checkbox-border-color': field()?.controlStyle?.borderColor,\n '--checkbox-border-color-focus': field()?.controlStyle?.focusBorderColor,\n '--checkbox-bg-color-focus': field()?.controlStyle?.focusBackground,\n '--checkbox-font-size': field()?.controlStyle?.fontSize,\n '--checkbox-font-weight': field()?.controlStyle?.fontWeight,\n '--checkbox-font-color': field()?.controlStyle?.color,\n '--checkbox-font-family': field()?.controlStyle?.fontFamily,\n '--checkbox-border-width': field()?.controlStyle?.borderWidth,\n '--checkbox-border-color-hover': field()?.controlStyle?.hoverBorderColor,\n '--checkbox-border-color-error': field()?.controlStyle?.errorBorderColor,\n '--checkbox-font-color-disabled': field()?.controlStyle?.disableColor,\n '--checkbox-bg-color-disabled': field()?.controlStyle?.disableBackground\n }\">\n {{ field()?.label }}\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().imageUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n</mat-checkbox>\n}@else {\n<mat-checkbox *ngIf=\"field() && field()?.isVisible\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\n [disabled]=\"field()?.isDisable\" [required]=\"field()?.validators?.isRequired\" [checked]=\"inputValue\"\n (change)=\"onCheckboxChange($event)\" [ngStyle]=\"{\n '--checkbox-border-radius': field()?.controlStyle?.borderRadius,\n '--checkbox-bg-color': field()?.controlStyle?.background,\n '--checkbox-border-color': field()?.controlStyle?.borderColor,\n '--checkbox-border-color-focus': field()?.controlStyle?.focusBorderColor,\n '--checkbox-bg-color-focus': field()?.controlStyle?.focusBackground,\n '--checkbox-font-size': field()?.controlStyle?.fontSize,\n '--checkbox-font-weight': field()?.controlStyle?.fontWeight,\n '--checkbox-font-color': field()?.controlStyle?.color,\n '--checkbox-font-family': field()?.controlStyle?.fontFamily,\n '--checkbox-border-width': field()?.controlStyle?.borderWidth,\n '--checkbox-border-color-hover': field()?.controlStyle?.hoverBorderColor,\n '--checkbox-border-color-error': field()?.controlStyle?.errorBorderColor,\n '--checkbox-font-color-disabled': field()?.controlStyle?.disableColor,\n '--checkbox-bg-color-disabled': field()?.controlStyle?.disableBackground\n }\">\n {{ field()?.label }}\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\n</mat-checkbox>\n}\n<div class=\"error-message\" *ngIf=\"false\">\n {{field()?.validators?.isRequiredMessage}}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-textarea',\n standalone: true,\n imports: [\n CommonModule, \n ReactiveFormsModule,\n FormsModule\n ],\n templateUrl: './textarea.component.html',\n styleUrl: './textarea.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextareaComponent,\n multi: true\n }\n ]\n})\nexport class TextareaComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n // ControlValueAccessor properties\n textareaValue: any = null;\n _onChange: any = (textareaValue: any) => {};\n _onTouched: any = () => {};\n\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n\n // ControlValueAccessor implementation\n writeValue(obj: any): void {\n this.textareaValue = obj;\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {}\n\n onTextareaChange(event: any): void {\n this.textareaValue = event.target.value;\n this._onChange(this.textareaValue);\n }\n\n onTextareaBlur(event?: any): void {\n this._onTouched();\n this.blur.emit(event);\n }\n}\n","@if(reactiveFormControlobject()) {\n<textarea\n[ngStyle]=\"{\n '--custom-textarea-width': field()?.controlStyle?.width ,\n '--custom-textarea-border-color': field()?.controlStyle?.borderColor ,\n '--custom-textarea-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-textarea-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-textarea-border-width-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-textarea-radius': field()?.controlStyle?.borderRadius ,\n '--custom-textarea-caret-color': field()?.controlStyle?.caretColor ,\n '--custom-textarea-font-color': field()?.controlStyle?.color ,\n }\"\n*ngIf=\"field() && field()?.isVisible\"\n cols=\"40\"\n rows=\"3\"\n autocomplete=\"off\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n (input)=\"onTextareaChange($event)\"\n (blur)=\"onTextareaBlur($event)\"\n [value]=\"textareaValue\"\n [formControl]=\"reactiveFormControlobject()\"\n></textarea>\n}@else {\n<textarea\n[ngStyle]=\"{\n '--custom-textarea-width': field()?.controlStyle?.width ,\n '--custom-textarea-border-color': field()?.controlStyle?.borderColor ,\n '--custom-textarea-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-textarea-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-textarea-border-width-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-textarea-radius': field()?.controlStyle?.borderRadius ,\n '--custom-textarea-caret-color': field()?.controlStyle?.caretColor ,\n '--custom-textarea-font-color': field()?.controlStyle?.color ,\n }\"\n*ngIf=\"field() && field()?.isVisible\"\n cols=\"40\"\n rows=\"3\"\n autocomplete=\"off\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n (input)=\"onTextareaChange($event)\"\n (blur)=\"onTextareaBlur($event)\"\n [value]=\"textareaValue\"\n></textarea>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { MatTabChangeEvent, MatTabsModule } from '@angular/material/tabs';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-tab',\n standalone: true,\n imports: [MatTabsModule,CommonModule],\n templateUrl: './tab.component.html',\n styleUrl: './tab.component.css'\n})\nexport class TabComponent {\nfield : any = input.required<any>();\n@Output() selectedIndexChange = new EventEmitter<number>();\nselectedIndex = 0;\n\nconstructor(public masterService : MasterControlService){}\n\nngOnInit(){\n this.field().selectedIndex = this.selectedIndex;\n}\n onTabChange(event: number) {\n this.selectedIndex = event;\n this.field().selectedIndex = this.selectedIndex;\n}\n}\n","<mat-tab-group *ngIf=\"field() && field()?.isVisible\" class=\"vertical-tab-indicator\"\n[ngClass]=\"{'vertical-class': field()?.configData?.isVerticalTab && field()?.configData?.isVerticalTab === 'true'}\"\n[ngStyle]=\"{\n '--tab-border-color': field()?.controlStyle?.borderColor ,\n '--tab-border-width': field()?.controlStyle?.borderWidth,\n '--tab-font-size': field()?.controlStyle?.fontSize,\n '--tab-font-weight': field()?.controlStyle?.fontWeight,\n '--tab-font-color': field()?.controlStyle?.color,\n }\"\n[(selectedIndex)]=\"selectedIndex\" (selectedIndexChange)=\"onTabChange($event)\">\n <mat-tab *ngFor=\"let data of field()?.options; let i = index\">\n <ng-template mat-tab-label>\n <img [src]=\"data.value\" alt=\"\" class=\"mx-2\">\n {{ data.label }}\n </ng-template>\n <ng-content select=\"tab[i]\"></ng-content>\n </mat-tab>\n</mat-tab-group>\n","import { Component, EventEmitter, input, Output } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { CommonModule } from '@angular/common';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MasterControlService } from '../master-control.service';\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, ControlValueAccessor } from '@angular/forms';\nimport { MatSelectChange } from '@angular/material/select';\n@Component({\n selector: 'lib-autocomplete',\n standalone: true,\n imports: [\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n MatAutocompleteModule,\n MatOptionModule,\n FormsModule,\n ReactiveFormsModule\n ],\n templateUrl: './autocomplete.component.html',\n styleUrl: './autocomplete.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: AutocompleteComponent,\n multi: true\n }\n ]\n})\nexport class AutocompleteComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService) {}\n field: any = input.required<any>();\n selectedOption: any = null;\n filteredOptions:any=[];\n inputValue: any = '';\n reactiveFormControlobject : any = input<any>();\n\n // Output events for parent component communication\n @Output() blur = new EventEmitter<any>();\n @Output() selectionChanged = new EventEmitter<any>();\n @Output() valueChanged = new EventEmitter<any>();\n @Output() optionSelected = new EventEmitter<any>();\n\n\n ngOnInit() {\n this.filteredOptions = this.field().options || [];\n // Subscribe to valueChanges if using reactive forms\n if (this.reactiveFormControlobject && this.reactiveFormControlobject.valueChanges) {\n this.reactiveFormControlobject.valueChanges.subscribe((value: any) => {\n this.onInputChange(value);\n });\n }\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any): void {\n if (value !== undefined && value !== null) {\n // If value is an object, extract the label\n if (typeof value === 'object' && value.label) {\n this.inputValue = value.label;\n this.selectedOption = value;\n }\n else {\n let option = this.field().options?.find((opt: any) =>\n opt.value === value\n );\n if (!option) {\n option = this.field().options?.find((opt: any) =>\n opt.label === value\n );\n }\n if (option) {\n this.inputValue = option.label;\n this.selectedOption = option;\n } else {\n this.inputValue = value.toString();\n this.selectedOption = { label: value.toString(), value: value };\n }\n }\n } else {\n this.inputValue = '';\n this.selectedOption = null;\n }\n if(typeof this.inputValue === 'string' && value !== null) {\n this.filterOptions();\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Handle disabled state if needed\n }\n\n onInputChange(value: any): void {\n\n this.inputValue = value;\n if(typeof this.inputValue === 'string' && value !== null) {\n this.filterOptions();\n }\n\n // Find matching option\n const matchingOption = this.field().options?.find((option: any) =>\n option.label.toLowerCase() === value.toLowerCase()\n );\n\n if (matchingOption) {\n this.selectedOption = matchingOption;\n this.onChange(matchingOption.value);\n } else {\n this.selectedOption = null;\n this.onChange(value);\n }\n\n this.onTouched();\n this.valueChanged.emit(value);\n this.selectionChanged.emit(this.selectedOption);\n }\n\n onOptionSelected(option: any): void {\n this.selectedOption = option;\n this.inputValue = option.label;\n this.onChange(option.value);\n this.onTouched();\n\n // Emit events for parent component\n this.optionSelected.emit(option);\n this.selectionChanged.emit(option);\n this.valueChanged.emit(option.label);\n }\n\n onBlur(event?: any): void {\n this.onTouched();\n this.blur.emit(event);\n }\n\n filterOptions(): void {\n if (!this.inputValue || this.inputValue.trim() === '') {\n this.filteredOptions = this.field().options || [];\n return;\n }\n\n const filterValue = this.inputValue.toLowerCase();\n this.filteredOptions = (this.field().options || []).filter((option: any) =>\n option.label.toLowerCase().includes(filterValue)\n );\n }\n\n displayFn = (option: any): string => {\n return option && typeof option === 'object' ? option.label : option || '';\n }\n\n // Utility method to get the current selected value\n getCurrentValue(): any {\n return this.selectedOption ? this.selectedOption.value : this.inputValue;\n }\n\n // Utility method to get the current selected option\n getCurrentOption(): any {\n return this.selectedOption;\n }\n\n // Method to set value programmatically (useful for parent components)\n setValue(value: any): void {\n this.writeValue(value);\n this.onChange(this.getCurrentValue());\n }\n\n onInputChangeForReactiveForms(event : any) {\n this.inputValue = event?.target?.value;\n if(typeof this.inputValue === 'string' && event?.target?.value !== null) {\n this.filterOptions();\n }\n\n // Find matching option\n const matchingOption = this.field().options?.find((option: any) =>\n option.label.toLowerCase() === event?.target?.value.toLowerCase()\n );\n\n if (matchingOption) {\n this.selectedOption = matchingOption;\n this.onChange(matchingOption.value);\n } else {\n this.selectedOption = null;\n this.onChange(event?.target?.value);\n }\n\n this.onTouched();\n this.valueChanged.emit(event?.target?.value);\n this.selectionChanged.emit(this.selectedOption);\n }\n\n onFocus(): void {\n this.filterOptions();\n }\n}\n"," <label *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n <mat-form-field class=\"w-100 show-arrow\" appearance=\"outline\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n (input)=\"onInputChangeForReactiveForms($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"onInputChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n />\n }\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" (optionSelected)=\"onOptionSelected($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n <mat-error>\n {{ field().validators.requiredMessage }}\n </mat-error>\n </mat-form-field>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n </div>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n </div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-multiple-select',\n standalone: true,\n imports: [\n MatSelectModule,\n MatFormFieldModule,\n CommonModule,\n MatChipsModule,\n MatIconModule,\n ReactiveFormsModule\n ],\n templateUrl: './multiple-select.component.html',\n styleUrl: './multiple-select.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: MultipleSelectComponent,\n multi: true\n }\n ]\n})\nexport class MultipleSelectComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService) {}\n field: any = input.required<any>();\n selectedValues: any = [];\n visibleChip: any = [];\n remainingCount: any = 0;\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n // Output events for parent component communication\n @Output() selectionChange = new EventEmitter<any>();\n onChange: any = () => {};\n onTouched: any = () => {};\n\n ngOnInit(): void {\n // Initialize inputValue with a default or initial value if needed\n }\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n selectionChanged(event: MatSelectChange) {\n this.inputValue = event.value;\n this.visibleChip = event.value;\n this.onChange(event.value);\n this.onTouched();\n this.onSelectionChange();\n this.selectionChange.emit(event.value);\n }\n\n removeItem(item: any) {\n const maxVisible = 2;\n this.visibleChip = this.visibleChip.filter(\n (element: any) => element !== item\n );\n this.selectedValues = this.selectedValues.filter(\n (element: any) => element !== item\n );\n this.inputValue = this.inputValue.filter(\n (element: any) => element !== item\n );\n const found = this.field().options.find((i:any) => i.label === item);\n if (found) {\n found.value = false;\n }\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\n this.remainingCount = this.selectedValues.length - maxVisible;\n this.onChange(this.inputValue);\n this.onTouched();\n }\n onSelectionChange() {\n const maxVisible = 2;\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\n this.remainingCount = this.selectedValues.length - maxVisible;\n }\n onSelectOpened(opened: boolean) {\n const css = this.field()?.controlStyle;\n if (opened) {\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\n } else {\n document.body.style.removeProperty('--custom-select-option-background-color');\n document.body.style.removeProperty('--custom-select-option-font-color');\n document.body.style.removeProperty('--custom-select-option-font-weight');\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\n }\n}\n\n showLabel(option : any) {\n let selectedLabel : any = option;\n if(!this.masterService.checkIfValueIsEmpty(this.field()?.options)) {\n let filteredArr : any = this.field()?.options.filter((singleObj : any) => singleObj['value'] === option);\n if(!this.masterService.checkIfValueIsEmpty(filteredArr) && !this.masterService.checkIfValueIsEmpty(filteredArr[0]?.label)) {\n selectedLabel = filteredArr[0].label\n }\n }\n return selectedLabel;\n }\n\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n<mat-form-field\n appearance=\"outline\"\n class=\"input-full-width full-width w-100 multi-select\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <mat-select\n multiple\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldName\"\n [value]=\"inputValue\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n [disabled]=\"field()?.isDisable\"\n (openedChange)=\"onSelectOpened($event)\"\n (selectionChange)=\"selectionChanged($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n >\n <mat-select-trigger>\n <mat-chip-grid>\n @for (option of inputValue; track option) {\n <mat-chip-row [removable]=\"true\" (removed)=\"removeItem(option)\">\n {{ showLabel(option) }}\n <mat-icon matChipRemove>close</mat-icon>\n </mat-chip-row>\n }\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\n </mat-chip-grid>\n </mat-select-trigger>\n @for (option of field()?.options; track option.label) {\n <mat-option [value]=\"option.value\">\n {{ option.label }} <img *ngIf=\"option.image\" [src]=\"option.image\" alt=\"\" style=\"width:20px; height:20px; float: inline-end;\" />\n </mat-option>\n }\n </mat-select>\n }@else {\n <mat-select\n multiple\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldName\"\n [value]=\"inputValue\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n [disabled]=\"field()?.isDisable\"\n (openedChange)=\"onSelectOpened($event)\"\n (selectionChange)=\"selectionChanged($event)\"\n >\n <mat-select-trigger>\n <mat-chip-grid>\n @for (option of inputValue; track option) {\n <mat-chip-row [removable]=\"true\" (removed)=\"removeItem(option)\">\n {{ showLabel(option) }}\n <mat-icon matChipRemove>close</mat-icon>\n </mat-chip-row>\n }\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\n </mat-chip-grid>\n </mat-select-trigger>\n @for (option of field()?.options; track option.label) {\n <mat-option [value]=\"option.value\">\n {{ option.label }} <img *ngIf=\"option.image\" [src]=\"option.image\" alt=\"\" style=\"width:20px; height:20px; float: inline-end;\" />\n </mat-option>\n }\n </mat-select>\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n</mat-form-field>\n","import { CustomizedTooltipDirective } from './../directives/customized.tooltip.directive';\nimport { CommonModule } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-select-textbox',\n standalone: true,\n imports: [MatInputModule, MatSelectModule, MatFormFieldModule, CommonModule, MatInputModule, ReactiveFormsModule, CustomizedTooltipDirective],\n templateUrl: './select-textbox.component.html',\n styleUrl: './select-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectTextboxComponent,\n multi: true\n }\n ]\n})\nexport class SelectTextboxComponent {\n field: any = input.required<any>();\n inputValue: any = null;\n selectValue: any = null;\n reactiveFormControlobject : any = input<any>();\n selectionChange = output<MatSelectChange>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n constructor(public masterControlService : MasterControlService) {}\n\n writeValue(obj: any): void{\n if (obj && typeof obj === 'object') {\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(obj.textValue, true) : (obj.textValue || null);\n this.selectValue = obj.selectValue || null;\n } else {\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(obj, true) : (obj || null);;\n }\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n if(this.field()?.configData?.isAllowNumbersInTextFields) {\n // Remove any non-numeric characters from the input\n let numericValue = event.target.value.replace(/[^0-9]/g, '');\n event.target.value = numericValue;\n event.target.value = numericValue;\n }\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(event.target.value, true) : event.target.value;\n this.emitValue();\n }\n\n onSelectChange(event: MatSelectChange): void {\n this.selectValue = event.value;\n this.emitValue();\n this.selectionChange.emit(event);\n }\n\n private emitValue(): void {\n const value = {\n textValue: this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(this.inputValue, true) : this.inputValue,\n selectValue: this.selectValue\n };\n this._onChange(value);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n\n onSelectOpened(opened: boolean) {\n const css = this.field()?.controlStyle;\n if (opened) {\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\n } else {\n document.body.style.removeProperty('--custom-select-option-background-color');\n document.body.style.removeProperty('--custom-select-option-font-color');\n document.body.style.removeProperty('--custom-select-option-font-weight');\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\n }\n\n\n}\n\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n >\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n </label\n>\n<mat-form-field\n class=\"w-100 auto-width\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n@if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n class=\"vertically-align-middle\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n}@else {\n <input\n matInput\n autocomplete=\"off\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n class=\"vertically-align-middle\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n}\n <span matPrefix class=\"rupee-symbol\" [hidden]=\"this.field()?.configData?.isHideRupeeSymbol\">₹</span>\n <div matSuffix class=\"input-select\">\n <!-- <mat-form-field> -->\n <mat-select\n [value]=\"selectValue\"\n [disabled]=\"field()?.configData?.isDisableDropdown\"\n (selectionChange)=\"onSelectChange($event)\"\n (openedChange)=\"onSelectOpened($event)\">\n <mat-option *ngFor=\"let options of field()?.options\" [id]=\"options.value\" [value]=\"options.value\">\n {{ options.label }}\n </mat-option>\n </mat-select>\n <!-- </mat-form-field> -->\n </div>\n <!-- <span matSuffix class=\"mx-3 right-amount-text\"> ₹ 3.50 L </span> -->\n</mat-form-field>\n","import { Component, input } from '@angular/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { CommonModule } from '@angular/common';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatSelectModule } from '@angular/material/select';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-otp-textbox',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n MatCheckboxModule,\n MatSelectModule,\n ReactiveFormsModule\n ],\n templateUrl: './otp-textbox.component.html',\n styleUrl: './otp-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: OtpTextboxComponent,\n multi: true\n }\n ]\n})\nexport class OtpTextboxComponent {\nconstructor(){}\n field : any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n <div matSuffix class=\"get-otp mx-2\">\n <span class=\"mt-2\">Get OTP</span>\n </div>\n <div matSuffix class=\"verity-otp mx-2\" *ngIf=\"false\">\n <span class=\"mx-1\">Verify</span>\n </div>\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\n </span>\n</mat-form-field>\n<div >\n <span class=\"checkbox-tag\">Tag as:</span>\n <span *ngFor=\"let options of field()?.options\" class=\"checkbox\">\n <mat-checkbox class=\"optional-checkbox\">\n {{options.label}}\n </mat-checkbox>\n </span>\n</div>\n\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-amount-textbox',\n standalone: true,\n imports: [\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n ReactiveFormsModule\n ],\n templateUrl: './amount-textbox.component.html',\n styleUrl: './amount-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: AmountTextboxComponent,\n multi: true\n }\n ]\n})\nexport class AmountTextboxComponent implements ControlValueAccessor {\n constructor(public sharedService : MasterControlService){}\n field : any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n get isCommaAdded(): any {\n return this.field()?.configData?.isCommaAllowed !== undefined ?\n this.field()?.configData?.isCommaAllowed : true;\n }\n\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n\n // ControlValueAccessor implementation\n writeValue(obj: any): void {\n if (obj !== null && obj !== undefined) {\n const rawValue = obj.toString();\n this.inputValue = rawValue;\n } else {\n this.inputValue = null;\n }\n }\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n const inputElement = event.target;\n const cursorPosition = inputElement.selectionStart;\n const oldValue = inputElement.value;\n const rawValue = oldValue.replace(/,/g, '');\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\n this.inputValue = rawValue;\n if (this.isCommaAdded && rawValue && !isNaN(parseFloat(rawValue))) {\n const formattedValue = this.sharedService.addComasToNumberValues(rawValue);\n const newCursorPosition = this.calculateNewCursorPosition(\n oldValue,\n formattedValue,\n cursorPosition\n );\n inputElement.value = formattedValue;\n setTimeout(() => {\n inputElement.setSelectionRange(newCursorPosition, newCursorPosition);\n }, 0);\n }\n this._onChange(this.inputValue);\n } else {\n const revertValue = this.isCommaAdded && this.inputValue ?\n this.sharedService.addComasToNumberValues(this.inputValue) : this.inputValue || '';\n inputElement.value = revertValue;\n setTimeout(() => {\n const safeCursorPos = Math.min(cursorPosition, revertValue.length);\n inputElement.setSelectionRange(safeCursorPos, safeCursorPos);\n }, 0);\n }\n }\n\n onInputBlur(event?: any): void {\n this._unTouched();\n this.blur.emit(event);\n }\n onKeyDown(event: KeyboardEvent): void {\n const inputElement = event.target as HTMLInputElement;\n const cursorPosition = inputElement.selectionStart || 0;\n const value = inputElement.value;\n if (event.key === 'Backspace' && cursorPosition > 0) {\n if (value[cursorPosition - 1] === ',') {\n event.preventDefault();\n const newValue = value.substring(0, cursorPosition - 2) + value.substring(cursorPosition);\n const rawValue = newValue.replace(/,/g, '');\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\n this.inputValue = rawValue;\n const formattedValue = this.isCommaAdded && rawValue ? this.sharedService.addComasToNumberValues(rawValue) : rawValue;\n inputElement.value = formattedValue;\n setTimeout(() => {\n const newCursorPos = Math.max(0, cursorPosition - 2);\n inputElement.setSelectionRange(newCursorPos, newCursorPos);\n }, 0);\n\n this._onChange(this.inputValue);\n }\n }\n }\n if (event.key === 'Delete' && cursorPosition < value.length) {\n if (value[cursorPosition] === ',') {\n event.preventDefault();\n if (cursorPosition + 1 < value.length) {\n const newValue = value.substring(0, cursorPosition) + value.substring(cursorPosition + 2);\n const rawValue = newValue.replace(/,/g, '');\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\n this.inputValue = rawValue;\n const formattedValue = this.isCommaAdded && rawValue ? this.sharedService.addComasToNumberValues(rawValue) : rawValue;\n inputElement.value = formattedValue;\n setTimeout(() => {\n inputElement.setSelectionRange(cursorPosition, cursorPosition);\n }, 0);\n this._onChange(this.inputValue);\n }\n }\n }\n }\n }\n\n // Add commas to number for Indian format\n // addCommasToNumber(value: any | number): any {\n // if (!value || value === '') return '';\n // const stringValue = value.toString();\n // const parts = stringValue.split('.');\n // let integerPart = parts[0];\n // if (integerPart.length > 3) {\n // const lastThreeDigits = integerPart.slice(-3);\n // const remainingDigits = integerPart.slice(0, -3);\n // const formattedRemaining = remainingDigits.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ',');\n // integerPart = formattedRemaining + ',' + lastThreeDigits;\n // }\n\n // return parts[1] ? integerPart + '.' + parts[1] : integerPart;\n // }\n calculateNewCursorPosition(oldValue: string, newValue: string, oldCursorPosition: number): number {\n if (oldCursorPosition === 0) {\n return 0;\n }\n if (oldCursorPosition >= oldValue.length) {\n return newValue.length;\n }\n let digitsBeforeCursor = 0;\n for (let i = 0; i < oldCursorPosition; i++) {\n const char = oldValue[i];\n if (char !== ',') {\n digitsBeforeCursor++;\n }\n }\n let digitCount = 0;\n let newPosition = 0;\n for (let i = 0; i < newValue.length; i++) {\n const char = newValue[i];\n if (char !== ',') {\n digitCount++;\n if (digitCount === digitsBeforeCursor) {\n newPosition = i + 1;\n break;\n }\n }\n if (digitCount < digitsBeforeCursor) {\n newPosition = i + 1;\n }\n }\n return Math.min(newPosition, newValue.length);\n }\n\n // Get the display value with commas if enabled\n getDisplayValue(): any {\n if (!this.inputValue) return '';\n if (this.isCommaAdded && !isNaN(parseFloat(this.inputValue))) {\n return this.sharedService.addComasToNumberValues(this.inputValue);\n }\n return this.inputValue;\n }\n\n // Format amount to Indian currency format\n formatIndianCurrency(amount: number | string): string {\n if (!amount || amount === '') return '';\n\n const numAmount = typeof amount === 'string' ? parseFloat(amount.replace(/,/g, '')) : amount;\n if (isNaN(numAmount) || numAmount === 0) return '₹';\n if (numAmount >= 10000000) {\n const crores = (numAmount / 10000000).toFixed(2);\n return `₹ ${crores} Cr`;\n } else if (numAmount >= 100000) {\n const lakhs = (numAmount / 100000).toFixed(2);\n return `₹ ${lakhs} L`;\n } else if (numAmount >= 1000) {\n const thousands = (numAmount / 1000).toFixed(2);\n return `₹ ${thousands} K`;\n } else {\n return `₹ ${numAmount.toFixed(2)}`;\n }\n }\n\n // Get formatted display value\n getFormattedAmount(): string {\n return this.formatIndianCurrency(this.sharedService.removeComasAndCurrencySymbolFromNumberValues(this.inputValue));\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\"\n >{{ field().label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators.isRequired\"\n >*</span\n ></label\n>\n <mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n<input\n matInput\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"getDisplayValue()\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"getDisplayValue()\"\n />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n <span matPrefix class=\"rupee-symbol px-2\">₹</span>\n <span matSuffix class=\"me-2 right-amount-text\" *ngIf=\"inputValue\">{{ getFormattedAmount() }}</span>\n </mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\n\n@Component({\n selector: 'lib-suffix-textbox',\n standalone: true,\n imports: [\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n MatCheckboxModule,\n ReactiveFormsModule,\n CustomizedTooltipDirective\n ],\n templateUrl: './suffix-textbox.component.html',\n styleUrl: './suffix-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SuffixTextboxComponent,\n multi: true\n }\n ]\n})\nexport class SuffixTextboxComponent {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n this.blur.emit(event);\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n</label>\n<mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n <input matInput autocomplete=\"off\" [type]=\"field()?.controlType\" [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\" [placeholder]=\"field()?.placeHolder\" [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\" [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\" [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\" (blur)=\"onInputBlur()\" [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\" />\n }@else {\n <input matInput autocomplete=\"off\" [type]=\"field()?.controlType\" [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\" [placeholder]=\"field()?.placeHolder\" [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\" [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\" [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\" (blur)=\"onInputBlur()\" [value]=\"inputValue\" />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\n </span>\n <span matSuffix class=\"mx-3 right-input-text\" *ngIf=\"field().configData?.suffix\"> {{field().configData?.suffix}}\n </span>\n</mat-form-field>\n<div *ngIf=\"field().configData?.isShowTagAs\">\n <span class=\"checkbox-tag\">Tag as:</span>\n <span *ngFor=\"let option of field()?.options\" class=\"checkbox\">\n <mat-checkbox class=\"optional-checkbox\">\n {{ option.label }}\n </mat-checkbox>\n </span>\n</div>\n<div *ngIf=\"field().configData?.infoMessage\">\n <span class=\"below-input-text\">{{field().configData?.infoMessage}}</span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-otp-mob-number',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n ReactiveFormsModule\n ],\n templateUrl: './otp-mob-number.component.html',\n styleUrl: './otp-mob-number.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: OtpMobNumberComponent,\n multi: true\n }\n ]\n})\nexport class OtpMobNumberComponent {\n CountryCode: any = '+91';\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100 mobile-field\"\n appearance=\"outline\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\n <div class=\"d-flex countryCode\">\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\n /></span>\n </div>\n </div>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n}\n\n <div matSuffix class=\"get-otp mx-2\">\n <span class=\"mt-2\">Get OTP</span>\n </div>\n <div matSuffix class=\"verity-otp mx-2\" *ngIf=\"false\">\n <span class=\"mx-1\">Verify</span>\n </div>\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\n </span>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n</mat-form-field>\n<span class=\"success-text\" *ngIf=\"false\">Phone Number Verified</span>\n<span class=\"success-text\">\n <img src=\"https://cdn.godigit.com/retail-life/otp-circle-oui.svg\" alt=\"\" />\n OTP Sent\n</span>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-tag-mob-number',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n MatCheckboxModule,\n ReactiveFormsModule\n ],\n templateUrl: './tag-mob-number.component.html',\n styleUrl: './tag-mob-number.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TagMobNumberComponent,\n multi: true\n }\n ]\n})\nexport class TagMobNumberComponent {\n CountryCode: any = '+91';\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100 mobile-field\"\n appearance=\"outline\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\n <div class=\"d-flex countryCode\">\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\n /></span>\n </div>\n </div>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n}\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n</mat-form-field>\n<div>\n <span class=\"checkbox-tag\">Tag as:</span>\n <span *ngFor=\"let option of field()?.options\" class=\"checkbox\">\n <mat-checkbox class=\"optional-checkbox\">\n {{ option.label }}\n </mat-checkbox>\n </span>\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, AfterViewChecked, Output, EventEmitter } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MomentDateModule } from '@angular/material-moment-adapter';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-age-date',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n MatDatepickerModule,\n MomentDateModule,\n ReactiveFormsModule\n ],\n providers: [{ provide: MAT_DATE_FORMATS, useValue: {\n parse: {\n dateInput: [\n 'DD-MM-YYYY',\n 'DD/MM/YYYY',\n 'YYYY/MM/DD',\n 'MM/DD/YYYY',\n 'DD MMM YYYY',\n 'DD MMMM YYYY',\n 'DD-MMM-YYYY',\n ],\n },\n display: {\n dateInput: 'DD/MMM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'DD/MMM/YYYY',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n }\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: AgeDateComponent,\n multi: true\n },\n],\n templateUrl: './age-date.component.html',\n styleUrl: './age-date.component.css',\n})\nexport class AgeDateComponent implements AfterViewChecked {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n age : any = null;\n @Output() blur = new EventEmitter<any>();\n @Output() valueChange = new EventEmitter<any>();\n @Output() dateSelected = new EventEmitter<any>();\n @Output() invalidDate = new EventEmitter<any>();\n constructor(public service : MasterControlService) {}\n\n ngAfterViewChecked(): void {\n if (this.inputValue) {\n this.calculateAge(this.inputValue);\n }\n }\n\n dateDivisionFormat(event: any) {\n let evt = event.target;\n\n // Check if user is deleting (backspace/delete)\n const isDeleting = event.inputType === 'deleteContentBackward' ||\n event.inputType === 'deleteContentForward' ||\n !event.data;\n\n // If deleting, allow normal deletion without auto-adding slashes\n if (isDeleting) {\n return;\n }\n\n let value = evt.value;\n\n // Handle case where we have existing slashes but need to reformat\n // Split by slash to understand current structure\n const parts = value.split('/');\n\n // If we have exactly 3 parts (date/month/year), don't add more slashes\n if (parts.length < 3) {\n // For first slash after date (2 digits)\n if (value.length > 2 && !value.includes('/')) {\n evt.value = [value.slice(0, 2), '/', value.slice(2)].join('');\n }\n // For second slash after month\n else if (parts.length === 2) {\n const datePart = parts[0];\n const monthPart = parts[1];\n\n\n\n // Add slash after numeric month (exactly 2 digits) or alphabetic month (exactly 3 letters)\n if ((monthPart.length === 2 && /^\\d{2}$/.test(monthPart)) ||\n (monthPart.length === 3 && /^[a-zA-Z]{3}$/.test(monthPart))) {\n evt.value = datePart + '/' + monthPart + '/';\n }\n }\n\n\n }\n const datePart = parts[0] || '';\n const monthPart = parts[1] || '';\n const yearPart = parts[2] || '';\n\n // Prevent further input if limits are reached and restore previous value\n if ((datePart.length >= 2) ||\n (monthPart.length >= 2 && /^\\d+$/.test(monthPart)) ||\n (monthPart.length >= 3 && /^[a-zA-Z]+$/.test(monthPart)) ||\n (yearPart.length >= 4)) {\n\n // Get cursor position to determine which part is being edited\n const cursorPos = evt.selectionStart;\n const isEditingDate = cursorPos <= 3;\n const isEditingMonth = cursorPos > 3 && cursorPos <= (3 + monthPart.length);\n const isEditingYear = cursorPos > (3 + monthPart.length + 1);\n\n // Reconstruct the previous valid value by trimming excess characters\n let previousValidValue='';\n if (isEditingDate && datePart.length >= 2) {\n // Trim date part to 2 characters max\n const validDatePart = datePart.substring(0, 2);\n previousValidValue = validDatePart + (parts[1] ? '/' + parts[1] : '') + (parts[2] ? '/' + parts[2] : '');\n } else if (isEditingMonth && monthPart.length >= 2 && /^\\d+$/.test(monthPart)) {\n // Trim numeric month to 2 characters max\n const validMonthPart = monthPart.substring(0, 2);\n previousValidValue = parts[0] + '/' + validMonthPart + (parts[2] ? '/' + parts[2] : '');\n } else if (isEditingMonth && monthPart.length >= 3 ) {\n // Trim alphabetic month to 3 characters max\n const validMonthPart = monthPart.substring(0, 3);\n previousValidValue = parts[0] + '/' + validMonthPart + (parts[2] ? '/' + parts[2] : '');\n } else if (isEditingYear && yearPart.length >= 4) {\n // Trim year part to 4 characters max\n const validYearPart = yearPart.substring(0, 4);\n previousValidValue = parts[0] + '/' + parts[1] + '/' + validYearPart;\n }\n\n // Prevent input if trying to exceed limits by restoring previous value\n if ((isEditingDate && datePart.length >= 2) ||\n (isEditingMonth && monthPart.length >= 2 && /^\\d+$/.test(monthPart)) ||\n (isEditingMonth && monthPart.length >= 3 ) ||\n (isEditingYear && yearPart.length >= 4)) {\n\n // Restore the previous valid value\n setTimeout(() => {\n evt.value = previousValidValue;\n }, 0);\n event.preventDefault();\n return;\n }\n }\n\n\n }\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n if (event.value) {\n this.inputValue = event.value;\n this._onChange(this.inputValue);\n this.calculateAge(event.value);\n } else {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n this.dateSelected.emit({\n formattedValue: this.inputValue,\n dateObject: this.inputValue,\n isValid: true,\n source: 'datepicker'\n });\n this.valueChange.emit(this.inputValue);\n }\n\n onInputBlur(event : any): void {\n if (!this.service.checkIfValueIsEmpty(event.target.value)) {\n if (isNaN(Date.parse(event.target.value))) {\n event.target.value = '';\n } else {\n this.calculateAge(event.target.value);\n }\n }\n this._unTouched();\n this.blur.emit(event);\n }\n\n calculateAge(birthDate: Date) {\n const today = new Date();\n const birthdate = new Date(birthDate);\n let age = today.getFullYear() - birthdate.getFullYear();\n const monthDiff = today.getMonth() - birthdate.getMonth();\n const days_difference = today.getDate() - birthdate.getDate();\n if (monthDiff < 0 || (monthDiff === 0 && days_difference < 0)) {\n age = age - 1;\n }\n this.age = age;\n }\n\n\n}\n","<label *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n [matDatepicker]=\"picker\"\n (keyup)=\"dateDivisionFormat($event)\"\n [disabled]=\"field()?.isDisable\"\n [min]=\"field()?.configData?.min\"\n [max]=\"field()?.configData?.max\"\n (dateChange)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else{\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n [matDatepicker]=\"picker\"\n [min]=\"field()?.configData?.min\"\n [max]=\"field()?.configData?.max\"\n (keyup)=\"dateDivisionFormat($event)\"\n [disabled]=\"field()?.isDisable\"\n (dateChange)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n />\n }\n <span matSuffix class=\"right-date-text\" *ngIf=\"!this.service.checkIfValueIsEmpty(age) && !this.service.checkIfValueIsEmpty(inputValue) && age >= 0\">\n ({{ age }}) yrs\n </span>\n <mat-datepicker-toggle matSuffix [for]=\"picker\" *ngIf=\"true\">\n <img\n src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/date_picker_icon.svg\"\n style=\"width: 16px\"\n matDatepickerToggleIcon\n />\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-addition-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './addition-button.component.html',\n styleUrl: './addition-button.component.css'\n})\nexport class AdditionButtonComponent {\nfield: any = input.required<any>();\n}\n","<Button class=\"additional-button\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"\n{\n '--button-border': field()?.controlStyle?.borderWidth ,\n '--button-width': field()?.controlStyle?.width ,\n '--button-font-size': field()?.controlStyle?.fontSize ,\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\n '--button-background': field()?.controlStyle?.background ,\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\n '--button-text-color': field()?.controlStyle?.color ,\n}\">\n <span class=\"additional-button-text\">\n <img\n class=\"additional-button-img\"\n [src]=\"field()?.imageUrl\"\n />\n <span\n ><u>{{ field()?.label }}</u></span\n >\n </span>\n</Button>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-info-textbox',\n standalone: true,\n imports: [\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n ReactiveFormsModule\n ],\n templateUrl: './info-textbox.component.html',\n styleUrl: './info-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: InfoTextboxComponent,\n multi: true\n }\n ]\n})\nexport class InfoTextboxComponent implements ControlValueAccessor {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n @Input() fields: any;\n @Output() infoClick = new EventEmitter<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n handleWhereToFindClick(): void {\n this.infoClick.emit({ field: this.field });\n }\n}\n","<label class=\"field-lable info-label\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}\n <!-- <span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n > -->\n <span style=\"justify-content: end;\">\n <img class=\"mx-1\" *ngIf=\"field()?.configData?.imageURL\" [src]=\"field()?.configData?.imageURL\" alt=\"\">\n <u style=\"cursor: pointer;\" (click)=\"handleWhereToFindClick()\">{{field()?.configData?.infoMsg}}</u></span>\n </label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n<input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-textbox-with-image',\n standalone: true,\n imports: [MatInputModule, MatFormFieldModule, CommonModule, FormsModule, ReactiveFormsModule],\n templateUrl: './textbox-with-image.component.html',\n styleUrl: './textbox-with-image.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextboxWithImageComponent,\n multi: true\n }\n ]\n})\nexport class TextboxWithImageComponent {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n \n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = this.field()?.configData?.isTextCapitalized ? (event.target.value).toUpperCase() : event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event?: any): void {\n this._unTouched();\n // Emit the blur event to parent component\n this.blur.emit(event);\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n@if(reactiveFormControlobject()) {\n<input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n}@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n />\n}\n\n <span matSuffix class=\"mx-3\">\n <img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl' alt=\"\" />\n <!-- \"https://cdn.godigit.com/retail-life/location.svg\" -->\n </span>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-email-with-domain',\n standalone: true,\n imports: [CommonModule, MatInputModule, MatFormFieldModule, FormsModule, ReactiveFormsModule],\n templateUrl: './email-with-domain.component.html',\n styleUrl: './email-with-domain.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: EmailWithDomainComponent,\n multi: true\n }\n ]\n})\nexport class EmailWithDomainComponent {\npincode: any = '';\n emailUser:any='';\n emailDomain:any='';\n\n field: any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n inputValue: any = null;\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n <mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n class=\"email-left-side\"\n [name]=\"field()?.fieldName + '_1'\"\n [id]=\"field()?.fieldName + '_1'\"\n [type]=\"field()?.controlType\"\n [placeholder]=\"field()?.placeHolder\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n [pattern]=\"field()?.validators?.pattern\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n class=\"email-left-side\"\n [name]=\"field()?.fieldName + '_1'\"\n [id]=\"field()?.fieldName + '_1'\"\n [type]=\"field()?.controlType\"\n [placeholder]=\"field()?.placeHolder\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n [pattern]=\"field()?.validators?.pattern\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n <span class=\"email-between\">@</span>\n <input\n matInput\n autocomplete=\"off\"\n [name]=\"field()?.fieldName + '_2'\"\n [id]=\"field()?.fieldName + '_2'\"\n placeholder=\"domain.com\"\n class=\"email-right-side\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n />\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n </mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-image-upload',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule\n ],\n templateUrl: './image-upload.component.html',\n styleUrl: './image-upload.component.css'\n})\nexport class ImageUploadComponent {\n field : any = input.required<any>();\n}\n","\n<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}</label>\n <input\n hidden\n [type]=\"field()?.controlType\"\n #fileInput\n (click)=\"(fileInput.value)\"\n [required]=\"field()?.validators?.isRequired\"\n />\n <button\n type=\"button\"\n class=\"upload-btn\"\n (click)=\"fileInput.click()\"\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--upload-width': field()?.controlStyle?.width ,\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\n'--upload-border-color': field()?.controlStyle?.borderColor ,\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\n'--upload-background-color': field()?.controlStyle?.background ,\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\n}\"\n >\n <ng-container *ngIf=\"field()?.label; else policyHolderPanFileNotEmpty\">\n <span class=\"upload-icon\">\n <span\n ><img\n src=\"https://cdn.godigit.com/retail-life/Upload_Icon.svg\"\n alt=\"\"\n class=\"mb-1\"\n /></span>\n <span class=\"upload-text\" [ngStyle]=\"{\n'--upload-font-color': field()?.controlStyle?.color ,\n'--upload-font-size': field()?.controlStyle?.fontSize ,\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\n}\">{{ field()?.label }}</span>\n </span>\n </ng-container>\n <ng-template #policyHolderPanFileNotEmpty>\n <span class=\"mt-2 right-icon\">\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/Tickmark.svg\" alt=\"\"\n /></span>\n <span title=\"uploaded file\">uploaded file</span>\n </span>\n <div class=\"mt-2 left-icon\">\n <span\n ><img\n src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\"\n alt=\"\"\n /></span>\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"\n /></span>\n </div>\n </ng-template>\n </button>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-download-document',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule\n ],\n templateUrl: './download-document.component.html',\n styleUrl: './download-document.component.css'\n})\nexport class DownloadDocumentComponent {\n field : any = input.required<any>();\n}\n","<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}</label>\n <input\n hidden\n [type]=\"field()?.controlType\"\n #fileInput\n (click)=\"(fileInput.value)\"\n [required]=\"field()?.validators?.isRequired\"\n />\n <button\n type=\"button\"\n class=\"upload-btn lightbackground\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--upload-width': field()?.controlStyle?.width ,\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\n'--upload-border-color': field()?.controlStyle?.borderColor ,\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\n'--upload-background-color': field()?.controlStyle?.background ,\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\n}\"\n >\n <span class=\"upload-icon\">\n <span\n ><img\n src=\"https://cdn.godigit.com/retail-life/Download_Icon.svg\"\n alt=\"\"\n class=\"mb-1\"\n /></span>\n <span class=\"upload-text\" [ngStyle]=\"{\n'--upload-font-color': field()?.controlStyle?.color ,\n'--upload-font-size': field()?.controlStyle?.fontSize ,\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\n}\">{{ field()?.label }}</span>\n </span>\n </button>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-add-document',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule\n ],\n templateUrl: './add-document.component.html',\n styleUrl: './add-document.component.css'\n})\nexport class AddDocumentComponent {\nfield : any = input.required<any>();\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field().label}}</label>\n <input\n hidden\n [type]=\"field()?.controlType\"\n #fileInput\n (click)=\"(fileInput.value)\"\n [required]=\"field()?.validators?.isRequired\"\n />\n <button\n type=\"button\"\n class=\"upload-btn add-document-btn\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--add-doc-border-color': field()?.controlStyle?.borderColor ,\n'--add-doc-border-width': field()?.controlStyle?.borderWidth ,\n'--add-doc-border-style': field()?.controlStyle?.borderStyle ,\n'--add-doc-background': field()?.controlStyle?.background \n}\"\n >\n <span class=\"add-icon\">\n <span\n ><img class=\"mb-1\" src=\"https://cdn.godigit.com/retail-life/add.svg\"></span>\n <span class=\"upload-text\" [ngStyle]=\"{\n'--upload-font-color': field()?.controlStyle?.color ,\n'--upload-font-size': field()?.controlStyle?.fontSize ,\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\n}\">{{ field()?.label }}</span>\n <span class=\"light-font\">(optional)</span>\n </span>\n </button>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-hyperlink',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './hyperlink.component.html',\n styleUrl: './hyperlink.component.css'\n})\nexport class HyperlinkComponent {\n field: any = input.required<any>();\n}\n","<u *ngIf=\"field() && field()?.isVisible\" class=\"hyperlink\" [ngStyle]=\"{\n'--hyperlink-font-color': field()?.controlStyle?.color,\n'--hyperlink-font-size': field()?.controlStyle?.fontSize,\n'--hyperlink-font-weight': field()?.controlStyle?.fontWeight\n}\">\n <a href=\"Hyper_link\" *ngIf=\"field()?.label && field()?.isShowLabel\">{{field()?.label}}</a></u\n>\n<img *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-textbox-with-underscore',\n standalone: true,\n imports: [CommonModule, MatInputModule, MatFormFieldModule, ReactiveFormsModule],\n templateUrl: './textbox-with-underscore.component.html',\n styleUrl: './textbox-with-underscore.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextboxWithUnderscoreComponent,\n multi: true\n }\n ]\n})\nexport class TextboxWithUnderscoreComponent {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n\n changeFormat(event: any) {\n let digits = event.target.value.replace(/[^0-9]/g, '').slice(0, this.field().validators.maxLength);\n let padded = digits.padEnd(this.field().validators.maxLength, '_');\n event.target.value = padded;\n\n setTimeout(() => {\n let pos = digits.length;\n if (pos > this.field().validators.maxLength) pos = this.field().validators.maxLength;\n event.target.setSelectionRange(pos, pos);\n });\n }\n getUnderscorePlaceholder() {\n return '_'.repeat(this.field().validators.maxLength);\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100 hyphen-input\"\n appearance=\"outline\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [placeholder]=\"getUnderscorePlaceholder()\"\n (keyup)=\"changeFormat($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [placeholder]=\"getUnderscorePlaceholder()\"\n (keyup)=\"changeFormat($event)\"\n />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\n\n@Component({\n selector: 'lib-underscore-mob-number',\n standalone: true,\n imports: [CommonModule, MatInputModule, MatFormFieldModule, MatSelectModule, MatOptionModule, ReactiveFormsModule],\n templateUrl: './underscore-mob-number.component.html',\n styleUrl: './underscore-mob-number.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: UnderscoreMobNumberComponent,\n multi: true\n }\n ]\n})\nexport class UnderscoreMobNumberComponent {\nCountryCode: any = '+91';\n field : any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n \n changeFormat(event: any) {\n let digits = event.target.value.replace(/[^0-9]/g, '').slice(0, this.field().validators.maxLength);\n let padded = digits.padEnd(this.field().validators.maxLength, '_');\n event.target.value = padded;\n\n setTimeout(() => {\n let pos = digits.length;\n if (pos > this.field().validators.maxLength) pos = this.field().validators.maxLength;\n event.target.setSelectionRange(pos, pos);\n });\n }\n getUnderscorePlaceholder() {\n return '_'.repeat(this.field().validators.maxLength);\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100 mobile-field hyphen-input\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\n <div class=\"d-flex countryCode\">\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\n /></span>\n </div>\n </div>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [placeholder]=\"getUnderscorePlaceholder()\"\n (keyup)=\"changeFormat($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [placeholder]=\"getUnderscorePlaceholder()\"\n (keyup)=\"changeFormat($event)\"\n />\n }\n\n <span matSuffix class=\"p-3\">\n <img src=\"https://cdn.godigit.com/retail-life/edit-icon.svg\" alt=\"\" />\n </span>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-icon-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './icon-button.component.html',\n styleUrl: './icon-button.component.css',\n})\nexport class IconButtonComponent {\n field: any = input.required<any>();\n}\n","<Button\nclass=\"icon-button\"\n*ngIf=\"field() && field()?.isVisible\"\n[ngStyle]=\"\n{\n '--icon-button-border-width': field()?.controlStyle?.borderWidth ,\n '--icon-button-border-style': field()?.controlStyle?.borderStyle ,\n '--icon-button-border-color': field()?.controlStyle?.borderColor ,\n '--icon-button-width': field()?.controlStyle?.width ,\n '--icon-button-background': field()?.controlStyle?.background ,\n '--icon-button-border-radius': field()?.controlStyle?.borderRadius ,\n}\"\n>\n<span>\n<img [src]=\"field()?.imageUrl ? field()?.imageUrl : 'https://cdn.godigit.com/retail-life/Download_Icon.svg'\"/>\n</span>\n</Button>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-image',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './image.component.html',\n styleUrl: './image.component.css'\n})\nexport class ImageComponent {\n field: any = input.required<any>();\n}\n","<div *ngIf=\"field() && field()?.isVisible\">\n <img [src]=\"field()['imageUrl']\" class=\"image-width\" [ngStyle]=\"{'--image-width' : field()?.controlStyle?.width}\"/>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-stepper',\n standalone: true,\n imports: [MatStepperModule,CommonModule],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.css'\n})\nexport class StepperComponent {\nfield: any = input.required<any>();\nmasterStepper:any;\nconstructor(public masterSharedService:MasterControlService){}\nngOnInit(){\n this.field().editStepper = this.field().configData.stepperData ? this.field().configData.stepperData : this.masterSharedService?.configData?.stepper?.stepperData;\n}\n}\n","<div *ngIf=\"field() && field()?.isVisible\">\n <mat-stepper #stepperHeader>\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\n <mat-step>\n <ng-template matStepLabel>\n <img\n class=\"step-img\"\n [src]=\"steps.imgIconUrl\"\n alt=\"\"\n />\n <span class=\"step-label mx-2\">{{steps?.displayLabel}}</span>\n </ng-template>\n </mat-step>\n </ng-container>\n </mat-stepper>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './card.component.html',\n styleUrl: './card.component.css'\n})\nexport class CardComponent {\n field: any = input.required<any>();\n @Output() cardDetailsClicked = new EventEmitter<any>();\n constructor(public masterSharedService: MasterControlService) { }\n\n ngOnInit() {\n this.field().cardDetails = this.field().configData?.cardDetails ? this.field().configData?.cardDetails : this.masterSharedService?.configData?.policyDisplayCard?.policyDetails;\n }\n\n activeCard(emitData: any) {\n const cards = document.querySelectorAll('.endorsement-card');\n cards.forEach(card => {\n card.addEventListener('click', () => {\n cards.forEach(c => c.classList.remove('active'));\n card.classList.add('active');\n });\n });\n let passcardData: any = {\n \"cardData\": emitData,\n \"filedData\": this.field()\n }\n this.cardDetailsClicked.emit(passcardData);\n }\n\n}\n","<div class=\"grid-container-card\" *ngIf=\"field() && field()?.isVisible\">\n <div class=\"endorsement-card\" [ngStyle]=\"{\n '--card-border-color': field()?.controlStyle?.borderColor ,\n '--card-border-width': field()?.controlStyle?.borderWidth ,\n '--card-border-style': field()?.controlStyle?.borderStyle ,\n '--card-border-radius': field()?.controlStyle?.borderRadius \n }\" *ngFor=\"let policyDetails of field().cardDetails; let i = index\" (click)=\"activeCard(policyDetails)\">\n <p class=\"m-0 card-label\" [ngStyle]=\"{\n '--card-font-size': field()?.controlStyle?.fontSize ,\n '--card-font-weight': field()?.controlStyle?.fontWeight ,\n '--card-font-color': field()?.controlStyle?.color ,}\">{{policyDetails?.policyHolderName}}</p>\n <hr class=\"m-0 hr-line mt-1\" />\n <div class=\"d-flex gap-2 mt-1\">\n <span>\n <img src=\"https://cdn.godigit.com/retail-life/Endorsement-add-ons.svg\" alt=\"\" />\n </span>\n <span>\n <p class=\"m-0 card-label\">{{policyDetails?.policyType}}</p>\n <span class=\"below-card-text\">{{policyDetails?.policyNumber}}</span>\n </span>\n </div>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-hr-line',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './hr-line.component.html',\n styleUrl: './hr-line.component.css'\n})\nexport class HrLineComponent {\nfield: any = input.required<any>();\n}\n","<div class=\"\">\n <div class=\"hr-with-text\" [ngStyle]=\"{\n '--hr-line-border-width': field()?.controlStyle?.borderWidth,\n '--hr-line-border-color': field()?.controlStyle?.borderColor,\n '--hr-line-border-style': field()?.controlStyle?.borderStyle\n}\">\n <span class=\"hr-text\" [ngStyle]=\"{\n '--hr-text-color': field()?.controlStyle?.color,\n '--hr-text-weight': field()?.controlStyle?.fontWeight,\n '--hr-text-size': field()?.controlStyle?.fontSize\n}\"\n*ngIf=\"field()?.configData?.hrText\">{{field()?.configData?.hrText}}</span>\n</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\n\n@Component({\n selector: 'lib-search-multi-select',\n standalone: true,\n imports: [\n MatSelectModule,\n MatFormFieldModule,\n CommonModule,\n MatChipsModule,\n MatIconModule,\n FormsModule,\n MatInputModule,\n ReactiveFormsModule\n ],\n templateUrl: './search-multi-select.component.html',\n styleUrl: './search-multi-select.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SearchMultiSelectComponent,\n multi: true\n }\n ]\n})\nexport class SearchMultiSelectComponent {\n field: any = input.required<any>();\n selectedValues: any = [];\n visibleChip: any = [];\n remainingCount: any = 0;\n searchText: any = '';\n filteredOptions: any = [];\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n ngOnInit() {\n this.filteredOptions = this.field().options;\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n selectionChanged(event: MatSelectChange) {\n this.inputValue = event.value;\n this.onChange(event.value);\n this.onTouched();\n }\n setDisabledState?(isDisabled: boolean): void {}\n\n removeItem(item: any) {\n const maxVisible = 2;\n this.visibleChip = this.visibleChip.filter(\n (element: any) => element !== item\n );\n this.selectedValues = this.selectedValues.filter(\n (element: any) => element !== item\n );\n const found = this.field().options.find((i: any) => i.label === item);\n if (found) {\n found.value = false;\n }\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\n this.remainingCount = this.selectedValues.length - maxVisible;\n }\n onSelectionChange() {\n const maxVisible = 2;\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\n this.remainingCount = this.selectedValues.length - maxVisible;\n }\n\n filterOptions() {\n if (!this.searchText) {\n this.filteredOptions = this.field().options;\n return;\n }\n const filterValue = this.searchText.toLowerCase();\n this.filteredOptions = this.field().options.filter((option: any) =>\n option.label.toLowerCase().includes(filterValue)\n );\n }\n\n onSelectOpened(opened: boolean) {\n const css = this.field()?.controlStyle;\n if (opened) {\n document.body.style.setProperty(\n '--custom-select-option-background-color',\n css?.dropdownOptionBgColor || '#fff'\n );\n document.body.style.setProperty(\n '--custom-select-option-font-color',\n css?.dropdownOptionColor || '#444'\n );\n document.body.style.setProperty(\n '--custom-select-option-font-weight',\n css?.dropdownOptionFontWeight || '400'\n );\n document.body.style.setProperty(\n '--custom-select-option-background-color-focus',\n css?.focusDropdownOptionBgColor || '#fff'\n );\n document.body.style.setProperty(\n '--custom-select-option-font-color-focus',\n css?.focusDropdownOptionColor || '#444'\n );\n document.body.style.setProperty(\n '--custom-select-option-font-weight-focus',\n css?.focusDropdownOptionFontWeight || '400'\n );\n document.body.style.setProperty(\n '--custom-select-option-border-left-focus',\n css?.focusDropdownOptionBorderLeft || '#ffbb00'\n );\n document.body.style.setProperty(\n '--custom-select-option-border-radius-focus',\n css?.focusDropdownOptionBorderRadius || '#ffbb00'\n );\n } else {\n document.body.style.removeProperty(\n '--custom-select-option-background-color'\n );\n document.body.style.removeProperty('--custom-select-option-font-color');\n document.body.style.removeProperty('--custom-select-option-font-weight');\n document.body.style.removeProperty(\n '--custom-select-option-background-color-focus'\n );\n document.body.style.removeProperty(\n '--custom-select-option-font-color-focus'\n );\n document.body.style.removeProperty(\n '--custom-select-option-font-weight-focus'\n );\n document.body.style.removeProperty(\n '--custom-select-option-border-left-focus'\n );\n document.body.style.removeProperty(\n '--custom-select-option-border-radius-focus'\n );\n }\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n appearance=\"outline\"\n class=\"input-full-width full-width w-100 multi-select\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\"\n>\n@if(reactiveFormControlobject()) {\n<mat-select\n multiple\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldName\"\n [(value)]=\"selectedValues\"\n (selectionChange)=\"onSelectionChange()\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n [disabled]=\"field()?.isDisable\"\n (openedChange)=\"onSelectOpened($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n >\n <mat-select-trigger>\n <mat-chip-listbox>\n @for (option of visibleChip; track option) {\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\n {{ option }}\n <mat-icon matChipRemove>close</mat-icon>\n </mat-chip>\n }\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\n </mat-chip-listbox>\n </mat-select-trigger>\n <div class=\"select-container\">\n <mat-optgroup>\n <mat-form-field\n class=\"input-full-width full-width w-100 multiselect-search\"\n >\n <input\n matInput\n #search\n autocomplete=\"off\"\n placeholder=\"Search\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"filterOptions()\"\n />\n </mat-form-field>\n </mat-optgroup>\n @for (option of filteredOptions; track option.label) {\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\n {{ option.label }}\n </mat-option>\n }\n </div>\n </mat-select>\n}@else {\n <mat-select\n multiple\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldName\"\n [(value)]=\"selectedValues\"\n (selectionChange)=\"onSelectionChange()\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n [disabled]=\"field()?.isDisable\"\n (openedChange)=\"onSelectOpened($event)\"\n [value]=\"inputValue\"\n >\n <mat-select-trigger>\n <mat-chip-listbox>\n @for (option of visibleChip; track option) {\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\n {{ option }}\n <mat-icon matChipRemove>close</mat-icon>\n </mat-chip>\n }\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\n </mat-chip-listbox>\n </mat-select-trigger>\n <div class=\"select-container\">\n <mat-optgroup>\n <mat-form-field\n class=\"input-full-width full-width w-100 multiselect-search\"\n >\n <input\n matInput\n #search\n autocomplete=\"off\"\n placeholder=\"Search\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"filterOptions()\"\n />\n </mat-form-field>\n </mat-optgroup>\n @for (option of filteredOptions; track option.label) {\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\n {{ option.label }}\n </mat-option>\n }\n </div>\n </mat-select>\n}\n \n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-subscript-textbox',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule ,\n CommonModule,\n ReactiveFormsModule\n ],\n templateUrl: './subscript-textbox.component.html',\n styleUrl: './subscript-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SubscriptTextboxComponent,\n multi: true\n }\n ]\n})\nexport class SubscriptTextboxComponent {\n inputValue: any = null;\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n\n <p class=\"years-text\" *ngIf=\"inputValue\">Years</p>\n <p class=\"textbox-subscript\">till 2026</p>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div>\n <span class=\"below-input-text\">{{field()?.configData?.subscriptText}}</span>\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n\n@Component({\n selector: 'lib-label',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './label.component.html',\n styleUrl: './label.component.css'\n})\nexport class LabelComponent {\nfield : any = input.required<any>();\n}\n","<div *ngIf=\"field()?.isVisible\">\n<span class=\"master-label\" [ngStyle]=\"{\n'--master-heading-font-color': field()?.controlStyle?.color,\n'--master-heading-font-size': field()?.controlStyle?.fontSize,\n'--master-heading-font-weight': field()?.controlStyle?.fontWeight\n}\">{{field()?.label}}</span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-sub-header',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './sub-header.component.html',\n styleUrl: './sub-header.component.css'\n})\nexport class SubHeaderComponent {\nfield : any = input.required<any>();\n}\n","<div>\n <span class=\"sub-heading\" [ngStyle]=\"{\n'--sub-heading-font-color': field()?.controlStyle?.color,\n'--sub-heading-font-size': field()?.controlStyle?.fontSize,\n'--sub-heading-font-weight': field()?.controlStyle?.fontWeight\n}\">{{field()?.label}}\n<img [src]=\"field()?.imageUrl\" *ngIf=\"field()?.imageUrl\" alt=\"\">\n</span>\n</div>","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n@Component({\n selector: 'lib-header',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './header.component.html',\n styleUrl: './header.component.css'\n})\nexport class HeaderComponent {\nfield : any = input.required<any>();\n}\n","<div>\n <span class=\"heading\" [ngStyle]=\"{\n'--heading-font-color': field()?.controlStyle?.color,\n'--heading-font-size': field()?.controlStyle?.fontSize,\n'--heading-font-weight': field()?.controlStyle?.fontWeight\n}\">\n {{field()?.label}}\n </span>\n</div>","import { Component, EventEmitter, HostListener, input, Output } from '@angular/core';\nimport { CommonModule, NgFor, NgIf } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MasterControlService } from '../master-control.service';\nimport { MatPaginatorModule, PageEvent } from '@angular/material/paginator';\n@Component({\n selector: 'lib-table',\n standalone: true,\n imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule],\n templateUrl: './table.component.html',\n styleUrl: './table.component.css'\n})\nexport class TableComponent {\n field: any = input.required<any>();\n readonly = input(false);\n showActionsPopup = false;\n popupPosition = { top: 0, left: 0 };\n selectedRow: any = 0;\n highlightedIndex = -1;\n paginationSize: any = 10;\n pageNumber: any = 0;\n pageSize: any = 10;\n @Output() actionItemClicked = new EventEmitter<any>();\n @Output() tablePaginationClicked = new EventEmitter<any>();\n constructor(public masterControlService: MasterControlService) { }\n\n ngOnInit() {\n this.setColumns();\n }\n trackByIndex(index: any, item: any) {\n return index;\n }\n\n setColumns() {\n let checkConfigData = this.field().configData;\n if (Object?.keys(checkConfigData)?.length > 0) {\n this.masterControlService.configData.table = checkConfigData;\n }\n if (this.masterControlService.configData.table.rowlength > 0 && this.masterControlService.configData.table.columnlength > 0) {\n this.field().tableData = this.masterControlService.configData.table;\n for (let i = 0; i < this.masterControlService.configData.table.columnlength; i++) {\n if (Object.keys(checkConfigData).length <= 0) {\n let headerObj = {\n \"columnName\": `${'Name - ' + i}`,\n \"isSortingNeeded\": \"Y\",\n \"toolTip\": `${'tooltip - ' + i}`\n }\n const exists = this.field().tableData.tableHeaders.some(\n (header: any) => header.columnName === headerObj.columnName\n );\n if (!exists && this.field().tableData.tableHeaders.length < this.masterControlService.configData.table.columnlength) {\n this.field().tableData.tableHeaders.push(headerObj);\n }\n }\n }\n this.field().tableData.tdData = Array(this.masterControlService.configData.table.rowlength).fill(null).map((_, rowIdx) =>\n Array(this.masterControlService.configData.table.columnlength).fill('').map((_, colIdx) => `Dummy Row ${rowIdx + 1}`)\n );\n\n this.masterControlService.saveTableFieldState(this.field());\n this.field().configData = this.field().tableData\n }\n }\n\n openActionsPopup(event: MouseEvent, rowIndex: number) {\n event.stopPropagation();\n this.selectedRow = rowIndex;\n this.showActionsPopup = true;\n this.highlightedIndex = 1;\n const rect = (event.target as HTMLElement).getBoundingClientRect();\n this.popupPosition = {\n top: rect.bottom + window.scrollY - 30,\n left: rect.left + window.scrollX - 280,\n };\n }\n\n closeActionsPopup() {\n this.showActionsPopup = false;\n this.field().tableData.userSelectedOptions[this.selectedRow].forEach((checkIcon: any) => {\n checkIcon.isSelected = false;\n });\n this.selectedRow = 0;\n this.highlightedIndex = -1;\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscKey(event: KeyboardEvent) {\n this.closeActionsPopup();\n }\n\n pageChanged(event: PageEvent) {\n this.field().tableData.pageNumber = event.pageIndex;\n this.field().tableData.pageSize = event.pageSize;\n this.tablePaginationClicked.emit(this.field().tableData);\n }\n\n actionClicked(actionSelected: any, actionIndex: any) {\n this.field()?.tableData?.userSelectedOptions[this.selectedRow]?.forEach((checkIcon: any, selectedIndex: any) => {\n if (checkIcon.matIconName === actionSelected.matIconName && actionIndex === selectedIndex) {\n checkIcon.isSelected = true;\n }\n });\n let emitOBJ = {\n userSelectedOptions : this.field()?.tableData?.userSelectedOptions,\n selectedRowIndex: this.selectedRow,\n selectedActionsIndex: actionIndex,\n }\n this.actionItemClicked.emit(emitOBJ);\n }\n}\n","<div class=\"styled-table-container\">\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\n <thead>\n <tr>\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\n <ng-container>{{ header?.columnName }}</ng-container>\n </th>\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\n <td *ngIf=\"field()?.tableData?.showActions\">\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\n <mat-icon>more_vert</mat-icon>\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\n </mat-paginator>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\n <div class=\"tableEmptyData\">\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\n </div>\n </ng-container>\n</div>\n\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\n <ul>\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\n (click)=\"actionClicked(actionData,actionIndex)\">\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\n {{actionData?.displayTitle}}\n </li>\n </ul>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-textbox-with-text',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n ReactiveFormsModule,\n ],\n templateUrl: './textbox-with-text.component.html',\n styleUrl: './textbox-with-text.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextboxWithTextComponent,\n multi: true,\n },\n ],\n})\nexport class TextboxWithTextComponent {\n inputValue: any = null;\n reactiveFormControlobject: any = input<any>();\n field: any = input.required<any>();\n @Output() blur = new EventEmitter<any>();\n\n _onChange: any = (inputValue: any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void {\n this.inputValue = obj;\n }\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this._unTouched = fn;\n }\n setDisabledState?(isDisabled: boolean): void {}\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event?: any): void {\n this._unTouched();\n this.blur.emit(event);\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div>\n <span class=\"below-input-text\">{{field()?.configData?.subscriptText}}</span>\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-discount',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './discount.component.html',\n styleUrl: './discount.component.css'\n})\nexport class DiscountComponent {\n field: any = input.required<any>();\n\n}\n","<p\n class=\"discount-label b2-bold px-1\"\n *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\"\n>\n {{ field()?.label }}\n</p>\n<div \nclass=\"discount-card\" \n*ngIf=\"field() && field()?.isVisible\"\n[ngStyle]=\"\n{\n '--discount-border-width': field()?.controlStyle?.borderWidth,\n '--discount-card-width': field()?.controlStyle?.width ,\n '--discount-border-radius': field()?.controlStyle?.borderRadius ,\n '--discount-border-color': field()?.controlStyle?.borderColor ,\n}\"\n>\n <div class=\"d-flex justify-content-between\">\n <div>\n <img\n src=\"https://cdn.godigit.com/retail-life/discount-img-lib.svg\"\n alt=\"\"\n class=\"mx-1\"\n />\n <span class=\"h2-extrabold\">5% </span>\n <span class=\"b3-regular\">off</span>\n </div>\n <div>\n <button class=\"apply-btn\">\n <span class=\"my-1\">\n Apply\n <img\n src=\"https://cdn.godigit.com/retail-life/arrow_forward_lib.svg\"\n alt=\"\"\n />\n </span>\n </button>\n </div>\n <div *ngIf=\"false\">\n <button class=\"remove-btn\">\n <span> Remove x </span>\n </button>\n </div>\n </div>\n <div>\n <p class=\"b2-bold m-0\">Good Health Discount</p>\n <p class=\"b3-regular\">\n Get extra 5% discount for keeping a healthy lifestyle!\n </p>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-benefit-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './benefit-card.component.html',\n styleUrl: './benefit-card.component.css',\n})\nexport class BenefitCardComponent {\n field: any = input.required<any>();\n}\n","<div\n class=\"benefit-card\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"\n{\n '--benefit-border-width': field()?.controlStyle?.borderWidth,\n '--benefit-card-width': field()?.controlStyle?.width ,\n '--benefit-border-radius': field()?.controlStyle?.borderRadius ,\n '--benefit-border-color': field()?.controlStyle?.borderColor ,\n}\"\n>\n <div class=\"d-flex justify-content-between\">\n <span class=\"b1-bold\" *ngIf=\"field()?.isShowLabel\">{{ field()?.label }}</span>\n <button class=\"add-card-button\">+ Add</button>\n <button class=\"remove-card-button\" *ngIf=\"false\">x Remove</button>\n </div>\n <div class=\"mt-2\">\n <img\n src=\"https://cdn.godigit.com/retail-life/tabler_wheelchair.png\"\n alt=\"\"\n />\n <span class=\"b3-regular mx-2\">Policy Continuance Benefit on Death</span>\n <img src=\"https://cdn.godigit.com/retail-life/info-button-lib.svg\" alt=\"\" />\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input} from '@angular/core';\n\n@Component({\n selector: 'lib-loader',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.css'\n})\nexport class LoaderComponent {\n field: any = input.required<any>();\n}\n","<div\n class=\"loader-overlay\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"field()?.configData?.loaderCSS\"\n>\n <div\n class=\"loader-card\"\n [ngStyle]=\"field()?.configData?.cardCSS\"\n >\n <ng-container *ngIf=\"field()?.configData?.imageURL; else defaultLoader\">\n <img\n [src]=\"field()?.configData?.imageURL\"\n [ngStyle]=\"field()?.configData?.imageCSS\"\n alt=\"Loader\"\n />\n <div\n class=\"loader-text\"\n [ngStyle]=\"field()?.configData?.textCSS\"\n >\n {{ field()?.configData?.text }}\n </div>\n </ng-container>\n <ng-template #defaultLoader>\n <div class=\"loader\">\n <span></span>\n <span></span>\n <span></span>\n </div>\n <div\n class=\"loader-text\"\n [ngStyle]=\"field()?.configData?.textCSS\"\n >\n {{ field()?.configData?.text }}\n </div>\n </ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-warning-snackbar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './warning-snackbar.component.html',\n styleUrl: './warning-snackbar.component.css'\n})\nexport class WarningSnackbarComponent {\nfield : any = input.required<any>();\nwarningObj:any;\n\nconstructor(public masterService : MasterControlService) {\n this.warningObj = this.masterService.snackbars.find((item: any) => item.type === 'Warning');\n}\n}\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex gap-3\">\n <span>\n <img\n [src]=\"field()?.configData?.imageURL\"\n alt=\"\"\n class=\"mt-1\"\n [ngClass]=\"field()?.configData?.imageCSS\"\n />\n </span>\n <span class=\"mb-2\">\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\n </span>\n </div>\n <div >\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\n </div>\n </div>\n</div>","import { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-success-snackbar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './success-snackbar.component.html',\n styleUrl: './success-snackbar.component.css'\n})\nexport class SuccessSnackbarComponent {\nfield : any = input.required<any>();\nsuccessObj:any;\n\nconstructor(public masterService : MasterControlService) {\n this.successObj = this.masterService.snackbars.find((item: any) => item.type === 'Success');\n}\n}\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex gap-3\">\n <span>\n <img\n [src]=\"field()?.configData?.imageURL\"\n alt=\"\"\n class=\"mt-1\"\n [ngClass]=\"field()?.configData?.imageCSS\"\n />\n </span>\n <span class=\"mb-2\">\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\n </span>\n </div>\n <div >\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\n </div>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-neutral-snackbar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './neutral-snackbar.component.html',\n styleUrl: './neutral-snackbar.component.css'\n})\nexport class NeutralSnackbarComponent {\nfield : any = input.required<any>();\nneutralObj:any;\n\nconstructor(public masterService : MasterControlService) {\n this.neutralObj = this.masterService.snackbars.find((item: any) => item.type === 'Neutral');\n}\n}\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex gap-3\">\n <span>\n <img\n [src]=\"field()?.configData?.imageURL\"\n alt=\"\"\n class=\"mt-1\"\n [ngClass]=\"field()?.configData?.imageCSS\"\n />\n </span>\n <span class=\"mb-2\">\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\n </span>\n </div>\n <div >\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\n </div>\n </div>\n</div>","import { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-error-snackbar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './error-snackbar.component.html',\n styleUrl: './error-snackbar.component.css'\n})\nexport class ErrorSnackbarComponent {\nfield : any = input.required<any>();\nerrorObj:any;\n\nconstructor(public masterService : MasterControlService) {\n this.errorObj = this.masterService.snackbars.find((item: any) => item.type === 'Error');\n}\n}\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex gap-3\">\n <span>\n <img\n [src]=\"field()?.configData?.imageURL\"\n alt=\"\"\n class=\"mt-1\"\n [ngClass]=\"field()?.configData?.imageCSS\"\n />\n </span>\n <span class=\"mb-2\">\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\n </span>\n </div>\n <div >\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-grey-label',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './grey-label.component.html',\n styleUrl: './grey-label.component.css'\n})\nexport class GreyLabelComponent {\n field : any = input.required<any>();\n}\n","<div *ngIf=\"field()?.isVisible\">\n <span class=\"bold-label\" [ngStyle]=\"{\n'--master-bold-label-font-color': field()?.controlStyle?.color,\n'--master-bold-label-font-size': field()?.controlStyle?.fontSize,\n'--master-bold-label-font-weight': field()?.controlStyle?.fontWeight\n}\">{{field()?.label}}</span>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'lib-iframe',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './iframe.component.html',\n styleUrl: './iframe.component.css'\n})\nexport class IframeComponent implements OnInit {\n field: any = input.required<any>();\n safeUrl: SafeResourceUrl | null = null;\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit() {\n if (this.field() && this.field().imageUrl) {\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.field().imageUrl);\n }\n }\n\n getIframeUrl() {\n let iframeUrl : any = null;\n if (this.field() && this.field().imageUrl) {\n iframeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.field().imageUrl);\n }\n return iframeUrl;\n }\n\n}\n","<div *ngIf=\"field().imageUrl\">\n <iframe [id]=\"field().fieldName\" width=\"100%\" height=\"500px\" style=\"border: none\"></iframe>\n</div>\n","\nimport { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\n\n@Component({\n selector: 'lib-toggle-button',\n standalone: true,\n imports: [MatButtonToggleModule, CommonModule, ReactiveFormsModule, FormsModule, CustomizedTooltipDirective],\n templateUrl: './toggle-button.component.html',\n styleUrl: './toggle-button.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ToggleButtonComponent,\n multi: true,\n },\n ],\n})\nexport class ToggleButtonComponent implements ControlValueAccessor {\n reactiveFormControlobject: any = input<any>();\n field : any = input.required<any>();\n selectedValue: any = null;\n\n // Output events for parent component communication\n @Output() selectionChanged = new EventEmitter<any>();\n @Output() change = new EventEmitter<any>();\n\n // ControlValueAccessor methods\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any): void {\n this.selectedValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Handle disabled state if needed\n }\n\n // Handle selection change\n onSelectionChange(value: any): void {\n this.selectedValue = value;\n this.onChange(value);\n this.onTouched();\n\n // Emit events for parent component\n this.selectionChanged.emit(value);\n this.change.emit(value);\n }\n}\n","<div style=\"position: relative\" [ngClass]=\"field()?.cssClass\">\n @if(reactiveFormControlobject()) {\n <mat-button-toggle-group [ngStyle]=\"{\n '--toggle-button-width': field()?.controlStyle?.width ,\n }\" name=\"fontStyle\" class=\"custom-mat-toggle\" aria-label=\"Font Style\"\n *ngIf=\"field() && field()?.isVisible && field()?.configData?.options\" [value]=\"selectedValue\"\n (change)=\"onSelectionChange($event.value)\" [formControl]=\"reactiveFormControlobject()\">\n @for (data of field()?.configData?.options; track $index) {\n <mat-button-toggle [value]=\"data.value\">\n <img *ngIf=\"data.imgUrl && !data.tooltipText\" [src]=\"data.imgUrl\" alt=\"\" class=\"toggle-img mx-1\" />\n\n {{ data.label }}\n <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\n *ngIf=\"data.imgUrl && data.tooltipText\">\n <img [src]=\"data.imgUrl\" class=\"toggle-img mx-1\" />\n </span>\n\n <!-- ✅ Single template that uses current data -->\n <ng-template #currentTooltip>\n <span [innerHTML]=\"data.tooltipText\"></span>\n </ng-template>\n </mat-button-toggle>\n <div class=\"top-green-card\" *ngIf=\"data.toggleTopText\">\n <span class=\"second-box\">\n <img class=\"green-card-img\" *ngIf=\"data.topImage\" [src]=\"data.topImage\" alt=\"\" />\n <span>{{ data.toggleTopText }}</span>\n </span>\n </div>\n }\n </mat-button-toggle-group>\n }@else {\n <mat-button-toggle-group [ngStyle]=\"{\n '--toggle-button-width': field()?.controlStyle?.width ,\n }\" name=\"fontStyle\" class=\"custom-mat-toggle\" aria-label=\"Font Style\"\n *ngIf=\"field() && field()?.isVisible && field()?.configData?.options\" [(ngModel)]=\"selectedValue\"\n (change)=\"onSelectionChange($event.value)\">\n @for (data of field()?.configData?.options; track $index) {\n <mat-button-toggle [value]=\"data.value\">\n {{ data.label }}\n <!-- <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\n *ngIf=\"data.imgUrl && data.tooltipText\">\n <img [src]=\"data.imgUrl\" />\n </span> -->\n\n <!-- ✅ Single template that uses current data -->\n <!-- <ng-template #currentTooltip>\n <span [innerHTML]=\"data.tooltipText\"></span>\n </ng-template> -->\n </mat-button-toggle>\n <div class=\"top-green-card\" *ngIf=\"data.toggleTopText\">\n <span class=\"second-box\">\n <img class=\"green-card-img\" *ngIf=\"data.topImage\" [src]=\"data.topImage\" alt=\"\" />\n <span>{{ data.toggleTopText }}</span>\n </span>\n </div>\n }\n </mat-button-toggle-group>\n }\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, Input, input } from '@angular/core';\n\n@Component({\n selector: 'lib-pay-get-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './pay-get-card.component.html',\n styleUrl: './pay-get-card.component.css'\n})\nexport class PayGetCardComponent {\nfield: any = input.required<any>();\n @Input() payAmount: any = '₹6,00,000';\n @Input() premiumAmount: any= '₹10,000';\n @Input() ptValue: any= 5;\n @Input() years: any= '2030';\n @Input() frequency: any= 'month';\n\n @Input() payamountOptions: any[] = [\n { amount: '₹62,000', percentage: '@6%' },\n { amount: '₹66,000', percentage: '@8%' },\n { amount: '₹72,000', percentage: '@10%' }\n ];\n}\n","<div\n class=\"d-flex justify-content-between pay-card\"\n [ngStyle]=\"{\n'--pay-card-border-color': field()?.controlStyle?.borderColor ,\n'--pay-card-border-width': field()?.controlStyle?.borderWidth ,\n'--pay-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--pay-card-bg-color': field()?.controlStyle?.background ,\n'--pay-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <div class=\"text-center mx-2\">\n <span class=\"bold-label\">{{ field()?.placeHolder || 'Pay' }}</span> <br />\n <span class=\"grey-label\">{{payAmount}}</span>\n </div>\n <div class=\"premium-card d-flex align-items-center justify-content-around\">\n <ng-container *ngFor=\"let option of payamountOptions; let i = index; let isLast = last\">\n <div class=\"value-card text-center\" *ngIf=\"field()?.configData?.isShowContent\">\n <span class=\"showcontent-amount\">{{option.amount}}</span>\n <button class=\"grey-button\">{{option.percentage}}</button>\n </div>\n\n <div class=\"separator-container\" *ngIf=\"field()?.configData?.isShowContent && !isLast\">\n <span class=\"vertical-line\"></span>\n <span class=\"or-text\">or</span>\n <span class=\"vertical-line\"></span>\n </div>\n </ng-container>\n\n <div class=\"d-flex flex-column text-center\">\n <span class=\"light-label\"><b class=\"bold-label\">{{premiumAmount}}</b>/ {{frequency}}</span>\n <span class=\"grey-label\">for {{ptValue}} years (till {{years}})</span>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, input } from '@angular/core';\n\n@Component({\n selector: 'lib-in-built-benefit',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './in-built-benefit.component.html',\n styleUrl: './in-built-benefit.component.css',\n})\nexport class InBuiltBenefitComponent {\n field: any = input.required<any>();\n\n @Input() premiumAmount: any = '₹1,00,000';\n @Input() premiumAmountShort: any = '1L';\n}\n","<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">In-built Benefit</span>\n </p>\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <br />\n <span class=\"premium\"\n ><b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})</span\n >\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, input } from '@angular/core';\n\n@Component({\n selector: 'lib-other-benefits',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './other-benefits.component.html',\n styleUrl: './other-benefits.component.css'\n})\nexport class OtherBenefitsComponent {\n field: any = input.required<any>();\n}\n","<div class=\"other-benefit-card d-flex gap-2\"\n [ngStyle]=\"{\n'--other-benefit-color-border-color': field()?.controlStyle?.borderColor ,\n'--other-benefit-color-border-width': field()?.controlStyle?.borderWidth ,\n'--other-benefit-color-border-radius': field()?.controlStyle?.borderRadius ,\n'--other-benefit-color-bg-color': field()?.controlStyle?.background\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <div class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">Additional Benefits</span>\n </div>\n @for (data of field()?.configData?.otherBenefits; track $index) {\n <div class=\"sub-benefit-card\">\n <div class=\"d-flex gap-2 align-items-start\">\n <img [src]=\"data.imageUrl\" alt=\"\" class=\"benefit-icon\" />\n <span class=\"header-txt\">{{ data.headerText }}</span>\n </div>\n <div class=\"highlight-box\" *ngIf=\"data.highlightText\">\n {{data.highlightText}}\n </div>\n <div class=\"description-txt\" [innerHTML]=\"data.htmlInnerText\"></div>\n </div>\n }\n</div>\n","import { Component, input, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-annuity-rate-logo',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './annuity-rate-logo.component.html',\n styleUrl: './annuity-rate-logo.component.css'\n})\nexport class AnnuityRateLogoComponent {\nfield: any = input.required<any>();\n@Input() ratePercent: any = '7%';\n}\n","<div *ngIf=\"field() && field()?.isVisible\">\n <span class=\"annuity-box\">\n <span class=\"annuity-percent\">{{ ratePercent }}</span>\n <img src=\"https://cdn.godigit.com/retail-life/annuity-rate.svg\" alt=\"\" />\n </span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'lib-discount-v2',\n standalone: true,\n imports: [MatIconModule , CommonModule],\n templateUrl: './discount-v2.component.html',\n styleUrl: './discount-v2.component.css'\n})\nexport class DiscountV2Component {\nfield: any = input.required<any>();\n}\n","<div class=\"px-3 py-2 discount-card-v2\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"\n{\n '--discount-design-border-width': field()?.controlStyle?.borderWidth,\n '--discount-design-border-color': field()?.controlStyle?.borderColor ,\n '--discount-design-border-style': field()?.controlStyle?.borderStyle ,\n '--discount-design-width': field()?.controlStyle?.width ,\n '--discount-design-border-radius': field()?.controlStyle?.borderRadius ,\n '--discount-design-bg': field()?.controlStyle?.background ,\n}\">\n<div *ngIf=\"field()?.imageUrl\" class=\"mb-3\">\n <img [src]='field().imageUrl' alt=\"\">\n</div>\n <div class=\"mb-2 discount-heading\" [ngStyle]=\"\n{\n '--discount-heading-font-weight': field()?.controlStyle?.fontWeight ,\n '--discount-heading-font-size': field()?.controlStyle?.fontSize ,\n '--discount-heading-font-color': field()?.controlStyle?.color\n}\">{{field()?.label}}</div>\n <div class=\"sticky-bottom-btn\">\n <!-- <button class=\"px-2 mt-1 discount-btn-remove\"><div>Remove</div> <mat-icon class=\"pt-1 remove-btn-cross\">close</mat-icon></button> -->\n <button class=\"px-2 mt-1 discount-btn-apply\"><div>Applied</div><img class=\"check-circle\" src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\"></button>\n </div>\n</div>\n\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-label-value-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './label-value-card.component.html',\n styleUrl: './label-value-card.component.css'\n})\nexport class LabelValueCardComponent {\nfield : any = input.required<any>();\n\nngOnInit(){}\n}\n","<div class=\"labelValueCard\" *ngIf=\"field() && field()?.isVisible\">\n <div class=\"labelHead\">\n <span class=\"master-labelValue\" [ngStyle]=\"{\n '--master-heading-font-color': field()?.controlStyle?.color,\n '--master-heading-font-size': field()?.controlStyle?.fontSize,\n '--master-heading-font-weight': field()?.controlStyle?.fontWeight\n }\">{{field()?.label}}</span>\n </div>\n <div class=\"labelValue\">\n <span>{{field()?.placeHolder}}</span>\n <span matSuffix class=\"mx-3\">\n <img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl' alt=\"\" />\n </span>\n </div>\n</div>","import { GoogleMapsModule } from '@angular/google-maps';\nimport { Component, ElementRef, Input, OnInit, ViewChild, NgZone, AfterViewInit, input, SimpleChanges, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';\nimport questionsResponse from './questions.json'\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TextboxComponent } from '../textbox/textbox.component';\nimport { RadioComponent } from '../radio/radio.component';\nimport { CheckboxComponent } from '../checkbox/checkbox.component';\nimport { SelectComponent } from '../select/select.component';\nimport { DobComponent } from '../dob/dob.component';\nimport { UploadComponent } from '../upload/upload.component';\nimport { MultipleSelectComponent } from '../multiple-select/multiple-select.component';\nimport { HrLineComponent } from '../hr-line/hr-line.component';\nimport { MasterControlService } from '../master-control.service';\nimport { MasterService } from '../master.service';\nimport { FilePreviewComponent } from '../file-preview/file-preview.component';\n\n@Component({\n selector: 'lib-medial-questions',\n standalone: true,\n // changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextboxComponent,\n RadioComponent,\n CheckboxComponent,\n SelectComponent,\n DobComponent,\n UploadComponent,\n MultipleSelectComponent,\n GoogleMapsModule,\n HrLineComponent,\n FilePreviewComponent\n ],\n templateUrl: './medial-questions.component.html',\n styleUrl: './medial-questions.component.css',\n})\nexport class MedialQuestionsComponent implements OnInit, AfterViewInit {\n @Output() questionsValueChange = new EventEmitter<any>()\n medialQuestionResponse = input<any>();\n personUWOpenQuoteResponse : any = input<any>();\n defaultValues : any = input<any>();\n personType: any = input<any>();\n personUwId : any = \"\";\n isMedicalSubQuestionsAvailable : any = null;\n medicalSubQuestionsResponse : any = {};\n @ViewChild('addressInput') addressInput!: ElementRef<HTMLInputElement>;\n private autocomplete!: google.maps.places.Autocomplete;\n saveQuestionRequestLa: any = [];\n saveQuestionRequestPh: any = [];\n field: any = input.required<any>();\n questionList: any = [];\n currentCoordinates: any = {};\n personUwResponseObj: any = [];\n center: google.maps.LatLngLiteral = { lat: 40.73061, lng: -73.935242 };\n latitude: any;\n longitude: any;\n zoom: any;\n marker: any = {};\n\n\n personUwAnswers: any = {\n medicalQuestionsHeightUnit: 'FEET',\n medicalQuestionFeetInput: 0,\n medicalQuestionsInchesInput: 0,\n medicalQuestionsHeightInput: 0,\n };\n medQuestionObj: any = {};\n listOfDomainValuesForCheckBox: any = [];\n medicalQuestionsFeetList: any = [];\n medicalQuestionsInchesList: any = [];\n questionHeader: any = ['eia details', 'abha details', 'pep details'];\n medicalQuestionsHeightUnitTypes: any = [\n {\n label: 'Cm',\n value: 'CM',\n },\n {\n label: 'Feet',\n value: 'FEET',\n },\n ];\n showDropdown = false;\n addressSuggestions: any[] = [];\n hoveredIndex = -1;\n searchTimeout: any;\n horizontalLineObj : any = {\n \"controlStyle\": {\n \"controlType\": null,\n \"borderColor\": null,\n \"borderWidth\": null,\n \"borderRadius\": null,\n \"fontSize\": null,\n \"fontWeight\": null,\n \"fontFamily\": null,\n \"color\": null,\n \"background\": null,\n \"caretColor\": null,\n \"nudgeDisplayImage\": null,\n \"dropdownOptionBgColor\": null,\n \"dropdownOptionColor\": null,\n \"dropdownOptionFontWeight\": null,\n \"width\": null,\n \"focusBorderWidth\": null,\n \"focusBorderColor\": null,\n \"focusBackground\": null,\n \"focusColor\": null,\n \"focusDropdownOptionBgColor\": null,\n \"focusDropdownOptionColor\": null,\n \"focusDropdownOptionFontWeight\": null,\n \"focusDropdownOptionBorderLeft\": null,\n \"focusDropdownOptionBorderRadius\": null,\n \"hoverBorderColor\": null,\n \"hoverBorderWidth\": null,\n \"hoverColor\": null,\n \"disableColor\": null,\n \"disableBackground\": null,\n \"errorBorderColor\": null,\n \"errorBorderWidth\": null,\n \"errorColor\": null,\n \"createdDate\": null,\n \"padding\": null,\n \"margin\": null,\n \"isMasterCss\": null,\n \"controlMetaId\": \"LI_COM_GEN_CTRL_hrLine_hrLine_V1\",\n \"borderStyle\": \"solid\",\n \"height\": null,\n \"minHeight\": null,\n \"maxHeight\": null,\n \"minWidth\": null,\n \"maxWidth\": null,\n \"cssClass\": null\n },\n \"fieldName\": \"hrLine\",\n \"label\": \"solid line\",\n \"placeHolder\": null,\n \"metaId\": \"LI_COM_GEN_CTRL_hrLine_hrLine_V1\",\n \"isVisible\": true,\n \"isDisable\": false,\n \"defaultValue\": null,\n \"validators\": {\n \"isRequired\": false,\n \"requiredMessage\": \"This field cannot be empty\",\n \"minLength\": null,\n \"minLengthMessage\": null,\n \"maxLength\": null,\n \"maxLengthMessage\": null,\n \"pattern\": null,\n \"patternMessage\": \"\"\n },\n \"options\": [],\n \"cssClass\": \"col-12\",\n \"value\": null,\n \"style\": null,\n \"imageUrl\": null,\n \"configData\": {\n \"hrText\": \"\"\n },\n \"metaDataObj\": null,\n \"isShowLabel\": true,\n \"isMasterControl\": false,\n \"controlType\": \"hrLine\"\n };\n previewFile: File | null = null;\n constructor(public ngZone: NgZone, public masterService : MasterService) {\n console.log('medialQuestionResponseeeeee', this.medialQuestionResponse());\n console.log('persontype', this.personType());\n }\n\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (\n ((changes['medialQuestionResponse']) && !this.checkIfValueIsEmpty(changes['medialQuestionResponse'].currentValue)) ||\n ((changes['preparePersonUwQuestionsObj']) && !this.checkIfValueIsEmpty(changes['preparePersonUwQuestionsObj'].currentValue))\n ) {\n if ('geolocation' in navigator) {\n navigator.geolocation.getCurrentPosition((position) => {\n this.latitude = position.coords.latitude;\n this.longitude = position.coords.longitude;\n this.zoom = 15;\n this.currentCoordinates = {\n lat: this.latitude,\n lng: this.longitude,\n };\n this.center = { ...this.currentCoordinates };\n });\n }\n this.preparePersonUwQuestionsObj();\n }\n\n if(((changes['defaultValues']) && !this.checkIfValueIsEmpty(changes['defaultValues'].currentValue))) {\n if(typeof this.defaultValues() === 'object') {\n this.personUwAnswers = {...this.personUwAnswers, ...this.defaultValues()};\n this.removeSubQuestionValues();\n }\n }\n }\n\n ngAfterViewInit(): void {\n this.initializeAutocomplete();\n }\n\n private resolveHeightQuestionIds(): void {\n this.personUwAnswers['medicalQuestionsHeightInput'] = '';\n this.personUwAnswers['medicalQuestionFeetInput'] = '';\n this.personUwAnswers['medicalQuestionsInchesInput'] = '';\n\n // this.questionList.forEach((section: any) => {\n // if (section.questions && Array.isArray(section.questions)) {\n // section.questions.forEach((question: any) => {\n // switch (question.cammundaQuestionCode) {\n // case 'QHT':\n // this.personUwAnswers['medicalQuestionsHeightInput'] = question.questionId;\n // break;\n // case 'QHTF':\n // this.personUwAnswers['medicalQuestionFeetInput'] = question.questionId;\n // break;\n // case 'QHTI':\n // this.personUwAnswers['medicalQuestionsInchesInput'] = question.questionId;\n // break;\n // }\n // });\n // }\n // });\n }\n\n private initializeAutocomplete(): void {\n this.autocomplete = new google.maps.places.Autocomplete(\n this.addressInput?.nativeElement,\n {\n types: ['address'],\n componentRestrictions: { country: 'IN' },\n fields: ['place_id', 'geometry', 'name', 'formatted_address'],\n }\n );\n\n this.autocomplete.addListener('place_changed', () => {\n this.ngZone.run(() => {\n this.onPlaceSelected();\n });\n });\n }\n\n private onPlaceSelected(): void {\n const place = this.autocomplete.getPlace();\n\n if (!place.geometry || !place.geometry.location) {\n console.log('No details available for input: ', place.name);\n return;\n }\n\n const location = place.geometry.location;\n this.center = {\n lat: location.lat(),\n lng: location.lng(),\n };\n this.currentCoordinates = this.center;\n\n if (place.geometry.viewport) {\n this.zoom = 15;\n } else {\n this.zoom = 13;\n }\n\n console.log('Selected place:', {\n name: place.name,\n address: place.formatted_address,\n coordinates: this.center,\n });\n\n this.storeSelectedAddress(place);\n }\n\n private storeSelectedAddress(place: google.maps.places.PlaceResult): void {\n const addressData = {\n placeId: place.place_id,\n name: place.name,\n formattedAddress: place.formatted_address,\n coordinates: this.center,\n };\n }\n\n searchAddress(address: string): void {\n const geocoder = new google.maps.Geocoder();\n\n geocoder.geocode({ address: address }, (results, status) => {\n if (status === 'OK' && results && results[0]) {\n const location = results[0].geometry.location;\n this.ngZone.run(() => {\n this.center = {\n lat: location.lat(),\n lng: location.lng(),\n };\n this.currentCoordinates = this.center;\n this.zoom = 15;\n });\n } else {\n console.log(\n 'Geocode was not successful for the following reason: ' + status\n );\n }\n });\n }\n\n onAddressInputKeyup(event: any) {\n const query = event.target.value;\n\n // Clear previous timeout\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n // Handle arrow key navigation\n if (event.key === 'ArrowDown') {\n this.hoveredIndex = Math.min(\n this.hoveredIndex + 1,\n this.addressSuggestions.length - 1\n );\n return;\n } else if (event.key === 'ArrowUp') {\n this.hoveredIndex = Math.max(this.hoveredIndex - 1, -1);\n return;\n } else if (event.key === 'Enter') {\n if (\n this.hoveredIndex >= 0 &&\n this.addressSuggestions[this.hoveredIndex]\n ) {\n this.selectAddress(this.addressSuggestions[this.hoveredIndex]);\n }\n return;\n } else if (event.key === 'Escape') {\n this.showDropdown = false;\n return;\n }\n\n if (query.length < 2) {\n this.addressSuggestions = [];\n this.showDropdown = false;\n return;\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchAddresses(query);\n }, 300);\n }\n\n searchAddresses(query: string) {\n // Replace this with your actual address search API call\n // For example, using Google Places API:\n\n const service = new google.maps.places.AutocompleteService();\n service.getPlacePredictions(\n {\n input: query,\n types: ['address'],\n },\n (predictions, status) => {\n if (\n status === google.maps.places.PlacesServiceStatus.OK &&\n predictions\n ) {\n this.addressSuggestions = predictions.map((prediction) => ({\n place_id: prediction.place_id,\n main_text: prediction.structured_formatting.main_text,\n secondary_text: prediction.structured_formatting.secondary_text,\n description: prediction.description,\n }));\n this.showDropdown = true;\n this.hoveredIndex = -1;\n } else {\n this.addressSuggestions = [];\n this.showDropdown = false;\n }\n }\n );\n }\n\n selectAddress(suggestion: any) {\n const addressInput = document.querySelector(\n '#addressInput'\n ) as HTMLInputElement;\n if (addressInput) {\n addressInput.value = suggestion.description;\n }\n\n const service = new google.maps.places.PlacesService(\n document.createElement('div')\n );\n service.getDetails(\n {\n placeId: suggestion.place_id,\n fields: ['geometry', 'formatted_address'],\n },\n (place, status) => {\n if (status === google.maps.places.PlacesServiceStatus.OK && place) {\n const lat = place.geometry?.location?.lat();\n const lng = place.geometry?.location?.lng();\n\n if (lat !== undefined && lng !== undefined) {\n this.longitude = lng;\n this.latitude = lat;\n\n this.center = { lat, lng };\n this.currentCoordinates = this.center;\n }\n }\n }\n );\n\n this.showDropdown = false;\n this.addressSuggestions = [];\n }\n\n onInputBlur() {\n setTimeout(() => {\n this.showDropdown = false;\n }, 200);\n }\n\n findMedicalQuestionsInOpenQuote(arrayOfObj : any) {\n if(arrayOfObj['cammundaQuestionCode'] === 'MediCndtn' || arrayOfObj['cammundaQuestionCode'] === 'LifeMediCndtn') {\n this.isMedicalSubQuestionsAvailable = arrayOfObj;\n }\n if(this.checkIfValueIsEmpty(this.isMedicalSubQuestionsAvailable) && !this.checkIfValueIsEmpty(arrayOfObj['personUWActivityResponseEntity'])) {\n arrayOfObj['personUWActivityResponseEntity'].forEach((singleSubArray : any) => {\n this.findMedicalQuestionsInOpenQuote(singleSubArray);\n });\n }\n }\n\n mapAnswersForOpenQuote() {\n if(!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList)) {\n let arrayOfKeys : any = Object.keys(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList);\n arrayOfKeys.forEach((singleKey : any, singleKeyLength : number) => {\n if (!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey])) {\n this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].forEach((singleAnswerObj : any, singleAnswerObjLength : number) => {\n this.updatePersonUwAnswers(singleAnswerObj);\n if(singleKeyLength === (arrayOfKeys.length - 1) && singleAnswerObjLength === (this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].length - 1)) {\n this.removeSubQuestionValues();\n }\n });\n }\n });\n\n }\n }\n\n preparePersonUwQuestionsObj() {\n this.questionList = [];\n let data: any = this.medialQuestionResponse();\n this.listOfDomainValuesForCheckBox = [];\n\n let isDisable : any = false;\n if(!this.checkIfValueIsEmpty(sessionStorage.getItem('isDisableMedicalQuestions')) ) {\n let isDisableMedicalQuestionsinUi : any = sessionStorage.getItem('isDisableMedicalQuestions');\n isDisable = JSON.parse(isDisableMedicalQuestionsinUi) ? true : false;\n }\n\n if (!this.checkIfValueIsEmpty(data['questionsResponse'])) {\n let personUwIdArray: any = [];\n data['questionsResponse'].forEach((singleQuestionObj: any) => {\n personUwIdArray.push(singleQuestionObj['personUWId']);\n });\n\n if (\n !this.checkIfValueIsEmpty(data) &&\n !this.checkIfValueIsEmpty(data['questionsResponse'])\n ) {\n\n if (!this.checkIfValueIsEmpty(data['questionsResponse'])) {\n let distinctSteps: any = [];\n data['questionsResponse'].forEach((singlePersonObject: any) => {\n this.personUwId = singlePersonObject['personUWId'].toString();\n if (!this.checkIfValueIsEmpty(singlePersonObject['questionList'])) {\n singlePersonObject['questionList'].forEach(\n (singleQuestion: any) => {\n if (singleQuestion['title'] === 'Medical Details') {\n singleQuestion['questionText'] = singleQuestion[\n 'questionText'\n ].replace(/\\\\n/g, '\\n');\n }\n singleQuestion['domainValues'] =\n data['domainValues'][singleQuestion['domainName']];\n\n singleQuestion['field'] = this.getField(singleQuestion);\n\n if (singleQuestion['cammundaQuestionCode'] === 'PAN') {\n singleQuestion['validations'] =\n '{\"Type\":\"AlphaNumeric\",\"MinValue\":\"10\",\"MaxValue\":\"10\",\"regexPattern\":\"/^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/\"}';\n }\n // if (singleQuestion['cammundaQuestionCode'] === 'FtcaCntcDetls') {\n // singleQuestion['validations'] = '{\"customValidation\":[{\"country\":\"IN\",\"MinValue\":\"10\",\"MaxValue\":\"10\",\"regexPattern\":\"((^[6-9]){1}([0-9]){9}$)\"},{\"country\":\"OTHER\",\"MinValue\":\"5\",\"MaxValue\":\"14\"}]}';\n // }\n if (\n singleQuestion['questionType'] === 'CHECKBOX' &&\n !this.checkIfValueIsEmpty(\n singleQuestion['questionRelation']\n )\n ) {\n singleQuestion['questionRelation'].forEach(\n (singleQuestionRelationObj: any) => {\n let nextQuestionObject: any = singlePersonObject[\n 'questionList'\n ].filter(\n (object: any) =>\n object['questionId'] ===\n singleQuestionRelationObj['nextQuestionId']\n );\n if (nextQuestionObject.length > 0) {\n nextQuestionObject[0]['answeredValue'] =\n singleQuestionRelationObj['parentQuestionValue'];\n }\n }\n );\n }\n\n if (singleQuestion['questionType'] === 'CHECKBOX') {\n if (\n !this.checkIfValueIsEmpty(singleQuestion['domainName']) &&\n !this.checkIfValueIsEmpty(\n data['domainValues'][singleQuestion['domainName']]\n )\n ) {\n data['domainValues'][\n singleQuestion['domainName']\n ].forEach((singleDomainValue: any) => {\n if (\n !this.checkIfValueIsEmpty(\n singleDomainValue['domainInternalValue']\n )\n ) {\n this.listOfDomainValuesForCheckBox.push(\n singleDomainValue['domainInternalValue']\n );\n }\n });\n }\n }\n\n if (!distinctSteps.includes(singleQuestion['step'])) {\n distinctSteps.push(singleQuestion['step']);\n }\n\n singleQuestion['isMedicalSubQuestion'] = false;\n }\n );\n\n singlePersonObject['questionList'].forEach((question: any) => {\n question['isShowQuestionInUI'] = false;\n if (question['questionType'] === 'IMAGE TEXT') {\n question['questionText'] = question[\n 'questionText'\n ].replaceAll('\\\\n', '<br>');\n }\n\n if (question['cammundaQuestionCode'] === 'QHTF') {\n this.medicalQuestionsFeetList = question['domainValues'];\n this.medQuestionObj['QHTF'] = question;\n this.medQuestionObj['QHTF']['field']['isShowLabel'] = false;\n this.medQuestionObj['QHTF']['field']['controlStyle'] = {\n controlType: 'select',\n borderColor: '#ffffff',\n borderWidth: '1.5px',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: '#FFFFFF',\n dropdownOptionColor: '#444444',\n dropdownOptionFontWeight: '400',\n width: null,\n focusBorderWidth: '1.5px',\n focusBorderColor: '#ffffff',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#ffffff',\n hoverBorderWidth: '1.5px',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '1.5px',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId:\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n };\n }\n if (question['cammundaQuestionCode'] === 'QHTI') {\n this.medicalQuestionsInchesList = question['domainValues'];\n this.medQuestionObj['QHTI'] = question;\n this.medQuestionObj['QHTI']['field']['isShowLabel'] = false;\n this.medQuestionObj['QHTI']['field']['controlStyle'] = {\n controlType: 'select',\n borderColor: '#ffffff',\n borderWidth: '1.5px',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: '#FFFFFF',\n dropdownOptionColor: '#444444',\n dropdownOptionFontWeight: '400',\n width: null,\n focusBorderWidth: '1.5px',\n focusBorderColor: '#ffffff',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#ffffff',\n hoverBorderWidth: '1.5px',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '1.5px',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId:\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n };\n }\n if (question['cammundaQuestionCode'] === 'QHT') {\n this.medicalQuestionsInchesList = question['domainValues'];\n this.medQuestionObj['QHT'] = question;\n this.medQuestionObj['QHT']['field']['isShowLabel'] = false;\n this.medQuestionObj['QHT']['field']['controlStyle'] = {\n controlType: 'FREETEXT',\n borderColor: '#ffffff',\n borderWidth: '1.5px',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: '#FFFFFF',\n dropdownOptionColor: '#444444',\n dropdownOptionFontWeight: '400',\n width: null,\n focusBorderWidth: '1.5px',\n focusBorderColor: '#ffffff',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#ffffff',\n hoverBorderWidth: '1.5px',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '1.5px',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId:\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n };\n }\n\n if (question['questionType'] === 'DECLARATION') {\n if (question['cammundaQuestionCode'] === 'recvSftCopy') {\n // this.personUwAnswers[singlePersonObject['role']][] = false;\n question['domainValues'] = [];\n question['domainValues'].push({\n domainInternalValue: question['questionId'],\n domainUiValue: 'N',\n });\n }\n question['domainValues'] = [];\n question['domainValues'].push({\n domainInternalValue: question['questionId'],\n domainUiValue: 'Y',\n });\n }\n\n if (question['cammundaQuestionCode'] === 'hardCopyLang') {\n question['questionType'] = 'HARD COPY';\n }\n });\n\n singlePersonObject['questionList'].sort(\n (a: any, b: any) =>\n a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']\n );\n }\n\n let questionsListForLA: any = [];\n distinctSteps.forEach((steps: any) => {\n let filteredObj: any = singlePersonObject['questionList'].filter(\n (singleQuestion: any) => singleQuestion['step'] === steps\n );\n let obj: any = {\n step: steps,\n personUWId: singlePersonObject['personUWId'].toString(),\n questions: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj\n : [],\n sectionName: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj[0]['title']\n : '',\n isMedicalSubQuestion: false,\n showSection: true,\n };\n if (!this.checkIfValueIsEmpty(filteredObj)) {\n // Hard Copy and Map question\n let filteredHardCopyQuestion: any = filteredObj.filter(\n (singleQuestion: any) =>\n singleQuestion['cammundaQuestionCode'] === 'recvSftCopy'\n );\n if (!this.checkIfValueIsEmpty(filteredHardCopyQuestion)) {\n obj['questions'].push({\n questionType: 'MAP',\n isShowQuestionInUI: true,\n parentQuestionRelation: {\n parentQuestionId:\n filteredHardCopyQuestion[0]['questionId'],\n parentQuestionAnswer: 'Y',\n },\n });\n }\n\n // if NRI then passport upload is required\n let filteredNationalityQuestion: any = filteredObj.filter(\n (singleQuestion: any) =>\n singleQuestion['cammundaQuestionCode'] === 'Nationality'\n );\n if (!this.checkIfValueIsEmpty(filteredNationalityQuestion)) {\n singlePersonObject['questionList'].push({\n questionType: 'PASSPORT_UPLOAD',\n optionalQuestion: 'N',\n questionText: 'Passport Details ',\n isShowQuestionInUI: true,\n parentQuestionRelation: {\n parentQuestionId:\n filteredNationalityQuestion[0]['questionId'],\n parentQuestionAnswer: 'forgnNational',\n },\n });\n obj['questions'].push({\n questionType: 'PASSPORT_UPLOAD',\n optionalQuestion: 'N',\n questionText: 'Passport Details ',\n isShowQuestionInUI: true,\n parentQuestionRelation: {\n parentQuestionId:\n filteredNationalityQuestion[0]['questionId'],\n parentQuestionAnswer: 'forgnNational',\n },\n });\n }\n }\n questionsListForLA.push(obj);\n });\n // let lifeAssuredObjectIndexInMaster: any = this.questionList.findIndex((singleObj: any) => singleObj['role'] === singlePersonObject['role']);\n // if (lifeAssuredObjectIndexInMaster !== this.numberMinusOne) {\n this.questionList = questionsListForLA;\n this.resolveHeightQuestionIds();\n // }\n });\n this.personUwResponseObj = data['questionsResponse'];\n }\n }\n\n if(!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList) ) {\n let isSubQuestionExists: any = false;\n this.isMedicalSubQuestionsAvailable = null;\n let arrayOfKeys : any = Object.keys(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList);\n arrayOfKeys.forEach((singleKey : any) => {\n if (!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey])) {\n this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].forEach((singleAnswerObj : any) => {\n this.findMedicalQuestionsInOpenQuote(singleAnswerObj);\n });\n }\n });\n\n if(!this.checkIfValueIsEmpty(this.isMedicalSubQuestionsAvailable)) {\n this.masterService\n .getSubQuestions(\n this.field()?.configData,\n this.isMedicalSubQuestionsAvailable['answer'],\n this.isMedicalSubQuestionsAvailable['personUWId']\n )\n .subscribe(\n (subQuestionResponse: any) => {\n let distinctSteps: any = [];\n if (!this.checkIfValueIsEmpty(subQuestionResponse)) {\n subQuestionResponse.forEach((subQuestion: any) => {\n subQuestion['domainValues'] =\n this.medialQuestionResponse()['domainValues'][\n subQuestion['domainName']\n ];\n\n subQuestion['field'] = this.getField(subQuestion);\n if (!distinctSteps.includes(subQuestion['clusterId'])) {\n distinctSteps.push(subQuestion['clusterId']);\n }\n });\n\n subQuestionResponse.sort(\n (a: any, b: any) =>\n a['step'] - b['step'] ||\n a['displayOrder'] - b['displayOrder']\n );\n distinctSteps.forEach((steps: any, ind: any) => {\n let filteredObj: any = subQuestionResponse.filter(\n (singleQuestion: any) =>\n singleQuestion['clusterId'] === steps\n );\n let obj: any = {\n step: 1000 + ind,\n questions: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj\n : [],\n sectionName: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj[0]['title']\n : '',\n isMedicalSubQuestion: true,\n showSection: true,\n personUWId:\n this.isMedicalSubQuestionsAvailable[\n 'personUWId'\n ].toString(),\n };\n // let LaIndex: any = this.personUwMasterObj.findIndex(\n // (single: any) => single['role'] === singlePerson['role']\n // );\n this.questionList.push(obj);\n });\n this.medicalSubQuestionsResponse = subQuestionResponse;\n // let laIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\n this.medialQuestionResponse()['questionsResponse'][0][\n 'questionList'\n ] = this.medialQuestionResponse()['questionsResponse'][0][\n 'questionList'\n ].concat(this.medicalSubQuestionsResponse);\n\n this.mapAnswersForOpenQuote();\n } else {\n this.mapAnswersForOpenQuote();\n }\n },\n (err: any) => {\n this.mapAnswersForOpenQuote();\n }\n );\n } else {\n this.mapAnswersForOpenQuote();\n }\n // this.personUWOpenQuoteResponse().forEach((singlePerson: any) => {\n // if (!this.checkIfValueIsEmpty(singlePerson['questionList']) && !this.checkIfValueIsEmpty(singlePerson['questionList'][0])) {\n // let arrayOfKeys = Object.keys(singlePerson['questionList'][0]['personUWdetailsList']);\n // if (arrayOfKeys.length > 0) {\n // arrayOfKeys.forEach((singleKey) => {\n // if (!this.checkIfValueIsEmpty(singlePerson['questionList'][0]['personUWdetailsList'][singleKey])) {\n // singlePerson['questionList'][0]['personUWdetailsList'][singleKey].forEach((answerObj: any) => {\n\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\n\n\n // let filteredQuestion: any = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === answerObj['questionId']);\n // if (!this.checkIfValueIsEmpty(filteredQuestion) && filteredQuestion[0]['questionType'] === 'CHECKBOX') {\n // // this.personUwAnswers[answerObj.questionId] = [];\n // // let listOfOptionsSelected : any = answerObj.answer.split(',');\n // // listOfOptionsSelected.forEach((singleElement : any) => {\n // // if(!this.checkIfValueIsEmpty(filteredQuestion) && !this.checkIfValueIsEmpty(filteredQuestion[0]) && !this.checkIfValueIsEmpty(filteredQuestion[0]['domainValues'])) {\n // // let filteredDomainValueObj : any = filteredQuestion[0]['domainValues'].filter((singleObj : any) => singleObj['domainInternalValue'] === singleElement);\n // // if(!this.checkIfValueIsEmpty(filteredDomainValueObj)) {\n // // this.personUwAnswers[answerObj.questionId].push({\n // // label : filteredDomainValueObj[0]['domainUiValue'],\n // // value : filteredDomainValueObj[0]['domainInternalValue']\n // // });\n // // }\n // // }\n // // });\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer.split(',');\n // } else {\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer\n // }\n\n // if (answerObj['cammundaQuestionCode'] === 'QHT') {\n // this.personUwAnswers['medicalQuestionsHeightInput'] = answerObj['answer'];\n // }\n // if (answerObj['cammundaQuestionCode'] === 'QHTF') {\n // let feetAnswer = answerObj['answer'].split('.');\n // if (!this.checkIfValueIsEmpty(answerObj['answer']) && answerObj['answer'].includes('.')) {\n // this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\n // this.personUwAnswers['medicalQuestionsInchesInput'] = feetAnswer[1];\n // } else {\n // this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\n // this.personUwAnswers['medicalQuestionsInchesInput'] = '0';\n // }\n // }\n // // this.medialQuestionResponse()['questionsResponse'][0]['questionList'].forEach((singleQuestionResponse: any) => {\n // // if (singleQuestionResponse['questionId'] === answerObj['questionId'] && singleQuestionResponse['questionType'] === 'DECLARATION') {\n // // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\n // // }\n // // });\n // // let laIndex: any = this.medialQuestionResponse()['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\n\n // // if (!this.checkIfValueIsEmpty(filteredQuestion) && filteredQuestion[0]['questionType'] === 'DECLARATION') {\n // // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\n // // }\n\n // if (answerObj['cammundaQuestionCode'] === 'LifeMediCndtn' || answerObj['cammundaQuestionCode'] === 'MediCndtn') {\n // isSubQuestionExists = true;\n\n\n // // {\n // // \"urlParamForDisease\": \"mdeicalHistory\",\n // // \"apiUrl\": \"https://preprod-directportallife.godigit.com/DirectPortalLife/life/fetchSubQuestions\",\n // // \"urlParamForPersonUwId\": \"personUWID\",\n // // \"tokenCookieParam\": \"v3Token\",\n // // \"isSendToken\": false\n // // }\n // this.masterService.getSubQuestions(this.field()?.configData, answerObj['answer'], answerObj['personUWId']).subscribe(\n // (subQuestionResponse: any) => {\n // // this.loaderService.display(false);\n // let distinctSteps: any = [];\n // if (!this.checkIfValueIsEmpty(subQuestionResponse)) {\n // subQuestionResponse.forEach((subQuestion: any) => {\n // subQuestion['isMedicalSubQuestion'] = true;\n // subQuestion['isShowQuestionInUI'] = false;\n // if (\n // !this.checkIfValueIsEmpty(subQuestion['questionRelation']) &&\n // !Array.isArray(subQuestion['questionRelation'])\n // ) {\n // subQuestion['questionRelation'] = [subQuestion['questionRelation']];\n // }\n // if (\n // subQuestion['questionType'] === 'CHECKBOX' &&\n // !this.checkIfValueIsEmpty(subQuestion['questionRelation'])\n // ) {\n // subQuestion['questionRelation'].forEach((singleQuestionRelationObj: any) => {\n // let nextQuestionObject: any = subQuestionResponse.filter(\n // (object: any) => object['questionId'] === singleQuestionRelationObj['nextQuestionId']\n // );\n // if (nextQuestionObject.length > 0) {\n // nextQuestionObject[0]['answeredValue'] = singleQuestionRelationObj['parentQuestionValue'];\n // }\n // });\n // }\n // subQuestion['domainValues'] = this.medialQuestionResponse()['domainValues'][\n // subQuestion['domainName']\n // ];\n\n // subQuestion['field'] = this.getField(subQuestion);\n\n // // if (!this.checkIfValueIsEmpty(subQuestion['domainValues'])) {\n // // subQuestion['domainValues'].forEach((subDomain: any) => {\n // // this.subMedicalQuestionsDomainInternalValuesList.push(subDomain['domainInternalValue']);\n // // });\n // // }\n // if (!distinctSteps.includes(subQuestion['clusterId'])) {\n // distinctSteps.push(subQuestion['clusterId']);\n // }\n // });\n // subQuestionResponse.sort((a: any, b: any) => a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']);\n // distinctSteps.forEach((steps: any, ind: any) => {\n // let filteredObj: any = subQuestionResponse.filter((singleQuestion: any) => singleQuestion['clusterId'] === steps);\n // let obj: any = {\n // step: 1000 + ind,\n // questions: !this.checkIfValueIsEmpty(filteredObj) ? filteredObj : [],\n // sectionName: !this.checkIfValueIsEmpty(filteredObj) ? filteredObj[0]['title'] : '',\n // isMedicalSubQuestion: true,\n // showSection: true,\n // personUWId: answerObj['personUWId'].toString(),\n // };\n // // let LaIndex: any = this.personUwMasterObj.findIndex(\n // // (single: any) => single['role'] === singlePerson['role']\n // // );\n // this.questionList.push(obj);\n // })\n // this.medicalSubQuestionsResponse = subQuestionResponse;\n // // let laIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\n // this.medialQuestionResponse()['questionsResponse'][0]['questionList'] = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].concat(this.medicalSubQuestionsResponse);\n // }\n // this.removeSubQuestionValues();\n // // this.disableConfirmationButton = false;\n // },\n // (err: any) => {\n // // this.disableConfirmationButton = true;\n // // this.loaderService.display(false);\n // }\n // );\n // }\n // // else {\n // // this.loaderService.display(false);\n // // }\n\n // if (typeof answerObj.answer === 'string' && answerObj.answer !== 'Y' && answerObj.answer !== 'N') {\n // // if (answerObj.answer.includes(',')) {\n // // answerObj.answer.split(',').forEach((answer: any) => {\n // // this.personUwAnswers[answer] = true;\n // // });\n // // }\n // // this.personUwAnswers[answerObj.answer] = true;\n // }\n // this. updatePersonUwAnswers(answerObj);\n // });\n // }\n // });\n // }\n // }\n // });\n }\n\n\n }\n\n this.removeSubQuestionValues();\n\n this.medQuestionObj['heightObjectTypes'] = {\n controlStyle: {\n controlType: 'select',\n borderColor: '#ffffff',\n borderWidth: '1.5px',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: '#FFFFFF',\n dropdownOptionColor: '#444444',\n dropdownOptionFontWeight: '400',\n width: null,\n focusBorderWidth: '1.5px',\n focusBorderColor: '#ffffff',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#ffffff',\n hoverBorderWidth: '1.5px',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '1.5px',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n fieldName: null,\n label: 'feet / inches',\n placeHolder: '',\n metaId: '',\n isVisible: true,\n isDisable: isDisable,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: 150,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: [\n {\n label: 'Cm',\n value: 'CM',\n },\n {\n label: 'Feet',\n value: 'FEET',\n },\n ],\n cssClass: null,\n value: null,\n style: null,\n imageUrl: null,\n configData: {},\n metaDataObj: null,\n isShowLabel: false,\n isMasterControl: false,\n controlType: 'select',\n };\n }\n\n updatePersonUwAnswers(answerObj: any) {\n\n if (answerObj['cammundaQuestionCode'] === 'QHT') {\n this.personUwAnswers['medicalQuestionsHeightInput'] = answerObj['answer'];\n }\n if (answerObj['cammundaQuestionCode'] === 'QHTF') {\n let feetAnswer = answerObj['answer'].split('.');\n if (!this.checkIfValueIsEmpty(answerObj['answer']) && answerObj['answer'].includes('.')) {\n this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\n this.personUwAnswers['medicalQuestionsInchesInput'] = feetAnswer[1];\n } else {\n this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\n this.personUwAnswers['medicalQuestionsInchesInput'] = '0';\n }\n }\n\n let filteredQuestion: any = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === answerObj['questionId']);\n if(!this.checkIfValueIsEmpty(filteredQuestion) && !this.checkIfValueIsEmpty(filteredQuestion[0])) {\n if(filteredQuestion[0]['questionType'] === 'CHECKBOX') {\n this.personUwAnswers[answerObj.questionId] = answerObj.answer.split(',');\n\n } else {\n this.personUwAnswers[answerObj.questionId] = answerObj.answer;\n }\n }\n if (!this.checkIfValueIsEmpty(answerObj.personUWActivityResponseEntity)) {\n answerObj.personUWActivityResponseEntity.forEach((subquestion: any) => {\n this.updatePersonUwAnswers(subquestion);\n });\n this.saveQuestionDetails()\n }\n }\n\n checkIfValueIsEmpty(value: any) {\n if (typeof value === 'string') {\n value = value.trim();\n }\n return (\n value === undefined ||\n value === null ||\n value === '' ||\n (value instanceof Array && value.length === 0) ||\n JSON.stringify(value) === '{}'\n );\n }\n\n getTitleCase(header: any): any {\n if (header) {\n if (this.questionHeader.includes(header.toLocaleLowerCase())) {\n let val = header.split(' ');\n return val[0].toUpperCase() + ' ' + this.toTitleCase(val[1]);\n } else {\n if (header.toUpperCase() === 'FATCA DETAILS') {\n return header;\n }\n return this.toTitleCase(header);\n }\n }\n }\n\n toTitleCase(value: any) {\n if (!this.checkIfValueIsEmpty(value)) {\n return value\n .toString()\n .replace(\n /\\w\\S*/g,\n (txt: any) => txt[0].toUpperCase() + txt.substr(1).toLowerCase()\n );\n }\n }\n\n getField(questionObj: any) {\n let optionsObj: any = [];\n let controlStyle : any = {};\n if (questionObj['domainValues']) {\n questionObj['domainValues'].forEach((singleOptionValue: any) => {\n optionsObj.push({\n label: singleOptionValue['domainUiValue'],\n value: singleOptionValue['domainInternalValue'],\n });\n });\n }\n let isDisable : any = false;\n if(!this.checkIfValueIsEmpty(sessionStorage.getItem('isDisableMedicalQuestions')) ) {\n let isDisableMedicalQuestionsinUi : any = sessionStorage.getItem('isDisableMedicalQuestions');\n isDisable = JSON.parse(isDisableMedicalQuestionsinUi) ? true : false;\n }\n let minLength: any = null;\n let maxLength: any = 200;\n let pattern: any = null;\n let patternMessage: any = null;\n let configData: any = !this.checkIfValueIsEmpty(this.field()?.configData)\n ? this.field()?.configData\n : {};\n\n if(!this.checkIfValueIsEmpty(questionObj['configData'])) {\n configData = {...configData, ...questionObj['configData']};\n }\n\n if(questionObj['questionType'] === 'RADIO BUTTON' || questionObj['questionType'] === 'ADDMORE') {\n controlStyle = {\n \"controlType\": \"radio\",\n \"borderColor\": \"#DADADA\",\n \"borderWidth\": \"1px\",\n \"borderRadius\": null,\n \"fontSize\": \"12px\",\n \"fontWeight\": \"400\",\n \"fontFamily\": \"Mulish\",\n \"color\": \"#444444\",\n \"background\": \"#FFFFFF\",\n \"caretColor\": null,\n \"nudgeDisplayImage\": null,\n \"dropdownOptionBgColor\": null,\n \"dropdownOptionColor\": null,\n \"dropdownOptionFontWeight\": null,\n \"width\": null,\n \"focusBorderWidth\": \"1px\",\n \"focusBorderColor\": \"#ffbb00\",\n \"focusBackground\": null,\n \"focusColor\": \"#444444\",\n \"focusDropdownOptionBgColor\": null,\n \"focusDropdownOptionColor\": null,\n \"focusDropdownOptionFontWeight\": null,\n \"focusDropdownOptionBorderLeft\": null,\n \"focusDropdownOptionBorderRadius\": null,\n \"hoverBorderColor\": \"#DADADA\",\n \"hoverBorderWidth\": \"1px\",\n \"hoverColor\": \"#444444\",\n \"disableColor\": \"#ECECEC\",\n \"disableBackground\": \"#ECECEC\",\n \"errorBorderColor\": \"#DADADA\",\n \"errorBorderWidth\": \"1px\",\n \"errorColor\": \"#444444\",\n \"createdDate\": null,\n \"padding\": null,\n \"margin\": null,\n \"isMasterCss\": null,\n \"controlMetaId\": \"ALL_COM_GEN_CTRL_radio_nomineeGender_V1\",\n \"borderStyle\": null,\n \"height\": null,\n \"minHeight\": null,\n \"maxHeight\": null,\n \"minWidth\": null,\n \"maxWidth\": null,\n \"cssClass\": null\n };\n }\n if (!this.checkIfValueIsEmpty(questionObj['validations'])) {\n let validationObj: any = JSON.parse(questionObj['validations']);\n if (!this.checkIfValueIsEmpty(validationObj['MinValue'])) {\n minLength = validationObj['MinValue'];\n }\n if (!this.checkIfValueIsEmpty(validationObj['MaxValue'])) {\n maxLength = validationObj['MaxValue'];\n }\n if (!this.checkIfValueIsEmpty(validationObj['Type'])) {\n if (validationObj['Type'] === 'Numeric') {\n pattern = '^[0-9]+$';\n patternMessage = 'Only numbers are allowed.';\n configData['isAllowNumbersInTextFields'] = true;\n maxLength = '9'.repeat(Number(maxLength));\n configData['maxValue'] = maxLength;\n configData['minValue'] = 0;\n } else if (validationObj['Type'] === 'AlphaNumeric') {\n pattern = '^[a-zA-Z0-9\\\\s]+$';\n patternMessage = 'Only letters and numbers are allowed.';\n configData['isAllowNumbersInTextFields'] = false;\n } else {\n pattern = null;\n patternMessage = null;\n }\n }\n }\n\n return {\n configData: configData,\n controlStyle: controlStyle,\n controlType:\n questionObj['questionType'] === 'FREE TEXT'\n ? 'text'\n : questionObj['questionType'] === 'RADIO BUTTON' ||\n questionObj['questionType'] === 'ADDMORE'\n ? 'radio'\n : questionObj['questionType'] === 'CHECKBOX' ||\n questionObj['questionType'] === 'DECLARATION'\n ? 'checkbox'\n : questionObj['questionType'] === 'CALENDAR'\n ? 'date'\n : questionObj['questionType'] === 'DROPDOWN'\n ? 'select'\n : questionObj['questionType'] === 'DOCUPLOAD'\n ? 'file'\n : '',\n fieldName: questionObj['cammundaQuestionCode'],\n isDisable,\n label: questionObj['questionText'],\n placeHolder: questionObj['questionText'],\n validators: {\n isRequired: questionObj['optionalQuestion'] === 'N' ? true : false,\n minLength,\n maxLength,\n pattern,\n patternMessage,\n },\n cssClass: \"mb-2\",\n isVisible: true,\n options: optionsObj,\n isShowLabel: true,\n };\n }\n\n removeSubQuestionValues(question?: any) {\n console.log('ssssssssssssssssssssssss', this.questionList)\n if (!this.checkIfValueIsEmpty(this.questionList)) {\n this.questionList.forEach((singleSection: any) => {\n if (!this.checkIfValueIsEmpty(singleSection['questions'])) {\n singleSection['questions'].forEach((singleQuestion: any) => {\n if (!this.showQuestion(singleQuestion)) {\n singleQuestion['isShowQuestionInUI'] = false;\n if (\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestion['questionId']]\n )\n ) {\n delete this.personUwAnswers[singleQuestion['questionId']];\n }\n // }\n } else {\n singleQuestion['isShowQuestionInUI'] = true;\n }\n\n // Disable the question if it has a default value\n const questionId = singleQuestion['questionId']?.toString();\n const hasDefaultValue = !this.checkIfValueIsEmpty(this.defaultValues()) && Object.keys(this.defaultValues()).includes(questionId);\n if (hasDefaultValue && singleQuestion['field']) {\n singleQuestion['field'] = {\n ...singleQuestion['field'],\n isDisable: true\n };\n }\n\n if (singleQuestion['questionType'] === 'CHECKBOX') {\n if (!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\n let isNoneInDomainValues: any = singleQuestion[\n 'domainValues'\n ].filter(\n (singleObj: any) =>\n singleObj['domainUiValue'].toUpperCase() === 'NONE'\n );\n singleQuestion['domainValues'].forEach(\n (singleDomainValue: any) => {\n if (\n !this.checkIfValueIsEmpty(isNoneInDomainValues) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n isNoneInDomainValues[0]['domainInternalValue']\n ]\n ) &&\n this.personUwAnswers[\n isNoneInDomainValues[0]['domainInternalValue']\n ]\n ) {\n // none is selected\n singleQuestion['domainValues'].forEach(\n (singleDomainValue: any) => {\n // remove all selected checkbox questions\n if (\n singleDomainValue.domainUiValue.toUpperCase() !==\n 'NONE'\n ) {\n singleDomainValue.isDisabled = true;\n delete this.personUwAnswers[\n singleDomainValue['domainInternalValue']\n ];\n }\n }\n );\n } else {\n singleDomainValue.isDisabled = false;\n }\n }\n );\n }\n }\n });\n }\n // let isSectionExistsInBlockedList: any = this.isBlockedQuestionsList.filter((singleBlockedObj: any) => singleBlockedObj['sectionTitle'].trim() === singleSection['sectionName'].trim());\n singleSection['showSection'] = !this.checkIfValueIsEmpty(\n singleSection['questions'].filter(\n (singleQuestion: any) => singleQuestion['isShowQuestionInUI']\n )\n );\n // if (!this.checkIfValueIsEmpty(isSectionExistsInBlockedList)) {\n // if (isSectionExistsInBlockedList[0].isBlockedForCustomerFlow && !this.loadingAgentportal) {\n // singleSection['showSection'] = false;\n // let filteredIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePersonObj['role']);\n // singleSection['questions'].forEach((singleQuestionObjInSection: any) => {\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][filteredIndex]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\n // filteredQuestion[0]['isShowQuestionInUI'] = singleSection['showSection'];\n // }\n // });\n // }\n // if ((isSectionExistsInBlockedList[0].isBlockedForAgentFlow || sessionStorage.getItem('agentChannel') === 'D20' || sessionStorage.getItem('agentChannel') === 'D05' || sessionStorage.getItem('agentChannel') === 'D06') && this.loadingAgentportal) {\n // singleSection['showSection'] = false;\n // let filteredIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePersonObj['role']);\n // singleSection['questions'].forEach((singleQuestionObjInSection: any) => {\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][filteredIndex]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\n // filteredQuestion[0]['isShowQuestionInUI'] = singleSection['showSection'];\n // }\n // });\n // }\n // }\n let hiddenQuestions: any = this.questionList.filter(\n (singleSectionObj: any) => !singleSectionObj['showSection']\n );\n if (this.checkIfValueIsEmpty(hiddenQuestions)) {\n hiddenQuestions.forEach((singleSection: any) => {\n singleSection['questions'].forEach(\n (singleQuestionObjInSection: any) => {\n singleQuestionObjInSection['isShowQuestionInUI'] = false;\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\n // filteredQuestion[0]['isShowQuestionInUI'] = false;\n // }\n }\n );\n });\n }\n });\n }\n\n this.questionList.sort((a: any, b: any) => a['step'] - b['step']);\n\n console.log('questions list', this.questionList);\n console.log('questions answers', this.personUwAnswers);\n this.saveQuestionDetails();\n this.questionsValueChange.emit(this.personUwAnswers);\n }\n\n showQuestion(currentQuestion: any) {\n let showQuestion: any = false;\n let subQuestions: any = [];\n // let currentSectionIndex: any = questionsResponse['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === personRole)\n // let role = this.personUwResponseObj['questionsResponse'][currentSectionIndex]['role']\n\n this.personUwResponseObj[0].questionList.forEach((singleQuestion: any) => {\n let isSubQuestionObject: any = [];\n if (!this.checkIfValueIsEmpty(singleQuestion['questionRelation'])) {\n isSubQuestionObject = singleQuestion['questionRelation'].filter(\n (questionRelationObj: any) =>\n questionRelationObj['nextQuestionId'] ===\n currentQuestion['questionId']\n );\n }\n if (isSubQuestionObject.length > 0) {\n subQuestions.push(singleQuestion);\n isSubQuestionObject.forEach((singleSubQuestion: any) => {\n if (\n (singleQuestion['questionType'] !== 'CHECKBOX' &&\n singleSubQuestion['parentQuestionValue'].toString()[0] !== '!' &&\n this.personUwAnswers[singleQuestion['questionId']] ===\n singleSubQuestion['parentQuestionValue']) ||\n (singleSubQuestion['parentQuestionValue'].toString()[0] === '!' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestion['questionId']]\n ) &&\n this.personUwAnswers[singleQuestion['questionId']] !==\n singleSubQuestion['parentQuestionValue']\n .toString()\n .split('!')[1]) ||\n (singleQuestion['questionType'] === 'CHECKBOX' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestion['questionId']]\n ) &&\n this.personUwAnswers[singleQuestion['questionId']]?.includes(singleSubQuestion['parentQuestionValue'])\n // this.personUwAnswers[singleQuestion['questionId']]?.filter(\n // (singleObj: any) =>\n // singleObj ===\n // singleSubQuestion['parentQuestionValue']\n // ).length > 0\n )\n ) {\n showQuestion = true;\n }\n });\n }\n });\n\n if (\n this.checkIfValueIsEmpty(subQuestions) &&\n this.checkIfValueIsEmpty(currentQuestion['parentQuestionRelation'])\n ) {\n showQuestion = true;\n }\n if (\n !this.checkIfValueIsEmpty(currentQuestion['parentQuestionRelation']) &&\n !this.checkIfValueIsEmpty(\n currentQuestion['parentQuestionRelation']['parentQuestionId']\n ) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n currentQuestion['parentQuestionRelation']['parentQuestionId']\n ]\n ) &&\n this.personUwAnswers[\n currentQuestion['parentQuestionRelation']['parentQuestionId']\n ] === currentQuestion['parentQuestionRelation']['parentQuestionAnswer']\n ) {\n showQuestion = true;\n }\n if (currentQuestion['questionType'] === 'NODISPLAY') {\n showQuestion = false;\n }\n return showQuestion;\n }\n\n saveQuestionDetails() {\n // remove all checkbox questions present in values\n if (!this.checkIfValueIsEmpty(this.listOfDomainValuesForCheckBox)) {\n // let lifeAssuredkeys: any = Object.keys(this.personUwAnswers['lifeAssured']);\n // let policyAssuredKeys: any = Object.keys(this.personUwAnswers['policyHolder']);\n // let lifeAssuredOneKeys: any = Object.keys(this.personUwAnswers['lifeAssuredOne']);\n // let lifeAssuredTwoKeys: any = Object.keys(this.personUwAnswers['lifeAssuredTwo']);\n // this.personUwAnswers.forEach((singleKey: any) => {\n // if (isNaN(Number(singleKey)) && !this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssured'][singleKey])) {\n // delete this.personUwAnswers['lifeAssured'][singleKey];\n // }\n // });\n // policyAssuredKeys.forEach((singleKey: any) => {\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['policyHolder'][singleKey])) {\n // delete this.personUwAnswers['policyHolder'][singleKey];\n // }\n // });\n // lifeAssuredOneKeys.forEach((singleKey: any) => {\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssuredOne'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssuredOne'][singleKey])) {\n // delete this.personUwAnswers['policyHolder'][singleKey];\n // }\n // });\n // lifeAssuredTwoKeys.forEach((singleKey: any) => {\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssuredTwo'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssuredTwo'][singleKey])) {\n // delete this.personUwAnswers['policyHolder'][singleKey];\n // }\n // });\n }\n // let heightInInchesObj: any = [];\n // let heightInFeetObj: any = [];\n // let heightInCentimeterObj: any = [];\n let isValid: any = true;\n // if (!this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj) && !this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj['questionsResponse'])) {\n // let laIndex: any = this.sharedService.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === 'lifeAssured');\n // if (laIndex !== -1 && !this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj['questionsResponse'][laIndex])) {\n // heightInInchesObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTI');\n // heightInFeetObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTF');\n // heightInCentimeterObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHT');\n // }\n // }\n\n // validation for medical and non medical questions :\n // if (!this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj) && !this.checkIfValueIsEmpty(this.sharedService.personUwMasterObj) && isValid) {\n // this.sharedService.personUwMasterObj.forEach((singlePersonObj: any, singlePersonIndex: any) => {\n // if (!this.checkIfValueIsEmpty(singlePersonObj['questionList']) && isValid) {\n // let role: any = singlePersonObj['role'] === 'lifeAssured' ? \"life assured\" : singlePersonObj['role'] === 'policyHolder' ? \"policy holder\" : singlePersonObj['role'] === 'lifeAssuredOne' ? \"Joint Life 1\" : singlePersonObj['role'] === 'lifeAssuredTwo' ? \"Joint Life 2\" : \"\";\n // singlePersonObj['questionList'].forEach((singleSection: any) => {\n // if (!this.checkIfValueIsEmpty(singleSection['questions']) && isValid) {\n // if (!this.checkIfValueIsEmpty(singleSection['sectionName']) && (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') === 'TELL_US_MORE' || singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') === 'BASIC_DETAILS') && isValid) {\n\n // // validation for height entered in feet\n // if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET') {\n // let heightInInchesObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTI');\n // let heightInFeetObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTF');\n // if (!this.checkIfValueIsEmpty(heightInInchesObj) && !this.checkIfValueIsEmpty(heightInFeetObj) && (this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionFeetInput']) || this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionsInchesInput']))) {\n // isValid = false;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // this.sharedService.removeSubQuestionValues();\n // }\n // let questionId: any = heightInFeetObj[0]['questionId'] + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please enter Height in Feet and Inches for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please enter Height in Feet and Inches for ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // if (role === 'Joint Life 1') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFEONE');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'Joint Life 2') {\n // this.setActiveTab(1);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFETWO');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // }\n\n // }\n\n // return false;\n // }\n // }\n // }\n // // validation for height in cm\n // let heightInCentimeterObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHT');\n // if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\n // this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionsHeightInput']) &&\n // !this.checkIfValueIsEmpty(heightInCentimeterObj) && isValid) {\n // isValid = false;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // this.sharedService.removeSubQuestionValues();\n // }\n // let questionId: any = heightInCentimeterObj[0]['questionId'] + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please enter Height in CM ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please enter Height in CM ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // if (role === 'Joint Life 1') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFEONE');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'Joint Life 2') {\n // this.setActiveTab(1);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFETWO');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // }\n // }\n\n // return false;\n // }\n // }\n\n // }\n\n // singleSection['questions'].forEach((singleQuestionObj: any) => {\n // // validation for basic questions\n // if (\n // !this.checkIfValueIsEmpty(singleQuestionObj) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n // singleQuestionObj['isShowQuestionInUI'] &&\n // isValid &&\n // singleQuestionObj['questionType'] !== 'IMAGE TEXT' &&\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHT' &&\n // singleQuestionObj['questionType'] !== 'DECLARATION' &&\n // singleQuestionObj['cammundaQuestionCode'] !== 'hardCopyLang' &&\n // singleQuestionObj['questionType'] !== 'PASSPORT_UPLOAD' &&\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHTF' &&\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHTI' &&\n // singleQuestionObj['optionalQuestion'].toString() === 'N' &&\n // ((singleQuestionObj['questionType'] !== 'CHECKBOX' &&\n // this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['questionId']])) ||\n // (singleQuestionObj['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(singleQuestionObj, singlePersonObj['role']))) && isValid\n // ) {\n // isValid = false;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // let questionId: any = singleQuestionObj['questionId'] + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // this.sharedService.removeSubQuestionValues();\n // }\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please enter all the details in ' + singleSection['sectionName'] + ' for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please enter all the details in ' + singleSection['sectionName'] + ' for ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setActiveTab(1);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // console.log(\"joint life case\");\n // }\n // }\n\n // return false;\n // }\n // }\n\n // if (\n // singleQuestionObj['questionType'] === 'PASSPORT_UPLOAD' &&\n // singleQuestionObj['optionalQuestion'] === 'N' &&\n // singleQuestionObj['isShowQuestionInUI'] &&\n // this.sharedService.isMandatoryField &&\n // redirect\n // ) {\n // let filteredPersonPassportObj: any = this.validationService.questionsPassportUploadObj.filter((singleObj: any) => (singleObj['personType'] === singlePersonObj['role'] && this.checkIfValueIsEmpty(singleObj['dmsId'])));\n // if (!this.checkIfValueIsEmpty(filteredPersonPassportObj)) {\n // this.sharedService.focusToElement(`${filteredPersonPassportObj[0]['questionType']}_${filteredPersonPassportObj[0]['type']}_${filteredPersonPassportObj[0]['personType']}`);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // console.log(\"joint life case\");\n // }\n // }\n // isValid = false;\n // return false;\n // }\n\n // }\n // // validation for declaration questions\n // if (isValid && singleQuestionObj.questionType === 'DECLARATION' &&\n // singleQuestionObj['isShowQuestionInUI'] &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n // singleQuestionObj['optionalQuestion'] === 'N'\n // ) {\n // if (isValid &&\n // !this.checkIfValueIsEmpty(this.personUwAnswers) &&\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\n // this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\n\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // }\n // isValid = false;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\n // });\n // }\n // return false;\n // }\n // }\n // }\n\n // // validation for medical sub questions\n // // if (!this.checkIfValueIsEmpty(this.sharedService.medicalSubQuestionsResponse)) {\n // // this.sharedService.medicalSubQuestionsResponse.forEach((question: any) => {\n // // if (\n // // this.showSubQuestion(question) &&\n // // question['questionType'] !== 'IMAGE TEXT' &&\n // // question['optionalQuestion'].toString() === 'N' &&\n // // ((question['questionType'] !== 'CHECKBOX' &&\n // // this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][question['questionId']])) ||\n // // (question['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(question, 'lifeAssured')))\n // // ) {\n // // isValid = false;\n // // if (!this.sharedService.loadingAgentportal && !savedraft) {\n // // this.sharedService.setToastrNotifications({\n // // type: 'warning',\n // // message: 'Please answer all medical sub questions ' + question['questionId'] + ' ' + question['questionText']\n // // });\n // // }\n // // }\n // // });\n // // }\n // });\n\n // // validation for fatch declaration\n // // if(!this.checkIfValueIsEmpty(singleSection.questions) && isValid){\n // // singleSection.questions.forEach((singleQuestionObj:any) => {\n // // if(isValid && singleQuestionObj.questionType === 'DECLARATION' && singleQuestionObj['isShowQuestionInUI'] &&\n // // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n // // singleQuestionObj['optionalQuestion'] === 'N'\n // // ){\n // // if( isValid &&\n // // !this.checkIfValueIsEmpty(this.personUwAnswers) &&\n // // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\n // // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\n // // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\n // // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\n // // this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\n\n // // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // // }\n // // isValid = false;\n // // if (!this.sharedService.loadingAgentportal && !savedraft) {\n // // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\n // // this.sharedService.focusToElement(questionId);\n // // if (!this.sharedService.isMobileView()) {\n // // this.sharedService.setToastrNotifications({\n // // type: 'warning',\n // // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\n // // });\n // // }\n // // return false;\n // // }\n // // }\n // // }\n // // });\n // // }\n\n // }\n // });\n // }\n // });\n // }\n\n // if ((isValid || savedraft) || this.sharedService.loadingAgentportal) {\n // if (isValid) {\n if (isValid) {\n // this.loaderService.display(true);\n // let request: any = [];\n let mainReqObj: any = [];\n let mainRequestForBothPersons: any = [];\n let mainRequestForLa: any = [];\n let mainRequestForPh: any = [];\n this.questionList.forEach((singleSection: any) => {\n // if (!this.checkIfValueIsEmpty(singlePersonObj['questionList'])) {\n // singlePersonObj['questionList'].forEach((singleSection: any) => {\n // if (\n // !this.checkIfValueIsEmpty(singleSection['sectionName']) &&\n // (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\n // 'TELL_US_MORE' ||\n // singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\n // 'BASIC_DETAILS')\n // ) {\n // validation for height in cm\n let heightInCentimeterObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHT' || obj['questionId'] === this.personUwAnswers['medicalQuestionsHeightInput']\n );\n let heightInInchesObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTI' || obj['questionId'] === this.personUwAnswers['medicalQuestionsInchesInput']\n );\n let heightInFeetObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTF' || obj['questionId'] === this.personUwAnswers['medicalQuestionFeetInput']\n );\n if (\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsHeightInput']\n ) && !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsInchesInput']\n ) && !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionFeetInput']\n )\n ) {\n // pass height in cm obj\n let cmObjInAnswersindex: any = mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInCentimeterObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (cmObjInAnswersindex !== -1) {\n mainRequestForBothPersons[cmObjInAnswersindex]['answer'] =\n parseInt(\n this.personUwAnswers['medicalQuestionsHeightInput']\n ).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInCentimeterObj[0]['questionId'],\n answer: parseInt(\n this.personUwAnswers['medicalQuestionsHeightInput']\n ).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInCentimeterObj[0]['clusterId'],\n });\n }\n\n // height in inches\n let heightInInches: any = (\n this.personUwAnswers['medicalQuestionsHeightInput'] * 0.393701\n ).toFixed(2);\n let heightInFeet: any =\n parseFloat((heightInInches / 12).toString().split('.')[1]) > 12\n ? (heightInInches / 12).toFixed(1)\n : (heightInInches / 12).toFixed(2);\n let inchesobjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInInchesObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (inchesobjInAnswersindex !== -1) {\n mainRequestForBothPersons[inchesobjInAnswersindex]['answer'] =\n parseInt(heightInInches).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInInchesObj[0]['questionId'],\n answer: parseInt(heightInInches).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInInchesObj[0]['clusterId'],\n });\n }\n // height in feet\n\n let feetObjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInFeetObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (feetObjInAnswersindex !== -1) {\n mainRequestForBothPersons[feetObjInAnswersindex]['answer'] =\n parseFloat(heightInFeet).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInFeetObj[0]['questionId'],\n answer: parseFloat(heightInFeet).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInFeetObj[0]['clusterId'],\n });\n }\n } else if (\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionFeetInput']\n ) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsInchesInput']\n )\n ) {\n if (!this.checkIfValueIsEmpty(heightInFeetObj)) {\n let heightInInches: any =\n parseFloat(this.personUwAnswers['medicalQuestionFeetInput']) *\n 12 +\n parseFloat(this.personUwAnswers['medicalQuestionsInchesInput']);\n let heightInCm: any = (\n parseFloat(heightInInches) / 0.393701\n ).toFixed(2);\n let feetObjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInFeetObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (feetObjInAnswersindex !== -1) {\n mainRequestForBothPersons[feetObjInAnswersindex]['answer'] =\n this.personUwAnswers['medicalQuestionFeetInput'].toString() +\n '.' +\n this.personUwAnswers[\n this.personUwAnswers['medicalQuestionsInchesInput']\n ].toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInFeetObj[0]['questionId'],\n answer:\n this.personUwAnswers['medicalQuestionFeetInput'].toString() +\n '.' +\n this.personUwAnswers['medicalQuestionsInchesInput'].toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInFeetObj[0]['clusterId'],\n });\n }\n let inchesobjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInInchesObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (inchesobjInAnswersindex !== -1) {\n mainRequestForBothPersons[inchesobjInAnswersindex]['answer'] =\n parseInt(heightInInches).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInInchesObj[0]['questionId'],\n answer: parseInt(heightInInches).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInInchesObj[0]['clusterId'],\n });\n }\n let cmObjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInCentimeterObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (cmObjInAnswersindex !== -1) {\n mainRequestForBothPersons[cmObjInAnswersindex]['answer'] =\n parseInt(heightInCm).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInCentimeterObj[0]['questionId'],\n answer: parseInt(heightInCm).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInCentimeterObj[0]['clusterId'],\n });\n }\n }\n }\n\n if (\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\n !this.checkIfValueIsEmpty(heightInCentimeterObj[0]['questionId'])\n ) {\n let heightInCmAnswerObject: any = mainRequestForBothPersons.filter(\n (singleQuestion: any) =>\n singleQuestion['questionId'] ===\n heightInCentimeterObj[0]['questionId']\n );\n if (\n !this.checkIfValueIsEmpty(heightInCmAnswerObject) &&\n !this.checkIfValueIsEmpty(heightInCmAnswerObject[0]['answer'])\n ) {\n this.personUwAnswers[heightInCentimeterObj[0]['questionId']] =\n heightInCmAnswerObject[0]['answer'];\n }\n }\n\n if (\n !this.checkIfValueIsEmpty(heightInInchesObj) &&\n !this.checkIfValueIsEmpty(heightInInchesObj[0]['questionId'])\n ) {\n let heightInInchesAnswerObject: any =\n mainRequestForBothPersons.filter(\n (singleQuestion: any) =>\n singleQuestion['questionId'] ===\n heightInInchesObj[0]['questionId']\n );\n if (\n !this.checkIfValueIsEmpty(heightInInchesAnswerObject) &&\n !this.checkIfValueIsEmpty(heightInInchesAnswerObject[0]['answer'])\n ) {\n this.personUwAnswers[heightInInchesObj[0]['questionId']] =\n heightInInchesAnswerObject[0]['answer'];\n }\n }\n\n if (\n !this.checkIfValueIsEmpty(heightInFeetObj) &&\n !this.checkIfValueIsEmpty(heightInFeetObj[0]['questionId'])\n ) {\n let heightInFeetAnswerObject: any =\n mainRequestForBothPersons.filter(\n (singleQuestion: any) =>\n singleQuestion['questionId'] ===\n heightInFeetObj[0]['questionId']\n );\n if (\n !this.checkIfValueIsEmpty(heightInFeetAnswerObject) &&\n !this.checkIfValueIsEmpty(heightInFeetAnswerObject[0]['answer'])\n ) {\n this.personUwAnswers[heightInFeetObj[0]['questionId']] =\n heightInFeetAnswerObject[0]['answer'];\n }\n }\n // }\n let isNoDisplayQuestionInSection: any = !this.checkIfValueIsEmpty(\n singleSection['questions']\n )\n ? singleSection['questions'].filter(\n (singleData: any) => singleData['questionType'] === 'NODISPLAY'\n )\n : [];\n if (\n (singleSection['showSection'] ||\n isNoDisplayQuestionInSection.length > 0) &&\n !this.checkIfValueIsEmpty(singleSection['questions'])\n ) {\n singleSection['questions'].forEach((singleQuestion: any) => {\n if (singleQuestion['cammundaQuestionCode'] === 'hardCopyLang') {\n if (singleQuestion['isShowQuestionInUI']) {\n this.personUwAnswers[singleQuestion['questionId']] = 'English';\n } else {\n delete this.personUwAnswers[singleQuestion['questionId']];\n }\n }\n let checkedOptionsArr: any = [];\n if (!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\n singleQuestion['domainValues'].forEach(\n (singleDomainValue: any) => {\n if (\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n singleDomainValue['domainInternalValue']\n ]\n ) &&\n this.personUwAnswers[\n singleDomainValue['domainInternalValue']\n ]\n ) {\n checkedOptionsArr.push(\n singleDomainValue['domainInternalValue']\n );\n }\n }\n );\n }\n if (\n singleQuestion['isShowQuestionInUI'] &&\n singleQuestion['questionType'] === 'CHECKBOX'\n && !this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestion['questionId']])\n ) {\n // for checkbox question\n\n let questionIndexInMainRequest: any =\n mainRequestForBothPersons.findIndex(\n (singleAnswerObj: any) =>\n singleAnswerObj['questionId'] ===\n singleQuestion['questionId'] &&\n singleAnswerObj['personUWId'] ===\n singleSection['personUWId']\n );\n if (questionIndexInMainRequest === -1) {\n let obj: any = {\n personUWId: singleSection['personUWId'],\n questionId: singleQuestion['questionId'],\n answer: '',\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: singleQuestion['clusterId'],\n };\n obj['answer'] = this.personUwAnswers[singleQuestion['questionId']].toString();\n mainRequestForBothPersons.push(obj);\n } else {\n mainRequestForBothPersons[questionIndexInMainRequest][\n 'answer'\n ] = this.personUwAnswers[singleQuestion['questionId']].toString();\n }\n } else if (\n singleQuestion['isShowQuestionInUI'] &&\n singleQuestion['questionType'] !== 'CHECKBOX' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestion['questionId']]\n )\n ) {\n // non checkbox question\n let questionIndexInMainRequest: any =\n mainRequestForBothPersons.findIndex(\n (singleAnswerObj: any) =>\n singleAnswerObj['questionId'] ===\n singleQuestion['questionId'] &&\n singleAnswerObj['personUWId'] ===\n singleSection['personUWId']\n );\n if (questionIndexInMainRequest === -1) {\n let obj: any = {\n personUWId: singleSection['personUWId'],\n questionId: singleQuestion['questionId'],\n answer:\n singleQuestion['questionType'] === 'CALENDAR'\n ? new Date(\n this.personUwAnswers[singleQuestion['questionId']]\n )\n : this.personUwAnswers[singleQuestion['questionId']],\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: singleQuestion['clusterId'],\n };\n mainRequestForBothPersons.push(obj);\n } else {\n mainRequestForBothPersons[questionIndexInMainRequest][\n 'answer'\n ] =\n singleQuestion['questionType'] === 'CALENDAR'\n ? new Date(\n this.personUwAnswers[singleQuestion['questionId']]\n )\n : this.personUwAnswers[singleQuestion['questionId']];\n }\n }\n // if(singleQuestion['isShowQuestionInUI'] && !this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestion['questionId']])) {\n // let questionIndexInMainRequest : any = mainRequestForBothPersons.findIndex((singleAnswerObj : any) => (singleAnswerObj['questionId'] === singleQuestion['questionId'] && singleAnswerObj['personUWId'] === singleSection['personUWId']))\n // if(questionIndexInMainRequest === -1) {\n // let obj: any = {\n // personUWId: singleSection['personUWId'],\n // questionId: singleQuestion['questionId'],\n // answer: singleQuestion['questionType'] === 'CALENDAR' ? this.datepipe.transform(new Date(this.personUwAnswers[singleQuestion['questionId']]), 'yyyy-MM-dd') : this.personUwAnswers[singleQuestion['questionId']],\n // personUWParentId: 0,\n // createdUser: this.getCookieValue('userId'),\n // clusterId: singleQuestion['clusterId'],\n // };\n // mainRequestForBothPersons.push(obj);\n // if(singleQuestion['questionType'] === 'CHECKBOX') {\n // let checkedOptionsArr : any = [];\n // if(!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\n // singleQuestion['domainValues'].forEach((singleDomainValue : any) => {\n // if(!this.checkIfValueIsEmpty(this.personUwAnswers[singleDomainValue['domainInternalValue']]) && this.personUwAnswers[singleDomainValue['domainInternalValue']]) {\n // checkedOptionsArr.push(singleDomainValue['domainInternalValue']);\n // }\n // });\n // }\n // obj['answer'] = checkedOptionsArr.toString();\n // }\n // } else {\n // // object already there so over ride the new answer\n // if(singleQuestion['questionType'] === 'CHECKBOX') {\n // let checkedOptionsArr : any = [];\n // if(!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\n // singleQuestion['domainValues'].forEach((singleDomainValue : any) => {\n // if(!this.checkIfValueIsEmpty(this.personUwAnswers[singleDomainValue['domainInternalValue']]) && this.personUwAnswers[singleDomainValue['domainInternalValue']]) {\n // checkedOptionsArr.push(singleDomainValue['domainInternalValue']);\n // }\n // });\n // }\n // mainRequestForBothPersons[questionIndexInMainRequest]['answer'] = checkedOptionsArr.toString();\n // } else {\n // mainRequestForBothPersons[questionIndexInMainRequest]['answer'] = singleQuestion['questionType'] === 'CALENDAR' ? this.datepipe.transform(new Date(this.personUwAnswers[singleQuestion['questionId']]), 'yyyy-MM-dd') : this.personUwAnswers[singleQuestion['questionId']];\n // }\n\n // }\n\n // }\n\n // if (singleQuestion['cammundaQuestionCode'] === 'retFinancElgbl') {\n // let financialEligibilityAnswerIndex: any = mainRequestForBothPersons.findIndex((singleAnswerObj: any) => (singleAnswerObj['questionId'] === singleQuestion['questionId'] && singleAnswerObj['personUWId'] === singleSection['personUWId']))\n // let obj: any = {\n // personUWId: singleSection['personUWId'],\n // questionId: singleQuestion['questionId'],\n // answer: this.sharedService.financialEligibility,\n // personUWParentId: 0,\n // createdUser: this.getCookieValue('userId'),\n // clusterId: singleQuestion['clusterId'],\n // };\n // if (financialEligibilityAnswerIndex === -1) {\n // mainRequestForBothPersons.push(obj);\n // } else {\n // mainRequestForBothPersons[financialEligibilityAnswerIndex]['answer'] = this.sharedService.financialEligibility;\n // }\n // }\n });\n }\n // });\n // }\n });\n let distinctPersonIdFromRequest: any = [\n ...new Set(\n mainRequestForBothPersons.map((item: any) =>\n item.personUWId.toString()\n )\n ),\n ];\n if (!this.checkIfValueIsEmpty(distinctPersonIdFromRequest)) {\n mainRequestForLa = mainRequestForBothPersons.filter(\n (singleAnswer: any) =>\n singleAnswer['personUWId'] === distinctPersonIdFromRequest[0]\n );\n if (distinctPersonIdFromRequest.length === 2) {\n mainRequestForPh = mainRequestForBothPersons.filter(\n (singleAnswer: any) =>\n singleAnswer['personUWId'] === distinctPersonIdFromRequest[1]\n );\n }\n }\n let saveRequestsArray: any = [];\n if (!this.checkIfValueIsEmpty(mainRequestForLa) && this.personType() !== 'PH') {\n this.saveQuestionRequestLa = mainRequestForLa;\n sessionStorage.setItem(\n 'saveQuestionRequestLa',\n JSON.stringify(mainRequestForLa)\n );\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForLa, !calledFromConfirmation));\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForLa, (!this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse) && !this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse.isEditAllowedForAgent) && this.sharedService.openQuoteResponse.isEditAllowedForAgent && this.sharedService.openQuoteResponse.isEditAllowedForAgent.toLowerCase() === 'true') ? true : !calledFromConfirmation));\n }\n if (!this.checkIfValueIsEmpty(mainRequestForLa) && this.personType() === 'PH') {\n this.saveQuestionRequestPh = mainRequestForLa;\n sessionStorage.setItem(\n 'saveQuestionRequestPh',\n JSON.stringify(mainRequestForLa)\n );\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForPh, !calledFromConfirmation));\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForPh, (!this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse) && !this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse.isEditAllowedForAgent) && this.sharedService.openQuoteResponse.isEditAllowedForAgent && this.sharedService.openQuoteResponse.isEditAllowedForAgent.toLowerCase() === 'true') ? true : !calledFromConfirmation));\n }\n }\n this.validateMedicalQuestions();\n }\n\n getCookieValue(name: string): string {\n const cookie = document.cookie.split(';');\n let tokenName = '';\n let tokenValue = '';\n const index2 = 2;\n cookie.forEach((data) => {\n if (data.split('=')[0].includes(name) && !!data.split('=')[1]) {\n tokenName = data.split('=')[0].trim();\n tokenValue = data.split('=')[1];\n }\n if (\n name === 'link' &&\n data.split('=')[0].includes(name) &&\n data.split('=')[index2] !== null &&\n data.split('=')[index2] !== undefined\n ) {\n tokenValue = tokenValue + '=' + data.split('=')[index2];\n }\n });\n return tokenValue;\n }\n\n validateMedicalQuestions() {\n let isValid: any = true;\n let validationMessage : any = '';\n this.questionList.forEach((singleSection: any) => {\n if (!this.checkIfValueIsEmpty(singleSection['questions']) && isValid) {\n if (\n !this.checkIfValueIsEmpty(singleSection['sectionName']) &&\n (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\n 'TELL_US_MORE' ||\n singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\n 'BASIC_DETAILS') &&\n isValid\n ) {\n // validation for height entered in feet\n if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET') {\n let heightInInchesObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTI'\n );\n let heightInFeetObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTF'\n );\n if (\n !this.checkIfValueIsEmpty(heightInInchesObj) &&\n !this.checkIfValueIsEmpty(heightInFeetObj) &&\n (this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionFeetInput']\n ) ||\n this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsInchesInput']\n ))\n ) {\n isValid = false;\n validationMessage = `Please enter Height in Feet and Inches`;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // this.sharedService.removeSubQuestionValues();\n // }\n // let questionId: any = heightInFeetObj[0]['questionId'] + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please enter Height in Feet and Inches for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please enter Height in Feet and Inches for ' + role, 'Close');\n\n // }\n\n // return false;\n // }\n }\n }\n // validation for height in cm\n let heightInCentimeterObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHT'\n );\n if (\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\n this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsHeightInput']\n ) &&\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\n isValid\n ) {\n isValid = false;\n validationMessage = `Please enter Height in centimeter`;\n }\n }\n\n singleSection['questions'].forEach((singleQuestionObj: any) => {\n // validation for basic questions\n if (\n !this.checkIfValueIsEmpty(singleQuestionObj) &&\n !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n singleQuestionObj['isShowQuestionInUI'] &&\n isValid &&\n singleQuestionObj['questionType'] !== 'IMAGE TEXT' &&\n singleQuestionObj['cammundaQuestionCode'] !== 'QHT' &&\n singleQuestionObj['questionType'] !== 'DECLARATION' &&\n singleQuestionObj['cammundaQuestionCode'] !== 'hardCopyLang' &&\n singleQuestionObj['questionType'] !== 'PASSPORT_UPLOAD' &&\n singleQuestionObj['cammundaQuestionCode'] !== 'QHTF' &&\n singleQuestionObj['cammundaQuestionCode'] !== 'QHTI' &&\n singleQuestionObj['optionalQuestion'].toString() === 'N' &&\n this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestionObj['questionId']]\n ) &&\n // ((singleQuestionObj['questionType'] !== 'CHECKBOX' &&\n // this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['questionId']])) ||\n // (singleQuestionObj['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(singleQuestionObj, singlePersonObj['role'])))\n isValid\n ) {\n validationMessage = `Please enter all the details in ${singleSection['sectionName']}`;\n isValid = false;\n }\n\n // if (\n // singleQuestionObj['questionType'] === 'PASSPORT_UPLOAD' &&\n // singleQuestionObj['optionalQuestion'] === 'N' &&\n // singleQuestionObj['isShowQuestionInUI'] &&\n // ) {\n // let filteredPersonPassportObj: any = this.validationService.questionsPassportUploadObj.filter((singleObj: any) => (singleObj['personType'] === singlePersonObj['role'] && this.checkIfValueIsEmpty(singleObj['dmsId'])));\n // if (!this.checkIfValueIsEmpty(filteredPersonPassportObj)) {\n // this.sharedService.focusToElement(`${filteredPersonPassportObj[0]['questionType']}_${filteredPersonPassportObj[0]['type']}_${filteredPersonPassportObj[0]['personType']}`);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // console.log(\"joint life case\");\n // }\n // }\n // isValid = false;\n // return false;\n // }\n\n // }\n // validation for declaration questions\n if (\n isValid &&\n singleQuestionObj.questionType === 'DECLARATION' &&\n singleQuestionObj['isShowQuestionInUI'] &&\n !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n singleQuestionObj['optionalQuestion'] === 'N'\n ) {\n if (\n (isValid &&\n // !this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']]) &&\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\n this.personUwAnswers[singleQuestionObj['questionId']] ===\n 'N') ||\n !this.personUwAnswers[singleQuestionObj['questionId']] ||\n this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestionObj['questionId']]\n )\n // )\n // || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])\n ) {\n isValid = false;\n validationMessage = `Please enter all the details in ${singleSection['sectionName']}`;\n }\n }\n\n // validation for medical sub questions\n // if (!this.checkIfValueIsEmpty(this.sharedService.medicalSubQuestionsResponse)) {\n // this.sharedService.medicalSubQuestionsResponse.forEach((question: any) => {\n // if (\n // this.showSubQuestion(question) &&\n // question['questionType'] !== 'IMAGE TEXT' &&\n // question['optionalQuestion'].toString() === 'N' &&\n // ((question['questionType'] !== 'CHECKBOX' &&\n // this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][question['questionId']])) ||\n // (question['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(question, 'lifeAssured')))\n // ) {\n // isValid = false;\n // if (!this.sharedService.loadingAgentportal && !savedraft) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please answer all medical sub questions ' + question['questionId'] + ' ' + question['questionText']\n // });\n // }\n // }\n // });\n // }\n });\n\n // validation for fatch declaration\n // if(!this.checkIfValueIsEmpty(singleSection.questions) && isValid){\n // singleSection.questions.forEach((singleQuestionObj:any) => {\n // if(isValid && singleQuestionObj.questionType === 'DECLARATION' && singleQuestionObj['isShowQuestionInUI'] &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n // singleQuestionObj['optionalQuestion'] === 'N'\n // ){\n // if( isValid &&\n // !this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']]) &&\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\n // this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\n\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // }\n // isValid = false;\n // if (!this.sharedService.loadingAgentportal && !savedraft) {\n // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\n // });\n // }\n // return false;\n // }\n // }\n // }\n // });\n // }\n }\n });\n\n sessionStorage.setItem('isMedicalQuestionsValid', isValid);\n sessionStorage.setItem('validationMessageForMedicalQuestions', validationMessage);\n }\n\n valueChangeForMultiselect(question : any) {\n if (question['cammundaQuestionCode'] === 'LifeMediCndtn' || question['cammundaQuestionCode'] === 'MediCndtn' ) {\n this.personUwAnswers[question['questionId']].length > 0\n\n // if none is selected then remove all and call API\n let isNoneSelected : any = this.personUwAnswers[question['questionId']].findIndex((singleObj :any) => singleObj === 'NoMedHistry');\n\n if (\n isNoneSelected !== -1\n ) {\n this.personUwAnswers[question['questionId']] = this.personUwAnswers[question['questionId']] = this.personUwAnswers[question['questionId']].filter((singleObj : any) => singleObj === 'NoMedHistry')\n }\n this.medicalSubQuestionsResponse = [];\n if (\n !this.checkIfValueIsEmpty(\n this.questionList\n )) {\n this.questionList = this.questionList.filter((singleSection: any) => ((this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion']) || (!this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion']) && !singleSection['isMedicalSubQuestion'])) ));\n }\n // let currentSectionIndex: any = this.sharedService.personUwResponseObj['questionsResponse'].findIndex(\n // (singlePersonObj: any) =>\n // singlePersonObj['role'] ===\n // this.sharedService.personUwMasterObj[singlePersonIndex]['role']\n // );\n // remove medical sub questions from questions response list\n // if (\n // currentSectionIndex !== this.numberConstant.numberminus1 &&\n // !this.sharedcheckIfValueIsEmpty(\n // this.sharedService.personUwResponseObj['questionsResponse'][\n // currentSectionIndex\n // ]\n // ) &&\n // !this.sharedcheckIfValueIsEmpty(\n // this.sharedService.personUwResponseObj['questionsResponse'][\n // currentSectionIndex\n // ]['questionList']\n // )\n // ) {\n // this.sharedService.personUwResponseObj['questionsResponse'][\n // currentSectionIndex\n // ]['questionList'] = this.sharedService.personUwResponseObj[\n // 'questionsResponse'\n // ][currentSectionIndex]['questionList'].filter(\n // (singleListItem: any) =>\n // this.sharedcheckIfValueIsEmpty(\n // singleListItem['isMedicalSubQuestion']\n // ) ||\n // (!this.sharedcheckIfValueIsEmpty(\n // singleListItem['isMedicalSubQuestion']\n // ) &&\n // !singleListItem['isMedicalSubQuestion'])\n // );\n // }\n // this.sharedService.personUwResponseObj['questionsResponse'][0][\n // 'questionList'\n // ].forEach((singleQuestion: any, index: any) => {\n // if (singleQuestion['isMedicalSubQuestion']) {\n // this.sharedService.personUwResponseObj['questionsResponse'][0][\n // 'questionList'\n // ].splice(index, 1);\n // }\n // });\n\n // this.questionList = this.questionList.filter((singleSection : any) => (!singleSection['isMedicalSubQuestion'] || this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion'])));\n // this.questionList.forEach((singleMasterObj: any, i: number) => {\n // if (singleMasterObj['isMedicalSubQuestion']) {\n // this.sharedService.personUwMasterObj[singlePersonIndex][\n // 'questionList'\n // ]['questions'] = [];\n // }\n // });\n // this.loader.display(true);\n\n let selectedDiseases : any = this.personUwAnswers[question['questionId']].toString();\n // let request: any = JSON.parse(\n // JSON.stringify(\n // this.fetchSubQuestionsList[\n // this.sharedService.personUwMasterObj[singlePersonIndex]['role']\n // ].toString()\n // )\n // );\n if(question['field']['configData'].hasOwnProperty('apiUrl') && question['field']['configData'].hasOwnProperty('urlParamForDisease') && question['field']['configData'].hasOwnProperty('urlParamForPersonUwId') && !this.checkIfValueIsEmpty(question['field']['configData']['apiUrl']) && !this.checkIfValueIsEmpty(question['field']['configData']['urlParamForDisease']) && !this.checkIfValueIsEmpty(question['field']['configData']['urlParamForPersonUwId'])) {\n this.masterService.getSubQuestions(question['field']['configData'], selectedDiseases, this.personUwId).subscribe(\n (data: any) => {\n // this.loader.display(false);\n let distinctSteps: any = [];\n if (!this.checkIfValueIsEmpty(data)) {\n data.forEach((subQuestion: any) => {\n subQuestion[\n 'domainValues'\n ] = this.medialQuestionResponse()['domainValues'][\n subQuestion['domainName']\n ];\n subQuestion['isShowQuestionInUI'] = false;\n subQuestion['isMedicalSubQuestion'] = true;\n if (\n !this.checkIfValueIsEmpty(\n subQuestion['questionRelation']\n ) &&\n !Array.isArray(subQuestion['questionRelation'])\n ) {\n subQuestion['questionRelation'] = [\n subQuestion['questionRelation']\n ];\n }\n if (\n subQuestion['questionType'] === 'CHECKBOX' &&\n !this.checkIfValueIsEmpty(\n subQuestion['questionRelation']\n )\n ) {\n subQuestion['questionRelation'].forEach(\n (singleQuestionRelationObj: any) => {\n let nextQuestionObject: any = data.filter(\n (object: any) =>\n object['questionId'] ===\n singleQuestionRelationObj['nextQuestionId']\n );\n if (nextQuestionObject.length > 0) {\n nextQuestionObject[0]['answeredValue'] =\n singleQuestionRelationObj['parentQuestionValue'];\n }\n }\n );\n }\n // if (\n // !this.checkIfValueIsEmpty(\n // subQuestion['domainValues']\n // )\n // ) {\n // subQuestion['domainValues'].forEach((subDomain: any) => {\n // this.sharedService.subMedicalQuestionsDomainInternalValuesList.push(\n // subDomain['domainInternalValue']\n // );\n // });\n // }\n if (!distinctSteps.includes(subQuestion['clusterId'])) {\n distinctSteps.push(subQuestion['clusterId']);\n }\n subQuestion['field'] = this.getField(subQuestion);\n });\n data.sort(\n (a: any, b: any) =>\n a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']\n );\n distinctSteps.forEach((steps: any, ind: any) => {\n let filteredObj: any = data.filter(\n (singleQuestion: any) => singleQuestion['clusterId'] === steps\n );\n let obj: any = {\n step: 1000 + ind,\n questions: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj\n : [],\n sectionName: !this.checkIfValueIsEmpty(\n filteredObj\n )\n ? filteredObj[0]['title']\n : '',\n personUWId: this.personUwId,\n isMedicalSubQuestion: true,\n showSection: true\n };\n this.questionList.push(obj);\n });\n this.medicalSubQuestionsResponse = data;\n // merge medical sub questions into person uw main questions response (required for show question function to work)\n // clearing on top before api call\n this.personUwResponseObj[0]['questionList'] = this.personUwResponseObj[0]['questionList'].concat(this.medicalSubQuestionsResponse);\n }\n this.removeSubQuestionValues();\n },\n (err: any) => {\n // this.loader.display(false);\n }\n );\n }\n }\n this.removeSubQuestionValues()\n }\n onDocumentFilePreview(event: { file: File, index: number }): void {\n console.log('Preview requested for:', event.file.name);\n this.previewFile = event.file;\n }\n\n closeFilePreview(): void {\n this.previewFile = null;\n }\n\n checkAndUpdateHeightUnit() {\n if (\n this.personUwAnswers[\n 'medicalQuestionsHeightUnit'\n ] === 'FEET' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n 'medicalQuestionsHeightInput'\n ]\n )\n ) {\n let heightInInches: any = (\n parseFloat(\n this.personUwAnswers[\n 'medicalQuestionsHeightInput'\n ]\n ) * 0.393701\n ).toFixed(2);\n let heightInFeet: any =\n parseFloat(\n (heightInInches / 12)\n .toString()\n .split('.')[1]\n ) > 12\n ? (heightInInches / 12).toFixed(1)\n : (heightInInches / 12).toFixed(2);\n if (\n !this.checkIfValueIsEmpty(\n heightInFeet.toString().split('.')[0]\n )\n ) {\n this.personUwAnswers[\n 'medicalQuestionFeetInput'\n ] = heightInFeet.toString().split('.')[0];\n }\n if (\n !this.checkIfValueIsEmpty(\n heightInFeet.toString().split('.')[1]\n )\n ) {\n this.personUwAnswers[\n 'medicalQuestionsInchesInput'\n ] =\n heightInFeet.toString().split('.')[1] !== '11' &&\n heightInFeet.toString().split('.')[1] !== '12' &&\n heightInFeet.toString().split('.')[1] !== '13'\n ? heightInFeet\n .toString()\n .split('.')[1]\n .charAt(0)\n : heightInFeet.toString().split('.')[1];\n }\n } else if (\n this.personUwAnswers[\n 'medicalQuestionsHeightUnit'\n ] === 'CM' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n 'medicalQuestionFeetInput'\n ]\n ) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n 'medicalQuestionsInchesInput'\n ]\n )\n ) {\n let heightInInches: any =\n parseFloat(\n parseFloat(\n this.personUwAnswers[\n 'medicalQuestionFeetInput'\n ]\n ).toString() +\n '.' +\n parseFloat(\n this.personUwAnswers[\n 'medicalQuestionsInchesInput'\n ]\n ).toString()\n ) * 12;\n let heightInCm: any = (\n parseFloat(heightInInches) / 0.393701\n ).toFixed(2);\n this.personUwAnswers[\n 'medicalQuestionsHeightInput'\n ] = heightInCm;\n }\n this.removeSubQuestionValues();\n }\n}\n","\n<div *ngFor=\"let section of questionList\">\n <div\n *ngIf=\"\n !checkIfValueIsEmpty(section['questions']) &&\n section['showSection']\n \"\n class=\"card p-3 mb-4\"\n id=\"personUwMedicalQuestions\"\n >\n <h6 class=\"page-title bold-label\">\n {{ getTitleCase(section[\"sectionName\"]) }}\n </h6>\n <lib-hr-line [field]=\"horizontalLineObj\" />\n <div *ngFor=\"let questions of section['questions']\" class=\"row\">\n <!-- <div *ngIf=\"questions['questionType'] === 'IMAGE TEXT'\">\n <img [src]=\"questions['sampleS3Link']\" class=\"d-block mx-auto\" [alt]=\"questions['title']\">\n <h3 [innerHTML]=\"questions['questionText']\"></h3>\n </div> -->\n\n <div\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'FREE TEXT' &&\n questions['cammundaQuestionCode'] !== 'QHT' &&\n questions['isShowQuestionInUI']\n \"\n >\n <!-- <label class=\"field-lable d-block\"\n >{{ questions[\"questionText\"] }}\n <span\n *ngIf=\"\n questions.optionalQuestion === 'N'\n \"\n style=\"color: #ee0000\"\n >*</span\n >\n </label> -->\n <div class=\"col-12 px-0 my-1\">\n <lib-textbox [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (blur)=\"removeSubQuestionValues()\" />\n </div>\n </div>\n\n <div\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'HEIGHTINPUT' &&\n questions['cammundaQuestionCode'] === 'QHTF' &&\n questions['isShowQuestionInUI']\n \"\n >\n <label class=\"card-topic d-block field-lable\"\n >Height\n <span\n style=\"color: #ee0000\"\n >*</span\n >\n </label>\n <div\n class=\"col-auto px-0 my-0 py-0 heightinput\"\n\n >\n <div class=\"row col-12 my-1\" *ngIf=\"personUwAnswers['medicalQuestionsHeightUnit'] === 'CM'\">\n <div class=\"col-7 py-0 heightInputs\">\n <lib-textbox [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHT']['field']\" />\n </div>\n <div class=\"col-5\">\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightUnit']\" [field]=\"medQuestionObj['heightObjectTypes']\" (ngModelChange)=\"checkAndUpdateHeightUnit()\" />\n </div>\n </div>\n <div\n class=\"row\"\n *ngIf=\"\n personUwAnswers[\n 'medicalQuestionsHeightUnit'\n ] === 'FEET'\n \"\n >\n <div class=\"col-4 py-0 my-1\">\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionFeetInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHTF']['field']\" />\n </div>\n <div class=\"col-4 py-0 my-1\">\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsInchesInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHTI']['field']\" />\n </div>\n <div\n class=\"col-4 py-0 my-1\"\n >\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightUnit']\" [field]=\"medQuestionObj['heightObjectTypes']\" (ngModelChange)=\"checkAndUpdateHeightUnit()\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"row mt-0 pt-0\"\n *ngIf=\"\n questions['questionType'] === 'MAP' &&\n questions['isShowQuestionInUI']\n \"\n >\n\n\n <div class=\"map-container\">\n <div class=\"address-search-container mb-3\">\n\n <div class=\"row mb-3\">\n <div class=\"col-6\">\n <label class=\"form-label card-topic\">Longitude</label>\n <input\n type=\"number\"\n class=\"form-control\"\n autocomplete=\"off\"\n [(ngModel)]=\"longitude\"\n placeholder=\"Enter longitude\"\n step=\"any\"\n readonly\n >\n </div>\n <div class=\"col-6\">\n <label class=\"form-label card-topic\">Latitude</label>\n <input\n type=\"number\"\n class=\"form-control\"\n autocomplete=\"off\"\n [(ngModel)]=\"latitude\"\n placeholder=\"Enter latitude\"\n step=\"any\"\n readonly\n >\n </div>\n </div>\n\n <input\n #addressInput\n type=\"text\"\n class=\"form-control\"\n placeholder=\"Search for address\"\n (keyup)=\"onAddressInputKeyup($event)\"\n (focus)=\"showDropdown = true\"\n (blur)=\"onInputBlur()\"\n autocomplete=\"off\"\n >\n <div\n *ngIf=\"showDropdown && addressSuggestions.length > 0\"\n class=\"autocomplete-dropdown position-absolute w-100 mt-1\"\n style=\"z-index: 1000; max-height: 200px; overflow-y: auto; background: white; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);\"\n >\n <div\n *ngFor=\"let suggestion of addressSuggestions; let i = index\"\n class=\"dropdown-item p-2\"\n style=\"cursor: pointer; border-bottom: 1px solid #eee;\"\n (mousedown)=\"selectAddress(suggestion)\"\n (mouseenter)=\"hoveredIndex = i\"\n [class.bg-light]=\"hoveredIndex === i\"\n >\n <div class=\"fw-bold\">{{ suggestion.main_text }}</div>\n <small class=\"text-muted\">{{ suggestion.secondary_text }}</small>\n </div>\n </div>\n <small class=\"text-muted\">Start typing to search for addresses</small>\n </div>\n <google-map [center]=\"center\" [zoom]=\"zoom\">\n <map-marker [position]=\"currentCoordinates\"></map-marker>\n </google-map>\n </div>\n </div>\n\n\n <div\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n (questions['questionType'] === 'RADIO BUTTON' ||\n questions['questionType'] === 'ADDMORE') &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-radio [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"questions['field']\" />\n </div>\n\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'CHECKBOX' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-multiple-select [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"valueChangeForMultiselect(questions)\" [field]=\"questions['field']\" />\n </div>\n\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'DECLARATION' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-checkbox [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"questions['field']\" />\n </div>\n\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'DROPDOWN' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-select [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (ngModelChange)=\"removeSubQuestionValues()\" />\n </div>\n\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'CALENDAR' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-dob [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (ngModelChange)=\"removeSubQuestionValues()\" />\n </div>\n\n <!-- <div\n class=\"\"\n *ngIf=\"\n questions['questionType'] === 'HEIGHTINPUT' &&\n questions['cammundaQuestionCode'] === 'QHTF' &&\n questions['isShowQuestionInUI']\n \"\n >\n </div> -->\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'DOCUPLOAD' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-upload [field]=\"questions['field']\" (filePreview)=\"onDocumentFilePreview($event)\" />\n <lib-file-preview\n *ngIf=\"previewFile\"\n [field]=\"questions['field']\"\n [file]=\"previewFile\"\n (closed)=\"closeFilePreview()\">\n </lib-file-preview>\n </div>\n\n\n <div\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'PASSPORT_UPLOAD' &&\n questions['isShowQuestionInUI']\n \"\n >\n <!-- pending -->\n </div>\n </div>\n </div>\n </div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-page-nudge',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './page-nudge.component.html',\n styleUrl: './page-nudge.component.css'\n})\nexport class PageNudgeComponent {\nfield : any = input.required<any>();\n}\n","<div class=\"nudge-container\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n'--page-nudge-width': field()?.controlStyle?.borderColor ,\n'--page-nudge-height': field()?.controlStyle?.borderWidth ,\n'--page-nudge-bg': field()?.controlStyle?.borderRadius ,\n'--page-nudge-border-radius': field()?.controlStyle?.background ,\n'--page-nudge-border-width': field()?.controlStyle?.focusBorderColor ,\n'--page-nudge-border-color': field()?.controlStyle?.focusBorderWidth ,\n'--page-nudge-border-style': field()?.controlStyle?.focusBackground\n}\">\n {{ field()?.label }}\n <div class=\"page-fold\"></div>\n <div class=\"page-fold-below\"></div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\n\n\n@Component({\n selector: 'lib-progress-bar',\n standalone: true,\n imports: [MatProgressBarModule , CommonModule],\n templateUrl: './progress-bar.component.html',\n styleUrl: './progress-bar.component.css'\n})\nexport class ProgressBarComponent {\nfield : any = input.required<any>();\n}\n","<mat-progress-bar mode=\"determinate\" [value]=\"field()?.value\" [ngStyle]=\"{\n'--progress-bar-background-color': field()?.controlStyle?.background ,\n'--progress-bar-border-radius': field()?.controlStyle?.borderRadius ,\n'--progress-bar-border-color': field()?.controlStyle?.color ,\n'--progress-bar-width': field()?.controlStyle?.width ,\n'--progress-bar-height': field()?.controlStyle?.height ,\n}\"></mat-progress-bar>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\n\n@Component({\n selector: 'lib-accordian',\n standalone: true,\n imports: [MatExpansionModule , CommonModule],\n templateUrl: './accordian.component.html',\n styleUrl: './accordian.component.css'\n})\nexport class AccordianComponent {\n field : any = input.required<any>();\nonPanelOpened(): void {\n console.log('Panel opened');\n}\n\nonPanelClosed(): void {\n console.log('Panel closed');\n}\n\nonExpandedChange(isExpanded: boolean): void {\n console.log('Panel expansion changed:', isExpanded);\n if (isExpanded) {\n // Panel is now expanded\n } else {\n // Panel is now collapsed\n }\n}\n}\n","<mat-accordion \n [multi]=\"true\" \n [hideToggle]=\"false\"\n [displayMode]=\"'default'\"\n [togglePosition]=\"'after'\" [ngStyle]=\"{\n'--acc-font-color': field()?.controlStyle?.color ,\n'--acc-bg-color': field()?.controlStyle?.background ,\n'--acc-border-radius': field()?.controlStyle?.borderRadius ,\n'--acc-border-width': field()?.controlStyle?.borderWidth ,\n'--acc-border-style': field()?.controlStyle?.borderStyle ,\n'--acc-border-color': field()?.controlStyle?.borderColor ,\n'--acc-font-size': field()?.controlStyle?.fontSize ,\n'--acc-font-weight': field()?.controlStyle?.fontWeight \n}\">\n \n <mat-expansion-panel \n [expanded]=\"false\"\n [disabled]=\"false\"\n [hideToggle]=\"false\"\n (opened)=\"onPanelOpened()\"\n (closed)=\"onPanelClosed()\"\n (expandedChange)=\"onExpandedChange($event)\">\n \n <mat-expansion-panel-header \n [collapsedHeight]=\"'48px'\"\n [expandedHeight]=\"'64px'\">\n \n <mat-panel-title>\n <span class=\"triangle-icon\" *ngIf=\"field()?.configData?.showLeftArrowIndicator && field()?.configData?.showLeftArrowIndicator === 'true'\"></span>\n {{ field()?.label}}\n </mat-panel-title>\n \n <mat-panel-description>\n <!-- This is a description of the panel -->\n </mat-panel-description>\n \n </mat-expansion-panel-header>\n \n <!-- Panel Content -->\n <div>\n {{ field()?.configData?.accordianContent}}\n </div>\n \n <!-- Action Buttons -->\n <!-- <mat-action-row>\n <button mat-button color=\"primary\">Save</button>\n <button mat-button color=\"warn\">Cancel</button>\n </mat-action-row> -->\n \n </mat-expansion-panel>\n</mat-accordion>","import { Component, Input, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-miscellaneous-info-bar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './miscellaneous-info-bar.component.html',\n styleUrl: './miscellaneous-info-bar.component.css'\n})\nexport class MiscellaneousInfoBarComponent {\nconstructor(public masterService : MasterControlService){}\n field: any = input.required<any>();\n @Input() details: any = [{\nlabel:'PAN.',\nvalue:'AAAAA1111A'\n},\n{\nlabel:'DOB.',\nvalue:'01-Jan-1999'\n}\n];\n \n}\n","<div class=\"misc-info-background\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-info-bg-color': field()?.controlStyle?.background ,\n '--custom-info-border-radius': field()?.controlStyle?.borderRadius,\n '--custom-info-border-width': field()?.controlStyle?.borderWidth,\n '--custom-info-border-color': field()?.controlStyle?.borderColor,\n '--custom-info-border-style': field()?.controlStyle?.borderStyle,\n }\">\n <span>\n <img\n class=\"misc-info-nudge-image mb-1\"\n [src]=\"field()?.configData?.prefixImageUrl\"\n alt=\"\"\n />\n <span *ngFor=\"let inp of details ; let i = index\">\n <span class=\"ms-3 misc-info-label px-2\" [ngStyle]=\"{\n '--misc-info-font-size-label': field()?.controlStyle?.fontSize ,\n '--misc-info-font-weight-label': field()?.controlStyle?.fontWeight ,\n '--misc-info-font-color-label': field()?.controlStyle?.color ,\n }\"\n [ngClass]=\"{'show-divider': field()?.configData?.showDivider && field()?.configData?.showDivider === 'true' && i!=0}\"\n >{{inp?.label}}</span>\n <span class=\"misc-info-value\" [ngStyle]=\"{\n '--misc-info-font-size-value': field()?.configData?.valueFontSize ,\n '--misc-info-font-weight-value': field()?.configData?.valueFontWeight ,\n '--misc-info-font-color-value': field()?.configData?.valueFontColor ,\n }\">{{inp?.value}}</span>\n </span>\n <img\n class=\"misc-info-nudge-image mb-1 float-end\"\n [src]=\"field()?.configData?.suffixImageUrl\"\n alt=\"\"\n />\n </span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-plain-text',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './plain-text.component.html',\n styleUrl: './plain-text.component.css'\n})\nexport class PlainTextComponent {\nfield: any = input.required<any>();\n}\n","<div class=\"plain-text\" [ngStyle]=\"{\n'--plain-text-width': field()?.controlStyle?.width ,\n'--plain-text-font-size': field()?.controlStyle?.fontSize ,\n'--plain-text-font-color': field()?.controlStyle?.color ,\n'--plain-text-font-weight': field()?.controlStyle?.fontWeight \n }\">{{field()?.label}}</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MasterControlService } from '../master-control.service';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\n\n@Component({\n selector: 'lib-menu',\n standalone: true,\n imports: [\n MatSelectModule,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatInputModule,\n FormsModule,\n MatOptionModule,\n CommonModule,\n ReactiveFormsModule,\n ],\n templateUrl: './menu.component.html',\n styleUrl: './menu.component.css'\n})\nexport class MenuComponent implements ControlValueAccessor {\n constructor() {}\n showProfileMenu = false;\n field : any = input.required<any>();\n inputValue: any = null;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n selectionChanged(event: MatSelectChange) {\n this.inputValue = event.value;\n this.onChange(event.value);\n this.onTouched();\n }\n\n // onSelectOpened(opened: boolean) {\n // const css = this.field()?.controlStyle;\n // if (opened) {\n // document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\n // document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\n // document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\n // document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\n // document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\n // document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\n // document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\n // document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\n // } else {\n // document.body.style.removeProperty('--custom-select-option-background-color');\n // document.body.style.removeProperty('--custom-select-option-font-color');\n // document.body.style.removeProperty('--custom-select-option-font-weight');\n // document.body.style.removeProperty('--custom-select-option-background-color-focus');\n // document.body.style.removeProperty('--custom-select-option-font-color-focus');\n // document.body.style.removeProperty('--custom-select-option-font-weight-focus');\n // document.body.style.removeProperty('--custom-select-option-border-left-focus');\n // document.body.style.removeProperty('--custom-select-option-border-radius-focus');\n // }\n // }\n\ntoggleProfileMenu() {\n this.showProfileMenu = !this.showProfileMenu;\n}\n\n\n}\n","<div\n (click)=\"toggleProfileMenu()\"\n class=\"menu-container d-flex align-items-center\"\n role=\"button\"\n>\n<!-- [src]=\"field()?.configData?.prefixImage\" -->\n <img\n [src]=\"field()?.configData?.prefixImage\"\n alt=\"Profile\"\n class=\"rounded-circle me-2\"\n width=\"36\"\n height=\"36\"\n />\n <span class=\"menu-main-text ps-1 pe-2\">{{field()?.configData?.maintext}}</span>\n <span *ngIf=\"field()?.configData?.isShowDropdownArrow\" class=\"arrow\"></span>\n</div>\n\n<div\n *ngIf=\"showProfileMenu\"\n class=\"profile-menu top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\"\n>\n <div class=\"profile-menu-caret\"></div>\n <ul class=\"list-unstyled m-0 py-2\">\n <li\n class=\"px-3 py-2 text-nowrap\"\n *ngFor=\"let singleOption of field()?.options\"\n >\n {{singleOption['label']}}\n </li>\n </ul>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, output, effect, OnInit, OnDestroy } from '@angular/core';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-stepper-with-arrow',\n standalone: true,\n imports: [MatStepperModule, CommonModule],\n templateUrl: './stepper-with-arrow.component.html',\n styleUrl: './stepper-with-arrow.component.css'\n})\nexport class StepperWIthArrowComponent implements OnInit, OnDestroy {\n field: any = input.required<any>();\n currentStepValue = input<string>(); // Input to receive current step value from parent\n autoProgress = input<boolean>(false); // Input to enable automatic step progression\n autoProgressDelay = input<number>(3000); // Delay between auto-progression (in ms)\n selectedStep = output<any>();\n masterStepper: any;\n selectedStepIndex = -1;\n private autoProgressTimer: any;\n\n constructor(public masterSharedService: MasterControlService) {\n // Watch for changes in currentStepValue input\n effect(() => {\n const stepValue = this.currentStepValue();\n if (stepValue && this.field()?.editStepper) {\n this.updateStepFromExternal(stepValue);\n }\n });\n }\n\n ngOnInit() {\n this.field().editStepper = this.field().configData.stepperData ? this.field().configData.stepperData : this.masterSharedService?.configData?.stepper?.stepperData;\n this.initializeStepperState();\n this.emitActiveStepOnLoad();\n \n // Start auto-progression if enabled\n if (this.autoProgress()) {\n this.startAutoProgression();\n }\n }\n\n ngOnDestroy() {\n // Clean up timer\n if (this.autoProgressTimer) {\n clearInterval(this.autoProgressTimer);\n }\n }\n\n initializeStepperState() {\n if (this.field().editStepper) {\n let activeStepIndex = -1;\n \n // Find the current active step based on step properties or field value\n // Check if any step is already marked as active\n activeStepIndex = this.field().editStepper.findIndex((step: any) => step.isActive === true);\n \n // If no active step found, check for current value in field\n if (activeStepIndex === -1 && this.field().value) {\n activeStepIndex = this.field().editStepper.findIndex((step: any) => \n step.displayLabel === this.field().value || \n step.value === this.field().value\n );\n }\n \n // If still no active step found, default to first step\n if (activeStepIndex === -1) {\n activeStepIndex = 0;\n }\n \n this.field().editStepper.forEach((step: any, index: number) => {\n // Set default values if not provided\n if (step.isDisplay === undefined) {\n step.isDisplay = true;\n }\n \n // Set step states based on the active step logic\n if (index < activeStepIndex) {\n // Steps before active step are completed and enabled\n step.isCompleted = true;\n step.isActive = false;\n step.isDisabled = false; // Completed steps can be clicked\n } else if (index === activeStepIndex) {\n // Current active step\n step.isCompleted = false;\n step.isActive = true;\n step.isDisabled = false;\n this.selectedStepIndex = index; // Set as selected\n } else {\n // Steps after active step are pending and disabled\n step.isCompleted = false;\n step.isActive = false;\n step.isDisabled = true;\n }\n });\n }\n }\n\n onStepClick(step: any, index: number) {\n if (!step.isDisabled) {\n this.selectedStepIndex = index;\n const stepData = {\n step: step,\n index: index,\n label: step.displayLabel,\n value: step.value || step.displayLabel\n };\n this.selectedStep.emit(stepData);\n }\n }\n\n isStepSelected(index: number): boolean {\n return this.selectedStepIndex === index;\n }\n\n shouldShowLabel(index: number): boolean {\n // Show label only if no step is selected OR if this step is the selected one\n // Hide labels for completed steps\n return (this.selectedStepIndex === -1 || this.selectedStepIndex === index) && !this.isStepCompleted(index);\n }\n\n shouldShowAsDisabled(step: any, index: number): boolean {\n // Show as disabled if step is actually disabled\n return step.isDisabled === true;\n }\n\n isStepCompleted(index: number): boolean {\n // Check if step is marked as completed\n if (this.field().editStepper && this.field().editStepper[index]) {\n return this.field().editStepper[index].isCompleted === true;\n }\n return false;\n }\n\n isStepActive(index: number): boolean {\n // Check if step is marked as active\n if (this.field().editStepper && this.field().editStepper[index]) {\n return this.field().editStepper[index].isActive === true;\n }\n return false;\n }\n\n emitActiveStepOnLoad() {\n // Automatically emit the active step when component loads\n if (this.field().editStepper && this.selectedStepIndex >= 0) {\n const activeStep = this.field().editStepper[this.selectedStepIndex];\n if (activeStep) {\n const stepData = {\n step: activeStep,\n index: this.selectedStepIndex,\n label: activeStep.displayLabel,\n value: activeStep.value || activeStep.displayLabel\n };\n this.selectedStep.emit(stepData);\n }\n }\n }\n\n // Method to programmatically move to the next step\n moveToNextStep() {\n if (this.selectedStepIndex < this.field().editStepper.length - 1) {\n this.moveToStep(this.selectedStepIndex + 1);\n }\n }\n\n // Method to programmatically move to the previous step\n moveToPreviousStep() {\n if (this.selectedStepIndex > 0) {\n this.moveToStep(this.selectedStepIndex - 1);\n }\n }\n\n // Method to programmatically move to a specific step\n moveToStep(stepIndex: number) {\n if (stepIndex >= 0 && stepIndex < this.field().editStepper.length) {\n // Update step states\n this.field().editStepper.forEach((step: any, index: number) => {\n if (index < stepIndex) {\n // Mark previous steps as completed\n step.isCompleted = true;\n step.isActive = false;\n step.isDisabled = false;\n } else if (index === stepIndex) {\n // Mark current step as active\n step.isCompleted = false;\n step.isActive = true;\n step.isDisabled = false;\n } else {\n // Mark future steps as pending/disabled\n step.isCompleted = false;\n step.isActive = false;\n step.isDisabled = true;\n }\n });\n\n this.selectedStepIndex = stepIndex;\n \n // Emit the step change\n const stepData = {\n step: this.field().editStepper[stepIndex],\n index: stepIndex,\n label: this.field().editStepper[stepIndex].displayLabel,\n value: this.field().editStepper[stepIndex].value || this.field().editStepper[stepIndex].displayLabel\n };\n this.selectedStep.emit(stepData);\n }\n }\n\n // Method to complete current step and move to next\n completeCurrentStepAndMoveNext() {\n if (this.selectedStepIndex >= 0 && this.selectedStepIndex < this.field().editStepper.length - 1) {\n // Mark current step as completed\n this.field().editStepper[this.selectedStepIndex].isCompleted = true;\n this.field().editStepper[this.selectedStepIndex].isActive = false;\n \n // Move to next step\n this.moveToNextStep();\n }\n }\n\n // Method to watch for external step changes (can be called from parent)\n updateStepFromExternal(stepValue: string) {\n if (this.field().editStepper) {\n const stepIndex = this.field().editStepper.findIndex((step: any) => \n step.displayLabel === stepValue || step.value === stepValue\n );\n \n if (stepIndex >= 0 && stepIndex !== this.selectedStepIndex) {\n this.moveToStep(stepIndex);\n }\n }\n }\n\n // Auto-progression methods\n startAutoProgression() {\n if (this.autoProgressTimer) {\n clearInterval(this.autoProgressTimer);\n }\n \n this.autoProgressTimer = setInterval(() => {\n this.moveToNextStep();\n \n // Stop auto-progression when reaching the last step\n if (this.selectedStepIndex >= this.field().editStepper.length - 1) {\n this.stopAutoProgression();\n }\n }, this.autoProgressDelay());\n }\n\n stopAutoProgression() {\n if (this.autoProgressTimer) {\n clearInterval(this.autoProgressTimer);\n this.autoProgressTimer = null;\n }\n }\n\n // Method to reset stepper to first step\n resetToFirstStep() {\n this.stopAutoProgression();\n this.moveToStep(0);\n \n if (this.autoProgress()) {\n this.startAutoProgression();\n }\n }\n}\n","<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\n <mat-stepper #stepperHeader>\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\n <mat-step \n *ngIf=\"steps.isDisplay !== false\"\n [completed]=\"false\"\n [optional]=\"false\">\n <ng-template matStepLabel>\n <div \n class=\"step-container\"\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\n [class.step-active]=\"isStepActive(i)\"\n [class.step-completed]=\"isStepCompleted(i)\"\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\n (click)=\"onStepClick(steps, i)\">\n <span \n class=\"step-circle\"\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\n [class.circle-active]=\"isStepActive(i)\"\n [class.circle-completed]=\"isStepCompleted(i)\">\n {{i + 1}}\n </span>\n <span \n class=\"step-label mx-2\"\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\n [class.label-active]=\"isStepActive(i)\"\n [class.label-completed]=\"isStepCompleted(i)\"\n [class.label-hidden]=\"!shouldShowLabel(i)\">\n {{steps?.displayLabel}}\n </span>\n <span \n class=\"arrow\" \n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\n [class.arrow-active]=\"isStepActive(i)\"\n [class.arrow-completed]=\"isStepCompleted(i)\"\n *ngIf=\"i < field().editStepper.length - 1\">\n </span>\n </div>\n </ng-template>\n </mat-step>\n </ng-container>\n </mat-stepper>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-label-with-image',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './label-with-image.component.html',\n styleUrl: './label-with-image.component.css'\n})\nexport class LabelWithImageComponent {\nfield : any = input.required<any>();\n}\n","<div *ngIf=\"field()?.isVisible\" class=\"d-flex gap-2\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n <span class=\"bold-label\" [ngStyle]=\"{\n'--master-bold-label-font-color': field()?.controlStyle?.color,\n'--master-bold-label-font-size': field()?.controlStyle?.fontSize,\n'--master-bold-label-font-weight': field()?.controlStyle?.fontWeight\n}\">{{field()?.label}}</span>\n</div>","import { Component, ElementRef, HostListener, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-top-header',\n standalone: true,\n templateUrl: './top-header.component.html',\n styleUrl: './top-header.component.css',\n imports: [CommonModule]\n})\nexport class TopHeaderComponent {\nfield : any = input.required<any>();\n\nshowProfileMenu = false;\nconfigData={\n options:[\n {label:\"\",\n value:\"\"\n }\n ],\nconfigData:{\n logoUrl: \"\",\n notificationBellVisible:\"\",\n notificationCount:\"\",\n notificationImageUrl:\"\",\n UserProfileVisible:\"\",\n imageUrl:\"\",\n userProfileText:\"\",\n}};\n\nngOnInit()\n{\n this.configData=this.field();\n}\n}\n","<header class=\"sticky-top bg-white shadow-sm\">\n <div class=\"container-fluid mx-auto p-0\">\n <div class=\"header row align-items-center\">\n <div class=\"col-11\">\n <a href=\"/\" class=\"d-flex align-items-center gap-3 fixMargin\">\n <img\n [src]=\"configData.configData.logoUrl\"\n class=\"logo\"\n height=\"32\"\n alt=\"Logo\"\n />\n </a>\n </div>\n <div class=\"col-1 d-flex justify-content-end align-items-center p-1 position-relative\">\n <div class=\"me-3 position-relative notification-icon\" role=\"button\" *ngIf=\"configData.configData.notificationBellVisible=='true'\">\n <img\n [src]=\"configData.configData.notificationImageUrl\"\n alt=\"Notifications\"\n width=\"28\"\n height=\"28\"\n />\n <span \n class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger\"\n >\n {{configData.configData.notificationCount}}\n </span>\n </div>\n <div\n (mouseenter)=\"showProfileMenu=true\"\n class=\"profile-icon d-flex align-items-center rounded-pill bg-light\"\n role=\"button\" *ngIf=\"configData.configData.UserProfileVisible=='true'\"\n >\n <img\n [src]=\"configData.configData.imageUrl\"\n alt=\"Profile\"\n class=\"rounded-circle me-2\"\n width=\"36\"\n height=\"36\"\n />\n <span class=\"fw-medium\">{{configData.configData.userProfileText}}</span>\n </div>\n <div\n *ngIf=\"showProfileMenu\"\n class=\"profile-menu position-absolute top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\" (mouseenter)=\"showProfileMenu=true\" (mouseleave)=\"showProfileMenu=false\"\n >\n <div class=\"profile-menu-caret\"></div>\n \n <ul class=\"list-unstyled m-0 py-2\">\n <li class=\"px-3 py-2 text-nowrap\" *ngFor=\"let item of configData.options || []\">\n {{ item.label || 'No label' }}\n </li>\n </ul>\n </div>\n \n </div>\n </div>\n </div>\n</header>","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-footer',\n standalone: true,\n imports: [],\n templateUrl: './footer.component.html',\n styleUrl: './footer.component.css'\n})\nexport class FooterComponent {\nfield : any = input.required<any>();\n}\n","<div class=\"footerband section\">\n <div class=\"secondary-footer\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"bd-row col-sm-12 clearfix\">\n <div class=\"legacy-link-menu\">\n \n \n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/downloads\" target=\"_blank\" rel=\"nofollow\">Downloads</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/do-not-disturb\" target=\"_blank\" rel=\"nofollow\">Do Not Disturb (DND)</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/financials\" target=\"_blank\" rel=\"nofollow\">Public Disclosures</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/investor-relations\" target=\"_blank\" rel=\"nofollow\">Investor Relations</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/content/dam/godigit/directportal/en/downloads/digit-stewardship-policy-v4-Jun-24.pdf\" target=\"_blank\" rel=\"nofollow\">Stewardship Policy</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.irdai.gov.in/\" target=\"_blank\" rel=\"nofollow\">IRDAI </a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/privacy-policy\" target=\"_blank\" rel=\"nofollow\">Privacy Policy</a></span>\n \n \n \n </div>\n <p class=\"txt-white txt-left l-float\">CIN: L66010PN2016PLC167410, IRDAI Reg. No. 158.</p>\n <p class=\"txt-white txt-left l-float\">Go Digit General Insurance Limited | Corporate Office Address: Atlantis, 95, 4th B Cross Road, Koramangala Industrial Layout, 5th Block, Bengaluru 560095 | Registered Office Address: 1 to 6 floors, Ananta One (AR One), Pride Hotel Lane, Narveer Tanaji Wadi, Shivaji Nagar, Pune-411005, Maharashtra | Trade logo of Go Digit General Insurance Ltd. displayed above belongs to Go Digit lnfoworks Services Private Limited and is provided and used by Go Digit General Insurance Ltd. under license.</p>\n </div>\n </div>\n </div>\n </div>\n </div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-footer-with-buttons',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './footer-with-buttons.component.html',\n styleUrl: './footer-with-buttons.component.css'\n})\nexport class FooterWithButtonsComponent {\nfield : any = input.required<any>();\n \nconfigData = {\n configData:{\n margin:\"0%\",\n },\n options: [] as Array<{\n label: string;\n value:string;\n }>\n};\n\nngOnInit()\n{\n this.configData=this.field();\n}\n}\n","\n<footer class=\"custom-footer\" \n[ngStyle]=\"{\n 'margin-left': configData.configData.margin,\n 'margin-right': configData.configData.margin\n }\"\n>\n <div class=\"container\">\n <div class=\"footer-buttons d-flex justify-content-center gap-3 py-3\">\n <button class=\"btn update-btn\" *ngFor=\"let button of configData.options\">{{button.label}}</button>\n </div>\n </div>\n</footer>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-motor-glow-plan-details',\n standalone: true,\n imports: [\n CommonModule\n ],\n templateUrl: './motor-glow-plan-details.component.html',\n styleUrl: './motor-glow-plan-details.component.css'\n})\nexport class MotorGlowPlanDetailsComponent {\n field: any = input.required<any>();\n @Output() editPlanClick = new EventEmitter<any>();\n constructor() {}\n\n onEditPlanClicked() {\n this.editPlanClick.emit();\n }\n}\n","<div class=\"yellow-background\" *ngIf=\"field().isVisible\">\n <div class=\"row\" style=\"padding-bottom: 16px;\">\n <div class=\"col-6\" style=\"padding-bottom: 8px;\">\n <span class=\"label-font\">Sum Assured</span>\n </div>\n <div class=\"col-6 d-flex justify-content-end\" (click)=\"onEditPlanClicked()\">\n <span class=\"label-font\">Edit plan <span> <img style=\"height: 12px; width: 12px; transform: translate(2px, -2px);\" src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/edit-icon.svg\" alt=\"edit icon\"> </span></span>\n </div>\n <div class=\"col-12\">\n <span class=\"value-font\">{{field()?.configData?.sumAssuedValue ? field()?.configData?.sumAssuedValue : '25' }}</span>\n </div>\n </div>\n <div class=\"row\" style=\"padding-bottom: 16px;\">\n <div class=\"col-12\" style=\"padding-bottom: 8px;\"><span class=\"label-font\">Policy Term (PT)</span></div>\n <div class=\"col-12 value-font\"><span>{{field()?.configData?.ptYears ? field()?.configData?.ptYears : '5' }} yrs <span class=\"year-label\">(Till {{field()?.configData?.ptValidTill ? field()?.configData?.ptValidTill : '2029' }})</span></span></div>\n\n </div>\n <div class=\"row\" style=\"padding-bottom: 16px;\">\n <div class=\"col-12\" style=\"padding-bottom: 8px;\"><span class=\"label-font\">Premium</span></div>\n <div class=\"col-12\"><span class=\"premium-color\">₹ {{field()?.configData?.premiumAmount ? field()?.configData?.premiumAmount : '12,025' }}/ {{field()?.configData?.premiumFrequency ? field()?.configData?.premiumFrequency : 'year' }}</span></div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\"> <span class=\"eligibility-font\">Eligible for maximum Sum Assured of ₹{{field()?.configData?.maxSAValue ? field()?.configData?.maxSAValue : '25' }} Lakh.</span></div>\n </div>\n\n</div>\n","import { Component, EventEmitter, input, Output, SimpleChanges } from '@angular/core';\nimport { ToggleComponent } from '../toggle/toggle.component';\nimport { SelectTextboxComponent } from '../select-textbox/select-textbox.component';\nimport { ButtonComponent } from '../button/button.component';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { RadioComponent } from '../radio/radio.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-annuity-premium-calculator',\n standalone: true,\n imports: [\n ToggleComponent,\n SelectTextboxComponent,\n ButtonComponent,\n IconButtonComponent,\n RadioComponent,\n CommonModule,\n FormsModule\n ],\n templateUrl: './annuity-premium-calculator.component.html',\n styleUrl: './annuity-premium-calculator.component.css',\n})\nexport class AnnuityPremiumCalculatorComponent {\n field: any = input.required<any>();\n premiumDetails: any = input<any>({});\n annuityPremium : any = {\n textValue : '',\n selectValue: ''\n };\n minumumAnnuityPayout : any = {\n textValue : '',\n selectValue: ''\n };\n @Output() onCalcualteButtonClick = new EventEmitter<any>();\n @Output() onGenerateSummaryClick = new EventEmitter<any>();\n @Output() onAnnuityPremiumChange = new EventEmitter<any>();\n @Output() onMinimumPremiumValueChange = new EventEmitter<any>();\n @Output() onAutioDebitValueChange = new EventEmitter<any>();\n @Output() onGuranteedAnnuityValueChange = new EventEmitter<any>();\n @Output() onDigitBossSwitchToggle = new EventEmitter<any>();\n validations : any = {\n ispremiumEntry : false\n }\n isEnableAutoDebit : any = false;\n selectedGuranteedAnnuity: any = null;\n annuityPremiumToggleObj: any = {\n controlType: 'toggle',\n fieldName: 'annuityPremiumToggle',\n label: 'Enter Annuity',\n placeHolder: null,\n metaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',\n isVisible: true,\n isDisable: true,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: 150,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: null,\n cssClass:\n ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mx-auto d-flex align-items-center justify-content-center',\n value: null,\n style: null,\n imageUrl: null,\n isShowLabel: true,\n controlStyle: {\n controlType: 'toggle',\n borderColor: '#DADADA',\n borderWidth: '1px',\n borderRadius: '999px',\n fontSize: '12px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: 'fit-content',\n focusBorderWidth: '0.094rem',\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: '0.094rem',\n hoverColor: null,\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: null,\n errorBorderWidth: '0.094rem',\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n columnIndex: 0,\n configData: {\n leftLabel: 'Enter Premium',\n },\n controlStyles: null,\n };\n\n annuityTableCalculator :any = {\n \"isVisible\": false,\n \"annuitycalculatorTable1val1\": \"\",\n \"annuitycalculatorTable1val2\": \"\",\n \"annuitycalculatorTable2val1\": \"\",\n \"annuitycalculatorTable2val2\": \"\",\n \"annuitycalculatorTable2val3\": \"\",\n \"annuitycalculatorTable3val1\": \"\",\n \"annuitycalculatorTable3val2\": \"\",\n \"annuitycalculatorTable3val3\": \"\",\n \"annuitycalculatorTable4val1\": \"\",\n \"annuitycalculatorTable4val2\": \"\",\n \"annuitycalculatorTable4val3\": \"\"\n\n\n };\n\n digitBossSwitch : any = {\n isVisible : false,\n isSwitchOn: false,\n highlightText: '',\n subText: ''\n }\n\n digitBossToggleConfig: any = {\n controlType: 'toggle',\n fieldName: 'digitBossToggle',\n isVisible: true,\n isDisable: false,\n isShowLabel: true,\n configData: {\n leftLabel: ''\n },\n controlStyle: {\n background: 'transparent',\n borderColor: 'transparent',\n width: 'fit-content',\n borderWidth: '0px'\n }\n };\n\n onDigitBossSwitchChange(event: any) {\n // if(this.premiumDetails() && this.premiumDetails().digitBossSwitch){\n this.digitBossSwitch.isSwitchOn = event;\n this.onDigitBossSwitchToggle.emit(event);\n // }\n }\n\n annuityPremiumObj: any = {\n controlStyle: {\n controlType: 'amountTextbox',\n borderColor: '#DADADA',\n borderWidth: '0.094rem',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: null,\n focusBorderWidth: '0.094rem',\n focusBorderColor: '#ffbb00',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#FFBB00',\n hoverBorderWidth: '0.094rem',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '0.094rem',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n fieldName: 'annuityPremium',\n label: 'Premium',\n placeHolder: 'Enter Premium',\n metaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',\n isVisible: true,\n isDisable: false,\n defaultValue: null,\n validators: {\n isRequired: false,\n requiredMessage: 'Enter Premium',\n minLength: 4,\n minLengthMessage: null,\n maxLength: 10,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: null,\n },\n options: [\n {\n value: 'Monthly',\n label: 'Monthly',\n },\n {\n value: 'One Time',\n label: 'One Time',\n },\n {\n value: 'Quarterly',\n label: 'Quarterly',\n },\n {\n value: 'Half Yearly',\n label: 'Half Yearly',\n },\n {\n value: 'Yearly',\n label: 'Yearly',\n },\n ],\n cssClass: ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 pr-0 mt-5 pt-2',\n value: null,\n style: null,\n imageUrl: null,\n configData: {\n isComaSeperated: true,\n isAllowNumbersInTextFields: true\n },\n metaDataObj: null,\n isShowLabel: true,\n isMasterControl: false,\n controlType: 'amountTextbox',\n };\n\n minimumAnnuityPayoutObj: any = {\n controlStyle: {\n controlType: 'amountTextbox',\n borderColor: '#DADADA',\n borderWidth: '0.094rem',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: null,\n focusBorderWidth: '0.094rem',\n focusBorderColor: '#ffbb00',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#FFBB00',\n hoverBorderWidth: '0.094rem',\n hoverColor: '#444444',\n disableColor: '#999999',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '0.094rem',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId:\n 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n fieldName: 'minimumGuaranteedAnnuityPayout',\n label: 'Total Annuity Payout',\n placeHolder: 'Enter Annuity Payout',\n metaId: 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',\n isVisible: true,\n isDisable: true,\n defaultValue: null,\n validators: {\n isRequired: false,\n requiredMessage: 'Enter Annuity Payout',\n minLength: 4,\n minLengthMessage: null,\n maxLength: 10,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: null,\n },\n options: [\n {\n value: 'Monthly',\n label: 'Monthly',\n },\n {\n value: 'One Time',\n label: 'One Time',\n },\n {\n value: 'Quarterly',\n label: 'Quarterly',\n },\n {\n value: 'Half Yearly',\n label: 'Half Yearly',\n },\n {\n value: 'Yearly',\n label: 'Yearly',\n },\n ],\n cssClass:\n ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 mt-1 pr-0 minimumGuaranteedAnnuityPayout',\n value: null,\n style: null,\n imageUrl: null,\n configData: {\n isComaSeperated: true,\n isAllowNumbersInTextFields: true\n },\n metaDataObj: null,\n isShowLabel: true,\n isMasterControl: false,\n controlType: 'amountTextbox',\n };\n\n enableAutoDebitObj: any = {\n controlType: 'toggle',\n fieldName: 'autoDebit',\n label: 'Enable Auto Pay to get higher annuity rate',\n placeHolder: '',\n metaId: 'ALL_COM_GEN_CTRL_toggle_autoDebit_V1',\n isVisible: true,\n isDisable: false,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: null,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: null,\n cssClass: 'col-sm-12 col-md-5 col-lg-5 col-xl-5 mt-4 autoPay',\n value: false,\n style: null,\n imageUrl: null,\n isShowLabel: true,\n controlStyle: {\n controlType: 'toggle',\n borderColor: null,\n borderWidth: '0.094rem',\n borderRadius: null,\n fontSize: '12px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#E6F7F3',\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: null,\n focusBorderWidth: '0.094rem',\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: '0.094rem',\n hoverColor: null,\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: null,\n errorBorderWidth: '0.094rem',\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'ALL_COM_GEN_CTRL_toggle_mailingAddressToggle_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n columnIndex: 0,\n configData: {},\n controlStyles: null,\n };\n\n recalculateButton: any = {\n controlType: 'button',\n fieldName: 'calculateAnnuityPayout',\n label: 'Calculate Annuity Payout',\n placeHolder: null,\n metaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',\n isVisible: true,\n isDisable: false,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: null,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: null,\n cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mt-3',\n value: null,\n style: null,\n imageUrl: null,\n isShowLabel: true,\n controlStyle: {\n controlType: null,\n borderColor: null,\n borderWidth: null,\n borderRadius: '4px',\n fontSize: '12px',\n fontWeight: null,\n fontFamily: null,\n color: null,\n background: '#FFBB00',\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: '100%',\n focusBorderWidth: null,\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: null,\n hoverColor: null,\n disableColor: null,\n disableBackground: null,\n errorBorderColor: null,\n errorBorderWidth: null,\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n columnIndex: 0,\n configData: {},\n controlStyles: null,\n };\n\n interchangeButtonObj: any = {\n controlStyle: {\n controlType: null,\n borderColor: '#DDDDDD',\n borderWidth: '0px',\n borderRadius: '50%',\n fontSize: null,\n fontWeight: null,\n fontFamily: null,\n color: null,\n background: null,\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: '100%',\n focusBorderWidth: null,\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: null,\n hoverColor: null,\n disableColor: null,\n disableBackground: null,\n errorBorderColor: null,\n errorBorderWidth: null,\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: null,\n borderStyle: null,\n height: '20px',\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n fieldName: 'annuityInterChange',\n label: 'Annuity Interchange Button',\n placeHolder: null,\n metaId: 'ALL_COM_GEN_MCTRL_downloadIconButton_annuityInterChange_V1',\n isVisible: true,\n isDisable: false,\n defaultValue: null,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: null,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: [],\n cssClass: null,\n value: null,\n style: null,\n imageUrl:\n 'https://cdn.godigit.com/digitPlusAssets/Transition-with-border-icon.svg',\n configData: {},\n metaDataObj: null,\n isShowLabel: true,\n isMasterControl: true,\n controlType: 'downloadIconButton',\n };\n\n generateSummaryObj: any = {\n controlType: 'button',\n fieldName: 'generateSummary',\n label: 'Generate Summary',\n placeHolder: null,\n metaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',\n isVisible: true,\n isDisable: true,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: null,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: null,\n cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 my-1 mt-3',\n value: null,\n style: null,\n imageUrl: null,\n isShowLabel: true,\n controlStyle: {\n controlType: null,\n borderColor: null,\n borderWidth: null,\n borderRadius: '4px',\n fontSize: '12px',\n fontWeight: null,\n fontFamily: null,\n color: null,\n background: '#FFBB00',\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: '100%',\n focusBorderWidth: null,\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: null,\n hoverColor: null,\n disableColor: null,\n disableBackground: null,\n errorBorderColor: null,\n errorBorderWidth: null,\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n columnIndex: 0,\n configData: {},\n controlStyles: null,\n };\n\n guranteedannuityObj: any={\n \"controlType\": \"radio\",\n \"fieldName\": \"guranteedAnnuityage\",\n \"label\": \"Minimum Guaranteed Annuity Payout %\",\n \"placeHolder\": \"\",\n \"metaId\": \"LI_DP_DP_CTRL_radio_annuityType_V1\",\n \"isVisible\": false,\n \"isDisable\": false,\n \"validators\": {\n \"isRequired\": true,\n \"requiredMessage\": \"This field cannot be empty\",\n \"minLength\": null,\n \"minLengthMessage\": null,\n \"maxLength\": 150,\n \"maxLengthMessage\": null,\n \"pattern\": null,\n \"patternMessage\": \"\"\n },\n \"options\": [],\n \"cssClass\": \" col-sm-12 col-md-3 col-lg-3 col-xl-3 annuityType\",\n \"value\": null,\n \"style\": null,\n \"imageUrl\": null,\n \"isShowLabel\": true,\n \"controlStyle\": {\n \"controlType\": \"radio\",\n \"borderColor\": \"#DADADA\",\n \"borderWidth\": \"1px\",\n \"borderRadius\": null,\n \"fontSize\": \"12px\",\n \"fontWeight\": \"400\",\n \"fontFamily\": \"Mulish\",\n \"color\": \"#444444\",\n \"background\": \"#FFFFFF\",\n \"caretColor\": null,\n \"nudgeDisplayImage\": null,\n \"dropdownOptionBgColor\": null,\n \"dropdownOptionColor\": null,\n \"dropdownOptionFontWeight\": null,\n \"width\": \"45px\",\n \"focusBorderWidth\": \"1px\",\n \"focusBorderColor\": \"#ffbb00\",\n \"focusBackground\": null,\n \"focusColor\": \"#444444\",\n \"focusDropdownOptionBgColor\": null,\n \"focusDropdownOptionColor\": null,\n \"focusDropdownOptionFontWeight\": null,\n \"focusDropdownOptionBorderLeft\": null,\n \"focusDropdownOptionBorderRadius\": null,\n \"hoverBorderColor\": \"#DADADA\",\n \"hoverBorderWidth\": \"1px\",\n \"hoverColor\": \"#444444\",\n \"disableColor\": \"#ECECEC\",\n \"disableBackground\": \"#ECECEC\",\n \"errorBorderColor\": \"#DADADA\",\n \"errorBorderWidth\": \"1px\",\n \"errorColor\": \"#444444\",\n \"createdDate\": null,\n \"padding\": null,\n \"margin\": null,\n \"isMasterCss\": null,\n \"controlMetaId\": \"LI_DP_DP_CTRL_radio_annuityType_V1\",\n \"borderStyle\": null,\n \"height\": \"32px\",\n \"minHeight\": null,\n \"maxHeight\": null,\n \"minWidth\": \"45px\",\n \"maxWidth\": null,\n \"cssClass\": null\n },\n \"columnIndex\": 0,\n \"configData\": {},\n \"controlStyles\": null\n };\n\n constructor(public masterService : MasterControlService) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if ( (changes['premiumDetails']) && !this.masterService.checkIfValueIsEmpty(changes['premiumDetails'].currentValue) ) {\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.Premium)) {\n // Create new object to trigger change detection\n this.annuityPremium = {\n textValue: this.premiumDetails()?.Premium['textValue'],\n selectValue: this.premiumDetails()?.Premium['selectValue']\n };\n\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'isDisable')) {\n this.annuityPremiumObj['isDisable'] = this.premiumDetails()?.Premium['isDisable'];\n }\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'isDisableDropdown')) {\n this.annuityPremiumObj['configData']['isDisableDropdown'] = this.premiumDetails()?.Premium['isDisableDropdown'];\n }\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'options')) {\n this.annuityPremiumObj['options'] = this.premiumDetails()?.Premium['options'];\n }\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuity)) {\n // Create new object to trigger change detection\n this.minumumAnnuityPayout = {\n textValue: this.premiumDetails()?.annuity['textValue'],\n selectValue: this.premiumDetails()?.annuity['selectValue']\n };\n\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'isDisable')) {\n this.minimumAnnuityPayoutObj['isDisable'] = this.premiumDetails()?.annuity['isDisable'];\n }\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'isDisableDropdown')) {\n this.minimumAnnuityPayoutObj['configData']['isDisableDropdown'] = this.premiumDetails()?.annuity['isDisableDropdown'];\n }\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'options')) {\n this.minimumAnnuityPayoutObj['options'] = this.premiumDetails()?.annuity['options'];\n }\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuityTableCalculator)) {\n // Create new object to trigger change detection\n this.annuityTableCalculator = this.premiumDetails()?.annuityTableCalculator;\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity)) {\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['controlStyle'])) {\n this.recalculateButton['controlStyle'] = this.premiumDetails()?.calculateAnnuity['controlStyle']\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['label'])) {\n this.recalculateButton['label'] = this.premiumDetails()?.calculateAnnuity['label']\n }\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['isDisable'])) {\n this.recalculateButton['isDisable'] = this.premiumDetails()?.calculateAnnuity['isDisable']\n }\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.digitBossSwitch)) {\n this.digitBossSwitch = this.premiumDetails()?.digitBossSwitch;\n\n }\n\n //guranteed Annuity options\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity)) {\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity['options'])) {\n this.guranteedannuityObj['options'] = this.premiumDetails()?.guranteedAnnuity['options'];\n }\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity['isVisible'])) {\n this.guranteedannuityObj['isVisible'] = this.premiumDetails()?.guranteedAnnuity['isVisible'];\n }\n\n\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary)) {\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['isVisible'])) {\n this.generateSummaryObj['isVisible'] = this.premiumDetails()?.generateSummary['isVisible']\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['controlStyle'])) {\n this.generateSummaryObj['controlStyle'] = this.premiumDetails()?.generateSummary['controlStyle'];\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['label'])) {\n this.generateSummaryObj['label'] = this.premiumDetails()?.generateSummary['label'];\n }\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['isDisable'])) {\n this.generateSummaryObj['isDisable'] = this.premiumDetails()?.generateSummary['isDisable']\n }\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption)) {\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption['isVisible'])) {\n this.enableAutoDebitObj['isVisible'] = this.premiumDetails()?.autoPayOption['isVisible'];\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption['isVisible'])) {\n this.isEnableAutoDebit = this.premiumDetails()?.autoPayOption['isEnableAutoDebit'];\n }\n\n }\n\n }\n }\n\n calculateButtonClicked() {\n this.validations.ispremiumEntry = false;\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\n this.validations.ispremiumEntry = true;\n }\n this.onCalcualteButtonClick.emit();\n }\n\n generateSummaryClicked() {\n this.onGenerateSummaryClick.emit();\n }\n\n onAnnuityPremiumValueChange(value: any) {\n this.annuityPremium = value;\n this.validations.ispremiumEntry = false;\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\n this.validations.ispremiumEntry = true;\n }\n this.onAnnuityPremiumChange.emit(value);\n }\n onMinPremiumValueChange(value: any) {\n this.minumumAnnuityPayout = value;\n this.onMinimumPremiumValueChange.emit(value);\n }\n\n onEnableAutoDebitValueChange(event : any) {\n this.onAutioDebitValueChange.emit(event);\n }\n\n onGuranteedAnnuityChange(event: any) {\n this.onGuranteedAnnuityValueChange.emit(event);\n }\n\n annualIncomefocusOut() {\n this.validations.ispremiumEntry = false;\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\n this.validations.ispremiumEntry = true;\n }\n }\n}\n","<div class=\"card px-3\" style=\"padding: 16px;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium\n to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Enter Premium\n </div>\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\"\n style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative;\">\n <!-- Vertical center line split around icon -->\n <div\n style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px;height: calc(50% - 16px); top: 0; background: rgba(221, 221, 221, 1)\">\n </div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n <div\n style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% - 16px); bottom: 0; background: rgba(221, 221, 221, 1)\">\n </div>\n </div>\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\">↗</span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \">\n <div class=\"mx-4\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">₹</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-footer-design',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './footer-design.component.html',\n styleUrl: './footer-design.component.css'\n})\nexport class FooterDesignComponent {\n field : any = input.required<any>();\n progress: number = 95;\n updateProgress(value: number) {\n this.progress = Math.min(100, Math.max(0, value));\n }\n}\n","<div class=\"progress-container\" *ngIf=\"field() && field()?.isVisible\">\n <div class=\"circular-progress-wrapper\">\n <div class=\"circular-progress\"\n [style.--progress]=\"field()?.configData?.Progressbar\"\n [class.medium-progress]=\"field()?.configData?.Progressbar >= 25 && field()?.configData?.Progressbar < 50\"\n [class.high-progress]=\"field()?.configData?.Progressbar >= 50\">\n <div class=\"progress-value\">{{ field()?.configData?.Progressbar }}%</div>\n </div>\n </div>\n\n <div class=\"text-content\">\n <h2 class=\"main-heading\" [innerHTML]=\"field()?.configData?.Progressbarmsg\"></h2>\n <h2 class=\"main-heading1\">{{ field()?.configData?.GrossPremium }}</h2>\n </div>\n</div>\n","import { ButtonComponent } from './button/button.component';\nimport { Component, Input, input } from '@angular/core';\nimport { TextboxComponent } from './textbox/textbox.component';\nimport { SelectComponent } from './select/select.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { RadioComponent } from './radio/radio.component';\nimport { ToggleComponent } from './toggle/toggle.component';\nimport { UploadComponent } from './upload/upload.component';\nimport { DobComponent } from './dob/dob.component';\nimport { MobNumberComponent } from './mob-number/mob-number.component';\nimport { InfoComponent } from './info/info.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { TextareaComponent } from './textarea/textarea.component';\nimport { TabComponent } from \"./tab/tab.component\";\nimport { AutocompleteComponent } from \"./autocomplete/autocomplete.component\";\nimport { MultipleSelectComponent } from \"./multiple-select/multiple-select.component\";\nimport { SelectTextboxComponent } from './select-textbox/select-textbox.component';\nimport { OtpTextboxComponent } from \"./otp-textbox/otp-textbox.component\";\nimport { AmountTextboxComponent } from \"./amount-textbox/amount-textbox.component\";\nimport { SuffixTextboxComponent } from \"./suffix-textbox/suffix-textbox.component\";\nimport { OtpMobNumberComponent } from \"./otp-mob-number/otp-mob-number.component\";\nimport { TagMobNumberComponent } from \"./tag-mob-number/tag-mob-number.component\";\nimport { AgeDateComponent } from \"./age-date/age-date.component\";\nimport { AdditionButtonComponent } from \"./addition-button/addition-button.component\";\nimport { InfoTextboxComponent } from \"./info-textbox/info-textbox.component\";\nimport { TextboxWithImageComponent } from \"./textbox-with-image/textbox-with-image.component\";\nimport { EmailWithDomainComponent } from \"./email-with-domain/email-with-domain.component\";\nimport { ImageUploadComponent } from \"./image-upload/image-upload.component\";\nimport { DownloadDocumentComponent } from \"./download-document/download-document.component\";\nimport { AddDocumentComponent } from \"./add-document/add-document.component\";\nimport { HyperlinkComponent } from \"./hyperlink/hyperlink.component\";\nimport { TextboxWithUnderscoreComponent } from \"./textbox-with-underscore/textbox-with-underscore.component\";\nimport { UnderscoreMobNumberComponent } from \"./underscore-mob-number/underscore-mob-number.component\";\nimport { IconButtonComponent } from \"./icon-button/icon-button.component\";\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ImageComponent } from './image/image.component';\nimport { StepperComponent } from \"./stepper/stepper.component\";\nimport { CardComponent } from \"./card/card.component\";\nimport { HrLineComponent } from \"./hr-line/hr-line.component\";\nimport { SearchMultiSelectComponent } from \"./search-multi-select/search-multi-select.component\";\nimport { SubscriptTextboxComponent } from \"./subscript-textbox/subscript-textbox.component\";\nimport { LabelComponent } from \"./label/label.component\";\nimport { SubHeaderComponent } from \"./sub-header/sub-header.component\";\nimport { HeaderComponent } from \"./header/header.component\";\nimport { TableComponent } from './table/table.component';\nimport { TextboxWithTextComponent } from \"./textbox-with-text/textbox-with-text.component\";\nimport { DiscountComponent } from \"./discount/discount.component\";\nimport { BenefitCardComponent } from \"./benefit-card/benefit-card.component\";\nimport { LoaderComponent } from './loader/loader.component';\nimport { WarningSnackbarComponent } from \"./warning-snackbar/warning-snackbar.component\";\nimport { SuccessSnackbarComponent } from \"./success-snackbar/success-snackbar.component\";\nimport { NeutralSnackbarComponent } from \"./neutral-snackbar/neutral-snackbar.component\";\nimport { ErrorSnackbarComponent } from \"./error-snackbar/error-snackbar.component\";\nimport { GreyLabelComponent } from \"./grey-label/grey-label.component\";\nimport { IframeComponent } from \"./iframe/iframe.component\";\nimport { ToggleButtonComponent } from \"./toggle-button/toggle-button.component\";\nimport { PayGetCardComponent } from \"./pay-get-card/pay-get-card.component\";\nimport { InBuiltBenefitComponent } from \"./in-built-benefit/in-built-benefit.component\";\nimport { OtherBenefitsComponent } from \"./other-benefits/other-benefits.component\";\nimport { AnnuityRateLogoComponent } from \"./annuity-rate-logo/annuity-rate-logo.component\";\nimport { DiscountV2Component } from './discount-v2/discount-v2.component';\nimport { LabelValueCardComponent } from './label-value-card/label-value-card.component';\nimport { MedialQuestionsComponent } from \"./medial-questions/medial-questions.component\";\nimport { PageNudgeComponent } from './page-nudge/page-nudge.component';\nimport { ProgressBarComponent } from \"./progress-bar/progress-bar.component\";\nimport { AccordianComponent } from \"./accordian/accordian.component\";\nimport { MiscellaneousInfoBarComponent } from \"./miscellaneous-info-bar/miscellaneous-info-bar.component\";\nimport { PlainTextComponent } from \"./plain-text/plain-text.component\";\nimport { MenuComponent } from './menu/menu.component';\nimport { StepperWIthArrowComponent } from \"./stepper-with-arrow/stepper-with-arrow.component\";\nimport { LabelWithImageComponent } from \"./label-with-image/label-with-image.component\";\nimport { TopHeaderComponent } from \"./top-header/top-header.component\";\nimport { FooterComponent } from \"./footer/footer.component\";\nimport { FooterWithButtonsComponent } from './footer-with-buttons/footer-with-buttons.component';\nimport { MotorGlowPlanDetailsComponent } from \"./motor-glow-plan-details/motor-glow-plan-details.component\";\nimport { FilePreviewComponent } from './file-preview/file-preview.component';\nimport { AnnuityPremiumCalculatorComponent } from \"./annuity-premium-calculator/annuity-premium-calculator.component\";\nimport { FooterDesignComponent } from \"./footer-design/footer-design.component\";\n\n@Component({\n selector: 'lib-master-control',\n standalone: true,\n imports: [\n FormsModule,\n TextboxComponent,\n SelectComponent,\n RadioComponent,\n ToggleComponent,\n UploadComponent,\n DobComponent,\n MobNumberComponent,\n InfoComponent,\n CheckboxComponent,\n TextareaComponent,\n ButtonComponent,\n TabComponent,\n AutocompleteComponent,\n MultipleSelectComponent,\n SelectTextboxComponent,\n OtpTextboxComponent,\n AmountTextboxComponent,\n SuffixTextboxComponent,\n OtpMobNumberComponent,\n TagMobNumberComponent,\n AgeDateComponent,\n AdditionButtonComponent,\n InfoTextboxComponent,\n TextboxWithImageComponent,\n EmailWithDomainComponent,\n ImageUploadComponent,\n DownloadDocumentComponent,\n AddDocumentComponent,\n HyperlinkComponent,\n TextboxWithUnderscoreComponent,\n UnderscoreMobNumberComponent,\n IconButtonComponent,\n ReactiveFormsModule,\n ImageComponent,\n StepperComponent,\n CardComponent,\n HrLineComponent,\n SearchMultiSelectComponent,\n SubscriptTextboxComponent,\n LabelComponent,\n SubHeaderComponent,\n HeaderComponent,\n TextboxWithTextComponent,\n DiscountComponent,\n BenefitCardComponent,\n TableComponent,\n LoaderComponent,\n WarningSnackbarComponent,\n SuccessSnackbarComponent,\n NeutralSnackbarComponent,\n ErrorSnackbarComponent,\n GreyLabelComponent,\n IframeComponent,\n ToggleButtonComponent,\n PayGetCardComponent,\n InBuiltBenefitComponent,\n OtherBenefitsComponent,\n AnnuityRateLogoComponent,\n DiscountV2Component,\n LabelValueCardComponent,\n MedialQuestionsComponent,\n PageNudgeComponent,\n ProgressBarComponent,\n AccordianComponent,\n MiscellaneousInfoBarComponent,\n PlainTextComponent,\n MenuComponent,\n StepperWIthArrowComponent,\n LabelWithImageComponent,\n TopHeaderComponent,\n FooterComponent,\n FooterWithButtonsComponent,\n MotorGlowPlanDetailsComponent,\n AnnuityPremiumCalculatorComponent,\n FilePreviewComponent,\n FooterDesignComponent\n],\n templateUrl: './master-control.component.html',\n styleUrls: ['./master-control.component.css']\n})\nexport class MasterControlComponent {\n field: any = input.required<any>();\n @Input() formGroup: FormGroup = new FormGroup({});\n constructor() {}\n}\n","@switch (field()?.controlType) {\n @case ('top-header') {\n <lib-top-header [field]=\"field()\" />\n }\n @case ('footer') {\n <lib-footer [field]=\"field()\" />\n }\n @case('footer-buttons')\n {\n <lib-footer-with-buttons [field]=\"field()\"></lib-footer-with-buttons>\n }\n @case('text') {\n <lib-textbox [field]=\"field()\"></lib-textbox>\n }\n @case('select') {\n <lib-select [field]=\"field()\"/>\n }\n\n @case('radio') {\n <lib-radio [field]=\"field()\" />\n }\n\n @case('toggle') {\n <lib-toggle [field]=\"field()\" />\n }\n\n @case('file') {\n <lib-upload [field]=\"field()\" />\n }\n\n @case('date') {\n <lib-dob [field]=\"field()\" />\n }\n\n @case('mobileNumber') {\n <lib-mob-number [field]=\"field()\" />\n }\n\n @case('info') {\n <lib-info [field]=\"field()\" />\n }\n\n @case('checkbox') {\n <lib-checkbox [field]=\"field()\" />\n }\n\n @case('textarea') {\n <lib-textarea [field]=\"field()\" />\n }\n\n @case ('button') {\n <lib-button [field]=\"field()\" />\n }\n\n @case ('tab') {\n <lib-tab [field]=\"field()\" />\n }\n\n @case ('autocomplete') {\n <lib-autocomplete [field]=\"field()\" />\n }\n\n @case ('multipleSelect') {\n <lib-multiple-select [field]=\"field()\" />\n }\n\n @case ('textboxWithSelect') {\n <lib-select-textbox [field]=\"field()\" />\n }\n\n @case ('otpTextbox') {\n <lib-otp-textbox [field]=\"field()\" />\n }\n\n @case ('amountTextbox') {\n <lib-amount-textbox [field]=\"field()\" />\n }\n\n @case ('suffixTextbox') {\n <lib-suffix-textbox [field]=\"field()\" />\n }\n\n @case ('otpMobNumber') {\n <lib-otp-mob-number [field]=\"field()\" />\n }\n\n @case ('tagMobNumber') {\n <lib-tag-mob-number [field]=\"field()\" />\n }\n\n @case ('dateWithAge') {\n <lib-age-date [field]=\"field()\" />\n }\n\n @case ('additionButton') {\n <lib-addition-button [field]=\"field()\" />\n }\n\n @case ('infoTextbox') {\n <lib-info-textbox [field]=\"field()\" />\n }\n\n @case ('textboxWithImage') {\n <lib-textbox-with-image [field]=\"field()\" />\n }\n\n @case ('emailWithDomain') {\n <lib-email-with-domain [field]=\"field()\" />\n }\n\n @case ('imageUpload') {\n <lib-image-upload [field]=\"field()\" />\n }\n\n @case ('downloadDocument') {\n <lib-download-document [field]=\"field()\" />\n }\n\n @case ('addDocument') {\n <lib-add-document [field]=\"field()\" />\n }\n\n @case ('hyperlink') {\n <lib-hyperlink [field]=\"field()\" />\n }\n\n @case ('textboxWithUnderscore') {\n <lib-textbox-with-underscore [field]=\"field()\" />\n }\n\n @case ('underscoreMobNumber') {\n <lib-underscore-mob-number [field]=\"field()\" />\n }\n\n @case ('downloadIconButton') {\n <lib-icon-button [field]=\"field()\" />\n }\n\n @case ('image') {\n <lib-image [field]=\"field()\" />\n }\n @case ('stepper') {\n <lib-stepper [field]=\"field()\" />\n }\n @case ('card') {\n <lib-card [field]=\"field()\" />\n }\n @case ('hrLine') {\n <lib-hr-line [field]=\"field()\" />\n }\n @case ('searchMultiSelect') {\n <lib-search-multi-select [field]=\"field()\" />\n }\n @case ('subscriptTextbox') {\n <lib-subscript-textbox [field]=\"field()\" />\n }\n @case ('label') {\n <lib-label [field]=\"field()\" />\n }\n @case ('subHeading') {\n <lib-sub-header [field]=\"field()\" />\n }\n @case ('heading') {\n <lib-header [field]=\"field()\" />\n }\n @case ('table') {\n <lib-table [field]=\"field()\" />\n }\n @case ('textboxWithText') {\n <lib-textbox-with-text [field]=\"field()\" />\n }\n @case ('loader') {\n <lib-loader [field]=\"field()\" />\n }\n @case ('discount') {\n <lib-discount [field]=\"field()\" />\n }\n @case ('optionalBenefitCard') {\n <lib-benefit-card [field]=\"field()\" />\n }\n @case ('errorSnackbar') {\n <lib-error-snackbar [field]=\"field()\" />\n }\n @case ('warningSnackbar') {\n <lib-warning-snackbar [field]=\"field()\" />\n }\n @case ('successSnackbar') {\n <lib-success-snackbar [field]=\"field()\" />\n }\n @case ('neutralSnackbar') {\n <lib-neutral-snackbar [field]=\"field()\" />\n }\n @case ('boldLabel') {\n <lib-grey-label [field]=\"field()\" />\n }\n @case ('iframe') {\n <lib-iframe [field]=\"field()\" />\n }\n @case ('toggleButton') {\n <lib-toggle-button [field]=\"field()\" />\n }\n @case ('payGetCard') {\n <lib-pay-get-card [field]=\"field()\" />\n }\n @case ('inBuiltBenefit') {\n <lib-in-built-benefit [field]=\"field()\" />\n }\n @case ('otherBenefit') {\n <lib-other-benefits [field]=\"field()\" />\n }\n @case ('annuityRateLogo') {\n <lib-annuity-rate-logo [field]=\"field()\" />\n }\n @case ('discountAnnuity') {\n <lib-discount-v2 [field]=\"field()\" />\n }\n @case ('labelValue'){\n <lib-label-value-card [field]=\"field()\" />\n }\n @case ('medicalQuestions'){\n <lib-medial-questions [field]=\"field()\" />\n }\n @case ('nudge'){\n <lib-page-nudge [field]=\"field()\"/>\n }\n @case ('progressBar'){\n <lib-progress-bar [field]=\"field()\"/>\n }\n @case ('accordian'){\n <lib-accordian [field]=\"field()\"/>\n }\n @case ('miscInfo'){\n <lib-miscellaneous-info-bar [field]=\"field()\"/>\n }\n @case ('plainText'){\n <lib-plain-text [field]=\"field()\"/>\n }\n @case ('menu'){\n <lib-menu [field]=\"field()\" />\n }\n @case ('stepperWithArrow') {\n <lib-stepper-with-arrow [field]=\"field()\" />\n }\n @case ('labelWithImage') {\n <lib-label-with-image [field]=\"field()\" />\n }\n @case ('motorGlowPlanDetails') {\n <lib-motor-glow-plan-details [field]=\"field()\" />\n }\n @case ('premiumToAnnuityCalculator') {\n <lib-annuity-premium-calculator [field]=\"field()\" />\n } @case ('footerProgressBar') {\n <lib-footer-design [field]=\"field()\" />\n }\n}\n","/*\n * Public API Surface of master-control\n */\n\nexport * from './lib/master-control.service';\nexport * from './lib/textbox/textbox.component';\nexport * from './lib/master-control.component';\nexport * from './lib/checkbox/checkbox.component';\nexport * from './lib/dob/dob.component';\nexport * from './lib/info/info.component';\nexport * from './lib/mob-number/mob-number.component';\nexport * from './lib/radio/radio.component';\nexport * from './lib/select/select.component';\nexport * from './lib/textarea/textarea.component';\nexport * from './lib/upload/upload.component';\nexport * from './lib/toggle/toggle.component';\nexport * from './lib/button/button.component';\nexport * from './lib/tab/tab.component';\nexport * from './lib/autocomplete/autocomplete.component';\nexport * from './lib/multiple-select/multiple-select.component';\nexport * from './lib/select-textbox/select-textbox.component';\nexport * from './lib/otp-textbox/otp-textbox.component';\nexport * from './lib/amount-textbox/amount-textbox.component';\nexport * from './lib/suffix-textbox/suffix-textbox.component';\nexport * from './lib/otp-mob-number/otp-mob-number.component';\nexport * from './lib/age-date/age-date.component';\nexport * from './lib/addition-button/addition-button.component';\nexport * from './lib/textbox-with-image/textbox-with-image.component';\nexport * from './lib/email-with-domain/email-with-domain.component';\nexport * from './lib/image-upload/image-upload.component';\nexport * from './lib/download-document/download-document.component';\nexport * from './lib/add-document/add-document.component';\nexport * from './lib/hyperlink/hyperlink.component';\nexport * from './lib/textbox-with-underscore/textbox-with-underscore.component';\nexport * from './lib/icon-button/icon-button.component';\nexport * from './lib/image/image.component';\nexport * from './lib/stepper/stepper.component';\nexport * from './lib/card/card.component';\nexport * from './lib/hr-line/hr-line.component';\nexport * from './lib/search-multi-select/search-multi-select.component';\nexport * from './lib/subscript-textbox/subscript-textbox.component';\nexport * from './lib/label/label.component';\nexport * from './lib/table/table.component';\nexport * from './lib/textbox-with-text/textbox-with-text.component';\nexport * from './lib/loader/loader.component';\nexport * from './lib/discount/discount.component';\nexport * from './lib/benefit-card/benefit-card.component';\nexport * from './lib/error-snackbar/error-snackbar.component';\nexport * from './lib/warning-snackbar/warning-snackbar.component';\nexport * from './lib/success-snackbar/success-snackbar.component';\nexport * from './lib/neutral-snackbar/neutral-snackbar.component';\nexport * from './lib/grey-label/grey-label.component';\nexport * from './lib/iframe/iframe.component';\nexport * from './lib/toggle-button/toggle-button.component';\nexport * from './lib/pay-get-card/pay-get-card.component';\nexport * from './lib/in-built-benefit/in-built-benefit.component';\nexport * from './lib/other-benefits/other-benefits.component';\nexport * from './lib/annuity-rate-logo/annuity-rate-logo.component';\nexport * from './lib/label-value-card/label-value-card.component';\nexport * from './lib/medial-questions/medial-questions.component';\nexport * from './lib/discount-v2/discount-v2.component';\nexport * from './lib/page-nudge/page-nudge.component';\nexport * from './lib/header/header.component';\nexport * from './lib/sub-header/sub-header.component';\nexport * from './lib/menu/menu.component';\nexport * from './lib/stepper-with-arrow/stepper-with-arrow.component';\nexport * from './lib/info-textbox/info-textbox.component';\nexport * from './lib/textbox-with-underscore/textbox-with-underscore.component';\nexport * from './lib/label-with-image/label-with-image.component';\nexport * from './lib/underscore-mob-number/underscore-mob-number.component';\nexport * from './lib/motor-glow-plan-details/motor-glow-plan-details.component';\nexport * from './lib/file-preview/file-preview.component';\nexport * from './lib/annuity-premium-calculator/annuity-premium-calculator.component';\nexport * from './lib/footer-design/footer-design.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.MasterControlService","i3","i5","i2","i6","i1","i2.MasterService","i4","i7","i8","i1.MasterService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"master-control.mjs","sources":["../../../projects/master-control/src/lib/master-control.service.ts","../../../projects/master-control/src/lib/textbox/textbox.component.ts","../../../projects/master-control/src/lib/textbox/textbox.component.html","../../../projects/master-control/src/lib/button/button.component.ts","../../../projects/master-control/src/lib/button/button.component.html","../../../projects/master-control/src/lib/directives/customized.tooltip.directive.ts","../../../projects/master-control/src/lib/select/select.component.ts","../../../projects/master-control/src/lib/select/select.component.html","../../../projects/master-control/src/lib/radio/radio.component.ts","../../../projects/master-control/src/lib/radio/radio.component.html","../../../projects/master-control/src/lib/toggle/toggle.component.ts","../../../projects/master-control/src/lib/toggle/toggle.component.html","../../../projects/master-control/src/lib/file-preview/file-preview.component.ts","../../../projects/master-control/src/lib/file-preview/file-preview.component.html","../../../projects/master-control/src/lib/master.service.ts","../../../projects/master-control/src/lib/upload/upload.component.ts","../../../projects/master-control/src/lib/upload/upload.component.html","../../../projects/master-control/src/lib/dob/dob.component.ts","../../../projects/master-control/src/lib/dob/dob.component.html","../../../projects/master-control/src/lib/mob-number/mob-number.component.ts","../../../projects/master-control/src/lib/mob-number/mob-number.component.html","../../../projects/master-control/src/lib/info/info.component.ts","../../../projects/master-control/src/lib/info/info.component.html","../../../projects/master-control/src/lib/checkbox/checkbox.component.ts","../../../projects/master-control/src/lib/checkbox/checkbox.component.html","../../../projects/master-control/src/lib/textarea/textarea.component.ts","../../../projects/master-control/src/lib/textarea/textarea.component.html","../../../projects/master-control/src/lib/tab/tab.component.ts","../../../projects/master-control/src/lib/tab/tab.component.html","../../../projects/master-control/src/lib/autocomplete/autocomplete.component.ts","../../../projects/master-control/src/lib/autocomplete/autocomplete.component.html","../../../projects/master-control/src/lib/multiple-select/multiple-select.component.ts","../../../projects/master-control/src/lib/multiple-select/multiple-select.component.html","../../../projects/master-control/src/lib/select-textbox/select-textbox.component.ts","../../../projects/master-control/src/lib/select-textbox/select-textbox.component.html","../../../projects/master-control/src/lib/otp-textbox/otp-textbox.component.ts","../../../projects/master-control/src/lib/otp-textbox/otp-textbox.component.html","../../../projects/master-control/src/lib/amount-textbox/amount-textbox.component.ts","../../../projects/master-control/src/lib/amount-textbox/amount-textbox.component.html","../../../projects/master-control/src/lib/suffix-textbox/suffix-textbox.component.ts","../../../projects/master-control/src/lib/suffix-textbox/suffix-textbox.component.html","../../../projects/master-control/src/lib/otp-mob-number/otp-mob-number.component.ts","../../../projects/master-control/src/lib/otp-mob-number/otp-mob-number.component.html","../../../projects/master-control/src/lib/tag-mob-number/tag-mob-number.component.ts","../../../projects/master-control/src/lib/tag-mob-number/tag-mob-number.component.html","../../../projects/master-control/src/lib/age-date/age-date.component.ts","../../../projects/master-control/src/lib/age-date/age-date.component.html","../../../projects/master-control/src/lib/addition-button/addition-button.component.ts","../../../projects/master-control/src/lib/addition-button/addition-button.component.html","../../../projects/master-control/src/lib/info-textbox/info-textbox.component.ts","../../../projects/master-control/src/lib/info-textbox/info-textbox.component.html","../../../projects/master-control/src/lib/textbox-with-image/textbox-with-image.component.ts","../../../projects/master-control/src/lib/textbox-with-image/textbox-with-image.component.html","../../../projects/master-control/src/lib/email-with-domain/email-with-domain.component.ts","../../../projects/master-control/src/lib/email-with-domain/email-with-domain.component.html","../../../projects/master-control/src/lib/image-upload/image-upload.component.ts","../../../projects/master-control/src/lib/image-upload/image-upload.component.html","../../../projects/master-control/src/lib/download-document/download-document.component.ts","../../../projects/master-control/src/lib/download-document/download-document.component.html","../../../projects/master-control/src/lib/add-document/add-document.component.ts","../../../projects/master-control/src/lib/add-document/add-document.component.html","../../../projects/master-control/src/lib/hyperlink/hyperlink.component.ts","../../../projects/master-control/src/lib/hyperlink/hyperlink.component.html","../../../projects/master-control/src/lib/textbox-with-underscore/textbox-with-underscore.component.ts","../../../projects/master-control/src/lib/textbox-with-underscore/textbox-with-underscore.component.html","../../../projects/master-control/src/lib/underscore-mob-number/underscore-mob-number.component.ts","../../../projects/master-control/src/lib/underscore-mob-number/underscore-mob-number.component.html","../../../projects/master-control/src/lib/icon-button/icon-button.component.ts","../../../projects/master-control/src/lib/icon-button/icon-button.component.html","../../../projects/master-control/src/lib/image/image.component.ts","../../../projects/master-control/src/lib/image/image.component.html","../../../projects/master-control/src/lib/stepper/stepper.component.ts","../../../projects/master-control/src/lib/stepper/stepper.component.html","../../../projects/master-control/src/lib/card/card.component.ts","../../../projects/master-control/src/lib/card/card.component.html","../../../projects/master-control/src/lib/hr-line/hr-line.component.ts","../../../projects/master-control/src/lib/hr-line/hr-line.component.html","../../../projects/master-control/src/lib/search-multi-select/search-multi-select.component.ts","../../../projects/master-control/src/lib/search-multi-select/search-multi-select.component.html","../../../projects/master-control/src/lib/subscript-textbox/subscript-textbox.component.ts","../../../projects/master-control/src/lib/subscript-textbox/subscript-textbox.component.html","../../../projects/master-control/src/lib/label/label.component.ts","../../../projects/master-control/src/lib/label/label.component.html","../../../projects/master-control/src/lib/sub-header/sub-header.component.ts","../../../projects/master-control/src/lib/sub-header/sub-header.component.html","../../../projects/master-control/src/lib/header/header.component.ts","../../../projects/master-control/src/lib/header/header.component.html","../../../projects/master-control/src/lib/table/table.component.ts","../../../projects/master-control/src/lib/table/table.component.html","../../../projects/master-control/src/lib/textbox-with-text/textbox-with-text.component.ts","../../../projects/master-control/src/lib/textbox-with-text/textbox-with-text.component.html","../../../projects/master-control/src/lib/discount/discount.component.ts","../../../projects/master-control/src/lib/discount/discount.component.html","../../../projects/master-control/src/lib/benefit-card/benefit-card.component.ts","../../../projects/master-control/src/lib/benefit-card/benefit-card.component.html","../../../projects/master-control/src/lib/loader/loader.component.ts","../../../projects/master-control/src/lib/loader/loader.component.html","../../../projects/master-control/src/lib/warning-snackbar/warning-snackbar.component.ts","../../../projects/master-control/src/lib/warning-snackbar/warning-snackbar.component.html","../../../projects/master-control/src/lib/success-snackbar/success-snackbar.component.ts","../../../projects/master-control/src/lib/success-snackbar/success-snackbar.component.html","../../../projects/master-control/src/lib/neutral-snackbar/neutral-snackbar.component.ts","../../../projects/master-control/src/lib/neutral-snackbar/neutral-snackbar.component.html","../../../projects/master-control/src/lib/error-snackbar/error-snackbar.component.ts","../../../projects/master-control/src/lib/error-snackbar/error-snackbar.component.html","../../../projects/master-control/src/lib/grey-label/grey-label.component.ts","../../../projects/master-control/src/lib/grey-label/grey-label.component.html","../../../projects/master-control/src/lib/iframe/iframe.component.ts","../../../projects/master-control/src/lib/iframe/iframe.component.html","../../../projects/master-control/src/lib/toggle-button/toggle-button.component.ts","../../../projects/master-control/src/lib/toggle-button/toggle-button.component.html","../../../projects/master-control/src/lib/pay-get-card/pay-get-card.component.ts","../../../projects/master-control/src/lib/pay-get-card/pay-get-card.component.html","../../../projects/master-control/src/lib/in-built-benefit/in-built-benefit.component.ts","../../../projects/master-control/src/lib/in-built-benefit/in-built-benefit.component.html","../../../projects/master-control/src/lib/other-benefits/other-benefits.component.ts","../../../projects/master-control/src/lib/other-benefits/other-benefits.component.html","../../../projects/master-control/src/lib/annuity-rate-logo/annuity-rate-logo.component.ts","../../../projects/master-control/src/lib/annuity-rate-logo/annuity-rate-logo.component.html","../../../projects/master-control/src/lib/discount-v2/discount-v2.component.ts","../../../projects/master-control/src/lib/discount-v2/discount-v2.component.html","../../../projects/master-control/src/lib/label-value-card/label-value-card.component.ts","../../../projects/master-control/src/lib/label-value-card/label-value-card.component.html","../../../projects/master-control/src/lib/medial-questions/medial-questions.component.ts","../../../projects/master-control/src/lib/medial-questions/medial-questions.component.html","../../../projects/master-control/src/lib/page-nudge/page-nudge.component.ts","../../../projects/master-control/src/lib/page-nudge/page-nudge.component.html","../../../projects/master-control/src/lib/progress-bar/progress-bar.component.ts","../../../projects/master-control/src/lib/progress-bar/progress-bar.component.html","../../../projects/master-control/src/lib/accordian/accordian.component.ts","../../../projects/master-control/src/lib/accordian/accordian.component.html","../../../projects/master-control/src/lib/miscellaneous-info-bar/miscellaneous-info-bar.component.ts","../../../projects/master-control/src/lib/miscellaneous-info-bar/miscellaneous-info-bar.component.html","../../../projects/master-control/src/lib/plain-text/plain-text.component.ts","../../../projects/master-control/src/lib/plain-text/plain-text.component.html","../../../projects/master-control/src/lib/menu/menu.component.ts","../../../projects/master-control/src/lib/menu/menu.component.html","../../../projects/master-control/src/lib/stepper-with-arrow/stepper-with-arrow.component.ts","../../../projects/master-control/src/lib/stepper-with-arrow/stepper-with-arrow.component.html","../../../projects/master-control/src/lib/label-with-image/label-with-image.component.ts","../../../projects/master-control/src/lib/label-with-image/label-with-image.component.html","../../../projects/master-control/src/lib/top-header/top-header.component.ts","../../../projects/master-control/src/lib/top-header/top-header.component.html","../../../projects/master-control/src/lib/footer/footer.component.ts","../../../projects/master-control/src/lib/footer/footer.component.html","../../../projects/master-control/src/lib/footer-with-buttons/footer-with-buttons.component.ts","../../../projects/master-control/src/lib/footer-with-buttons/footer-with-buttons.component.html","../../../projects/master-control/src/lib/motor-glow-plan-details/motor-glow-plan-details.component.ts","../../../projects/master-control/src/lib/motor-glow-plan-details/motor-glow-plan-details.component.html","../../../projects/master-control/src/lib/annuity-premium-calculator/annuity-premium-calculator.component.ts","../../../projects/master-control/src/lib/annuity-premium-calculator/annuity-premium-calculator.component.html","../../../projects/master-control/src/lib/footer-design/footer-design.component.ts","../../../projects/master-control/src/lib/footer-design/footer-design.component.html","../../../projects/master-control/src/lib/master-control.component.ts","../../../projects/master-control/src/lib/master-control.component.html","../../../projects/master-control/src/public-api.ts","../../../projects/master-control/src/master-control.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MasterControlService {\n\n configData: any = {\n \"iframe\": {\n \"URLForIframe\": \"N\"\n },\n \"loader\": {\n \"imageURL\": \"\",\n \"imageAltText\": \"\",\n \"text\": \"\",\n \"imageCSS\": {\n \"width\": \"\",\n \"height\": \"\",\n \"borderRadius\": \"\",\n \"boxShadow\": \"\"\n },\n \"cardCSS\": {\n \"width\": \"100%\",\n \"height\": \"100%\",\n \"backgroundColor\": \"#ffffff\",\n \"borderRadius\": \"0px\",\n \"boxShadow\": \"0px 0px 0px 0px rgba(0, 0, 0, 0)\",\n \"alignItems\": \"center\"\n },\n \"textCSS\": {\n \"fontSize\": \"\",\n \"color\": \"\",\n \"textAlign\": \"\",\n \"fontWeight\": \"\"\n },\n \"loaderCSS\": {\n \"display\": \"flex\",\n \"justifyContent\": \"center\",\n \"alignItems\": \"center\",\n \"height\": \"60px\",\n \"gap\": \"8px\",\n \"dot\": {\n \"width\": \"16px\",\n \"height\": \"16px\",\n \"background\": \"#1976d2\",\n \"borderRadius\": \"50%\",\n \"display\": \"inline-block\",\n \"animation\": \"bounce 0.6s infinite alternate\"\n },\n \"dot2\": {\n \"animationDelay\": \"0.2s\"\n },\n \"dot3\": {\n \"animationDelay\": \"0.4s\"\n },\n \"@keyframes bounce\": {\n \"to\": {\n \"opacity\": 0.3,\n \"transform\": \"translateY(-16px)\"\n }\n }\n }\n },\n \"table\": {\n \"showCheckBox\": true,\n \"tableHeaders\": [],\n \"tdData\": [],\n \"showActions\": true,\n \"actionOptions\": [\n {\n \"matIconName\": \"edit\",\n \"displayTitle\": \"Edit\",\n \"toolTip\": \"Edit\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"info\",\n \"displayTitle\": \"Info\",\n \"toolTip\": \"Information\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"download\",\n \"displayTitle\": \"Download Documents\",\n \"toolTip\": \"Download Document\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"notifications_active\",\n \"displayTitle\": \"Send Reminder\",\n \"toolTip\": \"Send Reminder\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"link\",\n \"displayTitle\": \"Send Payment Link\",\n \"toolTip\": \"Payment Link\",\n \"isSelected\": false\n },\n {\n \"matIconName\": \"download\",\n \"displayTitle\": \"Download Policy Document\",\n \"toolTip\": \"Download Policy\",\n \"isSelected\": false\n }, {\n \"matIconName\": \"visibility\",\n \"displayTitle\": \"View Policy Document\",\n \"toolTip\": \"View Policy\",\n \"isSelected\": false\n }, {\n \"matIconName\": \"visibility\",\n \"displayTitle\": \"View new BI\",\n \"toolTip\": \"View new BI\",\n \"isSelected\": false\n }\n\n ],\n \"userSelectedOptions\": {},\n \"showPagination\": true,\n \"rowlength\": 3,\n \"columnlength\": 4,\n \"totalItems\": 1,\n \"paginationSize\": 10,\n \"pageSize\": 10,\n \"pageNumber\": 0\n },\n \"stepper\": {\n \"stepperData\": [\n {\n \"defaultId\": 1,\n \"displayLabel\": \"stepper-1\",\n \"imgIconUrl\": 'https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/check_circle.svg'\n },\n {\n \"defaultId\": 2,\n \"displayLabel\": \"stepper-2\",\n \"imgIconUrl\": 'https://cdn.godigit.com/retail-life/check_circle_Endorsment.svg'\n },\n {\n \"defaultId\": 3,\n \"displayLabel\": \"stepper-3\",\n \"imgIconUrl\": 'https://cdn.godigit.com/retail-life/Endorsement_pending.svg'\n }\n ]\n },\n \"policyDisplayCard\": {\n \"policyDetails\":[{\n \"policyHolderName\":\"XYZ\",\n \"policyType\":\"Glow Plus\",\n \"policyNumber\":\"L1234694934\"\n }\n ]\n }\n }\n\n snackbars: any = [\n {\n \"type\": \"Error\",\n \"imageURL\": \"https://cdn.godigit.com/retail-life/alert-icon-lib.svg\",\n \"imageCSS\": \"toaster-img\",\n \"isShowLabel\": true,\n \"labelCSS\": \"toaster-label\",\n \"messageCSS\": \"toaster-msg\",\n \"horizontalPosition\": \"\",\n \"verticalPosition\": \"\",\n \"duration\": 3000,\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\n \"closeIconCSS\": \"cross\",\n \"labelText\":\"A error toast\",\n \"messageText\":\"Error message here\",\n 'toasterCSS':\"error-snackbar-card\"\n },{\n \"type\": \"Warning\",\n \"imageURL\": \"https://cdn.godigit.com/retail-life/nudge-icon-lib.svg\",\n \"imageCSS\": \"toaster-img\",\n \"isShowLabel\": true,\n \"labelCSS\": \"toaster-label\",\n \"messageCSS\": \"toaster-msg\",\n \"horizontalPosition\": \"\",\n \"verticalPosition\": \"\",\n \"duration\": 3000,\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\n \"closeIconCSS\": \"cross\",\n \"labelText\":\"A warning toast\",\n \"messageText\":\"Warning message here\",\n \"toasterCSS\":\"warning-snackbar-card\"\n },{\n \"type\": \"Success\",\n \"imageURL\": \"https://cdn.godigit.com/retail-life/success-info-lib.svg\",\n \"imageCSS\": \"toaster-img\",\n \"isShowLabel\": true,\n \"labelCSS\": \"toaster-label\",\n \"messageCSS\": \"toaster-msg\",\n \"horizontalPosition\": \"\",\n \"verticalPosition\": \"\",\n \"duration\": 3000,\n \"closeIconImageURL\": \"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/cross.svg\",\n \"closeIconCSS\": \"cross\",\n \"labelText\":\"A success toast\",\n \"messageText\":\"Success message here\",\n \"toasterCSS\":\"success-snackbar-card\"\n },{\n \"type\": \"Neutral\",\n \"imageURL\": \"https://cdn.godigit.com/retail-life/neutral-star-lib-icon.svg\",\n \"imageCSS\": \"neutral-image\",\n \"isShowLabel\": true,\n \"labelCSS\": \"neutral-toaster-label\",\n \"messageCSS\": \"neutral-toaster-msg\",\n \"horizontalPosition\": \"\",\n \"verticalPosition\": \"\",\n \"duration\": 3000,\n \"closeIconImageURL\": \"https://cdn.godigit.com/retail-life/neutral-cross-lib-icon.svg\",\n \"closeIconCSS\": \"cross\",\n \"labelText\":\"A neutral toast\",\n \"messageText\":\"Neutral message here\",\n \"toasterCSS\":\"neutral-snackbar-card\"\n }\n ];\n constructor() { }\n\n checkIfValueIsEmpty(value: any) {\n if (typeof value === 'string') {\n value = value.trim();\n }\n return (\n value === undefined ||\n value === null ||\n value === '' ||\n (value instanceof Array && value.length === 0) ||\n JSON.stringify(value) === '{}'\n );\n }\n\n saveTableFieldState(tableField: any, key: any = 'tableField') {\n localStorage.setItem(key, JSON.stringify(tableField));\n }\n\n restoreTableFieldState(key: any = 'tableField'): any | null {\n const data = localStorage.getItem(key);\n return data ? JSON.parse(data) : null;\n }\n\n addComasToNumberValues(value: any, isRemoveRupeeSymbol : any = false) {\n let newVal: any = value;\n if (!this.checkIfValueIsEmpty(value)) {\n if (\n Number(\n value\n\n .toString()\n\n .replace(\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\n\n ''\n )\n\n .replaceAll(',', '')\n\n .replaceAll('₹', '')\n )\n ) {\n newVal = Number(\n value\n\n .toString()\n\n .replace(\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\n\n ''\n )\n\n .replaceAll('₹', '')\n\n .replaceAll(',', '')\n )\n .toLocaleString('en-IN', {\n style: 'currency',\n\n currency: 'INR',\n\n minimumFractionDigits: 0,\n\n maximumFractionDigits: 0,\n })\n\n .split('₹')[1];\n }\n }\n return isRemoveRupeeSymbol ? newVal?.replaceAll('₹', '').trim() : newVal;\n }\n\n removeComasAndCurrencySymbolFromNumberValues(value: any) {\n if (!this.checkIfValueIsEmpty(value)) {\n return value\n\n .toString()\n\n .replace(\n /[^\\x20-\\x24\\x27-\\x29\\x2B-\\x4E\\x40-\\x5E\\x60-\\x7A\\x7C\\x7E]+/gi,\n\n ''\n )\n\n .replaceAll('₹', '')\n\n .replaceAll(',', '');\n } else {\n return value;\n }\n }\n}\n","import { Component, forwardRef, input, Output, EventEmitter } from '@angular/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { CommonModule } from '@angular/common';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-textbox',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule ,\n CommonModule,\n ReactiveFormsModule\n ],\n templateUrl: './textbox.component.html',\n styleUrl: './textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextboxComponent,\n multi: true\n }\n ]\n})\nexport class TextboxComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n inputValue: any = null;\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n maskEnabled: any = true;\n inputValueDeepCopy:any = null;\n\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n\n ngOnInit() {\n if(!this.field().isInputMasked){\n this.field().isInputMasked = false;\n }\n if(this.field()?.configData?.isTextCapitalized && this.field().isInputMasked){\n this.inputValue = this.field()?.configData?.isTextCapitalized;\n this.checkinputMasked();\n }\n }\n\n writeValue(obj: any): void{\n this.inputValue=!this.masterService.checkIfValueIsEmpty(obj) ? obj : '';\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any) : any {\n let min : any = null;\n let max : any= null;\n let value = event.target.value;\n if(!this.masterService.checkIfValueIsEmpty(this.field()?.configData) && !this.masterService.checkIfValueIsEmpty(this.field()?.configData?.minValue) && !this.masterService.checkIfValueIsEmpty(this.field()?.configData?.maxValue)) {\n min = parseInt(this.field()?.configData?.minValue);\n max = parseInt(this.field()?.configData?.maxValue);\n }\n\n if (!this.masterService.checkIfValueIsEmpty(this.field()?.configData?.inputType) && this.field()?.configData?.inputType === 'number' && !this.masterService.checkIfValueIsEmpty(max) && !this.masterService.checkIfValueIsEmpty(min)) {\n if(parseInt(value) < min || parseInt(value) > max) {\n event.target.value = parseInt(event.target.value.toString().slice(0, -1));\n }\n }\n if(this.field()?.configData?.isAllowNumbersInTextFields) {\n // Remove any non-numeric characters from the input\n let numericValue = value.replace(/[^0-9]/g, '');\n event.target.value = numericValue;\n value = numericValue;\n }\n\n this.inputValue = this.field()?.configData?.isTextCapitalized ? value.toUpperCase() : value;\n this.inputValueDeepCopy = JSON.parse(JSON.stringify(this.inputValue));\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event?: any): void {\n this._unTouched();\n this.blur.emit(event);\n this.checkinputMasked();\n }\n\n checkinputMasked() {\n if(!this.field().isInputMasked){\n this.inputValue = this.inputValueDeepCopy;\n }\n return this.field().isInputMasked ? this.maskInput(this.inputValue) : this.inputValue;\n }\n\n maskInput(value: any) {\n if (value.length > 3){\n this.inputValue = value[0] + 'X'.repeat(value.length - 2) + value[value.length - 1];\n }\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n'--custom-width': field()?.controlStyle?.width ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n />\n }\n <mat-hint *ngIf=\"field()?.configData?.helperText\">{{field()?.configData?.helperText}}</mat-hint>\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n <!-- <mat-error *ngIf=\"field()?.configData?.isInvalidPattern && !masterService.checkIfValueIsEmpty(field()?.validators?.patternMessage)\">\n {{ field()?.validators?.patternMessage }}\n </mat-error> -->\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n\n@Component({\n selector: 'lib-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.css'\n})\nexport class ButtonComponent {\n constructor(public masterService : MasterControlService){}\n field: any = input.required<any>();\n}\n","<Button\n class=\"button\"\n *ngIf=\"field() && field()?.isVisible\"\n [disabled]=\"field()?.isDisable\"\n [ngStyle]=\"\n {\n '--button-border-width': field()?.controlStyle?.borderWidth ,\n '--button-border-color': field()?.controlStyle?.borderColor ,\n '--button-border-style': field()?.controlStyle?.borderStyle ,\n '--button-width': field()?.controlStyle?.width ,\n '--button-font-size': field()?.controlStyle?.fontSize ,\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\n '--button-background': field()?.controlStyle?.background ,\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\n '--button-text-color': field()?.controlStyle?.color ,\n '--button-margin': field()?.controlStyle?.margin ,\n }\"\n [ngClass]=\"field()?.isDisable ? 'button-disable' : 'button'\"\n>\n<span class=\"button-text\">\n<img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl'>\n<span>{{field()?.label}}</span>\n</span>\n</Button>\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n TemplateRef,\n ViewContainerRef,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n selector: '[appTooltipTemplate]',\n standalone: true,\n})\nexport class CustomizedTooltipDirective implements OnDestroy {\n @Input('appTooltipTemplate') template!: TemplateRef<any>;\n\n private tooltipElement: HTMLElement | null = null;\n private showTimeout: any = null;\n private hideTimeout: any = null;\n private static styleInjected = false;\n\n constructor(\n private el: ElementRef,\n private vcr: ViewContainerRef,\n @Inject(DOCUMENT) private document: Document\n ) {\n this.injectStyles();\n }\n\n private injectStyles() {\n // Only inject styles once per application\n if (CustomizedTooltipDirective.styleInjected) {\n return;\n }\n\n const style = this.document.createElement('style');\n style.id = 'tooltip-styles';\n style.textContent = `\n .tooltip-container {\n position: relative;\n display: inline-block;\n}\n\n.tooltip-text-msg {\n max-width: 328px !important;\n min-height: auto !important;\n background-color: white;\n border: 1px solid #ffaa013d !important;\n color: #444444 !important;\n text-align: left;\n border-radius: 8px;\n padding: 12px;\n font-size: 12px;\n position: absolute;\n z-index: 1;\n top: 100%;\n left: 50%;\n transform: translateX(-10%);\n transition: opacity 0.3s;\n box-shadow: 0px 2px 15px 2px #e3e6ec99;\n letter-spacing: 0px;\n line-height: 150%;\n}\n.tooltip-text-msg, p {\n font-weight: 400 !important;\n}\n\n.tooltip-container:hover .tooltip-text-msg {\n visibility: visible;\n opacity: 1;\n}\n\n.tooltip-text-msg::after {\n content: \"\";\n position: absolute;\n bottom: 100%;\n left: var(--arrow-left-position, 10%);\n transform: translateX(-50%);\n border-width: 10px;\n border-style: solid;\n border-color: transparent transparent #ffaa013d transparent;\n z-index: 2;\n}\n\n.tooltip-text-msg::before {\n content: \"\";\n position: absolute;\n bottom: calc(100% - 0px);\n left: var(--arrow-left-position, 10%);\n transform: translateX(-50%);\n border-width: 9px;\n border-style: solid;\n border-color: transparent transparent #fff transparent;\n z-index: 3;\n}\n `;\n\n this.document.head.appendChild(style);\n CustomizedTooltipDirective.styleInjected = true;\n }\n\n @HostListener('mouseenter')\n showTooltip() {\n // Clear any existing hide timeout\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n\n // If tooltip already exists, don't create another\n if (this.tooltipElement) {\n return;\n }\n\n // Small delay to prevent flickering\n this.showTimeout = setTimeout(() => {\n if (!this.tooltipElement && this.template) {\n // Create tooltip container\n this.tooltipElement = this.document.createElement('div');\n this.tooltipElement.className = 'tooltip-text-msg';\n\n // Add pointer-events none to prevent mouse interference\n this.tooltipElement.style.pointerEvents = 'none';\n\n // Render the template content\n const embeddedView = this.vcr.createEmbeddedView(this.template);\n embeddedView.detectChanges();\n embeddedView.rootNodes.forEach((node: any) => {\n this.tooltipElement?.appendChild(node);\n });\n\n // Position the tooltip\n this.document.body.appendChild(this.tooltipElement);\n const rect = this.el.nativeElement.getBoundingClientRect();\n this.tooltipElement.style.position = 'absolute';\n this.tooltipElement.style.top = (rect.bottom + 10) + 'px';\n this.tooltipElement.style.left = (rect.left - 10) + 'px';\n this.tooltipElement.style.visibility = 'visible';\n this.tooltipElement.style.opacity = '1';\n\n // Wait a frame for the tooltip to be fully rendered with its content\n requestAnimationFrame(() => {\n if (this.tooltipElement) {\n // Find the image element inside the span to get its actual dimensions\n const imgElement = this.el.nativeElement.querySelector('img');\n let iconCenterX: number;\n\n if (imgElement) {\n const imgRect = imgElement.getBoundingClientRect();\n iconCenterX = imgRect.left + (imgRect.width / 2);\n } else {\n // Fallback to span center if no image found\n iconCenterX = rect.left + (rect.width / 2);\n }\n\n // Get the actual tooltip position after it's rendered\n const tooltipRect = this.tooltipElement.getBoundingClientRect();\n const arrowPosition = iconCenterX - tooltipRect.left;\n this.tooltipElement.style.setProperty('--arrow-left-position', `${arrowPosition}px`);\n }\n });\n }\n }, 100);\n }\n\n @HostListener('mouseleave')\n hideTooltip() {\n // Clear any existing show timeout\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n\n // Small delay before hiding to prevent flickering\n this.hideTimeout = setTimeout(() => {\n if (this.tooltipElement) {\n this.document.body.removeChild(this.tooltipElement);\n this.tooltipElement = null;\n this.vcr.clear();\n }\n }, 50);\n }\n\n ngOnDestroy() {\n // Clean up timeouts\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n }\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n }\n // Clean up tooltip\n if (this.tooltipElement) {\n this.document.body.removeChild(this.tooltipElement);\n this.tooltipElement = null;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MasterControlService } from '../master-control.service';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\n\n@Component({\n selector: 'lib-select',\n standalone: true,\n imports: [\n MatSelectModule,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatInputModule,\n FormsModule,\n MatOptionModule,\n CommonModule,\n ReactiveFormsModule,\n CustomizedTooltipDirective\n ],\n templateUrl: './select.component.html',\n styleUrl: './select.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectComponent,\n multi: true\n }\n ]\n})\nexport class SelectComponent implements ControlValueAccessor {\n\nconstructor(public masterService : MasterControlService){}\n field : any = input.required<any>();\n\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n configData : any = {\n isInfoMsgVisible: true,\n };\n\n onChange: any = () => {};\n onTouched: any = () => {};\n @Output() selectionChange = new EventEmitter<any>();\n @Output() infoClick = new EventEmitter<any>();\n // @Output() change = new EventEmitter<any>();\n\n // ngOnInit(): void {\n // // Initialize inputValue with a default or initial value if needed\n // }\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n selectionChanged(event: MatSelectChange) {\n this.inputValue = event.value;\n this.onChange(event.value);\n this.onTouched();\n this.selectionChange.emit(event.value);\n }\n\n handleWhereToFindClick(): void {\n this.infoClick.emit({ field: this.field });\n }\n\n onSelectOpened(opened: boolean) {\n const css = this.field()?.controlStyle;\n if (opened) {\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\n } else {\n document.body.style.removeProperty('--custom-select-option-background-color');\n document.body.style.removeProperty('--custom-select-option-font-color');\n document.body.style.removeProperty('--custom-select-option-font-weight');\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\n }\n}\n}\n","<label class=\"field-lable info-label\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">\n <span>{{ field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></span>\n <!-- <span style=\"justify-content: end;\" *ngIf=\"field() && field()?.configData?.infoMessage\">\n <img class=\"mx-1\" src=\"https://cdn.godigit.com/retail-life/question-mark.svg\" alt=\"\">\n <u>{{field()?.configData?.infoMessage}} ></u>\n </span>\\ -->\n <span class=\"info-content\" *ngIf=\"configData.isInfoMsgVisible\">\n <img class=\"mx-1\" *ngIf=\"field()?.configData?.imageURL\" [src]=\"field()?.configData?.imageURL\" alt=\"\">\n <u style=\"cursor: pointer;\" (click)=\"handleWhereToFindClick()\">{{field()?.configData?.infoMsg}}</u>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().imageUrl\" class=\"toggle-img mx-1\" />\n </span>\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.infoMessage\"></span>\n </ng-template>\n\n</label>\n\n<mat-form-field appearance=\"outline\" class=\"input-full-width full-width w-100\" *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\">\n @if(reactiveFormControlobject()) {\n <mat-select [id]=\"field()?.fieldName\" [attr.name]=\"field()?.fieldName\" [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\" [disabled]=\"field()?.isDisable\" (openedChange)=\"onSelectOpened($event)\"\n [value]=\"inputValue\" (selectionChange)=\"selectionChanged($event)\" [formControl]=\"reactiveFormControlobject()\">\n <mat-option *ngFor=\"let data of field()?.options\" [id]=\"data.value\" [value]=\"data.value\">{{\n data.label\n }}</mat-option>\n </mat-select>\n }@else {\n <mat-select [id]=\"field()?.fieldName\" [attr.name]=\"field()?.fieldName\" [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\" [disabled]=\"field()?.isDisable\" (openedChange)=\"onSelectOpened($event)\"\n [value]=\"inputValue\" (selectionChange)=\"selectionChanged($event)\">\n <mat-option *ngFor=\"let data of field()?.options\" [id]=\"data.value\" [value]=\"data.value\">{{\n data.label\n }}</mat-option>\n </mat-select>\n }\n\n <!-- selectField.invalid && (selectField.dirty || selectField.touched) -->\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message mt-2\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n</div>\n","import { CustomizedTooltipDirective } from './../directives/customized.tooltip.directive';\nimport { CommonModule } from '@angular/common';\nimport { Component, forwardRef, Input, input, Output, EventEmitter } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { MatRadioModule, MatRadioChange } from '@angular/material/radio';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-radio',\n standalone: true,\n imports: [\n MatRadioModule,\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n CustomizedTooltipDirective\n ],\n templateUrl: './radio.component.html',\n styleUrl: './radio.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioComponent,\n multi: true\n }\n ]\n})\nexport class RadioComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n reactiveFormControlobject : any = input<any>();\n field : any = input.required<any>();\n inputValue: any = null;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n @Output() change = new EventEmitter<any>();\n\n ngOnInit(): void {\n // Initialize inputValue with a default or initial value if needed\n }\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n this.change.emit(newValue);\n }\n\n onRadioGroupChange(event: MatRadioChange): void {\n const newValue = event.value;\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n this.change.emit(newValue);\n console.log('Radio group changed:', newValue);\n }\n\n toggleRadio(value: any, event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.inputValue = value;\n if (this.reactiveFormControlobject && this.reactiveFormControlobject.setValue) {\n this.reactiveFormControlobject.setValue(value);\n }\n this.onRadioGroupChange({ source: {} as any, value: value });\n }\n\n}\n\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\n }\">{{field()?.label}}<span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n </label>\n @if(reactiveFormControlobject()) {\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\n class=\"radio-btn-group radio-btn-gender\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n (change)=\"onRadioGroupChange($event)\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable || reactiveFormControlobject?.disabled, 'two-options': field()?.options?.length === 2}\"\n (click)=\"toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }@else {\n <mat-radio-group class=\"w-100\" *ngIf=\"field() && field()?.isVisible\"\n class=\"radio-btn-group radio-btn-gender\"\n [required]=\"field()?.validators?.isRequired\"\n [value]=\"inputValue\"\n (change)=\"onRadioGroupChange($event)\"\n >\n <div\n class=\"card radio-card-gender py-auto px-1\"\n *ngFor=\"let data of field()?.options\"\n [ngClass]=\"{'disable-radio-btn': field()?.isDisable, 'two-options': field()?.options?.length === 2}\"\n (click)=\"toggleRadio(data.value, $event)\"\n [ngStyle]=\"{\n '--radio-button-border-color': inputValue === data.value ? field()?.controlStyle?.focusBorderColor : field()?.controlStyle?.borderColor,\n '--radio-button-background-color': inputValue === data.value ? field()?.controlStyle?.focusBackground : field()?.controlStyle?.background,\n '--radio-button-border-width': inputValue === data.value ? field()?.controlStyle?.focusBorderWidth : field()?.controlStyle?.borderWidth,\n '--radio-button-border-radius': inputValue === data.value ? field()?.controlStyle?.borderRadius : field()?.controlStyle?.borderRadius,\n }\"\n >\n <mat-radio-button\n style=\"min-width: 72px; text-align: center;\"\n class=\"radioButtonGender\"\n [value]=\"data.value\"\n >\n <span style=\"white-space: pre-line;\" class=\"forRadioLabel\" [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color,\n }\">{{ data.label }}\n <img class=\"radio-btn-icon\" *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n </span>\n </mat-radio-button>\n </div>\n </mat-radio-group>\n }\n <div class=\"error-message\" *ngIf=\"false\">\n {{field()?.validators?.patternMessage}}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output,EventEmitter, forwardRef } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-toggle',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './toggle.component.html',\n styleUrl: './toggle.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleComponent),\n multi: true,\n },\n ],\n})\nexport class ToggleComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n field : any = input.required<any>();\n inputValue: any = false;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue: any) => {};\n _onTouched: any = () => {};\n\n // Declare Output event emitters here (class level)\n @Output() change = new EventEmitter<any>();\n\n writeValue(obj: any): void {\n this.inputValue = obj;\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Handle disabled state if needed\n }\n\n onToggleChange(event: any): void {\n this.inputValue = event.target.checked;\n this._onChange(this.inputValue);\n this._onTouched();\n // Emit the change event to parent component\n this.change.emit(this.inputValue);\n }\n}\n","<div class=\"\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" [ngStyle]=\"{\n '--custom-toggle-bg-color': field()?.controlStyle?.background,\n '--custom-toggle-border-color': field()?.controlStyle?.borderColor ,\n '--custom-toggle-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-toggle-border-radius': field()?.controlStyle?.borderRadius,\n '--custom-toggle-width': field()?.controlStyle?.width,\n }\"\n class=\"card toggle-background mt-2\"\n >\n <div class=\"toggle_switch mt-2\">\n <div *ngIf=\"field().configData?.leftLabel\" [ngStyle]=\"{\n '--custom-toggle-font-size': field()?.controlStyle?.fontSize ,\n '--custom-toggle-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-toggle-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-toggle-font-color': field()?.controlStyle?.color ,\n }\" class=\"toggle-text\">\n <div>{{field().configData?.leftLabel}}</div>\n </div>\n <div class=\"mt-1\">\n <label class=\"switch\">\n @if(reactiveFormControlobject()) {\n <input\n type=\"checkbox\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [checked]=\"inputValue\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [formControl]=\"reactiveFormControlobject()\"\n (change)=\"onToggleChange($event)\"\n />\n }@else {\n <input\n type=\"checkbox\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [checked]=\"inputValue\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n (change)=\"onToggleChange($event)\"\n />\n }\n <span class=\"slider round\"></span>\n </label>\n </div>\n <div [ngStyle]=\"{\n '--custom-toggle-font-size': field()?.controlStyle?.fontSize ,\n '--custom-toggle-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-toggle-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-toggle-font-color': field()?.controlStyle?.color ,\n }\" class=\"toggle-text mb-2\">\n <div>{{field()?.label}}</div>\n <div style=\"font-size: 10px; font-weight: 400;\" *ngIf=\"field().configData?.subLabel\">{{field()?.configData?.subLabel}} <img alt=\"\" [src]=\"field()?.imageUrl\" *ngIf=\"field()?.imageUrl\" /> </div>\n </div>\n </div>\n </div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'lib-file-preview',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './file-preview.component.html',\n styleUrl: './file-preview.component.css'\n})\nexport class FilePreviewComponent implements OnInit, OnDestroy {\n field = input.required<any>();\n file = input<File | null>(null);\n \n @Output() closed = new EventEmitter<void>();\n\n fileDataUrl: any = '';\n fileObjectUrl: any = '';\n textContent: any = '';\n safeFileUrl: SafeResourceUrl | null = null; \n constructor(private sanitizer: DomSanitizer) {}\n isImage(): any {\n return this.file()?.type.startsWith('image/') || false;\n }\n\n isPdf(): any {\n return this.file()?.type === 'application/pdf' || false;\n }\n\n isText(): any {\n return this.file()?.type.startsWith('text/') || false;\n }\n\n isUnsupported(): any {\n return !this.isImage() && !this.isPdf() && !this.isText(); // ✅ Correct\n }\n\n ngOnInit() {\n document.body.style.overflow = 'hidden';\n this.loadFileContent();\n }\n\n ngOnDestroy() {\n document.body.style.overflow = '';\n if (this.fileObjectUrl) {\n URL.revokeObjectURL(this.fileObjectUrl);\n }\n }\n\n loadFileContent() {\n const currentFile = this.file();\n if (!currentFile) return;\n\n if (this.isImage()) {\n const reader = new FileReader();\n reader.onload = (e) => {\n this.fileDataUrl = e.target?.result as any;\n };\n reader.readAsDataURL(currentFile);\n } else if (this.isPdf()) {\n this.fileObjectUrl = URL.createObjectURL(currentFile);\n this.safeFileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.fileObjectUrl);\n } else if (this.isText()) {\n const reader = new FileReader();\n reader.onload = (e) => {\n this.textContent = e.target?.result as any;\n };\n reader.readAsText(currentFile);\n }\n}\n\n onBackdropClick(event: Event) {\n if (event.target === event.currentTarget) {\n this.closePreview();\n }\n }\n\n closePreview() {\n this.closed.emit();\n }\n\n downloadFile() {\n const currentFile = this.file();\n if (!currentFile) return;\n\n const url = URL.createObjectURL(currentFile);\n const link = document.createElement('a');\n link.href = url;\n link.download = currentFile.name;\n link.style.display = 'none';\n \n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n \n setTimeout(() => URL.revokeObjectURL(url), 100);\n }\n}","<div class=\"file-preview-modal\" \n *ngIf=\"field() && field()?.isVisible\"\n [id]=\"field()?.fieldName + '_preview'\"\n (click)=\"onBackdropClick($event)\"\n (keydown.escape)=\"closePreview()\"\n [ngStyle]=\"{\n '--modal-background': field()?.previewStyle?.modalBackground || 'rgba(0, 0, 0, 0.9)',\n '--modal-z-index': field()?.previewStyle?.zIndex || '10000',\n '--modal-width': field()?.previewStyle?.width || '100%',\n '--modal-height': field()?.previewStyle?.height || '100%'\n }\">\n \n <!-- Image Preview -->\n <div *ngIf=\"isImage()\" \n class=\"preview-container image-container\"\n [id]=\"field()?.fieldName + '_image_container'\"\n [ngStyle]=\"{\n '--image-container-background': field()?.previewStyle?.imageContainerBackground || 'transparent',\n '--image-container-border-radius': field()?.previewStyle?.imageContainerBorderRadius || '8px',\n '--image-container-padding': field()?.previewStyle?.imageContainerPadding || '20px',\n '--image-container-margin': field()?.previewStyle?.imageContainerMargin || '0'\n }\">\n \n <button class=\"close-btn\" \n type=\"button\"\n [id]=\"field()?.fieldName + '_close_btn'\"\n (click)=\"closePreview()\" \n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\n [ngStyle]=\"{\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\n }\">×</button>\n \n <h3 class=\"file-title\"\n [ngStyle]=\"{\n '--title-color': field()?.previewStyle?.titleColor || '#fff',\n '--title-font-family': field()?.previewStyle?.titleFontFamily || 'Mulish',\n '--title-font-size': field()?.previewStyle?.titleFontSize || '18px',\n '--title-font-weight': field()?.previewStyle?.titleFontWeight || '600',\n '--title-margin': field()?.previewStyle?.titleMargin || '0 0 10px 0',\n '--title-padding': field()?.previewStyle?.titlePadding || '0 10px'\n }\">{{ file()?.name }}</h3>\n \n <img [src]=\"fileDataUrl\" \n [alt]=\"file()?.name\" \n [id]=\"field()?.fieldName + '_preview_image'\"\n class=\"preview-image\"\n [ngStyle]=\"{\n '--image-max-width': field()?.previewStyle?.imageMaxWidth || '100%',\n '--image-max-height': field()?.previewStyle?.imageMaxHeight || '80vh',\n '--image-border-radius': field()?.previewStyle?.imageBorderRadius || '8px',\n '--image-box-shadow': field()?.previewStyle?.imageBoxShadow || '0 4px 20px rgba(0,0,0,0.5)',\n '--image-object-fit': field()?.previewStyle?.imageObjectFit || 'contain'\n }\" />\n </div>\n\n <!-- PDF Preview -->\n <div *ngIf=\"isPdf()\" \n class=\"preview-container pdf-container\"\n [id]=\"field()?.fieldName + '_pdf_container'\"\n [ngStyle]=\"{\n '--pdf-container-background': field()?.previewStyle?.pdfContainerBackground || '#fff',\n '--pdf-container-border-radius': field()?.previewStyle?.pdfContainerBorderRadius || '8px',\n '--pdf-container-width': field()?.previewStyle?.pdfContainerWidth || '95vw',\n '--pdf-container-height': field()?.previewStyle?.pdfContainerHeight || '95vh'\n }\">\n \n <!-- Top-right action buttons -->\n <div class=\"pdf-actions-top-right\"\n [ngStyle]=\"{\n '--actions-top': field()?.previewStyle?.actionsTop || '15px',\n '--actions-right': field()?.previewStyle?.actionsRight || '15px',\n '--actions-gap': field()?.previewStyle?.actionsGap || '10px'\n }\">\n \n <button (click)=\"closePreview()\" \n type=\"button\"\n class=\"action-icon-btn close-btn\"\n [id]=\"field()?.fieldName + '_close_pdf'\"\n [title]=\"field()?.previewStyle?.closeBtnTitle || 'Close'\"\n [ngStyle]=\"{\n '--close-btn-background': field()?.previewStyle?.closeBtnBackground || 'rgba(255, 255, 255, 0.9)',\n '--close-btn-color': field()?.previewStyle?.closeBtnColor || '#000',\n '--close-btn-border-radius': field()?.previewStyle?.closeBtnBorderRadius || '50%',\n '--close-btn-font-size': field()?.previewStyle?.closeBtnFontSize || '20px',\n '--close-btn-font-weight': field()?.previewStyle?.closeBtnFontWeight || 'bold',\n '--close-btn-hover-background': field()?.previewStyle?.closeBtnHoverBackground || 'rgba(255, 255, 255, 1)'\n }\">×</button>\n </div>\n \n <!-- File title -->\n <h3 class=\"file-title pdf-title\"\n [ngStyle]=\"{\n '--pdf-title-color': field()?.previewStyle?.pdfTitleColor || '#333',\n '--pdf-title-font-family': field()?.previewStyle?.pdfTitleFontFamily || 'Mulish',\n '--pdf-title-font-size': field()?.previewStyle?.pdfTitleFontSize || '16px',\n '--pdf-title-font-weight': field()?.previewStyle?.pdfTitleFontWeight || '600',\n '--pdf-title-margin': field()?.previewStyle?.pdfTitleMargin || '0px 20px 10px 20px',\n '--pdf-title-padding': field()?.previewStyle?.pdfTitlePadding || '0'\n }\">{{ file()?.name }}</h3>\n \n <iframe [src]=\"safeFileUrl\" \n [title]=\"file()?.name\" \n [id]=\"field()?.fieldName + '_pdf_iframe'\"\n class=\"pdf-iframe\"\n [ngStyle]=\"{\n '--iframe-border': field()?.previewStyle?.iframeBorder || 'none',\n '--iframe-border-radius': field()?.previewStyle?.iframeBorderRadius || '0',\n '--iframe-width': field()?.previewStyle?.iframeWidth || '100%',\n '--iframe-height': field()?.previewStyle?.iframeHeight || 'calc(100% - 80px)',\n '--iframe-min-height': field()?.previewStyle?.iframeMinHeight || '600px'\n }\"></iframe>\n </div>\n\n <!-- Text Preview -->\n <div *ngIf=\"isText()\" \n class=\"preview-container text-container\"\n [id]=\"field()?.fieldName + '_text_container'\"\n [ngStyle]=\"{\n '--text-container-background': field()?.previewStyle?.textContainerBackground || '#fff',\n '--text-container-border-radius': field()?.previewStyle?.textContainerBorderRadius || '8px',\n '--text-container-width': field()?.previewStyle?.textContainerWidth || '95vw',\n '--text-container-height': field()?.previewStyle?.textContainerHeight || '95vh'\n }\">\n \n <div class=\"text-header\"\n [id]=\"field()?.fieldName + '_text_header'\"\n [ngStyle]=\"{\n '--text-header-background': field()?.previewStyle?.textHeaderBackground || '#f8f9fa',\n '--text-header-border-color': field()?.previewStyle?.textHeaderBorderColor || '#dee2e6',\n '--text-header-padding': field()?.previewStyle?.textHeaderPadding || '15px 20px'\n }\">\n \n <h3 class=\"file-title\"\n [ngStyle]=\"{\n '--text-title-color': field()?.previewStyle?.textTitleColor || '#333',\n '--text-title-font-family': field()?.previewStyle?.textTitleFontFamily || 'Mulish',\n '--text-title-font-size': field()?.previewStyle?.textTitleFontSize || '16px',\n '--text-title-font-weight': field()?.previewStyle?.textTitleFontWeight || '600',\n '--text-title-margin': field()?.previewStyle?.textTitleMargin || '0'\n }\">{{ file()?.name }}</h3>\n \n <button (click)=\"closePreview()\" \n type=\"button\"\n class=\"btn btn-danger\"\n [id]=\"field()?.fieldName + '_close_text'\"\n [ngStyle]=\"{\n '--btn-danger-background': field()?.previewStyle?.btnDangerBackground || '#dc3545',\n '--btn-danger-color': field()?.previewStyle?.btnDangerColor || '#fff',\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\n </div>\n \n <pre class=\"text-content\"\n [id]=\"field()?.fieldName + '_text_content'\"\n [ngStyle]=\"{\n '--text-content-background': field()?.previewStyle?.textContentBackground || '#fff',\n '--text-content-color': field()?.previewStyle?.textContentColor || '#333',\n '--text-content-font-family': field()?.previewStyle?.textContentFontFamily || 'Consolas, Monaco, Courier New, monospace',\n '--text-content-font-size': field()?.previewStyle?.textContentFontSize || '14px',\n '--text-content-line-height': field()?.previewStyle?.textContentLineHeight || '1.5',\n '--text-content-padding': field()?.previewStyle?.textContentPadding || '20px',\n '--text-content-margin': field()?.previewStyle?.textContentMargin || '0'\n }\">{{ textContent }}</pre>\n </div>\n\n <!-- Unsupported File -->\n <div *ngIf=\"isUnsupported()\" \n class=\"preview-container unsupported-container\"\n [id]=\"field()?.fieldName + '_unsupported_container'\"\n [ngStyle]=\"{\n '--unsupported-background': field()?.previewStyle?.unsupportedBackground || '#fff',\n '--unsupported-border-radius': field()?.previewStyle?.unsupportedBorderRadius || '8px',\n '--unsupported-padding': field()?.previewStyle?.unsupportedPadding || '40px',\n '--unsupported-min-width': field()?.previewStyle?.unsupportedMinWidth || '300px'\n }\">\n \n <div class=\"unsupported-content\">\n <h3 [ngStyle]=\"{\n '--unsupported-title-color': field()?.previewStyle?.unsupportedTitleColor || '#333',\n '--unsupported-title-font-family': field()?.previewStyle?.unsupportedTitleFontFamily || 'Mulish',\n '--unsupported-title-font-size': field()?.previewStyle?.unsupportedTitleFontSize || '18px',\n '--unsupported-title-font-weight': field()?.previewStyle?.unsupportedTitleFontWeight || '600',\n '--unsupported-title-margin': field()?.previewStyle?.unsupportedTitleMargin || '0 0 20px 0'\n }\">{{ file()?.name }}</h3>\n \n <p [ngStyle]=\"{\n '--unsupported-text-color': field()?.previewStyle?.unsupportedTextColor || '#666',\n '--unsupported-text-font-size': field()?.previewStyle?.unsupportedTextFontSize || '14px',\n '--unsupported-text-margin': field()?.previewStyle?.unsupportedTextMargin || '0 0 30px 0'\n }\">{{ field()?.previewStyle?.unsupportedMessage || 'Preview not available for this file type' }}</p>\n \n <div class=\"unsupported-actions\"\n [ngStyle]=\"{\n '--actions-gap': field()?.previewStyle?.actionsGap || '15px',\n '--actions-justify': field()?.previewStyle?.actionsJustify || 'center'\n }\">\n \n <button (click)=\"downloadFile()\" \n type=\"button\"\n class=\"btn btn-primary\"\n [id]=\"field()?.fieldName + '_download'\"\n [ngStyle]=\"{\n '--btn-primary-background': field()?.previewStyle?.btnPrimaryBackground || '#007bff',\n '--btn-primary-color': field()?.previewStyle?.btnPrimaryColor || '#fff',\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\n }\">{{ field()?.previewStyle?.downloadText || 'Download' }}</button>\n \n <button (click)=\"closePreview()\" \n type=\"button\"\n class=\"btn btn-secondary\"\n [id]=\"field()?.fieldName + '_close_unsupported'\"\n [ngStyle]=\"{\n '--btn-secondary-background': field()?.previewStyle?.btnSecondaryBackground || '#6c757d',\n '--btn-secondary-color': field()?.previewStyle?.btnSecondaryColor || '#fff',\n '--btn-border-radius': field()?.previewStyle?.btnBorderRadius || '4px',\n '--btn-padding': field()?.previewStyle?.btnPadding || '8px 16px',\n '--btn-font-size': field()?.previewStyle?.btnFontSize || '14px'\n }\">{{ field()?.previewStyle?.closeText || 'Close' }}</button>\n </div>\n </div>\n </div>\n</div>","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MasterService {\n\n constructor(private http: HttpClient) { }\n\n getCookieValue(name: string): string {\n const cookie = document.cookie.split(';');\n let tokenName = '';\n let tokenValue = '';\n const index2 = 2;\n cookie.forEach(data => {\n if (data.split('=')[0].includes(name) && !!data.split('=')[1]) {\n tokenName = data.split('=')[0].trim();\n tokenValue = data.split('=')[1];\n }\n if (\n name === 'link' &&\n data.split('=')[0].includes(name) &&\n data.split('=')[index2] !== null &&\n data.split('=')[index2] !== undefined\n ) {\n tokenValue = tokenValue + '=' + data.split('=')[index2];\n }\n });\n return tokenValue;\n }\n\n\n getCommonHeaders(configData : any) {\n const headers: any = {};\n headers['content-type'] = 'application/json';\n if(configData['isSendToken']) {\n headers['Authorization'] = 'Bearer ' + this.getCookieValue(configData['tokenCookieParam']);\n }\n return headers;\n }\n\n getSubQuestions(configData : any, subquestionType: any, personUWID: any) {\n let url = `${configData['apiUrl']}`;\n url += `?${configData['urlParamForDisease']}=${subquestionType}`;\n url += `&${configData['urlParamForPersonUwId']}=${personUWID}`;\n url += `&lang=ENG`\n return this.http.get(url, { headers: this.getCommonHeaders(configData) });\n }\n\n getImage(configData: any, request : any) {\n const headers : any = this.getCommonHeaders(configData);\n headers['applicationid'] = sessionStorage.getItem(configData['sessionStorageApplicationIdParam']);\n return this.http.post(`${configData['apiUrl']}`, request, {headers,\n responseType: 'blob'\n });\n}\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, input, ViewChild, ElementRef, Output, EventEmitter, ComponentRef, EnvironmentInjector, ApplicationRef, createComponent, OnInit, SimpleChanges } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { FilePreviewComponent } from '../file-preview/file-preview.component';\nimport { MasterService } from '../master.service';\n\n@Component({\n selector: 'lib-upload',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n templateUrl: './upload.component.html',\n styleUrl: './upload.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: UploadComponent,\n multi: true\n }\n ]\n})\nexport class UploadComponent implements ControlValueAccessor {\n documentUploaderField = input<any>();\n openQuoteImageObj : any = input<any>();\n http: any;\n // openQuoteImageObj : any = {\n // documentId: \"E1B17401B6604614AC72714AB1C89BEB\",\n // documentCode: \"LAPIC\",\n // documentName: \"LAPIC_1687424860972.png\",\n // companyCode: \"DL\"\n // }\n\n // configData object for api call\n\n// {\n// \"apiUrl\" : \"https://uat-directportallife.godigit.com/DirectPortalLife/life/document\",\n// \"sessionStorageApplicationIdParam\": \"applicationid\",\n// \"isSendToken\" : false,\n// \"tokenCookieParam\" : \"v3Token\"\n// }\n constructor(public masterService : MasterControlService, public appRef: ApplicationRef,\n public injector: EnvironmentInjector, public masterservice : MasterService){}\n\n ngOnChanges(changes: SimpleChanges) {\n if ( (changes['openQuoteImageObj']) && !this.masterService.checkIfValueIsEmpty(changes['openQuoteImageObj'].currentValue) ) {\n if (\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj()) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentId) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentCode) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentName)\n ) {\n this.uploadedFiles = [\n {\n name: this.openQuoteImageObj().documentName\n }\n ];\n }\n\n\n }\n }\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n @ViewChild('fileInput') fileInput!: ElementRef<HTMLInputElement>;\n\n @Output() filesChanged = new EventEmitter<File[]>();\n @Output() fileRemoved = new EventEmitter<{ file: File, index: number }>();\n @Output() filePreview = new EventEmitter<{ file: File, index: number }>();\n public filePreviewRef: ComponentRef<FilePreviewComponent> | null = null;\n // ControlValueAccessor properties\n uploadedFiles: any = [];\n value: any = null;\n _onChange: any = (value: any) => {};\n _onTouched: any = () => {};\n disabled: any = false;\n\n\n // ControlValueAccessor implementation\n writeValue(obj: any) {\n this.value = obj;\n if (obj && Array.isArray(obj)) {\n this.uploadedFiles = obj;\n } else if (obj) {\n this.uploadedFiles = [obj];\n } else {\n this.uploadedFiles = [];\n }\n }\n\n registerOnChange(fn: any) {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: any) {\n this.disabled = isDisabled;\n }\n\n // File upload handling\n onFileSelected(event: any) {\n const files = event.target.files;\n if (files && files.length > 0) {\n if (this.field()?.multiple) {\n this.uploadedFiles = Array.from(files);\n this.value = this.uploadedFiles;\n } else {\n this.uploadedFiles = [files[0]];\n this.value = files[0];\n }\n this._onChange(this.value);\n this._onTouched();\n }\n this.filesChanged.emit(this.uploadedFiles);\n }\n\n removeFile(index: any, event?: Event) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n const removedFile = this.uploadedFiles[index];\n this.uploadedFiles.splice(index, 1);\n if (this.field()?.multiple) {\n this.value = [...this.uploadedFiles];\n } else {\n this.value = this.uploadedFiles.length > 0 ? this.uploadedFiles[0] : null;\n }\n this._onChange(this.value);\n this.fileRemoved.emit({ file: removedFile, index });\n this.filesChanged.emit(this.uploadedFiles);\n }\n\n hasFiles(): any {\n return this.uploadedFiles.length > 0;\n }\n\n triggerFileInput(): void {\n if (this.fileInput) {\n this.fileInput.nativeElement.click();\n }\n }\n\npreviewFile(file: File, index: number, event?: Event): void {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n // Check if the file is newly uploaded or not\n const isActualFile = file instanceof File && file.size > 0;\n\n if (\n !isActualFile &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj()) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentId) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentCode) &&\n !this.masterService.checkIfValueIsEmpty(this.openQuoteImageObj().documentName)\n ) {\n // This is the initially loaded file from openQuoteImageObj, fetch it from server\n if(!this.masterService.checkIfValueIsEmpty(this.field().configData) && !this.masterService.checkIfValueIsEmpty(this.field().configData['apiUrl']) && !this.masterService.checkIfValueIsEmpty(this.field().configData['sessionStorageApplicationIdParam'])) {\n let req : any = {\n documentId: this.openQuoteImageObj().documentId,\n documentCode: this.openQuoteImageObj().documentCode,\n companycode: this.openQuoteImageObj().companyCode,\n }\n this.masterservice.getImage(this.field().configData,req).subscribe((response : any) => {\n if (response) {\n const previewFile = new File([response], this.openQuoteImageObj().documentName, { type: response.type });\n console.log('Downloaded file for preview:', previewFile);\n this.showFilePreview(previewFile);\n }\n });\n }\n } else {\n this.showFilePreview(file);\n }\n}\n\n // Helper method to show file preview\n private showFilePreview(file: File): void {\n this.filePreviewRef = createComponent(FilePreviewComponent, {\n environmentInjector: this.injector\n });\n this.filePreviewRef.setInput('field', this.field());\n this.filePreviewRef.setInput('file', file);\n this.filePreviewRef.instance.closed.subscribe(() => {\n this.closeFilePreview();\n });\n document.body.appendChild(this.filePreviewRef.location.nativeElement);\n this.appRef.attachView(this.filePreviewRef.hostView);\n }\n\n closeFilePreview(): void {\n if (this.filePreviewRef) {\n const element = this.filePreviewRef.location.nativeElement;\n if (element.parentNode) {\n element.parentNode.removeChild(element);\n }\n this.appRef.detachView(this.filePreviewRef.hostView);\n this.filePreviewRef.destroy();\n this.filePreviewRef = null;\n }\n }\n\n ngOnDestroy(): void {\n this.closeFilePreview();\n }\n}\n","<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n @if(reactiveFormControlobject()) {\n <input\n hidden\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [multiple]=\"field()?.configData?.multiple\"\n [accept]=\"field()?.configData?.accept\"\n #fileInput\n (change)=\"onFileSelected($event)\"\n (click)=\"fileInput.value = ''\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n hidden\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [multiple]=\"field()?.configData?.multiple\"\n [accept]=\"field()?.configData?.accept\"\n #fileInput\n (change)=\"onFileSelected($event)\"\n (click)=\"fileInput.value = ''\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n />\n }\n <button\n type=\"button\"\n class=\"upload-btn\"\n (click)=\"triggerFileInput()\"\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\n *ngIf=\"field() && field()?.isVisible\"\n [disabled]=\"field()?.isDisable\"\n [ngStyle]=\"{\n'--upload-width': field()?.controlStyle?.width ,\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\n'--upload-border-color': field()?.controlStyle?.borderColor ,\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\n'--upload-background-color': field()?.controlStyle?.background ,\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\n}\"\n >\n <ng-container *ngIf=\"field()?.label && !hasFiles(); else fileUploadedTemplate\">\n <span class=\"upload-icon\">\n <span\n ><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\n <span class=\"upload-text\" [ngStyle]=\"{\n'--upload-font-color': field()?.controlStyle?.color ,\n'--upload-font-size': field()?.controlStyle?.fontSize ,\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\n}\">{{ field()?.placeHolder }} <span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></span>\n </span>\n </ng-container>\n <ng-template #fileUploadedTemplate>\n <div *ngFor=\"let file of uploadedFiles; let i = index\" class=\"uploaded-file d-flex gap-4\" style=\"transform: translate(0px, -3px);\">\n <span class=\"mt-2 right-icon\" style=\" white-space: nowrap !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\">\n <span><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\n <span [title]=\"file.name\">{{ file.name }}</span>\n </span>\n <div class=\"mt-2 left-icon\">\n <span (click)=\"previewFile(file, i, $event)\" style=\"cursor: pointer;\"><img src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\" alt=\"\"/></span>\n <span (click)=\"removeFile(i, $event)\" style=\"cursor: pointer;\" *ngIf=\"!field()?.isDisable\">\n <img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"/>\n </span>\n </div>\n </div>\n </ng-template>\n </button>\n <div class=\"upload-info\" *ngIf=\"field() && field()?.isVisible && field()?.configData?.subText\">{{field()?.configData?.subText}}</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MomentDateAdapter, MomentDateModule } from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MasterControlService } from '../master-control.service';\n\n\nexport const MY_DATE_FORMAT = {\n parse: {\n dateInput: [\n 'DD-MM-YYYY',\n 'MM/DD/YYYY',\n 'YYYY/MM/DD',\n 'DD/MM/YYYY',\n 'DD MMM YYYY',\n 'DD MMMM YYYY',\n 'DD-MMM-YYYY'\n ]\n },\n display: {\n dateInput: 'DD-MMM-YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'DD-MMM-YYYY',\n monthYearA11yLabel: 'MMMM YYYY'\n }\n};\n\n@Component({\n selector: 'lib-dob',\n standalone: true,\n imports: [MatInputModule, MatFormFieldModule, CommonModule, MatDatepickerModule, MomentDateModule, ReactiveFormsModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: DobComponent,\n multi: true\n },\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: []\n },\n { provide: MAT_DATE_FORMATS, useValue: MY_DATE_FORMAT }\n ],\n templateUrl: './dob.component.html',\n styleUrl: './dob.component.css',\n})\nexport class DobComponent implements ControlValueAccessor {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n @Output() blur = new EventEmitter<any>();\n @Output() valueChange = new EventEmitter<any>();\n @Output() dateSelected = new EventEmitter<any>();\n @Output() invalidDate = new EventEmitter<any>();\n\n constructor(public service : MasterControlService) {}\n\n dateDivisionFormat(event: any) {\n let evt = event.target;\n\n // Check if user is deleting (backspace/delete)\n const isDeleting = event.inputType === 'deleteContentBackward' ||\n event.inputType === 'deleteContentForward' ||\n !event.data;\n\n // If deleting, allow normal deletion without auto-adding dashes\n if (isDeleting) {\n return;\n }\n\n let value = evt.value;\n\n // Handle case where we have existing dashes but need to reformat\n // Split by dash to understand current structure\n const parts = value.split('-');\n\n // If we have exactly 3 parts (date-month-year), don't add more dashes\n if (parts.length < 3) {\n // For first dash after date (2 digits)\n if (value.length > 2 && !value.includes('-')) {\n evt.value = [value.slice(0, 2), '-', value.slice(2)].join('');\n }\n // For second dash after month\n else if (parts.length === 2) {\n const datePart = parts[0];\n const monthPart = parts[1];\n\n // Add dash after numeric month (exactly 2 digits) or alphabetic month (exactly 3 letters)\n if ((monthPart.length === 2 && /^\\d{2}$/.test(monthPart)) ||\n (monthPart.length === 3 && /^[a-zA-Z]{3}$/.test(monthPart))) {\n evt.value = datePart + '-' + monthPart + '-';\n }\n }\n\n }\n const datePart = parts[0] || '';\n const monthPart = parts[1] || '';\n const yearPart = parts[2] || '';\n\n // Prevent further input if limits are reached and restore previous value\n if ((datePart.length >= 2) ||\n (monthPart.length >= 2 && /^\\d+$/.test(monthPart)) ||\n (monthPart.length >= 3 && /^[a-zA-Z]+$/.test(monthPart)) ||\n (yearPart.length >= 4)) {\n\n // Get cursor position to determine which part is being edited\n const cursorPos = evt.selectionStart;\n const isEditingDate = cursorPos <= 3;\n const isEditingMonth = cursorPos > 3 && cursorPos <= (3 + monthPart.length);\n const isEditingYear = cursorPos > (3 + monthPart.length + 1);\n\n // Reconstruct the previous valid value by trimming excess characters\n let previousValidValue='';\n if (isEditingDate && datePart.length >= 2) {\n // Trim date part to 2 characters max\n const validDatePart = datePart.substring(0, 2);\n previousValidValue = validDatePart + (parts[1] ? '-' + parts[1] : '') + (parts[2] ? '-' + parts[2] : '');\n } else if (isEditingMonth && monthPart.length >= 2 && /^\\d+$/.test(monthPart)) {\n // Trim numeric month to 2 characters max\n const validMonthPart = monthPart.substring(0, 2);\n previousValidValue = parts[0] + '-' + validMonthPart + (parts[2] ? '-' + parts[2] : '');\n } else if (isEditingMonth && monthPart.length >= 3 ) {\n // Trim alphabetic month to 3 characters max\n const validMonthPart = monthPart.substring(0, 3);\n previousValidValue = parts[0] + '-' + validMonthPart + (parts[2] ? '-' + parts[2] : '');\n } else if (isEditingYear && yearPart.length >= 4) {\n // Trim year part to 4 characters max\n const validYearPart = yearPart.substring(0, 4);\n previousValidValue = parts[0] + '-' + parts[1] + '-' + validYearPart;\n }\n\n // Prevent input if trying to exceed limits by restoring previous value\n if ((isEditingDate && datePart.length >= 2) ||\n (isEditingMonth && monthPart.length >= 2 && /^\\d+$/.test(monthPart)) ||\n (isEditingMonth && monthPart.length >= 3 ) ||\n (isEditingYear && yearPart.length >= 4)) {\n\n // Restore the previous valid value\n setTimeout(() => {\n evt.value = previousValidValue;\n }, 0);\n event.preventDefault();\n return;\n }\n }\n\n }\n\n\n\n\n\n\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event? : any): void {\n if (!this.service.checkIfValueIsEmpty(event.target.value)) {\n if (isNaN(Date.parse(event.target.value))) {\n event.target.value = '';\n }\n }\n this._unTouched();\n this.blur.emit(event);\n }\n\n\n // Handle datepicker selection\n onDateChange(event: any): void {\n if (event.value) {\n const selectedDate = event.value;\n this.inputValue = selectedDate;\n this._onChange(this.inputValue);\n\n // Emit date selection event\n this.dateSelected.emit({\n formattedValue: this.inputValue,\n dateObject: selectedDate,\n isValid: true,\n source: 'datepicker'\n });\n\n this.valueChange.emit(this.inputValue);\n }\n }\n\n}\n","<label *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" class=\"field-lable\">{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n<mat-form-field class=\"w-100\" appearance=\"outline\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n '--custom-font-size': field()?.controlStyle?.fontSize ,\n '--custom-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-font-color': field()?.controlStyle?.color ,\n '--custom-caret-color': field()?.controlStyle?.caretColor ,\n '--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n '--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n }\">\n @if(reactiveFormControlobject()) {\n <input matInput autocomplete=\"off\" type=\"text\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder || 'DD-MM-YYYY'\" [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\" [matDatepicker]=\"picker\" (input)=\"dateDivisionFormat($event)\"\n [min]=\"field()?.configData?.min\" [max]=\"field()?.configData?.max\" [disabled]=\"field()?.isDisable\"\n (dateChange)=\"onDateChange($event)\" (blur)=\"onInputBlur($event)\" [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\" />\n }@else {\n <input matInput autocomplete=\"off\" type=\"text\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\" [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\" [matDatepicker]=\"picker\" (input)=\"dateDivisionFormat($event)\"\n [min]=\"field()?.configData?.min\" [max]=\"field()?.configData?.max\" [disabled]=\"field()?.isDisable\"\n (dateChange)=\"onDateChange($event)\" (blur)=\"onInputBlur($event)\" [value]=\"inputValue\" />\n }\n\n <mat-datepicker-toggle matSuffix [for]=\"picker\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/date_picker_icon.svg\" style=\"width: 16px\"\n matDatepickerToggleIcon />\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"field()?.configData?.isInvalid\">\n {{ field()?.validators?.patternMessage }}.\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-mob-number',\n standalone: true,\n imports: [CommonModule, MatInputModule, MatFormFieldModule, MatSelectModule, MatOptionModule, ReactiveFormsModule, FormsModule],\n templateUrl: './mob-number.component.html',\n styleUrl: './mob-number.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: MobNumberComponent,\n multi: true\n }\n ]\n})\nexport class MobNumberComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n CountryCode: any = '+91';\n selectedOption: any = null;\n inputValue: any = null;\n searchInputValue: any = null;\n filteredOptions:any=[];\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n // Declare Output event emitters here (class level)\n @Output() blur = new EventEmitter<any>();\n\n ngOnInit(): void {\n this.CountryCode = '+91';\n this.filteredOptions = this.field().options || [];\n }\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event?:any): void {\n this._unTouched();\n this.blur.emit(event);\n }\n searchInputChange(event: any): void {\n this.searchInputValue = event.target.value;\n this.filterOptions();\n }\n\n filterOptions(): void {\n if (!this.searchInputValue || this.searchInputValue.trim() === '') {\n this.filteredOptions = this.field().options || [];\n return;\n }\n const filterValue = this.searchInputValue.toLowerCase();\n this.filteredOptions = (this.field().options || []).filter((option: any) =>\n option.label.toLowerCase().includes(filterValue)\n );\n }\n\n //clear search input if typed value not found and selected value should be first option\n clearSearch(): void {\n if (this.filteredOptions.length === 0) {\n this.searchInputValue = null;\n this.filteredOptions = this.field().options || [];\n }\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n<mat-form-field\n class=\"w-100 mobile-field\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n '--custom-font-size': field()?.controlStyle?.fontSize ,\n '--custom-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-font-color': field()?.controlStyle?.color ,\n '--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\"\n>\n <div matTextPrefix class=\"prefix_alternate_mobile primary\" (click)=\"$event.stopPropagation()\">\n <div class=\"d-flex countryCode\">\n <mat-select class=\"country_code_input\" [(value)]=\"CountryCode\" (click)=\"$event.stopPropagation()\">\n <mat-select-trigger>\n {{ CountryCode }}\n </mat-select-trigger>\n <mat-option (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\n <div class=\"search-input-wrapper\">\n <img src=\"https://cdn.godigit.com/retail-life/search.svg\" alt=\"search\" class=\"search-icon\" />\n <input\n type=\"text\"\n placeholder=\"Search...\"\n autocomplete=\"off\"\n [(ngModel)]=\"searchInputValue\"\n (click)=\"$event.stopPropagation()\"\n (input)=\"searchInputChange($event)\"\n (blur)=\"clearSearch()\"\n class=\"country-code-search-input\"\n />\n </div>\n </mat-option>\n @for (option of filteredOptions; track option.value) {\n <mat-option [value]=\"option.value\">{{ option.label }}</mat-option>\n }\n </mat-select>\n </div>\n <!-- <span class=\"seperation_line\" *ngIf=\"true\"></span> -->\n </div>\n\n <div (click)=\"$event.stopPropagation()\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n (click)=\"$event.stopPropagation()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n />\n }\n </div>\n\n\n <span matSuffix class=\"p-3\" *ngIf=\"false\">\n <img src=\"https://cdn.godigit.com/retail-life/edit-icon.svg\" alt=\"\" />\n </span>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-info',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './info.component.html',\n styleUrl: './info.component.css'\n})\nexport class InfoComponent {\n constructor(public masterService : MasterControlService){}\n field: any = input.required<any>();\n}\n","<div class=\"info-background\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-info-bg-color': field()?.controlStyle?.background ,\n '--custom-info-border-radius': field()?.controlStyle?.borderRadius,\n '--custom-info-border-width': field()?.controlStyle?.borderWidth,\n '--custom-info-border-color': field()?.controlStyle?.borderColor,\n '--custom-info-border-style': field()?.controlStyle?.borderStyle,\n }\">\n <span style=\"display: flex; align-items: flex-start; gap: 16px; padding-top: 16px; padding-bottom: 16px;\">\n <img\n class=\"info-nudge-image mb-1\"\n [src]=\"field()?.controlStyle?.nudgeDisplayImage\"\n alt=\"\"\n />\n <span class=\"info-nudge-text\" [ngStyle]=\"{\n '--custom-info-font-size': field()?.controlStyle?.fontSize ,\n '--custom-info-font-weight': field()?.controlStyle?.fontWeight ,\n '--custom-info-font-family': field()?.controlStyle?.fontFamily ,\n '--custom-info-font-color': field()?.controlStyle?.color ,\n }\">{{ field()?.label }}</span>\n </span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MasterControlService } from '../master-control.service';\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\n\n\n@Component({\n selector: 'lib-checkbox',\n standalone: true,\n imports: [CommonModule , MatCheckboxModule, ReactiveFormsModule, CustomizedTooltipDirective],\n templateUrl: './checkbox.component.html',\n styleUrl: './checkbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CheckboxComponent,\n multi: true\n }\n ]\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n field: any = input.required<any>();\n\n inputValue: any = false;\n reactiveFormControlobject : any = input<any>();\n @Output() change = new EventEmitter<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onCheckboxChange(event: any): void {\n // const target = event.target as HTMLInputElement;\n this.inputValue = event.checked;\n this._onChange(this.inputValue);\n this._unTouched();\n // this.change.emit({ event, field: this.field() });\n this.change.emit(this.inputValue);\n const css = this.field()?.controlStyle;\n if (event.checked) {\n document.body.style.setProperty('--custom-checkbox-border-focus', css?.focusBorderColor || '#ffbb00');\n document.body.style.setProperty('--custom-checkbox-bg-color-focus', css?.focusBackground || '#ffbb00');\n document.body.style.setProperty('--custom-checkbox-border-radius-checkbox', css?.borderRadius || '4px');\n document.body.style.setProperty('--custom-font-size', css?.fontSize || '16px');\n document.body.style.setProperty('--custom-font-weight', css?.fontWeight || '400');\n document.body.style.setProperty('--custom-font-family', css?.fontFamily || 'Mulish');\n document.body.style.setProperty('--custom-font-color', css?.color || '#444');\n } else {\n document.body.style.setProperty('--custom-border-color-focus', css?.focusBorderColor || '#ddd');\n document.body.style.setProperty('--custom-bg-color-focus', css?.focusBackground || '#999');\n document.body.style.setProperty('--custom-border-radius-checkbox', css?.borderRadius || '4px');\n }\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","@if(reactiveFormControlobject()) {\n<mat-checkbox *ngIf=\"field() && field()?.isVisible\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\n [disabled]=\"field()?.isDisable\" [required]=\"field()?.validators?.isRequired\" [checked]=\"inputValue\" (keydown.enter)=\"$event.preventDefault()\"\n [formControl]=\"reactiveFormControlobject()\" (change)=\"onCheckboxChange($event)\" [ngStyle]=\"{\n '--checkbox-border-radius': field()?.controlStyle?.borderRadius,\n '--checkbox-bg-color': field()?.controlStyle?.background,\n '--checkbox-border-color': field()?.controlStyle?.borderColor,\n '--checkbox-border-color-focus': field()?.controlStyle?.focusBorderColor,\n '--checkbox-bg-color-focus': field()?.controlStyle?.focusBackground,\n '--checkbox-font-size': field()?.controlStyle?.fontSize,\n '--checkbox-font-weight': field()?.controlStyle?.fontWeight,\n '--checkbox-font-color': field()?.controlStyle?.color,\n '--checkbox-font-family': field()?.controlStyle?.fontFamily,\n '--checkbox-border-width': field()?.controlStyle?.borderWidth,\n '--checkbox-border-color-hover': field()?.controlStyle?.hoverBorderColor,\n '--checkbox-border-color-error': field()?.controlStyle?.errorBorderColor,\n '--checkbox-font-color-disabled': field()?.controlStyle?.disableColor,\n '--checkbox-bg-color-disabled': field()?.controlStyle?.disableBackground\n }\">\n {{ field()?.label }}\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().imageUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n</mat-checkbox>\n}@else {\n<mat-checkbox *ngIf=\"field() && field()?.isVisible\" [name]=\"field()?.fieldName\" [id]=\"field()?.fieldName\"\n [disabled]=\"field()?.isDisable\" [required]=\"field()?.validators?.isRequired\" [checked]=\"inputValue\"\n (change)=\"onCheckboxChange($event)\" [ngStyle]=\"{\n '--checkbox-border-radius': field()?.controlStyle?.borderRadius,\n '--checkbox-bg-color': field()?.controlStyle?.background,\n '--checkbox-border-color': field()?.controlStyle?.borderColor,\n '--checkbox-border-color-focus': field()?.controlStyle?.focusBorderColor,\n '--checkbox-bg-color-focus': field()?.controlStyle?.focusBackground,\n '--checkbox-font-size': field()?.controlStyle?.fontSize,\n '--checkbox-font-weight': field()?.controlStyle?.fontWeight,\n '--checkbox-font-color': field()?.controlStyle?.color,\n '--checkbox-font-family': field()?.controlStyle?.fontFamily,\n '--checkbox-border-width': field()?.controlStyle?.borderWidth,\n '--checkbox-border-color-hover': field()?.controlStyle?.hoverBorderColor,\n '--checkbox-border-color-error': field()?.controlStyle?.errorBorderColor,\n '--checkbox-font-color-disabled': field()?.controlStyle?.disableColor,\n '--checkbox-bg-color-disabled': field()?.controlStyle?.disableBackground\n }\">\n {{ field()?.label }}\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\n</mat-checkbox>\n}\n<div class=\"error-message\" *ngIf=\"false\">\n {{field()?.validators?.isRequiredMessage}}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-textarea',\n standalone: true,\n imports: [\n CommonModule, \n ReactiveFormsModule,\n FormsModule\n ],\n templateUrl: './textarea.component.html',\n styleUrl: './textarea.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextareaComponent,\n multi: true\n }\n ]\n})\nexport class TextareaComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService){}\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n // ControlValueAccessor properties\n textareaValue: any = null;\n _onChange: any = (textareaValue: any) => {};\n _onTouched: any = () => {};\n\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n\n // ControlValueAccessor implementation\n writeValue(obj: any): void {\n this.textareaValue = obj;\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {}\n\n onTextareaChange(event: any): void {\n this.textareaValue = event.target.value;\n this._onChange(this.textareaValue);\n }\n\n onTextareaBlur(event?: any): void {\n this._onTouched();\n this.blur.emit(event);\n }\n}\n","\n<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n@if(reactiveFormControlobject()) {\n<textarea\n[ngStyle]=\"{\n '--custom-textarea-width': field()?.controlStyle?.width ,\n '--custom-textarea-border-color': field()?.controlStyle?.borderColor ,\n '--custom-textarea-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-textarea-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-textarea-border-width-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-textarea-radius': field()?.controlStyle?.borderRadius ,\n '--custom-textarea-caret-color': field()?.controlStyle?.caretColor ,\n '--custom-textarea-font-color': field()?.controlStyle?.color ,\n }\"\n*ngIf=\"field() && field()?.isVisible\"\n cols=\"40\"\n rows=\"3\"\n autocomplete=\"off\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n (input)=\"onTextareaChange($event)\"\n (blur)=\"onTextareaBlur($event)\"\n [value]=\"textareaValue\"\n [formControl]=\"reactiveFormControlobject()\"\n></textarea>\n}@else {\n<textarea\n[ngStyle]=\"{\n '--custom-textarea-width': field()?.controlStyle?.width ,\n '--custom-textarea-border-color': field()?.controlStyle?.borderColor ,\n '--custom-textarea-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-textarea-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-textarea-border-width-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-textarea-radius': field()?.controlStyle?.borderRadius ,\n '--custom-textarea-caret-color': field()?.controlStyle?.caretColor ,\n '--custom-textarea-font-color': field()?.controlStyle?.color ,\n }\"\n*ngIf=\"field() && field()?.isVisible\"\n cols=\"40\"\n rows=\"3\"\n autocomplete=\"off\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n (input)=\"onTextareaChange($event)\"\n (blur)=\"onTextareaBlur($event)\"\n [value]=\"textareaValue\"\n></textarea>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { MatTabChangeEvent, MatTabsModule } from '@angular/material/tabs';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-tab',\n standalone: true,\n imports: [MatTabsModule,CommonModule],\n templateUrl: './tab.component.html',\n styleUrl: './tab.component.css'\n})\nexport class TabComponent {\nfield : any = input.required<any>();\n@Output() selectedIndexChange = new EventEmitter<number>();\nselectedIndex = 0;\n\nconstructor(public masterService : MasterControlService){}\n\nngOnInit(){\n this.field().selectedIndex = this.selectedIndex;\n}\n onTabChange(event: number) {\n this.selectedIndex = event;\n this.field().selectedIndex = this.selectedIndex;\n}\n}\n","<mat-tab-group *ngIf=\"field() && field()?.isVisible\" class=\"vertical-tab-indicator\"\n[ngClass]=\"{'vertical-class': field()?.configData?.isVerticalTab && field()?.configData?.isVerticalTab === 'true'}\"\n[ngStyle]=\"{\n '--tab-border-color': field()?.controlStyle?.borderColor ,\n '--tab-border-width': field()?.controlStyle?.borderWidth,\n '--tab-font-size': field()?.controlStyle?.fontSize,\n '--tab-font-weight': field()?.controlStyle?.fontWeight,\n '--tab-font-color': field()?.controlStyle?.color,\n }\"\n[(selectedIndex)]=\"selectedIndex\" (selectedIndexChange)=\"onTabChange($event)\">\n <mat-tab *ngFor=\"let data of field()?.options; let i = index\">\n <ng-template mat-tab-label>\n <img [src]=\"data.value\" alt=\"\" class=\"mx-2\">\n {{ data.label }}\n </ng-template>\n <ng-content select=\"tab[i]\"></ng-content>\n </mat-tab>\n</mat-tab-group>\n","import { Component, EventEmitter, input, Output } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { CommonModule } from '@angular/common';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MasterControlService } from '../master-control.service';\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, ControlValueAccessor } from '@angular/forms';\nimport { MatSelectChange } from '@angular/material/select';\n@Component({\n selector: 'lib-autocomplete',\n standalone: true,\n imports: [\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n MatAutocompleteModule,\n MatOptionModule,\n FormsModule,\n ReactiveFormsModule\n ],\n templateUrl: './autocomplete.component.html',\n styleUrl: './autocomplete.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: AutocompleteComponent,\n multi: true\n }\n ]\n})\nexport class AutocompleteComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService) {}\n field: any = input.required<any>();\n selectedOption: any = null;\n filteredOptions:any=[];\n inputValue: any = '';\n reactiveFormControlobject : any = input<any>();\n\n // Output events for parent component communication\n @Output() blur = new EventEmitter<any>();\n @Output() selectionChanged = new EventEmitter<any>();\n @Output() valueChanged = new EventEmitter<any>();\n @Output() optionSelected = new EventEmitter<any>();\n\n\n ngOnInit() {\n this.filteredOptions = this.field().options || [];\n // Subscribe to valueChanges if using reactive forms\n if (this.reactiveFormControlobject && this.reactiveFormControlobject.valueChanges) {\n this.reactiveFormControlobject.valueChanges.subscribe((value: any) => {\n this.onInputChange(value);\n });\n }\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any): void {\n if (value !== undefined && value !== null) {\n // If value is an object, extract the label\n if (typeof value === 'object' && value.label) {\n this.inputValue = value.label;\n this.selectedOption = value;\n }\n else {\n let option = this.field().options?.find((opt: any) =>\n opt.value === value\n );\n if (!option) {\n option = this.field().options?.find((opt: any) =>\n opt.label === value\n );\n }\n if (option) {\n this.inputValue = option.label;\n this.selectedOption = option;\n } else {\n this.inputValue = value.toString();\n this.selectedOption = { label: value.toString(), value: value };\n }\n }\n } else {\n this.inputValue = '';\n this.selectedOption = null;\n }\n if(typeof this.inputValue === 'string' && value !== null) {\n this.filterOptions();\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Handle disabled state if needed\n }\n\n onInputChange(value: any): void {\n\n this.inputValue = value;\n if(typeof this.inputValue === 'string' && value !== null) {\n this.filterOptions();\n }\n\n // Find matching option\n const matchingOption = this.field().options?.find((option: any) =>\n option.label.toLowerCase() === value.toLowerCase()\n );\n\n if (matchingOption) {\n this.selectedOption = matchingOption;\n this.onChange(matchingOption.value);\n } else {\n this.selectedOption = null;\n this.onChange(value);\n }\n\n this.onTouched();\n this.valueChanged.emit(value);\n this.selectionChanged.emit(this.selectedOption);\n }\n\n onOptionSelected(option: any): void {\n this.selectedOption = option;\n this.inputValue = option.label;\n this.onChange(option.value);\n this.onTouched();\n\n // Emit events for parent component\n this.optionSelected.emit(option);\n this.selectionChanged.emit(option);\n this.valueChanged.emit(option.label);\n }\n\n onBlur(event?: any): void {\n this.onTouched();\n this.blur.emit(event);\n }\n\n filterOptions(): void {\n if (!this.inputValue || this.inputValue.trim() === '') {\n this.filteredOptions = this.field().options || [];\n return;\n }\n\n const filterValue = this.inputValue.toLowerCase();\n this.filteredOptions = (this.field().options || []).filter((option: any) =>\n option.label.toLowerCase().includes(filterValue)\n );\n }\n\n displayFn = (option: any): string => {\n return option && typeof option === 'object' ? option.label : option || '';\n }\n\n // Utility method to get the current selected value\n getCurrentValue(): any {\n return this.selectedOption ? this.selectedOption.value : this.inputValue;\n }\n\n // Utility method to get the current selected option\n getCurrentOption(): any {\n return this.selectedOption;\n }\n\n // Method to set value programmatically (useful for parent components)\n setValue(value: any): void {\n this.writeValue(value);\n this.onChange(this.getCurrentValue());\n }\n\n onInputChangeForReactiveForms(event : any) {\n this.inputValue = event?.target?.value;\n if(typeof this.inputValue === 'string' && event?.target?.value !== null) {\n this.filterOptions();\n }\n\n // Find matching option\n const matchingOption = this.field().options?.find((option: any) =>\n option.label.toLowerCase() === event?.target?.value.toLowerCase()\n );\n\n if (matchingOption) {\n this.selectedOption = matchingOption;\n this.onChange(matchingOption.value);\n } else {\n this.selectedOption = null;\n this.onChange(event?.target?.value);\n }\n\n this.onTouched();\n this.valueChanged.emit(event?.target?.value);\n this.selectionChanged.emit(this.selectedOption);\n }\n\n onFocus(): void {\n this.filterOptions();\n }\n}\n"," <label *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n <mat-form-field class=\"w-100 show-arrow\" appearance=\"outline\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n (input)=\"onInputChangeForReactiveForms($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"onInputChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n />\n }\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" (optionSelected)=\"onOptionSelected($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n <mat-error>\n {{ field().validators.requiredMessage }}\n </mat-error>\n </mat-form-field>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n </div>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n </div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\nimport { MasterControlService } from '../master-control.service';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-multiple-select',\n standalone: true,\n imports: [\n MatSelectModule,\n MatFormFieldModule,\n CommonModule,\n MatChipsModule,\n MatIconModule,\n ReactiveFormsModule\n ],\n templateUrl: './multiple-select.component.html',\n styleUrl: './multiple-select.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: MultipleSelectComponent,\n multi: true\n }\n ]\n})\nexport class MultipleSelectComponent implements ControlValueAccessor {\n constructor(public masterService : MasterControlService) {}\n field: any = input.required<any>();\n selectedValues: any = [];\n visibleChip: any = [];\n remainingCount: any = 0;\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n // Output events for parent component communication\n @Output() selectionChange = new EventEmitter<any>();\n onChange: any = () => {};\n onTouched: any = () => {};\n\n ngOnInit(): void {\n // Initialize inputValue with a default or initial value if needed\n }\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n selectionChanged(event: MatSelectChange) {\n this.inputValue = event.value;\n this.visibleChip = event.value;\n this.onChange(event.value);\n this.onTouched();\n this.onSelectionChange();\n this.selectionChange.emit(event.value);\n }\n\n removeItem(item: any) {\n const maxVisible = 2;\n this.visibleChip = this.visibleChip.filter(\n (element: any) => element !== item\n );\n this.selectedValues = this.selectedValues.filter(\n (element: any) => element !== item\n );\n this.inputValue = this.inputValue.filter(\n (element: any) => element !== item\n );\n const found = this.field().options.find((i:any) => i.label === item);\n if (found) {\n found.value = false;\n }\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\n this.remainingCount = this.selectedValues.length - maxVisible;\n this.onChange(this.inputValue);\n this.onTouched();\n }\n onSelectionChange() {\n const maxVisible = 2;\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\n this.remainingCount = this.selectedValues.length - maxVisible;\n }\n onSelectOpened(opened: boolean) {\n const css = this.field()?.controlStyle;\n if (opened) {\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\n } else {\n document.body.style.removeProperty('--custom-select-option-background-color');\n document.body.style.removeProperty('--custom-select-option-font-color');\n document.body.style.removeProperty('--custom-select-option-font-weight');\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\n }\n}\n\n showLabel(option : any) {\n let selectedLabel : any = option;\n if(!this.masterService.checkIfValueIsEmpty(this.field()?.options)) {\n let filteredArr : any = this.field()?.options.filter((singleObj : any) => singleObj['value'] === option);\n if(!this.masterService.checkIfValueIsEmpty(filteredArr) && !this.masterService.checkIfValueIsEmpty(filteredArr[0]?.label)) {\n selectedLabel = filteredArr[0].label\n }\n }\n return selectedLabel;\n }\n\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n<mat-form-field\n appearance=\"outline\"\n class=\"input-full-width full-width w-100 multi-select\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <mat-select\n multiple\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldName\"\n [value]=\"inputValue\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n [disabled]=\"field()?.isDisable\"\n (openedChange)=\"onSelectOpened($event)\"\n (selectionChange)=\"selectionChanged($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n >\n <mat-select-trigger>\n <mat-chip-grid>\n @for (option of inputValue; track option) {\n <mat-chip-row [removable]=\"true\" (removed)=\"removeItem(option)\">\n {{ showLabel(option) }}\n <mat-icon matChipRemove>close</mat-icon>\n </mat-chip-row>\n }\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\n </mat-chip-grid>\n </mat-select-trigger>\n @for (option of field()?.options; track option.label) {\n <mat-option [value]=\"option.value\">\n {{ option.label }} <img *ngIf=\"option.image\" [src]=\"option.image\" alt=\"\" style=\"width:20px; height:20px; float: inline-end;\" />\n </mat-option>\n }\n </mat-select>\n }@else {\n <mat-select\n multiple\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldName\"\n [value]=\"inputValue\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n [disabled]=\"field()?.isDisable\"\n (openedChange)=\"onSelectOpened($event)\"\n (selectionChange)=\"selectionChanged($event)\"\n >\n <mat-select-trigger>\n <mat-chip-grid>\n @for (option of inputValue; track option) {\n <mat-chip-row [removable]=\"true\" (removed)=\"removeItem(option)\">\n {{ showLabel(option) }}\n <mat-icon matChipRemove>close</mat-icon>\n </mat-chip-row>\n }\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\n </mat-chip-grid>\n </mat-select-trigger>\n @for (option of field()?.options; track option.label) {\n <mat-option [value]=\"option.value\">\n {{ option.label }} <img *ngIf=\"option.image\" [src]=\"option.image\" alt=\"\" style=\"width:20px; height:20px; float: inline-end;\" />\n </mat-option>\n }\n </mat-select>\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n</mat-form-field>\n","import { CustomizedTooltipDirective } from './../directives/customized.tooltip.directive';\nimport { CommonModule } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-select-textbox',\n standalone: true,\n imports: [MatInputModule, MatSelectModule, MatFormFieldModule, CommonModule, MatInputModule, ReactiveFormsModule, CustomizedTooltipDirective],\n templateUrl: './select-textbox.component.html',\n styleUrl: './select-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectTextboxComponent,\n multi: true\n }\n ]\n})\nexport class SelectTextboxComponent {\n field: any = input.required<any>();\n inputValue: any = null;\n selectValue: any = null;\n reactiveFormControlobject : any = input<any>();\n selectionChange = output<MatSelectChange>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n constructor(public masterControlService : MasterControlService) {}\n\n writeValue(obj: any): void{\n if (obj && typeof obj === 'object') {\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(obj.textValue, true) : (obj.textValue || null);\n this.selectValue = obj.selectValue || null;\n } else {\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(obj, true) : (obj || null);;\n }\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n if(this.field()?.configData?.isAllowNumbersInTextFields) {\n // Remove any non-numeric characters from the input\n let numericValue = event.target.value.replace(/[^0-9]/g, '');\n event.target.value = numericValue;\n event.target.value = numericValue;\n }\n this.inputValue = this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(event.target.value, true) : event.target.value;\n this.emitValue();\n }\n\n onSelectChange(event: MatSelectChange): void {\n this.selectValue = event.value;\n this.emitValue();\n this.selectionChange.emit(event);\n }\n\n private emitValue(): void {\n const value = {\n textValue: this.field()?.configData?.isComaSeperated ? this.masterControlService.addComasToNumberValues(this.inputValue, true) : this.inputValue,\n selectValue: this.selectValue\n };\n this._onChange(value);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n\n onSelectOpened(opened: boolean) {\n const css = this.field()?.controlStyle;\n if (opened) {\n document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\n document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\n document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\n document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\n document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\n } else {\n document.body.style.removeProperty('--custom-select-option-background-color');\n document.body.style.removeProperty('--custom-select-option-font-color');\n document.body.style.removeProperty('--custom-select-option-font-weight');\n document.body.style.removeProperty('--custom-select-option-background-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-color-focus');\n document.body.style.removeProperty('--custom-select-option-font-weight-focus');\n document.body.style.removeProperty('--custom-select-option-border-left-focus');\n document.body.style.removeProperty('--custom-select-option-border-radius-focus');\n }\n\n\n}\n\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n >\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n </label\n>\n<mat-form-field\n class=\"w-100 auto-width\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n@if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n class=\"vertically-align-middle\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n}@else {\n <input\n matInput\n autocomplete=\"off\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n class=\"vertically-align-middle\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n}\n <span matPrefix class=\"rupee-symbol\" [hidden]=\"this.field()?.configData?.isHideRupeeSymbol\">₹</span>\n <div matSuffix class=\"input-select\">\n <!-- <mat-form-field> -->\n <mat-select\n [value]=\"selectValue\"\n [disabled]=\"field()?.configData?.isDisableDropdown\"\n (selectionChange)=\"onSelectChange($event)\"\n (openedChange)=\"onSelectOpened($event)\">\n <mat-option *ngFor=\"let options of field()?.options\" [id]=\"options.value\" [value]=\"options.value\">\n {{ options.label }}\n </mat-option>\n </mat-select>\n <!-- </mat-form-field> -->\n </div>\n <!-- <span matSuffix class=\"mx-3 right-amount-text\"> ₹ 3.50 L </span> -->\n</mat-form-field>\n","import { Component, input } from '@angular/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { CommonModule } from '@angular/common';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatSelectModule } from '@angular/material/select';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-otp-textbox',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n MatCheckboxModule,\n MatSelectModule,\n ReactiveFormsModule\n ],\n templateUrl: './otp-textbox.component.html',\n styleUrl: './otp-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: OtpTextboxComponent,\n multi: true\n }\n ]\n})\nexport class OtpTextboxComponent {\nconstructor(){}\n field : any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n <div matSuffix class=\"get-otp mx-2\">\n <span class=\"mt-2\">Get OTP</span>\n </div>\n <div matSuffix class=\"verity-otp mx-2\" *ngIf=\"false\">\n <span class=\"mx-1\">Verify</span>\n </div>\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\n </span>\n</mat-form-field>\n<div >\n <span class=\"checkbox-tag\">Tag as:</span>\n <span *ngFor=\"let options of field()?.options\" class=\"checkbox\">\n <mat-checkbox class=\"optional-checkbox\">\n {{options.label}}\n </mat-checkbox>\n </span>\n</div>\n\n","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-amount-textbox',\n standalone: true,\n imports: [\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n ReactiveFormsModule\n ],\n templateUrl: './amount-textbox.component.html',\n styleUrl: './amount-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: AmountTextboxComponent,\n multi: true\n }\n ]\n})\nexport class AmountTextboxComponent implements ControlValueAccessor {\n constructor(public sharedService : MasterControlService){}\n field : any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n get isCommaAdded(): any {\n return this.field()?.configData?.isCommaAllowed !== undefined ?\n this.field()?.configData?.isCommaAllowed : true;\n }\n\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n\n // ControlValueAccessor implementation\n writeValue(obj: any): void {\n if (obj !== null && obj !== undefined) {\n const rawValue = obj.toString();\n this.inputValue = rawValue;\n } else {\n this.inputValue = null;\n }\n }\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n const inputElement = event.target;\n const cursorPosition = inputElement.selectionStart;\n const oldValue = inputElement.value;\n const rawValue = oldValue.replace(/,/g, '');\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\n this.inputValue = rawValue;\n if (this.isCommaAdded && rawValue && !isNaN(parseFloat(rawValue))) {\n const formattedValue = this.sharedService.addComasToNumberValues(rawValue);\n const newCursorPosition = this.calculateNewCursorPosition(\n oldValue,\n formattedValue,\n cursorPosition\n );\n inputElement.value = formattedValue;\n setTimeout(() => {\n inputElement.setSelectionRange(newCursorPosition, newCursorPosition);\n }, 0);\n }\n this._onChange(this.inputValue);\n } else {\n const revertValue = this.isCommaAdded && this.inputValue ?\n this.sharedService.addComasToNumberValues(this.inputValue) : this.inputValue || '';\n inputElement.value = revertValue;\n setTimeout(() => {\n const safeCursorPos = Math.min(cursorPosition, revertValue.length);\n inputElement.setSelectionRange(safeCursorPos, safeCursorPos);\n }, 0);\n }\n }\n\n onInputBlur(event?: any): void {\n this._unTouched();\n this.blur.emit(event);\n }\n onKeyDown(event: KeyboardEvent): void {\n const inputElement = event.target as HTMLInputElement;\n const cursorPosition = inputElement.selectionStart || 0;\n const value = inputElement.value;\n if (event.key === 'Backspace' && cursorPosition > 0) {\n if (value[cursorPosition - 1] === ',') {\n event.preventDefault();\n const newValue = value.substring(0, cursorPosition - 2) + value.substring(cursorPosition);\n const rawValue = newValue.replace(/,/g, '');\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\n this.inputValue = rawValue;\n const formattedValue = this.isCommaAdded && rawValue ? this.sharedService.addComasToNumberValues(rawValue) : rawValue;\n inputElement.value = formattedValue;\n setTimeout(() => {\n const newCursorPos = Math.max(0, cursorPosition - 2);\n inputElement.setSelectionRange(newCursorPos, newCursorPos);\n }, 0);\n\n this._onChange(this.inputValue);\n }\n }\n }\n if (event.key === 'Delete' && cursorPosition < value.length) {\n if (value[cursorPosition] === ',') {\n event.preventDefault();\n if (cursorPosition + 1 < value.length) {\n const newValue = value.substring(0, cursorPosition) + value.substring(cursorPosition + 2);\n const rawValue = newValue.replace(/,/g, '');\n if (rawValue === '' || /^\\d*\\.?\\d*$/.test(rawValue)) {\n this.inputValue = rawValue;\n const formattedValue = this.isCommaAdded && rawValue ? this.sharedService.addComasToNumberValues(rawValue) : rawValue;\n inputElement.value = formattedValue;\n setTimeout(() => {\n inputElement.setSelectionRange(cursorPosition, cursorPosition);\n }, 0);\n this._onChange(this.inputValue);\n }\n }\n }\n }\n }\n\n // Add commas to number for Indian format\n // addCommasToNumber(value: any | number): any {\n // if (!value || value === '') return '';\n // const stringValue = value.toString();\n // const parts = stringValue.split('.');\n // let integerPart = parts[0];\n // if (integerPart.length > 3) {\n // const lastThreeDigits = integerPart.slice(-3);\n // const remainingDigits = integerPart.slice(0, -3);\n // const formattedRemaining = remainingDigits.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ',');\n // integerPart = formattedRemaining + ',' + lastThreeDigits;\n // }\n\n // return parts[1] ? integerPart + '.' + parts[1] : integerPart;\n // }\n calculateNewCursorPosition(oldValue: string, newValue: string, oldCursorPosition: number): number {\n if (oldCursorPosition === 0) {\n return 0;\n }\n if (oldCursorPosition >= oldValue.length) {\n return newValue.length;\n }\n let digitsBeforeCursor = 0;\n for (let i = 0; i < oldCursorPosition; i++) {\n const char = oldValue[i];\n if (char !== ',') {\n digitsBeforeCursor++;\n }\n }\n let digitCount = 0;\n let newPosition = 0;\n for (let i = 0; i < newValue.length; i++) {\n const char = newValue[i];\n if (char !== ',') {\n digitCount++;\n if (digitCount === digitsBeforeCursor) {\n newPosition = i + 1;\n break;\n }\n }\n if (digitCount < digitsBeforeCursor) {\n newPosition = i + 1;\n }\n }\n return Math.min(newPosition, newValue.length);\n }\n\n // Get the display value with commas if enabled\n getDisplayValue(): any {\n if (!this.inputValue) return '';\n if (this.isCommaAdded && !isNaN(parseFloat(this.inputValue))) {\n return this.sharedService.addComasToNumberValues(this.inputValue);\n }\n return this.inputValue;\n }\n\n // Format amount to Indian currency format\n formatIndianCurrency(amount: number | string): string {\n if (!amount || amount === '') return '';\n\n const numAmount = typeof amount === 'string' ? parseFloat(amount.replace(/,/g, '')) : amount;\n if (isNaN(numAmount) || numAmount === 0) return '₹';\n if (numAmount >= 10000000) {\n const crores = (numAmount / 10000000).toFixed(2);\n return `₹ ${crores} Cr`;\n } else if (numAmount >= 100000) {\n const lakhs = (numAmount / 100000).toFixed(2);\n return `₹ ${lakhs} L`;\n } else if (numAmount >= 1000) {\n const thousands = (numAmount / 1000).toFixed(2);\n return `₹ ${thousands} K`;\n } else {\n return `₹ ${numAmount.toFixed(2)}`;\n }\n }\n\n // Get formatted display value\n getFormattedAmount(): string {\n return this.formatIndianCurrency(this.sharedService.removeComasAndCurrencySymbolFromNumberValues(this.inputValue));\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\"\n >{{ field().label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators.isRequired\"\n >*</span\n ></label\n>\n <mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n<input\n matInput\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"getDisplayValue()\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"getDisplayValue()\"\n />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n <span matPrefix class=\"rupee-symbol px-2\">₹</span>\n <span matSuffix class=\"me-2 right-amount-text\" *ngIf=\"inputValue\">{{ getFormattedAmount() }}</span>\n </mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\n\n@Component({\n selector: 'lib-suffix-textbox',\n standalone: true,\n imports: [\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n MatCheckboxModule,\n ReactiveFormsModule,\n CustomizedTooltipDirective\n ],\n templateUrl: './suffix-textbox.component.html',\n styleUrl: './suffix-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SuffixTextboxComponent,\n multi: true\n }\n ]\n})\nexport class SuffixTextboxComponent {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n this.blur.emit(event);\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\">{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span>\n <span [appTooltipTemplate]=\"HtmlContent\" arrowPosition=\"left\" tooltipPosition=\"bottom\">\n <img [src]=\"field().configData?.labelIconUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #HtmlContent>\n <span [innerHTML]=\"field().configData?.tooltipMessage\"></span>\n </ng-template>\n</label>\n<mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n <input matInput autocomplete=\"off\" [type]=\"field()?.controlType\" [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\" [placeholder]=\"field()?.placeHolder\" [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\" [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\" [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\" (blur)=\"onInputBlur()\" [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\" />\n }@else {\n <input matInput autocomplete=\"off\" [type]=\"field()?.controlType\" [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\" [placeholder]=\"field()?.placeHolder\" [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\" [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\" [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\" (blur)=\"onInputBlur()\" [value]=\"inputValue\" />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\n </span>\n <span matSuffix class=\"mx-3 right-input-text\" *ngIf=\"field().configData?.suffix\"> {{field().configData?.suffix}}\n </span>\n</mat-form-field>\n<div *ngIf=\"field().configData?.isShowTagAs\">\n <span class=\"checkbox-tag\">Tag as:</span>\n <span *ngFor=\"let option of field()?.options\" class=\"checkbox\">\n <mat-checkbox class=\"optional-checkbox\">\n {{ option.label }}\n </mat-checkbox>\n </span>\n</div>\n<div *ngIf=\"field().configData?.infoMessage\">\n <span class=\"below-input-text\">{{field().configData?.infoMessage}}</span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-otp-mob-number',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n ReactiveFormsModule\n ],\n templateUrl: './otp-mob-number.component.html',\n styleUrl: './otp-mob-number.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: OtpMobNumberComponent,\n multi: true\n }\n ]\n})\nexport class OtpMobNumberComponent {\n CountryCode: any = '+91';\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100 mobile-field\"\n appearance=\"outline\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\n <div class=\"d-flex countryCode\">\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\n /></span>\n </div>\n </div>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n}\n\n <div matSuffix class=\"get-otp mx-2\">\n <span class=\"mt-2\">Get OTP</span>\n </div>\n <div matSuffix class=\"verity-otp mx-2\" *ngIf=\"false\">\n <span class=\"mx-1\">Verify</span>\n </div>\n <span matSuffix class=\"mx-3\" *ngIf=\"false\">\n <img src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\" />\n </span>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n</mat-form-field>\n<span class=\"success-text\" *ngIf=\"false\">Phone Number Verified</span>\n<span class=\"success-text\">\n <img src=\"https://cdn.godigit.com/retail-life/otp-circle-oui.svg\" alt=\"\" />\n OTP Sent\n</span>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-tag-mob-number',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n MatCheckboxModule,\n ReactiveFormsModule\n ],\n templateUrl: './tag-mob-number.component.html',\n styleUrl: './tag-mob-number.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TagMobNumberComponent,\n multi: true\n }\n ]\n})\nexport class TagMobNumberComponent {\n CountryCode: any = '+91';\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100 mobile-field\"\n appearance=\"outline\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\n <div class=\"d-flex countryCode\">\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\n /></span>\n </div>\n </div>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n autocomplete=\"off\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n}\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n</mat-form-field>\n<div>\n <span class=\"checkbox-tag\">Tag as:</span>\n <span *ngFor=\"let option of field()?.options\" class=\"checkbox\">\n <mat-checkbox class=\"optional-checkbox\">\n {{ option.label }}\n </mat-checkbox>\n </span>\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, AfterViewChecked, Output, EventEmitter } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MomentDateModule } from '@angular/material-moment-adapter';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-age-date',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n MatDatepickerModule,\n MomentDateModule,\n ReactiveFormsModule\n ],\n providers: [{ provide: MAT_DATE_FORMATS, useValue: {\n parse: {\n dateInput: [\n 'DD-MM-YYYY',\n 'DD/MM/YYYY',\n 'YYYY/MM/DD',\n 'MM/DD/YYYY',\n 'DD MMM YYYY',\n 'DD MMMM YYYY',\n 'DD-MMM-YYYY',\n ],\n },\n display: {\n dateInput: 'DD/MMM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'DD/MMM/YYYY',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n }\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: AgeDateComponent,\n multi: true\n },\n],\n templateUrl: './age-date.component.html',\n styleUrl: './age-date.component.css',\n})\nexport class AgeDateComponent implements AfterViewChecked {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n age : any = null;\n @Output() blur = new EventEmitter<any>();\n @Output() valueChange = new EventEmitter<any>();\n @Output() dateSelected = new EventEmitter<any>();\n @Output() invalidDate = new EventEmitter<any>();\n constructor(public service : MasterControlService) {}\n\n ngAfterViewChecked(): void {\n if (this.inputValue) {\n this.calculateAge(this.inputValue);\n }\n }\n\n dateDivisionFormat(event: any) {\n let evt = event.target;\n\n // Check if user is deleting (backspace/delete)\n const isDeleting = event.inputType === 'deleteContentBackward' ||\n event.inputType === 'deleteContentForward' ||\n !event.data;\n\n // If deleting, allow normal deletion without auto-adding slashes\n if (isDeleting) {\n return;\n }\n\n let value = evt.value;\n\n // Handle case where we have existing slashes but need to reformat\n // Split by slash to understand current structure\n const parts = value.split('/');\n\n // If we have exactly 3 parts (date/month/year), don't add more slashes\n if (parts.length < 3) {\n // For first slash after date (2 digits)\n if (value.length > 2 && !value.includes('/')) {\n evt.value = [value.slice(0, 2), '/', value.slice(2)].join('');\n }\n // For second slash after month\n else if (parts.length === 2) {\n const datePart = parts[0];\n const monthPart = parts[1];\n\n\n\n // Add slash after numeric month (exactly 2 digits) or alphabetic month (exactly 3 letters)\n if ((monthPart.length === 2 && /^\\d{2}$/.test(monthPart)) ||\n (monthPart.length === 3 && /^[a-zA-Z]{3}$/.test(monthPart))) {\n evt.value = datePart + '/' + monthPart + '/';\n }\n }\n\n\n }\n const datePart = parts[0] || '';\n const monthPart = parts[1] || '';\n const yearPart = parts[2] || '';\n\n // Prevent further input if limits are reached and restore previous value\n if ((datePart.length >= 2) ||\n (monthPart.length >= 2 && /^\\d+$/.test(monthPart)) ||\n (monthPart.length >= 3 && /^[a-zA-Z]+$/.test(monthPart)) ||\n (yearPart.length >= 4)) {\n\n // Get cursor position to determine which part is being edited\n const cursorPos = evt.selectionStart;\n const isEditingDate = cursorPos <= 3;\n const isEditingMonth = cursorPos > 3 && cursorPos <= (3 + monthPart.length);\n const isEditingYear = cursorPos > (3 + monthPart.length + 1);\n\n // Reconstruct the previous valid value by trimming excess characters\n let previousValidValue='';\n if (isEditingDate && datePart.length >= 2) {\n // Trim date part to 2 characters max\n const validDatePart = datePart.substring(0, 2);\n previousValidValue = validDatePart + (parts[1] ? '/' + parts[1] : '') + (parts[2] ? '/' + parts[2] : '');\n } else if (isEditingMonth && monthPart.length >= 2 && /^\\d+$/.test(monthPart)) {\n // Trim numeric month to 2 characters max\n const validMonthPart = monthPart.substring(0, 2);\n previousValidValue = parts[0] + '/' + validMonthPart + (parts[2] ? '/' + parts[2] : '');\n } else if (isEditingMonth && monthPart.length >= 3 ) {\n // Trim alphabetic month to 3 characters max\n const validMonthPart = monthPart.substring(0, 3);\n previousValidValue = parts[0] + '/' + validMonthPart + (parts[2] ? '/' + parts[2] : '');\n } else if (isEditingYear && yearPart.length >= 4) {\n // Trim year part to 4 characters max\n const validYearPart = yearPart.substring(0, 4);\n previousValidValue = parts[0] + '/' + parts[1] + '/' + validYearPart;\n }\n\n // Prevent input if trying to exceed limits by restoring previous value\n if ((isEditingDate && datePart.length >= 2) ||\n (isEditingMonth && monthPart.length >= 2 && /^\\d+$/.test(monthPart)) ||\n (isEditingMonth && monthPart.length >= 3 ) ||\n (isEditingYear && yearPart.length >= 4)) {\n\n // Restore the previous valid value\n setTimeout(() => {\n evt.value = previousValidValue;\n }, 0);\n event.preventDefault();\n return;\n }\n }\n\n\n }\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n if (event.value) {\n this.inputValue = event.value;\n this._onChange(this.inputValue);\n this.calculateAge(event.value);\n } else {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n this.dateSelected.emit({\n formattedValue: this.inputValue,\n dateObject: this.inputValue,\n isValid: true,\n source: 'datepicker'\n });\n this.valueChange.emit(this.inputValue);\n }\n\n onInputBlur(event : any): void {\n if (!this.service.checkIfValueIsEmpty(event.target.value)) {\n if (isNaN(Date.parse(event.target.value))) {\n event.target.value = '';\n } else {\n this.calculateAge(event.target.value);\n }\n }\n this._unTouched();\n this.blur.emit(event);\n }\n\n calculateAge(birthDate: Date) {\n const today = new Date();\n const birthdate = new Date(birthDate);\n let age = today.getFullYear() - birthdate.getFullYear();\n const monthDiff = today.getMonth() - birthdate.getMonth();\n const days_difference = today.getDate() - birthdate.getDate();\n if (monthDiff < 0 || (monthDiff === 0 && days_difference < 0)) {\n age = age - 1;\n }\n this.age = age;\n }\n\n\n}\n","<label *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n [matDatepicker]=\"picker\"\n (input)=\"dateDivisionFormat($event)\"\n [disabled]=\"field()?.isDisable\"\n [min]=\"field()?.configData?.min\"\n [max]=\"field()?.configData?.max\"\n (dateChange)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else{\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n [matDatepicker]=\"picker\"\n [min]=\"field()?.configData?.min\"\n [max]=\"field()?.configData?.max\"\n (input)=\"dateDivisionFormat($event)\"\n [disabled]=\"field()?.isDisable\"\n (dateChange)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n />\n }\n <span matSuffix class=\"right-date-text\" *ngIf=\"!this.service.checkIfValueIsEmpty(age) && !this.service.checkIfValueIsEmpty(inputValue) && age >= 0\">\n ({{ age }}) yrs\n </span>\n <mat-datepicker-toggle matSuffix [for]=\"picker\" *ngIf=\"true\">\n <img\n src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/date_picker_icon.svg\"\n style=\"width: 16px\"\n matDatepickerToggleIcon\n />\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-addition-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './addition-button.component.html',\n styleUrl: './addition-button.component.css'\n})\nexport class AdditionButtonComponent {\nfield: any = input.required<any>();\n}\n","<Button class=\"additional-button\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"\n{\n '--button-border': field()?.controlStyle?.borderWidth ,\n '--button-width': field()?.controlStyle?.width ,\n '--button-font-size': field()?.controlStyle?.fontSize ,\n '--button-font-weight': field()?.controlStyle?.fontWeight ,\n '--button-background': field()?.controlStyle?.background ,\n '--button-border-radius': field()?.controlStyle?.borderRadius ,\n '--button-text-color': field()?.controlStyle?.color ,\n}\">\n <span class=\"additional-button-text\">\n <img\n class=\"additional-button-img\"\n [src]=\"field()?.imageUrl\"\n />\n <span\n ><u>{{ field()?.label }}</u></span\n >\n </span>\n</Button>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-info-textbox',\n standalone: true,\n imports: [\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n ReactiveFormsModule\n ],\n templateUrl: './info-textbox.component.html',\n styleUrl: './info-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: InfoTextboxComponent,\n multi: true\n }\n ]\n})\nexport class InfoTextboxComponent implements ControlValueAccessor {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n @Input() fields: any;\n @Output() infoClick = new EventEmitter<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n handleWhereToFindClick(): void {\n this.infoClick.emit({ field: this.field });\n }\n}\n","<label class=\"field-lable info-label\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}\n <!-- <span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n > -->\n <span style=\"justify-content: end;\">\n <img class=\"mx-1\" *ngIf=\"field()?.configData?.imageURL\" [src]=\"field()?.configData?.imageURL\" alt=\"\">\n <u style=\"cursor: pointer;\" (click)=\"handleWhereToFindClick()\">{{field()?.configData?.infoMsg}}</u></span>\n </label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n<input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-textbox-with-image',\n standalone: true,\n imports: [MatInputModule, MatFormFieldModule, CommonModule, FormsModule, ReactiveFormsModule],\n templateUrl: './textbox-with-image.component.html',\n styleUrl: './textbox-with-image.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextboxWithImageComponent,\n multi: true\n }\n ]\n})\nexport class TextboxWithImageComponent {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n // Declare Output event emitter here (class level)\n @Output() blur = new EventEmitter<any>();\n \n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = this.field()?.configData?.isTextCapitalized ? (event.target.value).toUpperCase() : event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event?: any): void {\n this._unTouched();\n // Emit the blur event to parent component\n this.blur.emit(event);\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n@if(reactiveFormControlobject()) {\n<input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n}@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n />\n}\n\n <span matSuffix class=\"mx-3\">\n <img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl' alt=\"\" />\n <!-- \"https://cdn.godigit.com/retail-life/location.svg\" -->\n </span>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-email-with-domain',\n standalone: true,\n imports: [CommonModule, MatInputModule, MatFormFieldModule, FormsModule, ReactiveFormsModule],\n templateUrl: './email-with-domain.component.html',\n styleUrl: './email-with-domain.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: EmailWithDomainComponent,\n multi: true\n }\n ]\n})\nexport class EmailWithDomainComponent {\npincode: any = '';\n emailUser:any='';\n emailDomain:any='';\n\n field: any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n inputValue: any = null;\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n <mat-form-field class=\"w-100\" appearance=\"outline\" [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n class=\"email-left-side\"\n [name]=\"field()?.fieldName + '_1'\"\n [id]=\"field()?.fieldName + '_1'\"\n [type]=\"field()?.controlType\"\n [placeholder]=\"field()?.placeHolder\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n [pattern]=\"field()?.validators?.pattern\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n class=\"email-left-side\"\n [name]=\"field()?.fieldName + '_1'\"\n [id]=\"field()?.fieldName + '_1'\"\n [type]=\"field()?.controlType\"\n [placeholder]=\"field()?.placeHolder\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n [pattern]=\"field()?.validators?.pattern\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n <span class=\"email-between\">@</span>\n <input\n matInput\n autocomplete=\"off\"\n [name]=\"field()?.fieldName + '_2'\"\n [id]=\"field()?.fieldName + '_2'\"\n placeholder=\"domain.com\"\n class=\"email-right-side\"\n [required]=\"field()?.validators?.isRequired\"\n [disabled]=\"field()?.isDisable\"\n />\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n </mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-image-upload',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule\n ],\n templateUrl: './image-upload.component.html',\n styleUrl: './image-upload.component.css'\n})\nexport class ImageUploadComponent {\n field : any = input.required<any>();\n}\n","\n<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}</label>\n <input\n hidden\n [type]=\"field()?.controlType\"\n #fileInput\n (click)=\"(fileInput.value)\"\n [required]=\"field()?.validators?.isRequired\"\n />\n <button\n type=\"button\"\n class=\"upload-btn\"\n (click)=\"fileInput.click()\"\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--upload-width': field()?.controlStyle?.width ,\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\n'--upload-border-color': field()?.controlStyle?.borderColor ,\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\n'--upload-background-color': field()?.controlStyle?.background ,\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\n}\"\n >\n <ng-container *ngIf=\"field()?.label; else policyHolderPanFileNotEmpty\">\n <span class=\"upload-icon\">\n <span\n ><img\n src=\"https://cdn.godigit.com/retail-life/Upload_Icon.svg\"\n alt=\"\"\n class=\"mb-1\"\n /></span>\n <span class=\"upload-text\" [ngStyle]=\"{\n'--upload-font-color': field()?.controlStyle?.color ,\n'--upload-font-size': field()?.controlStyle?.fontSize ,\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\n}\">{{ field()?.label }}</span>\n </span>\n </ng-container>\n <ng-template #policyHolderPanFileNotEmpty>\n <span class=\"mt-2 right-icon\">\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/Tickmark.svg\" alt=\"\"\n /></span>\n <span title=\"uploaded file\">uploaded file</span>\n </span>\n <div class=\"mt-2 left-icon\">\n <span\n ><img\n src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\"\n alt=\"\"\n /></span>\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"\n /></span>\n </div>\n </ng-template>\n </button>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-download-document',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule\n ],\n templateUrl: './download-document.component.html',\n styleUrl: './download-document.component.css'\n})\nexport class DownloadDocumentComponent {\n field : any = input.required<any>();\n}\n","<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}</label>\n <input\n hidden\n [type]=\"field()?.controlType\"\n #fileInput\n (click)=\"(fileInput.value)\"\n [required]=\"field()?.validators?.isRequired\"\n />\n <button\n type=\"button\"\n class=\"upload-btn lightbackground\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--upload-width': field()?.controlStyle?.width ,\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\n'--upload-border-color': field()?.controlStyle?.borderColor ,\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\n'--upload-background-color': field()?.controlStyle?.background ,\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\n}\"\n >\n <span class=\"upload-icon\">\n <span\n ><img\n src=\"https://cdn.godigit.com/retail-life/Download_Icon.svg\"\n alt=\"\"\n class=\"mb-1\"\n /></span>\n <span class=\"upload-text\" [ngStyle]=\"{\n'--upload-font-color': field()?.controlStyle?.color ,\n'--upload-font-size': field()?.controlStyle?.fontSize ,\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\n}\">{{ field()?.label }}</span>\n </span>\n </button>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-add-document',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule\n ],\n templateUrl: './add-document.component.html',\n styleUrl: './add-document.component.css'\n})\nexport class AddDocumentComponent {\nfield : any = input.required<any>();\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field().label}}</label>\n <input\n hidden\n [type]=\"field()?.controlType\"\n #fileInput\n (click)=\"(fileInput.value)\"\n [required]=\"field()?.validators?.isRequired\"\n />\n <button\n type=\"button\"\n class=\"upload-btn add-document-btn\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--add-doc-border-color': field()?.controlStyle?.borderColor ,\n'--add-doc-border-width': field()?.controlStyle?.borderWidth ,\n'--add-doc-border-style': field()?.controlStyle?.borderStyle ,\n'--add-doc-background': field()?.controlStyle?.background \n}\"\n >\n <span class=\"add-icon\">\n <span\n ><img class=\"mb-1\" src=\"https://cdn.godigit.com/retail-life/add.svg\"></span>\n <span class=\"upload-text\" [ngStyle]=\"{\n'--upload-font-color': field()?.controlStyle?.color ,\n'--upload-font-size': field()?.controlStyle?.fontSize ,\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\n}\">{{ field()?.label }}</span>\n <span class=\"light-font\">(optional)</span>\n </span>\n </button>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-hyperlink',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './hyperlink.component.html',\n styleUrl: './hyperlink.component.css'\n})\nexport class HyperlinkComponent {\n field: any = input.required<any>();\n}\n","<u *ngIf=\"field() && field()?.isVisible\" class=\"hyperlink\" [ngStyle]=\"{\n'--hyperlink-font-color': field()?.controlStyle?.color,\n'--hyperlink-font-size': field()?.controlStyle?.fontSize,\n'--hyperlink-font-weight': field()?.controlStyle?.fontWeight\n}\">\n <a href=\"Hyper_link\" *ngIf=\"field()?.label && field()?.isShowLabel\">{{field()?.label}}</a></u\n>\n<img *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-textbox-with-underscore',\n standalone: true,\n imports: [CommonModule, MatInputModule, MatFormFieldModule, ReactiveFormsModule],\n templateUrl: './textbox-with-underscore.component.html',\n styleUrl: './textbox-with-underscore.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextboxWithUnderscoreComponent,\n multi: true\n }\n ]\n})\nexport class TextboxWithUnderscoreComponent {\n field: any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n\n changeFormat(event: any) {\n let digits = event.target.value.replace(/[^0-9]/g, '').slice(0, this.field().validators.maxLength);\n let padded = digits.padEnd(this.field().validators.maxLength, '_');\n event.target.value = padded;\n\n setTimeout(() => {\n let pos = digits.length;\n if (pos > this.field().validators.maxLength) pos = this.field().validators.maxLength;\n event.target.setSelectionRange(pos, pos);\n });\n }\n getUnderscorePlaceholder() {\n return '_'.repeat(this.field().validators.maxLength);\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100 hyphen-input\"\n appearance=\"outline\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [placeholder]=\"getUnderscorePlaceholder()\"\n (keyup)=\"changeFormat($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [placeholder]=\"getUnderscorePlaceholder()\"\n (keyup)=\"changeFormat($event)\"\n />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\n\n@Component({\n selector: 'lib-underscore-mob-number',\n standalone: true,\n imports: [CommonModule, MatInputModule, MatFormFieldModule, MatSelectModule, MatOptionModule, ReactiveFormsModule],\n templateUrl: './underscore-mob-number.component.html',\n styleUrl: './underscore-mob-number.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: UnderscoreMobNumberComponent,\n multi: true\n }\n ]\n})\nexport class UnderscoreMobNumberComponent {\nCountryCode: any = '+91';\n field : any = input.required<any>();\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n \n changeFormat(event: any) {\n let digits = event.target.value.replace(/[^0-9]/g, '').slice(0, this.field().validators.maxLength);\n let padded = digits.padEnd(this.field().validators.maxLength, '_');\n event.target.value = padded;\n\n setTimeout(() => {\n let pos = digits.length;\n if (pos > this.field().validators.maxLength) pos = this.field().validators.maxLength;\n event.target.setSelectionRange(pos, pos);\n });\n }\n getUnderscorePlaceholder() {\n return '_'.repeat(this.field().validators.maxLength);\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100 mobile-field hyphen-input\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n <div matTextPrefix class=\"prefix_alternate_mobile primary\">\n <div class=\"d-flex countryCode\">\n <span class=\"country_code_input\"> {{ CountryCode }} </span>\n <span\n ><img src=\"https://cdn.godigit.com/retail-life/down-arrow.svg\" alt=\"\"\n /></span>\n </div>\n </div>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [placeholder]=\"getUnderscorePlaceholder()\"\n (keyup)=\"changeFormat($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [placeholder]=\"getUnderscorePlaceholder()\"\n (keyup)=\"changeFormat($event)\"\n />\n }\n\n <span matSuffix class=\"p-3\">\n <img src=\"https://cdn.godigit.com/retail-life/edit-icon.svg\" alt=\"\" />\n </span>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-icon-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './icon-button.component.html',\n styleUrl: './icon-button.component.css',\n})\nexport class IconButtonComponent {\n field: any = input.required<any>();\n}\n","<Button\nclass=\"icon-button\"\n*ngIf=\"field() && field()?.isVisible\"\n[ngStyle]=\"\n{\n '--icon-button-border-width': field()?.controlStyle?.borderWidth ,\n '--icon-button-border-style': field()?.controlStyle?.borderStyle ,\n '--icon-button-border-color': field()?.controlStyle?.borderColor ,\n '--icon-button-width': field()?.controlStyle?.width ,\n '--icon-button-background': field()?.controlStyle?.background ,\n '--icon-button-border-radius': field()?.controlStyle?.borderRadius ,\n}\"\n>\n<span>\n<img [src]=\"field()?.imageUrl ? field()?.imageUrl : 'https://cdn.godigit.com/retail-life/Download_Icon.svg'\"/>\n</span>\n</Button>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-image',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './image.component.html',\n styleUrl: './image.component.css'\n})\nexport class ImageComponent {\n field: any = input.required<any>();\n}\n","<div *ngIf=\"field() && field()?.isVisible\">\n <img [src]=\"field()['imageUrl']\" class=\"image-width\" [ngStyle]=\"{'--image-width' : field()?.controlStyle?.width}\"/>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-stepper',\n standalone: true,\n imports: [MatStepperModule,CommonModule],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.css'\n})\nexport class StepperComponent {\nfield: any = input.required<any>();\nmasterStepper:any;\nconstructor(public masterSharedService:MasterControlService){}\nngOnInit(){\n this.field().editStepper = this.field().configData.stepperData ? this.field().configData.stepperData : this.masterSharedService?.configData?.stepper?.stepperData;\n}\n}\n","<div *ngIf=\"field() && field()?.isVisible\">\n <mat-stepper #stepperHeader>\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\n <mat-step>\n <ng-template matStepLabel>\n <img\n class=\"step-img\"\n [src]=\"steps.imgIconUrl\"\n alt=\"\"\n />\n <span class=\"step-label mx-2\">{{steps?.displayLabel}}</span>\n </ng-template>\n </mat-step>\n </ng-container>\n </mat-stepper>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './card.component.html',\n styleUrl: './card.component.css'\n})\nexport class CardComponent {\n field: any = input.required<any>();\n @Output() cardDetailsClicked = new EventEmitter<any>();\n constructor(public masterSharedService: MasterControlService) { }\n\n ngOnInit() {\n this.field().cardDetails = this.field().configData?.cardDetails ? this.field().configData?.cardDetails : this.masterSharedService?.configData?.policyDisplayCard?.policyDetails;\n }\n\n activeCard(emitData: any) {\n const cards = document.querySelectorAll('.endorsement-card');\n cards.forEach(card => {\n card.addEventListener('click', () => {\n cards.forEach(c => c.classList.remove('active'));\n card.classList.add('active');\n });\n });\n let passcardData: any = {\n \"cardData\": emitData,\n \"filedData\": this.field()\n }\n this.cardDetailsClicked.emit(passcardData);\n }\n\n}\n","<div class=\"grid-container-card\" *ngIf=\"field() && field()?.isVisible\">\n <div class=\"endorsement-card\" [ngStyle]=\"{\n '--card-border-color': field()?.controlStyle?.borderColor ,\n '--card-border-width': field()?.controlStyle?.borderWidth ,\n '--card-border-style': field()?.controlStyle?.borderStyle ,\n '--card-border-radius': field()?.controlStyle?.borderRadius \n }\" *ngFor=\"let policyDetails of field().cardDetails; let i = index\" (click)=\"activeCard(policyDetails)\">\n <p class=\"m-0 card-label\" [ngStyle]=\"{\n '--card-font-size': field()?.controlStyle?.fontSize ,\n '--card-font-weight': field()?.controlStyle?.fontWeight ,\n '--card-font-color': field()?.controlStyle?.color ,}\">{{policyDetails?.policyHolderName}}</p>\n <hr class=\"m-0 hr-line mt-1\" />\n <div class=\"d-flex gap-2 mt-1\">\n <span>\n <img src=\"https://cdn.godigit.com/retail-life/Endorsement-add-ons.svg\" alt=\"\" />\n </span>\n <span>\n <p class=\"m-0 card-label\">{{policyDetails?.policyType}}</p>\n <span class=\"below-card-text\">{{policyDetails?.policyNumber}}</span>\n </span>\n </div>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-hr-line',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './hr-line.component.html',\n styleUrl: './hr-line.component.css'\n})\nexport class HrLineComponent {\nfield: any = input.required<any>();\n}\n","<div class=\"\">\n <div class=\"hr-with-text\" [ngStyle]=\"{\n '--hr-line-border-width': field()?.controlStyle?.borderWidth,\n '--hr-line-border-color': field()?.controlStyle?.borderColor,\n '--hr-line-border-style': field()?.controlStyle?.borderStyle\n}\">\n <span class=\"hr-text\" [ngStyle]=\"{\n '--hr-text-color': field()?.controlStyle?.color,\n '--hr-text-weight': field()?.controlStyle?.fontWeight,\n '--hr-text-size': field()?.controlStyle?.fontSize\n}\"\n*ngIf=\"field()?.configData?.hrText\">{{field()?.configData?.hrText}}</span>\n</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\n\n@Component({\n selector: 'lib-search-multi-select',\n standalone: true,\n imports: [\n MatSelectModule,\n MatFormFieldModule,\n CommonModule,\n MatChipsModule,\n MatIconModule,\n FormsModule,\n MatInputModule,\n ReactiveFormsModule\n ],\n templateUrl: './search-multi-select.component.html',\n styleUrl: './search-multi-select.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SearchMultiSelectComponent,\n multi: true\n }\n ]\n})\nexport class SearchMultiSelectComponent {\n field: any = input.required<any>();\n selectedValues: any = [];\n visibleChip: any = [];\n remainingCount: any = 0;\n searchText: any = '';\n filteredOptions: any = [];\n inputValue: any = null;\n reactiveFormControlobject : any = input<any>();\n ngOnInit() {\n this.filteredOptions = this.field().options;\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n selectionChanged(event: MatSelectChange) {\n this.inputValue = event.value;\n this.onChange(event.value);\n this.onTouched();\n }\n setDisabledState?(isDisabled: boolean): void {}\n\n removeItem(item: any) {\n const maxVisible = 2;\n this.visibleChip = this.visibleChip.filter(\n (element: any) => element !== item\n );\n this.selectedValues = this.selectedValues.filter(\n (element: any) => element !== item\n );\n const found = this.field().options.find((i: any) => i.label === item);\n if (found) {\n found.value = false;\n }\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\n this.remainingCount = this.selectedValues.length - maxVisible;\n }\n onSelectionChange() {\n const maxVisible = 2;\n this.visibleChip = this.selectedValues.slice(0, maxVisible);\n this.remainingCount = this.selectedValues.length - maxVisible;\n }\n\n filterOptions() {\n if (!this.searchText) {\n this.filteredOptions = this.field().options;\n return;\n }\n const filterValue = this.searchText.toLowerCase();\n this.filteredOptions = this.field().options.filter((option: any) =>\n option.label.toLowerCase().includes(filterValue)\n );\n }\n\n onSelectOpened(opened: boolean) {\n const css = this.field()?.controlStyle;\n if (opened) {\n document.body.style.setProperty(\n '--custom-select-option-background-color',\n css?.dropdownOptionBgColor || '#fff'\n );\n document.body.style.setProperty(\n '--custom-select-option-font-color',\n css?.dropdownOptionColor || '#444'\n );\n document.body.style.setProperty(\n '--custom-select-option-font-weight',\n css?.dropdownOptionFontWeight || '400'\n );\n document.body.style.setProperty(\n '--custom-select-option-background-color-focus',\n css?.focusDropdownOptionBgColor || '#fff'\n );\n document.body.style.setProperty(\n '--custom-select-option-font-color-focus',\n css?.focusDropdownOptionColor || '#444'\n );\n document.body.style.setProperty(\n '--custom-select-option-font-weight-focus',\n css?.focusDropdownOptionFontWeight || '400'\n );\n document.body.style.setProperty(\n '--custom-select-option-border-left-focus',\n css?.focusDropdownOptionBorderLeft || '#ffbb00'\n );\n document.body.style.setProperty(\n '--custom-select-option-border-radius-focus',\n css?.focusDropdownOptionBorderRadius || '#ffbb00'\n );\n } else {\n document.body.style.removeProperty(\n '--custom-select-option-background-color'\n );\n document.body.style.removeProperty('--custom-select-option-font-color');\n document.body.style.removeProperty('--custom-select-option-font-weight');\n document.body.style.removeProperty(\n '--custom-select-option-background-color-focus'\n );\n document.body.style.removeProperty(\n '--custom-select-option-font-color-focus'\n );\n document.body.style.removeProperty(\n '--custom-select-option-font-weight-focus'\n );\n document.body.style.removeProperty(\n '--custom-select-option-border-left-focus'\n );\n document.body.style.removeProperty(\n '--custom-select-option-border-radius-focus'\n );\n }\n }\n}\n","<label class=\"field-lable\" *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n appearance=\"outline\"\n class=\"input-full-width full-width w-100 multi-select\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\"\n>\n@if(reactiveFormControlobject()) {\n<mat-select\n multiple\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldName\"\n [(value)]=\"selectedValues\"\n (selectionChange)=\"onSelectionChange()\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n [disabled]=\"field()?.isDisable\"\n (openedChange)=\"onSelectOpened($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n >\n <mat-select-trigger>\n <mat-chip-listbox>\n @for (option of visibleChip; track option) {\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\n {{ option }}\n <mat-icon matChipRemove>close</mat-icon>\n </mat-chip>\n }\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\n </mat-chip-listbox>\n </mat-select-trigger>\n <div class=\"select-container\">\n <mat-optgroup>\n <mat-form-field\n class=\"input-full-width full-width w-100 multiselect-search\"\n >\n <input\n matInput\n #search\n autocomplete=\"off\"\n placeholder=\"Search\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"filterOptions()\"\n />\n </mat-form-field>\n </mat-optgroup>\n @for (option of filteredOptions; track option.label) {\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\n {{ option.label }}\n </mat-option>\n }\n </div>\n </mat-select>\n}@else {\n <mat-select\n multiple\n [id]=\"field()?.fieldName\"\n [attr.name]=\"field()?.fieldName\"\n [(value)]=\"selectedValues\"\n (selectionChange)=\"onSelectionChange()\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n [disabled]=\"field()?.isDisable\"\n (openedChange)=\"onSelectOpened($event)\"\n [value]=\"inputValue\"\n >\n <mat-select-trigger>\n <mat-chip-listbox>\n @for (option of visibleChip; track option) {\n <mat-chip [removable]=\"true\" (removed)=\"removeItem(option)\">\n {{ option }}\n <mat-icon matChipRemove>close</mat-icon>\n </mat-chip>\n }\n <mat-chip *ngIf=\"remainingCount > 0\"> +{{ remainingCount }} </mat-chip>\n </mat-chip-listbox>\n </mat-select-trigger>\n <div class=\"select-container\">\n <mat-optgroup>\n <mat-form-field\n class=\"input-full-width full-width w-100 multiselect-search\"\n >\n <input\n matInput\n #search\n autocomplete=\"off\"\n placeholder=\"Search\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"filterOptions()\"\n />\n </mat-form-field>\n </mat-optgroup>\n @for (option of filteredOptions; track option.label) {\n <mat-option [value]=\"option.label\" autoActiveFirstOption>\n {{ option.label }}\n </mat-option>\n }\n </div>\n </mat-select>\n}\n \n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.requiredMessage }}\n </mat-error>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-subscript-textbox',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule ,\n CommonModule,\n ReactiveFormsModule\n ],\n templateUrl: './subscript-textbox.component.html',\n styleUrl: './subscript-textbox.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SubscriptTextboxComponent,\n multi: true\n }\n ]\n})\nexport class SubscriptTextboxComponent {\n inputValue: any = null;\n field : any = input.required<any>();\n reactiveFormControlobject : any = input<any>();\n\n _onChange: any = (inputValue:any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void{\n this.inputValue=obj;\n };\n registerOnChange(fn: any): void{\n this._onChange = fn;\n };\n registerOnTouched(fn: any): void{\n this._unTouched = fn;\n };\n setDisabledState?(isDisabled: boolean): void{};\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(): void {\n this._unTouched();\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n\n <p class=\"years-text\" *ngIf=\"inputValue\">Years</p>\n <p class=\"textbox-subscript\">till 2026</p>\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div>\n <span class=\"below-input-text\">{{field()?.configData?.subscriptText}}</span>\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n\n@Component({\n selector: 'lib-label',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './label.component.html',\n styleUrl: './label.component.css'\n})\nexport class LabelComponent {\nfield : any = input.required<any>();\n}\n","<div *ngIf=\"field()?.isVisible\">\n<span class=\"master-label\" [ngStyle]=\"{\n'--master-heading-font-color': field()?.controlStyle?.color,\n'--master-heading-font-size': field()?.controlStyle?.fontSize,\n'--master-heading-font-weight': field()?.controlStyle?.fontWeight\n}\">{{field()?.label}}</span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-sub-header',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './sub-header.component.html',\n styleUrl: './sub-header.component.css'\n})\nexport class SubHeaderComponent {\nfield : any = input.required<any>();\n}\n","<div>\n <span class=\"sub-heading\" [ngStyle]=\"{\n'--sub-heading-font-color': field()?.controlStyle?.color,\n'--sub-heading-font-size': field()?.controlStyle?.fontSize,\n'--sub-heading-font-weight': field()?.controlStyle?.fontWeight\n}\">{{field()?.label}}\n<img [src]=\"field()?.imageUrl\" *ngIf=\"field()?.imageUrl\" alt=\"\">\n</span>\n</div>","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n@Component({\n selector: 'lib-header',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './header.component.html',\n styleUrl: './header.component.css'\n})\nexport class HeaderComponent {\nfield : any = input.required<any>();\n}\n","<div>\n <span class=\"heading\" [ngStyle]=\"{\n'--heading-font-color': field()?.controlStyle?.color,\n'--heading-font-size': field()?.controlStyle?.fontSize,\n'--heading-font-weight': field()?.controlStyle?.fontWeight\n}\">\n {{field()?.label}}\n </span>\n</div>","import { Component, EventEmitter, HostListener, input, Output } from '@angular/core';\nimport { CommonModule, NgFor, NgIf } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MasterControlService } from '../master-control.service';\nimport { MatPaginatorModule, PageEvent } from '@angular/material/paginator';\n@Component({\n selector: 'lib-table',\n standalone: true,\n imports: [NgIf, NgFor, FormsModule, CommonModule, MatIconModule, MatTooltipModule, MatPaginatorModule],\n templateUrl: './table.component.html',\n styleUrl: './table.component.css'\n})\nexport class TableComponent {\n field: any = input.required<any>();\n readonly = input(false);\n showActionsPopup = false;\n popupPosition = { top: 0, left: 0 };\n selectedRow: any = 0;\n highlightedIndex = -1;\n paginationSize: any = 10;\n pageNumber: any = 0;\n pageSize: any = 10;\n @Output() actionItemClicked = new EventEmitter<any>();\n @Output() tablePaginationClicked = new EventEmitter<any>();\n constructor(public masterControlService: MasterControlService) { }\n\n ngOnInit() {\n this.setColumns();\n }\n trackByIndex(index: any, item: any) {\n return index;\n }\n\n setColumns() {\n let checkConfigData = this.field().configData;\n if (Object?.keys(checkConfigData)?.length > 0) {\n this.masterControlService.configData.table = checkConfigData;\n }\n if (this.masterControlService.configData.table.rowlength > 0 && this.masterControlService.configData.table.columnlength > 0) {\n this.field().tableData = this.masterControlService.configData.table;\n for (let i = 0; i < this.masterControlService.configData.table.columnlength; i++) {\n if (Object.keys(checkConfigData).length <= 0) {\n let headerObj = {\n \"columnName\": `${'Name - ' + i}`,\n \"isSortingNeeded\": \"Y\",\n \"toolTip\": `${'tooltip - ' + i}`\n }\n const exists = this.field().tableData.tableHeaders.some(\n (header: any) => header.columnName === headerObj.columnName\n );\n if (!exists && this.field().tableData.tableHeaders.length < this.masterControlService.configData.table.columnlength) {\n this.field().tableData.tableHeaders.push(headerObj);\n }\n }\n }\n this.field().tableData.tdData = Array(this.masterControlService.configData.table.rowlength).fill(null).map((_, rowIdx) =>\n Array(this.masterControlService.configData.table.columnlength).fill('').map((_, colIdx) => `Dummy Row ${rowIdx + 1}`)\n );\n\n this.masterControlService.saveTableFieldState(this.field());\n this.field().configData = this.field().tableData\n }\n }\n\n openActionsPopup(event: MouseEvent, rowIndex: number) {\n event.stopPropagation();\n this.selectedRow = rowIndex;\n this.showActionsPopup = true;\n this.highlightedIndex = 1;\n const rect = (event.target as HTMLElement).getBoundingClientRect();\n this.popupPosition = {\n top: rect.bottom + window.scrollY - 30,\n left: rect.left + window.scrollX - 280,\n };\n }\n\n closeActionsPopup() {\n this.showActionsPopup = false;\n this.field().tableData.userSelectedOptions[this.selectedRow].forEach((checkIcon: any) => {\n checkIcon.isSelected = false;\n });\n this.selectedRow = 0;\n this.highlightedIndex = -1;\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscKey(event: KeyboardEvent) {\n this.closeActionsPopup();\n }\n\n pageChanged(event: PageEvent) {\n this.field().tableData.pageNumber = event.pageIndex;\n this.field().tableData.pageSize = event.pageSize;\n this.tablePaginationClicked.emit(this.field().tableData);\n }\n\n actionClicked(actionSelected: any, actionIndex: any) {\n this.field()?.tableData?.userSelectedOptions[this.selectedRow]?.forEach((checkIcon: any, selectedIndex: any) => {\n if (checkIcon.matIconName === actionSelected.matIconName && actionIndex === selectedIndex) {\n checkIcon.isSelected = true;\n }\n });\n let emitOBJ = {\n userSelectedOptions : this.field()?.tableData?.userSelectedOptions,\n selectedRowIndex: this.selectedRow,\n selectedActionsIndex: actionIndex,\n }\n this.actionItemClicked.emit(emitOBJ);\n }\n}\n","<div class=\"styled-table-container\">\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length > 0\">\n <table *ngIf=\"field()?.tableData?.columnlength && field()?.tableData?.rowlength\" class=\"styled-table\">\n <thead>\n <tr>\n <th *ngIf=\"field()?.tableData?.showCheckBox\"></th>\n <th *ngFor=\"let header of field().tableData?.tableHeaders; let i = index; trackBy: trackByIndex\">\n <ng-container>{{ header?.columnName }}</ng-container>\n </th>\n <th *ngIf=\"field()?.tableData?.showActions\">Action</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of field()?.tableData?.tdData;let rowIndex = index\">\n <td *ngIf=\"field()?.tableData?.showCheckBox\"><input type=\"checkbox\"></td>\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\n <td *ngIf=\"field()?.tableData?.showActions\">\n <button class=\"action-btn\" (click)=\"openActionsPopup($event, rowIndex)\" [disabled]=\"readonly()\">\n <mat-icon>more_vert</mat-icon>\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"field()?.tableData?.showPagination\">\n <mat-paginator class=\"custom-paginator\" [length]=\"field()?.tableData?.totalItems\"\n [pageSize]=\"field()?.tableData?.paginationSize\" [pageSizeOptions]=\"[5, 10, 25, 100]\"\n (page)=\"pageChanged($event)\" aria-label=\"Select page\">\n </mat-paginator>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"field()?.tableData?.tdData && field()?.tableData?.tdData.length === 0\">\n <div class=\"tableEmptyData\">\n <p class=\"tableemptyDataMessage\">No matching records found for the given search input.</p>\n </div>\n </ng-container>\n</div>\n\n<div *ngIf=\"showActionsPopup\" class=\"actions-popup-backdrop\" (click)=\"closeActionsPopup()\">\n <div class=\"actions-popup-menu\" [ngStyle]=\"{'top.px': popupPosition.top, 'left.px': popupPosition.left}\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"makeArrow\" [ngStyle]=\"{'left.px': popupPosition.left+25}\"></div>\n <ul>\n <li *ngFor=\"let actionData of field().tableData?.userSelectedOptions[selectedRow];let actionIndex = index\"\n [matTooltip]=\"actionData?.displayTitle\" matTooltipPosition=\"above\"\n (click)=\"actionClicked(actionData,actionIndex)\">\n <mat-icon>{{actionData?.matIconName}}</mat-icon>\n {{actionData?.displayTitle}}\n </li>\n </ul>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'lib-textbox-with-text',\n standalone: true,\n imports: [\n MatInputModule,\n MatFormFieldModule,\n CommonModule,\n ReactiveFormsModule,\n ],\n templateUrl: './textbox-with-text.component.html',\n styleUrl: './textbox-with-text.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextboxWithTextComponent,\n multi: true,\n },\n ],\n})\nexport class TextboxWithTextComponent {\n inputValue: any = null;\n reactiveFormControlobject: any = input<any>();\n field: any = input.required<any>();\n @Output() blur = new EventEmitter<any>();\n\n _onChange: any = (inputValue: any) => {};\n _unTouched: any = () => {};\n\n writeValue(obj: any): void {\n this.inputValue = obj;\n }\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this._unTouched = fn;\n }\n setDisabledState?(isDisabled: boolean): void {}\n\n onInputChange(event: any): void {\n this.inputValue = event.target.value;\n this._onChange(this.inputValue);\n }\n\n onInputBlur(event?: any): void {\n this._unTouched();\n this.blur.emit(event);\n }\n}\n","<label\n class=\"field-lable\"\n *ngIf=\"field() && field()?.isVisible && field().isShowLabel\"\n >{{ field()?.label\n }}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\"\n >*</span\n ></label\n>\n<mat-form-field\n class=\"w-100\"\n appearance=\"outline\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"{\n'--custom-border-color': field()?.controlStyle?.borderColor ,\n'--custom-border-width': field()?.controlStyle?.borderWidth ,\n'--custom-border-radius': field()?.controlStyle?.borderRadius ,\n'--custom-bg-color': field()?.controlStyle?.background ,\n'--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n'--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n'--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n'--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n'--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n'--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n'--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-size': field()?.controlStyle?.fontSize ,\n'--custom-font-weight': field()?.controlStyle?.fontWeight ,\n'--custom-font-family': field()?.controlStyle?.fontFamily ,\n'--custom-font-color': field()?.controlStyle?.color ,\n'--custom-caret-color': field()?.controlStyle?.caretColor ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n}\"\n>\n @if(reactiveFormControlobject()) {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur($event)\"\n [value]=\"inputValue\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n autocomplete=\"off\"\n [type]=\"field()?.controlType\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [placeholder]=\"field()?.placeHolder\"\n [maxLength]=\"field()?.validators?.maxLength\"\n [minLength]=\"field()?.validators?.minLength\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [pattern]=\"field()?.validators?.pattern\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onInputBlur()\"\n [value]=\"inputValue\"\n />\n }\n\n <mat-error *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}\n </mat-error>\n</mat-form-field>\n<div>\n <span class=\"below-input-text\">{{field()?.configData?.subscriptText}}</span>\n <span [innerHTML]=\"field()?.configData?.innerHTML\"></span>\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n</div>\n<div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-discount',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './discount.component.html',\n styleUrl: './discount.component.css'\n})\nexport class DiscountComponent {\n field: any = input.required<any>();\n\n}\n","<p\n class=\"discount-label b2-bold px-1\"\n *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\"\n>\n {{ field()?.label }}\n</p>\n<div \nclass=\"discount-card\" \n*ngIf=\"field() && field()?.isVisible\"\n[ngStyle]=\"\n{\n '--discount-border-width': field()?.controlStyle?.borderWidth,\n '--discount-card-width': field()?.controlStyle?.width ,\n '--discount-border-radius': field()?.controlStyle?.borderRadius ,\n '--discount-border-color': field()?.controlStyle?.borderColor ,\n}\"\n>\n <div class=\"d-flex justify-content-between\">\n <div>\n <img\n src=\"https://cdn.godigit.com/retail-life/discount-img-lib.svg\"\n alt=\"\"\n class=\"mx-1\"\n />\n <span class=\"h2-extrabold\">5% </span>\n <span class=\"b3-regular\">off</span>\n </div>\n <div>\n <button class=\"apply-btn\">\n <span class=\"my-1\">\n Apply\n <img\n src=\"https://cdn.godigit.com/retail-life/arrow_forward_lib.svg\"\n alt=\"\"\n />\n </span>\n </button>\n </div>\n <div *ngIf=\"false\">\n <button class=\"remove-btn\">\n <span> Remove x </span>\n </button>\n </div>\n </div>\n <div>\n <p class=\"b2-bold m-0\">Good Health Discount</p>\n <p class=\"b3-regular\">\n Get extra 5% discount for keeping a healthy lifestyle!\n </p>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-benefit-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './benefit-card.component.html',\n styleUrl: './benefit-card.component.css',\n})\nexport class BenefitCardComponent {\n field: any = input.required<any>();\n}\n","<div\n class=\"benefit-card\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"\n{\n '--benefit-border-width': field()?.controlStyle?.borderWidth,\n '--benefit-card-width': field()?.controlStyle?.width ,\n '--benefit-border-radius': field()?.controlStyle?.borderRadius ,\n '--benefit-border-color': field()?.controlStyle?.borderColor ,\n}\"\n>\n <div class=\"d-flex justify-content-between\">\n <span class=\"b1-bold\" *ngIf=\"field()?.isShowLabel\">{{ field()?.label }}</span>\n <button class=\"add-card-button\">+ Add</button>\n <button class=\"remove-card-button\" *ngIf=\"false\">x Remove</button>\n </div>\n <div class=\"mt-2\">\n <img\n src=\"https://cdn.godigit.com/retail-life/tabler_wheelchair.png\"\n alt=\"\"\n />\n <span class=\"b3-regular mx-2\">Policy Continuance Benefit on Death</span>\n <img src=\"https://cdn.godigit.com/retail-life/info-button-lib.svg\" alt=\"\" />\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input} from '@angular/core';\n\n@Component({\n selector: 'lib-loader',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.css'\n})\nexport class LoaderComponent {\n field: any = input.required<any>();\n}\n","<div\n class=\"loader-overlay\"\n *ngIf=\"field() && field()?.isVisible\"\n [ngStyle]=\"field()?.configData?.loaderCSS\"\n>\n <div\n class=\"loader-card\"\n [ngStyle]=\"field()?.configData?.cardCSS\"\n >\n <ng-container *ngIf=\"field()?.configData?.imageURL; else defaultLoader\">\n <img\n [src]=\"field()?.configData?.imageURL\"\n [ngStyle]=\"field()?.configData?.imageCSS\"\n alt=\"Loader\"\n />\n <div\n class=\"loader-text\"\n [ngStyle]=\"field()?.configData?.textCSS\"\n >\n {{ field()?.configData?.text }}\n </div>\n </ng-container>\n <ng-template #defaultLoader>\n <div class=\"loader\">\n <span></span>\n <span></span>\n <span></span>\n </div>\n <div\n class=\"loader-text\"\n [ngStyle]=\"field()?.configData?.textCSS\"\n >\n {{ field()?.configData?.text }}\n </div>\n </ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-warning-snackbar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './warning-snackbar.component.html',\n styleUrl: './warning-snackbar.component.css'\n})\nexport class WarningSnackbarComponent {\nfield : any = input.required<any>();\nwarningObj:any;\n\nconstructor(public masterService : MasterControlService) {\n this.warningObj = this.masterService.snackbars.find((item: any) => item.type === 'Warning');\n}\n}\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex gap-3\">\n <span>\n <img\n [src]=\"field()?.configData?.imageURL\"\n alt=\"\"\n class=\"mt-1\"\n [ngClass]=\"field()?.configData?.imageCSS\"\n />\n </span>\n <span class=\"mb-2\">\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\n </span>\n </div>\n <div >\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\n </div>\n </div>\n</div>","import { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-success-snackbar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './success-snackbar.component.html',\n styleUrl: './success-snackbar.component.css'\n})\nexport class SuccessSnackbarComponent {\nfield : any = input.required<any>();\nsuccessObj:any;\n\nconstructor(public masterService : MasterControlService) {\n this.successObj = this.masterService.snackbars.find((item: any) => item.type === 'Success');\n}\n}\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex gap-3\">\n <span>\n <img\n [src]=\"field()?.configData?.imageURL\"\n alt=\"\"\n class=\"mt-1\"\n [ngClass]=\"field()?.configData?.imageCSS\"\n />\n </span>\n <span class=\"mb-2\">\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\n </span>\n </div>\n <div >\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\n </div>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-neutral-snackbar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './neutral-snackbar.component.html',\n styleUrl: './neutral-snackbar.component.css'\n})\nexport class NeutralSnackbarComponent {\nfield : any = input.required<any>();\nneutralObj:any;\n\nconstructor(public masterService : MasterControlService) {\n this.neutralObj = this.masterService.snackbars.find((item: any) => item.type === 'Neutral');\n}\n}\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex gap-3\">\n <span>\n <img\n [src]=\"field()?.configData?.imageURL\"\n alt=\"\"\n class=\"mt-1\"\n [ngClass]=\"field()?.configData?.imageCSS\"\n />\n </span>\n <span class=\"mb-2\">\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\n </span>\n </div>\n <div >\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\n </div>\n </div>\n</div>","import { Component, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-error-snackbar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './error-snackbar.component.html',\n styleUrl: './error-snackbar.component.css'\n})\nexport class ErrorSnackbarComponent {\nfield : any = input.required<any>();\nerrorObj:any;\n\nconstructor(public masterService : MasterControlService) {\n this.errorObj = this.masterService.snackbars.find((item: any) => item.type === 'Error');\n}\n}\n","<div [ngClass]=\"field()?.configData?.toasterCSS\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"d-flex gap-3\">\n <span>\n <img\n [src]=\"field()?.configData?.imageURL\"\n alt=\"\"\n class=\"mt-1\"\n [ngClass]=\"field()?.configData?.imageCSS\"\n />\n </span>\n <span class=\"mb-2\">\n <p class=\"mb-2\" [ngClass]=\"field()?.configData?.labelCSS\">{{field()?.configData?.labelText}}</p>\n <p class=\"m-0\" [ngClass]=\"field()?.configData?.messageCSS\">{{field()?.configData?.messageText}}</p>\n </span>\n </div>\n <div >\n <img class=\"cross\" [ngClass]=\"field()?.configData?.closeIconCSS\" [src]=\"field()?.configData?.closeIconImageURL\" alt=\"\">\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-grey-label',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './grey-label.component.html',\n styleUrl: './grey-label.component.css'\n})\nexport class GreyLabelComponent {\n field : any = input.required<any>();\n}\n","<div *ngIf=\"field()?.isVisible\">\n <span class=\"bold-label\" [ngStyle]=\"{\n'--master-bold-label-font-color': field()?.controlStyle?.color,\n'--master-bold-label-font-size': field()?.controlStyle?.fontSize,\n'--master-bold-label-font-weight': field()?.controlStyle?.fontWeight\n}\">{{field()?.label}}</span>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'lib-iframe',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './iframe.component.html',\n styleUrl: './iframe.component.css'\n})\nexport class IframeComponent implements OnInit {\n field: any = input.required<any>();\n safeUrl: SafeResourceUrl | null = null;\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit() {\n if (this.field() && this.field().imageUrl) {\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.field().imageUrl);\n }\n }\n\n getIframeUrl() {\n let iframeUrl : any = null;\n if (this.field() && this.field().imageUrl) {\n iframeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.field().imageUrl);\n }\n return iframeUrl;\n }\n\n}\n","<div *ngIf=\"field().imageUrl\">\n <iframe [id]=\"field().fieldName\" width=\"100%\" height=\"500px\" style=\"border: none\"></iframe>\n</div>\n","\nimport { CommonModule } from '@angular/common';\nimport { Component, input, Output, EventEmitter } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';\n\n@Component({\n selector: 'lib-toggle-button',\n standalone: true,\n imports: [MatButtonToggleModule, CommonModule, ReactiveFormsModule, FormsModule, CustomizedTooltipDirective],\n templateUrl: './toggle-button.component.html',\n styleUrl: './toggle-button.component.css',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: ToggleButtonComponent,\n multi: true,\n },\n ],\n})\nexport class ToggleButtonComponent implements ControlValueAccessor {\n reactiveFormControlobject: any = input<any>();\n field : any = input.required<any>();\n selectedValue: any = null;\n\n // Output events for parent component communication\n @Output() selectionChanged = new EventEmitter<any>();\n @Output() change = new EventEmitter<any>();\n\n // ControlValueAccessor methods\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any): void {\n this.selectedValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // Handle disabled state if needed\n }\n\n // Handle selection change\n onSelectionChange(value: any): void {\n this.selectedValue = value;\n this.onChange(value);\n this.onTouched();\n\n // Emit events for parent component\n this.selectionChanged.emit(value);\n this.change.emit(value);\n }\n}\n","<div style=\"position: relative\" [ngClass]=\"field()?.cssClass\">\n @if(reactiveFormControlobject()) {\n <mat-button-toggle-group [ngStyle]=\"{\n '--toggle-button-width': field()?.controlStyle?.width ,\n }\" name=\"fontStyle\" class=\"custom-mat-toggle\" aria-label=\"Font Style\"\n *ngIf=\"field() && field()?.isVisible && field()?.configData?.options\" [value]=\"selectedValue\"\n (change)=\"onSelectionChange($event.value)\" [formControl]=\"reactiveFormControlobject()\">\n @for (data of field()?.configData?.options; track $index) {\n <mat-button-toggle [value]=\"data.value\">\n <img *ngIf=\"data.imgUrl && !data.tooltipText\" [src]=\"data.imgUrl\" alt=\"\" class=\"toggle-img mx-1\" />\n\n {{ data.label }}\n <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\n *ngIf=\"data.imgUrl && data.tooltipText\">\n <img [src]=\"data.imgUrl\" class=\"toggle-img mx-1\" />\n </span>\n\n <!-- ✅ Single template that uses current data -->\n <ng-template #currentTooltip>\n <span [innerHTML]=\"data.tooltipText\"></span>\n </ng-template>\n </mat-button-toggle>\n <div class=\"top-green-card\" *ngIf=\"data.toggleTopText\">\n <span class=\"second-box\">\n <img class=\"green-card-img\" *ngIf=\"data.topImage\" [src]=\"data.topImage\" alt=\"\" />\n <span>{{ data.toggleTopText }}</span>\n </span>\n </div>\n }\n </mat-button-toggle-group>\n }@else {\n <mat-button-toggle-group [ngStyle]=\"{\n '--toggle-button-width': field()?.controlStyle?.width ,\n }\" name=\"fontStyle\" class=\"custom-mat-toggle\" aria-label=\"Font Style\"\n *ngIf=\"field() && field()?.isVisible && field()?.configData?.options\" [(ngModel)]=\"selectedValue\"\n (change)=\"onSelectionChange($event.value)\">\n @for (data of field()?.configData?.options; track $index) {\n <mat-button-toggle [value]=\"data.value\">\n {{ data.label }}\n <!-- <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\n *ngIf=\"data.imgUrl && data.tooltipText\">\n <img [src]=\"data.imgUrl\" />\n </span> -->\n\n <!-- ✅ Single template that uses current data -->\n <!-- <ng-template #currentTooltip>\n <span [innerHTML]=\"data.tooltipText\"></span>\n </ng-template> -->\n </mat-button-toggle>\n <div class=\"top-green-card\" *ngIf=\"data.toggleTopText\">\n <span class=\"second-box\">\n <img class=\"green-card-img\" *ngIf=\"data.topImage\" [src]=\"data.topImage\" alt=\"\" />\n <span>{{ data.toggleTopText }}</span>\n </span>\n </div>\n }\n </mat-button-toggle-group>\n }\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, Input, input } from '@angular/core';\n\n@Component({\n selector: 'lib-pay-get-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './pay-get-card.component.html',\n styleUrl: './pay-get-card.component.css'\n})\nexport class PayGetCardComponent {\nfield: any = input.required<any>();\n @Input() payAmount: any = '₹6,00,000';\n @Input() premiumAmount: any= '₹10,000';\n @Input() ptValue: any= 5;\n @Input() years: any= '2030';\n @Input() frequency: any= 'month';\n\n @Input() payamountOptions: any[] = [\n { amount: '₹62,000', percentage: '@6%' },\n { amount: '₹66,000', percentage: '@8%' },\n { amount: '₹72,000', percentage: '@10%' }\n ];\n}\n","<div\n class=\"d-flex justify-content-between pay-card\"\n [ngStyle]=\"{\n'--pay-card-border-color': field()?.controlStyle?.borderColor ,\n'--pay-card-border-width': field()?.controlStyle?.borderWidth ,\n'--pay-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--pay-card-bg-color': field()?.controlStyle?.background ,\n'--pay-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <div class=\"text-center mx-2\">\n <span class=\"bold-label\">{{ field()?.placeHolder || 'Pay' }}</span> <br />\n <span class=\"grey-label\">{{payAmount}}</span>\n </div>\n <div class=\"premium-card d-flex align-items-center justify-content-around\">\n <ng-container *ngFor=\"let option of payamountOptions; let i = index; let isLast = last\">\n <div class=\"value-card text-center\" *ngIf=\"field()?.configData?.isShowContent\">\n <span class=\"showcontent-amount\">{{option.amount}}</span>\n <button class=\"grey-button\">{{option.percentage}}</button>\n </div>\n\n <div class=\"separator-container\" *ngIf=\"field()?.configData?.isShowContent && !isLast\">\n <span class=\"vertical-line\"></span>\n <span class=\"or-text\">or</span>\n <span class=\"vertical-line\"></span>\n </div>\n </ng-container>\n\n <div class=\"d-flex flex-column text-center\">\n <span class=\"light-label\"><b class=\"bold-label\">{{premiumAmount}}</b>/ {{frequency}}</span>\n <span class=\"grey-label\">for {{ptValue}} years (till {{years}})</span>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, input } from '@angular/core';\n\n@Component({\n selector: 'lib-in-built-benefit',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './in-built-benefit.component.html',\n styleUrl: './in-built-benefit.component.css',\n})\nexport class InBuiltBenefitComponent {\n field: any = input.required<any>();\n\n @Input() premiumAmount: any = '₹1,00,000';\n @Input() premiumAmountShort: any = '1L';\n}\n","<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">In-built Benefit</span>\n </p>\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <br />\n <span class=\"premium\"\n ><b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})</span\n >\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, input } from '@angular/core';\n\n@Component({\n selector: 'lib-other-benefits',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './other-benefits.component.html',\n styleUrl: './other-benefits.component.css'\n})\nexport class OtherBenefitsComponent {\n field: any = input.required<any>();\n}\n","<div class=\"other-benefit-card d-flex gap-2\"\n [ngStyle]=\"{\n'--other-benefit-color-border-color': field()?.controlStyle?.borderColor ,\n'--other-benefit-color-border-width': field()?.controlStyle?.borderWidth ,\n'--other-benefit-color-border-radius': field()?.controlStyle?.borderRadius ,\n'--other-benefit-color-bg-color': field()?.controlStyle?.background\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <div class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">Additional Benefits</span>\n </div>\n @for (data of field()?.configData?.otherBenefits; track $index) {\n <div class=\"sub-benefit-card\">\n <div class=\"d-flex gap-2 align-items-start\">\n <img [src]=\"data.imageUrl\" alt=\"\" class=\"benefit-icon\" />\n <span class=\"header-txt\">{{ data.headerText }}</span>\n </div>\n <div class=\"highlight-box\" *ngIf=\"data.highlightText\">\n {{data.highlightText}}\n </div>\n <div class=\"description-txt\" [innerHTML]=\"data.htmlInnerText\"></div>\n </div>\n }\n</div>\n","import { Component, input, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-annuity-rate-logo',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './annuity-rate-logo.component.html',\n styleUrl: './annuity-rate-logo.component.css'\n})\nexport class AnnuityRateLogoComponent {\nfield: any = input.required<any>();\n@Input() ratePercent: any = '7%';\n}\n","<div *ngIf=\"field() && field()?.isVisible\">\n <span class=\"annuity-box\">\n <span class=\"annuity-percent\">{{ ratePercent }}</span>\n <img src=\"https://cdn.godigit.com/retail-life/annuity-rate.svg\" alt=\"\" />\n </span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'lib-discount-v2',\n standalone: true,\n imports: [MatIconModule , CommonModule],\n templateUrl: './discount-v2.component.html',\n styleUrl: './discount-v2.component.css'\n})\nexport class DiscountV2Component {\nfield: any = input.required<any>();\n}\n","<div class=\"px-3 py-2 discount-card-v2\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"\n{\n '--discount-design-border-width': field()?.controlStyle?.borderWidth,\n '--discount-design-border-color': field()?.controlStyle?.borderColor ,\n '--discount-design-border-style': field()?.controlStyle?.borderStyle ,\n '--discount-design-width': field()?.controlStyle?.width ,\n '--discount-design-border-radius': field()?.controlStyle?.borderRadius ,\n '--discount-design-bg': field()?.controlStyle?.background ,\n}\">\n<div *ngIf=\"field()?.imageUrl\" class=\"mb-3\">\n <img [src]='field().imageUrl' alt=\"\">\n</div>\n <div class=\"mb-2 discount-heading\" [ngStyle]=\"\n{\n '--discount-heading-font-weight': field()?.controlStyle?.fontWeight ,\n '--discount-heading-font-size': field()?.controlStyle?.fontSize ,\n '--discount-heading-font-color': field()?.controlStyle?.color\n}\">{{field()?.label}}</div>\n <div class=\"sticky-bottom-btn\">\n <!-- <button class=\"px-2 mt-1 discount-btn-remove\"><div>Remove</div> <mat-icon class=\"pt-1 remove-btn-cross\">close</mat-icon></button> -->\n <button class=\"px-2 mt-1 discount-btn-apply\"><div>Applied</div><img class=\"check-circle\" src=\"https://cdn.godigit.com/retail-life/check-circle-ou.svg\" alt=\"\"></button>\n </div>\n</div>\n\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-label-value-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './label-value-card.component.html',\n styleUrl: './label-value-card.component.css'\n})\nexport class LabelValueCardComponent {\nfield : any = input.required<any>();\n\nngOnInit(){}\n}\n","<div class=\"labelValueCard\" *ngIf=\"field() && field()?.isVisible\">\n <div class=\"labelHead\">\n <span class=\"master-labelValue\" [ngStyle]=\"{\n '--master-heading-font-color': field()?.controlStyle?.color,\n '--master-heading-font-size': field()?.controlStyle?.fontSize,\n '--master-heading-font-weight': field()?.controlStyle?.fontWeight\n }\">{{field()?.label}}</span>\n </div>\n <div class=\"labelValue\">\n <span>{{field()?.placeHolder}}</span>\n <span matSuffix class=\"mx-3\">\n <img *ngIf=\"field()?.imageUrl\" [src]='field().imageUrl' alt=\"\" />\n </span>\n </div>\n</div>","import { GoogleMapsModule } from '@angular/google-maps';\nimport { Component, ElementRef, Input, OnInit, ViewChild, NgZone, AfterViewInit, input, SimpleChanges, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';\nimport questionsResponse from './questions.json'\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TextboxComponent } from '../textbox/textbox.component';\nimport { RadioComponent } from '../radio/radio.component';\nimport { CheckboxComponent } from '../checkbox/checkbox.component';\nimport { SelectComponent } from '../select/select.component';\nimport { DobComponent } from '../dob/dob.component';\nimport { UploadComponent } from '../upload/upload.component';\nimport { MultipleSelectComponent } from '../multiple-select/multiple-select.component';\nimport { HrLineComponent } from '../hr-line/hr-line.component';\nimport { MasterControlService } from '../master-control.service';\nimport { MasterService } from '../master.service';\nimport { FilePreviewComponent } from '../file-preview/file-preview.component';\n\n@Component({\n selector: 'lib-medial-questions',\n standalone: true,\n // changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextboxComponent,\n RadioComponent,\n CheckboxComponent,\n SelectComponent,\n DobComponent,\n UploadComponent,\n MultipleSelectComponent,\n GoogleMapsModule,\n HrLineComponent,\n FilePreviewComponent\n ],\n templateUrl: './medial-questions.component.html',\n styleUrl: './medial-questions.component.css',\n})\nexport class MedialQuestionsComponent implements OnInit, AfterViewInit {\n @Output() questionsValueChange = new EventEmitter<any>()\n medialQuestionResponse = input<any>();\n personUWOpenQuoteResponse : any = input<any>();\n defaultValues : any = input<any>();\n personType: any = input<any>();\n personUwId : any = \"\";\n isMedicalSubQuestionsAvailable : any = null;\n medicalSubQuestionsResponse : any = {};\n @ViewChild('addressInput') addressInput!: ElementRef<HTMLInputElement>;\n private autocomplete!: google.maps.places.Autocomplete;\n saveQuestionRequestLa: any = [];\n saveQuestionRequestPh: any = [];\n field: any = input.required<any>();\n questionList: any = [];\n currentCoordinates: any = {};\n personUwResponseObj: any = [];\n center: google.maps.LatLngLiteral = { lat: 40.73061, lng: -73.935242 };\n latitude: any;\n longitude: any;\n zoom: any;\n marker: any = {};\n\n\n personUwAnswers: any = {\n medicalQuestionsHeightUnit: 'FEET',\n medicalQuestionFeetInput: 0,\n medicalQuestionsInchesInput: 0,\n medicalQuestionsHeightInput: 0,\n };\n medQuestionObj: any = {};\n listOfDomainValuesForCheckBox: any = [];\n medicalQuestionsFeetList: any = [];\n medicalQuestionsInchesList: any = [];\n questionHeader: any = ['eia details', 'abha details', 'pep details'];\n medicalQuestionsHeightUnitTypes: any = [\n {\n label: 'Cm',\n value: 'CM',\n },\n {\n label: 'Feet',\n value: 'FEET',\n },\n ];\n showDropdown = false;\n addressSuggestions: any[] = [];\n hoveredIndex = -1;\n searchTimeout: any;\n horizontalLineObj : any = {\n \"controlStyle\": {\n \"controlType\": null,\n \"borderColor\": null,\n \"borderWidth\": null,\n \"borderRadius\": null,\n \"fontSize\": null,\n \"fontWeight\": null,\n \"fontFamily\": null,\n \"color\": null,\n \"background\": null,\n \"caretColor\": null,\n \"nudgeDisplayImage\": null,\n \"dropdownOptionBgColor\": null,\n \"dropdownOptionColor\": null,\n \"dropdownOptionFontWeight\": null,\n \"width\": null,\n \"focusBorderWidth\": null,\n \"focusBorderColor\": null,\n \"focusBackground\": null,\n \"focusColor\": null,\n \"focusDropdownOptionBgColor\": null,\n \"focusDropdownOptionColor\": null,\n \"focusDropdownOptionFontWeight\": null,\n \"focusDropdownOptionBorderLeft\": null,\n \"focusDropdownOptionBorderRadius\": null,\n \"hoverBorderColor\": null,\n \"hoverBorderWidth\": null,\n \"hoverColor\": null,\n \"disableColor\": null,\n \"disableBackground\": null,\n \"errorBorderColor\": null,\n \"errorBorderWidth\": null,\n \"errorColor\": null,\n \"createdDate\": null,\n \"padding\": null,\n \"margin\": null,\n \"isMasterCss\": null,\n \"controlMetaId\": \"LI_COM_GEN_CTRL_hrLine_hrLine_V1\",\n \"borderStyle\": \"solid\",\n \"height\": null,\n \"minHeight\": null,\n \"maxHeight\": null,\n \"minWidth\": null,\n \"maxWidth\": null,\n \"cssClass\": null\n },\n \"fieldName\": \"hrLine\",\n \"label\": \"solid line\",\n \"placeHolder\": null,\n \"metaId\": \"LI_COM_GEN_CTRL_hrLine_hrLine_V1\",\n \"isVisible\": true,\n \"isDisable\": false,\n \"defaultValue\": null,\n \"validators\": {\n \"isRequired\": false,\n \"requiredMessage\": \"This field cannot be empty\",\n \"minLength\": null,\n \"minLengthMessage\": null,\n \"maxLength\": null,\n \"maxLengthMessage\": null,\n \"pattern\": null,\n \"patternMessage\": \"\"\n },\n \"options\": [],\n \"cssClass\": \"col-12\",\n \"value\": null,\n \"style\": null,\n \"imageUrl\": null,\n \"configData\": {\n \"hrText\": \"\"\n },\n \"metaDataObj\": null,\n \"isShowLabel\": true,\n \"isMasterControl\": false,\n \"controlType\": \"hrLine\"\n };\n previewFile: File | null = null;\n constructor(public ngZone: NgZone, public masterService : MasterService) {\n console.log('medialQuestionResponseeeeee', this.medialQuestionResponse());\n console.log('persontype', this.personType());\n }\n\n ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (\n ((changes['medialQuestionResponse']) && !this.checkIfValueIsEmpty(changes['medialQuestionResponse'].currentValue)) ||\n ((changes['preparePersonUwQuestionsObj']) && !this.checkIfValueIsEmpty(changes['preparePersonUwQuestionsObj'].currentValue))\n ) {\n if ('geolocation' in navigator) {\n navigator.geolocation.getCurrentPosition((position) => {\n this.latitude = position.coords.latitude;\n this.longitude = position.coords.longitude;\n this.zoom = 15;\n this.currentCoordinates = {\n lat: this.latitude,\n lng: this.longitude,\n };\n this.center = { ...this.currentCoordinates };\n });\n }\n this.preparePersonUwQuestionsObj();\n }\n\n if(((changes['defaultValues']) && !this.checkIfValueIsEmpty(changes['defaultValues'].currentValue))) {\n if(typeof this.defaultValues() === 'object') {\n this.personUwAnswers = {...this.personUwAnswers, ...this.defaultValues()};\n this.removeSubQuestionValues();\n }\n }\n }\n\n ngAfterViewInit(): void {\n this.initializeAutocomplete();\n }\n\n private resolveHeightQuestionIds(): void {\n this.personUwAnswers['medicalQuestionsHeightInput'] = '';\n this.personUwAnswers['medicalQuestionFeetInput'] = '';\n this.personUwAnswers['medicalQuestionsInchesInput'] = '';\n\n // this.questionList.forEach((section: any) => {\n // if (section.questions && Array.isArray(section.questions)) {\n // section.questions.forEach((question: any) => {\n // switch (question.cammundaQuestionCode) {\n // case 'QHT':\n // this.personUwAnswers['medicalQuestionsHeightInput'] = question.questionId;\n // break;\n // case 'QHTF':\n // this.personUwAnswers['medicalQuestionFeetInput'] = question.questionId;\n // break;\n // case 'QHTI':\n // this.personUwAnswers['medicalQuestionsInchesInput'] = question.questionId;\n // break;\n // }\n // });\n // }\n // });\n }\n\n private initializeAutocomplete(): void {\n this.autocomplete = new google.maps.places.Autocomplete(\n this.addressInput?.nativeElement,\n {\n types: ['address'],\n componentRestrictions: { country: 'IN' },\n fields: ['place_id', 'geometry', 'name', 'formatted_address'],\n }\n );\n\n this.autocomplete.addListener('place_changed', () => {\n this.ngZone.run(() => {\n this.onPlaceSelected();\n });\n });\n }\n\n private onPlaceSelected(): void {\n const place = this.autocomplete.getPlace();\n\n if (!place.geometry || !place.geometry.location) {\n console.log('No details available for input: ', place.name);\n return;\n }\n\n const location = place.geometry.location;\n this.center = {\n lat: location.lat(),\n lng: location.lng(),\n };\n this.currentCoordinates = this.center;\n\n if (place.geometry.viewport) {\n this.zoom = 15;\n } else {\n this.zoom = 13;\n }\n\n console.log('Selected place:', {\n name: place.name,\n address: place.formatted_address,\n coordinates: this.center,\n });\n\n this.storeSelectedAddress(place);\n }\n\n private storeSelectedAddress(place: google.maps.places.PlaceResult): void {\n const addressData = {\n placeId: place.place_id,\n name: place.name,\n formattedAddress: place.formatted_address,\n coordinates: this.center,\n };\n }\n\n searchAddress(address: string): void {\n const geocoder = new google.maps.Geocoder();\n\n geocoder.geocode({ address: address }, (results, status) => {\n if (status === 'OK' && results && results[0]) {\n const location = results[0].geometry.location;\n this.ngZone.run(() => {\n this.center = {\n lat: location.lat(),\n lng: location.lng(),\n };\n this.currentCoordinates = this.center;\n this.zoom = 15;\n });\n } else {\n console.log(\n 'Geocode was not successful for the following reason: ' + status\n );\n }\n });\n }\n\n onAddressInputKeyup(event: any) {\n const query = event.target.value;\n\n // Clear previous timeout\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n // Handle arrow key navigation\n if (event.key === 'ArrowDown') {\n this.hoveredIndex = Math.min(\n this.hoveredIndex + 1,\n this.addressSuggestions.length - 1\n );\n return;\n } else if (event.key === 'ArrowUp') {\n this.hoveredIndex = Math.max(this.hoveredIndex - 1, -1);\n return;\n } else if (event.key === 'Enter') {\n if (\n this.hoveredIndex >= 0 &&\n this.addressSuggestions[this.hoveredIndex]\n ) {\n this.selectAddress(this.addressSuggestions[this.hoveredIndex]);\n }\n return;\n } else if (event.key === 'Escape') {\n this.showDropdown = false;\n return;\n }\n\n if (query.length < 2) {\n this.addressSuggestions = [];\n this.showDropdown = false;\n return;\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchAddresses(query);\n }, 300);\n }\n\n searchAddresses(query: string) {\n // Replace this with your actual address search API call\n // For example, using Google Places API:\n\n const service = new google.maps.places.AutocompleteService();\n service.getPlacePredictions(\n {\n input: query,\n types: ['address'],\n },\n (predictions, status) => {\n if (\n status === google.maps.places.PlacesServiceStatus.OK &&\n predictions\n ) {\n this.addressSuggestions = predictions.map((prediction) => ({\n place_id: prediction.place_id,\n main_text: prediction.structured_formatting.main_text,\n secondary_text: prediction.structured_formatting.secondary_text,\n description: prediction.description,\n }));\n this.showDropdown = true;\n this.hoveredIndex = -1;\n } else {\n this.addressSuggestions = [];\n this.showDropdown = false;\n }\n }\n );\n }\n\n selectAddress(suggestion: any) {\n const addressInput = document.querySelector(\n '#addressInput'\n ) as HTMLInputElement;\n if (addressInput) {\n addressInput.value = suggestion.description;\n }\n\n const service = new google.maps.places.PlacesService(\n document.createElement('div')\n );\n service.getDetails(\n {\n placeId: suggestion.place_id,\n fields: ['geometry', 'formatted_address'],\n },\n (place, status) => {\n if (status === google.maps.places.PlacesServiceStatus.OK && place) {\n const lat = place.geometry?.location?.lat();\n const lng = place.geometry?.location?.lng();\n\n if (lat !== undefined && lng !== undefined) {\n this.longitude = lng;\n this.latitude = lat;\n\n this.center = { lat, lng };\n this.currentCoordinates = this.center;\n }\n }\n }\n );\n\n this.showDropdown = false;\n this.addressSuggestions = [];\n }\n\n onInputBlur() {\n setTimeout(() => {\n this.showDropdown = false;\n }, 200);\n }\n\n findMedicalQuestionsInOpenQuote(arrayOfObj : any) {\n if(arrayOfObj['cammundaQuestionCode'] === 'MediCndtn' || arrayOfObj['cammundaQuestionCode'] === 'LifeMediCndtn') {\n this.isMedicalSubQuestionsAvailable = arrayOfObj;\n }\n if(this.checkIfValueIsEmpty(this.isMedicalSubQuestionsAvailable) && !this.checkIfValueIsEmpty(arrayOfObj['personUWActivityResponseEntity'])) {\n arrayOfObj['personUWActivityResponseEntity'].forEach((singleSubArray : any) => {\n this.findMedicalQuestionsInOpenQuote(singleSubArray);\n });\n }\n }\n\n mapAnswersForOpenQuote() {\n if(!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList)) {\n let arrayOfKeys : any = Object.keys(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList);\n arrayOfKeys.forEach((singleKey : any, singleKeyLength : number) => {\n if (!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey])) {\n this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].forEach((singleAnswerObj : any, singleAnswerObjLength : number) => {\n this.updatePersonUwAnswers(singleAnswerObj);\n if(singleKeyLength === (arrayOfKeys.length - 1) && singleAnswerObjLength === (this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].length - 1)) {\n this.removeSubQuestionValues();\n }\n });\n }\n });\n\n }\n }\n\n preparePersonUwQuestionsObj() {\n this.questionList = [];\n let data: any = this.medialQuestionResponse();\n this.listOfDomainValuesForCheckBox = [];\n\n let isDisable : any = false;\n if(!this.checkIfValueIsEmpty(sessionStorage.getItem('isDisableMedicalQuestions')) ) {\n let isDisableMedicalQuestionsinUi : any = sessionStorage.getItem('isDisableMedicalQuestions');\n isDisable = JSON.parse(isDisableMedicalQuestionsinUi) ? true : false;\n }\n\n if (!this.checkIfValueIsEmpty(data['questionsResponse'])) {\n let personUwIdArray: any = [];\n data['questionsResponse'].forEach((singleQuestionObj: any) => {\n personUwIdArray.push(singleQuestionObj['personUWId']);\n });\n\n if (\n !this.checkIfValueIsEmpty(data) &&\n !this.checkIfValueIsEmpty(data['questionsResponse'])\n ) {\n\n if (!this.checkIfValueIsEmpty(data['questionsResponse'])) {\n let distinctSteps: any = [];\n data['questionsResponse'].forEach((singlePersonObject: any) => {\n this.personUwId = singlePersonObject['personUWId'].toString();\n if (!this.checkIfValueIsEmpty(singlePersonObject['questionList'])) {\n singlePersonObject['questionList'].forEach(\n (singleQuestion: any) => {\n if (singleQuestion['title'] === 'Medical Details') {\n singleQuestion['questionText'] = singleQuestion[\n 'questionText'\n ].replace(/\\\\n/g, '\\n');\n }\n singleQuestion['domainValues'] =\n data['domainValues'][singleQuestion['domainName']];\n\n singleQuestion['field'] = this.getField(singleQuestion);\n\n if (singleQuestion['cammundaQuestionCode'] === 'PAN') {\n singleQuestion['validations'] =\n '{\"Type\":\"AlphaNumeric\",\"MinValue\":\"10\",\"MaxValue\":\"10\",\"regexPattern\":\"/^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/\"}';\n }\n // if (singleQuestion['cammundaQuestionCode'] === 'FtcaCntcDetls') {\n // singleQuestion['validations'] = '{\"customValidation\":[{\"country\":\"IN\",\"MinValue\":\"10\",\"MaxValue\":\"10\",\"regexPattern\":\"((^[6-9]){1}([0-9]){9}$)\"},{\"country\":\"OTHER\",\"MinValue\":\"5\",\"MaxValue\":\"14\"}]}';\n // }\n if (\n singleQuestion['questionType'] === 'CHECKBOX' &&\n !this.checkIfValueIsEmpty(\n singleQuestion['questionRelation']\n )\n ) {\n singleQuestion['questionRelation'].forEach(\n (singleQuestionRelationObj: any) => {\n let nextQuestionObject: any = singlePersonObject[\n 'questionList'\n ].filter(\n (object: any) =>\n object['questionId'] ===\n singleQuestionRelationObj['nextQuestionId']\n );\n if (nextQuestionObject.length > 0) {\n nextQuestionObject[0]['answeredValue'] =\n singleQuestionRelationObj['parentQuestionValue'];\n }\n }\n );\n }\n\n if (singleQuestion['questionType'] === 'CHECKBOX') {\n if (\n !this.checkIfValueIsEmpty(singleQuestion['domainName']) &&\n !this.checkIfValueIsEmpty(\n data['domainValues'][singleQuestion['domainName']]\n )\n ) {\n data['domainValues'][\n singleQuestion['domainName']\n ].forEach((singleDomainValue: any) => {\n if (\n !this.checkIfValueIsEmpty(\n singleDomainValue['domainInternalValue']\n )\n ) {\n this.listOfDomainValuesForCheckBox.push(\n singleDomainValue['domainInternalValue']\n );\n }\n });\n }\n }\n\n if (!distinctSteps.includes(singleQuestion['step'])) {\n distinctSteps.push(singleQuestion['step']);\n }\n\n singleQuestion['isMedicalSubQuestion'] = false;\n }\n );\n\n singlePersonObject['questionList'].forEach((question: any) => {\n question['isShowQuestionInUI'] = false;\n if (question['questionType'] === 'IMAGE TEXT') {\n question['questionText'] = question[\n 'questionText'\n ].replaceAll('\\\\n', '<br>');\n }\n\n if (question['cammundaQuestionCode'] === 'QHTF') {\n this.medicalQuestionsFeetList = question['domainValues'];\n this.medQuestionObj['QHTF'] = question;\n this.medQuestionObj['QHTF']['field']['isShowLabel'] = false;\n this.medQuestionObj['QHTF']['field']['controlStyle'] = {\n controlType: 'select',\n borderColor: '#ffffff',\n borderWidth: '1.5px',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: '#FFFFFF',\n dropdownOptionColor: '#444444',\n dropdownOptionFontWeight: '400',\n width: null,\n focusBorderWidth: '1.5px',\n focusBorderColor: '#ffffff',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#ffffff',\n hoverBorderWidth: '1.5px',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '1.5px',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId:\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n };\n }\n if (question['cammundaQuestionCode'] === 'QHTI') {\n this.medicalQuestionsInchesList = question['domainValues'];\n this.medQuestionObj['QHTI'] = question;\n this.medQuestionObj['QHTI']['field']['isShowLabel'] = false;\n this.medQuestionObj['QHTI']['field']['controlStyle'] = {\n controlType: 'select',\n borderColor: '#ffffff',\n borderWidth: '1.5px',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: '#FFFFFF',\n dropdownOptionColor: '#444444',\n dropdownOptionFontWeight: '400',\n width: null,\n focusBorderWidth: '1.5px',\n focusBorderColor: '#ffffff',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#ffffff',\n hoverBorderWidth: '1.5px',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '1.5px',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId:\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n };\n }\n if (question['cammundaQuestionCode'] === 'QHT') {\n this.medicalQuestionsInchesList = question['domainValues'];\n this.medQuestionObj['QHT'] = question;\n this.medQuestionObj['QHT']['field']['isShowLabel'] = false;\n this.medQuestionObj['QHT']['field']['controlStyle'] = {\n controlType: 'FREETEXT',\n borderColor: '#ffffff',\n borderWidth: '1.5px',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: '#FFFFFF',\n dropdownOptionColor: '#444444',\n dropdownOptionFontWeight: '400',\n width: null,\n focusBorderWidth: '1.5px',\n focusBorderColor: '#ffffff',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#ffffff',\n hoverBorderWidth: '1.5px',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '1.5px',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId:\n 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n };\n }\n\n if (question['questionType'] === 'DECLARATION') {\n if (question['cammundaQuestionCode'] === 'recvSftCopy') {\n // this.personUwAnswers[singlePersonObject['role']][] = false;\n question['domainValues'] = [];\n question['domainValues'].push({\n domainInternalValue: question['questionId'],\n domainUiValue: 'N',\n });\n }\n question['domainValues'] = [];\n question['domainValues'].push({\n domainInternalValue: question['questionId'],\n domainUiValue: 'Y',\n });\n }\n\n if (question['cammundaQuestionCode'] === 'hardCopyLang') {\n question['questionType'] = 'HARD COPY';\n }\n });\n\n singlePersonObject['questionList'].sort(\n (a: any, b: any) =>\n a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']\n );\n }\n\n let questionsListForLA: any = [];\n distinctSteps.forEach((steps: any) => {\n let filteredObj: any = singlePersonObject['questionList'].filter(\n (singleQuestion: any) => singleQuestion['step'] === steps\n );\n let obj: any = {\n step: steps,\n personUWId: singlePersonObject['personUWId'].toString(),\n questions: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj\n : [],\n sectionName: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj[0]['title']\n : '',\n isMedicalSubQuestion: false,\n showSection: true,\n };\n if (!this.checkIfValueIsEmpty(filteredObj)) {\n // Hard Copy and Map question\n let filteredHardCopyQuestion: any = filteredObj.filter(\n (singleQuestion: any) =>\n singleQuestion['cammundaQuestionCode'] === 'recvSftCopy'\n );\n if (!this.checkIfValueIsEmpty(filteredHardCopyQuestion)) {\n obj['questions'].push({\n questionType: 'MAP',\n isShowQuestionInUI: true,\n parentQuestionRelation: {\n parentQuestionId:\n filteredHardCopyQuestion[0]['questionId'],\n parentQuestionAnswer: 'Y',\n },\n });\n }\n\n // if NRI then passport upload is required\n let filteredNationalityQuestion: any = filteredObj.filter(\n (singleQuestion: any) =>\n singleQuestion['cammundaQuestionCode'] === 'Nationality'\n );\n if (!this.checkIfValueIsEmpty(filteredNationalityQuestion)) {\n singlePersonObject['questionList'].push({\n questionType: 'PASSPORT_UPLOAD',\n optionalQuestion: 'N',\n questionText: 'Passport Details ',\n isShowQuestionInUI: true,\n parentQuestionRelation: {\n parentQuestionId:\n filteredNationalityQuestion[0]['questionId'],\n parentQuestionAnswer: 'forgnNational',\n },\n });\n obj['questions'].push({\n questionType: 'PASSPORT_UPLOAD',\n optionalQuestion: 'N',\n questionText: 'Passport Details ',\n isShowQuestionInUI: true,\n parentQuestionRelation: {\n parentQuestionId:\n filteredNationalityQuestion[0]['questionId'],\n parentQuestionAnswer: 'forgnNational',\n },\n });\n }\n }\n questionsListForLA.push(obj);\n });\n // let lifeAssuredObjectIndexInMaster: any = this.questionList.findIndex((singleObj: any) => singleObj['role'] === singlePersonObject['role']);\n // if (lifeAssuredObjectIndexInMaster !== this.numberMinusOne) {\n this.questionList = questionsListForLA;\n this.resolveHeightQuestionIds();\n // }\n });\n this.personUwResponseObj = data['questionsResponse'];\n }\n }\n\n if(!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList) && !this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList) ) {\n let isSubQuestionExists: any = false;\n this.isMedicalSubQuestionsAvailable = null;\n let arrayOfKeys : any = Object.keys(this.personUWOpenQuoteResponse()[0]?.questionList[0]?.personUWdetailsList);\n arrayOfKeys.forEach((singleKey : any) => {\n if (!this.checkIfValueIsEmpty(this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey])) {\n this.personUWOpenQuoteResponse()[0]['questionList'][0]['personUWdetailsList'][singleKey].forEach((singleAnswerObj : any) => {\n this.findMedicalQuestionsInOpenQuote(singleAnswerObj);\n });\n }\n });\n\n if(!this.checkIfValueIsEmpty(this.isMedicalSubQuestionsAvailable)) {\n this.masterService\n .getSubQuestions(\n this.field()?.configData,\n this.isMedicalSubQuestionsAvailable['answer'],\n this.isMedicalSubQuestionsAvailable['personUWId']\n )\n .subscribe(\n (subQuestionResponse: any) => {\n let distinctSteps: any = [];\n if (!this.checkIfValueIsEmpty(subQuestionResponse)) {\n subQuestionResponse.forEach((subQuestion: any) => {\n subQuestion['domainValues'] =\n this.medialQuestionResponse()['domainValues'][\n subQuestion['domainName']\n ];\n\n subQuestion['field'] = this.getField(subQuestion);\n if (!distinctSteps.includes(subQuestion['clusterId'])) {\n distinctSteps.push(subQuestion['clusterId']);\n }\n });\n\n subQuestionResponse.sort(\n (a: any, b: any) =>\n a['step'] - b['step'] ||\n a['displayOrder'] - b['displayOrder']\n );\n distinctSteps.forEach((steps: any, ind: any) => {\n let filteredObj: any = subQuestionResponse.filter(\n (singleQuestion: any) =>\n singleQuestion['clusterId'] === steps\n );\n let obj: any = {\n step: 1000 + ind,\n questions: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj\n : [],\n sectionName: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj[0]['title']\n : '',\n isMedicalSubQuestion: true,\n showSection: true,\n personUWId:\n this.isMedicalSubQuestionsAvailable[\n 'personUWId'\n ].toString(),\n };\n // let LaIndex: any = this.personUwMasterObj.findIndex(\n // (single: any) => single['role'] === singlePerson['role']\n // );\n this.questionList.push(obj);\n });\n this.medicalSubQuestionsResponse = subQuestionResponse;\n // let laIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\n this.medialQuestionResponse()['questionsResponse'][0][\n 'questionList'\n ] = this.medialQuestionResponse()['questionsResponse'][0][\n 'questionList'\n ].concat(this.medicalSubQuestionsResponse);\n\n this.mapAnswersForOpenQuote();\n } else {\n this.mapAnswersForOpenQuote();\n }\n },\n (err: any) => {\n this.mapAnswersForOpenQuote();\n }\n );\n } else {\n this.mapAnswersForOpenQuote();\n }\n // this.personUWOpenQuoteResponse().forEach((singlePerson: any) => {\n // if (!this.checkIfValueIsEmpty(singlePerson['questionList']) && !this.checkIfValueIsEmpty(singlePerson['questionList'][0])) {\n // let arrayOfKeys = Object.keys(singlePerson['questionList'][0]['personUWdetailsList']);\n // if (arrayOfKeys.length > 0) {\n // arrayOfKeys.forEach((singleKey) => {\n // if (!this.checkIfValueIsEmpty(singlePerson['questionList'][0]['personUWdetailsList'][singleKey])) {\n // singlePerson['questionList'][0]['personUWdetailsList'][singleKey].forEach((answerObj: any) => {\n\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\n\n\n // let filteredQuestion: any = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === answerObj['questionId']);\n // if (!this.checkIfValueIsEmpty(filteredQuestion) && filteredQuestion[0]['questionType'] === 'CHECKBOX') {\n // // this.personUwAnswers[answerObj.questionId] = [];\n // // let listOfOptionsSelected : any = answerObj.answer.split(',');\n // // listOfOptionsSelected.forEach((singleElement : any) => {\n // // if(!this.checkIfValueIsEmpty(filteredQuestion) && !this.checkIfValueIsEmpty(filteredQuestion[0]) && !this.checkIfValueIsEmpty(filteredQuestion[0]['domainValues'])) {\n // // let filteredDomainValueObj : any = filteredQuestion[0]['domainValues'].filter((singleObj : any) => singleObj['domainInternalValue'] === singleElement);\n // // if(!this.checkIfValueIsEmpty(filteredDomainValueObj)) {\n // // this.personUwAnswers[answerObj.questionId].push({\n // // label : filteredDomainValueObj[0]['domainUiValue'],\n // // value : filteredDomainValueObj[0]['domainInternalValue']\n // // });\n // // }\n // // }\n // // });\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer.split(',');\n // } else {\n // this.personUwAnswers[answerObj.questionId] = answerObj.answer\n // }\n\n // if (answerObj['cammundaQuestionCode'] === 'QHT') {\n // this.personUwAnswers['medicalQuestionsHeightInput'] = answerObj['answer'];\n // }\n // if (answerObj['cammundaQuestionCode'] === 'QHTF') {\n // let feetAnswer = answerObj['answer'].split('.');\n // if (!this.checkIfValueIsEmpty(answerObj['answer']) && answerObj['answer'].includes('.')) {\n // this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\n // this.personUwAnswers['medicalQuestionsInchesInput'] = feetAnswer[1];\n // } else {\n // this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\n // this.personUwAnswers['medicalQuestionsInchesInput'] = '0';\n // }\n // }\n // // this.medialQuestionResponse()['questionsResponse'][0]['questionList'].forEach((singleQuestionResponse: any) => {\n // // if (singleQuestionResponse['questionId'] === answerObj['questionId'] && singleQuestionResponse['questionType'] === 'DECLARATION') {\n // // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\n // // }\n // // });\n // // let laIndex: any = this.medialQuestionResponse()['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\n\n // // if (!this.checkIfValueIsEmpty(filteredQuestion) && filteredQuestion[0]['questionType'] === 'DECLARATION') {\n // // this.personUwAnswers[answerObj.questionId] = answerObj.answer;\n // // }\n\n // if (answerObj['cammundaQuestionCode'] === 'LifeMediCndtn' || answerObj['cammundaQuestionCode'] === 'MediCndtn') {\n // isSubQuestionExists = true;\n\n\n // // {\n // // \"urlParamForDisease\": \"mdeicalHistory\",\n // // \"apiUrl\": \"https://preprod-directportallife.godigit.com/DirectPortalLife/life/fetchSubQuestions\",\n // // \"urlParamForPersonUwId\": \"personUWID\",\n // // \"tokenCookieParam\": \"v3Token\",\n // // \"isSendToken\": false\n // // }\n // this.masterService.getSubQuestions(this.field()?.configData, answerObj['answer'], answerObj['personUWId']).subscribe(\n // (subQuestionResponse: any) => {\n // // this.loaderService.display(false);\n // let distinctSteps: any = [];\n // if (!this.checkIfValueIsEmpty(subQuestionResponse)) {\n // subQuestionResponse.forEach((subQuestion: any) => {\n // subQuestion['isMedicalSubQuestion'] = true;\n // subQuestion['isShowQuestionInUI'] = false;\n // if (\n // !this.checkIfValueIsEmpty(subQuestion['questionRelation']) &&\n // !Array.isArray(subQuestion['questionRelation'])\n // ) {\n // subQuestion['questionRelation'] = [subQuestion['questionRelation']];\n // }\n // if (\n // subQuestion['questionType'] === 'CHECKBOX' &&\n // !this.checkIfValueIsEmpty(subQuestion['questionRelation'])\n // ) {\n // subQuestion['questionRelation'].forEach((singleQuestionRelationObj: any) => {\n // let nextQuestionObject: any = subQuestionResponse.filter(\n // (object: any) => object['questionId'] === singleQuestionRelationObj['nextQuestionId']\n // );\n // if (nextQuestionObject.length > 0) {\n // nextQuestionObject[0]['answeredValue'] = singleQuestionRelationObj['parentQuestionValue'];\n // }\n // });\n // }\n // subQuestion['domainValues'] = this.medialQuestionResponse()['domainValues'][\n // subQuestion['domainName']\n // ];\n\n // subQuestion['field'] = this.getField(subQuestion);\n\n // // if (!this.checkIfValueIsEmpty(subQuestion['domainValues'])) {\n // // subQuestion['domainValues'].forEach((subDomain: any) => {\n // // this.subMedicalQuestionsDomainInternalValuesList.push(subDomain['domainInternalValue']);\n // // });\n // // }\n // if (!distinctSteps.includes(subQuestion['clusterId'])) {\n // distinctSteps.push(subQuestion['clusterId']);\n // }\n // });\n // subQuestionResponse.sort((a: any, b: any) => a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']);\n // distinctSteps.forEach((steps: any, ind: any) => {\n // let filteredObj: any = subQuestionResponse.filter((singleQuestion: any) => singleQuestion['clusterId'] === steps);\n // let obj: any = {\n // step: 1000 + ind,\n // questions: !this.checkIfValueIsEmpty(filteredObj) ? filteredObj : [],\n // sectionName: !this.checkIfValueIsEmpty(filteredObj) ? filteredObj[0]['title'] : '',\n // isMedicalSubQuestion: true,\n // showSection: true,\n // personUWId: answerObj['personUWId'].toString(),\n // };\n // // let LaIndex: any = this.personUwMasterObj.findIndex(\n // // (single: any) => single['role'] === singlePerson['role']\n // // );\n // this.questionList.push(obj);\n // })\n // this.medicalSubQuestionsResponse = subQuestionResponse;\n // // let laIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePerson['role']);\n // this.medialQuestionResponse()['questionsResponse'][0]['questionList'] = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].concat(this.medicalSubQuestionsResponse);\n // }\n // this.removeSubQuestionValues();\n // // this.disableConfirmationButton = false;\n // },\n // (err: any) => {\n // // this.disableConfirmationButton = true;\n // // this.loaderService.display(false);\n // }\n // );\n // }\n // // else {\n // // this.loaderService.display(false);\n // // }\n\n // if (typeof answerObj.answer === 'string' && answerObj.answer !== 'Y' && answerObj.answer !== 'N') {\n // // if (answerObj.answer.includes(',')) {\n // // answerObj.answer.split(',').forEach((answer: any) => {\n // // this.personUwAnswers[answer] = true;\n // // });\n // // }\n // // this.personUwAnswers[answerObj.answer] = true;\n // }\n // this. updatePersonUwAnswers(answerObj);\n // });\n // }\n // });\n // }\n // }\n // });\n }\n\n\n }\n\n this.removeSubQuestionValues();\n\n this.medQuestionObj['heightObjectTypes'] = {\n controlStyle: {\n controlType: 'select',\n borderColor: '#ffffff',\n borderWidth: '1.5px',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: '#FFFFFF',\n dropdownOptionColor: '#444444',\n dropdownOptionFontWeight: '400',\n width: null,\n focusBorderWidth: '1.5px',\n focusBorderColor: '#ffffff',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#ffffff',\n hoverBorderWidth: '1.5px',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '1.5px',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'LI_COM_GEN_CTRL_select_downloadDocuments_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n fieldName: null,\n label: 'feet / inches',\n placeHolder: '',\n metaId: '',\n isVisible: true,\n isDisable: isDisable,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: 150,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: [\n {\n label: 'Cm',\n value: 'CM',\n },\n {\n label: 'Feet',\n value: 'FEET',\n },\n ],\n cssClass: null,\n value: null,\n style: null,\n imageUrl: null,\n configData: {},\n metaDataObj: null,\n isShowLabel: false,\n isMasterControl: false,\n controlType: 'select',\n };\n }\n\n updatePersonUwAnswers(answerObj: any) {\n\n if (answerObj['cammundaQuestionCode'] === 'QHT') {\n this.personUwAnswers['medicalQuestionsHeightInput'] = answerObj['answer'];\n }\n if (answerObj['cammundaQuestionCode'] === 'QHTF') {\n let feetAnswer = answerObj['answer'].split('.');\n if (!this.checkIfValueIsEmpty(answerObj['answer']) && answerObj['answer'].includes('.')) {\n this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\n this.personUwAnswers['medicalQuestionsInchesInput'] = feetAnswer[1];\n } else {\n this.personUwAnswers['medicalQuestionFeetInput'] = feetAnswer[0];\n this.personUwAnswers['medicalQuestionsInchesInput'] = '0';\n }\n }\n\n let filteredQuestion: any = this.medialQuestionResponse()['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === answerObj['questionId']);\n if(!this.checkIfValueIsEmpty(filteredQuestion) && !this.checkIfValueIsEmpty(filteredQuestion[0])) {\n if(filteredQuestion[0]['questionType'] === 'CHECKBOX') {\n this.personUwAnswers[answerObj.questionId] = answerObj.answer.split(',');\n\n } else {\n this.personUwAnswers[answerObj.questionId] = answerObj.answer;\n }\n }\n if (!this.checkIfValueIsEmpty(answerObj.personUWActivityResponseEntity)) {\n answerObj.personUWActivityResponseEntity.forEach((subquestion: any) => {\n this.updatePersonUwAnswers(subquestion);\n });\n this.saveQuestionDetails()\n }\n }\n\n checkIfValueIsEmpty(value: any) {\n if (typeof value === 'string') {\n value = value.trim();\n }\n return (\n value === undefined ||\n value === null ||\n value === '' ||\n (value instanceof Array && value.length === 0) ||\n JSON.stringify(value) === '{}'\n );\n }\n\n getTitleCase(header: any): any {\n if (header) {\n if (this.questionHeader.includes(header.toLocaleLowerCase())) {\n let val = header.split(' ');\n return val[0].toUpperCase() + ' ' + this.toTitleCase(val[1]);\n } else {\n if (header.toUpperCase() === 'FATCA DETAILS') {\n return header;\n }\n return this.toTitleCase(header);\n }\n }\n }\n\n toTitleCase(value: any) {\n if (!this.checkIfValueIsEmpty(value)) {\n return value\n .toString()\n .replace(\n /\\w\\S*/g,\n (txt: any) => txt[0].toUpperCase() + txt.substr(1).toLowerCase()\n );\n }\n }\n\n getField(questionObj: any) {\n let optionsObj: any = [];\n let controlStyle : any = {};\n if (questionObj['domainValues']) {\n questionObj['domainValues'].forEach((singleOptionValue: any) => {\n optionsObj.push({\n label: singleOptionValue['domainUiValue'],\n value: singleOptionValue['domainInternalValue'],\n });\n });\n }\n let isDisable : any = false;\n if(!this.checkIfValueIsEmpty(sessionStorage.getItem('isDisableMedicalQuestions')) ) {\n let isDisableMedicalQuestionsinUi : any = sessionStorage.getItem('isDisableMedicalQuestions');\n isDisable = JSON.parse(isDisableMedicalQuestionsinUi) ? true : false;\n }\n let minLength: any = null;\n let maxLength: any = 200;\n let pattern: any = null;\n let patternMessage: any = null;\n let configData: any = !this.checkIfValueIsEmpty(this.field()?.configData)\n ? this.field()?.configData\n : {};\n\n if(!this.checkIfValueIsEmpty(questionObj['configData'])) {\n configData = {...configData, ...questionObj['configData']};\n }\n\n if(questionObj['questionType'] === 'RADIO BUTTON' || questionObj['questionType'] === 'ADDMORE') {\n controlStyle = {\n \"controlType\": \"radio\",\n \"borderColor\": \"#DADADA\",\n \"borderWidth\": \"1px\",\n \"borderRadius\": null,\n \"fontSize\": \"12px\",\n \"fontWeight\": \"400\",\n \"fontFamily\": \"Mulish\",\n \"color\": \"#444444\",\n \"background\": \"#FFFFFF\",\n \"caretColor\": null,\n \"nudgeDisplayImage\": null,\n \"dropdownOptionBgColor\": null,\n \"dropdownOptionColor\": null,\n \"dropdownOptionFontWeight\": null,\n \"width\": null,\n \"focusBorderWidth\": \"1px\",\n \"focusBorderColor\": \"#ffbb00\",\n \"focusBackground\": null,\n \"focusColor\": \"#444444\",\n \"focusDropdownOptionBgColor\": null,\n \"focusDropdownOptionColor\": null,\n \"focusDropdownOptionFontWeight\": null,\n \"focusDropdownOptionBorderLeft\": null,\n \"focusDropdownOptionBorderRadius\": null,\n \"hoverBorderColor\": \"#DADADA\",\n \"hoverBorderWidth\": \"1px\",\n \"hoverColor\": \"#444444\",\n \"disableColor\": \"#ECECEC\",\n \"disableBackground\": \"#ECECEC\",\n \"errorBorderColor\": \"#DADADA\",\n \"errorBorderWidth\": \"1px\",\n \"errorColor\": \"#444444\",\n \"createdDate\": null,\n \"padding\": null,\n \"margin\": null,\n \"isMasterCss\": null,\n \"controlMetaId\": \"ALL_COM_GEN_CTRL_radio_nomineeGender_V1\",\n \"borderStyle\": null,\n \"height\": null,\n \"minHeight\": null,\n \"maxHeight\": null,\n \"minWidth\": null,\n \"maxWidth\": null,\n \"cssClass\": null\n };\n }\n if (!this.checkIfValueIsEmpty(questionObj['validations'])) {\n let validationObj: any = JSON.parse(questionObj['validations']);\n if (!this.checkIfValueIsEmpty(validationObj['MinValue'])) {\n minLength = validationObj['MinValue'];\n }\n if (!this.checkIfValueIsEmpty(validationObj['MaxValue'])) {\n maxLength = validationObj['MaxValue'];\n }\n if (!this.checkIfValueIsEmpty(validationObj['Type'])) {\n if (validationObj['Type'] === 'Numeric') {\n pattern = '^[0-9]+$';\n patternMessage = 'Only numbers are allowed.';\n configData['isAllowNumbersInTextFields'] = true;\n maxLength = '9'.repeat(Number(maxLength));\n configData['maxValue'] = maxLength;\n configData['minValue'] = 0;\n } else if (validationObj['Type'] === 'AlphaNumeric') {\n pattern = '^[a-zA-Z0-9\\\\s]+$';\n patternMessage = 'Only letters and numbers are allowed.';\n configData['isAllowNumbersInTextFields'] = false;\n } else {\n pattern = null;\n patternMessage = null;\n }\n }\n }\n\n return {\n configData: configData,\n controlStyle: controlStyle,\n controlType:\n questionObj['questionType'] === 'FREE TEXT'\n ? 'text'\n : questionObj['questionType'] === 'RADIO BUTTON' ||\n questionObj['questionType'] === 'ADDMORE'\n ? 'radio'\n : questionObj['questionType'] === 'CHECKBOX' ||\n questionObj['questionType'] === 'DECLARATION'\n ? 'checkbox'\n : questionObj['questionType'] === 'CALENDAR'\n ? 'date'\n : questionObj['questionType'] === 'DROPDOWN'\n ? 'select'\n : questionObj['questionType'] === 'DOCUPLOAD'\n ? 'file'\n : '',\n fieldName: questionObj['cammundaQuestionCode'],\n isDisable,\n label: questionObj['questionText'],\n placeHolder: questionObj['questionText'],\n validators: {\n isRequired: questionObj['optionalQuestion'] === 'N' ? true : false,\n minLength,\n maxLength,\n pattern,\n patternMessage,\n },\n cssClass: \"mb-2\",\n isVisible: true,\n options: optionsObj,\n isShowLabel: true,\n };\n }\n\n removeSubQuestionValues(question?: any) {\n console.log('ssssssssssssssssssssssss', this.questionList)\n if (!this.checkIfValueIsEmpty(this.questionList)) {\n this.questionList.forEach((singleSection: any) => {\n if (!this.checkIfValueIsEmpty(singleSection['questions'])) {\n singleSection['questions'].forEach((singleQuestion: any) => {\n if (!this.showQuestion(singleQuestion)) {\n singleQuestion['isShowQuestionInUI'] = false;\n if (\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestion['questionId']]\n )\n ) {\n delete this.personUwAnswers[singleQuestion['questionId']];\n }\n // }\n } else {\n singleQuestion['isShowQuestionInUI'] = true;\n }\n\n // Disable the question if it has a default value\n const questionId = singleQuestion['questionId']?.toString();\n const hasDefaultValue = !this.checkIfValueIsEmpty(this.defaultValues()) && Object.keys(this.defaultValues()).includes(questionId);\n if (hasDefaultValue && singleQuestion['field']) {\n singleQuestion['field'] = {\n ...singleQuestion['field'],\n isDisable: true\n };\n }\n\n if (singleQuestion['questionType'] === 'CHECKBOX') {\n if (!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\n let isNoneInDomainValues: any = singleQuestion[\n 'domainValues'\n ].filter(\n (singleObj: any) =>\n singleObj['domainUiValue'].toUpperCase() === 'NONE'\n );\n singleQuestion['domainValues'].forEach(\n (singleDomainValue: any) => {\n if (\n !this.checkIfValueIsEmpty(isNoneInDomainValues) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n isNoneInDomainValues[0]['domainInternalValue']\n ]\n ) &&\n this.personUwAnswers[\n isNoneInDomainValues[0]['domainInternalValue']\n ]\n ) {\n // none is selected\n singleQuestion['domainValues'].forEach(\n (singleDomainValue: any) => {\n // remove all selected checkbox questions\n if (\n singleDomainValue.domainUiValue.toUpperCase() !==\n 'NONE'\n ) {\n singleDomainValue.isDisabled = true;\n delete this.personUwAnswers[\n singleDomainValue['domainInternalValue']\n ];\n }\n }\n );\n } else {\n singleDomainValue.isDisabled = false;\n }\n }\n );\n }\n }\n });\n }\n // let isSectionExistsInBlockedList: any = this.isBlockedQuestionsList.filter((singleBlockedObj: any) => singleBlockedObj['sectionTitle'].trim() === singleSection['sectionName'].trim());\n singleSection['showSection'] = !this.checkIfValueIsEmpty(\n singleSection['questions'].filter(\n (singleQuestion: any) => singleQuestion['isShowQuestionInUI']\n )\n );\n // if (!this.checkIfValueIsEmpty(isSectionExistsInBlockedList)) {\n // if (isSectionExistsInBlockedList[0].isBlockedForCustomerFlow && !this.loadingAgentportal) {\n // singleSection['showSection'] = false;\n // let filteredIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePersonObj['role']);\n // singleSection['questions'].forEach((singleQuestionObjInSection: any) => {\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][filteredIndex]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\n // filteredQuestion[0]['isShowQuestionInUI'] = singleSection['showSection'];\n // }\n // });\n // }\n // if ((isSectionExistsInBlockedList[0].isBlockedForAgentFlow || sessionStorage.getItem('agentChannel') === 'D20' || sessionStorage.getItem('agentChannel') === 'D05' || sessionStorage.getItem('agentChannel') === 'D06') && this.loadingAgentportal) {\n // singleSection['showSection'] = false;\n // let filteredIndex: any = this.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === singlePersonObj['role']);\n // singleSection['questions'].forEach((singleQuestionObjInSection: any) => {\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][filteredIndex]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\n // filteredQuestion[0]['isShowQuestionInUI'] = singleSection['showSection'];\n // }\n // });\n // }\n // }\n let hiddenQuestions: any = this.questionList.filter(\n (singleSectionObj: any) => !singleSectionObj['showSection']\n );\n if (this.checkIfValueIsEmpty(hiddenQuestions)) {\n hiddenQuestions.forEach((singleSection: any) => {\n singleSection['questions'].forEach(\n (singleQuestionObjInSection: any) => {\n singleQuestionObjInSection['isShowQuestionInUI'] = false;\n // let filteredQuestion: any = this.personUwResponseObj['questionsResponse'][0]['questionList'].filter((singleQuestion: any) => singleQuestion['questionId'] === singleQuestionObjInSection['questionId']);\n // if (!this.checkIfValueIsEmpty(filteredQuestion)) {\n // filteredQuestion[0]['isShowQuestionInUI'] = false;\n // }\n }\n );\n });\n }\n });\n }\n\n this.questionList.sort((a: any, b: any) => a['step'] - b['step']);\n\n console.log('questions list', this.questionList);\n console.log('questions answers', this.personUwAnswers);\n this.saveQuestionDetails();\n this.questionsValueChange.emit(this.personUwAnswers);\n }\n\n showQuestion(currentQuestion: any) {\n let showQuestion: any = false;\n let subQuestions: any = [];\n // let currentSectionIndex: any = questionsResponse['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === personRole)\n // let role = this.personUwResponseObj['questionsResponse'][currentSectionIndex]['role']\n\n this.personUwResponseObj[0].questionList.forEach((singleQuestion: any) => {\n let isSubQuestionObject: any = [];\n if (!this.checkIfValueIsEmpty(singleQuestion['questionRelation'])) {\n isSubQuestionObject = singleQuestion['questionRelation'].filter(\n (questionRelationObj: any) =>\n questionRelationObj['nextQuestionId'] ===\n currentQuestion['questionId']\n );\n }\n if (isSubQuestionObject.length > 0) {\n subQuestions.push(singleQuestion);\n isSubQuestionObject.forEach((singleSubQuestion: any) => {\n if (\n (singleQuestion['questionType'] !== 'CHECKBOX' &&\n singleSubQuestion['parentQuestionValue'].toString()[0] !== '!' &&\n this.personUwAnswers[singleQuestion['questionId']] ===\n singleSubQuestion['parentQuestionValue']) ||\n (singleSubQuestion['parentQuestionValue'].toString()[0] === '!' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestion['questionId']]\n ) &&\n this.personUwAnswers[singleQuestion['questionId']] !==\n singleSubQuestion['parentQuestionValue']\n .toString()\n .split('!')[1]) ||\n (singleQuestion['questionType'] === 'CHECKBOX' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestion['questionId']]\n ) &&\n this.personUwAnswers[singleQuestion['questionId']]?.includes(singleSubQuestion['parentQuestionValue'])\n // this.personUwAnswers[singleQuestion['questionId']]?.filter(\n // (singleObj: any) =>\n // singleObj ===\n // singleSubQuestion['parentQuestionValue']\n // ).length > 0\n )\n ) {\n showQuestion = true;\n }\n });\n }\n });\n\n if (\n this.checkIfValueIsEmpty(subQuestions) &&\n this.checkIfValueIsEmpty(currentQuestion['parentQuestionRelation'])\n ) {\n showQuestion = true;\n }\n if (\n !this.checkIfValueIsEmpty(currentQuestion['parentQuestionRelation']) &&\n !this.checkIfValueIsEmpty(\n currentQuestion['parentQuestionRelation']['parentQuestionId']\n ) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n currentQuestion['parentQuestionRelation']['parentQuestionId']\n ]\n ) &&\n this.personUwAnswers[\n currentQuestion['parentQuestionRelation']['parentQuestionId']\n ] === currentQuestion['parentQuestionRelation']['parentQuestionAnswer']\n ) {\n showQuestion = true;\n }\n if (currentQuestion['questionType'] === 'NODISPLAY') {\n showQuestion = false;\n }\n return showQuestion;\n }\n\n saveQuestionDetails() {\n // remove all checkbox questions present in values\n if (!this.checkIfValueIsEmpty(this.listOfDomainValuesForCheckBox)) {\n // let lifeAssuredkeys: any = Object.keys(this.personUwAnswers['lifeAssured']);\n // let policyAssuredKeys: any = Object.keys(this.personUwAnswers['policyHolder']);\n // let lifeAssuredOneKeys: any = Object.keys(this.personUwAnswers['lifeAssuredOne']);\n // let lifeAssuredTwoKeys: any = Object.keys(this.personUwAnswers['lifeAssuredTwo']);\n // this.personUwAnswers.forEach((singleKey: any) => {\n // if (isNaN(Number(singleKey)) && !this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssured'][singleKey])) {\n // delete this.personUwAnswers['lifeAssured'][singleKey];\n // }\n // });\n // policyAssuredKeys.forEach((singleKey: any) => {\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['policyHolder'][singleKey])) {\n // delete this.personUwAnswers['policyHolder'][singleKey];\n // }\n // });\n // lifeAssuredOneKeys.forEach((singleKey: any) => {\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssuredOne'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssuredOne'][singleKey])) {\n // delete this.personUwAnswers['policyHolder'][singleKey];\n // }\n // });\n // lifeAssuredTwoKeys.forEach((singleKey: any) => {\n // if (!this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssuredTwo'][singleKey]) && this.listOfDomainValuesForCheckBox.includes(this.personUwAnswers['lifeAssuredTwo'][singleKey])) {\n // delete this.personUwAnswers['policyHolder'][singleKey];\n // }\n // });\n }\n // let heightInInchesObj: any = [];\n // let heightInFeetObj: any = [];\n // let heightInCentimeterObj: any = [];\n let isValid: any = true;\n // if (!this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj) && !this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj['questionsResponse'])) {\n // let laIndex: any = this.sharedService.personUwResponseObj['questionsResponse'].findIndex((singlePersonObj: any) => singlePersonObj['role'] === 'lifeAssured');\n // if (laIndex !== -1 && !this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj['questionsResponse'][laIndex])) {\n // heightInInchesObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTI');\n // heightInFeetObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTF');\n // heightInCentimeterObj = this.sharedService.personUwResponseObj['questionsResponse'][laIndex]['questionList'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHT');\n // }\n // }\n\n // validation for medical and non medical questions :\n // if (!this.checkIfValueIsEmpty(this.sharedService.personUwResponseObj) && !this.checkIfValueIsEmpty(this.sharedService.personUwMasterObj) && isValid) {\n // this.sharedService.personUwMasterObj.forEach((singlePersonObj: any, singlePersonIndex: any) => {\n // if (!this.checkIfValueIsEmpty(singlePersonObj['questionList']) && isValid) {\n // let role: any = singlePersonObj['role'] === 'lifeAssured' ? \"life assured\" : singlePersonObj['role'] === 'policyHolder' ? \"policy holder\" : singlePersonObj['role'] === 'lifeAssuredOne' ? \"Joint Life 1\" : singlePersonObj['role'] === 'lifeAssuredTwo' ? \"Joint Life 2\" : \"\";\n // singlePersonObj['questionList'].forEach((singleSection: any) => {\n // if (!this.checkIfValueIsEmpty(singleSection['questions']) && isValid) {\n // if (!this.checkIfValueIsEmpty(singleSection['sectionName']) && (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') === 'TELL_US_MORE' || singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') === 'BASIC_DETAILS') && isValid) {\n\n // // validation for height entered in feet\n // if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET') {\n // let heightInInchesObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTI');\n // let heightInFeetObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHTF');\n // if (!this.checkIfValueIsEmpty(heightInInchesObj) && !this.checkIfValueIsEmpty(heightInFeetObj) && (this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionFeetInput']) || this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionsInchesInput']))) {\n // isValid = false;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // this.sharedService.removeSubQuestionValues();\n // }\n // let questionId: any = heightInFeetObj[0]['questionId'] + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please enter Height in Feet and Inches for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please enter Height in Feet and Inches for ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // if (role === 'Joint Life 1') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFEONE');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'Joint Life 2') {\n // this.setActiveTab(1);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFETWO');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // }\n\n // }\n\n // return false;\n // }\n // }\n // }\n // // validation for height in cm\n // let heightInCentimeterObj = singleSection['questions'].filter((obj: any) => obj['cammundaQuestionCode'] === 'QHT');\n // if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\n // this.checkIfValueIsEmpty(this.personUwAnswers['medicalQuestionsHeightInput']) &&\n // !this.checkIfValueIsEmpty(heightInCentimeterObj) && isValid) {\n // isValid = false;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // this.sharedService.removeSubQuestionValues();\n // }\n // let questionId: any = heightInCentimeterObj[0]['questionId'] + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please enter Height in CM ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please enter Height in CM ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // if (role === 'Joint Life 1') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFEONE');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'Joint Life 2') {\n // this.setActiveTab(1);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'JOINTLIFETWO');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // }\n // }\n\n // return false;\n // }\n // }\n\n // }\n\n // singleSection['questions'].forEach((singleQuestionObj: any) => {\n // // validation for basic questions\n // if (\n // !this.checkIfValueIsEmpty(singleQuestionObj) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n // singleQuestionObj['isShowQuestionInUI'] &&\n // isValid &&\n // singleQuestionObj['questionType'] !== 'IMAGE TEXT' &&\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHT' &&\n // singleQuestionObj['questionType'] !== 'DECLARATION' &&\n // singleQuestionObj['cammundaQuestionCode'] !== 'hardCopyLang' &&\n // singleQuestionObj['questionType'] !== 'PASSPORT_UPLOAD' &&\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHTF' &&\n // singleQuestionObj['cammundaQuestionCode'] !== 'QHTI' &&\n // singleQuestionObj['optionalQuestion'].toString() === 'N' &&\n // ((singleQuestionObj['questionType'] !== 'CHECKBOX' &&\n // this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['questionId']])) ||\n // (singleQuestionObj['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(singleQuestionObj, singlePersonObj['role']))) && isValid\n // ) {\n // isValid = false;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // let questionId: any = singleQuestionObj['questionId'] + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // this.sharedService.removeSubQuestionValues();\n // }\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please enter all the details in ' + singleSection['sectionName'] + ' for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please enter all the details in ' + singleSection['sectionName'] + ' for ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setActiveTab(0);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // }, 100);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setActiveTab(1);\n // setTimeout(() => {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // }, 100);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // console.log(\"joint life case\");\n // }\n // }\n\n // return false;\n // }\n // }\n\n // if (\n // singleQuestionObj['questionType'] === 'PASSPORT_UPLOAD' &&\n // singleQuestionObj['optionalQuestion'] === 'N' &&\n // singleQuestionObj['isShowQuestionInUI'] &&\n // this.sharedService.isMandatoryField &&\n // redirect\n // ) {\n // let filteredPersonPassportObj: any = this.validationService.questionsPassportUploadObj.filter((singleObj: any) => (singleObj['personType'] === singlePersonObj['role'] && this.checkIfValueIsEmpty(singleObj['dmsId'])));\n // if (!this.checkIfValueIsEmpty(filteredPersonPassportObj)) {\n // this.sharedService.focusToElement(`${filteredPersonPassportObj[0]['questionType']}_${filteredPersonPassportObj[0]['type']}_${filteredPersonPassportObj[0]['personType']}`);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // console.log(\"joint life case\");\n // }\n // }\n // isValid = false;\n // return false;\n // }\n\n // }\n // // validation for declaration questions\n // if (isValid && singleQuestionObj.questionType === 'DECLARATION' &&\n // singleQuestionObj['isShowQuestionInUI'] &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n // singleQuestionObj['optionalQuestion'] === 'N'\n // ) {\n // if (isValid &&\n // !this.checkIfValueIsEmpty(this.personUwAnswers) &&\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\n // this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\n\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // }\n // isValid = false;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\n // });\n // }\n // return false;\n // }\n // }\n // }\n\n // // validation for medical sub questions\n // // if (!this.checkIfValueIsEmpty(this.sharedService.medicalSubQuestionsResponse)) {\n // // this.sharedService.medicalSubQuestionsResponse.forEach((question: any) => {\n // // if (\n // // this.showSubQuestion(question) &&\n // // question['questionType'] !== 'IMAGE TEXT' &&\n // // question['optionalQuestion'].toString() === 'N' &&\n // // ((question['questionType'] !== 'CHECKBOX' &&\n // // this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][question['questionId']])) ||\n // // (question['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(question, 'lifeAssured')))\n // // ) {\n // // isValid = false;\n // // if (!this.sharedService.loadingAgentportal && !savedraft) {\n // // this.sharedService.setToastrNotifications({\n // // type: 'warning',\n // // message: 'Please answer all medical sub questions ' + question['questionId'] + ' ' + question['questionText']\n // // });\n // // }\n // // }\n // // });\n // // }\n // });\n\n // // validation for fatch declaration\n // // if(!this.checkIfValueIsEmpty(singleSection.questions) && isValid){\n // // singleSection.questions.forEach((singleQuestionObj:any) => {\n // // if(isValid && singleQuestionObj.questionType === 'DECLARATION' && singleQuestionObj['isShowQuestionInUI'] &&\n // // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n // // singleQuestionObj['optionalQuestion'] === 'N'\n // // ){\n // // if( isValid &&\n // // !this.checkIfValueIsEmpty(this.personUwAnswers) &&\n // // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\n // // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\n // // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\n // // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\n // // this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\n\n // // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // // }\n // // isValid = false;\n // // if (!this.sharedService.loadingAgentportal && !savedraft) {\n // // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\n // // this.sharedService.focusToElement(questionId);\n // // if (!this.sharedService.isMobileView()) {\n // // this.sharedService.setToastrNotifications({\n // // type: 'warning',\n // // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\n // // });\n // // }\n // // return false;\n // // }\n // // }\n // // }\n // // });\n // // }\n\n // }\n // });\n // }\n // });\n // }\n\n // if ((isValid || savedraft) || this.sharedService.loadingAgentportal) {\n // if (isValid) {\n if (isValid) {\n // this.loaderService.display(true);\n // let request: any = [];\n let mainReqObj: any = [];\n let mainRequestForBothPersons: any = [];\n let mainRequestForLa: any = [];\n let mainRequestForPh: any = [];\n this.questionList.forEach((singleSection: any) => {\n // if (!this.checkIfValueIsEmpty(singlePersonObj['questionList'])) {\n // singlePersonObj['questionList'].forEach((singleSection: any) => {\n // if (\n // !this.checkIfValueIsEmpty(singleSection['sectionName']) &&\n // (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\n // 'TELL_US_MORE' ||\n // singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\n // 'BASIC_DETAILS')\n // ) {\n // validation for height in cm\n let heightInCentimeterObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHT' || obj['questionId'] === this.personUwAnswers['medicalQuestionsHeightInput']\n );\n let heightInInchesObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTI' || obj['questionId'] === this.personUwAnswers['medicalQuestionsInchesInput']\n );\n let heightInFeetObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTF' || obj['questionId'] === this.personUwAnswers['medicalQuestionFeetInput']\n );\n if (\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsHeightInput']\n ) && !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsInchesInput']\n ) && !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionFeetInput']\n )\n ) {\n // pass height in cm obj\n let cmObjInAnswersindex: any = mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInCentimeterObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (cmObjInAnswersindex !== -1) {\n mainRequestForBothPersons[cmObjInAnswersindex]['answer'] =\n parseInt(\n this.personUwAnswers['medicalQuestionsHeightInput']\n ).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInCentimeterObj[0]['questionId'],\n answer: parseInt(\n this.personUwAnswers['medicalQuestionsHeightInput']\n ).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInCentimeterObj[0]['clusterId'],\n });\n }\n\n // height in inches\n let heightInInches: any = (\n this.personUwAnswers['medicalQuestionsHeightInput'] * 0.393701\n ).toFixed(2);\n let heightInFeet: any =\n parseFloat((heightInInches / 12).toString().split('.')[1]) > 12\n ? (heightInInches / 12).toFixed(1)\n : (heightInInches / 12).toFixed(2);\n let inchesobjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInInchesObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (inchesobjInAnswersindex !== -1) {\n mainRequestForBothPersons[inchesobjInAnswersindex]['answer'] =\n parseInt(heightInInches).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInInchesObj[0]['questionId'],\n answer: parseInt(heightInInches).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInInchesObj[0]['clusterId'],\n });\n }\n // height in feet\n\n let feetObjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInFeetObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (feetObjInAnswersindex !== -1) {\n mainRequestForBothPersons[feetObjInAnswersindex]['answer'] =\n parseFloat(heightInFeet).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInFeetObj[0]['questionId'],\n answer: parseFloat(heightInFeet).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInFeetObj[0]['clusterId'],\n });\n }\n } else if (\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionFeetInput']\n ) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsInchesInput']\n )\n ) {\n if (!this.checkIfValueIsEmpty(heightInFeetObj)) {\n let heightInInches: any =\n parseFloat(this.personUwAnswers['medicalQuestionFeetInput']) *\n 12 +\n parseFloat(this.personUwAnswers['medicalQuestionsInchesInput']);\n let heightInCm: any = (\n parseFloat(heightInInches) / 0.393701\n ).toFixed(2);\n let feetObjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInFeetObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (feetObjInAnswersindex !== -1) {\n mainRequestForBothPersons[feetObjInAnswersindex]['answer'] =\n this.personUwAnswers['medicalQuestionFeetInput'].toString() +\n '.' +\n this.personUwAnswers[\n this.personUwAnswers['medicalQuestionsInchesInput']\n ].toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInFeetObj[0]['questionId'],\n answer:\n this.personUwAnswers['medicalQuestionFeetInput'].toString() +\n '.' +\n this.personUwAnswers['medicalQuestionsInchesInput'].toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInFeetObj[0]['clusterId'],\n });\n }\n let inchesobjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInInchesObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (inchesobjInAnswersindex !== -1) {\n mainRequestForBothPersons[inchesobjInAnswersindex]['answer'] =\n parseInt(heightInInches).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInInchesObj[0]['questionId'],\n answer: parseInt(heightInInches).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInInchesObj[0]['clusterId'],\n });\n }\n let cmObjInAnswersindex: any =\n mainRequestForBothPersons.findIndex(\n (obj: any) =>\n obj.questionId === heightInCentimeterObj[0]['questionId'] &&\n obj['personUWId'] === singleSection['personUWId']\n );\n if (cmObjInAnswersindex !== -1) {\n mainRequestForBothPersons[cmObjInAnswersindex]['answer'] =\n parseInt(heightInCm).toString();\n } else {\n mainRequestForBothPersons.push({\n personUWId: singleSection['personUWId'],\n questionId: heightInCentimeterObj[0]['questionId'],\n answer: parseInt(heightInCm).toString(),\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: heightInCentimeterObj[0]['clusterId'],\n });\n }\n }\n }\n\n if (\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\n !this.checkIfValueIsEmpty(heightInCentimeterObj[0]['questionId'])\n ) {\n let heightInCmAnswerObject: any = mainRequestForBothPersons.filter(\n (singleQuestion: any) =>\n singleQuestion['questionId'] ===\n heightInCentimeterObj[0]['questionId']\n );\n if (\n !this.checkIfValueIsEmpty(heightInCmAnswerObject) &&\n !this.checkIfValueIsEmpty(heightInCmAnswerObject[0]['answer'])\n ) {\n this.personUwAnswers[heightInCentimeterObj[0]['questionId']] =\n heightInCmAnswerObject[0]['answer'];\n }\n }\n\n if (\n !this.checkIfValueIsEmpty(heightInInchesObj) &&\n !this.checkIfValueIsEmpty(heightInInchesObj[0]['questionId'])\n ) {\n let heightInInchesAnswerObject: any =\n mainRequestForBothPersons.filter(\n (singleQuestion: any) =>\n singleQuestion['questionId'] ===\n heightInInchesObj[0]['questionId']\n );\n if (\n !this.checkIfValueIsEmpty(heightInInchesAnswerObject) &&\n !this.checkIfValueIsEmpty(heightInInchesAnswerObject[0]['answer'])\n ) {\n this.personUwAnswers[heightInInchesObj[0]['questionId']] =\n heightInInchesAnswerObject[0]['answer'];\n }\n }\n\n if (\n !this.checkIfValueIsEmpty(heightInFeetObj) &&\n !this.checkIfValueIsEmpty(heightInFeetObj[0]['questionId'])\n ) {\n let heightInFeetAnswerObject: any =\n mainRequestForBothPersons.filter(\n (singleQuestion: any) =>\n singleQuestion['questionId'] ===\n heightInFeetObj[0]['questionId']\n );\n if (\n !this.checkIfValueIsEmpty(heightInFeetAnswerObject) &&\n !this.checkIfValueIsEmpty(heightInFeetAnswerObject[0]['answer'])\n ) {\n this.personUwAnswers[heightInFeetObj[0]['questionId']] =\n heightInFeetAnswerObject[0]['answer'];\n }\n }\n // }\n let isNoDisplayQuestionInSection: any = !this.checkIfValueIsEmpty(\n singleSection['questions']\n )\n ? singleSection['questions'].filter(\n (singleData: any) => singleData['questionType'] === 'NODISPLAY'\n )\n : [];\n if (\n (singleSection['showSection'] ||\n isNoDisplayQuestionInSection.length > 0) &&\n !this.checkIfValueIsEmpty(singleSection['questions'])\n ) {\n singleSection['questions'].forEach((singleQuestion: any) => {\n if (singleQuestion['cammundaQuestionCode'] === 'hardCopyLang') {\n if (singleQuestion['isShowQuestionInUI']) {\n this.personUwAnswers[singleQuestion['questionId']] = 'English';\n } else {\n delete this.personUwAnswers[singleQuestion['questionId']];\n }\n }\n let checkedOptionsArr: any = [];\n if (!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\n singleQuestion['domainValues'].forEach(\n (singleDomainValue: any) => {\n if (\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n singleDomainValue['domainInternalValue']\n ]\n ) &&\n this.personUwAnswers[\n singleDomainValue['domainInternalValue']\n ]\n ) {\n checkedOptionsArr.push(\n singleDomainValue['domainInternalValue']\n );\n }\n }\n );\n }\n if (\n singleQuestion['isShowQuestionInUI'] &&\n singleQuestion['questionType'] === 'CHECKBOX'\n && !this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestion['questionId']])\n ) {\n // for checkbox question\n\n let questionIndexInMainRequest: any =\n mainRequestForBothPersons.findIndex(\n (singleAnswerObj: any) =>\n singleAnswerObj['questionId'] ===\n singleQuestion['questionId'] &&\n singleAnswerObj['personUWId'] ===\n singleSection['personUWId']\n );\n if (questionIndexInMainRequest === -1) {\n let obj: any = {\n personUWId: singleSection['personUWId'],\n questionId: singleQuestion['questionId'],\n answer: '',\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: singleQuestion['clusterId'],\n };\n obj['answer'] = this.personUwAnswers[singleQuestion['questionId']].toString();\n mainRequestForBothPersons.push(obj);\n } else {\n mainRequestForBothPersons[questionIndexInMainRequest][\n 'answer'\n ] = this.personUwAnswers[singleQuestion['questionId']].toString();\n }\n } else if (\n singleQuestion['isShowQuestionInUI'] &&\n singleQuestion['questionType'] !== 'CHECKBOX' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestion['questionId']]\n )\n ) {\n // non checkbox question\n let questionIndexInMainRequest: any =\n mainRequestForBothPersons.findIndex(\n (singleAnswerObj: any) =>\n singleAnswerObj['questionId'] ===\n singleQuestion['questionId'] &&\n singleAnswerObj['personUWId'] ===\n singleSection['personUWId']\n );\n if (questionIndexInMainRequest === -1) {\n let obj: any = {\n personUWId: singleSection['personUWId'],\n questionId: singleQuestion['questionId'],\n answer:\n singleQuestion['questionType'] === 'CALENDAR'\n ? new Date(\n this.personUwAnswers[singleQuestion['questionId']]\n )\n : this.personUwAnswers[singleQuestion['questionId']],\n personUWParentId: 0,\n createdUser: this.getCookieValue('userId'),\n clusterId: singleQuestion['clusterId'],\n };\n mainRequestForBothPersons.push(obj);\n } else {\n mainRequestForBothPersons[questionIndexInMainRequest][\n 'answer'\n ] =\n singleQuestion['questionType'] === 'CALENDAR'\n ? new Date(\n this.personUwAnswers[singleQuestion['questionId']]\n )\n : this.personUwAnswers[singleQuestion['questionId']];\n }\n }\n // if(singleQuestion['isShowQuestionInUI'] && !this.checkIfValueIsEmpty(this.personUwAnswers[singleQuestion['questionId']])) {\n // let questionIndexInMainRequest : any = mainRequestForBothPersons.findIndex((singleAnswerObj : any) => (singleAnswerObj['questionId'] === singleQuestion['questionId'] && singleAnswerObj['personUWId'] === singleSection['personUWId']))\n // if(questionIndexInMainRequest === -1) {\n // let obj: any = {\n // personUWId: singleSection['personUWId'],\n // questionId: singleQuestion['questionId'],\n // answer: singleQuestion['questionType'] === 'CALENDAR' ? this.datepipe.transform(new Date(this.personUwAnswers[singleQuestion['questionId']]), 'yyyy-MM-dd') : this.personUwAnswers[singleQuestion['questionId']],\n // personUWParentId: 0,\n // createdUser: this.getCookieValue('userId'),\n // clusterId: singleQuestion['clusterId'],\n // };\n // mainRequestForBothPersons.push(obj);\n // if(singleQuestion['questionType'] === 'CHECKBOX') {\n // let checkedOptionsArr : any = [];\n // if(!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\n // singleQuestion['domainValues'].forEach((singleDomainValue : any) => {\n // if(!this.checkIfValueIsEmpty(this.personUwAnswers[singleDomainValue['domainInternalValue']]) && this.personUwAnswers[singleDomainValue['domainInternalValue']]) {\n // checkedOptionsArr.push(singleDomainValue['domainInternalValue']);\n // }\n // });\n // }\n // obj['answer'] = checkedOptionsArr.toString();\n // }\n // } else {\n // // object already there so over ride the new answer\n // if(singleQuestion['questionType'] === 'CHECKBOX') {\n // let checkedOptionsArr : any = [];\n // if(!this.checkIfValueIsEmpty(singleQuestion['domainValues'])) {\n // singleQuestion['domainValues'].forEach((singleDomainValue : any) => {\n // if(!this.checkIfValueIsEmpty(this.personUwAnswers[singleDomainValue['domainInternalValue']]) && this.personUwAnswers[singleDomainValue['domainInternalValue']]) {\n // checkedOptionsArr.push(singleDomainValue['domainInternalValue']);\n // }\n // });\n // }\n // mainRequestForBothPersons[questionIndexInMainRequest]['answer'] = checkedOptionsArr.toString();\n // } else {\n // mainRequestForBothPersons[questionIndexInMainRequest]['answer'] = singleQuestion['questionType'] === 'CALENDAR' ? this.datepipe.transform(new Date(this.personUwAnswers[singleQuestion['questionId']]), 'yyyy-MM-dd') : this.personUwAnswers[singleQuestion['questionId']];\n // }\n\n // }\n\n // }\n\n // if (singleQuestion['cammundaQuestionCode'] === 'retFinancElgbl') {\n // let financialEligibilityAnswerIndex: any = mainRequestForBothPersons.findIndex((singleAnswerObj: any) => (singleAnswerObj['questionId'] === singleQuestion['questionId'] && singleAnswerObj['personUWId'] === singleSection['personUWId']))\n // let obj: any = {\n // personUWId: singleSection['personUWId'],\n // questionId: singleQuestion['questionId'],\n // answer: this.sharedService.financialEligibility,\n // personUWParentId: 0,\n // createdUser: this.getCookieValue('userId'),\n // clusterId: singleQuestion['clusterId'],\n // };\n // if (financialEligibilityAnswerIndex === -1) {\n // mainRequestForBothPersons.push(obj);\n // } else {\n // mainRequestForBothPersons[financialEligibilityAnswerIndex]['answer'] = this.sharedService.financialEligibility;\n // }\n // }\n });\n }\n // });\n // }\n });\n let distinctPersonIdFromRequest: any = [\n ...new Set(\n mainRequestForBothPersons.map((item: any) =>\n item.personUWId.toString()\n )\n ),\n ];\n if (!this.checkIfValueIsEmpty(distinctPersonIdFromRequest)) {\n mainRequestForLa = mainRequestForBothPersons.filter(\n (singleAnswer: any) =>\n singleAnswer['personUWId'] === distinctPersonIdFromRequest[0]\n );\n if (distinctPersonIdFromRequest.length === 2) {\n mainRequestForPh = mainRequestForBothPersons.filter(\n (singleAnswer: any) =>\n singleAnswer['personUWId'] === distinctPersonIdFromRequest[1]\n );\n }\n }\n let saveRequestsArray: any = [];\n if (!this.checkIfValueIsEmpty(mainRequestForLa) && this.personType() !== 'PH') {\n this.saveQuestionRequestLa = mainRequestForLa;\n sessionStorage.setItem(\n 'saveQuestionRequestLa',\n JSON.stringify(mainRequestForLa)\n );\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForLa, !calledFromConfirmation));\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForLa, (!this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse) && !this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse.isEditAllowedForAgent) && this.sharedService.openQuoteResponse.isEditAllowedForAgent && this.sharedService.openQuoteResponse.isEditAllowedForAgent.toLowerCase() === 'true') ? true : !calledFromConfirmation));\n }\n if (!this.checkIfValueIsEmpty(mainRequestForLa) && this.personType() === 'PH') {\n this.saveQuestionRequestPh = mainRequestForLa;\n sessionStorage.setItem(\n 'saveQuestionRequestPh',\n JSON.stringify(mainRequestForLa)\n );\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForPh, !calledFromConfirmation));\n // saveRequestsArray.push(this.commonService.saveAnswers(mainRequestForPh, (!this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse) && !this.checkIfValueIsEmpty(this.sharedService.openQuoteResponse.isEditAllowedForAgent) && this.sharedService.openQuoteResponse.isEditAllowedForAgent && this.sharedService.openQuoteResponse.isEditAllowedForAgent.toLowerCase() === 'true') ? true : !calledFromConfirmation));\n }\n }\n this.validateMedicalQuestions();\n }\n\n getCookieValue(name: string): string {\n const cookie = document.cookie.split(';');\n let tokenName = '';\n let tokenValue = '';\n const index2 = 2;\n cookie.forEach((data) => {\n if (data.split('=')[0].includes(name) && !!data.split('=')[1]) {\n tokenName = data.split('=')[0].trim();\n tokenValue = data.split('=')[1];\n }\n if (\n name === 'link' &&\n data.split('=')[0].includes(name) &&\n data.split('=')[index2] !== null &&\n data.split('=')[index2] !== undefined\n ) {\n tokenValue = tokenValue + '=' + data.split('=')[index2];\n }\n });\n return tokenValue;\n }\n\n validateMedicalQuestions() {\n let isValid: any = true;\n let validationMessage : any = '';\n this.questionList.forEach((singleSection: any) => {\n if (!this.checkIfValueIsEmpty(singleSection['questions']) && isValid) {\n if (\n !this.checkIfValueIsEmpty(singleSection['sectionName']) &&\n (singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\n 'TELL_US_MORE' ||\n singleSection['sectionName'].toUpperCase().replaceAll(' ', '_') ===\n 'BASIC_DETAILS') &&\n isValid\n ) {\n // validation for height entered in feet\n if (this.personUwAnswers['medicalQuestionsHeightUnit'] === 'FEET') {\n let heightInInchesObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTI'\n );\n let heightInFeetObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHTF'\n );\n if (\n !this.checkIfValueIsEmpty(heightInInchesObj) &&\n !this.checkIfValueIsEmpty(heightInFeetObj) &&\n (this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionFeetInput']\n ) ||\n this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsInchesInput']\n ))\n ) {\n isValid = false;\n validationMessage = `Please enter Height in Feet and Inches`;\n // if (this.sharedService.isMandatoryField && !savedraft && redirect) {\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // this.sharedService.removeSubQuestionValues();\n // }\n // let questionId: any = heightInFeetObj[0]['questionId'] + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please enter Height in Feet and Inches for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please enter Height in Feet and Inches for ' + role, 'Close');\n\n // }\n\n // return false;\n // }\n }\n }\n // validation for height in cm\n let heightInCentimeterObj = singleSection['questions'].filter(\n (obj: any) => obj['cammundaQuestionCode'] === 'QHT'\n );\n if (\n this.personUwAnswers['medicalQuestionsHeightUnit'] === 'CM' &&\n this.checkIfValueIsEmpty(\n this.personUwAnswers['medicalQuestionsHeightInput']\n ) &&\n !this.checkIfValueIsEmpty(heightInCentimeterObj) &&\n isValid\n ) {\n isValid = false;\n validationMessage = `Please enter Height in centimeter`;\n }\n }\n\n singleSection['questions'].forEach((singleQuestionObj: any) => {\n // validation for basic questions\n if (\n !this.checkIfValueIsEmpty(singleQuestionObj) &&\n !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n singleQuestionObj['isShowQuestionInUI'] &&\n isValid &&\n singleQuestionObj['questionType'] !== 'IMAGE TEXT' &&\n singleQuestionObj['cammundaQuestionCode'] !== 'QHT' &&\n singleQuestionObj['questionType'] !== 'DECLARATION' &&\n singleQuestionObj['cammundaQuestionCode'] !== 'hardCopyLang' &&\n singleQuestionObj['questionType'] !== 'PASSPORT_UPLOAD' &&\n singleQuestionObj['cammundaQuestionCode'] !== 'QHTF' &&\n singleQuestionObj['cammundaQuestionCode'] !== 'QHTI' &&\n singleQuestionObj['optionalQuestion'].toString() === 'N' &&\n this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestionObj['questionId']]\n ) &&\n // ((singleQuestionObj['questionType'] !== 'CHECKBOX' &&\n // this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['questionId']])) ||\n // (singleQuestionObj['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(singleQuestionObj, singlePersonObj['role'])))\n isValid\n ) {\n validationMessage = `Please enter all the details in ${singleSection['sectionName']}`;\n isValid = false;\n }\n\n // if (\n // singleQuestionObj['questionType'] === 'PASSPORT_UPLOAD' &&\n // singleQuestionObj['optionalQuestion'] === 'N' &&\n // singleQuestionObj['isShowQuestionInUI'] &&\n // ) {\n // let filteredPersonPassportObj: any = this.validationService.questionsPassportUploadObj.filter((singleObj: any) => (singleObj['personType'] === singlePersonObj['role'] && this.checkIfValueIsEmpty(singleObj['dmsId'])));\n // if (!this.checkIfValueIsEmpty(filteredPersonPassportObj)) {\n // this.sharedService.focusToElement(`${filteredPersonPassportObj[0]['questionType']}_${filteredPersonPassportObj[0]['type']}_${filteredPersonPassportObj[0]['personType']}`);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role\n // });\n // } else {\n // this.validationService.openSnackBar('Please upload passport ' + filteredPersonPassportObj[0]['label'] + ' document for ' + role, 'Close');\n // if (this.validationService.basicDetails.policyType === 'singlelife' && this.validationService.basicDetails.isSamePolicyHolder) {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // } else if (this.validationService.basicDetails.policyType === 'singlelife' && !this.validationService.basicDetails.isSamePolicyHolder) {\n // if (role === 'life assured') {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_LA');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // } else if (role === 'policy holder') {\n // this.setTabValue({ label: 'Personal Details And Lifestyle', isActive: false, show: true }, 'SINGLELIFE_PH');\n // this.setActiveTab(0);\n // this.scrollToActiveChip();\n // }\n // } else if (this.validationService.basicDetails.policyType === 'jointlife') {\n // console.log(\"joint life case\");\n // }\n // }\n // isValid = false;\n // return false;\n // }\n\n // }\n // validation for declaration questions\n if (\n isValid &&\n singleQuestionObj.questionType === 'DECLARATION' &&\n singleQuestionObj['isShowQuestionInUI'] &&\n !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n singleQuestionObj['optionalQuestion'] === 'N'\n ) {\n if (\n (isValid &&\n // !this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']]) &&\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\n this.personUwAnswers[singleQuestionObj['questionId']] ===\n 'N') ||\n !this.personUwAnswers[singleQuestionObj['questionId']] ||\n this.checkIfValueIsEmpty(\n this.personUwAnswers[singleQuestionObj['questionId']]\n )\n // )\n // || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])\n ) {\n isValid = false;\n validationMessage = `Please enter all the details in ${singleSection['sectionName']}`;\n }\n }\n\n // validation for medical sub questions\n // if (!this.checkIfValueIsEmpty(this.sharedService.medicalSubQuestionsResponse)) {\n // this.sharedService.medicalSubQuestionsResponse.forEach((question: any) => {\n // if (\n // this.showSubQuestion(question) &&\n // question['questionType'] !== 'IMAGE TEXT' &&\n // question['optionalQuestion'].toString() === 'N' &&\n // ((question['questionType'] !== 'CHECKBOX' &&\n // this.checkIfValueIsEmpty(this.personUwAnswers['lifeAssured'][question['questionId']])) ||\n // (question['questionType'] === 'CHECKBOX' && !this.validateCheckBoxField(question, 'lifeAssured')))\n // ) {\n // isValid = false;\n // if (!this.sharedService.loadingAgentportal && !savedraft) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please answer all medical sub questions ' + question['questionId'] + ' ' + question['questionText']\n // });\n // }\n // }\n // });\n // }\n });\n\n // validation for fatch declaration\n // if(!this.checkIfValueIsEmpty(singleSection.questions) && isValid){\n // singleSection.questions.forEach((singleQuestionObj:any) => {\n // if(isValid && singleQuestionObj.questionType === 'DECLARATION' && singleQuestionObj['isShowQuestionInUI'] &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['optionalQuestion']) &&\n // singleQuestionObj['optionalQuestion'] === 'N'\n // ){\n // if( isValid &&\n // !this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']]) &&\n // (!this.checkIfValueIsEmpty(singleQuestionObj['domainValues']) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]) &&\n // !this.checkIfValueIsEmpty(singleQuestionObj['domainValues'][0]['domainInternalValue']) &&\n // ((!this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]) &&\n // this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']] === 'N') || this.checkIfValueIsEmpty(this.personUwAnswers[singlePersonObj['role']][singleQuestionObj['domainValues'][0]['domainInternalValue']]))) || this.checkIfValueIsEmpty(singleQuestionObj['domainValues'])) {\n\n // if (this.sharedService.selectedQuestionTab !== singlePersonObj['role']) {\n // this.sharedService.selectedQuestionTab = singlePersonObj['role'];\n // this.sharedService.selectedQuestionTabIndex = singlePersonIndex;\n // }\n // isValid = false;\n // if (!this.sharedService.loadingAgentportal && !savedraft) {\n // let questionId: any = singleQuestionObj.questionId + '_' + singlePersonObj['role'];\n // this.sharedService.focusToElement(questionId);\n // if (!this.sharedService.isMobileView()) {\n // this.sharedService.setToastrNotifications({\n // type: 'warning',\n // message: 'Please select all the details in ' + singleSection['sectionName'] + ' for ' + role\n // });\n // }\n // return false;\n // }\n // }\n // }\n // });\n // }\n }\n });\n\n sessionStorage.setItem('isMedicalQuestionsValid', isValid);\n sessionStorage.setItem('validationMessageForMedicalQuestions', validationMessage);\n }\n\n valueChangeForMultiselect(question : any) {\n if (question['cammundaQuestionCode'] === 'LifeMediCndtn' || question['cammundaQuestionCode'] === 'MediCndtn' ) {\n this.personUwAnswers[question['questionId']].length > 0\n\n // if none is selected then remove all and call API\n let isNoneSelected : any = this.personUwAnswers[question['questionId']].findIndex((singleObj :any) => singleObj === 'NoMedHistry');\n\n if (\n isNoneSelected !== -1\n ) {\n this.personUwAnswers[question['questionId']] = this.personUwAnswers[question['questionId']] = this.personUwAnswers[question['questionId']].filter((singleObj : any) => singleObj === 'NoMedHistry')\n }\n this.medicalSubQuestionsResponse = [];\n if (\n !this.checkIfValueIsEmpty(\n this.questionList\n )) {\n this.questionList = this.questionList.filter((singleSection: any) => ((this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion']) || (!this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion']) && !singleSection['isMedicalSubQuestion'])) ));\n }\n // let currentSectionIndex: any = this.sharedService.personUwResponseObj['questionsResponse'].findIndex(\n // (singlePersonObj: any) =>\n // singlePersonObj['role'] ===\n // this.sharedService.personUwMasterObj[singlePersonIndex]['role']\n // );\n // remove medical sub questions from questions response list\n // if (\n // currentSectionIndex !== this.numberConstant.numberminus1 &&\n // !this.sharedcheckIfValueIsEmpty(\n // this.sharedService.personUwResponseObj['questionsResponse'][\n // currentSectionIndex\n // ]\n // ) &&\n // !this.sharedcheckIfValueIsEmpty(\n // this.sharedService.personUwResponseObj['questionsResponse'][\n // currentSectionIndex\n // ]['questionList']\n // )\n // ) {\n // this.sharedService.personUwResponseObj['questionsResponse'][\n // currentSectionIndex\n // ]['questionList'] = this.sharedService.personUwResponseObj[\n // 'questionsResponse'\n // ][currentSectionIndex]['questionList'].filter(\n // (singleListItem: any) =>\n // this.sharedcheckIfValueIsEmpty(\n // singleListItem['isMedicalSubQuestion']\n // ) ||\n // (!this.sharedcheckIfValueIsEmpty(\n // singleListItem['isMedicalSubQuestion']\n // ) &&\n // !singleListItem['isMedicalSubQuestion'])\n // );\n // }\n // this.sharedService.personUwResponseObj['questionsResponse'][0][\n // 'questionList'\n // ].forEach((singleQuestion: any, index: any) => {\n // if (singleQuestion['isMedicalSubQuestion']) {\n // this.sharedService.personUwResponseObj['questionsResponse'][0][\n // 'questionList'\n // ].splice(index, 1);\n // }\n // });\n\n // this.questionList = this.questionList.filter((singleSection : any) => (!singleSection['isMedicalSubQuestion'] || this.checkIfValueIsEmpty(singleSection['isMedicalSubQuestion'])));\n // this.questionList.forEach((singleMasterObj: any, i: number) => {\n // if (singleMasterObj['isMedicalSubQuestion']) {\n // this.sharedService.personUwMasterObj[singlePersonIndex][\n // 'questionList'\n // ]['questions'] = [];\n // }\n // });\n // this.loader.display(true);\n\n let selectedDiseases : any = this.personUwAnswers[question['questionId']].toString();\n // let request: any = JSON.parse(\n // JSON.stringify(\n // this.fetchSubQuestionsList[\n // this.sharedService.personUwMasterObj[singlePersonIndex]['role']\n // ].toString()\n // )\n // );\n if(question['field']['configData'].hasOwnProperty('apiUrl') && question['field']['configData'].hasOwnProperty('urlParamForDisease') && question['field']['configData'].hasOwnProperty('urlParamForPersonUwId') && !this.checkIfValueIsEmpty(question['field']['configData']['apiUrl']) && !this.checkIfValueIsEmpty(question['field']['configData']['urlParamForDisease']) && !this.checkIfValueIsEmpty(question['field']['configData']['urlParamForPersonUwId'])) {\n this.masterService.getSubQuestions(question['field']['configData'], selectedDiseases, this.personUwId).subscribe(\n (data: any) => {\n // this.loader.display(false);\n let distinctSteps: any = [];\n if (!this.checkIfValueIsEmpty(data)) {\n data.forEach((subQuestion: any) => {\n subQuestion[\n 'domainValues'\n ] = this.medialQuestionResponse()['domainValues'][\n subQuestion['domainName']\n ];\n subQuestion['isShowQuestionInUI'] = false;\n subQuestion['isMedicalSubQuestion'] = true;\n if (\n !this.checkIfValueIsEmpty(\n subQuestion['questionRelation']\n ) &&\n !Array.isArray(subQuestion['questionRelation'])\n ) {\n subQuestion['questionRelation'] = [\n subQuestion['questionRelation']\n ];\n }\n if (\n subQuestion['questionType'] === 'CHECKBOX' &&\n !this.checkIfValueIsEmpty(\n subQuestion['questionRelation']\n )\n ) {\n subQuestion['questionRelation'].forEach(\n (singleQuestionRelationObj: any) => {\n let nextQuestionObject: any = data.filter(\n (object: any) =>\n object['questionId'] ===\n singleQuestionRelationObj['nextQuestionId']\n );\n if (nextQuestionObject.length > 0) {\n nextQuestionObject[0]['answeredValue'] =\n singleQuestionRelationObj['parentQuestionValue'];\n }\n }\n );\n }\n // if (\n // !this.checkIfValueIsEmpty(\n // subQuestion['domainValues']\n // )\n // ) {\n // subQuestion['domainValues'].forEach((subDomain: any) => {\n // this.sharedService.subMedicalQuestionsDomainInternalValuesList.push(\n // subDomain['domainInternalValue']\n // );\n // });\n // }\n if (!distinctSteps.includes(subQuestion['clusterId'])) {\n distinctSteps.push(subQuestion['clusterId']);\n }\n subQuestion['field'] = this.getField(subQuestion);\n });\n data.sort(\n (a: any, b: any) =>\n a['step'] - b['step'] || a['displayOrder'] - b['displayOrder']\n );\n distinctSteps.forEach((steps: any, ind: any) => {\n let filteredObj: any = data.filter(\n (singleQuestion: any) => singleQuestion['clusterId'] === steps\n );\n let obj: any = {\n step: 1000 + ind,\n questions: !this.checkIfValueIsEmpty(filteredObj)\n ? filteredObj\n : [],\n sectionName: !this.checkIfValueIsEmpty(\n filteredObj\n )\n ? filteredObj[0]['title']\n : '',\n personUWId: this.personUwId,\n isMedicalSubQuestion: true,\n showSection: true\n };\n this.questionList.push(obj);\n });\n this.medicalSubQuestionsResponse = data;\n // merge medical sub questions into person uw main questions response (required for show question function to work)\n // clearing on top before api call\n this.personUwResponseObj[0]['questionList'] = this.personUwResponseObj[0]['questionList'].concat(this.medicalSubQuestionsResponse);\n }\n this.removeSubQuestionValues();\n },\n (err: any) => {\n // this.loader.display(false);\n }\n );\n }\n }\n this.removeSubQuestionValues()\n }\n onDocumentFilePreview(event: { file: File, index: number }): void {\n console.log('Preview requested for:', event.file.name);\n this.previewFile = event.file;\n }\n\n closeFilePreview(): void {\n this.previewFile = null;\n }\n\n checkAndUpdateHeightUnit() {\n if (\n this.personUwAnswers[\n 'medicalQuestionsHeightUnit'\n ] === 'FEET' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n 'medicalQuestionsHeightInput'\n ]\n )\n ) {\n let heightInInches: any = (\n parseFloat(\n this.personUwAnswers[\n 'medicalQuestionsHeightInput'\n ]\n ) * 0.393701\n ).toFixed(2);\n let heightInFeet: any =\n parseFloat(\n (heightInInches / 12)\n .toString()\n .split('.')[1]\n ) > 12\n ? (heightInInches / 12).toFixed(1)\n : (heightInInches / 12).toFixed(2);\n if (\n !this.checkIfValueIsEmpty(\n heightInFeet.toString().split('.')[0]\n )\n ) {\n this.personUwAnswers[\n 'medicalQuestionFeetInput'\n ] = heightInFeet.toString().split('.')[0];\n }\n if (\n !this.checkIfValueIsEmpty(\n heightInFeet.toString().split('.')[1]\n )\n ) {\n this.personUwAnswers[\n 'medicalQuestionsInchesInput'\n ] =\n heightInFeet.toString().split('.')[1] !== '11' &&\n heightInFeet.toString().split('.')[1] !== '12' &&\n heightInFeet.toString().split('.')[1] !== '13'\n ? heightInFeet\n .toString()\n .split('.')[1]\n .charAt(0)\n : heightInFeet.toString().split('.')[1];\n }\n } else if (\n this.personUwAnswers[\n 'medicalQuestionsHeightUnit'\n ] === 'CM' &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n 'medicalQuestionFeetInput'\n ]\n ) &&\n !this.checkIfValueIsEmpty(\n this.personUwAnswers[\n 'medicalQuestionsInchesInput'\n ]\n )\n ) {\n let heightInInches: any =\n parseFloat(\n parseFloat(\n this.personUwAnswers[\n 'medicalQuestionFeetInput'\n ]\n ).toString() +\n '.' +\n parseFloat(\n this.personUwAnswers[\n 'medicalQuestionsInchesInput'\n ]\n ).toString()\n ) * 12;\n let heightInCm: any = (\n parseFloat(heightInInches) / 0.393701\n ).toFixed(2);\n this.personUwAnswers[\n 'medicalQuestionsHeightInput'\n ] = heightInCm;\n }\n this.removeSubQuestionValues();\n }\n}\n","\n<div *ngFor=\"let section of questionList\">\n <div\n *ngIf=\"\n !checkIfValueIsEmpty(section['questions']) &&\n section['showSection']\n \"\n class=\"card p-3 mb-4\"\n id=\"personUwMedicalQuestions\"\n >\n <h6 class=\"page-title bold-label\">\n {{ getTitleCase(section[\"sectionName\"]) }}\n </h6>\n <lib-hr-line [field]=\"horizontalLineObj\" />\n <div *ngFor=\"let questions of section['questions']\" class=\"row\">\n <!-- <div *ngIf=\"questions['questionType'] === 'IMAGE TEXT'\">\n <img [src]=\"questions['sampleS3Link']\" class=\"d-block mx-auto\" [alt]=\"questions['title']\">\n <h3 [innerHTML]=\"questions['questionText']\"></h3>\n </div> -->\n\n <div\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'FREE TEXT' &&\n questions['cammundaQuestionCode'] !== 'QHT' &&\n questions['isShowQuestionInUI']\n \"\n >\n <!-- <label class=\"field-lable d-block\"\n >{{ questions[\"questionText\"] }}\n <span\n *ngIf=\"\n questions.optionalQuestion === 'N'\n \"\n style=\"color: #ee0000\"\n >*</span\n >\n </label> -->\n <div class=\"col-12 px-0 my-1\">\n <lib-textbox [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (blur)=\"removeSubQuestionValues()\" />\n </div>\n </div>\n\n <div\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'HEIGHTINPUT' &&\n questions['cammundaQuestionCode'] === 'QHTF' &&\n questions['isShowQuestionInUI']\n \"\n >\n <label class=\"card-topic d-block field-lable\"\n >Height\n <span\n style=\"color: #ee0000\"\n >*</span\n >\n </label>\n <div\n class=\"col-auto px-0 my-0 py-0 heightinput\"\n\n >\n <div class=\"row col-12 my-1\" *ngIf=\"personUwAnswers['medicalQuestionsHeightUnit'] === 'CM'\">\n <div class=\"col-7 py-0 heightInputs\">\n <lib-textbox [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHT']['field']\" />\n </div>\n <div class=\"col-5\">\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightUnit']\" [field]=\"medQuestionObj['heightObjectTypes']\" (ngModelChange)=\"checkAndUpdateHeightUnit()\" />\n </div>\n </div>\n <div\n class=\"row\"\n *ngIf=\"\n personUwAnswers[\n 'medicalQuestionsHeightUnit'\n ] === 'FEET'\n \"\n >\n <div class=\"col-4 py-0 my-1\">\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionFeetInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHTF']['field']\" />\n </div>\n <div class=\"col-4 py-0 my-1\">\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsInchesInput']\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"medQuestionObj['QHTI']['field']\" />\n </div>\n <div\n class=\"col-4 py-0 my-1\"\n >\n <lib-select [(ngModel)]=\"personUwAnswers['medicalQuestionsHeightUnit']\" [field]=\"medQuestionObj['heightObjectTypes']\" (ngModelChange)=\"checkAndUpdateHeightUnit()\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"row mt-0 pt-0\"\n *ngIf=\"\n questions['questionType'] === 'MAP' &&\n questions['isShowQuestionInUI']\n \"\n >\n\n\n <div class=\"map-container\">\n <div class=\"address-search-container mb-3\">\n\n <div class=\"row mb-3\">\n <div class=\"col-6\">\n <label class=\"form-label card-topic\">Longitude</label>\n <input\n type=\"number\"\n class=\"form-control\"\n autocomplete=\"off\"\n [(ngModel)]=\"longitude\"\n placeholder=\"Enter longitude\"\n step=\"any\"\n readonly\n >\n </div>\n <div class=\"col-6\">\n <label class=\"form-label card-topic\">Latitude</label>\n <input\n type=\"number\"\n class=\"form-control\"\n autocomplete=\"off\"\n [(ngModel)]=\"latitude\"\n placeholder=\"Enter latitude\"\n step=\"any\"\n readonly\n >\n </div>\n </div>\n\n <input\n #addressInput\n type=\"text\"\n class=\"form-control\"\n placeholder=\"Search for address\"\n (keyup)=\"onAddressInputKeyup($event)\"\n (focus)=\"showDropdown = true\"\n (blur)=\"onInputBlur()\"\n autocomplete=\"off\"\n >\n <div\n *ngIf=\"showDropdown && addressSuggestions.length > 0\"\n class=\"autocomplete-dropdown position-absolute w-100 mt-1\"\n style=\"z-index: 1000; max-height: 200px; overflow-y: auto; background: white; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);\"\n >\n <div\n *ngFor=\"let suggestion of addressSuggestions; let i = index\"\n class=\"dropdown-item p-2\"\n style=\"cursor: pointer; border-bottom: 1px solid #eee;\"\n (mousedown)=\"selectAddress(suggestion)\"\n (mouseenter)=\"hoveredIndex = i\"\n [class.bg-light]=\"hoveredIndex === i\"\n >\n <div class=\"fw-bold\">{{ suggestion.main_text }}</div>\n <small class=\"text-muted\">{{ suggestion.secondary_text }}</small>\n </div>\n </div>\n <small class=\"text-muted\">Start typing to search for addresses</small>\n </div>\n <google-map [center]=\"center\" [zoom]=\"zoom\">\n <map-marker [position]=\"currentCoordinates\"></map-marker>\n </google-map>\n </div>\n </div>\n\n\n <div\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n (questions['questionType'] === 'RADIO BUTTON' ||\n questions['questionType'] === 'ADDMORE') &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-radio [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"questions['field']\" />\n </div>\n\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'CHECKBOX' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-multiple-select [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"valueChangeForMultiselect(questions)\" [field]=\"questions['field']\" />\n </div>\n\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'DECLARATION' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-checkbox [(ngModel)]=\"personUwAnswers[questions.questionId]\" (ngModelChange)=\"removeSubQuestionValues()\" [field]=\"questions['field']\" />\n </div>\n\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'DROPDOWN' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-select [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (ngModelChange)=\"removeSubQuestionValues()\" />\n </div>\n\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'CALENDAR' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-dob [(ngModel)]=\"personUwAnswers[questions.questionId]\" [field]=\"questions['field']\" (ngModelChange)=\"removeSubQuestionValues()\" />\n </div>\n\n <!-- <div\n class=\"\"\n *ngIf=\"\n questions['questionType'] === 'HEIGHTINPUT' &&\n questions['cammundaQuestionCode'] === 'QHTF' &&\n questions['isShowQuestionInUI']\n \"\n >\n </div> -->\n <div\n class=\"my-1\"\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'DOCUPLOAD' &&\n questions['isShowQuestionInUI']\n \"\n >\n <lib-upload [field]=\"questions['field']\" (filePreview)=\"onDocumentFilePreview($event)\" />\n <lib-file-preview\n *ngIf=\"previewFile\"\n [field]=\"questions['field']\"\n [file]=\"previewFile\"\n (closed)=\"closeFilePreview()\">\n </lib-file-preview>\n </div>\n\n\n <div\n [ngClass]=\"questions?.field?.cssClass\"\n *ngIf=\"\n questions['questionType'] === 'PASSPORT_UPLOAD' &&\n questions['isShowQuestionInUI']\n \"\n >\n <!-- pending -->\n </div>\n </div>\n </div>\n </div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-page-nudge',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './page-nudge.component.html',\n styleUrl: './page-nudge.component.css'\n})\nexport class PageNudgeComponent {\nfield : any = input.required<any>();\n}\n","<div class=\"nudge-container\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n'--page-nudge-width': field()?.controlStyle?.borderColor ,\n'--page-nudge-height': field()?.controlStyle?.borderWidth ,\n'--page-nudge-bg': field()?.controlStyle?.borderRadius ,\n'--page-nudge-border-radius': field()?.controlStyle?.background ,\n'--page-nudge-border-width': field()?.controlStyle?.focusBorderColor ,\n'--page-nudge-border-color': field()?.controlStyle?.focusBorderWidth ,\n'--page-nudge-border-style': field()?.controlStyle?.focusBackground\n}\">\n {{ field()?.label }}\n <div class=\"page-fold\"></div>\n <div class=\"page-fold-below\"></div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\n\n\n@Component({\n selector: 'lib-progress-bar',\n standalone: true,\n imports: [MatProgressBarModule , CommonModule],\n templateUrl: './progress-bar.component.html',\n styleUrl: './progress-bar.component.css'\n})\nexport class ProgressBarComponent {\nfield : any = input.required<any>();\n}\n","<mat-progress-bar mode=\"determinate\" [value]=\"field()?.value\" [ngStyle]=\"{\n'--progress-bar-background-color': field()?.controlStyle?.background ,\n'--progress-bar-border-radius': field()?.controlStyle?.borderRadius ,\n'--progress-bar-border-color': field()?.controlStyle?.color ,\n'--progress-bar-width': field()?.controlStyle?.width ,\n'--progress-bar-height': field()?.controlStyle?.height ,\n}\"></mat-progress-bar>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { MatExpansionModule } from '@angular/material/expansion';\n\n@Component({\n selector: 'lib-accordian',\n standalone: true,\n imports: [MatExpansionModule , CommonModule],\n templateUrl: './accordian.component.html',\n styleUrl: './accordian.component.css'\n})\nexport class AccordianComponent {\n field : any = input.required<any>();\nonPanelOpened(): void {\n console.log('Panel opened');\n}\n\nonPanelClosed(): void {\n console.log('Panel closed');\n}\n\nonExpandedChange(isExpanded: boolean): void {\n console.log('Panel expansion changed:', isExpanded);\n if (isExpanded) {\n // Panel is now expanded\n } else {\n // Panel is now collapsed\n }\n}\n}\n","<mat-accordion \n [multi]=\"true\" \n [hideToggle]=\"false\"\n [displayMode]=\"'default'\"\n [togglePosition]=\"'after'\" [ngStyle]=\"{\n'--acc-font-color': field()?.controlStyle?.color ,\n'--acc-bg-color': field()?.controlStyle?.background ,\n'--acc-border-radius': field()?.controlStyle?.borderRadius ,\n'--acc-border-width': field()?.controlStyle?.borderWidth ,\n'--acc-border-style': field()?.controlStyle?.borderStyle ,\n'--acc-border-color': field()?.controlStyle?.borderColor ,\n'--acc-font-size': field()?.controlStyle?.fontSize ,\n'--acc-font-weight': field()?.controlStyle?.fontWeight \n}\">\n \n <mat-expansion-panel \n [expanded]=\"false\"\n [disabled]=\"false\"\n [hideToggle]=\"false\"\n (opened)=\"onPanelOpened()\"\n (closed)=\"onPanelClosed()\"\n (expandedChange)=\"onExpandedChange($event)\">\n \n <mat-expansion-panel-header \n [collapsedHeight]=\"'48px'\"\n [expandedHeight]=\"'64px'\">\n \n <mat-panel-title>\n <span class=\"triangle-icon\" *ngIf=\"field()?.configData?.showLeftArrowIndicator && field()?.configData?.showLeftArrowIndicator === 'true'\"></span>\n {{ field()?.label}}\n </mat-panel-title>\n \n <mat-panel-description>\n <!-- This is a description of the panel -->\n </mat-panel-description>\n \n </mat-expansion-panel-header>\n \n <!-- Panel Content -->\n <div>\n {{ field()?.configData?.accordianContent}}\n </div>\n \n <!-- Action Buttons -->\n <!-- <mat-action-row>\n <button mat-button color=\"primary\">Save</button>\n <button mat-button color=\"warn\">Cancel</button>\n </mat-action-row> -->\n \n </mat-expansion-panel>\n</mat-accordion>","import { Component, Input, input } from '@angular/core';\nimport { MasterControlService } from '../master-control.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-miscellaneous-info-bar',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './miscellaneous-info-bar.component.html',\n styleUrl: './miscellaneous-info-bar.component.css'\n})\nexport class MiscellaneousInfoBarComponent {\nconstructor(public masterService : MasterControlService){}\n field: any = input.required<any>();\n @Input() details: any = [{\nlabel:'PAN.',\nvalue:'AAAAA1111A'\n},\n{\nlabel:'DOB.',\nvalue:'01-Jan-1999'\n}\n];\n \n}\n","<div class=\"misc-info-background\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-info-bg-color': field()?.controlStyle?.background ,\n '--custom-info-border-radius': field()?.controlStyle?.borderRadius,\n '--custom-info-border-width': field()?.controlStyle?.borderWidth,\n '--custom-info-border-color': field()?.controlStyle?.borderColor,\n '--custom-info-border-style': field()?.controlStyle?.borderStyle,\n }\">\n <span>\n <img\n class=\"misc-info-nudge-image mb-1\"\n [src]=\"field()?.configData?.prefixImageUrl\"\n alt=\"\"\n />\n <span *ngFor=\"let inp of details ; let i = index\">\n <span class=\"ms-3 misc-info-label px-2\" [ngStyle]=\"{\n '--misc-info-font-size-label': field()?.controlStyle?.fontSize ,\n '--misc-info-font-weight-label': field()?.controlStyle?.fontWeight ,\n '--misc-info-font-color-label': field()?.controlStyle?.color ,\n }\"\n [ngClass]=\"{'show-divider': field()?.configData?.showDivider && field()?.configData?.showDivider === 'true' && i!=0}\"\n >{{inp?.label}}</span>\n <span class=\"misc-info-value\" [ngStyle]=\"{\n '--misc-info-font-size-value': field()?.configData?.valueFontSize ,\n '--misc-info-font-weight-value': field()?.configData?.valueFontWeight ,\n '--misc-info-font-color-value': field()?.configData?.valueFontColor ,\n }\">{{inp?.value}}</span>\n </span>\n <img\n class=\"misc-info-nudge-image mb-1 float-end\"\n [src]=\"field()?.configData?.suffixImageUrl\"\n alt=\"\"\n />\n </span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-plain-text',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './plain-text.component.html',\n styleUrl: './plain-text.component.css'\n})\nexport class PlainTextComponent {\nfield: any = input.required<any>();\n}\n","<div class=\"plain-text\" [ngStyle]=\"{\n'--plain-text-width': field()?.controlStyle?.width ,\n'--plain-text-font-size': field()?.controlStyle?.fontSize ,\n'--plain-text-font-color': field()?.controlStyle?.color ,\n'--plain-text-font-weight': field()?.controlStyle?.fontWeight \n }\">{{field()?.label}}</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MasterControlService } from '../master-control.service';\nimport { MatSelectChange, MatSelectModule } from '@angular/material/select';\n\n@Component({\n selector: 'lib-menu',\n standalone: true,\n imports: [\n MatSelectModule,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatInputModule,\n FormsModule,\n MatOptionModule,\n CommonModule,\n ReactiveFormsModule,\n ],\n templateUrl: './menu.component.html',\n styleUrl: './menu.component.css'\n})\nexport class MenuComponent implements ControlValueAccessor {\n constructor() {}\n showProfileMenu = false;\n field : any = input.required<any>();\n inputValue: any = null;\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any): void {\n this.inputValue = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onValueChange(newValue: any): void {\n this.inputValue = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n selectionChanged(event: MatSelectChange) {\n this.inputValue = event.value;\n this.onChange(event.value);\n this.onTouched();\n }\n\n // onSelectOpened(opened: boolean) {\n // const css = this.field()?.controlStyle;\n // if (opened) {\n // document.body.style.setProperty('--custom-select-option-background-color', css?.dropdownOptionBgColor || '#fff');\n // document.body.style.setProperty('--custom-select-option-font-color', css?.dropdownOptionColor || '#444');\n // document.body.style.setProperty('--custom-select-option-font-weight', css?.dropdownOptionFontWeight || '400');\n // document.body.style.setProperty('--custom-select-option-background-color-focus', css?.focusDropdownOptionBgColor || '#fff');\n // document.body.style.setProperty('--custom-select-option-font-color-focus', css?.focusDropdownOptionColor || '#444');\n // document.body.style.setProperty('--custom-select-option-font-weight-focus', css?.focusDropdownOptionFontWeight || '400');\n // document.body.style.setProperty('--custom-select-option-border-left-focus', css?.focusDropdownOptionBorderLeft || '#ffbb00');\n // document.body.style.setProperty('--custom-select-option-border-radius-focus', css?.focusDropdownOptionBorderRadius || '#ffbb00');\n // } else {\n // document.body.style.removeProperty('--custom-select-option-background-color');\n // document.body.style.removeProperty('--custom-select-option-font-color');\n // document.body.style.removeProperty('--custom-select-option-font-weight');\n // document.body.style.removeProperty('--custom-select-option-background-color-focus');\n // document.body.style.removeProperty('--custom-select-option-font-color-focus');\n // document.body.style.removeProperty('--custom-select-option-font-weight-focus');\n // document.body.style.removeProperty('--custom-select-option-border-left-focus');\n // document.body.style.removeProperty('--custom-select-option-border-radius-focus');\n // }\n // }\n\ntoggleProfileMenu() {\n this.showProfileMenu = !this.showProfileMenu;\n}\n\n\n}\n","<div\n (click)=\"toggleProfileMenu()\"\n class=\"menu-container d-flex align-items-center\"\n role=\"button\"\n>\n<!-- [src]=\"field()?.configData?.prefixImage\" -->\n <img\n [src]=\"field()?.configData?.prefixImage\"\n alt=\"Profile\"\n class=\"rounded-circle me-2\"\n width=\"36\"\n height=\"36\"\n />\n <span class=\"menu-main-text ps-1 pe-2\">{{field()?.configData?.maintext}}</span>\n <span *ngIf=\"field()?.configData?.isShowDropdownArrow\" class=\"arrow\"></span>\n</div>\n\n<div\n *ngIf=\"showProfileMenu\"\n class=\"profile-menu top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\"\n>\n <div class=\"profile-menu-caret\"></div>\n <ul class=\"list-unstyled m-0 py-2\">\n <li\n class=\"px-3 py-2 text-nowrap\"\n *ngFor=\"let singleOption of field()?.options\"\n >\n {{singleOption['label']}}\n </li>\n </ul>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, output, effect, OnInit, OnDestroy } from '@angular/core';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-stepper-with-arrow',\n standalone: true,\n imports: [MatStepperModule, CommonModule],\n templateUrl: './stepper-with-arrow.component.html',\n styleUrl: './stepper-with-arrow.component.css'\n})\nexport class StepperWIthArrowComponent implements OnInit, OnDestroy {\n field: any = input.required<any>();\n currentStepValue = input<string>(); // Input to receive current step value from parent\n autoProgress = input<boolean>(false); // Input to enable automatic step progression\n autoProgressDelay = input<number>(3000); // Delay between auto-progression (in ms)\n selectedStep = output<any>();\n masterStepper: any;\n selectedStepIndex = -1;\n private autoProgressTimer: any;\n\n constructor(public masterSharedService: MasterControlService) {\n // Watch for changes in currentStepValue input\n effect(() => {\n const stepValue = this.currentStepValue();\n if (stepValue && this.field()?.editStepper) {\n this.updateStepFromExternal(stepValue);\n }\n });\n }\n\n ngOnInit() {\n this.field().editStepper = this.field().configData.stepperData ? this.field().configData.stepperData : this.masterSharedService?.configData?.stepper?.stepperData;\n this.initializeStepperState();\n this.emitActiveStepOnLoad();\n \n // Start auto-progression if enabled\n if (this.autoProgress()) {\n this.startAutoProgression();\n }\n }\n\n ngOnDestroy() {\n // Clean up timer\n if (this.autoProgressTimer) {\n clearInterval(this.autoProgressTimer);\n }\n }\n\n initializeStepperState() {\n if (this.field().editStepper) {\n let activeStepIndex = -1;\n \n // Find the current active step based on step properties or field value\n // Check if any step is already marked as active\n activeStepIndex = this.field().editStepper.findIndex((step: any) => step.isActive === true);\n \n // If no active step found, check for current value in field\n if (activeStepIndex === -1 && this.field().value) {\n activeStepIndex = this.field().editStepper.findIndex((step: any) => \n step.displayLabel === this.field().value || \n step.value === this.field().value\n );\n }\n \n // If still no active step found, default to first step\n if (activeStepIndex === -1) {\n activeStepIndex = 0;\n }\n \n this.field().editStepper.forEach((step: any, index: number) => {\n // Set default values if not provided\n if (step.isDisplay === undefined) {\n step.isDisplay = true;\n }\n \n // Set step states based on the active step logic\n if (index < activeStepIndex) {\n // Steps before active step are completed and enabled\n step.isCompleted = true;\n step.isActive = false;\n step.isDisabled = false; // Completed steps can be clicked\n } else if (index === activeStepIndex) {\n // Current active step\n step.isCompleted = false;\n step.isActive = true;\n step.isDisabled = false;\n this.selectedStepIndex = index; // Set as selected\n } else {\n // Steps after active step are pending and disabled\n step.isCompleted = false;\n step.isActive = false;\n step.isDisabled = true;\n }\n });\n }\n }\n\n onStepClick(step: any, index: number) {\n if (!step.isDisabled) {\n this.selectedStepIndex = index;\n const stepData = {\n step: step,\n index: index,\n label: step.displayLabel,\n value: step.value || step.displayLabel\n };\n this.selectedStep.emit(stepData);\n }\n }\n\n isStepSelected(index: number): boolean {\n return this.selectedStepIndex === index;\n }\n\n shouldShowLabel(index: number): boolean {\n // Show label only if no step is selected OR if this step is the selected one\n // Hide labels for completed steps\n return (this.selectedStepIndex === -1 || this.selectedStepIndex === index) && !this.isStepCompleted(index);\n }\n\n shouldShowAsDisabled(step: any, index: number): boolean {\n // Show as disabled if step is actually disabled\n return step.isDisabled === true;\n }\n\n isStepCompleted(index: number): boolean {\n // Check if step is marked as completed\n if (this.field().editStepper && this.field().editStepper[index]) {\n return this.field().editStepper[index].isCompleted === true;\n }\n return false;\n }\n\n isStepActive(index: number): boolean {\n // Check if step is marked as active\n if (this.field().editStepper && this.field().editStepper[index]) {\n return this.field().editStepper[index].isActive === true;\n }\n return false;\n }\n\n emitActiveStepOnLoad() {\n // Automatically emit the active step when component loads\n if (this.field().editStepper && this.selectedStepIndex >= 0) {\n const activeStep = this.field().editStepper[this.selectedStepIndex];\n if (activeStep) {\n const stepData = {\n step: activeStep,\n index: this.selectedStepIndex,\n label: activeStep.displayLabel,\n value: activeStep.value || activeStep.displayLabel\n };\n this.selectedStep.emit(stepData);\n }\n }\n }\n\n // Method to programmatically move to the next step\n moveToNextStep() {\n if (this.selectedStepIndex < this.field().editStepper.length - 1) {\n this.moveToStep(this.selectedStepIndex + 1);\n }\n }\n\n // Method to programmatically move to the previous step\n moveToPreviousStep() {\n if (this.selectedStepIndex > 0) {\n this.moveToStep(this.selectedStepIndex - 1);\n }\n }\n\n // Method to programmatically move to a specific step\n moveToStep(stepIndex: number) {\n if (stepIndex >= 0 && stepIndex < this.field().editStepper.length) {\n // Update step states\n this.field().editStepper.forEach((step: any, index: number) => {\n if (index < stepIndex) {\n // Mark previous steps as completed\n step.isCompleted = true;\n step.isActive = false;\n step.isDisabled = false;\n } else if (index === stepIndex) {\n // Mark current step as active\n step.isCompleted = false;\n step.isActive = true;\n step.isDisabled = false;\n } else {\n // Mark future steps as pending/disabled\n step.isCompleted = false;\n step.isActive = false;\n step.isDisabled = true;\n }\n });\n\n this.selectedStepIndex = stepIndex;\n \n // Emit the step change\n const stepData = {\n step: this.field().editStepper[stepIndex],\n index: stepIndex,\n label: this.field().editStepper[stepIndex].displayLabel,\n value: this.field().editStepper[stepIndex].value || this.field().editStepper[stepIndex].displayLabel\n };\n this.selectedStep.emit(stepData);\n }\n }\n\n // Method to complete current step and move to next\n completeCurrentStepAndMoveNext() {\n if (this.selectedStepIndex >= 0 && this.selectedStepIndex < this.field().editStepper.length - 1) {\n // Mark current step as completed\n this.field().editStepper[this.selectedStepIndex].isCompleted = true;\n this.field().editStepper[this.selectedStepIndex].isActive = false;\n \n // Move to next step\n this.moveToNextStep();\n }\n }\n\n // Method to watch for external step changes (can be called from parent)\n updateStepFromExternal(stepValue: string) {\n if (this.field().editStepper) {\n const stepIndex = this.field().editStepper.findIndex((step: any) => \n step.displayLabel === stepValue || step.value === stepValue\n );\n \n if (stepIndex >= 0 && stepIndex !== this.selectedStepIndex) {\n this.moveToStep(stepIndex);\n }\n }\n }\n\n // Auto-progression methods\n startAutoProgression() {\n if (this.autoProgressTimer) {\n clearInterval(this.autoProgressTimer);\n }\n \n this.autoProgressTimer = setInterval(() => {\n this.moveToNextStep();\n \n // Stop auto-progression when reaching the last step\n if (this.selectedStepIndex >= this.field().editStepper.length - 1) {\n this.stopAutoProgression();\n }\n }, this.autoProgressDelay());\n }\n\n stopAutoProgression() {\n if (this.autoProgressTimer) {\n clearInterval(this.autoProgressTimer);\n this.autoProgressTimer = null;\n }\n }\n\n // Method to reset stepper to first step\n resetToFirstStep() {\n this.stopAutoProgression();\n this.moveToStep(0);\n \n if (this.autoProgress()) {\n this.startAutoProgression();\n }\n }\n}\n","<div *ngIf=\"field() && field()?.isVisible\" style=\"zoom: 0.85;\">\n <mat-stepper #stepperHeader>\n <ng-container *ngFor=\"let steps of field().editStepper; let i = index\">\n <mat-step \n *ngIf=\"steps.isDisplay !== false\"\n [completed]=\"false\"\n [optional]=\"false\">\n <ng-template matStepLabel>\n <div \n class=\"step-container\"\n [class.step-disabled]=\"shouldShowAsDisabled(steps, i)\"\n [class.step-active]=\"isStepActive(i)\"\n [class.step-completed]=\"isStepCompleted(i)\"\n [class.step-collapsed]=\"!shouldShowLabel(i)\"\n (click)=\"onStepClick(steps, i)\">\n <span \n class=\"step-circle\"\n [class.circle-disabled]=\"shouldShowAsDisabled(steps, i)\"\n [class.circle-active]=\"isStepActive(i)\"\n [class.circle-completed]=\"isStepCompleted(i)\">\n {{i + 1}}\n </span>\n <span \n class=\"step-label mx-2\"\n [class.label-disabled]=\"shouldShowAsDisabled(steps, i)\"\n [class.label-active]=\"isStepActive(i)\"\n [class.label-completed]=\"isStepCompleted(i)\"\n [class.label-hidden]=\"!shouldShowLabel(i)\">\n {{steps?.displayLabel}}\n </span>\n <span \n class=\"arrow\" \n [class.arrow-disabled]=\"shouldShowAsDisabled(steps, i)\"\n [class.arrow-active]=\"isStepActive(i)\"\n [class.arrow-completed]=\"isStepCompleted(i)\"\n *ngIf=\"i < field().editStepper.length - 1\">\n </span>\n </div>\n </ng-template>\n </mat-step>\n </ng-container>\n </mat-stepper>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-label-with-image',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './label-with-image.component.html',\n styleUrl: './label-with-image.component.css'\n})\nexport class LabelWithImageComponent {\nfield : any = input.required<any>();\n}\n","<div *ngIf=\"field()?.isVisible\" class=\"d-flex gap-2\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field()?.imageUrl\" alt=\"\">\n <span class=\"bold-label\" [ngStyle]=\"{\n'--master-bold-label-font-color': field()?.controlStyle?.color,\n'--master-bold-label-font-size': field()?.controlStyle?.fontSize,\n'--master-bold-label-font-weight': field()?.controlStyle?.fontWeight\n}\">{{field()?.label}}</span>\n</div>","import { Component, ElementRef, HostListener, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-top-header',\n standalone: true,\n templateUrl: './top-header.component.html',\n styleUrl: './top-header.component.css',\n imports: [CommonModule]\n})\nexport class TopHeaderComponent {\nfield : any = input.required<any>();\n\nshowProfileMenu = false;\nconfigData={\n options:[\n {label:\"\",\n value:\"\"\n }\n ],\nconfigData:{\n logoUrl: \"\",\n notificationBellVisible:\"\",\n notificationCount:\"\",\n notificationImageUrl:\"\",\n UserProfileVisible:\"\",\n imageUrl:\"\",\n userProfileText:\"\",\n}};\n\nngOnInit()\n{\n this.configData=this.field();\n}\n}\n","<header class=\"sticky-top bg-white shadow-sm\">\n <div class=\"container-fluid mx-auto p-0\">\n <div class=\"header row align-items-center\">\n <div class=\"col-11\">\n <a href=\"/\" class=\"d-flex align-items-center gap-3 fixMargin\">\n <img\n [src]=\"configData.configData.logoUrl\"\n class=\"logo\"\n height=\"32\"\n alt=\"Logo\"\n />\n </a>\n </div>\n <div class=\"col-1 d-flex justify-content-end align-items-center p-1 position-relative\">\n <div class=\"me-3 position-relative notification-icon\" role=\"button\" *ngIf=\"configData.configData.notificationBellVisible=='true'\">\n <img\n [src]=\"configData.configData.notificationImageUrl\"\n alt=\"Notifications\"\n width=\"28\"\n height=\"28\"\n />\n <span \n class=\"position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger\"\n >\n {{configData.configData.notificationCount}}\n </span>\n </div>\n <div\n (mouseenter)=\"showProfileMenu=true\"\n class=\"profile-icon d-flex align-items-center rounded-pill bg-light\"\n role=\"button\" *ngIf=\"configData.configData.UserProfileVisible=='true'\"\n >\n <img\n [src]=\"configData.configData.imageUrl\"\n alt=\"Profile\"\n class=\"rounded-circle me-2\"\n width=\"36\"\n height=\"36\"\n />\n <span class=\"fw-medium\">{{configData.configData.userProfileText}}</span>\n </div>\n <div\n *ngIf=\"showProfileMenu\"\n class=\"profile-menu position-absolute top-100 end-0 bg-white border border-warning rounded-3 shadow-sm mt-2\" (mouseenter)=\"showProfileMenu=true\" (mouseleave)=\"showProfileMenu=false\"\n >\n <div class=\"profile-menu-caret\"></div>\n \n <ul class=\"list-unstyled m-0 py-2\">\n <li class=\"px-3 py-2 text-nowrap\" *ngFor=\"let item of configData.options || []\">\n {{ item.label || 'No label' }}\n </li>\n </ul>\n </div>\n \n </div>\n </div>\n </div>\n</header>","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-footer',\n standalone: true,\n imports: [],\n templateUrl: './footer.component.html',\n styleUrl: './footer.component.css'\n})\nexport class FooterComponent {\nfield : any = input.required<any>();\n}\n","<div class=\"footerband section\">\n <div class=\"secondary-footer\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"bd-row col-sm-12 clearfix\">\n <div class=\"legacy-link-menu\">\n \n \n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/downloads\" target=\"_blank\" rel=\"nofollow\">Downloads</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/do-not-disturb\" target=\"_blank\" rel=\"nofollow\">Do Not Disturb (DND)</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/financials\" target=\"_blank\" rel=\"nofollow\">Public Disclosures</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/investor-relations\" target=\"_blank\" rel=\"nofollow\">Investor Relations</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/content/dam/godigit/directportal/en/downloads/digit-stewardship-policy-v4-Jun-24.pdf\" target=\"_blank\" rel=\"nofollow\">Stewardship Policy</a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.irdai.gov.in/\" target=\"_blank\" rel=\"nofollow\">IRDAI </a></span>\n \n <!-- <span class=\"pipe\">|</span> -->\n <span class=\"footer-meta\"><a href=\"https://www.godigit.com/privacy-policy\" target=\"_blank\" rel=\"nofollow\">Privacy Policy</a></span>\n \n \n \n </div>\n <p class=\"txt-white txt-left l-float\">CIN: L66010PN2016PLC167410, IRDAI Reg. No. 158.</p>\n <p class=\"txt-white txt-left l-float\">Go Digit General Insurance Limited | Corporate Office Address: Atlantis, 95, 4th B Cross Road, Koramangala Industrial Layout, 5th Block, Bengaluru 560095 | Registered Office Address: 1 to 6 floors, Ananta One (AR One), Pride Hotel Lane, Narveer Tanaji Wadi, Shivaji Nagar, Pune-411005, Maharashtra | Trade logo of Go Digit General Insurance Ltd. displayed above belongs to Go Digit lnfoworks Services Private Limited and is provided and used by Go Digit General Insurance Ltd. under license.</p>\n </div>\n </div>\n </div>\n </div>\n </div>","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-footer-with-buttons',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './footer-with-buttons.component.html',\n styleUrl: './footer-with-buttons.component.css'\n})\nexport class FooterWithButtonsComponent {\nfield : any = input.required<any>();\n \nconfigData = {\n configData:{\n margin:\"0%\",\n },\n options: [] as Array<{\n label: string;\n value:string;\n }>\n};\n\nngOnInit()\n{\n this.configData=this.field();\n}\n}\n","\n<footer class=\"custom-footer\" \n[ngStyle]=\"{\n 'margin-left': configData.configData.margin,\n 'margin-right': configData.configData.margin\n }\"\n>\n <div class=\"container\">\n <div class=\"footer-buttons d-flex justify-content-center gap-3 py-3\">\n <button class=\"btn update-btn\" *ngFor=\"let button of configData.options\">{{button.label}}</button>\n </div>\n </div>\n</footer>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, input, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-motor-glow-plan-details',\n standalone: true,\n imports: [\n CommonModule\n ],\n templateUrl: './motor-glow-plan-details.component.html',\n styleUrl: './motor-glow-plan-details.component.css'\n})\nexport class MotorGlowPlanDetailsComponent {\n field: any = input.required<any>();\n @Output() editPlanClick = new EventEmitter<any>();\n constructor() {}\n\n onEditPlanClicked() {\n this.editPlanClick.emit();\n }\n}\n","<div class=\"yellow-background\" *ngIf=\"field().isVisible\">\n <div class=\"row\" style=\"padding-bottom: 16px;\">\n <div class=\"col-6\" style=\"padding-bottom: 8px;\">\n <span class=\"label-font\">Sum Assured</span>\n </div>\n <div class=\"col-6 d-flex justify-content-end\" (click)=\"onEditPlanClicked()\">\n <span class=\"label-font\">Edit plan <span> <img style=\"height: 12px; width: 12px; transform: translate(2px, -2px);\" src=\"https://cdn.godigit.com/digitPlusAssets/retail-life-icon/svgicon/edit-icon.svg\" alt=\"edit icon\"> </span></span>\n </div>\n <div class=\"col-12\">\n <span class=\"value-font\">{{field()?.configData?.sumAssuedValue ? field()?.configData?.sumAssuedValue : '25' }}</span>\n </div>\n </div>\n <div class=\"row\" style=\"padding-bottom: 16px;\">\n <div class=\"col-12\" style=\"padding-bottom: 8px;\"><span class=\"label-font\">Policy Term (PT)</span></div>\n <div class=\"col-12 value-font\"><span>{{field()?.configData?.ptYears ? field()?.configData?.ptYears : '5' }} yrs <span class=\"year-label\">(Till {{field()?.configData?.ptValidTill ? field()?.configData?.ptValidTill : '2029' }})</span></span></div>\n\n </div>\n <div class=\"row\" style=\"padding-bottom: 16px;\">\n <div class=\"col-12\" style=\"padding-bottom: 8px;\"><span class=\"label-font\">Premium</span></div>\n <div class=\"col-12\"><span class=\"premium-color\">₹ {{field()?.configData?.premiumAmount ? field()?.configData?.premiumAmount : '12,025' }}/ {{field()?.configData?.premiumFrequency ? field()?.configData?.premiumFrequency : 'year' }}</span></div>\n </div>\n <div class=\"row\">\n <div class=\"col-12\"> <span class=\"eligibility-font\">Eligible for maximum Sum Assured of ₹{{field()?.configData?.maxSAValue ? field()?.configData?.maxSAValue : '25' }} Lakh.</span></div>\n </div>\n\n</div>\n","import { Component, EventEmitter, input, Output, SimpleChanges } from '@angular/core';\nimport { ToggleComponent } from '../toggle/toggle.component';\nimport { SelectTextboxComponent } from '../select-textbox/select-textbox.component';\nimport { ButtonComponent } from '../button/button.component';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { RadioComponent } from '../radio/radio.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MasterControlService } from '../master-control.service';\n\n@Component({\n selector: 'lib-annuity-premium-calculator',\n standalone: true,\n imports: [\n ToggleComponent,\n SelectTextboxComponent,\n ButtonComponent,\n IconButtonComponent,\n RadioComponent,\n CommonModule,\n FormsModule\n ],\n templateUrl: './annuity-premium-calculator.component.html',\n styleUrl: './annuity-premium-calculator.component.css',\n})\nexport class AnnuityPremiumCalculatorComponent {\n field: any = input.required<any>();\n premiumDetails: any = input<any>({});\n annuityPremium : any = {\n textValue : '',\n selectValue: ''\n };\n minumumAnnuityPayout : any = {\n textValue : '',\n selectValue: ''\n };\n @Output() onCalcualteButtonClick = new EventEmitter<any>();\n @Output() onGenerateSummaryClick = new EventEmitter<any>();\n @Output() onAnnuityPremiumChange = new EventEmitter<any>();\n @Output() onMinimumPremiumValueChange = new EventEmitter<any>();\n @Output() onAutioDebitValueChange = new EventEmitter<any>();\n @Output() onGuranteedAnnuityValueChange = new EventEmitter<any>();\n @Output() onDigitBossSwitchToggle = new EventEmitter<any>();\n validations : any = {\n ispremiumEntry : false\n }\n isEnableAutoDebit : any = false;\n selectedGuranteedAnnuity: any = null;\n annuityPremiumToggleObj: any = {\n controlType: 'toggle',\n fieldName: 'annuityPremiumToggle',\n label: 'Enter Annuity',\n placeHolder: null,\n metaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',\n isVisible: true,\n isDisable: true,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: 150,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: null,\n cssClass:\n ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mx-auto d-flex align-items-center justify-content-center',\n value: null,\n style: null,\n imageUrl: null,\n isShowLabel: true,\n controlStyle: {\n controlType: 'toggle',\n borderColor: '#DADADA',\n borderWidth: '1px',\n borderRadius: '999px',\n fontSize: '12px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: 'fit-content',\n focusBorderWidth: '0.094rem',\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: '0.094rem',\n hoverColor: null,\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: null,\n errorBorderWidth: '0.094rem',\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'LI_DP_GEN_CTRL_toggle_annuityPremiumToggle_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n columnIndex: 0,\n configData: {\n leftLabel: 'Enter Premium',\n },\n controlStyles: null,\n };\n\n annuityTableCalculator :any = {\n \"isVisible\": false,\n \"annuitycalculatorTable1val1\": \"\",\n \"annuitycalculatorTable1val2\": \"\",\n \"annuitycalculatorTable2val1\": \"\",\n \"annuitycalculatorTable2val2\": \"\",\n \"annuitycalculatorTable2val3\": \"\",\n \"annuitycalculatorTable3val1\": \"\",\n \"annuitycalculatorTable3val2\": \"\",\n \"annuitycalculatorTable3val3\": \"\",\n \"annuitycalculatorTable4val1\": \"\",\n \"annuitycalculatorTable4val2\": \"\",\n \"annuitycalculatorTable4val3\": \"\"\n\n\n };\n\n digitBossSwitch : any = {\n isVisible : false,\n isSwitchOn: false,\n highlightText: '',\n subText: ''\n }\n\n digitBossToggleConfig: any = {\n controlType: 'toggle',\n fieldName: 'digitBossToggle',\n isVisible: true,\n isDisable: false,\n isShowLabel: true,\n configData: {\n leftLabel: ''\n },\n controlStyle: {\n background: 'transparent',\n borderColor: 'transparent',\n width: 'fit-content',\n borderWidth: '0px'\n }\n };\n\n onDigitBossSwitchChange(event: any) {\n // if(this.premiumDetails() && this.premiumDetails().digitBossSwitch){\n this.digitBossSwitch.isSwitchOn = event;\n this.onDigitBossSwitchToggle.emit(event);\n // }\n }\n\n annuityPremiumObj: any = {\n controlStyle: {\n controlType: 'amountTextbox',\n borderColor: '#DADADA',\n borderWidth: '0.094rem',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: null,\n focusBorderWidth: '0.094rem',\n focusBorderColor: '#ffbb00',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#FFBB00',\n hoverBorderWidth: '0.094rem',\n hoverColor: '#444444',\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '0.094rem',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n fieldName: 'annuityPremium',\n label: 'Premium',\n placeHolder: 'Enter Premium',\n metaId: 'ALL_DP_DP_CTRL_amountTextbox_annuityPremium_V1',\n isVisible: true,\n isDisable: false,\n defaultValue: null,\n validators: {\n isRequired: false,\n requiredMessage: 'Enter Premium',\n minLength: 4,\n minLengthMessage: null,\n maxLength: 10,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: null,\n },\n options: [\n {\n value: 'Monthly',\n label: 'Monthly',\n },\n {\n value: 'One Time',\n label: 'One Time',\n },\n {\n value: 'Quarterly',\n label: 'Quarterly',\n },\n {\n value: 'Half Yearly',\n label: 'Half Yearly',\n },\n {\n value: 'Yearly',\n label: 'Yearly',\n },\n ],\n cssClass: ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 pr-0 mt-5 pt-2',\n value: null,\n style: null,\n imageUrl: null,\n configData: {\n isComaSeperated: true,\n isAllowNumbersInTextFields: true\n },\n metaDataObj: null,\n isShowLabel: true,\n isMasterControl: false,\n controlType: 'amountTextbox',\n };\n\n minimumAnnuityPayoutObj: any = {\n controlStyle: {\n controlType: 'amountTextbox',\n borderColor: '#DADADA',\n borderWidth: '0.094rem',\n borderRadius: null,\n fontSize: '16px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#FFFFFF',\n caretColor: '#ffbb00',\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: null,\n focusBorderWidth: '0.094rem',\n focusBorderColor: '#ffbb00',\n focusBackground: null,\n focusColor: '#444444',\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: '#FFBB00',\n hoverBorderWidth: '0.094rem',\n hoverColor: '#444444',\n disableColor: '#999999',\n disableBackground: '#ECECEC',\n errorBorderColor: '#EE0000',\n errorBorderWidth: '0.094rem',\n errorColor: '#444444',\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId:\n 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n fieldName: 'minimumGuaranteedAnnuityPayout',\n label: 'Total Annuity Payout',\n placeHolder: 'Enter Annuity Payout',\n metaId: 'ALL_DP_DP_CTRL_amountTextbox_minimumGuaranteedAnnuityPayout_V1',\n isVisible: true,\n isDisable: true,\n defaultValue: null,\n validators: {\n isRequired: false,\n requiredMessage: 'Enter Annuity Payout',\n minLength: 4,\n minLengthMessage: null,\n maxLength: 10,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: null,\n },\n options: [\n {\n value: 'Monthly',\n label: 'Monthly',\n },\n {\n value: 'One Time',\n label: 'One Time',\n },\n {\n value: 'Quarterly',\n label: 'Quarterly',\n },\n {\n value: 'Half Yearly',\n label: 'Half Yearly',\n },\n {\n value: 'Yearly',\n label: 'Yearly',\n },\n ],\n cssClass:\n ' col-sm-12 col-md-3 col-lg-3 col-xl-3 py-0 pl-3 mt-1 pr-0 minimumGuaranteedAnnuityPayout',\n value: null,\n style: null,\n imageUrl: null,\n configData: {\n isComaSeperated: true,\n isAllowNumbersInTextFields: true\n },\n metaDataObj: null,\n isShowLabel: true,\n isMasterControl: false,\n controlType: 'amountTextbox',\n };\n\n enableAutoDebitObj: any = {\n controlType: 'toggle',\n fieldName: 'autoDebit',\n label: 'Enable Auto Pay to get higher annuity rate',\n placeHolder: '',\n metaId: 'ALL_COM_GEN_CTRL_toggle_autoDebit_V1',\n isVisible: true,\n isDisable: false,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: null,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: null,\n cssClass: 'col-sm-12 col-md-5 col-lg-5 col-xl-5 mt-4 autoPay',\n value: false,\n style: null,\n imageUrl: null,\n isShowLabel: true,\n controlStyle: {\n controlType: 'toggle',\n borderColor: null,\n borderWidth: '0.094rem',\n borderRadius: null,\n fontSize: '12px',\n fontWeight: '400',\n fontFamily: 'Mulish',\n color: '#444444',\n background: '#E6F7F3',\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: null,\n focusBorderWidth: '0.094rem',\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: '0.094rem',\n hoverColor: null,\n disableColor: '#ECECEC',\n disableBackground: '#ECECEC',\n errorBorderColor: null,\n errorBorderWidth: '0.094rem',\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'ALL_COM_GEN_CTRL_toggle_mailingAddressToggle_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n columnIndex: 0,\n configData: {},\n controlStyles: null,\n };\n\n recalculateButton: any = {\n controlType: 'button',\n fieldName: 'calculateAnnuityPayout',\n label: 'Calculate Annuity Payout',\n placeHolder: null,\n metaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',\n isVisible: true,\n isDisable: false,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: null,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: null,\n cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 mt-3',\n value: null,\n style: null,\n imageUrl: null,\n isShowLabel: true,\n controlStyle: {\n controlType: null,\n borderColor: null,\n borderWidth: null,\n borderRadius: '4px',\n fontSize: '12px',\n fontWeight: null,\n fontFamily: null,\n color: null,\n background: '#FFBB00',\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: '100%',\n focusBorderWidth: null,\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: null,\n hoverColor: null,\n disableColor: null,\n disableBackground: null,\n errorBorderColor: null,\n errorBorderWidth: null,\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'LI_DP_GEN_CTRL_button_calculateAnnuityPayout_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n columnIndex: 0,\n configData: {},\n controlStyles: null,\n };\n\n interchangeButtonObj: any = {\n controlStyle: {\n controlType: null,\n borderColor: '#DDDDDD',\n borderWidth: '0px',\n borderRadius: '50%',\n fontSize: null,\n fontWeight: null,\n fontFamily: null,\n color: null,\n background: null,\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: '100%',\n focusBorderWidth: null,\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: null,\n hoverColor: null,\n disableColor: null,\n disableBackground: null,\n errorBorderColor: null,\n errorBorderWidth: null,\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: null,\n borderStyle: null,\n height: '20px',\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n fieldName: 'annuityInterChange',\n label: 'Annuity Interchange Button',\n placeHolder: null,\n metaId: 'ALL_COM_GEN_MCTRL_downloadIconButton_annuityInterChange_V1',\n isVisible: true,\n isDisable: false,\n defaultValue: null,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: null,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: [],\n cssClass: null,\n value: null,\n style: null,\n imageUrl:\n 'https://cdn.godigit.com/digitPlusAssets/Transition-with-border-icon.svg',\n configData: {},\n metaDataObj: null,\n isShowLabel: true,\n isMasterControl: true,\n controlType: 'downloadIconButton',\n };\n\n generateSummaryObj: any = {\n controlType: 'button',\n fieldName: 'generateSummary',\n label: 'Generate Summary',\n placeHolder: null,\n metaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',\n isVisible: true,\n isDisable: true,\n validators: {\n isRequired: false,\n requiredMessage: 'This field cannot be empty',\n minLength: null,\n minLengthMessage: null,\n maxLength: null,\n maxLengthMessage: null,\n pattern: null,\n patternMessage: '',\n },\n options: null,\n cssClass: ' col-sm-12 col-md-12 col-lg-12 col-xl-12 my-1 mt-3',\n value: null,\n style: null,\n imageUrl: null,\n isShowLabel: true,\n controlStyle: {\n controlType: null,\n borderColor: null,\n borderWidth: null,\n borderRadius: '4px',\n fontSize: '12px',\n fontWeight: null,\n fontFamily: null,\n color: null,\n background: '#FFBB00',\n caretColor: null,\n nudgeDisplayImage: null,\n dropdownOptionBgColor: null,\n dropdownOptionColor: null,\n dropdownOptionFontWeight: null,\n width: '100%',\n focusBorderWidth: null,\n focusBorderColor: null,\n focusBackground: null,\n focusColor: null,\n focusDropdownOptionBgColor: null,\n focusDropdownOptionColor: null,\n focusDropdownOptionFontWeight: null,\n focusDropdownOptionBorderLeft: null,\n focusDropdownOptionBorderRadius: null,\n hoverBorderColor: null,\n hoverBorderWidth: null,\n hoverColor: null,\n disableColor: null,\n disableBackground: null,\n errorBorderColor: null,\n errorBorderWidth: null,\n errorColor: null,\n createdDate: null,\n padding: null,\n margin: null,\n isMasterCss: null,\n controlMetaId: 'LI_DP_GEN_CTRL_button_generateSummary_V1',\n borderStyle: null,\n height: null,\n minHeight: null,\n maxHeight: null,\n minWidth: null,\n maxWidth: null,\n cssClass: null,\n },\n columnIndex: 0,\n configData: {},\n controlStyles: null,\n };\n\n guranteedannuityObj: any={\n \"controlType\": \"radio\",\n \"fieldName\": \"guranteedAnnuityage\",\n \"label\": \"Minimum Guaranteed Annuity Payout %\",\n \"placeHolder\": \"\",\n \"metaId\": \"LI_DP_DP_CTRL_radio_annuityType_V1\",\n \"isVisible\": false,\n \"isDisable\": false,\n \"validators\": {\n \"isRequired\": true,\n \"requiredMessage\": \"This field cannot be empty\",\n \"minLength\": null,\n \"minLengthMessage\": null,\n \"maxLength\": 150,\n \"maxLengthMessage\": null,\n \"pattern\": null,\n \"patternMessage\": \"\"\n },\n \"options\": [],\n \"cssClass\": \" col-sm-12 col-md-3 col-lg-3 col-xl-3 annuityType\",\n \"value\": null,\n \"style\": null,\n \"imageUrl\": null,\n \"isShowLabel\": true,\n \"controlStyle\": {\n \"controlType\": \"radio\",\n \"borderColor\": \"#DADADA\",\n \"borderWidth\": \"1px\",\n \"borderRadius\": null,\n \"fontSize\": \"12px\",\n \"fontWeight\": \"400\",\n \"fontFamily\": \"Mulish\",\n \"color\": \"#444444\",\n \"background\": \"#FFFFFF\",\n \"caretColor\": null,\n \"nudgeDisplayImage\": null,\n \"dropdownOptionBgColor\": null,\n \"dropdownOptionColor\": null,\n \"dropdownOptionFontWeight\": null,\n \"width\": \"45px\",\n \"focusBorderWidth\": \"1px\",\n \"focusBorderColor\": \"#ffbb00\",\n \"focusBackground\": null,\n \"focusColor\": \"#444444\",\n \"focusDropdownOptionBgColor\": null,\n \"focusDropdownOptionColor\": null,\n \"focusDropdownOptionFontWeight\": null,\n \"focusDropdownOptionBorderLeft\": null,\n \"focusDropdownOptionBorderRadius\": null,\n \"hoverBorderColor\": \"#DADADA\",\n \"hoverBorderWidth\": \"1px\",\n \"hoverColor\": \"#444444\",\n \"disableColor\": \"#ECECEC\",\n \"disableBackground\": \"#ECECEC\",\n \"errorBorderColor\": \"#DADADA\",\n \"errorBorderWidth\": \"1px\",\n \"errorColor\": \"#444444\",\n \"createdDate\": null,\n \"padding\": null,\n \"margin\": null,\n \"isMasterCss\": null,\n \"controlMetaId\": \"LI_DP_DP_CTRL_radio_annuityType_V1\",\n \"borderStyle\": null,\n \"height\": \"32px\",\n \"minHeight\": null,\n \"maxHeight\": null,\n \"minWidth\": \"45px\",\n \"maxWidth\": null,\n \"cssClass\": null\n },\n \"columnIndex\": 0,\n \"configData\": {},\n \"controlStyles\": null\n };\n\n constructor(public masterService : MasterControlService) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if ( (changes['premiumDetails']) && !this.masterService.checkIfValueIsEmpty(changes['premiumDetails'].currentValue) ) {\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.Premium)) {\n // Create new object to trigger change detection\n this.annuityPremium = {\n textValue: this.premiumDetails()?.Premium['textValue'],\n selectValue: this.premiumDetails()?.Premium['selectValue']\n };\n\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'isDisable')) {\n this.annuityPremiumObj['isDisable'] = this.premiumDetails()?.Premium['isDisable'];\n }\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'isDisableDropdown')) {\n this.annuityPremiumObj['configData']['isDisableDropdown'] = this.premiumDetails()?.Premium['isDisableDropdown'];\n }\n if(Object.hasOwn(this.premiumDetails()?.Premium, 'options')) {\n this.annuityPremiumObj['options'] = this.premiumDetails()?.Premium['options'];\n }\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuity)) {\n // Create new object to trigger change detection\n this.minumumAnnuityPayout = {\n textValue: this.premiumDetails()?.annuity['textValue'],\n selectValue: this.premiumDetails()?.annuity['selectValue']\n };\n\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'isDisable')) {\n this.minimumAnnuityPayoutObj['isDisable'] = this.premiumDetails()?.annuity['isDisable'];\n }\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'isDisableDropdown')) {\n this.minimumAnnuityPayoutObj['configData']['isDisableDropdown'] = this.premiumDetails()?.annuity['isDisableDropdown'];\n }\n if(Object.hasOwn(this.premiumDetails()?.annuity, 'options')) {\n this.minimumAnnuityPayoutObj['options'] = this.premiumDetails()?.annuity['options'];\n }\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.annuityTableCalculator)) {\n // Create new object to trigger change detection\n this.annuityTableCalculator = this.premiumDetails()?.annuityTableCalculator;\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity)) {\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['controlStyle'])) {\n this.recalculateButton['controlStyle'] = this.premiumDetails()?.calculateAnnuity['controlStyle']\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['label'])) {\n this.recalculateButton['label'] = this.premiumDetails()?.calculateAnnuity['label']\n }\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.calculateAnnuity['isDisable'])) {\n this.recalculateButton['isDisable'] = this.premiumDetails()?.calculateAnnuity['isDisable']\n }\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.digitBossSwitch)) {\n this.digitBossSwitch = this.premiumDetails()?.digitBossSwitch;\n\n }\n\n //guranteed Annuity options\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity)) {\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity['options'])) {\n this.guranteedannuityObj['options'] = this.premiumDetails()?.guranteedAnnuity['options'];\n }\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.guranteedAnnuity['isVisible'])) {\n this.guranteedannuityObj['isVisible'] = this.premiumDetails()?.guranteedAnnuity['isVisible'];\n }\n\n\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary)) {\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['isVisible'])) {\n this.generateSummaryObj['isVisible'] = this.premiumDetails()?.generateSummary['isVisible']\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['controlStyle'])) {\n this.generateSummaryObj['controlStyle'] = this.premiumDetails()?.generateSummary['controlStyle'];\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['label'])) {\n this.generateSummaryObj['label'] = this.premiumDetails()?.generateSummary['label'];\n }\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.generateSummary['isDisable'])) {\n this.generateSummaryObj['isDisable'] = this.premiumDetails()?.generateSummary['isDisable']\n }\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption)) {\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption['isVisible'])) {\n this.enableAutoDebitObj['isVisible'] = this.premiumDetails()?.autoPayOption['isVisible'];\n }\n\n if(!this.masterService.checkIfValueIsEmpty(this.premiumDetails()?.autoPayOption['isVisible'])) {\n this.isEnableAutoDebit = this.premiumDetails()?.autoPayOption['isEnableAutoDebit'];\n }\n\n }\n\n }\n }\n\n calculateButtonClicked() {\n this.validations.ispremiumEntry = false;\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\n this.validations.ispremiumEntry = true;\n }\n this.onCalcualteButtonClick.emit();\n }\n\n generateSummaryClicked() {\n this.onGenerateSummaryClick.emit();\n }\n\n onAnnuityPremiumValueChange(value: any) {\n this.annuityPremium = value;\n this.validations.ispremiumEntry = false;\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\n this.validations.ispremiumEntry = true;\n }\n this.onAnnuityPremiumChange.emit(value);\n }\n onMinPremiumValueChange(value: any) {\n this.minumumAnnuityPayout = value;\n this.onMinimumPremiumValueChange.emit(value);\n }\n\n onEnableAutoDebitValueChange(event : any) {\n this.onAutioDebitValueChange.emit(event);\n }\n\n onGuranteedAnnuityChange(event: any) {\n this.onGuranteedAnnuityValueChange.emit(event);\n }\n\n annualIncomefocusOut() {\n this.validations.ispremiumEntry = false;\n if(this.masterService.checkIfValueIsEmpty(this.annuityPremium['textValue'])) {\n this.validations.ispremiumEntry = true;\n }\n }\n}\n","<div class=\"card px-3\" style=\"padding: 16px;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium\n to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Enter Premium\n </div>\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\"\n style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative;\">\n <!-- Vertical center line split around icon -->\n <div\n style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px;height: calc(50% - 16px); top: 0; background: rgba(221, 221, 221, 1)\">\n </div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n <div\n style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% - 16px); bottom: 0; background: rgba(221, 221, 221, 1)\">\n </div>\n </div>\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\">↗</span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \">\n <div class=\"mx-4\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">₹</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">₹</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\n\n@Component({\n selector: 'lib-footer-design',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './footer-design.component.html',\n styleUrl: './footer-design.component.css'\n})\nexport class FooterDesignComponent {\n field : any = input.required<any>();\n progress: number = 95;\n updateProgress(value: number) {\n this.progress = Math.min(100, Math.max(0, value));\n }\n}\n","<div class=\"progress-container\" *ngIf=\"field() && field()?.isVisible\">\n <div class=\"circular-progress-wrapper\">\n <div class=\"circular-progress\"\n [style.--progress]=\"field()?.configData?.Progressbar\"\n [class.medium-progress]=\"field()?.configData?.Progressbar >= 25 && field()?.configData?.Progressbar < 50\"\n [class.high-progress]=\"field()?.configData?.Progressbar >= 50\">\n <div class=\"progress-value\">{{ field()?.configData?.Progressbar }}%</div>\n </div>\n </div>\n\n <div class=\"text-content\">\n <h2 class=\"main-heading\" [innerHTML]=\"field()?.configData?.Progressbarmsg\"></h2>\n <h2 class=\"main-heading1\">{{ field()?.configData?.GrossPremium }}</h2>\n </div>\n</div>\n","import { ButtonComponent } from './button/button.component';\nimport { Component, Input, input } from '@angular/core';\nimport { TextboxComponent } from './textbox/textbox.component';\nimport { SelectComponent } from './select/select.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { RadioComponent } from './radio/radio.component';\nimport { ToggleComponent } from './toggle/toggle.component';\nimport { UploadComponent } from './upload/upload.component';\nimport { DobComponent } from './dob/dob.component';\nimport { MobNumberComponent } from './mob-number/mob-number.component';\nimport { InfoComponent } from './info/info.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { TextareaComponent } from './textarea/textarea.component';\nimport { TabComponent } from \"./tab/tab.component\";\nimport { AutocompleteComponent } from \"./autocomplete/autocomplete.component\";\nimport { MultipleSelectComponent } from \"./multiple-select/multiple-select.component\";\nimport { SelectTextboxComponent } from './select-textbox/select-textbox.component';\nimport { OtpTextboxComponent } from \"./otp-textbox/otp-textbox.component\";\nimport { AmountTextboxComponent } from \"./amount-textbox/amount-textbox.component\";\nimport { SuffixTextboxComponent } from \"./suffix-textbox/suffix-textbox.component\";\nimport { OtpMobNumberComponent } from \"./otp-mob-number/otp-mob-number.component\";\nimport { TagMobNumberComponent } from \"./tag-mob-number/tag-mob-number.component\";\nimport { AgeDateComponent } from \"./age-date/age-date.component\";\nimport { AdditionButtonComponent } from \"./addition-button/addition-button.component\";\nimport { InfoTextboxComponent } from \"./info-textbox/info-textbox.component\";\nimport { TextboxWithImageComponent } from \"./textbox-with-image/textbox-with-image.component\";\nimport { EmailWithDomainComponent } from \"./email-with-domain/email-with-domain.component\";\nimport { ImageUploadComponent } from \"./image-upload/image-upload.component\";\nimport { DownloadDocumentComponent } from \"./download-document/download-document.component\";\nimport { AddDocumentComponent } from \"./add-document/add-document.component\";\nimport { HyperlinkComponent } from \"./hyperlink/hyperlink.component\";\nimport { TextboxWithUnderscoreComponent } from \"./textbox-with-underscore/textbox-with-underscore.component\";\nimport { UnderscoreMobNumberComponent } from \"./underscore-mob-number/underscore-mob-number.component\";\nimport { IconButtonComponent } from \"./icon-button/icon-button.component\";\nimport { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ImageComponent } from './image/image.component';\nimport { StepperComponent } from \"./stepper/stepper.component\";\nimport { CardComponent } from \"./card/card.component\";\nimport { HrLineComponent } from \"./hr-line/hr-line.component\";\nimport { SearchMultiSelectComponent } from \"./search-multi-select/search-multi-select.component\";\nimport { SubscriptTextboxComponent } from \"./subscript-textbox/subscript-textbox.component\";\nimport { LabelComponent } from \"./label/label.component\";\nimport { SubHeaderComponent } from \"./sub-header/sub-header.component\";\nimport { HeaderComponent } from \"./header/header.component\";\nimport { TableComponent } from './table/table.component';\nimport { TextboxWithTextComponent } from \"./textbox-with-text/textbox-with-text.component\";\nimport { DiscountComponent } from \"./discount/discount.component\";\nimport { BenefitCardComponent } from \"./benefit-card/benefit-card.component\";\nimport { LoaderComponent } from './loader/loader.component';\nimport { WarningSnackbarComponent } from \"./warning-snackbar/warning-snackbar.component\";\nimport { SuccessSnackbarComponent } from \"./success-snackbar/success-snackbar.component\";\nimport { NeutralSnackbarComponent } from \"./neutral-snackbar/neutral-snackbar.component\";\nimport { ErrorSnackbarComponent } from \"./error-snackbar/error-snackbar.component\";\nimport { GreyLabelComponent } from \"./grey-label/grey-label.component\";\nimport { IframeComponent } from \"./iframe/iframe.component\";\nimport { ToggleButtonComponent } from \"./toggle-button/toggle-button.component\";\nimport { PayGetCardComponent } from \"./pay-get-card/pay-get-card.component\";\nimport { InBuiltBenefitComponent } from \"./in-built-benefit/in-built-benefit.component\";\nimport { OtherBenefitsComponent } from \"./other-benefits/other-benefits.component\";\nimport { AnnuityRateLogoComponent } from \"./annuity-rate-logo/annuity-rate-logo.component\";\nimport { DiscountV2Component } from './discount-v2/discount-v2.component';\nimport { LabelValueCardComponent } from './label-value-card/label-value-card.component';\nimport { MedialQuestionsComponent } from \"./medial-questions/medial-questions.component\";\nimport { PageNudgeComponent } from './page-nudge/page-nudge.component';\nimport { ProgressBarComponent } from \"./progress-bar/progress-bar.component\";\nimport { AccordianComponent } from \"./accordian/accordian.component\";\nimport { MiscellaneousInfoBarComponent } from \"./miscellaneous-info-bar/miscellaneous-info-bar.component\";\nimport { PlainTextComponent } from \"./plain-text/plain-text.component\";\nimport { MenuComponent } from './menu/menu.component';\nimport { StepperWIthArrowComponent } from \"./stepper-with-arrow/stepper-with-arrow.component\";\nimport { LabelWithImageComponent } from \"./label-with-image/label-with-image.component\";\nimport { TopHeaderComponent } from \"./top-header/top-header.component\";\nimport { FooterComponent } from \"./footer/footer.component\";\nimport { FooterWithButtonsComponent } from './footer-with-buttons/footer-with-buttons.component';\nimport { MotorGlowPlanDetailsComponent } from \"./motor-glow-plan-details/motor-glow-plan-details.component\";\nimport { FilePreviewComponent } from './file-preview/file-preview.component';\nimport { AnnuityPremiumCalculatorComponent } from \"./annuity-premium-calculator/annuity-premium-calculator.component\";\nimport { FooterDesignComponent } from \"./footer-design/footer-design.component\";\n\n@Component({\n selector: 'lib-master-control',\n standalone: true,\n imports: [\n FormsModule,\n TextboxComponent,\n SelectComponent,\n RadioComponent,\n ToggleComponent,\n UploadComponent,\n DobComponent,\n MobNumberComponent,\n InfoComponent,\n CheckboxComponent,\n TextareaComponent,\n ButtonComponent,\n TabComponent,\n AutocompleteComponent,\n MultipleSelectComponent,\n SelectTextboxComponent,\n OtpTextboxComponent,\n AmountTextboxComponent,\n SuffixTextboxComponent,\n OtpMobNumberComponent,\n TagMobNumberComponent,\n AgeDateComponent,\n AdditionButtonComponent,\n InfoTextboxComponent,\n TextboxWithImageComponent,\n EmailWithDomainComponent,\n ImageUploadComponent,\n DownloadDocumentComponent,\n AddDocumentComponent,\n HyperlinkComponent,\n TextboxWithUnderscoreComponent,\n UnderscoreMobNumberComponent,\n IconButtonComponent,\n ReactiveFormsModule,\n ImageComponent,\n StepperComponent,\n CardComponent,\n HrLineComponent,\n SearchMultiSelectComponent,\n SubscriptTextboxComponent,\n LabelComponent,\n SubHeaderComponent,\n HeaderComponent,\n TextboxWithTextComponent,\n DiscountComponent,\n BenefitCardComponent,\n TableComponent,\n LoaderComponent,\n WarningSnackbarComponent,\n SuccessSnackbarComponent,\n NeutralSnackbarComponent,\n ErrorSnackbarComponent,\n GreyLabelComponent,\n IframeComponent,\n ToggleButtonComponent,\n PayGetCardComponent,\n InBuiltBenefitComponent,\n OtherBenefitsComponent,\n AnnuityRateLogoComponent,\n DiscountV2Component,\n LabelValueCardComponent,\n MedialQuestionsComponent,\n PageNudgeComponent,\n ProgressBarComponent,\n AccordianComponent,\n MiscellaneousInfoBarComponent,\n PlainTextComponent,\n MenuComponent,\n StepperWIthArrowComponent,\n LabelWithImageComponent,\n TopHeaderComponent,\n FooterComponent,\n FooterWithButtonsComponent,\n MotorGlowPlanDetailsComponent,\n AnnuityPremiumCalculatorComponent,\n FilePreviewComponent,\n FooterDesignComponent\n],\n templateUrl: './master-control.component.html',\n styleUrls: ['./master-control.component.css']\n})\nexport class MasterControlComponent {\n field: any = input.required<any>();\n @Input() formGroup: FormGroup = new FormGroup({});\n constructor() {}\n}\n","@switch (field()?.controlType) {\n @case ('top-header') {\n <lib-top-header [field]=\"field()\" />\n }\n @case ('footer') {\n <lib-footer [field]=\"field()\" />\n }\n @case('footer-buttons')\n {\n <lib-footer-with-buttons [field]=\"field()\"></lib-footer-with-buttons>\n }\n @case('text') {\n <lib-textbox [field]=\"field()\"></lib-textbox>\n }\n @case('select') {\n <lib-select [field]=\"field()\"/>\n }\n\n @case('radio') {\n <lib-radio [field]=\"field()\" />\n }\n\n @case('toggle') {\n <lib-toggle [field]=\"field()\" />\n }\n\n @case('file') {\n <lib-upload [field]=\"field()\" />\n }\n\n @case('date') {\n <lib-dob [field]=\"field()\" />\n }\n\n @case('mobileNumber') {\n <lib-mob-number [field]=\"field()\" />\n }\n\n @case('info') {\n <lib-info [field]=\"field()\" />\n }\n\n @case('checkbox') {\n <lib-checkbox [field]=\"field()\" />\n }\n\n @case('textarea') {\n <lib-textarea [field]=\"field()\" />\n }\n\n @case ('button') {\n <lib-button [field]=\"field()\" />\n }\n\n @case ('tab') {\n <lib-tab [field]=\"field()\" />\n }\n\n @case ('autocomplete') {\n <lib-autocomplete [field]=\"field()\" />\n }\n\n @case ('multipleSelect') {\n <lib-multiple-select [field]=\"field()\" />\n }\n\n @case ('textboxWithSelect') {\n <lib-select-textbox [field]=\"field()\" />\n }\n\n @case ('otpTextbox') {\n <lib-otp-textbox [field]=\"field()\" />\n }\n\n @case ('amountTextbox') {\n <lib-amount-textbox [field]=\"field()\" />\n }\n\n @case ('suffixTextbox') {\n <lib-suffix-textbox [field]=\"field()\" />\n }\n\n @case ('otpMobNumber') {\n <lib-otp-mob-number [field]=\"field()\" />\n }\n\n @case ('tagMobNumber') {\n <lib-tag-mob-number [field]=\"field()\" />\n }\n\n @case ('dateWithAge') {\n <lib-age-date [field]=\"field()\" />\n }\n\n @case ('additionButton') {\n <lib-addition-button [field]=\"field()\" />\n }\n\n @case ('infoTextbox') {\n <lib-info-textbox [field]=\"field()\" />\n }\n\n @case ('textboxWithImage') {\n <lib-textbox-with-image [field]=\"field()\" />\n }\n\n @case ('emailWithDomain') {\n <lib-email-with-domain [field]=\"field()\" />\n }\n\n @case ('imageUpload') {\n <lib-image-upload [field]=\"field()\" />\n }\n\n @case ('downloadDocument') {\n <lib-download-document [field]=\"field()\" />\n }\n\n @case ('addDocument') {\n <lib-add-document [field]=\"field()\" />\n }\n\n @case ('hyperlink') {\n <lib-hyperlink [field]=\"field()\" />\n }\n\n @case ('textboxWithUnderscore') {\n <lib-textbox-with-underscore [field]=\"field()\" />\n }\n\n @case ('underscoreMobNumber') {\n <lib-underscore-mob-number [field]=\"field()\" />\n }\n\n @case ('downloadIconButton') {\n <lib-icon-button [field]=\"field()\" />\n }\n\n @case ('image') {\n <lib-image [field]=\"field()\" />\n }\n @case ('stepper') {\n <lib-stepper [field]=\"field()\" />\n }\n @case ('card') {\n <lib-card [field]=\"field()\" />\n }\n @case ('hrLine') {\n <lib-hr-line [field]=\"field()\" />\n }\n @case ('searchMultiSelect') {\n <lib-search-multi-select [field]=\"field()\" />\n }\n @case ('subscriptTextbox') {\n <lib-subscript-textbox [field]=\"field()\" />\n }\n @case ('label') {\n <lib-label [field]=\"field()\" />\n }\n @case ('subHeading') {\n <lib-sub-header [field]=\"field()\" />\n }\n @case ('heading') {\n <lib-header [field]=\"field()\" />\n }\n @case ('table') {\n <lib-table [field]=\"field()\" />\n }\n @case ('textboxWithText') {\n <lib-textbox-with-text [field]=\"field()\" />\n }\n @case ('loader') {\n <lib-loader [field]=\"field()\" />\n }\n @case ('discount') {\n <lib-discount [field]=\"field()\" />\n }\n @case ('optionalBenefitCard') {\n <lib-benefit-card [field]=\"field()\" />\n }\n @case ('errorSnackbar') {\n <lib-error-snackbar [field]=\"field()\" />\n }\n @case ('warningSnackbar') {\n <lib-warning-snackbar [field]=\"field()\" />\n }\n @case ('successSnackbar') {\n <lib-success-snackbar [field]=\"field()\" />\n }\n @case ('neutralSnackbar') {\n <lib-neutral-snackbar [field]=\"field()\" />\n }\n @case ('boldLabel') {\n <lib-grey-label [field]=\"field()\" />\n }\n @case ('iframe') {\n <lib-iframe [field]=\"field()\" />\n }\n @case ('toggleButton') {\n <lib-toggle-button [field]=\"field()\" />\n }\n @case ('payGetCard') {\n <lib-pay-get-card [field]=\"field()\" />\n }\n @case ('inBuiltBenefit') {\n <lib-in-built-benefit [field]=\"field()\" />\n }\n @case ('otherBenefit') {\n <lib-other-benefits [field]=\"field()\" />\n }\n @case ('annuityRateLogo') {\n <lib-annuity-rate-logo [field]=\"field()\" />\n }\n @case ('discountAnnuity') {\n <lib-discount-v2 [field]=\"field()\" />\n }\n @case ('labelValue'){\n <lib-label-value-card [field]=\"field()\" />\n }\n @case ('medicalQuestions'){\n <lib-medial-questions [field]=\"field()\" />\n }\n @case ('nudge'){\n <lib-page-nudge [field]=\"field()\"/>\n }\n @case ('progressBar'){\n <lib-progress-bar [field]=\"field()\"/>\n }\n @case ('accordian'){\n <lib-accordian [field]=\"field()\"/>\n }\n @case ('miscInfo'){\n <lib-miscellaneous-info-bar [field]=\"field()\"/>\n }\n @case ('plainText'){\n <lib-plain-text [field]=\"field()\"/>\n }\n @case ('menu'){\n <lib-menu [field]=\"field()\" />\n }\n @case ('stepperWithArrow') {\n <lib-stepper-with-arrow [field]=\"field()\" />\n }\n @case ('labelWithImage') {\n <lib-label-with-image [field]=\"field()\" />\n }\n @case ('motorGlowPlanDetails') {\n <lib-motor-glow-plan-details [field]=\"field()\" />\n }\n @case ('premiumToAnnuityCalculator') {\n <lib-annuity-premium-calculator [field]=\"field()\" />\n } @case ('footerProgressBar') {\n <lib-footer-design [field]=\"field()\" />\n }\n}\n","/*\n * Public API Surface of master-control\n */\n\nexport * from './lib/master-control.service';\nexport * from './lib/textbox/textbox.component';\nexport * from './lib/master-control.component';\nexport * from './lib/checkbox/checkbox.component';\nexport * from './lib/dob/dob.component';\nexport * from './lib/info/info.component';\nexport * from './lib/mob-number/mob-number.component';\nexport * from './lib/radio/radio.component';\nexport * from './lib/select/select.component';\nexport * from './lib/textarea/textarea.component';\nexport * from './lib/upload/upload.component';\nexport * from './lib/toggle/toggle.component';\nexport * from './lib/button/button.component';\nexport * from './lib/tab/tab.component';\nexport * from './lib/autocomplete/autocomplete.component';\nexport * from './lib/multiple-select/multiple-select.component';\nexport * from './lib/select-textbox/select-textbox.component';\nexport * from './lib/otp-textbox/otp-textbox.component';\nexport * from './lib/amount-textbox/amount-textbox.component';\nexport * from './lib/suffix-textbox/suffix-textbox.component';\nexport * from './lib/otp-mob-number/otp-mob-number.component';\nexport * from './lib/age-date/age-date.component';\nexport * from './lib/addition-button/addition-button.component';\nexport * from './lib/textbox-with-image/textbox-with-image.component';\nexport * from './lib/email-with-domain/email-with-domain.component';\nexport * from './lib/image-upload/image-upload.component';\nexport * from './lib/download-document/download-document.component';\nexport * from './lib/add-document/add-document.component';\nexport * from './lib/hyperlink/hyperlink.component';\nexport * from './lib/textbox-with-underscore/textbox-with-underscore.component';\nexport * from './lib/icon-button/icon-button.component';\nexport * from './lib/image/image.component';\nexport * from './lib/stepper/stepper.component';\nexport * from './lib/card/card.component';\nexport * from './lib/hr-line/hr-line.component';\nexport * from './lib/search-multi-select/search-multi-select.component';\nexport * from './lib/subscript-textbox/subscript-textbox.component';\nexport * from './lib/label/label.component';\nexport * from './lib/table/table.component';\nexport * from './lib/textbox-with-text/textbox-with-text.component';\nexport * from './lib/loader/loader.component';\nexport * from './lib/discount/discount.component';\nexport * from './lib/benefit-card/benefit-card.component';\nexport * from './lib/error-snackbar/error-snackbar.component';\nexport * from './lib/warning-snackbar/warning-snackbar.component';\nexport * from './lib/success-snackbar/success-snackbar.component';\nexport * from './lib/neutral-snackbar/neutral-snackbar.component';\nexport * from './lib/grey-label/grey-label.component';\nexport * from './lib/iframe/iframe.component';\nexport * from './lib/toggle-button/toggle-button.component';\nexport * from './lib/pay-get-card/pay-get-card.component';\nexport * from './lib/in-built-benefit/in-built-benefit.component';\nexport * from './lib/other-benefits/other-benefits.component';\nexport * from './lib/annuity-rate-logo/annuity-rate-logo.component';\nexport * from './lib/label-value-card/label-value-card.component';\nexport * from './lib/medial-questions/medial-questions.component';\nexport * from './lib/discount-v2/discount-v2.component';\nexport * from './lib/page-nudge/page-nudge.component';\nexport * from './lib/header/header.component';\nexport * from './lib/sub-header/sub-header.component';\nexport * from './lib/menu/menu.component';\nexport * from './lib/stepper-with-arrow/stepper-with-arrow.component';\nexport * from './lib/info-textbox/info-textbox.component';\nexport * from './lib/textbox-with-underscore/textbox-with-underscore.component';\nexport * from './lib/label-with-image/label-with-image.component';\nexport * from './lib/underscore-mob-number/underscore-mob-number.component';\nexport * from './lib/motor-glow-plan-details/motor-glow-plan-details.component';\nexport * from './lib/file-preview/file-preview.component';\nexport * from './lib/annuity-premium-calculator/annuity-premium-calculator.component';\nexport * from './lib/footer-design/footer-design.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.MasterControlService","i3","i5","i2","i6","i1","i2.MasterService","i4","i7","i8","i1.MasterService"],"mappings":"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"}
|