{"version":3,"file":"app-2120132a.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./src/components/forms/ia-percentage/ia-percentage.html","webpack://iadviser/./src/components/forms/ia-select-table/ia-select-table.html","webpack://iadviser/./src/components/forms/ia-select/ia-select.html","webpack://iadviser/./src/components/forms/ia-textarea/ia-textarea.html","webpack://iadviser/./src/components/forms/ia-percentage/ia-percentage.ts","webpack://iadviser/./src/components/forms/ia-select-table/ia-select-table.css?6386","webpack://iadviser/./src/components/forms/ia-select-table/ia-select-table.ts","webpack://iadviser/./src/components/forms/ia-select/ia-select.ts","webpack://iadviser/./src/components/forms/ia-textarea/ia-textarea.ts"],"sourcesContent":["// Module\nvar code = \"\\r\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"\\r\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"\\r\\n\";\n// Exports\nexport default code;","// Module\nvar code = \"\\r\\n\";\n// Exports\nexport default code;","import { DOM } from 'aurelia-pal';\r\nimport { bindingMode, customElement } from 'aurelia-framework';\r\nimport { bindable } from 'aurelia-typed-observable-plugin';\r\nimport { generateHtmlIdGuid } from 'resources/utilities/insecure-guid';\r\nimport type { InputMaskOptions } from 'resources/attributes/input-mask';\r\nimport defaultsDeep from 'lodash/defaultsDeep';\r\n\r\n@customElement('ia-percentage')\r\nexport class IaPercentage {\r\n static inject = [Element];\r\n public id = generateHtmlIdGuid();\r\n\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) value: number;\r\n @bindable.booleanAttr disabled = false;\r\n @bindable.booleanAttr required = true;\r\n @bindable label: string = null;\r\n @bindable.booleanAttr focusme = false;\r\n @bindable public mask: InputMaskOptions = {};\r\n\r\n private defaultMask: InputMaskOptions = {\r\n alias: 'decimal',\r\n min: '0',\r\n max: '100',\r\n autoUnmask: true,\r\n allowMinus: false,\r\n onKeyDown: (event, buffer, caretPos, opts) => {\r\n this.percentageKeyDown(event, buffer, caretPos as any, opts);\r\n },\r\n };\r\n\r\n protected iaPercentageInput: HTMLInputElement;\r\n private percentageInputSelected = false;\r\n\r\n constructor(private element: HTMLElement) {\r\n this.setMaskDefaults();\r\n }\r\n\r\n attached() {\r\n this.iaPercentageInput.addEventListener('focus', this.percentageFocused);\r\n\r\n if (this.focusme) {\r\n this.focusAndSelectPercentage();\r\n }\r\n }\r\n\r\n detached() {\r\n this.iaPercentageInput.removeEventListener('focus', this.percentageFocused);\r\n }\r\n\r\n maskChanged(mask: InputMaskOptions) {\r\n if (!mask) {\r\n return;\r\n }\r\n\r\n this.setMaskDefaults();\r\n }\r\n\r\n focusmeChanged(focus: boolean) {\r\n if (!this.iaPercentageInput || !focus) {\r\n return;\r\n }\r\n\r\n this.focusAndSelectPercentage();\r\n }\r\n\r\n focusAndSelectPercentage() {\r\n this.iaPercentageInput.focus();\r\n this.percentageInputSelected = true;\r\n\r\n setTimeout(() => {\r\n this.iaPercentageInput.select();\r\n }, 1);\r\n }\r\n\r\n percentageKeyDown = (event: KeyboardEvent, buffer: string[], caretPos: number, opts: InputMaskOptions) => {\r\n if (!this.percentageInputSelected || !isFinite(+event.key)) {\r\n return;\r\n }\r\n\r\n const cursorPos = buffer.findIndex(x => x === opts.radixPoint);\r\n\r\n if (cursorPos !== -1) {\r\n this.iaPercentageInput.inputmask.setValue('0');\r\n this.iaPercentageInput.setSelectionRange(cursorPos - 1, cursorPos - 1);\r\n this.percentageInputSelected = false;\r\n }\r\n };\r\n\r\n percentageFocused = (event: Event) => {\r\n event.preventDefault();\r\n if (!this.iaPercentageInput) {\r\n return;\r\n }\r\n\r\n this.percentageInputSelected = true;\r\n };\r\n\r\n inputChanged(evt: Event) {\r\n evt.stopPropagation();\r\n\r\n const changeEvent = DOM.createCustomEvent('change', {\r\n bubbles: true,\r\n cancelable: true,\r\n detail: evt,\r\n });\r\n\r\n this.element.dispatchEvent(changeEvent);\r\n\r\n const inputEvent = DOM.createCustomEvent('input', {\r\n bubbles: true,\r\n cancelable: true,\r\n detail: evt,\r\n });\r\n\r\n this.element.dispatchEvent(inputEvent);\r\n\r\n const max = +this.mask.max;\r\n const min = +this.mask.min;\r\n const inputVal = +this.iaPercentageInput.inputmask.unmaskedvalue();\r\n\r\n if (inputVal < min) {\r\n this.value = min;\r\n }\r\n if (inputVal > max) {\r\n this.value = max;\r\n }\r\n }\r\n\r\n private setMaskDefaults() {\r\n defaultsDeep(this.mask, this.defaultMask);\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nexport default {\"btn\":\"btn____Prz0U\",\"btn--flat\":\"btn--flat____jIgsa btn____Prz0U\",\"btnFlat\":\"btn--flat____jIgsa btn____Prz0U\",\"btn--submit\":\"btn--submit____Ts8zn btn____Prz0U\",\"btnSubmit\":\"btn--submit____Ts8zn btn____Prz0U\",\"btn--delete\":\"btn--delete____losW_ btn____Prz0U\",\"btnDelete\":\"btn--delete____losW_ btn____Prz0U\",\"btn--link\":\"btn--link____Erhmy btn____Prz0U\",\"btnLink\":\"btn--link____Erhmy btn____Prz0U\",\"btn--inline-text-link\":\"btn--inline-text-link____ocjB5 btn--link____Erhmy btn____Prz0U\",\"btnInlineTextLink\":\"btn--inline-text-link____ocjB5 btn--link____Erhmy btn____Prz0U\",\"btn--footer\":\"btn--footer____KISpe btn____Prz0U\",\"btnFooter\":\"btn--footer____KISpe btn____Prz0U\",\"btn--footer-submit\":\"btn--footer-submit____j4TLI btn--submit____Ts8zn btn____Prz0U btn--footer____KISpe btn____Prz0U\",\"btnFooterSubmit\":\"btn--footer-submit____j4TLI btn--submit____Ts8zn btn____Prz0U btn--footer____KISpe btn____Prz0U\",\"btn--footer-cancel\":\"btn--footer-cancel____HGtVd btn--flat____jIgsa btn____Prz0U btn--footer____KISpe btn____Prz0U\",\"btnFooterCancel\":\"btn--footer-cancel____HGtVd btn--flat____jIgsa btn____Prz0U btn--footer____KISpe btn____Prz0U\",\"btn--footer-delete\":\"btn--footer-delete____QlCSU btn--delete____losW_ btn____Prz0U btn--footer____KISpe btn____Prz0U\",\"btnFooterDelete\":\"btn--footer-delete____QlCSU btn--delete____losW_ btn____Prz0U btn--footer____KISpe btn____Prz0U\",\"btn--qce-dropdown\":\"btn--qce-dropdown____jC_KN btn--footer-submit____j4TLI btn--submit____Ts8zn btn____Prz0U btn--footer____KISpe btn____Prz0U\",\"btnQceDropdown\":\"btn--qce-dropdown____jC_KN btn--footer-submit____j4TLI btn--submit____Ts8zn btn____Prz0U btn--footer____KISpe btn____Prz0U\",\"btn--footer-combo\":\"btn--footer-combo____T7Cyp btn--footer____KISpe btn____Prz0U\",\"btnFooterCombo\":\"btn--footer-combo____T7Cyp btn--footer____KISpe btn____Prz0U\",\"btn--lmi-bicalc\":\"btn--lmi-bicalc____LHHWp btn____Prz0U\",\"btnLmiBicalc\":\"btn--lmi-bicalc____LHHWp btn____Prz0U\",\"btn--lmi-risk\":\"btn--lmi-risk____SIBEY btn____Prz0U\",\"btnLmiRisk\":\"btn--lmi-risk____SIBEY btn____Prz0U\",\"btn--lmi-policy-comparison\":\"btn--lmi-policy-comparison____RO4yx btn____Prz0U\",\"btnLmiPolicyComparison\":\"btn--lmi-policy-comparison____RO4yx btn____Prz0U\",\"btn--lmi-policy-coach\":\"btn--lmi-policy-coach____YrFtN btn____Prz0U\",\"btnLmiPolicyCoach\":\"btn--lmi-policy-coach____YrFtN btn____Prz0U\",\"btn--andrew-nock\":\"btn--andrew-nock____uLfx6 btn____Prz0U\",\"btnAndrewNock\":\"btn--andrew-nock____uLfx6 btn____Prz0U\",\"btn--construction-cost-consultants\":\"btn--construction-cost-consultants____Cr_Ho btn____Prz0U\",\"btnConstructionCostConsultants\":\"btn--construction-cost-consultants____Cr_Ho btn____Prz0U\",\"btn--5-star\":\"btn--5-star____kzg8z btn____Prz0U\",\"btn5Star\":\"btn--5-star____kzg8z btn____Prz0U\",\"btn--thermoscan\":\"btn--thermoscan____s1nP9 btn____Prz0U\",\"btnThermoscan\":\"btn--thermoscan____s1nP9 btn____Prz0U\",\"btn--risk-survey-services\":\"btn--risk-survey-services____tu_26 btn____Prz0U\",\"btnRiskSurveyServices\":\"btn--risk-survey-services____tu_26 btn____Prz0U\",\"btn--risk-management\":\"btn--risk-management____zJpQF btn____Prz0U\",\"btnRiskManagement\":\"btn--risk-management____zJpQF btn____Prz0U\",\"btn--lmi-bicalc--disabled\":\"btn--lmi-bicalc--disabled____lEzxL btn--lmi-bicalc____LHHWp btn____Prz0U\",\"btnLmiBicalcDisabled\":\"btn--lmi-bicalc--disabled____lEzxL btn--lmi-bicalc____LHHWp btn____Prz0U\",\"btn--lmi-risk--disabled\":\"btn--lmi-risk--disabled____SL2k2 btn--lmi-risk____SIBEY btn____Prz0U\",\"btnLmiRiskDisabled\":\"btn--lmi-risk--disabled____SL2k2 btn--lmi-risk____SIBEY btn____Prz0U\",\"btn--lmi-policy-comparison--disabled\":\"btn--lmi-policy-comparison--disabled____iZZqZ btn--lmi-policy-comparison____RO4yx btn____Prz0U\",\"btnLmiPolicyComparisonDisabled\":\"btn--lmi-policy-comparison--disabled____iZZqZ btn--lmi-policy-comparison____RO4yx btn____Prz0U\",\"btn--initial-insured-location-risk\":\"btn--initial-insured-location-risk____bULAo btn--flat____jIgsa btn____Prz0U btn____Prz0U\",\"btnInitialInsuredLocationRisk\":\"btn--initial-insured-location-risk____bULAo btn--flat____jIgsa btn____Prz0U btn____Prz0U\",\"btn--icon\":\"btn--icon____UeYSy btn____Prz0U\",\"btnIcon\":\"btn--icon____UeYSy btn____Prz0U\",\"badge-pop\":\"badge-pop____laV7P\",\"badgePop\":\"badge-pop____laV7P\",\"btn--icon-no-border\":\"btn--icon-no-border____OT3Bc\",\"btnIconNoBorder\":\"btn--icon-no-border____OT3Bc\",\"btn--icon-task\":\"btn--icon-task____Gsv5Y btn--icon____UeYSy btn____Prz0U\",\"btnIconTask\":\"btn--icon-task____Gsv5Y btn--icon____UeYSy btn____Prz0U\",\"btn--icon-document\":\"btn--icon-document____MCVHC btn--icon____UeYSy btn____Prz0U\",\"btnIconDocument\":\"btn--icon-document____MCVHC btn--icon____UeYSy btn____Prz0U\",\"btn--icon-add\":\"btn--icon-add____MxGna btn--icon____UeYSy btn____Prz0U\",\"btnIconAdd\":\"btn--icon-add____MxGna btn--icon____UeYSy btn____Prz0U\",\"btn--add-risk\":\"btn--add-risk____YxzyJ btn--icon____UeYSy btn____Prz0U\",\"btnAddRisk\":\"btn--add-risk____YxzyJ btn--icon____UeYSy btn____Prz0U\",\"btn--icon-close\":\"btn--icon-close____oBA40 btn--icon____UeYSy btn____Prz0U\",\"btnIconClose\":\"btn--icon-close____oBA40 btn--icon____UeYSy btn____Prz0U\",\"btn--icon-delete\":\"btn--icon-delete____yfdh6 btn--icon____UeYSy btn____Prz0U\",\"btnIconDelete\":\"btn--icon-delete____yfdh6 btn--icon____UeYSy btn____Prz0U\",\"btn--icon-download\":\"btn--icon-download____QNVsA btn--icon____UeYSy btn____Prz0U\",\"btnIconDownload\":\"btn--icon-download____QNVsA btn--icon____UeYSy btn____Prz0U\",\"btn--icon-edit\":\"btn--icon-edit____SFsDu btn--icon____UeYSy btn____Prz0U\",\"btnIconEdit\":\"btn--icon-edit____SFsDu btn--icon____UeYSy btn____Prz0U\",\"btn--icon-email\":\"btn--icon-email____InHwX btn--icon____UeYSy btn____Prz0U\",\"btnIconEmail\":\"btn--icon-email____InHwX btn--icon____UeYSy btn____Prz0U\",\"btn--icon-download-email\":\"btn--icon-download-email____z0Lk_ btn--icon____UeYSy btn____Prz0U\",\"btnIconDownloadEmail\":\"btn--icon-download-email____z0Lk_ btn--icon____UeYSy btn____Prz0U\",\"btn--icon-eye\":\"btn--icon-eye____L7TQ7 btn--icon____UeYSy btn____Prz0U\",\"btnIconEye\":\"btn--icon-eye____L7TQ7 btn--icon____UeYSy btn____Prz0U\",\"btn--icon-eye-slash\":\"btn--icon-eye-slash____YdDcr btn--icon-eye____L7TQ7 btn--icon____UeYSy btn____Prz0U\",\"btnIconEyeSlash\":\"btn--icon-eye-slash____YdDcr btn--icon-eye____L7TQ7 btn--icon____UeYSy btn____Prz0U\",\"btn--icon-folder\":\"btn--icon-folder____XQ2GF btn--icon____UeYSy btn____Prz0U\",\"btnIconFolder\":\"btn--icon-folder____XQ2GF btn--icon____UeYSy btn____Prz0U\",\"btn--icon-folder-locked\":\"btn--icon-folder-locked____Ip7br btn--icon____UeYSy btn____Prz0U\",\"btnIconFolderLocked\":\"btn--icon-folder-locked____Ip7br btn--icon____UeYSy btn____Prz0U\",\"btn--icon-folder-locked-active\":\"btn--icon-folder-locked-active____WBX4y btn--icon____UeYSy btn____Prz0U\",\"btnIconFolderLockedActive\":\"btn--icon-folder-locked-active____WBX4y btn--icon____UeYSy btn____Prz0U\",\"btn--icon-history\":\"btn--icon-history____PsQUd btn--icon____UeYSy btn____Prz0U\",\"btnIconHistory\":\"btn--icon-history____PsQUd btn--icon____UeYSy btn____Prz0U\",\"btn--icon-info\":\"btn--icon-info____V8Mu_ btn--icon____UeYSy btn____Prz0U\",\"btnIconInfo\":\"btn--icon-info____V8Mu_ btn--icon____UeYSy btn____Prz0U\",\"btn--icon-link\":\"btn--icon-link____ayCyb btn--icon____UeYSy btn____Prz0U\",\"btnIconLink\":\"btn--icon-link____ayCyb btn--icon____UeYSy btn____Prz0U\",\"btn--icon-unlink\":\"btn--icon-unlink____gAwfA btn--icon-delete____yfdh6 btn--icon____UeYSy btn____Prz0U\",\"btnIconUnlink\":\"btn--icon-unlink____gAwfA btn--icon-delete____yfdh6 btn--icon____UeYSy btn____Prz0U\",\"btn--icon-map\":\"btn--icon-map____fKTVm btn--icon____UeYSy btn____Prz0U\",\"btnIconMap\":\"btn--icon-map____fKTVm btn--icon____UeYSy btn____Prz0U\",\"btn--icon-more\":\"btn--icon-more____gMrDi btn--icon____UeYSy btn____Prz0U\",\"btnIconMore\":\"btn--icon-more____gMrDi btn--icon____UeYSy btn____Prz0U\",\"btn--icon-move-down\":\"btn--icon-move-down____FX8ME btn--icon____UeYSy btn____Prz0U\",\"btnIconMoveDown\":\"btn--icon-move-down____FX8ME btn--icon____UeYSy btn____Prz0U\",\"btn--icon-move-up\":\"btn--icon-move-up____Y_2PR btn--icon____UeYSy btn____Prz0U\",\"btnIconMoveUp\":\"btn--icon-move-up____Y_2PR btn--icon____UeYSy btn____Prz0U\",\"btn--icon-open-in-new-window\":\"btn--icon-open-in-new-window____NZKKL btn--icon____UeYSy btn____Prz0U\",\"btnIconOpenInNewWindow\":\"btn--icon-open-in-new-window____NZKKL btn--icon____UeYSy btn____Prz0U\",\"btn--icon-favourite--selected\":\"btn--icon-favourite--selected_____s7ru btn--icon____UeYSy btn____Prz0U\",\"btnIconFavouriteSelected\":\"btn--icon-favourite--selected_____s7ru btn--icon____UeYSy btn____Prz0U\",\"btn--icon-favourite--deselected\":\"btn--icon-favourite--deselected____q3UAa btn--icon____UeYSy btn____Prz0U\",\"btnIconFavouriteDeselected\":\"btn--icon-favourite--deselected____q3UAa btn--icon____UeYSy btn____Prz0U\",\"btn--icon-preview\":\"btn--icon-preview____gsL94 btn--icon____UeYSy btn____Prz0U\",\"btnIconPreview\":\"btn--icon-preview____gsL94 btn--icon____UeYSy btn____Prz0U\",\"btn--icon-pre-printed\":\"btn--icon-pre-printed____OFY8P btn--icon____UeYSy btn____Prz0U\",\"btnIconPrePrinted\":\"btn--icon-pre-printed____OFY8P btn--icon____UeYSy btn____Prz0U\",\"btn--icon-print\":\"btn--icon-print_____XPx_ btn--icon____UeYSy btn____Prz0U\",\"btnIconPrint\":\"btn--icon-print_____XPx_ btn--icon____UeYSy btn____Prz0U\",\"btn--icon-save\":\"btn--icon-save____WqbLM btn--icon____UeYSy btn____Prz0U\",\"btnIconSave\":\"btn--icon-save____WqbLM btn--icon____UeYSy btn____Prz0U\",\"btn--icon-settings\":\"btn--icon-settings____IPYbQ btn--icon____UeYSy btn____Prz0U\",\"btnIconSettings\":\"btn--icon-settings____IPYbQ btn--icon____UeYSy btn____Prz0U\",\"btn--icon-show-details\":\"btn--icon-show-details____w4M25 btn--icon____UeYSy btn____Prz0U\",\"btnIconShowDetails\":\"btn--icon-show-details____w4M25 btn--icon____UeYSy btn____Prz0U\",\"btn--icon-show-details--alert\":\"btn--icon-show-details--alert____bmhUA btn--icon____UeYSy btn____Prz0U\",\"btnIconShowDetailsAlert\":\"btn--icon-show-details--alert____bmhUA btn--icon____UeYSy btn____Prz0U\",\"btn--icon-show-summary\":\"btn--icon-show-summary____xRA6T btn--icon____UeYSy btn____Prz0U\",\"btnIconShowSummary\":\"btn--icon-show-summary____xRA6T btn--icon____UeYSy btn____Prz0U\",\"btn--icon-attachment\":\"btn--icon-attachment____jmSuL btn--icon____UeYSy btn____Prz0U\",\"btnIconAttachment\":\"btn--icon-attachment____jmSuL btn--icon____UeYSy btn____Prz0U\",\"btn--icon-tag\":\"btn--icon-tag____m4nmG btn--icon____UeYSy btn____Prz0U\",\"btnIconTag\":\"btn--icon-tag____m4nmG btn--icon____UeYSy btn____Prz0U\",\"btn--icon-undo\":\"btn--icon-undo____hCgGn btn--icon____UeYSy btn____Prz0U\",\"btnIconUndo\":\"btn--icon-undo____hCgGn btn--icon____UeYSy btn____Prz0U\",\"btn--icon-sync\":\"btn--icon-sync____TzJEC btn--icon____UeYSy btn____Prz0U\",\"btnIconSync\":\"btn--icon-sync____TzJEC btn--icon____UeYSy btn____Prz0U\",\"btn--icon-arrow-forward\":\"btn--icon-arrow-forward____j8z_7 btn--icon____UeYSy btn____Prz0U\",\"btnIconArrowForward\":\"btn--icon-arrow-forward____j8z_7 btn--icon____UeYSy btn____Prz0U\",\"btn--aside-collapse\":\"btn--aside-collapse____POgyI btn--icon____UeYSy btn____Prz0U\",\"btnAsideCollapse\":\"btn--aside-collapse____POgyI btn--icon____UeYSy btn____Prz0U\",\"btn--icon-expand-more\":\"btn--icon-expand-more____VaahK btn--icon____UeYSy btn____Prz0U\",\"btnIconExpandMore\":\"btn--icon-expand-more____VaahK btn--icon____UeYSy btn____Prz0U\",\"btn--icon-expand-less\":\"btn--icon-expand-less____qHpgZ btn--icon____UeYSy btn____Prz0U\",\"btnIconExpandLess\":\"btn--icon-expand-less____qHpgZ btn--icon____UeYSy btn____Prz0U\",\"btn--icon-general\":\"btn--icon-general____6A0ax btn--icon____UeYSy btn____Prz0U\",\"btnIconGeneral\":\"btn--icon-general____6A0ax btn--icon____UeYSy btn____Prz0U\",\"btn--icon-sales\":\"btn--icon-sales____nD0xR btn--icon____UeYSy btn____Prz0U\",\"btnIconSales\":\"btn--icon-sales____nD0xR btn--icon____UeYSy btn____Prz0U\",\"btn--icon-branch\":\"btn--icon-branch____QRWLq btn--icon____UeYSy btn____Prz0U\",\"btnIconBranch\":\"btn--icon-branch____QRWLq btn--icon____UeYSy btn____Prz0U\",\"btn--icon-contact\":\"btn--icon-contact____1oxkd btn--icon____UeYSy btn____Prz0U\",\"btnIconContact\":\"btn--icon-contact____1oxkd btn--icon____UeYSy btn____Prz0U\",\"btn--icon-consent\":\"btn--icon-consent____aUaqa btn--icon____UeYSy btn____Prz0U\",\"btnIconConsent\":\"btn--icon-consent____aUaqa btn--icon____UeYSy btn____Prz0U\",\"btn--icon-questions\":\"btn--icon-questions____PypBb btn--icon____UeYSy btn____Prz0U\",\"btnIconQuestions\":\"btn--icon-questions____PypBb btn--icon____UeYSy btn____Prz0U\",\"btn--icon-associated\":\"btn--icon-associated____wTHvH btn--icon____UeYSy btn____Prz0U\",\"btnIconAssociated\":\"btn--icon-associated____wTHvH btn--icon____UeYSy btn____Prz0U\",\"btn--icon-notes\":\"btn--icon-notes____PUymB btn--icon____UeYSy btn____Prz0U\",\"btnIconNotes\":\"btn--icon-notes____PUymB btn--icon____UeYSy btn____Prz0U\",\"btn--back\":\"btn--back____d14e1 btn____Prz0U\",\"btnBack\":\"btn--back____d14e1 btn____Prz0U\",\"btn--back-to-sign-in\":\"btn--back-to-sign-in____xT0I4 btn--back____d14e1 btn____Prz0U\",\"btnBackToSignIn\":\"btn--back-to-sign-in____xT0I4 btn--back____d14e1 btn____Prz0U\",\"btn--icon-advanced-search\":\"btn--icon-advanced-search____GvJMr btn--icon____UeYSy btn____Prz0U\",\"btnIconAdvancedSearch\":\"btn--icon-advanced-search____GvJMr btn--icon____UeYSy btn____Prz0U\",\"btn--wizard\":\"btn--wizard____zOW1_ btn____Prz0U\",\"btnWizard\":\"btn--wizard____zOW1_ btn____Prz0U\",\"btn--wizard-back\":\"btn--wizard-back____uyIEJ btn--wizard____zOW1_ btn____Prz0U\",\"btnWizardBack\":\"btn--wizard-back____uyIEJ btn--wizard____zOW1_ btn____Prz0U\",\"btn--wizard-next\":\"btn--wizard-next____qSChi btn--wizard____zOW1_ btn____Prz0U\",\"btnWizardNext\":\"btn--wizard-next____qSChi btn--wizard____zOW1_ btn____Prz0U\",\"card\":\"card____rHo5Z\",\"card-content\":\"card-content____Pr8pL\",\"cardContent\":\"card-content____Pr8pL\",\"card-heading\":\"card-heading____a8AWJ\",\"cardHeading\":\"card-heading____a8AWJ\",\"control-group\":\"control-group____j_yME\",\"controlGroup\":\"control-group____j_yME\",\"label-group\":\"label-group____ViI1f\",\"labelGroup\":\"label-group____ViI1f\",\"label-group-item\":\"label-group-item____ZJ7aR\",\"labelGroupItem\":\"label-group-item____ZJ7aR\",\"constrained-width\":\"constrained-width____WhMgx\",\"constrainedWidth\":\"constrained-width____WhMgx\",\"button-group\":\"button-group____o1F45\",\"buttonGroup\":\"button-group____o1F45\",\"card--alert\":\"card--alert____EimKF card____rHo5Z\",\"cardAlert\":\"card--alert____EimKF card____rHo5Z\",\"card-heading--alert\":\"card-heading--alert____W98KB card-heading____a8AWJ\",\"cardHeadingAlert\":\"card-heading--alert____W98KB card-heading____a8AWJ\",\"card--status-message\":\"card--status-message____HoQcZ\",\"cardStatusMessage\":\"card--status-message____HoQcZ\",\"card--status-message--left\":\"card--status-message--left____XjxNN card--status-message____HoQcZ\",\"cardStatusMessageLeft\":\"card--status-message--left____XjxNN card--status-message____HoQcZ\",\"card-heading--sticky-header\":\"card-heading--sticky-header____jes2j\",\"cardHeadingStickyHeader\":\"card-heading--sticky-header____jes2j\",\"card-heading--no-icon\":\"card-heading--no-icon____wrLoG card-heading____a8AWJ\",\"cardHeadingNoIcon\":\"card-heading--no-icon____wrLoG card-heading____a8AWJ\",\"card-heading--bold-title\":\"card-heading--bold-title____C9vsK\",\"cardHeadingBoldTitle\":\"card-heading--bold-title____C9vsK\",\"fieldset\":\"fieldset____BPOEW\",\"fieldset-instruction\":\"fieldset-instruction____ddxrM\",\"fieldsetInstruction\":\"fieldset-instruction____ddxrM\",\"fieldset--no-padding\":\"fieldset--no-padding____Yh1my fieldset____BPOEW\",\"fieldsetNoPadding\":\"fieldset--no-padding____Yh1my fieldset____BPOEW\",\"fieldset--alt\":\"fieldset--alt____gfcpA fieldset____BPOEW\",\"fieldsetAlt\":\"fieldset--alt____gfcpA fieldset____BPOEW\",\"view-password\":\"view-password____jVQ4J\",\"viewPassword\":\"view-password____jVQ4J\",\"input-search\":\"input-search____vHkbE\",\"inputSearch\":\"input-search____vHkbE\",\"ia-currency-input\":\"ia-currency-input____r8JHq\",\"iaCurrencyInput\":\"ia-currency-input____r8JHq\",\"ia-currency-negative\":\"ia-currency-negative____sa4mQ\",\"iaCurrencyNegative\":\"ia-currency-negative____sa4mQ\",\"select--mini\":\"select--mini____l9Sik\",\"selectMini\":\"select--mini____l9Sik\",\"required-label\":\"required-label____BV4zh\",\"requiredLabel\":\"required-label____BV4zh\",\"alert\":\"alert____JXUCb\",\"alert--important\":\"alert--important____IybWm\",\"alertImportant\":\"alert--important____IybWm\",\"input-label\":\"input-label____YPPe4\",\"inputLabel\":\"input-label____YPPe4\",\"input-toggle\":\"input-toggle____Ri33O\",\"inputToggle\":\"input-toggle____Ri33O\",\"w-100\":\"w-100____TW94R\",\"w100\":\"w-100____TW94R\",\"search-input-wrapper\":\"search-input-wrapper____Fmk73\",\"searchInputWrapper\":\"search-input-wrapper____Fmk73\",\"search-input--results\":\"search-input--results____Jaswi\",\"searchInputResults\":\"search-input--results____Jaswi\",\"search-input--result\":\"search-input--result____nDYVT\",\"searchInputResult\":\"search-input--result____nDYVT\",\"search-input--result--highlighted\":\"search-input--result--highlighted____dbIzk\",\"searchInputResultHighlighted\":\"search-input--result--highlighted____dbIzk\",\"date-range-selections\":\"date-range-selections____Zozv9\",\"dateRangeSelections\":\"date-range-selections____Zozv9\",\"date-arrow-forward\":\"date-arrow-forward____y6pRp\",\"dateArrowForward\":\"date-arrow-forward____y6pRp\",\"qce-dropdown\":\"qce-dropdown____tXQVi\",\"qceDropdown\":\"qce-dropdown____tXQVi\",\"qce-or\":\"qce-or____zDxmc\",\"qceOr\":\"qce-or____zDxmc\",\"qce-dropdown-with-dropdown\":\"qce-dropdown-with-dropdown____zDnaF\",\"qceDropdownWithDropdown\":\"qce-dropdown-with-dropdown____zDnaF\",\"qce-vehicle-registration-search\":\"qce-vehicle-registration-search____ql5uv\",\"qceVehicleRegistrationSearch\":\"qce-vehicle-registration-search____ql5uv\",\"row-gap\":\"row-gap____SfHeq\",\"rowGap\":\"row-gap____SfHeq\",\"row-group\":\"row-group____VAicA\",\"rowGroup\":\"row-group____VAicA\",\"row-group--three\":\"row-group--three____fVSLp row-group____VAicA\",\"rowGroupThree\":\"row-group--three____fVSLp row-group____VAicA\",\"grid-14\":\"grid-14____XwhY1\",\"grid14\":\"grid-14____XwhY1\",\"row-group--four\":\"row-group--four____OcBkg row-group____VAicA\",\"rowGroupFour\":\"row-group--four____OcBkg row-group____VAicA\",\"row-group--auto\":\"row-group--auto____sqoxO row-group____VAicA\",\"rowGroupAuto\":\"row-group--auto____sqoxO row-group____VAicA\",\"row-group--three-auto\":\"row-group--three-auto____tQjuk row-group--auto____sqoxO row-group____VAicA\",\"rowGroupThreeAuto\":\"row-group--three-auto____tQjuk row-group--auto____sqoxO row-group____VAicA\",\"space\":\"space____BgZIh\",\"display-none--lg\":\"display-none--lg____NMExR\",\"displayNoneLg\":\"display-none--lg____NMExR\",\"display-none--md\":\"display-none--md____qgOFH\",\"displayNoneMd\":\"display-none--md____qgOFH\",\"table\":\"table____x3BnB\",\"table-heading-row\":\"table-heading-row____JILjg\",\"tableHeadingRow\":\"table-heading-row____JILjg\",\"table-row\":\"table-row____AZYRE\",\"tableRow\":\"table-row____AZYRE\",\"table-result-row\":\"table-result-row____gobxS\",\"tableResultRow\":\"table-result-row____gobxS\",\"break-word\":\"break-word____tTXrL\",\"breakWord\":\"break-word____tTXrL\",\"no-wrap\":\"no-wrap____Hqc5H\",\"noWrap\":\"no-wrap____Hqc5H\",\"table-result-row--disabled\":\"table-result-row--disabled____EpAZW\",\"tableResultRowDisabled\":\"table-result-row--disabled____EpAZW\",\"table-modal\":\"table-modal____NfwU0 table____x3BnB\",\"tableModal\":\"table-modal____NfwU0 table____x3BnB\",\"table-enhanced\":\"table-enhanced____eWLf8\",\"tableEnhanced\":\"table-enhanced____eWLf8\",\"table--no-border-bottom\":\"table--no-border-bottom____BH7R7 table____x3BnB\",\"tableNoBorderBottom\":\"table--no-border-bottom____BH7R7 table____x3BnB\",\"height-45\":\"height-45____eWliF\",\"height45\":\"height-45____eWliF\",\"edit-column\":\"edit-column____AJC47\",\"editColumn\":\"edit-column____AJC47\",\"delete-column\":\"delete-column____kQcbA\",\"deleteColumn\":\"delete-column____kQcbA\",\"date-table-heading\":\"date-table-heading____WUX_x\",\"dateTableHeading\":\"date-table-heading____WUX_x\",\"button-edit\":\"button-edit____FS60O\",\"buttonEdit\":\"button-edit____FS60O\",\"button-delete\":\"button-delete____D0aET\",\"buttonDelete\":\"button-delete____D0aET\",\"table-row-selected\":\"table-row-selected____gVOaa\",\"tableRowSelected\":\"table-row-selected____gVOaa\",\"table-row-alert\":\"table-row-alert____sz4Y6\",\"tableRowAlert\":\"table-row-alert____sz4Y6\",\"table-filter-row\":\"table-filter-row____EUouj\",\"tableFilterRow\":\"table-filter-row____EUouj\",\"table-filter-row--endcap\":\"table-filter-row--endcap____Sv2c0\",\"tableFilterRowEndcap\":\"table-filter-row--endcap____Sv2c0\",\"filter-column\":\"filter-column____sAKX0\",\"filterColumn\":\"filter-column____sAKX0\",\"table-pagination\":\"table-pagination____ocj2J\",\"tablePagination\":\"table-pagination____ocj2J\",\"table-pagination-with-filter\":\"table-pagination-with-filter____8ozxk table-pagination____ocj2J\",\"tablePaginationWithFilter\":\"table-pagination-with-filter____8ozxk table-pagination____ocj2J\",\"table-button-group\":\"table-button-group____w6h1b\",\"tableButtonGroup\":\"table-button-group____w6h1b\",\"table-child-container\":\"table-child-container____YgYWj\",\"tableChildContainer\":\"table-child-container____YgYWj\",\"table-child-card\":\"table-child-card_____iAzh\",\"tableChildCard\":\"table-child-card_____iAzh\",\"child-table--selected-row\":\"child-table--selected-row____ZFzxn\",\"childTableSelectedRow\":\"child-table--selected-row____ZFzxn\",\"child-table\":\"child-table____yrBbE table____x3BnB\",\"childTable\":\"child-table____yrBbE table____x3BnB\",\"custom-pagination\":\"custom-pagination____WNbym\",\"customPagination\":\"custom-pagination____WNbym\",\"pagination-count\":\"pagination-count____vN4V0\",\"paginationCount\":\"pagination-count____vN4V0\",\"pagination-button\":\"pagination-button____dE4RC btn____Prz0U\",\"paginationButton\":\"pagination-button____dE4RC btn____Prz0U\",\"pagination-prev\":\"pagination-prev____D99q2 pagination-button____dE4RC btn____Prz0U\",\"paginationPrev\":\"pagination-prev____D99q2 pagination-button____dE4RC btn____Prz0U\",\"pagination-next\":\"pagination-next____jh4a3 pagination-button____dE4RC btn____Prz0U\",\"paginationNext\":\"pagination-next____jh4a3 pagination-button____dE4RC btn____Prz0U\",\"pagination-disabled\":\"pagination-disabled____k_xDr pagination-button____dE4RC btn____Prz0U\",\"paginationDisabled\":\"pagination-disabled____k_xDr pagination-button____dE4RC btn____Prz0U\",\"pagination-prev-disabled\":\"pagination-prev-disabled____oOsff pagination-disabled____k_xDr pagination-button____dE4RC btn____Prz0U\",\"paginationPrevDisabled\":\"pagination-prev-disabled____oOsff pagination-disabled____k_xDr pagination-button____dE4RC btn____Prz0U\",\"pagination-next-disabled\":\"pagination-next-disabled____aczkR pagination-disabled____k_xDr pagination-button____dE4RC btn____Prz0U\",\"paginationNextDisabled\":\"pagination-next-disabled____aczkR pagination-disabled____k_xDr pagination-button____dE4RC btn____Prz0U\",\"pagination\":\"pagination____Rd4r1\",\"pagination-top\":\"pagination-top____Hh_x2 pagination____Rd4r1\",\"paginationTop\":\"pagination-top____Hh_x2 pagination____Rd4r1\",\"pagination-bottom\":\"pagination-bottom____N2GEN pagination____Rd4r1\",\"paginationBottom\":\"pagination-bottom____N2GEN pagination____Rd4r1\",\"pagination-bottom--documents\":\"pagination-bottom--documents____LxAez pagination-bottom____N2GEN pagination____Rd4r1\",\"paginationBottomDocuments\":\"pagination-bottom--documents____LxAez pagination-bottom____N2GEN pagination____Rd4r1\",\"table-cell-btn-icon\":\"table-cell-btn-icon____OYMLb\",\"tableCellBtnIcon\":\"table-cell-btn-icon____OYMLb\",\"folder-table\":\"folder-table____qF6fi table--no-border-bottom____BH7R7 table____x3BnB\",\"folderTable\":\"folder-table____qF6fi table--no-border-bottom____BH7R7 table____x3BnB\",\"doc-table-group--heading\":\"doc-table-group--heading____PqCKm\",\"docTableGroupHeading\":\"doc-table-group--heading____PqCKm\",\"doc-table-group--heading-open\":\"doc-table-group--heading-open____lkCqh doc-table-group--heading____PqCKm\",\"docTableGroupHeadingOpen\":\"doc-table-group--heading-open____lkCqh doc-table-group--heading____PqCKm\",\"doc-table-group--heading-with-options\":\"doc-table-group--heading-with-options____KSJXg\",\"docTableGroupHeadingWithOptions\":\"doc-table-group--heading-with-options____KSJXg\",\"constrained-width--folder-name\":\"constrained-width--folder-name_____5sos constrained-width____WhMgx\",\"constrainedWidthFolderName\":\"constrained-width--folder-name_____5sos constrained-width____WhMgx\",\"disable-entity\":\"disable-entity____DVjKI\",\"disableEntity\":\"disable-entity____DVjKI\",\"button-options\":\"button-options____TqBap\",\"buttonOptions\":\"button-options____TqBap\",\"button-options--add\":\"button-options--add____BpAyy button-options____TqBap\",\"buttonOptionsAdd\":\"button-options--add____BpAyy button-options____TqBap\",\"information-icon\":\"information-icon____VgDTE\",\"informationIcon\":\"information-icon____VgDTE\",\"deleted-icon\":\"deleted-icon____GxK1T\",\"deletedIcon\":\"deleted-icon____GxK1T\",\"exclamation-icon\":\"exclamation-icon____ocyBd\",\"exclamationIcon\":\"exclamation-icon____ocyBd\",\"success-icon\":\"success-icon____VHB01\",\"successIcon\":\"success-icon____VHB01\",\"text-align-center\":\"text-align-center____QARlp\",\"textAlignCenter\":\"text-align-center____QARlp\",\"word-break\":\"word-break____qZOTC\",\"wordBreak\":\"word-break____qZOTC\",\"btn-group\":\"btn-group____ZYAgf\",\"btnGroup\":\"btn-group____ZYAgf\",\"accordion-content\":\"accordion-content____FffKr\",\"accordionContent\":\"accordion-content____FffKr\",\"toggle-collapse\":\"toggle-collapse____eK0E2\",\"toggleCollapse\":\"toggle-collapse____eK0E2\",\"toggle-collapse--disabled\":\"toggle-collapse--disabled____hMI1Z toggle-collapse____eK0E2\",\"toggleCollapseDisabled\":\"toggle-collapse--disabled____hMI1Z toggle-collapse____eK0E2\",\"toggle-expand\":\"toggle-expand____p6S37 toggle-collapse____eK0E2\",\"toggleExpand\":\"toggle-expand____p6S37 toggle-collapse____eK0E2\",\"folder\":\"folder____xrMI_\",\"folder-locked\":\"folder-locked____UGzuN folder____xrMI_\",\"folderLocked\":\"folder-locked____UGzuN folder____xrMI_\",\"yesNo-filter-width\":\"yesNo-filter-width____m0479\",\"yesNoFilterWidth\":\"yesNo-filter-width____m0479\",\"w-5\":\"w-5____mwNuW\",\"w5\":\"w-5____mwNuW\",\"w-10\":\"w-10____IlpoY\",\"w10\":\"w-10____IlpoY\",\"w-15\":\"w-15____B1bfr\",\"w15\":\"w-15____B1bfr\",\"w-20\":\"w-20____Rh7VJ\",\"w20\":\"w-20____Rh7VJ\",\"w-25\":\"w-25____jEwRc\",\"w25\":\"w-25____jEwRc\",\"w-30\":\"w-30____gKLTc\",\"w30\":\"w-30____gKLTc\",\"w-35\":\"w-35____xMf_3\",\"w35\":\"w-35____xMf_3\",\"w-40\":\"w-40____tputx\",\"w40\":\"w-40____tputx\",\"w-45\":\"w-45____odiPK\",\"w45\":\"w-45____odiPK\",\"w-50\":\"w-50____qdCku\",\"w50\":\"w-50____qdCku\",\"w-60\":\"w-60____fOiQd\",\"w60\":\"w-60____fOiQd\",\"table--sticky-header\":\"table--sticky-header____gWdIv\",\"tableStickyHeader\":\"table--sticky-header____gWdIv\",\"table--sticky-footer\":\"table--sticky-footer____l2OSn\",\"tableStickyFooter\":\"table--sticky-footer____l2OSn\",\"table--sticky-column\":\"table--sticky-column____gLgW_\",\"tableStickyColumn\":\"table--sticky-column____gLgW_\",\"table--sticky-column2\":\"table--sticky-column2____QtAMm table--sticky-column____gLgW_\",\"tableStickyColumn2\":\"table--sticky-column2____QtAMm table--sticky-column____gLgW_\",\"table--sticky-column-right\":\"table--sticky-column-right____ruYP1 table--sticky-column____gLgW_\",\"tableStickyColumnRight\":\"table--sticky-column-right____ruYP1 table--sticky-column____gLgW_\",\"scrollable-table-container\":\"scrollable-table-container____xCsCx\",\"scrollableTableContainer\":\"scrollable-table-container____xCsCx\",\"dropdown-wrapper\":\"dropdown-wrapper____LUzsK\",\"dropdownWrapper\":\"dropdown-wrapper____LUzsK\",\"dropdown-grid\":\"dropdown-grid____nT5wj\",\"dropdownGrid\":\"dropdown-grid____nT5wj\",\"selected\":\"selected____EAL3s\",\"no-results-row\":\"no-results-row____lpLeb\",\"noResultsRow\":\"no-results-row____lpLeb\"};","import { bindingMode, customElement } from 'aurelia-framework';\r\nimport { bindable } from 'aurelia-typed-observable-plugin';\r\nimport styles from './ia-select-table.css';\r\nimport { generateHtmlIdGuid } from 'resources/utilities/insecure-guid';\r\n\r\nexport interface ColumnDef {\r\n key: keyof T;\r\n header: string;\r\n sortable?: boolean;\r\n searchable?: boolean;\r\n cssClass?: string;\r\n}\r\n\r\n@customElement('ia-select-table')\r\nexport class IaSelectTable {\r\n static inject = [];\r\n public id = generateHtmlIdGuid();\r\n\r\n @bindable public columns: ColumnDef[] = [];\r\n @bindable.booleanAttr public disabled = false;\r\n @bindable public displayKey: keyof T | ((item: T) => string);\r\n @bindable public label = null;\r\n @bindable public placeholder = 'Please select...';\r\n @bindable public noValuesPlaceholder = 'Loading...';\r\n @bindable public required = false;\r\n @bindable public searchable = false; // controls mode\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) public value: T | null = null;\r\n @bindable public values: T[] = [];\r\n\r\n private dropdownEl: HTMLElement;\r\n private filters: { value: string; keys: (keyof T)[] }[] = [{ value: '', keys: [] }];\r\n private onClickAttached = false;\r\n private open = false;\r\n private rowEls: HTMLElement[] = [];\r\n private search = '';\r\n private selectedRowIndex = -1;\r\n private styles = styles;\r\n private inputElement: HTMLElement;\r\n private viewable: T[] = [];\r\n private tableBodyEl: HTMLElement;\r\n @bindable private inputValue: string | null = null;\r\n\r\n //#region Properties\r\n\r\n /** Helper to resolve display text */\r\n private get displayText(): string {\r\n if (this.open) {\r\n return '';\r\n }\r\n\r\n if (!this.values) {\r\n return this.noValuesPlaceholder;\r\n }\r\n\r\n if (!this.value) {\r\n return this.placeholder;\r\n }\r\n\r\n if (typeof this.displayKey === 'function') {\r\n return this.displayKey(this.value);\r\n } else {\r\n const key = this.displayKey as keyof T;\r\n return String(this.value[key]);\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Aurelia Lifecycle Methods\r\n\r\n public constructor() {}\r\n\r\n //#endregion\r\n\r\n //#region Bindable Handlers\r\n\r\n private columnsChanged(): void {\r\n this.filters[0].keys = this.columns?.filter((c) => c.searchable).map((c) => c.key) || [];\r\n }\r\n\r\n private inputValueChanged(newValue: string): void {\r\n this.filters[0].value = newValue;\r\n this.selectedRowIndex = -1;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Event Handlers\r\n\r\n private outsideClickHandler = (event: MouseEvent) => {\r\n const target = event.target as HTMLElement;\r\n if (this.open && this.dropdownEl && !this.dropdownEl.contains(target) && !this.inputElement.contains(target)) {\r\n this.closeDropdown();\r\n }\r\n };\r\n\r\n private inputKeydownHandler(event: KeyboardEvent): boolean {\r\n if (!this.open) {\r\n return false;\r\n }\r\n\r\n switch (event.key) {\r\n case 'ArrowDown':\r\n event.preventDefault();\r\n if (this.selectedRowIndex < this.viewable.length - 1) {\r\n this.selectedRowIndex++;\r\n }\r\n this.ensureSelectedRowVisible();\r\n break;\r\n case 'ArrowUp':\r\n event.preventDefault();\r\n if (this.selectedRowIndex > 0) {\r\n this.selectedRowIndex--;\r\n }\r\n this.ensureSelectedRowVisible();\r\n break;\r\n case 'Enter':\r\n event.preventDefault();\r\n if (this.selectedRowIndex >= 0 && this.selectedRowIndex < this.viewable.length) {\r\n this.selectRow(this.viewable[this.selectedRowIndex]);\r\n }\r\n break;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private ensureSelectedRowVisible(): void {\r\n const rows = this.tableBodyEl.querySelectorAll('tr');\r\n const el = rows[this.selectedRowIndex] as HTMLElement;\r\n if (el) {\r\n el.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n private closeDropdown() {\r\n this.open = false;\r\n this.clearInput();\r\n this.detachOutsideClick();\r\n }\r\n\r\n private openDropdown() {\r\n this.open = true;\r\n this.attachOutsideClick();\r\n }\r\n\r\n private selectRow(row: T) {\r\n this.value = row;\r\n this.open = false;\r\n this.selectedRowIndex = -1;\r\n this.clearInput();\r\n if (!this.searchable) {\r\n this.search = ''; // clear search text if in button mode\r\n }\r\n this.detachOutsideClick();\r\n }\r\n\r\n private attachOutsideClick(): void {\r\n if (this.onClickAttached) {\r\n return;\r\n }\r\n\r\n document.addEventListener('click', this.outsideClickHandler);\r\n this.onClickAttached = true;\r\n }\r\n\r\n private detachOutsideClick(): void {\r\n if (!this.onClickAttached) {\r\n return;\r\n }\r\n\r\n document.removeEventListener('click', this.outsideClickHandler);\r\n this.onClickAttached = false;\r\n }\r\n\r\n private clearInput(): void {\r\n // Clear both the input value and the filter value\r\n this.inputValue = null;\r\n this.filters[0].value = '';\r\n }\r\n}\r\n","import { BindingEngine, bindingMode, customElement, DOM, TaskQueue } from 'aurelia-framework';\r\nimport { I18N } from 'aurelia-i18n';\r\nimport { bindable } from 'aurelia-typed-observable-plugin';\r\nimport { debounce } from 'resources/decorators/debounce-decorator';\r\nimport { generateHtmlIdGuid } from 'resources/utilities/insecure-guid';\r\nimport 'select2/dist/js/select2';\r\n\r\n/**\r\n * Custom equality function used to decide when two values represent the same selected option.\r\n */\r\ninterface SelectMatcher {\r\n (a: any, b: any): boolean;\r\n}\r\n\r\n/**\r\n * Parent-supplied callback contract for generating object option labels.\r\n */\r\ninterface OptionLabel {\r\n (args: { option: any }): string;\r\n}\r\n\r\n/**\r\n * Internal normalized option shape used by both static select rendering and select2 rendering.\r\n */\r\ninterface MappedValue {\r\n id: any;\r\n label: string;\r\n source?: any;\r\n disabled?: boolean;\r\n}\r\n\r\n/**\r\n * IA select wrapper that supports both native select mode and select2-enhanced mode.\r\n *\r\n * Data flow:\r\n * 1) Parent provides values and current value.\r\n * 2) values are normalized into mappedValues.\r\n * 3) UI is rendered from mappedValues (native select or select2).\r\n * 4) Observers keep mappedValues in sync with collection and item mutations.\r\n */\r\n@customElement('ia-select')\r\nexport class IaSelect {\r\n /** Aurelia v1 dependency injection declarations for runtime services used by this control. */\r\n static inject = [Element, TaskQueue, BindingEngine, I18N];\r\n\r\n /** Stable HTML id used by label[for] and select[id]. */\r\n public id = generateHtmlIdGuid();\r\n\r\n /** Whether select2 clear button is enabled when placeholder is in use. */\r\n @bindable.booleanAttr allowClear = true;\r\n /** Component-level disabled state. */\r\n @bindable.booleanAttr disabled = false;\r\n /**\r\n * TODO: Cannot use `multiple` option at the moment, since the `css styles` are not yet supported!\r\n *\r\n * Allow multiple options to be selected. The `value` bindable should be an array.\r\n * Default value is `false`.\r\n */\r\n @bindable.booleanAttr multiple = false;\r\n\r\n /**\r\n * The selected `option` is bound to a user defined `object` instead of an `id`.\r\n * The `values` bindable should be an objects array; e.g. `myCustomObject[]`.\r\n * The `value` bindable will hold the selected object; e.g. `myCustomObject`.\r\n */\r\n @bindable.booleanAttr selectObject = false;\r\n @bindable.booleanAttr required = true;\r\n @bindable.booleanAttr setFocus = false;\r\n\r\n /** Optional translated label shown above the control. */\r\n @bindable label = null;\r\n\r\n /** Placeholder behavior for single-select mode. */\r\n @bindable.booleanAttr hasPlaceholder = true;\r\n\r\n @bindable placeholder: string;\r\n @bindable noValuePlaceholder: string;\r\n\r\n /** Selected value; object or id depending on selectObject. */\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) value: any;\r\n\r\n /** Source options from parent. */\r\n @bindable values: Array = [];\r\n\r\n /** Creation-time mode switch between native select and select2-enhanced select. */\r\n @bindable.booleanAttr({ defaultBindingMode: bindingMode.oneTime }) dynamic = false;\r\n\r\n /** Creation-time option field names used for id and label extraction. */\r\n @bindable({ defaultBindingMode: bindingMode.oneTime }) keyId = 'id';\r\n @bindable({ defaultBindingMode: bindingMode.oneTime }) keyLabel = 'label';\r\n\r\n /** Equality strategy used when comparing selected values. */\r\n @bindable matcher: SelectMatcher = (a, b) => a === b;\r\n\r\n /** Translation toggle for non-object labels in static mode. */\r\n @bindable translateOptions = true;\r\n\r\n /**\r\n * Callback defined on the parent component that returns the option label string.\r\n * This is required if bindable property `selectObject` is set to `true`.\r\n */\r\n @bindable optionLabel: OptionLabel | null = null;\r\n\r\n /**\r\n * Optional property names used to limit item observers when optionLabel is used.\r\n * If omitted or empty, all top-level keys are observed for selectObject + optionLabel mode.\r\n */\r\n @bindable optionLabelDependencies: string[] | string | null = null;\r\n\r\n /** Per-item, per-property observer cache used to avoid rebuilding all observers on every array mutation.*/\r\n private itemSubscriptions = new Map void }>>();\r\n\r\n /** Render-ready option list derived from values. */\r\n private mappedValues: MappedValue[] | any[] = [];\r\n\r\n /** Reference to the underlying select element (bound in template via ref). */\r\n private selectElement!: HTMLSelectElement;\r\n\r\n /** Observer for additions/removals/reorders of the values array. */\r\n private valuesSubscription: { dispose: () => void } | null = null;\r\n\r\n /** Tracks which array instance valuesSubscription is attached to. */\r\n private observedValues: any[] | null = null;\r\n\r\n //#region Lifecycle Methods\r\n\r\n constructor(\r\n private element: HTMLSelectElement,\r\n private taskQueue: TaskQueue,\r\n private bindingEngine: BindingEngine,\r\n private i18n: I18N,\r\n ) {\r\n // Set default placeholder translations immediately so it is available before first render.\r\n this.placeholder = this.i18n.tr('pleaseSelect');\r\n this.noValuePlaceholder = this.i18n.tr('loading');\r\n }\r\n\r\n /** Initializes select2 when dynamic mode is enabled. */\r\n protected attached() {\r\n // Dynamic mode needs select2 initialization after the template has attached.\r\n this.initializeSelect2();\r\n }\r\n\r\n /** Disposes subscriptions and third-party widgets to avoid leaks. */\r\n protected detached() {\r\n // Always release array observer when component unmounts.\r\n if (this.valuesSubscription) {\r\n this.valuesSubscription.dispose();\r\n this.valuesSubscription = null;\r\n }\r\n\r\n // Always release per-item observers when component unmounts.\r\n this.disposeItemObservers();\r\n\r\n // Destroy select2 instance if dynamic, otherwise it will cause memory leaks and event handler issues\r\n if (this.dynamic) {\r\n $(this.selectElement).off('select2:select');\r\n $(this.element).off('keydown.iaSelect');\r\n // @ts-ignore\r\n $(this.selectElement).select2('destroy');\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n /** Initializes observer wiring after bindables are ready. */\r\n protected bind() {\r\n // Ordinarily the binding system in Aurelia would call Changed handlers at initialization, but there's no guarantee of order,\r\n // so we need to ensure they are called at the right time here in bind after all values are set up.\r\n this.valuesChanged(this.values, []);\r\n }\r\n\r\n //#region Convention-Based Change Handlers\r\n\r\n /**\r\n * Synchronizes external value changes back into select2 when dynamic mode is active.\r\n * @param newValue New selected value.\r\n * @param oldValue Previous selected value.\r\n */\r\n valueChanged(newValue: any, oldValue: any) {\r\n // Static mode uses native binding; only select2 mode needs manual synchronization.\r\n if (!this.dynamic) {\r\n // Nothing to do, as select2 is not in use if not dynamic, so value changes will be handled by Aurelia's binding system and reflected in the select element automatically\r\n return;\r\n }\r\n\r\n // Avoid redundant work\r\n if (this.matcher(newValue, oldValue)) {\r\n return;\r\n }\r\n\r\n // Defer until DOM/select2 state settles so we do not race initialization.\r\n this.taskQueue.queueMicroTask(() => {\r\n if (!this.dynamic || !this.selectElement) {\r\n return;\r\n }\r\n\r\n const $select = $(this.selectElement);\r\n\r\n // Skip if select2 not initialized yet\r\n // @ts-ignore\r\n if (!$select.data('select2')) {\r\n return;\r\n }\r\n\r\n const newValueSelect2Id = this.selectObject\r\n ? newValue\r\n ? String(newValue[this.keyId] ?? this.getOptionLabel(newValue))\r\n : ''\r\n : newValue == null\r\n ? ''\r\n : String(newValue);\r\n\r\n // Tell select2 to update selected item without emitting a full native change flow.\r\n $select.val(newValueSelect2Id).trigger('change.select2');\r\n });\r\n }\r\n\r\n /** Updates disabled state on the select2 host when disabled input changes. */\r\n disabledChanged() {\r\n // In static mode, disabled is template-bound. Dynamic mode must sync disabled directly to select2 host element.\r\n if (!this.dynamic || !this.selectElement) {\r\n return;\r\n }\r\n\r\n $(this.selectElement).prop('disabled', this.values.length === 0 || this.disabled);\r\n }\r\n\r\n /**\r\n * Reconciles observers against a new values array and regenerates mapped options.\r\n * @param newValues Latest values array.\r\n * @param oldValues Previous values array.\r\n */\r\n valuesChanged(newValues: any[], oldValues: any[]) {\r\n // Keep observers aligned with latest values array and then rebuild normalized options.\r\n this.setupValuesObserver(newValues);\r\n this.rebuildMappedValues();\r\n }\r\n\r\n /** Reconciles observers when label dependency configuration changes. */\r\n optionLabelDependenciesChanged() {\r\n this.setupItemObservers(this.values);\r\n this.rebuildMappedValues();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Public Functions\r\n\r\n /**\r\n * Returns display label for an option using optionLabel callback when present,\r\n * otherwise the configured keyLabel field fallback.\r\n *\r\n * TODO: This should probably be private, but it's externally accessed in a test.\r\n * @param option Option object to resolve a label from.\r\n * @returns Resolved display label.\r\n */\r\n public getOptionLabel(option: any): string {\r\n // Prefer parent callback in object mode so label composition can be domain-specific.\r\n if (this.optionLabel && typeof this.optionLabel === 'function') {\r\n return this.optionLabel({ option: option });\r\n }\r\n\r\n // Fallback to configured label field when callback is not supplied.\r\n if (this.keyLabel && option[this.keyLabel] !== undefined) {\r\n return String(option[this.keyLabel]);\r\n }\r\n\r\n return '';\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Event Handlers\r\n\r\n /**\r\n * Re-emits a bubbling change event from this custom element.\r\n * @param evt Original input/change event.\r\n */\r\n onInputChanged(evt: Event) {\r\n // Re-emit as a generic change event from the custom element boundary.\r\n evt.stopPropagation();\r\n const changeEvent = DOM.createCustomEvent('change', {\r\n bubbles: true,\r\n cancelable: true,\r\n detail: evt,\r\n });\r\n\r\n this.element.dispatchEvent(changeEvent);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Private Functions\r\n\r\n /** Disposes all tracked item property observers. */\r\n private disposeItemObservers() {\r\n // Dispose every property observer for every tracked item.\r\n for (const propertySubscriptions of this.itemSubscriptions.values()) {\r\n for (const sub of propertySubscriptions.values()) {\r\n sub.dispose();\r\n }\r\n }\r\n\r\n // Reset tracking map to an empty state.\r\n this.itemSubscriptions.clear();\r\n }\r\n\r\n /**\r\n * Computes the list of item properties to observe for label updates.\r\n * @param item Option item.\r\n * @returns Property names to observe on the item.\r\n */\r\n private getObservedItemProperties(item: any): string[] {\r\n // When labels are computed via callback, observe configured dependencies if supplied.\r\n // Fallback: observe all top-level keys to preserve existing behavior.\r\n if (this.selectObject && this.optionLabel && typeof this.optionLabel === 'function') {\r\n if (Array.isArray(this.optionLabelDependencies) && this.optionLabelDependencies.length > 0) {\r\n return this.optionLabelDependencies.filter((property) => typeof property === 'string' && property.length > 0);\r\n }\r\n\r\n if (typeof this.optionLabelDependencies === 'string' && this.optionLabelDependencies.trim().length > 0) {\r\n return this.optionLabelDependencies\r\n .split(',')\r\n .map((property) => property.trim())\r\n .filter((property) => property.length > 0);\r\n }\r\n\r\n return Object.keys(item || {});\r\n }\r\n\r\n return this.keyLabel ? [this.keyLabel] : [];\r\n }\r\n\r\n /**\r\n * Creates and wires select2 for dynamic mode.\r\n * Safe to call only when dynamic mode is enabled.\r\n */\r\n private initializeSelect2() {\r\n // If not dynamic, we are not using select2, so no need to initialize\r\n if (!this.dynamic) {\r\n return;\r\n }\r\n\r\n this.taskQueue.queueMicroTask(() => {\r\n // Build select2 configuration from normalized options and current selection state.\r\n\r\n const select2Config: any = {\r\n data: this.mappedValues.map((item) => ({\r\n id: item.id,\r\n text: item.label,\r\n disabled: item.disabled,\r\n typedId: item.id,\r\n selected:\r\n this.value === null\r\n ? false\r\n : this.selectObject\r\n ? this.matcher(this.value, item.source ?? item.id)\r\n : this.matcher(this.value, item.id),\r\n })),\r\n disabled: this.values.length === 0 || this.disabled,\r\n width: '100%',\r\n };\r\n\r\n // the data property must include an empty option to hold the placeholder if one is in use\r\n // Additionally, allowClear only works properly when a placeholder is in place\r\n if (this.hasPlaceholder) {\r\n select2Config.allowClear = this.allowClear;\r\n select2Config.data = [{ id: '', text: '', typedId: '' }, ...select2Config.data];\r\n select2Config.placeholder = this.i18n.tr(this.placeholder);\r\n }\r\n\r\n // Initialize fresh\r\n $(this.selectElement)\r\n // @ts-ignore\r\n .select2(select2Config)\r\n .on('select2:select', (e: any) => {\r\n // Ignore browser-originated events because native change handling already covers those.\r\n if (e.originalEvent) {\r\n return;\r\n }\r\n\r\n const selectedId = e.params.data.typedId;\r\n\r\n if (this.selectObject) {\r\n // Map selected id back to original object when selectObject mode is enabled.\r\n // Fallback to label if ID is empty\r\n this.value = this.values.find((v) => {\r\n const valueId = v[this.keyId] ?? this.getOptionLabel(v);\r\n return valueId == selectedId;\r\n });\r\n } else {\r\n this.value = selectedId;\r\n }\r\n\r\n const notice = new Event('change', { bubbles: true });\r\n $(this.element).find('select')[0].dispatchEvent(notice);\r\n })\r\n .on('select2:clear', (e: any) => {\r\n // Clear the backing value\r\n this.value = null;\r\n\r\n // Prevent select2 from re-opening the dropdown after clearing\r\n $(this.selectElement).one('select2:opening', (ev) => ev.preventDefault());\r\n });\r\n\r\n $(this.element).on('keydown.iaSelect', (e) => {\r\n // Support keyboard navigation parity for dynamic mode.\r\n let newValue: string | number | string[] | undefined;\r\n\r\n if (e.key === 'ArrowDown' && !e.altKey) {\r\n e.preventDefault();\r\n newValue = $(this.element).find('option:selected').nextAll(':enabled').first().val();\r\n } else if (e.key === 'ArrowUp') {\r\n e.preventDefault();\r\n newValue = $(this.element).find('option:selected').prevAll(':enabled').first().val();\r\n }\r\n\r\n if (newValue !== undefined) {\r\n // Set the value object\r\n if (this.selectObject) {\r\n // Map selected id back to original object when selectObject mode is enabled.\r\n // Fallback to label if ID is empty\r\n this.value = this.values.find((v) => {\r\n const valueId = v[this.keyId] ?? this.getOptionLabel(v);\r\n return valueId == newValue;\r\n });\r\n } else {\r\n this.value = newValue;\r\n }\r\n\r\n // Drive selection through the native select element then emit a change event.\r\n $(this.element).find('select').val(newValue);\r\n const notice = new Event('change', { bubbles: true });\r\n $(this.element).find('select')[0].dispatchEvent(notice);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Regenerates mappedValues from source values and refreshes select2 options in dynamic mode.\r\n * Debounced to coalesce bursty item/collection mutations.\r\n */\r\n @debounce(200, { leading: true, maxWait: 500 })\r\n private rebuildMappedValues() {\r\n // Reuse the same array reference to keep Aurelia repeat bindings stable.\r\n // Remove existing mapped values in a way Aurelia's binding system will track\r\n this.mappedValues.splice(0);\r\n\r\n // mappedValues is either the original values array (if selectObject is true) or a mapped version of it (if selectObject is false)\r\n if (this.selectObject) {\r\n this.mappedValues.push(\r\n ...(this.values || []).map((value) => {\r\n // Internally, select2 will fallback to option text when ID is not provided\r\n // This behaviour is relied upon in some places, so fall back to label in the event ID coalesces to null\r\n // This could break things if there are duplicate labels (which would be silly from an end user perspective anyway)\r\n const label = this.getOptionLabel(value);\r\n return {\r\n id: value[this.keyId] ?? label,\r\n label: label,\r\n disabled: Boolean(value.disabled),\r\n\r\n // In object mode keep both normalized fields and source reference.\r\n source: value,\r\n };\r\n }),\r\n );\r\n } else {\r\n this.mappedValues.push(\r\n ...(this.values || []).map((value) => {\r\n // In id mode normalize to flat id/label entries.\r\n return {\r\n id: value[this.keyId],\r\n label: value[this.keyLabel],\r\n disabled: false,\r\n };\r\n }),\r\n );\r\n }\r\n\r\n if (!this.dynamic) {\r\n // no need to update select2 options if not dynamic, as select2 isn't in use\r\n return;\r\n }\r\n\r\n // Destroy all options (excluding the placeholder if applicable) in the select2 and re-add them based on the updated mappedValues\r\n $(this.selectElement)\r\n .find(this.hasPlaceholder ? 'option:not(:first)' : 'option')\r\n .remove();\r\n\r\n for (const item of this.mappedValues) {\r\n const option = new Option(\r\n item.label,\r\n item.id,\r\n false,\r\n this.value === null\r\n ? false\r\n : this.selectObject\r\n ? this.matcher(this.value, item.source ?? item.id)\r\n : this.matcher(this.value, item.id),\r\n );\r\n if (item.disabled) {\r\n option.disabled = true;\r\n }\r\n\r\n // Add a custom property to store the original id for matching purposes\r\n // select2 requires all these properties to be filled in\r\n $(option).data('data', {\r\n id: String(item.id), // Select2 requires string IDs\r\n text: item.label,\r\n typedId: item.id,\r\n disabled: item.disabled || false,\r\n });\r\n\r\n $(this.selectElement).append(option);\r\n }\r\n\r\n // Notify select2 that option set changed.\r\n $(this.selectElement).trigger('change');\r\n }\r\n\r\n /**\r\n * Reconciles per-item property observers without tearing down unchanged subscriptions.\r\n * @param values Latest values array.\r\n */\r\n private setupItemObservers(values: any[]) {\r\n // If options are absent/non-array, clear all item observers.\r\n if (!Array.isArray(values)) {\r\n this.disposeItemObservers();\r\n return;\r\n }\r\n\r\n // Reconcile item set: remove observers for items no longer present.\r\n const nextItems = new Set(values.filter(Boolean));\r\n\r\n for (const [item, propertySubscriptions] of this.itemSubscriptions) {\r\n if (!nextItems.has(item)) {\r\n for (const sub of propertySubscriptions.values()) {\r\n sub.dispose();\r\n }\r\n\r\n this.itemSubscriptions.delete(item);\r\n }\r\n }\r\n\r\n // Reconcile per-item observed properties.\r\n for (const item of nextItems) {\r\n const observedProperties = this.getObservedItemProperties(item);\r\n const nextProperties = new Set(observedProperties.filter((property) => property in item));\r\n\r\n let propertySubscriptions = this.itemSubscriptions.get(item);\r\n if (!propertySubscriptions) {\r\n propertySubscriptions = new Map void }>();\r\n this.itemSubscriptions.set(item, propertySubscriptions);\r\n }\r\n\r\n for (const [property, sub] of propertySubscriptions) {\r\n if (!nextProperties.has(property)) {\r\n sub.dispose();\r\n propertySubscriptions.delete(property);\r\n }\r\n }\r\n\r\n for (const property of nextProperties) {\r\n // Keep existing observers; only create observers for new properties.\r\n if (propertySubscriptions.has(property)) {\r\n continue;\r\n }\r\n\r\n const sub = this.bindingEngine.propertyObserver(item, property).subscribe(() => {\r\n // Any watched property mutation can affect label rendering.\r\n this.rebuildMappedValues();\r\n });\r\n\r\n propertySubscriptions.set(property, sub);\r\n }\r\n\r\n if (propertySubscriptions.size === 0) {\r\n this.itemSubscriptions.delete(item);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Reconciles the collection observer for values and then delegates item observer reconciliation.\r\n * @param values Latest values array.\r\n */\r\n private setupValuesObserver(values: any[]) {\r\n // If values is no longer an array, tear down array and item observers.\r\n if (!Array.isArray(values)) {\r\n if (this.valuesSubscription) {\r\n this.valuesSubscription.dispose();\r\n this.valuesSubscription = null;\r\n }\r\n\r\n this.observedValues = null;\r\n this.disposeItemObservers();\r\n return;\r\n }\r\n\r\n // If the array instance changed, move subscription to the new array.\r\n if (this.valuesSubscription && this.observedValues !== values) {\r\n this.valuesSubscription.dispose();\r\n this.valuesSubscription = null;\r\n this.observedValues = null;\r\n }\r\n\r\n if (!this.valuesSubscription) {\r\n // Observe structural array changes (add/remove/reorder) and reconcile item observers.\r\n this.valuesSubscription = this.bindingEngine.collectionObserver(values).subscribe(() => {\r\n this.setupItemObservers(this.values);\r\n this.rebuildMappedValues();\r\n });\r\n this.observedValues = values;\r\n }\r\n\r\n // Always ensure item/property observers match current array content.\r\n this.setupItemObservers(values);\r\n }\r\n}\r\n","import { bindable, bindingMode, customElement, DOM } from 'aurelia-framework';\r\nimport { generateHtmlIdGuid } from 'resources/utilities/insecure-guid';\r\n\r\n@customElement('ia-textarea')\r\nexport class IaTextarea {\r\n static inject = [Element];\r\n public id = generateHtmlIdGuid();\r\n\r\n @bindable required = true;\r\n @bindable setFocus = false;\r\n @bindable placeholder = '';\r\n @bindable label: string | null = null;\r\n @bindable disabled = false;\r\n @bindable maxlength = 10000;\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) value: string | null = null;\r\n\r\n //#region Aurelia Lifecycle Methods\r\n\r\n public constructor(private element: HTMLElement) {}\r\n\r\n //#endregion\r\n\r\n //#region Event Handlers\r\n\r\n /**\r\n * Relays the inner textarea's blur event to the host element.\r\n * This allows Aurelia Validation's blur trigger to work on the custom element,\r\n * since native blur events do not bubble.\r\n * @param evt The FocusEvent from the inner textarea\r\n */\r\n /* istanbul ignore next */\r\n protected onBlur(evt: FocusEvent) {\r\n this.element.dispatchEvent(new Event('blur', { bubbles: false, cancelable: true }));\r\n }\r\n\r\n /**\r\n * Handles input events from the inner textarea and relays them as a custom change event on the host.\r\n * Stops propagation to prevent duplicate input events from bubbling up.\r\n * @param evt The InputEvent from the inner textarea\r\n */\r\n /* istanbul ignore next */\r\n protected onInput(evt: InputEvent) {\r\n evt.stopPropagation();\r\n const changeEvent = DOM.createCustomEvent('change', {\r\n bubbles: true,\r\n cancelable: true,\r\n detail: evt,\r\n });\r\n\r\n this.element.dispatchEvent(changeEvent);\r\n }\r\n\r\n //#endregion\r\n}\r\n"],"names":["__webpack_exports__","IaPercentage","element","_this","this","id","resources_utilities_insecure_guid__WEBPACK_IMPORTED_MODULE_3__","Tk","disabled","required","label","focusme","mask","defaultMask","alias","min","max","autoUnmask","allowMinus","onKeyDown","event","buffer","caretPos","opts","percentageKeyDown","percentageInputSelected","isFinite","key","cursorPos","findIndex","x","radixPoint","iaPercentageInput","inputmask","setValue","setSelectionRange","percentageFocused","preventDefault","setMaskDefaults","prototype","attached","addEventListener","focusAndSelectPercentage","detached","removeEventListener","maskChanged","focusmeChanged","focus","setTimeout","select","inputChanged","evt","stopPropagation","changeEvent","aurelia_pal__WEBPACK_IMPORTED_MODULE_0__","dv","createCustomEvent","bubbles","cancelable","detail","dispatchEvent","inputEvent","inputVal","unmaskedvalue","value","lodash_defaultsDeep__WEBPACK_IMPORTED_MODULE_4___default","inject","Element","__decorate","aurelia_typed_observable_plugin__WEBPACK_IMPORTED_MODULE_2__","_t","defaultBindingMode","aurelia_framework__WEBPACK_IMPORTED_MODULE_1__","bindingMode","twoWay","booleanAttr","customElement","HTMLElement","_a","Object","ia_select_table","btn","btnFlat","btnSubmit","btnDelete","btnLink","btnInlineTextLink","btnFooter","btnFooterSubmit","btnFooterCancel","btnFooterDelete","btnQceDropdown","btnFooterCombo","btnLmiBicalc","btnLmiRisk","btnLmiPolicyComparison","btnLmiPolicyCoach","btnAndrewNock","btnConstructionCostConsultants","btn5Star","btnThermoscan","btnRiskSurveyServices","btnRiskManagement","btnLmiBicalcDisabled","btnLmiRiskDisabled","btnLmiPolicyComparisonDisabled","btnInitialInsuredLocationRisk","btnIcon","badgePop","btnIconNoBorder","btnIconTask","btnIconDocument","btnIconAdd","btnAddRisk","btnIconClose","btnIconDelete","btnIconDownload","btnIconEdit","btnIconEmail","btnIconDownloadEmail","btnIconEye","btnIconEyeSlash","btnIconFolder","btnIconFolderLocked","btnIconFolderLockedActive","btnIconHistory","btnIconInfo","btnIconLink","btnIconUnlink","btnIconMap","btnIconMore","btnIconMoveDown","btnIconMoveUp","btnIconOpenInNewWindow","btnIconFavouriteSelected","btnIconFavouriteDeselected","btnIconPreview","btnIconPrePrinted","btnIconPrint","btnIconSave","btnIconSettings","btnIconShowDetails","btnIconShowDetailsAlert","btnIconShowSummary","btnIconAttachment","btnIconTag","btnIconUndo","btnIconSync","btnIconArrowForward","btnAsideCollapse","btnIconExpandMore","btnIconExpandLess","btnIconGeneral","btnIconSales","btnIconBranch","btnIconContact","btnIconConsent","btnIconQuestions","btnIconAssociated","btnIconNotes","btnBack","btnBackToSignIn","btnIconAdvancedSearch","btnWizard","btnWizardBack","btnWizardNext","card","cardContent","cardHeading","controlGroup","labelGroup","labelGroupItem","constrainedWidth","buttonGroup","cardAlert","cardHeadingAlert","cardStatusMessage","cardStatusMessageLeft","cardHeadingStickyHeader","cardHeadingNoIcon","cardHeadingBoldTitle","fieldset","fieldsetInstruction","fieldsetNoPadding","fieldsetAlt","viewPassword","inputSearch","iaCurrencyInput","iaCurrencyNegative","selectMini","requiredLabel","alert","alertImportant","inputLabel","inputToggle","w100","searchInputWrapper","searchInputResults","searchInputResult","searchInputResultHighlighted","dateRangeSelections","dateArrowForward","qceDropdown","qceOr","qceDropdownWithDropdown","qceVehicleRegistrationSearch","rowGap","rowGroup","rowGroupThree","grid14","rowGroupFour","rowGroupAuto","rowGroupThreeAuto","space","displayNoneLg","displayNoneMd","table","tableHeadingRow","tableRow","tableResultRow","breakWord","noWrap","tableResultRowDisabled","tableModal","tableEnhanced","tableNoBorderBottom","height45","editColumn","deleteColumn","dateTableHeading","buttonEdit","buttonDelete","tableRowSelected","tableRowAlert","tableFilterRow","tableFilterRowEndcap","filterColumn","tablePagination","tablePaginationWithFilter","tableButtonGroup","tableChildContainer","tableChildCard","childTableSelectedRow","childTable","customPagination","paginationCount","paginationButton","paginationPrev","paginationNext","paginationDisabled","paginationPrevDisabled","paginationNextDisabled","pagination","paginationTop","paginationBottom","paginationBottomDocuments","tableCellBtnIcon","folderTable","docTableGroupHeading","docTableGroupHeadingOpen","docTableGroupHeadingWithOptions","constrainedWidthFolderName","disableEntity","buttonOptions","buttonOptionsAdd","informationIcon","deletedIcon","exclamationIcon","successIcon","textAlignCenter","wordBreak","btnGroup","accordionContent","toggleCollapse","toggleCollapseDisabled","toggleExpand","folder","folderLocked","yesNoFilterWidth","w5","w10","w15","w20","w25","w30","w35","w40","w45","w50","w60","tableStickyHeader","tableStickyFooter","tableStickyColumn","tableStickyColumn2","tableStickyColumnRight","scrollableTableContainer","dropdownWrapper","dropdownGrid","selected","noResultsRow","IaSelectTable","insecure_guid","columns","placeholder","noValuesPlaceholder","searchable","values","filters","keys","onClickAttached","open","rowEls","search","selectedRowIndex","styles","viewable","inputValue","outsideClickHandler","target","dropdownEl","contains","inputElement","closeDropdown","defineProperty","displayKey","String","columnsChanged","filter","c","map","inputValueChanged","newValue","inputKeydownHandler","length","ensureSelectedRowVisible","selectRow","el","tableBodyEl","querySelectorAll","scrollIntoView","block","behavior","clearInput","detachOutsideClick","openDropdown","attachOutsideClick","row","document","native_modules","aurelia_framework","IaSelect","taskQueue","bindingEngine","i18n","resources_utilities_insecure_guid__WEBPACK_IMPORTED_MODULE_4__","allowClear","multiple","selectObject","setFocus","hasPlaceholder","dynamic","keyId","keyLabel","matcher","a","b","translateOptions","optionLabel","optionLabelDependencies","itemSubscriptions","Map","mappedValues","valuesSubscription","observedValues","tr","noValuePlaceholder","initializeSelect2","dispose","disposeItemObservers","$","selectElement","off","select2","bind","valuesChanged","valueChanged","oldValue","queueMicroTask","$select","data","newValueSelect2Id","getOptionLabel","val","trigger","disabledChanged","prop","newValues","oldValues","setupValuesObserver","rebuildMappedValues","optionLabelDependenciesChanged","setupItemObservers","option","undefined","onInputChanged","aurelia_framework__WEBPACK_IMPORTED_MODULE_0__","DOM","_c","__values","_d","next","done","propertySubscriptions","_e","e_2","_f","clear","getObservedItemProperties","item","Array","isArray","property","trim","split","select2Config","text","typedId","source","width","__spreadArray","__read","on","e","originalEvent","selectedId","params","find","v","notice","Event","one","ev","altKey","prevAll","first","nextAll","splice","push","apply","Boolean","_b","remove","Option","append","nextItems","Set","has","_g","e_5","_h","delete","observedProperties","this_1","nextProperties","get","set","propertySubscriptions_1","e_7","propertySubscriptions_1_1","_l","sub","nextProperties_1","e_8","nextProperties_1_1","propertyObserver","subscribe","size","nextItems_1","nextItems_1_1","collectionObserver","TaskQueue","BindingEngine","aurelia_i18n__WEBPACK_IMPORTED_MODULE_1__","I18N","oneTime","resources_decorators_debounce_decorator__WEBPACK_IMPORTED_MODULE_3__","s","leading","maxWait","HTMLSelectElement","IaTextarea","resources_utilities_insecure_guid__WEBPACK_IMPORTED_MODULE_1__","maxlength","onBlur","onInput","bindable"],"sourceRoot":""}