@symphony-talent/component-library 4.179.0 → 4.181.0

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.
Files changed (47) hide show
  1. package/esm2020/lib/atoms/atoms.module.mjs +5 -1
  2. package/esm2020/lib/atoms/input-search-checkbox-dropdown/input-search-checkbox-dropdown.component.mjs +6 -4
  3. package/esm2020/lib/atoms/input-textarea-with-send/input-textarea-with-send.component.mjs +156 -0
  4. package/esm2020/lib/atoms/input-textarea-with-send/input-textarea-with-send.module.mjs +36 -0
  5. package/esm2020/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.component.mjs +172 -0
  6. package/esm2020/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.model.mjs +2 -0
  7. package/esm2020/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.module.mjs +60 -0
  8. package/esm2020/lib/organisms/ai-search-assistant-drawer/pipes/new-line-to-br.pipe.mjs +22 -0
  9. package/esm2020/lib/organisms/organisms.module.mjs +12 -4
  10. package/esm2020/projects/component-library/lib/atoms/atoms.module.mjs +5 -1
  11. package/esm2020/projects/component-library/lib/atoms/input-search-checkbox-dropdown/input-search-checkbox-dropdown.component.mjs +6 -4
  12. package/esm2020/projects/component-library/lib/atoms/input-textarea-with-send/input-textarea-with-send.component.mjs +156 -0
  13. package/esm2020/projects/component-library/lib/atoms/input-textarea-with-send/input-textarea-with-send.module.mjs +36 -0
  14. package/esm2020/projects/component-library/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.component.mjs +172 -0
  15. package/esm2020/projects/component-library/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.model.mjs +2 -0
  16. package/esm2020/projects/component-library/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.module.mjs +60 -0
  17. package/esm2020/projects/component-library/lib/organisms/ai-search-assistant-drawer/pipes/new-line-to-br.pipe.mjs +22 -0
  18. package/esm2020/projects/component-library/lib/organisms/organisms.module.mjs +12 -4
  19. package/esm2020/projects/component-library/public-api.mjs +6 -1
  20. package/esm2020/public-api.mjs +6 -1
  21. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs +428 -9
  22. package/fesm2015/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  23. package/fesm2015/symphony-talent-component-library.mjs +428 -9
  24. package/fesm2015/symphony-talent-component-library.mjs.map +1 -1
  25. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs +425 -9
  26. package/fesm2020/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
  27. package/fesm2020/symphony-talent-component-library.mjs +425 -9
  28. package/fesm2020/symphony-talent-component-library.mjs.map +1 -1
  29. package/lib/atoms/atoms.module.d.ts +13 -12
  30. package/lib/atoms/input-textarea-with-send/input-textarea-with-send.component.d.ts +38 -0
  31. package/lib/atoms/input-textarea-with-send/input-textarea-with-send.module.d.ts +10 -0
  32. package/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.component.d.ts +39 -0
  33. package/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.model.d.ts +53 -0
  34. package/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.module.d.ts +16 -0
  35. package/lib/organisms/ai-search-assistant-drawer/pipes/new-line-to-br.pipe.d.ts +7 -0
  36. package/lib/organisms/organisms.module.d.ts +2 -1
  37. package/package.json +1 -1
  38. package/projects/component-library/lib/atoms/atoms.module.d.ts +13 -12
  39. package/projects/component-library/lib/atoms/input-textarea-with-send/input-textarea-with-send.component.d.ts +38 -0
  40. package/projects/component-library/lib/atoms/input-textarea-with-send/input-textarea-with-send.module.d.ts +10 -0
  41. package/projects/component-library/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.component.d.ts +39 -0
  42. package/projects/component-library/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.model.d.ts +53 -0
  43. package/projects/component-library/lib/organisms/ai-search-assistant-drawer/ai-search-assistant-drawer.module.d.ts +16 -0
  44. package/projects/component-library/lib/organisms/ai-search-assistant-drawer/pipes/new-line-to-br.pipe.d.ts +7 -0
  45. package/projects/component-library/lib/organisms/organisms.module.d.ts +2 -1
  46. package/projects/component-library/public-api.d.ts +5 -0
  47. package/public-api.d.ts +5 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, NgModule, EventEmitter, Output, Pipe, Injectable, ViewEncapsulation, ViewChild, HostListener } from '@angular/core';
2
+ import { Component, Input, NgModule, EventEmitter, Output, Pipe, Injectable, ViewEncapsulation, ViewChild, forwardRef, HostListener } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { SlicePipe, CommonModule, DecimalPipe } from '@angular/common';
5
5
  import * as i1$1 from 'ngx-bootstrap/dropdown';
@@ -12,7 +12,7 @@ import { AgGridModule } from 'ag-grid-angular';
12
12
  import { BrowserModule } from '@angular/platform-browser';
13
13
  import { LicenseManager } from 'ag-grid-enterprise';
14
14
  import * as i1$4 from '@angular/forms';
15
- import { FormsModule, ReactiveFormsModule, FormControl } from '@angular/forms';
15
+ import { FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR, FormControl } from '@angular/forms';
16
16
  import { Subject, timer } from 'rxjs';
17
17
  import { debounceTime, delay } from 'rxjs/operators';
18
18
  import * as i3 from 'ngx-bootstrap/popover';
@@ -1969,6 +1969,185 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
1969
1969
  }]
1970
1970
  }] });
1971
1971
 
1972
+ class InputTextareaWithSendComponent {
1973
+ constructor() {
1974
+ this.placeholder = 'Type your message...';
1975
+ this.isDisabled = false;
1976
+ this.showCharacterCount = false;
1977
+ this.minRows = 1;
1978
+ this.maxRows = 6;
1979
+ this.sendButtonIcon = 'si-arrow-next';
1980
+ this.sendButtonAriaLabel = 'Send message';
1981
+ this.autoResize = true;
1982
+ this.sendClicked = new EventEmitter();
1983
+ this.enterPressed = new EventEmitter();
1984
+ this.valueChanged = new EventEmitter();
1985
+ this.value = '';
1986
+ this.currentRows = 1;
1987
+ this.onChange = (value) => { };
1988
+ this.onTouched = () => { };
1989
+ }
1990
+ ngAfterViewInit() {
1991
+ if (this.autoResize) {
1992
+ this.adjustTextareaHeight();
1993
+ }
1994
+ }
1995
+ // ControlValueAccessor implementation
1996
+ writeValue(value) {
1997
+ this.value = value || '';
1998
+ if (this.autoResize) {
1999
+ setTimeout(() => this.adjustTextareaHeight(), 0);
2000
+ }
2001
+ }
2002
+ registerOnChange(fn) {
2003
+ this.onChange = fn;
2004
+ }
2005
+ registerOnTouched(fn) {
2006
+ this.onTouched = fn;
2007
+ }
2008
+ setDisabledState(isDisabled) {
2009
+ this.isDisabled = isDisabled;
2010
+ }
2011
+ onInputChange(event) {
2012
+ const target = event.target;
2013
+ this.value = target.value;
2014
+ this.onChange(this.value);
2015
+ this.valueChanged.emit(this.value);
2016
+ if (this.autoResize) {
2017
+ this.adjustTextareaHeight();
2018
+ }
2019
+ }
2020
+ onInputKeyPress(event) {
2021
+ if (event.key === 'Enter' && !event.shiftKey) {
2022
+ event.preventDefault();
2023
+ if (this.canSend()) {
2024
+ this.onSendClick();
2025
+ }
2026
+ }
2027
+ }
2028
+ onSendClick() {
2029
+ if (this.canSend()) {
2030
+ this.sendClicked.emit(this.value);
2031
+ this.enterPressed.emit(this.value);
2032
+ }
2033
+ }
2034
+ adjustTextareaHeight() {
2035
+ if (!this.textareaElement)
2036
+ return;
2037
+ const textarea = this.textareaElement.nativeElement;
2038
+ // Reset height to auto to get the scroll height
2039
+ textarea.style.height = 'auto';
2040
+ // Calculate the number of lines
2041
+ const lineHeight = 24; // Base line height in pixels
2042
+ const padding = 16; // Top + bottom padding
2043
+ const minHeight = this.minRows * lineHeight + padding;
2044
+ const maxHeight = this.maxRows * lineHeight + padding;
2045
+ let newHeight = Math.max(textarea.scrollHeight, minHeight);
2046
+ newHeight = Math.min(newHeight, maxHeight);
2047
+ textarea.style.height = newHeight + 'px';
2048
+ // Update current rows for styling purposes
2049
+ this.currentRows = Math.ceil((newHeight - padding) / lineHeight);
2050
+ }
2051
+ canSend() {
2052
+ const trimmedValue = this.value?.trim();
2053
+ const hasValue = !!trimmedValue;
2054
+ const withinLimit = !this.maxCharacterLimit || this.value.length <= this.maxCharacterLimit;
2055
+ return !this.isDisabled && hasValue && withinLimit;
2056
+ }
2057
+ getCharacterCount() {
2058
+ return this.value?.length || 0;
2059
+ }
2060
+ isCharacterLimitExceeded() {
2061
+ return !!this.maxCharacterLimit && this.getCharacterCount() > this.maxCharacterLimit;
2062
+ }
2063
+ focus() {
2064
+ if (this.textareaElement) {
2065
+ this.textareaElement.nativeElement.focus();
2066
+ }
2067
+ }
2068
+ clear() {
2069
+ this.value = '';
2070
+ this.onChange('');
2071
+ this.valueChanged.emit('');
2072
+ if (this.autoResize) {
2073
+ setTimeout(() => this.adjustTextareaHeight(), 0);
2074
+ }
2075
+ }
2076
+ }
2077
+ InputTextareaWithSendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputTextareaWithSendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2078
+ InputTextareaWithSendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: InputTextareaWithSendComponent, selector: "symphony-input-textarea-with-send", inputs: { placeholder: "placeholder", isDisabled: "isDisabled", maxCharacterLimit: "maxCharacterLimit", showCharacterCount: "showCharacterCount", minRows: "minRows", maxRows: "maxRows", sendButtonIcon: "sendButtonIcon", sendButtonAriaLabel: "sendButtonAriaLabel", autoResize: "autoResize" }, outputs: { sendClicked: "sendClicked", enterPressed: "enterPressed", valueChanged: "valueChanged" }, providers: [
2079
+ {
2080
+ provide: NG_VALUE_ACCESSOR,
2081
+ useExisting: forwardRef(() => InputTextareaWithSendComponent),
2082
+ multi: true
2083
+ }
2084
+ ], viewQueries: [{ propertyName: "textareaElement", first: true, predicate: ["textareaElement"], descendants: true }], ngImport: i0, template: "<div class=\"input-textarea-with-send-container\">\n <!-- Character Counter -->\n <div \n class=\"character-counter sfx-mb-10\"\n *ngIf=\"showCharacterCount && maxCharacterLimit\">\n <span \n class=\"counter-text\"\n [class.counter-exceeded]=\"isCharacterLimitExceeded()\">\n {{ getCharacterCount() }} / {{ maxCharacterLimit }}\n </span>\n </div>\n\n <!-- Input with Send Button -->\n <div class=\"input-wrapper\">\n <textarea\n #textareaElement\n class=\"textarea-input\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"isDisabled\"\n [maxLength]=\"maxCharacterLimit\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"onInputKeyPress($event)\"\n (blur)=\"onTouched()\"\n rows=\"1\">\n </textarea>\n \n <!-- Send Button -->\n <button\n type=\"button\"\n class=\"send-button\"\n [class.enabled]=\"canSend()\"\n [class.disabled]=\"!canSend()\"\n [disabled]=\"!canSend()\"\n (click)=\"onSendClick()\"\n [attr.aria-label]=\"sendButtonAriaLabel\">\n <symphony-icon [icon]=\"sendButtonIcon\" [size]=\"'10px'\"></symphony-icon>\n </button>\n </div>\n</div> ", styles: [".sfx-p-0{padding:0}.sfx-p-5{padding:.3rem}.sfx-p-10{padding:.625rem}.sfx-p-15{padding:.9375rem}.sfx-p-20{padding:1.25rem}.sfx-p-30{padding:1.875rem}.sfx-pt-0{padding-top:0}.sfx-pt-5{padding-top:.3rem}.sfx-pt-10{padding-top:.625rem}.sfx-pt-15{padding-top:.9375rem}.sfx-pt-20{padding-top:1.25rem}.sfx-pt-25{padding-top:1.5625rem}.sfx-pt-30{padding-top:1.875rem}.sfx-pt-35{padding-top:2.1875rem}.sfx-pt-40{padding-top:2.5rem}.sfx-pt-50{padding-top:3.125rem}.sfx-pb-0{padding-bottom:0}.sfx-pb-5{padding-bottom:.3rem}.sfx-pb-10{padding-bottom:.625rem}.sfx-pb-15{padding-bottom:.9375rem}.sfx-pb-20{padding-bottom:1.25rem}.sfx-pb-25{padding-bottom:1.5625rem}.sfx-pb-30{padding-bottom:1.875rem}.sfx-pb-35{padding-bottom:2.1875rem}.sfx-pb-40{padding-bottom:2.5rem}.sfx-pb-50{padding-bottom:3.125rem}.sfx-pl-0{padding-left:0}.sfx-pl-5{padding-left:.3rem}.sfx-pl-10{padding-left:.625rem}.sfx-pl-15{padding-left:.9375rem}.sfx-pl-20{padding-left:1.25rem}.sfx-pl-25{padding-left:1.5625rem}.sfx-pl-30{padding-left:1.875rem}.sfx-pr-0{padding-right:0}.sfx-pr-5{padding-right:.3rem}.sfx-pr-10{padding-right:.625rem}.sfx-pr-15{padding-right:.9375rem}.sfx-pr-20{padding-right:1.25rem}.sfx-pr-25{padding-right:1.5625rem}.sfx-pr-30{padding-right:1.875rem}.sfx-py-15{padding-left:.9375rem;padding-right:.9375rem}.sfx-py-30{padding-left:1.875rem;padding-right:1.875rem}.sfx-px-0{padding-top:0;padding-bottom:0}.sfx-px-15{padding-top:.9375rem;padding-bottom:.9375rem}.sfx-px-20{padding-top:1.25rem;padding-bottom:1.25rem}.sfx-px-30{padding-top:1.875rem;padding-bottom:1.875rem}.sfx-m-0{margin:0}.sfx-m-5{margin:.3rem}.sfx-m-10{margin:.625rem}.sfx-m-15{margin:.9375rem}.sfx-m-20{margin:1.25rem}.sfx-m-auto{margin:0 auto}.sfx-mt-0{margin-top:0}.sfx-mt-5{margin-top:.3rem}.sfx-mt-10{margin-top:.625rem}.sfx-mt-15{margin-top:.9375rem}.sfx-mt-20{margin-top:1.25rem}.sfx-mt-25{margin-top:1.5625rem}.sfx-mt-30{margin-top:1.875rem}.sfx-mt-40{margin-top:2.5rem}.sfx-mt-80{margin-top:5rem}.sfx-mb-0{margin-bottom:0}.sfx-mb-5{margin-bottom:.3rem}.sfx-mb-10{margin-bottom:.625rem}.sfx-mb-15{margin-bottom:.9375rem}.sfx-mb-20{margin-bottom:1.25rem}.sfx-mb-25{margin-bottom:1.5625rem}.sfx-mb-30{margin-bottom:1.875rem}.sfx-mb-40{margin-bottom:2.5rem}.sfx-mb-50{margin-bottom:3.125rem}.sfx-ml-0{margin-left:0}.sfx-ml-5{margin-left:.3rem}.sfx-ml-10{margin-left:.625rem}.sfx-ml-15{margin-left:.9375rem}.sfx-ml-20{margin-left:1.25rem}.sfx-ml-auto{margin-left:auto}.sfx-mr-0{margin-right:0}.sfx-mr-5{margin-right:.3rem}.sfx-mr-10{margin-right:.625rem}.sfx-mr-15{margin-right:.9375rem}.sfx-mr-20{margin-right:1.25rem}.sfx-mr-25{margin-right:1.5625rem}.sfx-mr-30{margin-right:1.875rem}.sfx-mr-40{margin-right:2.5rem}.input-textarea-with-send-container{width:100%}.character-counter{text-align:right}.character-counter .counter-text{font-size:.75rem;color:#5b6d80}.character-counter .counter-text.counter-exceeded{color:#ac4463;font-weight:500}.input-wrapper{position:relative;display:flex;align-items:flex-end}.input-wrapper .textarea-input{flex:1;width:100%;min-height:52px;max-height:200px;padding:.9375rem 56px .9375rem .9375rem;font-size:.875rem;line-height:1.5rem;font-family:runda,sans-serif;background:#ffffff;border:1px solid #334860;border-radius:4px;resize:none;overflow-y:auto;transition:border-color .2s ease}.input-wrapper .textarea-input::-moz-placeholder{color:#5b6d80}.input-wrapper .textarea-input:-ms-input-placeholder{color:#5b6d80}.input-wrapper .textarea-input::placeholder{color:#5b6d80}.input-wrapper .textarea-input:focus{border-color:#2b8ff3;outline:none}.input-wrapper .textarea-input:disabled{background-color:#f1f2f5;border-color:#c3cbdc;color:#5b6d80;cursor:not-allowed}.input-wrapper .textarea-input::-webkit-scrollbar{width:4px}.input-wrapper .textarea-input::-webkit-scrollbar-track{background:transparent}.input-wrapper .textarea-input::-webkit-scrollbar-thumb{background:#C3CBDC;border-radius:2px}.input-wrapper .textarea-input::-webkit-scrollbar-thumb:hover{background:#5B6D80}.input-wrapper .send-button{position:absolute;right:.625rem;bottom:.625rem;width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;flex-shrink:0}.input-wrapper .send-button.enabled{background-color:#2b8ff3}.input-wrapper .send-button.enabled:hover{background-color:#0d76de;transform:scale(1.05)}.input-wrapper .send-button.enabled:active{transform:scale(.95)}.input-wrapper .send-button.enabled symphony-icon{color:#fff;font-size:16px}.input-wrapper .send-button.disabled{background-color:#d2d8e5;cursor:not-allowed}.input-wrapper .send-button.disabled symphony-icon{color:#5b6d80;font-size:16px}.input-wrapper .send-button symphony-icon{transition:color .2s ease}.input-wrapper .send-button:focus{outline:2px solid #2B8FF3;outline-offset:2px}@media (max-width: 768px){.input-wrapper .textarea-input{min-height:48px;padding:.625rem 50px .625rem .9375rem;font-size:.875rem;line-height:22px}.input-wrapper .send-button{width:32px;height:32px;right:.625rem;bottom:.625rem}.input-wrapper .send-button symphony-icon{font-size:.875rem}}@media (prefers-contrast: high){.textarea-input{border:2px solid #08203E}.textarea-input:focus{border-color:#2b8ff3}.send-button.enabled{border:2px solid #0a5cae}}@media (prefers-reduced-motion: reduce){.textarea-input,.send-button{transition:none}.send-button:hover,.send-button:active{transform:none}}\n"], components: [{ type: IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2085
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputTextareaWithSendComponent, decorators: [{
2086
+ type: Component,
2087
+ args: [{ selector: 'symphony-input-textarea-with-send', providers: [
2088
+ {
2089
+ provide: NG_VALUE_ACCESSOR,
2090
+ useExisting: forwardRef(() => InputTextareaWithSendComponent),
2091
+ multi: true
2092
+ }
2093
+ ], template: "<div class=\"input-textarea-with-send-container\">\n <!-- Character Counter -->\n <div \n class=\"character-counter sfx-mb-10\"\n *ngIf=\"showCharacterCount && maxCharacterLimit\">\n <span \n class=\"counter-text\"\n [class.counter-exceeded]=\"isCharacterLimitExceeded()\">\n {{ getCharacterCount() }} / {{ maxCharacterLimit }}\n </span>\n </div>\n\n <!-- Input with Send Button -->\n <div class=\"input-wrapper\">\n <textarea\n #textareaElement\n class=\"textarea-input\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n [disabled]=\"isDisabled\"\n [maxLength]=\"maxCharacterLimit\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"onInputKeyPress($event)\"\n (blur)=\"onTouched()\"\n rows=\"1\">\n </textarea>\n \n <!-- Send Button -->\n <button\n type=\"button\"\n class=\"send-button\"\n [class.enabled]=\"canSend()\"\n [class.disabled]=\"!canSend()\"\n [disabled]=\"!canSend()\"\n (click)=\"onSendClick()\"\n [attr.aria-label]=\"sendButtonAriaLabel\">\n <symphony-icon [icon]=\"sendButtonIcon\" [size]=\"'10px'\"></symphony-icon>\n </button>\n </div>\n</div> ", styles: [".sfx-p-0{padding:0}.sfx-p-5{padding:.3rem}.sfx-p-10{padding:.625rem}.sfx-p-15{padding:.9375rem}.sfx-p-20{padding:1.25rem}.sfx-p-30{padding:1.875rem}.sfx-pt-0{padding-top:0}.sfx-pt-5{padding-top:.3rem}.sfx-pt-10{padding-top:.625rem}.sfx-pt-15{padding-top:.9375rem}.sfx-pt-20{padding-top:1.25rem}.sfx-pt-25{padding-top:1.5625rem}.sfx-pt-30{padding-top:1.875rem}.sfx-pt-35{padding-top:2.1875rem}.sfx-pt-40{padding-top:2.5rem}.sfx-pt-50{padding-top:3.125rem}.sfx-pb-0{padding-bottom:0}.sfx-pb-5{padding-bottom:.3rem}.sfx-pb-10{padding-bottom:.625rem}.sfx-pb-15{padding-bottom:.9375rem}.sfx-pb-20{padding-bottom:1.25rem}.sfx-pb-25{padding-bottom:1.5625rem}.sfx-pb-30{padding-bottom:1.875rem}.sfx-pb-35{padding-bottom:2.1875rem}.sfx-pb-40{padding-bottom:2.5rem}.sfx-pb-50{padding-bottom:3.125rem}.sfx-pl-0{padding-left:0}.sfx-pl-5{padding-left:.3rem}.sfx-pl-10{padding-left:.625rem}.sfx-pl-15{padding-left:.9375rem}.sfx-pl-20{padding-left:1.25rem}.sfx-pl-25{padding-left:1.5625rem}.sfx-pl-30{padding-left:1.875rem}.sfx-pr-0{padding-right:0}.sfx-pr-5{padding-right:.3rem}.sfx-pr-10{padding-right:.625rem}.sfx-pr-15{padding-right:.9375rem}.sfx-pr-20{padding-right:1.25rem}.sfx-pr-25{padding-right:1.5625rem}.sfx-pr-30{padding-right:1.875rem}.sfx-py-15{padding-left:.9375rem;padding-right:.9375rem}.sfx-py-30{padding-left:1.875rem;padding-right:1.875rem}.sfx-px-0{padding-top:0;padding-bottom:0}.sfx-px-15{padding-top:.9375rem;padding-bottom:.9375rem}.sfx-px-20{padding-top:1.25rem;padding-bottom:1.25rem}.sfx-px-30{padding-top:1.875rem;padding-bottom:1.875rem}.sfx-m-0{margin:0}.sfx-m-5{margin:.3rem}.sfx-m-10{margin:.625rem}.sfx-m-15{margin:.9375rem}.sfx-m-20{margin:1.25rem}.sfx-m-auto{margin:0 auto}.sfx-mt-0{margin-top:0}.sfx-mt-5{margin-top:.3rem}.sfx-mt-10{margin-top:.625rem}.sfx-mt-15{margin-top:.9375rem}.sfx-mt-20{margin-top:1.25rem}.sfx-mt-25{margin-top:1.5625rem}.sfx-mt-30{margin-top:1.875rem}.sfx-mt-40{margin-top:2.5rem}.sfx-mt-80{margin-top:5rem}.sfx-mb-0{margin-bottom:0}.sfx-mb-5{margin-bottom:.3rem}.sfx-mb-10{margin-bottom:.625rem}.sfx-mb-15{margin-bottom:.9375rem}.sfx-mb-20{margin-bottom:1.25rem}.sfx-mb-25{margin-bottom:1.5625rem}.sfx-mb-30{margin-bottom:1.875rem}.sfx-mb-40{margin-bottom:2.5rem}.sfx-mb-50{margin-bottom:3.125rem}.sfx-ml-0{margin-left:0}.sfx-ml-5{margin-left:.3rem}.sfx-ml-10{margin-left:.625rem}.sfx-ml-15{margin-left:.9375rem}.sfx-ml-20{margin-left:1.25rem}.sfx-ml-auto{margin-left:auto}.sfx-mr-0{margin-right:0}.sfx-mr-5{margin-right:.3rem}.sfx-mr-10{margin-right:.625rem}.sfx-mr-15{margin-right:.9375rem}.sfx-mr-20{margin-right:1.25rem}.sfx-mr-25{margin-right:1.5625rem}.sfx-mr-30{margin-right:1.875rem}.sfx-mr-40{margin-right:2.5rem}.input-textarea-with-send-container{width:100%}.character-counter{text-align:right}.character-counter .counter-text{font-size:.75rem;color:#5b6d80}.character-counter .counter-text.counter-exceeded{color:#ac4463;font-weight:500}.input-wrapper{position:relative;display:flex;align-items:flex-end}.input-wrapper .textarea-input{flex:1;width:100%;min-height:52px;max-height:200px;padding:.9375rem 56px .9375rem .9375rem;font-size:.875rem;line-height:1.5rem;font-family:runda,sans-serif;background:#ffffff;border:1px solid #334860;border-radius:4px;resize:none;overflow-y:auto;transition:border-color .2s ease}.input-wrapper .textarea-input::-moz-placeholder{color:#5b6d80}.input-wrapper .textarea-input:-ms-input-placeholder{color:#5b6d80}.input-wrapper .textarea-input::placeholder{color:#5b6d80}.input-wrapper .textarea-input:focus{border-color:#2b8ff3;outline:none}.input-wrapper .textarea-input:disabled{background-color:#f1f2f5;border-color:#c3cbdc;color:#5b6d80;cursor:not-allowed}.input-wrapper .textarea-input::-webkit-scrollbar{width:4px}.input-wrapper .textarea-input::-webkit-scrollbar-track{background:transparent}.input-wrapper .textarea-input::-webkit-scrollbar-thumb{background:#C3CBDC;border-radius:2px}.input-wrapper .textarea-input::-webkit-scrollbar-thumb:hover{background:#5B6D80}.input-wrapper .send-button{position:absolute;right:.625rem;bottom:.625rem;width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10;flex-shrink:0}.input-wrapper .send-button.enabled{background-color:#2b8ff3}.input-wrapper .send-button.enabled:hover{background-color:#0d76de;transform:scale(1.05)}.input-wrapper .send-button.enabled:active{transform:scale(.95)}.input-wrapper .send-button.enabled symphony-icon{color:#fff;font-size:16px}.input-wrapper .send-button.disabled{background-color:#d2d8e5;cursor:not-allowed}.input-wrapper .send-button.disabled symphony-icon{color:#5b6d80;font-size:16px}.input-wrapper .send-button symphony-icon{transition:color .2s ease}.input-wrapper .send-button:focus{outline:2px solid #2B8FF3;outline-offset:2px}@media (max-width: 768px){.input-wrapper .textarea-input{min-height:48px;padding:.625rem 50px .625rem .9375rem;font-size:.875rem;line-height:22px}.input-wrapper .send-button{width:32px;height:32px;right:.625rem;bottom:.625rem}.input-wrapper .send-button symphony-icon{font-size:.875rem}}@media (prefers-contrast: high){.textarea-input{border:2px solid #08203E}.textarea-input:focus{border-color:#2b8ff3}.send-button.enabled{border:2px solid #0a5cae}}@media (prefers-reduced-motion: reduce){.textarea-input,.send-button{transition:none}.send-button:hover,.send-button:active{transform:none}}\n"] }]
2094
+ }], propDecorators: { placeholder: [{
2095
+ type: Input
2096
+ }], isDisabled: [{
2097
+ type: Input
2098
+ }], maxCharacterLimit: [{
2099
+ type: Input
2100
+ }], showCharacterCount: [{
2101
+ type: Input
2102
+ }], minRows: [{
2103
+ type: Input
2104
+ }], maxRows: [{
2105
+ type: Input
2106
+ }], sendButtonIcon: [{
2107
+ type: Input
2108
+ }], sendButtonAriaLabel: [{
2109
+ type: Input
2110
+ }], autoResize: [{
2111
+ type: Input
2112
+ }], sendClicked: [{
2113
+ type: Output
2114
+ }], enterPressed: [{
2115
+ type: Output
2116
+ }], valueChanged: [{
2117
+ type: Output
2118
+ }], textareaElement: [{
2119
+ type: ViewChild,
2120
+ args: ['textareaElement']
2121
+ }] } });
2122
+
2123
+ class InputTextareaWithSendModule {
2124
+ }
2125
+ InputTextareaWithSendModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputTextareaWithSendModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2126
+ InputTextareaWithSendModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputTextareaWithSendModule, declarations: [InputTextareaWithSendComponent], imports: [CommonModule,
2127
+ FormsModule,
2128
+ IconModule], exports: [InputTextareaWithSendComponent] });
2129
+ InputTextareaWithSendModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputTextareaWithSendModule, imports: [[
2130
+ CommonModule,
2131
+ FormsModule,
2132
+ IconModule
2133
+ ]] });
2134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputTextareaWithSendModule, decorators: [{
2135
+ type: NgModule,
2136
+ args: [{
2137
+ declarations: [
2138
+ InputTextareaWithSendComponent
2139
+ ],
2140
+ imports: [
2141
+ CommonModule,
2142
+ FormsModule,
2143
+ IconModule
2144
+ ],
2145
+ exports: [
2146
+ InputTextareaWithSendComponent
2147
+ ]
2148
+ }]
2149
+ }] });
2150
+
1972
2151
  class InputRadioToggleComponent {
1973
2152
  constructor() {
1974
2153
  this.changedValue = new EventEmitter();
@@ -2614,7 +2793,9 @@ class InputSearchCheckboxDropdownComponent {
2614
2793
  if (this.multiSelectSearch.selectedDropdownList) {
2615
2794
  this.multiSelectSearch.searchInput =
2616
2795
  this.multiSelectSearch.selectedDropdownList
2617
- .map((dropdownlist) => this.capitalizeFirstChar.transform(dropdownlist.name))
2796
+ .map((dropdownlist) => this.hasCaptalise
2797
+ ? this.capitalizeFirstChar.transform(dropdownlist.name)
2798
+ : dropdownlist.name)
2618
2799
  .join(', ');
2619
2800
  }
2620
2801
  }
@@ -2640,10 +2821,10 @@ class InputSearchCheckboxDropdownComponent {
2640
2821
  }
2641
2822
  }
2642
2823
  InputSearchCheckboxDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputSearchCheckboxDropdownComponent, deps: [{ token: CapitalizeFirstCharacterPipe }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2643
- InputSearchCheckboxDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: InputSearchCheckboxDropdownComponent, selector: "symphony-input-search-checkbox-dropdown", inputs: { isDisabled: "isDisabled", multiSelectSearch: "multiSelectSearch", enablePlaceHolder: "enablePlaceHolder", scrollHeightPercentage: "scrollHeightPercentage", isLoadingData: "isLoadingData", isLoadingInitialData: "isLoadingInitialData", isInverse: "isInverse", size: "size", disableSearch: "disableSearch", hasCaptalise: "hasCaptalise" }, outputs: { deselectItem: "deselectItem", selectItem: "selectItem", searchInputChange: "searchInputChange", selectionRetain: "selectionRetain", clearAll: "clearAll", conditionCheck: "conditionCheck", createNewItem: "createNewItem", scrollEnd: "scrollEnd", initializeDropdown: "initializeDropdown" }, viewQueries: [{ propertyName: "pop", first: true, predicate: ["pop"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n<div [ngClass]=\"{ 'isInverse': isInverse }\">\n <div\n *ngIf=\"multiSelectSearch.componentHeading\"\n class=\"sfx-filter-label sfx-d-inline-block\"\n >\n <b\n >{{ enablePlaceHolder ? \"\" : multiSelectSearch.componentHeading }}\n <span *ngIf=\"multiSelectSearch.required\" class=\"requiredField\">*</span>\n </b>\n </div>\n <div *ngIf=\"multiSelectSearch.condition\" class=\"sfx-switch-field pull-right\">\n <input\n type=\"radio\"\n id=\"radio-and-{{ conditionSelectionId }}\"\n name=\"radio-and-{{ conditionSelectionId }}\"\n value=\"yes\"\n (click)=\"onConditionClick(' AND ')\"\n [checked]=\"multiSelectSearch.condition === ' AND '\"\n />\n <label class=\"Font400\" for=\"radio-and-{{ conditionSelectionId }}\"\n >and</label\n >\n <input\n type=\"radio\"\n id=\"radio-or-{{ conditionSelectionId }}\"\n name=\"radio-or-{{ conditionSelectionId }}\"\n value=\"yes\"\n (click)=\"onConditionClick(' OR ')\"\n [checked]=\"multiSelectSearch.condition === ' OR '\"\n />\n <label class=\"Font400\" for=\"radio-or-{{ conditionSelectionId }}\">or</label>\n </div>\n <div\n class=\"sfx-custom-dropdown-wrap\"\n [ngClass]=\"{ open: openDropdown }\"\n dropdown\n #dropdown=\"bs-dropdown\"\n (onShown)=\"toggleDropdown()\"\n [insideClick]=\"true\"\n (onHidden)=\"onOkClick(true)\"\n >\n <input\n [ngClass]=\"{ 'invalid-control': isInvalid }\"\n (click)=\"dropdown.isOpen = true\"\n type=\"text\"\n id=\"dropdown-search-{{ multiSelectSearch.componentHeading | trimId}}\"\n [(ngModel)]=\"multiSelectSearch.searchInput\"\n (ngModelChange)=\"onSearchInputChange()\"\n dropdownToggle\n popover=\"{{ popOverText() }}\"\n containerClass=\"sfx-input-popover\"\n triggers=\"\"\n placement=\"top\"\n #pop=\"bs-popover\"\n (mouseenter)=\"showPop()\"\n (mouseleave)=\"onPopMouseLeave()\"\n (focus)=\"onFocusClick(true)\"\n (blur)=\"onFocusClick(false)\"\n class=\"sfx-placeholder\"\n placeholder=\"{{\n enablePlaceHolder ? multiSelectSearch.componentHeading : ''\n }}\"\n autocomplete=\"off\"\n [disabled]=\"isDisabled\"\n [readonly]=\"disableSearch\"\n />\n <symphony-icon *ngIf=\"!disableSearch\" [size]=\"size\" [icon]=\"'si-search-new'\"></symphony-icon>\n <div *dropdownMenu>\n <div class=\"sfx-custom-dropdown\" *ngIf=\"openDropdown\">\n <div *ngIf=\"multiSelectSearch.isSelectAllEnabled\" class=\"sfx-select-all-toggle\">\n <span class=\"sfx-font-bold sfx-mr-10\">Select All</span>\n <symphony-input-toggle\n [isToggled]=\"isAllToggled\"\n [isInverse]=\"false\"\n (toggleClick)=\"onToggleClick($event)\"\n ></symphony-input-toggle>\n </div>\n <!-- Create And Add Tags -->\n <div\n class=\"sfx-create-new-items\"\n *ngIf=\"\n multiSelectSearch.labelCreateNewItems &&\n multiSelectSearch.showCreateNewItems\n \"\n (click)=\"onCreateNewItem()\"\n [ngClass]=\"{\n 'sfx-font-bold': multiSelectSearch.showCreateNewModal\n }\"\n >\n {{ multiSelectSearch.labelCreateNewItems }}\n <span\n class=\"sfx-font-bold\"\n *ngIf=\"!multiSelectSearch.showCreateNewModal\"\n >&nbsp;&apos;\n {{ multiSelectSearch.searchInput | capitalizeFirstCharacter }}&apos;\n </span>\n <i class=\"sfx-icon-Plus sfx-create-new-items-icon\"></i>\n </div>\n <!-- Create And Add Tags ends here -->\n <!-- selected list div -->\n <div\n class=\"sfx-dropdown-selected sfx-custom-scroll\"\n *ngIf=\"multiSelectSearch.selectedDropdownList.length > 0 && !multiSelectSearch.isSelectAllEnabled\"\n >\n <div\n class=\"sfx-d-inline-block\"\n *ngFor=\"let selectedItem of multiSelectSearch.selectedDropdownList\"\n >\n <div\n (click)=\"onDeselectItem(selectedItem); $event.stopPropagation()\"\n class=\"sfx-checkbox sfx-d-inline-block\"\n >\n <input\n type=\"checkbox\"\n checked\n class=\"sfx-checkbox-input\"\n id=\"{{ selectedItem.id }}_{{ selectedItem.name }}\"\n />\n <label\n class=\"Font400\"\n for=\"{{ selectedItem.id }}_{{ selectedItem.name }}\"\n ><span *ngIf=\"hasCaptalise\">{{ selectedItem.name | capitalizeFirstCharacter }}</span><span *ngIf=\"!hasCaptalise\" style=\"white-space: pre\">{{ selectedItem.name }}</span>\n <br />\n <span\n *ngIf=\"selectedItem.additionalInfo\"\n class=\"selected-additional-info\"\n >\n {{ selectedItem.additionalInfo }}</span\n >\n </label>\n </div>\n <div></div>\n </div>\n </div>\n <!-- selected list div ends here -->\n <!-- Search list -->\n <div\n class=\"sfx-dropdown-unselected sfx-custom-scroll\"\n (scroll)=\"scrollHandler($event)\"\n *ngIf=\"multiSelectSearch.searchedDropdownList.length > 0\"\n >\n <div\n id=\"dropdown-triggers-manually\"\n *ngFor=\"\n let filterDropdownOption of multiSelectSearch.searchedDropdownList\n \"\n >\n <div class=\"sfx-checkbox\">\n <input\n type=\"checkbox\"\n id=\"{{ filterDropdownOption.id }}_{{\n filterDropdownOption.name | trimId\n }}\"\n class=\"sfx-checkbox-input\"\n [disabled]=\"multiSelectSearch.hasMaxSelections\"\n (click)=\"\n onSelectItem(filterDropdownOption); $event.stopPropagation()\n \"\n [(ngModel)]=\"filterDropdownOption.isChecked\"\n />\n <label\n class=\"Font400\"\n for=\"{{ filterDropdownOption.id }}_{{\n filterDropdownOption.name | trimId\n }}\"\n ><span *ngIf=\"hasCaptalise\">{{ filterDropdownOption.name | capitalizeFirstCharacter }}</span><span *ngIf=\"!hasCaptalise\" style=\"white-space: pre\">{{ filterDropdownOption.name }}</span>\n <br />\n <span\n *ngIf=\"filterDropdownOption.additionalInfo\"\n class=\"additional-info\"\n >\n {{ filterDropdownOption.additionalInfo }}</span\n >\n </label>\n </div>\n <div></div>\n </div>\n <div>\n <symphony-sfx-loader\n [hidden]=\"!isLoadingData\"\n ></symphony-sfx-loader>\n </div>\n </div>\n <symphony-sfx-loader\n [hidden]=\"!isLoadingInitialData\"\n ></symphony-sfx-loader>\n <!-- search list ends here -->\n <!-- Footer -->\n <div *ngIf=\"openDropdown\" class=\"sfx-filter-item-footer\">\n <button\n type=\"button\"\n class=\"pull-left\"\n [disabled]=\"\n !(\n multiSelectSearch.selectedDropdownList &&\n multiSelectSearch.selectedDropdownList.length > 0\n )\n \"\n (click)=\"onClearAllClick()\"\n >\n Clear All\n </button>\n <a href=\"javascript:;\" (click)=\"onOkClick()\" class=\"pull-right\">OK</a>\n </div>\n <!-- End Footer -->\n </div>\n </div>\n </div>\n <div *ngIf=\"isInvalid\" class=\"error-message\">\n Please select a valid option\n </div>\n</div>", styles: [".sfx-input-popover{word-wrap:break-word;max-width:100%}.sfx-placeholder:-ms-input-placeholder{color:#000}.sfx-placeholder::-moz-placeholder{color:#000}.sfx-placeholder::placeholder{color:#000}.requiredField{color:#000}.error-message{color:#ac4463}.invalid-control{border:1px solid #AC4463!important}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input~label{color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{border:2px solid #000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:checked~label:before{border-bottom:2px solid #000;border-right:2px solid #000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:checked~label:after{background-color:#fff;border:2px solid #000}.sfx-custom-dropdown-wrap{position:relative;padding:.3rem;width:100%}.sfx-custom-dropdown-wrap input{width:100%;border:1px solid #d0d0d0;height:40px;border-radius:4px;background:#fff;color:#000;outline:none;padding-left:.9375rem;padding-right:1.875rem;line-height:25px}.sfx-custom-dropdown-wrap symphony-icon{right:17px;bottom:13px;position:absolute;color:#000;z-index:2}.sfx-custom-dropdown-wrap .sfx-custom-dropdown{background:#fff;position:absolute;width:100%;z-index:4;left:0;border-width:0px 1px 1px 1px;border-style:solid;border-color:#d9d9d9}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox{margin:0;padding:.625rem 1.25rem}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox:hover{background:#E4E7EF;color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected{border-bottom:1px solid #d9d9d9;padding-bottom:.625rem;padding-top:.625rem;max-height:220px;overflow-y:auto}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover{background:#fff;color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:not(:checked),.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked{position:absolute}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input~label{color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:not(:checked)~label:after{border-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked~label:before{border-bottom-color:#000;border-right-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked~label:after{background-color:#fff;border-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected{padding-bottom:.625rem;padding-top:.625rem;border-bottom:1px solid #d9d9d9;max-height:220px;overflow-y:auto}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-select-all-toggle{padding:15px 20px;border-bottom:1px solid #d9d9d9}.sfx-custom-dropdown-wrap.open{background:#fff}.sfx-custom-dropdown-wrap.open .tree-node-checkbox{height:auto;width:auto}.sfx-custom-dropdown-wrap.open .sfx-create-new-items{padding:.625rem 1.5625rem .625rem 1.25rem;position:relative;border-bottom:1px solid #d0d0d0;cursor:pointer}.sfx-custom-dropdown-wrap.open .sfx-create-new-items .sfx-create-new-items-icon{font-size:.625rem;position:absolute;right:.9375rem;top:.9375rem}.sfx-custom-dropdown-wrap.open input{z-index:2;position:relative;background:#ffffff;color:#000}.sfx-custom-dropdown-wrap.open symphony-icon{color:#000}.sfx-custom-dropdown-wrap.open:after{content:\" \";position:absolute;top:0;left:0;display:inline-block;width:100%;height:100%;z-index:1;border-width:1px 1px 0px 1px;border-style:solid;border-color:#d9d9d9}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar{width:12px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-track,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-track{box-shadow:inset 0 0 3px transparent;border-radius:30px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-thumb,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:30px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-thumb:hover,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-thumb:hover{cursor:pointer}.sfx-filter-item-footer{display:inline-block;width:100%;padding:1.875rem 1.25rem 1.5625rem;font-family:runda,sans-serif;font-weight:500}.sfx-filter-item-footer a{cursor:pointer}.sfx-filter-item-footer button{color:#712ace;background:transparent;border:none;padding:0}.sfx-filter-item-footer button:disabled{opacity:.5;cursor:not-allowed}.sfx-checkbox .sfx-checkbox-input~label{color:#fff}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{border:2px solid #fff}.sfx-checkbox .sfx-checkbox-input:checked~label:before{border-bottom:2px solid #fff;border-right:2px solid #fff}.sfx-checkbox .sfx-checkbox-input:checked~label:after{background-color:#212121;border:2px solid #fff}.sfx-checkbox{margin:10px 0;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sfx-checkbox .sfx-checkbox-input:not(:checked),.sfx-checkbox .sfx-checkbox-input:checked{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.sfx-checkbox .sfx-checkbox-input~label{display:inline-block;position:relative;cursor:pointer;height:100%;line-height:20px;font-size:14px;color:#000;padding-left:36px;font-family:runda,sans-serif;font-weight:400;margin:0;word-break:break-word}.sfx-checkbox .sfx-checkbox-input~label.sfx-font-reg{font-family:runda,sans-serif}.sfx-checkbox .sfx-checkbox-input~label:before{transform:translateZ(0);transition:all 0s ease-in;position:absolute;content:\"\";left:0;border-radius:2px}.sfx-checkbox .sfx-checkbox-input~label:after{position:absolute;content:\"\";left:0;border-radius:2px;top:0}.sfx-checkbox .sfx-checkbox-input~label .additional-info,.sfx-checkbox .sfx-checkbox-input~label .selected-additional-info{font-size:12px;color:#565656}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:before{width:9px;height:15px;border:none;top:1px;left:0;transform:rotate(37deg) scale(.1);transform-origin:100% 100%}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{width:20px;height:20px;border:2px solid #000;z-index:0;border-radius:4px}.sfx-checkbox .sfx-checkbox-input:checked~label:before{top:3px;left:3px;width:6px;height:12px;border-top:0px solid transparent;border-left:0px solid transparent;border-bottom:2px solid #000;border-right:2px solid #000;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotate(37deg) scale(1);transform-origin:100% 100%;border-radius:0}.sfx-checkbox .sfx-checkbox-input:checked~label:after{width:20px;height:20px;background-color:#fff;border:2px solid #000;border-radius:4px}.sfx-checkbox .sfx-checkbox-input:disabled~label{opacity:.3;pointer-events:none}.sfx-checkbox:hover .sfx-checkbox-input~label .additional-info{color:#fff}.sfx-filter-label{font-family:runda,sans-serif;font-weight:500;margin-bottom:.3rem;padding-left:.3rem;line-height:25px}.isInverse .sfx-custom-dropdown-wrap input{border-color:#5b6d80}\n"], components: [{ type: IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: InputToggleComponent, selector: "symphony-input-toggle", inputs: ["isToggled", "isInverse"], outputs: ["toggleClick"] }, { type: SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle", "message", "hasCustomMessage"] }], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.BsDropdownDirective, selector: "[bsDropdown],[dropdown]", inputs: ["autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen", "placement", "triggers", "container", "dropup"], outputs: ["onShown", "onHidden", "isOpenChange"], exportAs: ["bs-dropdown"] }, { type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$1.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.PopoverDirective, selector: "[popover]", inputs: ["outsideClick", "containerClass", "isOpen", "adaptivePosition", "popover", "popoverContext", "popoverTitle", "placement", "triggers", "container", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { type: i1$1.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }], pipes: { "trimId": TrimIdPipe, "capitalizeFirstCharacter": CapitalizeFirstCharacterPipe } });
2824
+ InputSearchCheckboxDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: InputSearchCheckboxDropdownComponent, selector: "symphony-input-search-checkbox-dropdown", inputs: { isDisabled: "isDisabled", multiSelectSearch: "multiSelectSearch", enablePlaceHolder: "enablePlaceHolder", scrollHeightPercentage: "scrollHeightPercentage", isLoadingData: "isLoadingData", isLoadingInitialData: "isLoadingInitialData", isInverse: "isInverse", size: "size", disableSearch: "disableSearch", hasCaptalise: "hasCaptalise" }, outputs: { deselectItem: "deselectItem", selectItem: "selectItem", searchInputChange: "searchInputChange", selectionRetain: "selectionRetain", clearAll: "clearAll", conditionCheck: "conditionCheck", createNewItem: "createNewItem", scrollEnd: "scrollEnd", initializeDropdown: "initializeDropdown" }, viewQueries: [{ propertyName: "pop", first: true, predicate: ["pop"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n<div [ngClass]=\"{ 'isInverse': isInverse }\">\n <div\n *ngIf=\"multiSelectSearch.componentHeading\"\n class=\"sfx-filter-label sfx-d-inline-block\"\n >\n <b\n >{{ enablePlaceHolder ? \"\" : multiSelectSearch.componentHeading }}\n <span *ngIf=\"multiSelectSearch.required\" class=\"requiredField\">*</span>\n </b>\n </div>\n <div *ngIf=\"multiSelectSearch.condition\" class=\"sfx-switch-field pull-right\">\n <input\n type=\"radio\"\n id=\"radio-and-{{ conditionSelectionId }}\"\n name=\"radio-and-{{ conditionSelectionId }}\"\n value=\"yes\"\n (click)=\"onConditionClick(' AND ')\"\n [checked]=\"multiSelectSearch.condition === ' AND '\"\n />\n <label class=\"Font400\" for=\"radio-and-{{ conditionSelectionId }}\"\n >and</label\n >\n <input\n type=\"radio\"\n id=\"radio-or-{{ conditionSelectionId }}\"\n name=\"radio-or-{{ conditionSelectionId }}\"\n value=\"yes\"\n (click)=\"onConditionClick(' OR ')\"\n [checked]=\"multiSelectSearch.condition === ' OR '\"\n />\n <label class=\"Font400\" for=\"radio-or-{{ conditionSelectionId }}\">or</label>\n </div>\n <div\n class=\"sfx-custom-dropdown-wrap\"\n [ngClass]=\"{ open: openDropdown }\"\n dropdown\n #dropdown=\"bs-dropdown\"\n (onShown)=\"toggleDropdown()\"\n [insideClick]=\"true\"\n (onHidden)=\"onOkClick(true)\"\n >\n <input\n [ngClass]=\"{ 'invalid-control': isInvalid }\"\n (click)=\"dropdown.isOpen = true\"\n type=\"text\"\n id=\"dropdown-search-{{ multiSelectSearch.componentHeading | trimId}}\"\n [(ngModel)]=\"multiSelectSearch.searchInput\"\n (ngModelChange)=\"onSearchInputChange()\"\n dropdownToggle\n popover=\"{{ popOverText() }}\"\n containerClass=\"sfx-input-popover\"\n triggers=\"\"\n placement=\"top\"\n #pop=\"bs-popover\"\n (mouseenter)=\"showPop()\"\n (mouseleave)=\"onPopMouseLeave()\"\n (focus)=\"onFocusClick(true)\"\n (blur)=\"onFocusClick(false)\"\n class=\"sfx-placeholder\"\n placeholder=\"{{\n enablePlaceHolder ? multiSelectSearch.componentHeading : ''\n }}\"\n autocomplete=\"off\"\n [disabled]=\"isDisabled\"\n [readonly]=\"disableSearch\"\n />\n <symphony-icon *ngIf=\"!disableSearch\" [size]=\"size\" [icon]=\"'si-search-new'\"></symphony-icon>\n <div *dropdownMenu>\n <div class=\"sfx-custom-dropdown\" *ngIf=\"openDropdown\">\n <div *ngIf=\"multiSelectSearch.isSelectAllEnabled\" class=\"sfx-select-all-toggle\">\n <span class=\"sfx-font-bold sfx-mr-10\">Select All</span>\n <symphony-input-toggle\n [isToggled]=\"isAllToggled\"\n [isInverse]=\"false\"\n (toggleClick)=\"onToggleClick($event)\"\n ></symphony-input-toggle>\n </div>\n <!-- Create And Add Tags -->\n <div\n class=\"sfx-create-new-items\"\n *ngIf=\"\n multiSelectSearch.labelCreateNewItems &&\n multiSelectSearch.showCreateNewItems\n \"\n (click)=\"onCreateNewItem()\"\n [ngClass]=\"{\n 'sfx-font-bold': multiSelectSearch.showCreateNewModal\n }\"\n >\n {{ multiSelectSearch.labelCreateNewItems }}\n <span\n class=\"sfx-font-bold\"\n *ngIf=\"!multiSelectSearch.showCreateNewModal\"\n >&nbsp;&apos;\n <span *ngIf=\"hasCaptalise\"\n >{{ multiSelectSearch.searchInput | capitalizeFirstCharacter }}</span\n ><span *ngIf=\"!hasCaptalise\"\n >{{ multiSelectSearch.searchInput }}</span\n >&apos;\n </span>\n <i class=\"sfx-icon-Plus sfx-create-new-items-icon\"></i>\n </div>\n <!-- Create And Add Tags ends here -->\n <!-- selected list div -->\n <div\n class=\"sfx-dropdown-selected sfx-custom-scroll\"\n *ngIf=\"multiSelectSearch.selectedDropdownList.length > 0 && !multiSelectSearch.isSelectAllEnabled\"\n >\n <div\n class=\"sfx-d-inline-block\"\n *ngFor=\"let selectedItem of multiSelectSearch.selectedDropdownList\"\n >\n <div\n (click)=\"onDeselectItem(selectedItem); $event.stopPropagation()\"\n class=\"sfx-checkbox sfx-d-inline-block\"\n >\n <input\n type=\"checkbox\"\n checked\n class=\"sfx-checkbox-input\"\n id=\"{{ selectedItem.id }}_{{ selectedItem.name }}\"\n />\n <label\n class=\"Font400\"\n for=\"{{ selectedItem.id }}_{{ selectedItem.name }}\"\n ><span *ngIf=\"hasCaptalise\">{{ selectedItem.name | capitalizeFirstCharacter }}</span><span *ngIf=\"!hasCaptalise\" style=\"white-space: pre\">{{ selectedItem.name }}</span>\n <br />\n <span\n *ngIf=\"selectedItem.additionalInfo\"\n class=\"selected-additional-info\"\n >\n {{ selectedItem.additionalInfo }}</span\n >\n </label>\n </div>\n <div></div>\n </div>\n </div>\n <!-- selected list div ends here -->\n <!-- Search list -->\n <div\n class=\"sfx-dropdown-unselected sfx-custom-scroll\"\n (scroll)=\"scrollHandler($event)\"\n *ngIf=\"multiSelectSearch.searchedDropdownList.length > 0\"\n >\n <div\n id=\"dropdown-triggers-manually\"\n *ngFor=\"\n let filterDropdownOption of multiSelectSearch.searchedDropdownList\n \"\n >\n <div class=\"sfx-checkbox\">\n <input\n type=\"checkbox\"\n id=\"{{ filterDropdownOption.id }}_{{\n filterDropdownOption.name | trimId\n }}\"\n class=\"sfx-checkbox-input\"\n [disabled]=\"multiSelectSearch.hasMaxSelections\"\n (click)=\"\n onSelectItem(filterDropdownOption); $event.stopPropagation()\n \"\n [(ngModel)]=\"filterDropdownOption.isChecked\"\n />\n <label\n class=\"Font400\"\n for=\"{{ filterDropdownOption.id }}_{{\n filterDropdownOption.name | trimId\n }}\"\n ><span *ngIf=\"hasCaptalise\">{{ filterDropdownOption.name | capitalizeFirstCharacter }}</span><span *ngIf=\"!hasCaptalise\" style=\"white-space: pre\">{{ filterDropdownOption.name }}</span>\n <br />\n <span\n *ngIf=\"filterDropdownOption.additionalInfo\"\n class=\"additional-info\"\n >\n {{ filterDropdownOption.additionalInfo }}</span\n >\n </label>\n </div>\n <div></div>\n </div>\n <div>\n <symphony-sfx-loader\n [hidden]=\"!isLoadingData\"\n ></symphony-sfx-loader>\n </div>\n </div>\n <symphony-sfx-loader\n [hidden]=\"!isLoadingInitialData\"\n ></symphony-sfx-loader>\n <!-- search list ends here -->\n <!-- Footer -->\n <div *ngIf=\"openDropdown\" class=\"sfx-filter-item-footer\">\n <button\n type=\"button\"\n class=\"pull-left\"\n [disabled]=\"\n !(\n multiSelectSearch.selectedDropdownList &&\n multiSelectSearch.selectedDropdownList.length > 0\n )\n \"\n (click)=\"onClearAllClick()\"\n >\n Clear All\n </button>\n <a href=\"javascript:;\" (click)=\"onOkClick()\" class=\"pull-right\">OK</a>\n </div>\n <!-- End Footer -->\n </div>\n </div>\n </div>\n <div *ngIf=\"isInvalid\" class=\"error-message\">\n Please select a valid option\n </div>\n</div>", styles: [".sfx-input-popover{word-wrap:break-word;max-width:100%}.sfx-placeholder:-ms-input-placeholder{color:#000}.sfx-placeholder::-moz-placeholder{color:#000}.sfx-placeholder::placeholder{color:#000}.requiredField{color:#000}.error-message{color:#ac4463}.invalid-control{border:1px solid #AC4463!important}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input~label{color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{border:2px solid #000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:checked~label:before{border-bottom:2px solid #000;border-right:2px solid #000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:checked~label:after{background-color:#fff;border:2px solid #000}.sfx-custom-dropdown-wrap{position:relative;padding:.3rem;width:100%}.sfx-custom-dropdown-wrap input{width:100%;border:1px solid #d0d0d0;height:40px;border-radius:4px;background:#fff;color:#000;outline:none;padding-left:.9375rem;padding-right:1.875rem;line-height:25px}.sfx-custom-dropdown-wrap symphony-icon{right:17px;bottom:13px;position:absolute;color:#000;z-index:2}.sfx-custom-dropdown-wrap .sfx-custom-dropdown{background:#fff;position:absolute;width:100%;z-index:4;left:0;border-width:0px 1px 1px 1px;border-style:solid;border-color:#d9d9d9}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox{margin:0;padding:.625rem 1.25rem}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox:hover{background:#E4E7EF;color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected{border-bottom:1px solid #d9d9d9;padding-bottom:.625rem;padding-top:.625rem;max-height:220px;overflow-y:auto}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover{background:#fff;color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:not(:checked),.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked{position:absolute}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input~label{color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:not(:checked)~label:after{border-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked~label:before{border-bottom-color:#000;border-right-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked~label:after{background-color:#fff;border-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected{padding-bottom:.625rem;padding-top:.625rem;border-bottom:1px solid #d9d9d9;max-height:220px;overflow-y:auto}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-select-all-toggle{padding:15px 20px;border-bottom:1px solid #d9d9d9}.sfx-custom-dropdown-wrap.open{background:#fff}.sfx-custom-dropdown-wrap.open .tree-node-checkbox{height:auto;width:auto}.sfx-custom-dropdown-wrap.open .sfx-create-new-items{padding:.625rem 1.5625rem .625rem 1.25rem;position:relative;border-bottom:1px solid #d0d0d0;cursor:pointer}.sfx-custom-dropdown-wrap.open .sfx-create-new-items .sfx-create-new-items-icon{font-size:.625rem;position:absolute;right:.9375rem;top:.9375rem}.sfx-custom-dropdown-wrap.open input{z-index:2;position:relative;background:#ffffff;color:#000}.sfx-custom-dropdown-wrap.open symphony-icon{color:#000}.sfx-custom-dropdown-wrap.open:after{content:\" \";position:absolute;top:0;left:0;display:inline-block;width:100%;height:100%;z-index:1;border-width:1px 1px 0px 1px;border-style:solid;border-color:#d9d9d9}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar{width:12px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-track,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-track{box-shadow:inset 0 0 3px transparent;border-radius:30px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-thumb,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:30px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-thumb:hover,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-thumb:hover{cursor:pointer}.sfx-filter-item-footer{display:inline-block;width:100%;padding:1.875rem 1.25rem 1.5625rem;font-family:runda,sans-serif;font-weight:500}.sfx-filter-item-footer a{cursor:pointer}.sfx-filter-item-footer button{color:#712ace;background:transparent;border:none;padding:0}.sfx-filter-item-footer button:disabled{opacity:.5;cursor:not-allowed}.sfx-checkbox .sfx-checkbox-input~label{color:#fff}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{border:2px solid #fff}.sfx-checkbox .sfx-checkbox-input:checked~label:before{border-bottom:2px solid #fff;border-right:2px solid #fff}.sfx-checkbox .sfx-checkbox-input:checked~label:after{background-color:#212121;border:2px solid #fff}.sfx-checkbox{margin:10px 0;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sfx-checkbox .sfx-checkbox-input:not(:checked),.sfx-checkbox .sfx-checkbox-input:checked{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.sfx-checkbox .sfx-checkbox-input~label{display:inline-block;position:relative;cursor:pointer;height:100%;line-height:20px;font-size:14px;color:#000;padding-left:36px;font-family:runda,sans-serif;font-weight:400;margin:0;word-break:break-word}.sfx-checkbox .sfx-checkbox-input~label.sfx-font-reg{font-family:runda,sans-serif}.sfx-checkbox .sfx-checkbox-input~label:before{transform:translateZ(0);transition:all 0s ease-in;position:absolute;content:\"\";left:0;border-radius:2px}.sfx-checkbox .sfx-checkbox-input~label:after{position:absolute;content:\"\";left:0;border-radius:2px;top:0}.sfx-checkbox .sfx-checkbox-input~label .additional-info,.sfx-checkbox .sfx-checkbox-input~label .selected-additional-info{font-size:12px;color:#565656}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:before{width:9px;height:15px;border:none;top:1px;left:0;transform:rotate(37deg) scale(.1);transform-origin:100% 100%}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{width:20px;height:20px;border:2px solid #000;z-index:0;border-radius:4px}.sfx-checkbox .sfx-checkbox-input:checked~label:before{top:3px;left:3px;width:6px;height:12px;border-top:0px solid transparent;border-left:0px solid transparent;border-bottom:2px solid #000;border-right:2px solid #000;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotate(37deg) scale(1);transform-origin:100% 100%;border-radius:0}.sfx-checkbox .sfx-checkbox-input:checked~label:after{width:20px;height:20px;background-color:#fff;border:2px solid #000;border-radius:4px}.sfx-checkbox .sfx-checkbox-input:disabled~label{opacity:.3;pointer-events:none}.sfx-checkbox:hover .sfx-checkbox-input~label .additional-info{color:#fff}.sfx-filter-label{font-family:runda,sans-serif;font-weight:500;margin-bottom:.3rem;padding-left:.3rem;line-height:25px}.isInverse .sfx-custom-dropdown-wrap input{border-color:#5b6d80}\n"], components: [{ type: IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: InputToggleComponent, selector: "symphony-input-toggle", inputs: ["isToggled", "isInverse"], outputs: ["toggleClick"] }, { type: SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle", "message", "hasCustomMessage"] }], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.BsDropdownDirective, selector: "[bsDropdown],[dropdown]", inputs: ["autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen", "placement", "triggers", "container", "dropup"], outputs: ["onShown", "onHidden", "isOpenChange"], exportAs: ["bs-dropdown"] }, { type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1$1.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.PopoverDirective, selector: "[popover]", inputs: ["outsideClick", "containerClass", "isOpen", "adaptivePosition", "popover", "popoverContext", "popoverTitle", "placement", "triggers", "container", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { type: i1$1.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }], pipes: { "trimId": TrimIdPipe, "capitalizeFirstCharacter": CapitalizeFirstCharacterPipe } });
2644
2825
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: InputSearchCheckboxDropdownComponent, decorators: [{
2645
2826
  type: Component,
2646
- args: [{ selector: 'symphony-input-search-checkbox-dropdown', template: "\n<div [ngClass]=\"{ 'isInverse': isInverse }\">\n <div\n *ngIf=\"multiSelectSearch.componentHeading\"\n class=\"sfx-filter-label sfx-d-inline-block\"\n >\n <b\n >{{ enablePlaceHolder ? \"\" : multiSelectSearch.componentHeading }}\n <span *ngIf=\"multiSelectSearch.required\" class=\"requiredField\">*</span>\n </b>\n </div>\n <div *ngIf=\"multiSelectSearch.condition\" class=\"sfx-switch-field pull-right\">\n <input\n type=\"radio\"\n id=\"radio-and-{{ conditionSelectionId }}\"\n name=\"radio-and-{{ conditionSelectionId }}\"\n value=\"yes\"\n (click)=\"onConditionClick(' AND ')\"\n [checked]=\"multiSelectSearch.condition === ' AND '\"\n />\n <label class=\"Font400\" for=\"radio-and-{{ conditionSelectionId }}\"\n >and</label\n >\n <input\n type=\"radio\"\n id=\"radio-or-{{ conditionSelectionId }}\"\n name=\"radio-or-{{ conditionSelectionId }}\"\n value=\"yes\"\n (click)=\"onConditionClick(' OR ')\"\n [checked]=\"multiSelectSearch.condition === ' OR '\"\n />\n <label class=\"Font400\" for=\"radio-or-{{ conditionSelectionId }}\">or</label>\n </div>\n <div\n class=\"sfx-custom-dropdown-wrap\"\n [ngClass]=\"{ open: openDropdown }\"\n dropdown\n #dropdown=\"bs-dropdown\"\n (onShown)=\"toggleDropdown()\"\n [insideClick]=\"true\"\n (onHidden)=\"onOkClick(true)\"\n >\n <input\n [ngClass]=\"{ 'invalid-control': isInvalid }\"\n (click)=\"dropdown.isOpen = true\"\n type=\"text\"\n id=\"dropdown-search-{{ multiSelectSearch.componentHeading | trimId}}\"\n [(ngModel)]=\"multiSelectSearch.searchInput\"\n (ngModelChange)=\"onSearchInputChange()\"\n dropdownToggle\n popover=\"{{ popOverText() }}\"\n containerClass=\"sfx-input-popover\"\n triggers=\"\"\n placement=\"top\"\n #pop=\"bs-popover\"\n (mouseenter)=\"showPop()\"\n (mouseleave)=\"onPopMouseLeave()\"\n (focus)=\"onFocusClick(true)\"\n (blur)=\"onFocusClick(false)\"\n class=\"sfx-placeholder\"\n placeholder=\"{{\n enablePlaceHolder ? multiSelectSearch.componentHeading : ''\n }}\"\n autocomplete=\"off\"\n [disabled]=\"isDisabled\"\n [readonly]=\"disableSearch\"\n />\n <symphony-icon *ngIf=\"!disableSearch\" [size]=\"size\" [icon]=\"'si-search-new'\"></symphony-icon>\n <div *dropdownMenu>\n <div class=\"sfx-custom-dropdown\" *ngIf=\"openDropdown\">\n <div *ngIf=\"multiSelectSearch.isSelectAllEnabled\" class=\"sfx-select-all-toggle\">\n <span class=\"sfx-font-bold sfx-mr-10\">Select All</span>\n <symphony-input-toggle\n [isToggled]=\"isAllToggled\"\n [isInverse]=\"false\"\n (toggleClick)=\"onToggleClick($event)\"\n ></symphony-input-toggle>\n </div>\n <!-- Create And Add Tags -->\n <div\n class=\"sfx-create-new-items\"\n *ngIf=\"\n multiSelectSearch.labelCreateNewItems &&\n multiSelectSearch.showCreateNewItems\n \"\n (click)=\"onCreateNewItem()\"\n [ngClass]=\"{\n 'sfx-font-bold': multiSelectSearch.showCreateNewModal\n }\"\n >\n {{ multiSelectSearch.labelCreateNewItems }}\n <span\n class=\"sfx-font-bold\"\n *ngIf=\"!multiSelectSearch.showCreateNewModal\"\n >&nbsp;&apos;\n {{ multiSelectSearch.searchInput | capitalizeFirstCharacter }}&apos;\n </span>\n <i class=\"sfx-icon-Plus sfx-create-new-items-icon\"></i>\n </div>\n <!-- Create And Add Tags ends here -->\n <!-- selected list div -->\n <div\n class=\"sfx-dropdown-selected sfx-custom-scroll\"\n *ngIf=\"multiSelectSearch.selectedDropdownList.length > 0 && !multiSelectSearch.isSelectAllEnabled\"\n >\n <div\n class=\"sfx-d-inline-block\"\n *ngFor=\"let selectedItem of multiSelectSearch.selectedDropdownList\"\n >\n <div\n (click)=\"onDeselectItem(selectedItem); $event.stopPropagation()\"\n class=\"sfx-checkbox sfx-d-inline-block\"\n >\n <input\n type=\"checkbox\"\n checked\n class=\"sfx-checkbox-input\"\n id=\"{{ selectedItem.id }}_{{ selectedItem.name }}\"\n />\n <label\n class=\"Font400\"\n for=\"{{ selectedItem.id }}_{{ selectedItem.name }}\"\n ><span *ngIf=\"hasCaptalise\">{{ selectedItem.name | capitalizeFirstCharacter }}</span><span *ngIf=\"!hasCaptalise\" style=\"white-space: pre\">{{ selectedItem.name }}</span>\n <br />\n <span\n *ngIf=\"selectedItem.additionalInfo\"\n class=\"selected-additional-info\"\n >\n {{ selectedItem.additionalInfo }}</span\n >\n </label>\n </div>\n <div></div>\n </div>\n </div>\n <!-- selected list div ends here -->\n <!-- Search list -->\n <div\n class=\"sfx-dropdown-unselected sfx-custom-scroll\"\n (scroll)=\"scrollHandler($event)\"\n *ngIf=\"multiSelectSearch.searchedDropdownList.length > 0\"\n >\n <div\n id=\"dropdown-triggers-manually\"\n *ngFor=\"\n let filterDropdownOption of multiSelectSearch.searchedDropdownList\n \"\n >\n <div class=\"sfx-checkbox\">\n <input\n type=\"checkbox\"\n id=\"{{ filterDropdownOption.id }}_{{\n filterDropdownOption.name | trimId\n }}\"\n class=\"sfx-checkbox-input\"\n [disabled]=\"multiSelectSearch.hasMaxSelections\"\n (click)=\"\n onSelectItem(filterDropdownOption); $event.stopPropagation()\n \"\n [(ngModel)]=\"filterDropdownOption.isChecked\"\n />\n <label\n class=\"Font400\"\n for=\"{{ filterDropdownOption.id }}_{{\n filterDropdownOption.name | trimId\n }}\"\n ><span *ngIf=\"hasCaptalise\">{{ filterDropdownOption.name | capitalizeFirstCharacter }}</span><span *ngIf=\"!hasCaptalise\" style=\"white-space: pre\">{{ filterDropdownOption.name }}</span>\n <br />\n <span\n *ngIf=\"filterDropdownOption.additionalInfo\"\n class=\"additional-info\"\n >\n {{ filterDropdownOption.additionalInfo }}</span\n >\n </label>\n </div>\n <div></div>\n </div>\n <div>\n <symphony-sfx-loader\n [hidden]=\"!isLoadingData\"\n ></symphony-sfx-loader>\n </div>\n </div>\n <symphony-sfx-loader\n [hidden]=\"!isLoadingInitialData\"\n ></symphony-sfx-loader>\n <!-- search list ends here -->\n <!-- Footer -->\n <div *ngIf=\"openDropdown\" class=\"sfx-filter-item-footer\">\n <button\n type=\"button\"\n class=\"pull-left\"\n [disabled]=\"\n !(\n multiSelectSearch.selectedDropdownList &&\n multiSelectSearch.selectedDropdownList.length > 0\n )\n \"\n (click)=\"onClearAllClick()\"\n >\n Clear All\n </button>\n <a href=\"javascript:;\" (click)=\"onOkClick()\" class=\"pull-right\">OK</a>\n </div>\n <!-- End Footer -->\n </div>\n </div>\n </div>\n <div *ngIf=\"isInvalid\" class=\"error-message\">\n Please select a valid option\n </div>\n</div>", styles: [".sfx-input-popover{word-wrap:break-word;max-width:100%}.sfx-placeholder:-ms-input-placeholder{color:#000}.sfx-placeholder::-moz-placeholder{color:#000}.sfx-placeholder::placeholder{color:#000}.requiredField{color:#000}.error-message{color:#ac4463}.invalid-control{border:1px solid #AC4463!important}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input~label{color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{border:2px solid #000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:checked~label:before{border-bottom:2px solid #000;border-right:2px solid #000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:checked~label:after{background-color:#fff;border:2px solid #000}.sfx-custom-dropdown-wrap{position:relative;padding:.3rem;width:100%}.sfx-custom-dropdown-wrap input{width:100%;border:1px solid #d0d0d0;height:40px;border-radius:4px;background:#fff;color:#000;outline:none;padding-left:.9375rem;padding-right:1.875rem;line-height:25px}.sfx-custom-dropdown-wrap symphony-icon{right:17px;bottom:13px;position:absolute;color:#000;z-index:2}.sfx-custom-dropdown-wrap .sfx-custom-dropdown{background:#fff;position:absolute;width:100%;z-index:4;left:0;border-width:0px 1px 1px 1px;border-style:solid;border-color:#d9d9d9}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox{margin:0;padding:.625rem 1.25rem}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox:hover{background:#E4E7EF;color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected{border-bottom:1px solid #d9d9d9;padding-bottom:.625rem;padding-top:.625rem;max-height:220px;overflow-y:auto}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover{background:#fff;color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:not(:checked),.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked{position:absolute}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input~label{color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:not(:checked)~label:after{border-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked~label:before{border-bottom-color:#000;border-right-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked~label:after{background-color:#fff;border-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected{padding-bottom:.625rem;padding-top:.625rem;border-bottom:1px solid #d9d9d9;max-height:220px;overflow-y:auto}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-select-all-toggle{padding:15px 20px;border-bottom:1px solid #d9d9d9}.sfx-custom-dropdown-wrap.open{background:#fff}.sfx-custom-dropdown-wrap.open .tree-node-checkbox{height:auto;width:auto}.sfx-custom-dropdown-wrap.open .sfx-create-new-items{padding:.625rem 1.5625rem .625rem 1.25rem;position:relative;border-bottom:1px solid #d0d0d0;cursor:pointer}.sfx-custom-dropdown-wrap.open .sfx-create-new-items .sfx-create-new-items-icon{font-size:.625rem;position:absolute;right:.9375rem;top:.9375rem}.sfx-custom-dropdown-wrap.open input{z-index:2;position:relative;background:#ffffff;color:#000}.sfx-custom-dropdown-wrap.open symphony-icon{color:#000}.sfx-custom-dropdown-wrap.open:after{content:\" \";position:absolute;top:0;left:0;display:inline-block;width:100%;height:100%;z-index:1;border-width:1px 1px 0px 1px;border-style:solid;border-color:#d9d9d9}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar{width:12px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-track,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-track{box-shadow:inset 0 0 3px transparent;border-radius:30px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-thumb,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:30px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-thumb:hover,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-thumb:hover{cursor:pointer}.sfx-filter-item-footer{display:inline-block;width:100%;padding:1.875rem 1.25rem 1.5625rem;font-family:runda,sans-serif;font-weight:500}.sfx-filter-item-footer a{cursor:pointer}.sfx-filter-item-footer button{color:#712ace;background:transparent;border:none;padding:0}.sfx-filter-item-footer button:disabled{opacity:.5;cursor:not-allowed}.sfx-checkbox .sfx-checkbox-input~label{color:#fff}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{border:2px solid #fff}.sfx-checkbox .sfx-checkbox-input:checked~label:before{border-bottom:2px solid #fff;border-right:2px solid #fff}.sfx-checkbox .sfx-checkbox-input:checked~label:after{background-color:#212121;border:2px solid #fff}.sfx-checkbox{margin:10px 0;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sfx-checkbox .sfx-checkbox-input:not(:checked),.sfx-checkbox .sfx-checkbox-input:checked{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.sfx-checkbox .sfx-checkbox-input~label{display:inline-block;position:relative;cursor:pointer;height:100%;line-height:20px;font-size:14px;color:#000;padding-left:36px;font-family:runda,sans-serif;font-weight:400;margin:0;word-break:break-word}.sfx-checkbox .sfx-checkbox-input~label.sfx-font-reg{font-family:runda,sans-serif}.sfx-checkbox .sfx-checkbox-input~label:before{transform:translateZ(0);transition:all 0s ease-in;position:absolute;content:\"\";left:0;border-radius:2px}.sfx-checkbox .sfx-checkbox-input~label:after{position:absolute;content:\"\";left:0;border-radius:2px;top:0}.sfx-checkbox .sfx-checkbox-input~label .additional-info,.sfx-checkbox .sfx-checkbox-input~label .selected-additional-info{font-size:12px;color:#565656}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:before{width:9px;height:15px;border:none;top:1px;left:0;transform:rotate(37deg) scale(.1);transform-origin:100% 100%}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{width:20px;height:20px;border:2px solid #000;z-index:0;border-radius:4px}.sfx-checkbox .sfx-checkbox-input:checked~label:before{top:3px;left:3px;width:6px;height:12px;border-top:0px solid transparent;border-left:0px solid transparent;border-bottom:2px solid #000;border-right:2px solid #000;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotate(37deg) scale(1);transform-origin:100% 100%;border-radius:0}.sfx-checkbox .sfx-checkbox-input:checked~label:after{width:20px;height:20px;background-color:#fff;border:2px solid #000;border-radius:4px}.sfx-checkbox .sfx-checkbox-input:disabled~label{opacity:.3;pointer-events:none}.sfx-checkbox:hover .sfx-checkbox-input~label .additional-info{color:#fff}.sfx-filter-label{font-family:runda,sans-serif;font-weight:500;margin-bottom:.3rem;padding-left:.3rem;line-height:25px}.isInverse .sfx-custom-dropdown-wrap input{border-color:#5b6d80}\n"] }]
2827
+ args: [{ selector: 'symphony-input-search-checkbox-dropdown', template: "\n<div [ngClass]=\"{ 'isInverse': isInverse }\">\n <div\n *ngIf=\"multiSelectSearch.componentHeading\"\n class=\"sfx-filter-label sfx-d-inline-block\"\n >\n <b\n >{{ enablePlaceHolder ? \"\" : multiSelectSearch.componentHeading }}\n <span *ngIf=\"multiSelectSearch.required\" class=\"requiredField\">*</span>\n </b>\n </div>\n <div *ngIf=\"multiSelectSearch.condition\" class=\"sfx-switch-field pull-right\">\n <input\n type=\"radio\"\n id=\"radio-and-{{ conditionSelectionId }}\"\n name=\"radio-and-{{ conditionSelectionId }}\"\n value=\"yes\"\n (click)=\"onConditionClick(' AND ')\"\n [checked]=\"multiSelectSearch.condition === ' AND '\"\n />\n <label class=\"Font400\" for=\"radio-and-{{ conditionSelectionId }}\"\n >and</label\n >\n <input\n type=\"radio\"\n id=\"radio-or-{{ conditionSelectionId }}\"\n name=\"radio-or-{{ conditionSelectionId }}\"\n value=\"yes\"\n (click)=\"onConditionClick(' OR ')\"\n [checked]=\"multiSelectSearch.condition === ' OR '\"\n />\n <label class=\"Font400\" for=\"radio-or-{{ conditionSelectionId }}\">or</label>\n </div>\n <div\n class=\"sfx-custom-dropdown-wrap\"\n [ngClass]=\"{ open: openDropdown }\"\n dropdown\n #dropdown=\"bs-dropdown\"\n (onShown)=\"toggleDropdown()\"\n [insideClick]=\"true\"\n (onHidden)=\"onOkClick(true)\"\n >\n <input\n [ngClass]=\"{ 'invalid-control': isInvalid }\"\n (click)=\"dropdown.isOpen = true\"\n type=\"text\"\n id=\"dropdown-search-{{ multiSelectSearch.componentHeading | trimId}}\"\n [(ngModel)]=\"multiSelectSearch.searchInput\"\n (ngModelChange)=\"onSearchInputChange()\"\n dropdownToggle\n popover=\"{{ popOverText() }}\"\n containerClass=\"sfx-input-popover\"\n triggers=\"\"\n placement=\"top\"\n #pop=\"bs-popover\"\n (mouseenter)=\"showPop()\"\n (mouseleave)=\"onPopMouseLeave()\"\n (focus)=\"onFocusClick(true)\"\n (blur)=\"onFocusClick(false)\"\n class=\"sfx-placeholder\"\n placeholder=\"{{\n enablePlaceHolder ? multiSelectSearch.componentHeading : ''\n }}\"\n autocomplete=\"off\"\n [disabled]=\"isDisabled\"\n [readonly]=\"disableSearch\"\n />\n <symphony-icon *ngIf=\"!disableSearch\" [size]=\"size\" [icon]=\"'si-search-new'\"></symphony-icon>\n <div *dropdownMenu>\n <div class=\"sfx-custom-dropdown\" *ngIf=\"openDropdown\">\n <div *ngIf=\"multiSelectSearch.isSelectAllEnabled\" class=\"sfx-select-all-toggle\">\n <span class=\"sfx-font-bold sfx-mr-10\">Select All</span>\n <symphony-input-toggle\n [isToggled]=\"isAllToggled\"\n [isInverse]=\"false\"\n (toggleClick)=\"onToggleClick($event)\"\n ></symphony-input-toggle>\n </div>\n <!-- Create And Add Tags -->\n <div\n class=\"sfx-create-new-items\"\n *ngIf=\"\n multiSelectSearch.labelCreateNewItems &&\n multiSelectSearch.showCreateNewItems\n \"\n (click)=\"onCreateNewItem()\"\n [ngClass]=\"{\n 'sfx-font-bold': multiSelectSearch.showCreateNewModal\n }\"\n >\n {{ multiSelectSearch.labelCreateNewItems }}\n <span\n class=\"sfx-font-bold\"\n *ngIf=\"!multiSelectSearch.showCreateNewModal\"\n >&nbsp;&apos;\n <span *ngIf=\"hasCaptalise\"\n >{{ multiSelectSearch.searchInput | capitalizeFirstCharacter }}</span\n ><span *ngIf=\"!hasCaptalise\"\n >{{ multiSelectSearch.searchInput }}</span\n >&apos;\n </span>\n <i class=\"sfx-icon-Plus sfx-create-new-items-icon\"></i>\n </div>\n <!-- Create And Add Tags ends here -->\n <!-- selected list div -->\n <div\n class=\"sfx-dropdown-selected sfx-custom-scroll\"\n *ngIf=\"multiSelectSearch.selectedDropdownList.length > 0 && !multiSelectSearch.isSelectAllEnabled\"\n >\n <div\n class=\"sfx-d-inline-block\"\n *ngFor=\"let selectedItem of multiSelectSearch.selectedDropdownList\"\n >\n <div\n (click)=\"onDeselectItem(selectedItem); $event.stopPropagation()\"\n class=\"sfx-checkbox sfx-d-inline-block\"\n >\n <input\n type=\"checkbox\"\n checked\n class=\"sfx-checkbox-input\"\n id=\"{{ selectedItem.id }}_{{ selectedItem.name }}\"\n />\n <label\n class=\"Font400\"\n for=\"{{ selectedItem.id }}_{{ selectedItem.name }}\"\n ><span *ngIf=\"hasCaptalise\">{{ selectedItem.name | capitalizeFirstCharacter }}</span><span *ngIf=\"!hasCaptalise\" style=\"white-space: pre\">{{ selectedItem.name }}</span>\n <br />\n <span\n *ngIf=\"selectedItem.additionalInfo\"\n class=\"selected-additional-info\"\n >\n {{ selectedItem.additionalInfo }}</span\n >\n </label>\n </div>\n <div></div>\n </div>\n </div>\n <!-- selected list div ends here -->\n <!-- Search list -->\n <div\n class=\"sfx-dropdown-unselected sfx-custom-scroll\"\n (scroll)=\"scrollHandler($event)\"\n *ngIf=\"multiSelectSearch.searchedDropdownList.length > 0\"\n >\n <div\n id=\"dropdown-triggers-manually\"\n *ngFor=\"\n let filterDropdownOption of multiSelectSearch.searchedDropdownList\n \"\n >\n <div class=\"sfx-checkbox\">\n <input\n type=\"checkbox\"\n id=\"{{ filterDropdownOption.id }}_{{\n filterDropdownOption.name | trimId\n }}\"\n class=\"sfx-checkbox-input\"\n [disabled]=\"multiSelectSearch.hasMaxSelections\"\n (click)=\"\n onSelectItem(filterDropdownOption); $event.stopPropagation()\n \"\n [(ngModel)]=\"filterDropdownOption.isChecked\"\n />\n <label\n class=\"Font400\"\n for=\"{{ filterDropdownOption.id }}_{{\n filterDropdownOption.name | trimId\n }}\"\n ><span *ngIf=\"hasCaptalise\">{{ filterDropdownOption.name | capitalizeFirstCharacter }}</span><span *ngIf=\"!hasCaptalise\" style=\"white-space: pre\">{{ filterDropdownOption.name }}</span>\n <br />\n <span\n *ngIf=\"filterDropdownOption.additionalInfo\"\n class=\"additional-info\"\n >\n {{ filterDropdownOption.additionalInfo }}</span\n >\n </label>\n </div>\n <div></div>\n </div>\n <div>\n <symphony-sfx-loader\n [hidden]=\"!isLoadingData\"\n ></symphony-sfx-loader>\n </div>\n </div>\n <symphony-sfx-loader\n [hidden]=\"!isLoadingInitialData\"\n ></symphony-sfx-loader>\n <!-- search list ends here -->\n <!-- Footer -->\n <div *ngIf=\"openDropdown\" class=\"sfx-filter-item-footer\">\n <button\n type=\"button\"\n class=\"pull-left\"\n [disabled]=\"\n !(\n multiSelectSearch.selectedDropdownList &&\n multiSelectSearch.selectedDropdownList.length > 0\n )\n \"\n (click)=\"onClearAllClick()\"\n >\n Clear All\n </button>\n <a href=\"javascript:;\" (click)=\"onOkClick()\" class=\"pull-right\">OK</a>\n </div>\n <!-- End Footer -->\n </div>\n </div>\n </div>\n <div *ngIf=\"isInvalid\" class=\"error-message\">\n Please select a valid option\n </div>\n</div>", styles: [".sfx-input-popover{word-wrap:break-word;max-width:100%}.sfx-placeholder:-ms-input-placeholder{color:#000}.sfx-placeholder::-moz-placeholder{color:#000}.sfx-placeholder::placeholder{color:#000}.requiredField{color:#000}.error-message{color:#ac4463}.invalid-control{border:1px solid #AC4463!important}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input~label{color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{border:2px solid #000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:checked~label:before{border-bottom:2px solid #000;border-right:2px solid #000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox .sfx-checkbox-input:checked~label:after{background-color:#fff;border:2px solid #000}.sfx-custom-dropdown-wrap{position:relative;padding:.3rem;width:100%}.sfx-custom-dropdown-wrap input{width:100%;border:1px solid #d0d0d0;height:40px;border-radius:4px;background:#fff;color:#000;outline:none;padding-left:.9375rem;padding-right:1.875rem;line-height:25px}.sfx-custom-dropdown-wrap symphony-icon{right:17px;bottom:13px;position:absolute;color:#000;z-index:2}.sfx-custom-dropdown-wrap .sfx-custom-dropdown{background:#fff;position:absolute;width:100%;z-index:4;left:0;border-width:0px 1px 1px 1px;border-style:solid;border-color:#d9d9d9}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox{margin:0;padding:.625rem 1.25rem}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-checkbox:hover{background:#E4E7EF;color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected{border-bottom:1px solid #d9d9d9;padding-bottom:.625rem;padding-top:.625rem;max-height:220px;overflow-y:auto}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover{background:#fff;color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:not(:checked),.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked{position:absolute}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input~label{color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:not(:checked)~label:after{border-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked~label:before{border-bottom-color:#000;border-right-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected .sfx-checkbox:hover .sfx-checkbox-input:checked~label:after{background-color:#fff;border-color:#000}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected{padding-bottom:.625rem;padding-top:.625rem;border-bottom:1px solid #d9d9d9;max-height:220px;overflow-y:auto}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-select-all-toggle{padding:15px 20px;border-bottom:1px solid #d9d9d9}.sfx-custom-dropdown-wrap.open{background:#fff}.sfx-custom-dropdown-wrap.open .tree-node-checkbox{height:auto;width:auto}.sfx-custom-dropdown-wrap.open .sfx-create-new-items{padding:.625rem 1.5625rem .625rem 1.25rem;position:relative;border-bottom:1px solid #d0d0d0;cursor:pointer}.sfx-custom-dropdown-wrap.open .sfx-create-new-items .sfx-create-new-items-icon{font-size:.625rem;position:absolute;right:.9375rem;top:.9375rem}.sfx-custom-dropdown-wrap.open input{z-index:2;position:relative;background:#ffffff;color:#000}.sfx-custom-dropdown-wrap.open symphony-icon{color:#000}.sfx-custom-dropdown-wrap.open:after{content:\" \";position:absolute;top:0;left:0;display:inline-block;width:100%;height:100%;z-index:1;border-width:1px 1px 0px 1px;border-style:solid;border-color:#d9d9d9}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar{width:12px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-track,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-track{box-shadow:inset 0 0 3px transparent;border-radius:30px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-thumb,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:30px}.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-selected::-webkit-scrollbar-thumb:hover,.sfx-custom-dropdown-wrap .sfx-custom-dropdown .sfx-dropdown-unselected::-webkit-scrollbar-thumb:hover{cursor:pointer}.sfx-filter-item-footer{display:inline-block;width:100%;padding:1.875rem 1.25rem 1.5625rem;font-family:runda,sans-serif;font-weight:500}.sfx-filter-item-footer a{cursor:pointer}.sfx-filter-item-footer button{color:#712ace;background:transparent;border:none;padding:0}.sfx-filter-item-footer button:disabled{opacity:.5;cursor:not-allowed}.sfx-checkbox .sfx-checkbox-input~label{color:#fff}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{border:2px solid #fff}.sfx-checkbox .sfx-checkbox-input:checked~label:before{border-bottom:2px solid #fff;border-right:2px solid #fff}.sfx-checkbox .sfx-checkbox-input:checked~label:after{background-color:#212121;border:2px solid #fff}.sfx-checkbox{margin:10px 0;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sfx-checkbox .sfx-checkbox-input:not(:checked),.sfx-checkbox .sfx-checkbox-input:checked{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.sfx-checkbox .sfx-checkbox-input~label{display:inline-block;position:relative;cursor:pointer;height:100%;line-height:20px;font-size:14px;color:#000;padding-left:36px;font-family:runda,sans-serif;font-weight:400;margin:0;word-break:break-word}.sfx-checkbox .sfx-checkbox-input~label.sfx-font-reg{font-family:runda,sans-serif}.sfx-checkbox .sfx-checkbox-input~label:before{transform:translateZ(0);transition:all 0s ease-in;position:absolute;content:\"\";left:0;border-radius:2px}.sfx-checkbox .sfx-checkbox-input~label:after{position:absolute;content:\"\";left:0;border-radius:2px;top:0}.sfx-checkbox .sfx-checkbox-input~label .additional-info,.sfx-checkbox .sfx-checkbox-input~label .selected-additional-info{font-size:12px;color:#565656}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:before{width:9px;height:15px;border:none;top:1px;left:0;transform:rotate(37deg) scale(.1);transform-origin:100% 100%}.sfx-checkbox .sfx-checkbox-input:not(:checked)~label:after{width:20px;height:20px;border:2px solid #000;z-index:0;border-radius:4px}.sfx-checkbox .sfx-checkbox-input:checked~label:before{top:3px;left:3px;width:6px;height:12px;border-top:0px solid transparent;border-left:0px solid transparent;border-bottom:2px solid #000;border-right:2px solid #000;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotate(37deg) scale(1);transform-origin:100% 100%;border-radius:0}.sfx-checkbox .sfx-checkbox-input:checked~label:after{width:20px;height:20px;background-color:#fff;border:2px solid #000;border-radius:4px}.sfx-checkbox .sfx-checkbox-input:disabled~label{opacity:.3;pointer-events:none}.sfx-checkbox:hover .sfx-checkbox-input~label .additional-info{color:#fff}.sfx-filter-label{font-family:runda,sans-serif;font-weight:500;margin-bottom:.3rem;padding-left:.3rem;line-height:25px}.isInverse .sfx-custom-dropdown-wrap input{border-color:#5b6d80}\n"] }]
2647
2828
  }], ctorParameters: function () { return [{ type: CapitalizeFirstCharacterPipe }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { pop: [{
2648
2829
  type: ViewChild,
2649
2830
  args: ['pop', { static: false }]
@@ -3055,6 +3236,7 @@ AtomsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
3055
3236
  NotificationsModule,
3056
3237
  CharacterCounterModule,
3057
3238
  InputTextareaModule,
3239
+ InputTextareaWithSendModule,
3058
3240
  ColoredTextIndicatorModule,
3059
3241
  InputFileUploadModule,
3060
3242
  ChatHistoryMessageAvatarModule,
@@ -3101,6 +3283,7 @@ AtomsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "1
3101
3283
  NotificationsModule,
3102
3284
  CharacterCounterModule,
3103
3285
  InputTextareaModule,
3286
+ InputTextareaWithSendModule,
3104
3287
  ColoredTextIndicatorModule,
3105
3288
  InputFileUploadModule,
3106
3289
  ChatHistoryMessageAvatarModule,
@@ -3153,6 +3336,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
3153
3336
  NotificationsModule,
3154
3337
  CharacterCounterModule,
3155
3338
  InputTextareaModule,
3339
+ InputTextareaWithSendModule,
3156
3340
  ColoredTextIndicatorModule,
3157
3341
  InputFileUploadModule,
3158
3342
  ChatHistoryMessageAvatarModule,
@@ -7110,6 +7294,232 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
7110
7294
  }]
7111
7295
  }] });
7112
7296
 
7297
+ class NewLineToBrPipe {
7298
+ transform(value) {
7299
+ if (!value) {
7300
+ return value;
7301
+ }
7302
+ return value
7303
+ .replace(/\n/g, '<br>')
7304
+ .replace(/\r\n/g, '<br>')
7305
+ .replace(/\r/g, '<br>');
7306
+ }
7307
+ }
7308
+ NewLineToBrPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NewLineToBrPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
7309
+ NewLineToBrPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NewLineToBrPipe, name: "newLineToBr" });
7310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NewLineToBrPipe, decorators: [{
7311
+ type: Pipe,
7312
+ args: [{
7313
+ name: 'newLineToBr'
7314
+ }]
7315
+ }] });
7316
+
7317
+ class AISearchAssistantDrawerComponent {
7318
+ constructor(cdr) {
7319
+ this.cdr = cdr;
7320
+ this.model = {
7321
+ isOpen: false,
7322
+ messages: [],
7323
+ suggestedPrompts: [],
7324
+ isLoading: false,
7325
+ hasError: false,
7326
+ inputValue: '',
7327
+ maxCharacterLimit: 1000
7328
+ };
7329
+ this.config = {
7330
+ welcomeMessage: 'Hello! I\'m your AI Writing Assistant. How can I help you today?',
7331
+ placeholder: 'Message AI Assistant',
7332
+ maxMessages: 100,
7333
+ autoScroll: true,
7334
+ showTimestamps: true,
7335
+ enableSuggestedPrompts: true
7336
+ };
7337
+ // Simple event outputs following Symphony patterns
7338
+ this.drawerClosed = new EventEmitter();
7339
+ this.promptSelected = new EventEmitter();
7340
+ this.messageSent = new EventEmitter();
7341
+ this.inputChanged = new EventEmitter();
7342
+ this.retryClicked = new EventEmitter();
7343
+ this.shouldScrollToBottom = false;
7344
+ this.hasAddedWelcomeMessage = false;
7345
+ }
7346
+ ngOnInit() {
7347
+ // Add welcome message if configured and no messages exist
7348
+ this.addWelcomeMessageIfNeeded();
7349
+ }
7350
+ ngAfterViewChecked() {
7351
+ if (this.shouldScrollToBottom && this.config.autoScroll) {
7352
+ this.scrollToBottom();
7353
+ this.shouldScrollToBottom = false;
7354
+ }
7355
+ }
7356
+ trackByMessageId(index, message) {
7357
+ return message.id;
7358
+ }
7359
+ onToggleDrawer() {
7360
+ this.model.isOpen = !this.model.isOpen;
7361
+ if (this.model.isOpen) {
7362
+ // Add welcome message as first message if not already added and no messages exist
7363
+ this.addWelcomeMessageIfNeeded();
7364
+ // Focus the input field when opening
7365
+ setTimeout(() => {
7366
+ if (this.messageInput) {
7367
+ this.messageInput.focus();
7368
+ }
7369
+ }, 300); // Wait for animation to complete
7370
+ }
7371
+ else {
7372
+ this.drawerClosed.emit();
7373
+ }
7374
+ }
7375
+ onPromptClick(prompt) {
7376
+ this.promptSelected.emit(prompt);
7377
+ // Copy prompt text to input instead of auto-sending
7378
+ this.model.inputValue = prompt.text;
7379
+ this.inputChanged.emit(prompt.text);
7380
+ // Focus the input field for better UX
7381
+ setTimeout(() => {
7382
+ if (this.messageInput) {
7383
+ this.messageInput.focus();
7384
+ }
7385
+ }, 100);
7386
+ }
7387
+ onSendMessage() {
7388
+ const message = this.model.inputValue?.trim();
7389
+ if (message && !this.model.isLoading) {
7390
+ // Create generic event payload
7391
+ const messageEvent = {
7392
+ content: message,
7393
+ context: this.model.context // Pass any context data
7394
+ };
7395
+ // Clear input immediately for better UX
7396
+ this.model.inputValue = '';
7397
+ // Emit event for parent to handle
7398
+ this.messageSent.emit(messageEvent);
7399
+ }
7400
+ }
7401
+ onInputChange(value) {
7402
+ this.model.inputValue = value;
7403
+ this.inputChanged.emit(value);
7404
+ }
7405
+ onRetry() {
7406
+ this.retryClicked.emit();
7407
+ }
7408
+ scrollToBottom() {
7409
+ if (this.chatContainer) {
7410
+ const element = this.chatContainer.nativeElement;
7411
+ element.scrollTop = element.scrollHeight;
7412
+ }
7413
+ }
7414
+ /**
7415
+ * Gets formatted time string for message timestamp
7416
+ */
7417
+ getMessageTime(timestamp) {
7418
+ const date = typeof timestamp === 'string' ? new Date(timestamp) : timestamp;
7419
+ return date.toLocaleString('en-US', {
7420
+ month: 'short',
7421
+ day: 'numeric',
7422
+ hour: 'numeric',
7423
+ minute: '2-digit',
7424
+ hour12: true
7425
+ });
7426
+ }
7427
+ /**
7428
+ * Gets the display text for message status
7429
+ */
7430
+ getStatusText(status) {
7431
+ const statusMap = {
7432
+ 'pending': 'Sending...',
7433
+ 'delivered': 'Delivered',
7434
+ 'error': 'Failed to send'
7435
+ };
7436
+ return statusMap[status] || '';
7437
+ }
7438
+ addWelcomeMessageIfNeeded() {
7439
+ if (!this.hasAddedWelcomeMessage && this.model.messages.length === 0 && this.config.welcomeMessage) {
7440
+ this.model.messages.push({
7441
+ id: 'welcome-message',
7442
+ content: this.config.welcomeMessage,
7443
+ timestamp: new Date(),
7444
+ type: 'ai'
7445
+ });
7446
+ this.hasAddedWelcomeMessage = true;
7447
+ this.shouldScrollToBottom = true;
7448
+ }
7449
+ }
7450
+ }
7451
+ AISearchAssistantDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AISearchAssistantDrawerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
7452
+ AISearchAssistantDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AISearchAssistantDrawerComponent, selector: "symphony-ai-search-assistant-drawer", inputs: { model: "model", config: "config" }, outputs: { drawerClosed: "drawerClosed", promptSelected: "promptSelected", messageSent: "messageSent", inputChanged: "inputChanged", retryClicked: "retryClicked" }, viewQueries: [{ propertyName: "chatContainer", first: true, predicate: ["chatContainer"], descendants: true }, { propertyName: "messageInput", first: true, predicate: ["messageInput"], descendants: true }], ngImport: i0, template: "<!-- Drawer Container -->\n<div \n class=\"ai-drawer-container\" \n [class.open]=\"model.isOpen\">\n \n <!-- Edge Toggle Button (inside drawer container) -->\n <button \n class=\"ai-drawer-edge-toggle\"\n [class.drawer-open]=\"model.isOpen\"\n (click)=\"model.isOpen = !model.isOpen; onToggleDrawer()\"\n [attr.aria-label]=\"model.isOpen ? 'Close AI Assistant' : 'Open AI Assistant'\"\n [title]=\"model.isOpen ? 'Close AI Assistant' : 'AI Assisted Messaging'\">\n <symphony-icon [icon]=\"model.isOpen ? 'si-arrow-next' : 'si-arrow-prev'\"></symphony-icon>\n </button>\n \n <!-- Header -->\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <symphony-h3 class=\"ai-drawer-title sfx-m-0\">AI Writing Assistant</symphony-h3>\n </div>\n\n <!-- Chat Container -->\n <div class=\"ai-drawer-body\" *ngIf=\"model.isOpen\">\n \n <!-- Messages Area -->\n <div \n class=\"ai-chat-container\" \n #chatContainer>\n \n <!-- Message List -->\n <div class=\"ai-message-list sfx-mb-20\">\n <div \n *ngFor=\"let message of model.messages; trackBy: trackByMessageId\"\n class=\"ai-message-wrapper\"\n [attr.data-message-type]=\"message.type\">\n \n <!-- Timestamp Above Message -->\n <div \n class=\"ai-message-timestamp-container\"\n *ngIf=\"config.showTimestamps\">\n <span class=\"ai-message-timestamp\">\n {{ getMessageTime(message.timestamp) }}\n </span>\n </div>\n \n <!-- Message Bubble -->\n <div \n class=\"ai-message-bubble\"\n [class.user-message]=\"message.type === 'user'\"\n [class.ai-message]=\"message.type === 'ai'\"\n [class.system-message]=\"message.type === 'system'\">\n \n <!-- AI Message Icon -->\n <div \n class=\"ai-message-icon\" \n *ngIf=\"message.type === 'ai'\">\n <symphony-icon [icon]=\"'si-chatbot'\"></symphony-icon>\n </div>\n \n <div class=\"ai-message-content-wrapper\">\n <symphony-paragraph \n class=\"ai-message-content sfx-m-0\"\n [innerHTML]=\"message.content | newLineToBr\">\n </symphony-paragraph>\n </div>\n </div>\n \n <!-- Message Status (for user messages) -->\n <div \n class=\"ai-message-status\"\n *ngIf=\"message.type === 'user' && message.status\">\n <span \n class=\"ai-status-text\"\n [class.status-delivered]=\"message.status === 'delivered'\"\n [class.status-pending]=\"message.status === 'pending'\"\n [class.status-error]=\"message.status === 'error'\">\n {{ getStatusText(message.status) }}\n </span>\n </div>\n </div>\n\n <!-- Loading Message -->\n <div \n class=\"ai-message-wrapper ai-loading-message\"\n *ngIf=\"model.isLoading\">\n <div class=\"ai-message-bubble ai-message\">\n <div class=\"ai-message-icon\">\n <symphony-icon [icon]=\"'si-chatbot'\"></symphony-icon>\n </div>\n <div class=\"ai-loading-content\">\n <symphony-sfx-loader size=\"small\"></symphony-sfx-loader>\n <symphony-paragraph class=\"ai-loading-text sfx-m-0\">\n AI is thinking...\n </symphony-paragraph>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Error State -->\n <div \n class=\"ai-error-container sfx-mt-15\"\n *ngIf=\"model.hasError\">\n <symphony-paragraph class=\"ai-error-message sfx-m-0\">\n {{ model.errorMessage }}\n </symphony-paragraph>\n <symphony-button-v2 \n variant=\"secondary\"\n size=\"small\"\n (click)=\"onRetry()\">\n Try Again\n </symphony-button-v2>\n </div>\n </div>\n\n <!-- Suggested Prompts -->\n <div \n class=\"ai-suggested-prompts\"\n *ngIf=\"config.enableSuggestedPrompts && model.suggestedPrompts.length > 0\">\n \n <symphony-paragraph class=\"ai-prompts-intro sfx-mb-15\">\n Need help writing an email? Here are a few suggested prompts to get you started.\n </symphony-paragraph>\n \n <div class=\"ai-prompts-list\">\n <button\n *ngFor=\"let prompt of model.suggestedPrompts\"\n class=\"ai-prompt-button\"\n (click)=\"onPromptClick(prompt)\">\n <symphony-icon \n *ngIf=\"prompt.icon\" \n [icon]=\"'si-' + prompt.icon\"\n class=\"ai-prompt-icon\">\n </symphony-icon>\n <span class=\"ai-prompt-text\">{{ prompt.text }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- Footer / Input Area -->\n <div class=\"ai-drawer-footer\" *ngIf=\"model.isOpen\">\n \n <!-- Input Row -->\n <div class=\"ai-input-row\">\n <symphony-input-textarea-with-send\n #messageInput\n [(ngModel)]=\"model.inputValue\"\n [placeholder]=\"config.placeholder\"\n [isDisabled]=\"model.isLoading\"\n [maxCharacterLimit]=\"model.maxCharacterLimit\"\n [showCharacterCount]=\"!!model.maxCharacterLimit\"\n (sendClicked)=\"onSendMessage()\"\n (valueChanged)=\"onInputChange($event)\"\n (enterPressed)=\"onSendMessage()\">\n </symphony-input-textarea-with-send>\n </div>\n </div>\n</div> ", styles: [".sfx-p-0{padding:0}.sfx-p-5{padding:.3rem}.sfx-p-10{padding:.625rem}.sfx-p-15{padding:.9375rem}.sfx-p-20{padding:1.25rem}.sfx-p-30{padding:1.875rem}.sfx-pt-0{padding-top:0}.sfx-pt-5{padding-top:.3rem}.sfx-pt-10{padding-top:.625rem}.sfx-pt-15{padding-top:.9375rem}.sfx-pt-20{padding-top:1.25rem}.sfx-pt-25{padding-top:1.5625rem}.sfx-pt-30{padding-top:1.875rem}.sfx-pt-35{padding-top:2.1875rem}.sfx-pt-40{padding-top:2.5rem}.sfx-pt-50{padding-top:3.125rem}.sfx-pb-0{padding-bottom:0}.sfx-pb-5{padding-bottom:.3rem}.sfx-pb-10{padding-bottom:.625rem}.sfx-pb-15{padding-bottom:.9375rem}.sfx-pb-20{padding-bottom:1.25rem}.sfx-pb-25{padding-bottom:1.5625rem}.sfx-pb-30{padding-bottom:1.875rem}.sfx-pb-35{padding-bottom:2.1875rem}.sfx-pb-40{padding-bottom:2.5rem}.sfx-pb-50{padding-bottom:3.125rem}.sfx-pl-0{padding-left:0}.sfx-pl-5{padding-left:.3rem}.sfx-pl-10{padding-left:.625rem}.sfx-pl-15{padding-left:.9375rem}.sfx-pl-20{padding-left:1.25rem}.sfx-pl-25{padding-left:1.5625rem}.sfx-pl-30{padding-left:1.875rem}.sfx-pr-0{padding-right:0}.sfx-pr-5{padding-right:.3rem}.sfx-pr-10{padding-right:.625rem}.sfx-pr-15{padding-right:.9375rem}.sfx-pr-20{padding-right:1.25rem}.sfx-pr-25{padding-right:1.5625rem}.sfx-pr-30{padding-right:1.875rem}.sfx-py-15{padding-left:.9375rem;padding-right:.9375rem}.sfx-py-30{padding-left:1.875rem;padding-right:1.875rem}.sfx-px-0{padding-top:0;padding-bottom:0}.sfx-px-15{padding-top:.9375rem;padding-bottom:.9375rem}.sfx-px-20{padding-top:1.25rem;padding-bottom:1.25rem}.sfx-px-30{padding-top:1.875rem;padding-bottom:1.875rem}.sfx-m-0{margin:0}.sfx-m-5{margin:.3rem}.sfx-m-10{margin:.625rem}.sfx-m-15{margin:.9375rem}.sfx-m-20{margin:1.25rem}.sfx-m-auto{margin:0 auto}.sfx-mt-0{margin-top:0}.sfx-mt-5{margin-top:.3rem}.sfx-mt-10{margin-top:.625rem}.sfx-mt-15{margin-top:.9375rem}.sfx-mt-20{margin-top:1.25rem}.sfx-mt-25{margin-top:1.5625rem}.sfx-mt-30{margin-top:1.875rem}.sfx-mt-40{margin-top:2.5rem}.sfx-mt-80{margin-top:5rem}.sfx-mb-0{margin-bottom:0}.sfx-mb-5{margin-bottom:.3rem}.sfx-mb-10{margin-bottom:.625rem}.sfx-mb-15{margin-bottom:.9375rem}.sfx-mb-20{margin-bottom:1.25rem}.sfx-mb-25{margin-bottom:1.5625rem}.sfx-mb-30{margin-bottom:1.875rem}.sfx-mb-40{margin-bottom:2.5rem}.sfx-mb-50{margin-bottom:3.125rem}.sfx-ml-0{margin-left:0}.sfx-ml-5{margin-left:.3rem}.sfx-ml-10{margin-left:.625rem}.sfx-ml-15{margin-left:.9375rem}.sfx-ml-20{margin-left:1.25rem}.sfx-ml-auto{margin-left:auto}.sfx-mr-0{margin-right:0}.sfx-mr-5{margin-right:.3rem}.sfx-mr-10{margin-right:.625rem}.sfx-mr-15{margin-right:.9375rem}.sfx-mr-20{margin-right:1.25rem}.sfx-mr-25{margin-right:1.5625rem}.sfx-mr-30{margin-right:1.875rem}.sfx-mr-40{margin-right:2.5rem}.ai-drawer-container{position:absolute;top:0;right:0;width:100%;max-width:500px;height:100%;background-color:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.15);z-index:9999;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ai-drawer-container.open{transform:translate(0)}@media (max-width: 768px){.ai-drawer-container{width:100%;box-shadow:none}}.ai-drawer-edge-toggle{position:absolute;top:50%;left:-48px;transform:translateY(-50%);width:48px;height:48px;border:1px solid #D2D8E5;border-radius:8px 0 0 8px;background-color:#2b8ff3;color:#fff;cursor:pointer;box-shadow:-2px 0 8px rgba(0,0,0,.15);z-index:10001;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ai-drawer-edge-toggle:hover{background-color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.2);transform:translateY(-50%) scale(1.02)}.ai-drawer-edge-toggle:focus{outline:2px solid #2B8FF3;outline-offset:2px}.ai-drawer-edge-toggle symphony-icon{font-size:20px;transition:transform .2s ease;display:block;line-height:1;color:#fff}.ai-drawer-edge-toggle.drawer-open{left:-35px;background-color:#fff;color:#2b8ff3;border-color:#d2d8e5;border-radius:8px 0 0 8px;box-shadow:-2px 0 8px rgba(0,0,0,.1)}.ai-drawer-edge-toggle.drawer-open:hover{background-color:#f1f2f5;color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.15);transform:translateY(-50%) scale(1.02)}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:18px;color:#2b8ff3}@media (max-width: 768px){.ai-drawer-edge-toggle{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle symphony-icon{font-size:18px}.ai-drawer-edge-toggle.drawer-open{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:16px}}.ai-drawer-header{display:flex;align-items:center;justify-content:center;padding:1.25rem 1.5625rem;border-bottom:1px solid #D2D8E5;background-color:#fff;position:relative;z-index:1}.ai-drawer-header .ai-drawer-title{font-size:1.125rem;font-weight:600;color:#08203e}.ai-drawer-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.ai-chat-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:.9375rem 1.5625rem}.ai-chat-container::-webkit-scrollbar{width:6px}.ai-chat-container::-webkit-scrollbar-track{background:#F1F2F5}.ai-chat-container::-webkit-scrollbar-thumb{background:#C3CBDC;border-radius:3px}.ai-chat-container::-webkit-scrollbar-thumb:hover{background:#5B6D80}.ai-message-list{display:flex;flex-direction:column;gap:.9375rem}.ai-message-wrapper{display:flex;flex-direction:column}.ai-message-wrapper[data-message-type=user]{align-items:flex-end}.ai-message-wrapper[data-message-type=ai],.ai-message-wrapper[data-message-type=system],.ai-message-wrapper.ai-loading-message{align-items:flex-start}.ai-message-timestamp-container{margin-bottom:.625rem;text-align:center;width:100%;align-self:center}.ai-message-timestamp-container .ai-message-timestamp{font-size:.75rem;color:#82919f;font-weight:500}.ai-message-bubble{max-width:80%;border-radius:12px;word-wrap:break-word;animation:messageSlideIn .3s ease-out;display:flex;gap:.625rem}.ai-message-bubble.user-message{background-color:#2b8ff3;color:#fff;border-bottom-right-radius:4px;padding:.625rem .9375rem;justify-content:flex-end}.ai-message-bubble.user-message .ai-message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}.ai-message-bubble.ai-message{background-color:#fff;border:1px solid #D2D8E5;color:#08203e;border-bottom-left-radius:4px;padding:.625rem .9375rem;align-items:flex-start}.ai-message-bubble.ai-message .ai-message-icon{flex:0 0 auto;width:24px;height:24px;background-color:#f0f8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-message-bubble.ai-message .ai-message-icon symphony-icon{color:#2b8ff3;font-size:.875rem}.ai-message-bubble.ai-message .ai-message-content-wrapper{flex:1;display:flex;flex-direction:column}.ai-message-bubble.system-message{background-color:#f1f2f5;border:1px solid #E4E7EF;color:#5b6d80;border-radius:8px;text-align:center;max-width:90%;padding:.625rem .9375rem;justify-content:center}.ai-message-bubble.system-message .ai-message-content{font-size:.875rem}@media (max-width: 768px){.ai-message-bubble{max-width:90%}}.ai-message-status{margin-top:.3rem;text-align:right}.ai-message-status .ai-status-text{display:inline-flex;gap:4px;font-size:.75rem;font-weight:500}.ai-message-status .ai-status-text.status-delivered{color:#5b6d80}.ai-message-status .ai-status-text.status-delivered .ai-status-icon{color:#2cb45f;font-size:12px}.ai-message-status .ai-status-text.status-pending{color:#5b6d80}.ai-message-status .ai-status-text.status-pending .ai-status-loader{width:12px;height:12px}.ai-message-status .ai-status-text.status-error{color:#ac4463}.ai-message-status .ai-status-text.status-error .ai-status-icon{color:#ac4463;font-size:12px}.ai-loading-message .ai-message-bubble .ai-message-icon{flex:0 0 auto;width:24px;height:24px;background-color:#f0f8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-loading-message .ai-message-bubble .ai-message-icon symphony-icon{color:#2b8ff3;font-size:.875rem}.ai-loading-message .ai-message-bubble .ai-loading-content{display:flex;align-items:center;gap:.625rem;flex:1}.ai-loading-message .ai-message-bubble .ai-loading-text{font-style:italic;color:#5b6d80;font-size:.875rem}.ai-error-container{display:flex;flex-direction:column;align-items:center;gap:.625rem;padding:.9375rem;background-color:#fdf2f2;border:1px solid #AC4463;border-radius:8px}.ai-error-container .ai-error-message{color:#ac4463;text-align:center}.ai-suggested-prompts{padding:1.25rem 1.5625rem;border-top:1px solid #E4E7EF;background-color:#f1f2f5}.ai-suggested-prompts .ai-prompts-intro{font-size:.875rem;color:#5b6d80;text-align:center;line-height:1.4}.ai-suggested-prompts .ai-prompts-list{display:flex;flex-direction:column;gap:.625rem}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button{display:flex;align-items:center;gap:.625rem;padding:.625rem .9375rem;border:1px solid #C5AEFF;border-radius:24px;background-color:transparent;color:#712ace;cursor:pointer;transition:all .2s ease;text-align:left;font-size:.875rem;min-height:48px}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:hover{background-color:#f3f0ff;border-color:#9d79ff;transform:translateY(-1px)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:active{transform:translateY(0)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-icon{flex:0 0 auto;color:#712ace;font-size:16px}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-text{flex:1;font-weight:400;line-height:1.3}.ai-drawer-footer{padding:.9375rem 1.5625rem 1.25rem;border-top:1px solid #D2D8E5;background-color:#fff;position:relative;z-index:1}.ai-input-row symphony-input-textarea-with-send{width:100%}.ai-footer-actions{text-align:center}.ai-footer-actions symphony-button-v2{font-size:.75rem;color:#5b6d80}.ai-footer-actions symphony-button-v2:hover{color:#08203e}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.ai-drawer-container{border:2px solid #08203E}.ai-message-bubble.user-message{border:1px solid #0a5cae}.ai-message-bubble.ai-message{border:2px solid #5B6D80}.ai-message-bubble.system-message{border:2px solid #C3CBDC}}@media (prefers-reduced-motion: reduce){.ai-drawer-container,.ai-message-bubble,.ai-drawer-edge-toggle{transition:none;animation:none}}\n"], components: [{ type: IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: H3Component, selector: "symphony-h3", inputs: ["text", "isSecondary"] }, { type: ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary", "isFontBold"] }, { type: SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle", "message", "hasCustomMessage"] }, { type: ButtonV2Component, selector: "symphony-button-v2" }, { type: InputTextareaWithSendComponent, selector: "symphony-input-textarea-with-send", inputs: ["placeholder", "isDisabled", "maxCharacterLimit", "showCharacterCount", "minRows", "maxRows", "sendButtonIcon", "sendButtonAriaLabel", "autoResize"], outputs: ["sendClicked", "enterPressed", "valueChanged"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "newLineToBr": NewLineToBrPipe } });
7453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AISearchAssistantDrawerComponent, decorators: [{
7454
+ type: Component,
7455
+ args: [{ selector: 'symphony-ai-search-assistant-drawer', template: "<!-- Drawer Container -->\n<div \n class=\"ai-drawer-container\" \n [class.open]=\"model.isOpen\">\n \n <!-- Edge Toggle Button (inside drawer container) -->\n <button \n class=\"ai-drawer-edge-toggle\"\n [class.drawer-open]=\"model.isOpen\"\n (click)=\"model.isOpen = !model.isOpen; onToggleDrawer()\"\n [attr.aria-label]=\"model.isOpen ? 'Close AI Assistant' : 'Open AI Assistant'\"\n [title]=\"model.isOpen ? 'Close AI Assistant' : 'AI Assisted Messaging'\">\n <symphony-icon [icon]=\"model.isOpen ? 'si-arrow-next' : 'si-arrow-prev'\"></symphony-icon>\n </button>\n \n <!-- Header -->\n <div class=\"ai-drawer-header\" *ngIf=\"model.isOpen\">\n <symphony-h3 class=\"ai-drawer-title sfx-m-0\">AI Writing Assistant</symphony-h3>\n </div>\n\n <!-- Chat Container -->\n <div class=\"ai-drawer-body\" *ngIf=\"model.isOpen\">\n \n <!-- Messages Area -->\n <div \n class=\"ai-chat-container\" \n #chatContainer>\n \n <!-- Message List -->\n <div class=\"ai-message-list sfx-mb-20\">\n <div \n *ngFor=\"let message of model.messages; trackBy: trackByMessageId\"\n class=\"ai-message-wrapper\"\n [attr.data-message-type]=\"message.type\">\n \n <!-- Timestamp Above Message -->\n <div \n class=\"ai-message-timestamp-container\"\n *ngIf=\"config.showTimestamps\">\n <span class=\"ai-message-timestamp\">\n {{ getMessageTime(message.timestamp) }}\n </span>\n </div>\n \n <!-- Message Bubble -->\n <div \n class=\"ai-message-bubble\"\n [class.user-message]=\"message.type === 'user'\"\n [class.ai-message]=\"message.type === 'ai'\"\n [class.system-message]=\"message.type === 'system'\">\n \n <!-- AI Message Icon -->\n <div \n class=\"ai-message-icon\" \n *ngIf=\"message.type === 'ai'\">\n <symphony-icon [icon]=\"'si-chatbot'\"></symphony-icon>\n </div>\n \n <div class=\"ai-message-content-wrapper\">\n <symphony-paragraph \n class=\"ai-message-content sfx-m-0\"\n [innerHTML]=\"message.content | newLineToBr\">\n </symphony-paragraph>\n </div>\n </div>\n \n <!-- Message Status (for user messages) -->\n <div \n class=\"ai-message-status\"\n *ngIf=\"message.type === 'user' && message.status\">\n <span \n class=\"ai-status-text\"\n [class.status-delivered]=\"message.status === 'delivered'\"\n [class.status-pending]=\"message.status === 'pending'\"\n [class.status-error]=\"message.status === 'error'\">\n {{ getStatusText(message.status) }}\n </span>\n </div>\n </div>\n\n <!-- Loading Message -->\n <div \n class=\"ai-message-wrapper ai-loading-message\"\n *ngIf=\"model.isLoading\">\n <div class=\"ai-message-bubble ai-message\">\n <div class=\"ai-message-icon\">\n <symphony-icon [icon]=\"'si-chatbot'\"></symphony-icon>\n </div>\n <div class=\"ai-loading-content\">\n <symphony-sfx-loader size=\"small\"></symphony-sfx-loader>\n <symphony-paragraph class=\"ai-loading-text sfx-m-0\">\n AI is thinking...\n </symphony-paragraph>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Error State -->\n <div \n class=\"ai-error-container sfx-mt-15\"\n *ngIf=\"model.hasError\">\n <symphony-paragraph class=\"ai-error-message sfx-m-0\">\n {{ model.errorMessage }}\n </symphony-paragraph>\n <symphony-button-v2 \n variant=\"secondary\"\n size=\"small\"\n (click)=\"onRetry()\">\n Try Again\n </symphony-button-v2>\n </div>\n </div>\n\n <!-- Suggested Prompts -->\n <div \n class=\"ai-suggested-prompts\"\n *ngIf=\"config.enableSuggestedPrompts && model.suggestedPrompts.length > 0\">\n \n <symphony-paragraph class=\"ai-prompts-intro sfx-mb-15\">\n Need help writing an email? Here are a few suggested prompts to get you started.\n </symphony-paragraph>\n \n <div class=\"ai-prompts-list\">\n <button\n *ngFor=\"let prompt of model.suggestedPrompts\"\n class=\"ai-prompt-button\"\n (click)=\"onPromptClick(prompt)\">\n <symphony-icon \n *ngIf=\"prompt.icon\" \n [icon]=\"'si-' + prompt.icon\"\n class=\"ai-prompt-icon\">\n </symphony-icon>\n <span class=\"ai-prompt-text\">{{ prompt.text }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- Footer / Input Area -->\n <div class=\"ai-drawer-footer\" *ngIf=\"model.isOpen\">\n \n <!-- Input Row -->\n <div class=\"ai-input-row\">\n <symphony-input-textarea-with-send\n #messageInput\n [(ngModel)]=\"model.inputValue\"\n [placeholder]=\"config.placeholder\"\n [isDisabled]=\"model.isLoading\"\n [maxCharacterLimit]=\"model.maxCharacterLimit\"\n [showCharacterCount]=\"!!model.maxCharacterLimit\"\n (sendClicked)=\"onSendMessage()\"\n (valueChanged)=\"onInputChange($event)\"\n (enterPressed)=\"onSendMessage()\">\n </symphony-input-textarea-with-send>\n </div>\n </div>\n</div> ", styles: [".sfx-p-0{padding:0}.sfx-p-5{padding:.3rem}.sfx-p-10{padding:.625rem}.sfx-p-15{padding:.9375rem}.sfx-p-20{padding:1.25rem}.sfx-p-30{padding:1.875rem}.sfx-pt-0{padding-top:0}.sfx-pt-5{padding-top:.3rem}.sfx-pt-10{padding-top:.625rem}.sfx-pt-15{padding-top:.9375rem}.sfx-pt-20{padding-top:1.25rem}.sfx-pt-25{padding-top:1.5625rem}.sfx-pt-30{padding-top:1.875rem}.sfx-pt-35{padding-top:2.1875rem}.sfx-pt-40{padding-top:2.5rem}.sfx-pt-50{padding-top:3.125rem}.sfx-pb-0{padding-bottom:0}.sfx-pb-5{padding-bottom:.3rem}.sfx-pb-10{padding-bottom:.625rem}.sfx-pb-15{padding-bottom:.9375rem}.sfx-pb-20{padding-bottom:1.25rem}.sfx-pb-25{padding-bottom:1.5625rem}.sfx-pb-30{padding-bottom:1.875rem}.sfx-pb-35{padding-bottom:2.1875rem}.sfx-pb-40{padding-bottom:2.5rem}.sfx-pb-50{padding-bottom:3.125rem}.sfx-pl-0{padding-left:0}.sfx-pl-5{padding-left:.3rem}.sfx-pl-10{padding-left:.625rem}.sfx-pl-15{padding-left:.9375rem}.sfx-pl-20{padding-left:1.25rem}.sfx-pl-25{padding-left:1.5625rem}.sfx-pl-30{padding-left:1.875rem}.sfx-pr-0{padding-right:0}.sfx-pr-5{padding-right:.3rem}.sfx-pr-10{padding-right:.625rem}.sfx-pr-15{padding-right:.9375rem}.sfx-pr-20{padding-right:1.25rem}.sfx-pr-25{padding-right:1.5625rem}.sfx-pr-30{padding-right:1.875rem}.sfx-py-15{padding-left:.9375rem;padding-right:.9375rem}.sfx-py-30{padding-left:1.875rem;padding-right:1.875rem}.sfx-px-0{padding-top:0;padding-bottom:0}.sfx-px-15{padding-top:.9375rem;padding-bottom:.9375rem}.sfx-px-20{padding-top:1.25rem;padding-bottom:1.25rem}.sfx-px-30{padding-top:1.875rem;padding-bottom:1.875rem}.sfx-m-0{margin:0}.sfx-m-5{margin:.3rem}.sfx-m-10{margin:.625rem}.sfx-m-15{margin:.9375rem}.sfx-m-20{margin:1.25rem}.sfx-m-auto{margin:0 auto}.sfx-mt-0{margin-top:0}.sfx-mt-5{margin-top:.3rem}.sfx-mt-10{margin-top:.625rem}.sfx-mt-15{margin-top:.9375rem}.sfx-mt-20{margin-top:1.25rem}.sfx-mt-25{margin-top:1.5625rem}.sfx-mt-30{margin-top:1.875rem}.sfx-mt-40{margin-top:2.5rem}.sfx-mt-80{margin-top:5rem}.sfx-mb-0{margin-bottom:0}.sfx-mb-5{margin-bottom:.3rem}.sfx-mb-10{margin-bottom:.625rem}.sfx-mb-15{margin-bottom:.9375rem}.sfx-mb-20{margin-bottom:1.25rem}.sfx-mb-25{margin-bottom:1.5625rem}.sfx-mb-30{margin-bottom:1.875rem}.sfx-mb-40{margin-bottom:2.5rem}.sfx-mb-50{margin-bottom:3.125rem}.sfx-ml-0{margin-left:0}.sfx-ml-5{margin-left:.3rem}.sfx-ml-10{margin-left:.625rem}.sfx-ml-15{margin-left:.9375rem}.sfx-ml-20{margin-left:1.25rem}.sfx-ml-auto{margin-left:auto}.sfx-mr-0{margin-right:0}.sfx-mr-5{margin-right:.3rem}.sfx-mr-10{margin-right:.625rem}.sfx-mr-15{margin-right:.9375rem}.sfx-mr-20{margin-right:1.25rem}.sfx-mr-25{margin-right:1.5625rem}.sfx-mr-30{margin-right:1.875rem}.sfx-mr-40{margin-right:2.5rem}.ai-drawer-container{position:absolute;top:0;right:0;width:100%;max-width:500px;height:100%;background-color:#fff;box-shadow:-4px 0 24px rgba(0,0,0,.15);z-index:9999;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ai-drawer-container.open{transform:translate(0)}@media (max-width: 768px){.ai-drawer-container{width:100%;box-shadow:none}}.ai-drawer-edge-toggle{position:absolute;top:50%;left:-48px;transform:translateY(-50%);width:48px;height:48px;border:1px solid #D2D8E5;border-radius:8px 0 0 8px;background-color:#2b8ff3;color:#fff;cursor:pointer;box-shadow:-2px 0 8px rgba(0,0,0,.15);z-index:10001;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ai-drawer-edge-toggle:hover{background-color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.2);transform:translateY(-50%) scale(1.02)}.ai-drawer-edge-toggle:focus{outline:2px solid #2B8FF3;outline-offset:2px}.ai-drawer-edge-toggle symphony-icon{font-size:20px;transition:transform .2s ease;display:block;line-height:1;color:#fff}.ai-drawer-edge-toggle.drawer-open{left:-35px;background-color:#fff;color:#2b8ff3;border-color:#d2d8e5;border-radius:8px 0 0 8px;box-shadow:-2px 0 8px rgba(0,0,0,.1)}.ai-drawer-edge-toggle.drawer-open:hover{background-color:#f1f2f5;color:#0d76de;box-shadow:-4px 0 12px rgba(0,0,0,.15);transform:translateY(-50%) scale(1.02)}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:18px;color:#2b8ff3}@media (max-width: 768px){.ai-drawer-edge-toggle{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle symphony-icon{font-size:18px}.ai-drawer-edge-toggle.drawer-open{left:-40px;width:40px;height:40px}.ai-drawer-edge-toggle.drawer-open symphony-icon{font-size:16px}}.ai-drawer-header{display:flex;align-items:center;justify-content:center;padding:1.25rem 1.5625rem;border-bottom:1px solid #D2D8E5;background-color:#fff;position:relative;z-index:1}.ai-drawer-header .ai-drawer-title{font-size:1.125rem;font-weight:600;color:#08203e}.ai-drawer-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.ai-chat-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:.9375rem 1.5625rem}.ai-chat-container::-webkit-scrollbar{width:6px}.ai-chat-container::-webkit-scrollbar-track{background:#F1F2F5}.ai-chat-container::-webkit-scrollbar-thumb{background:#C3CBDC;border-radius:3px}.ai-chat-container::-webkit-scrollbar-thumb:hover{background:#5B6D80}.ai-message-list{display:flex;flex-direction:column;gap:.9375rem}.ai-message-wrapper{display:flex;flex-direction:column}.ai-message-wrapper[data-message-type=user]{align-items:flex-end}.ai-message-wrapper[data-message-type=ai],.ai-message-wrapper[data-message-type=system],.ai-message-wrapper.ai-loading-message{align-items:flex-start}.ai-message-timestamp-container{margin-bottom:.625rem;text-align:center;width:100%;align-self:center}.ai-message-timestamp-container .ai-message-timestamp{font-size:.75rem;color:#82919f;font-weight:500}.ai-message-bubble{max-width:80%;border-radius:12px;word-wrap:break-word;animation:messageSlideIn .3s ease-out;display:flex;gap:.625rem}.ai-message-bubble.user-message{background-color:#2b8ff3;color:#fff;border-bottom-right-radius:4px;padding:.625rem .9375rem;justify-content:flex-end}.ai-message-bubble.user-message .ai-message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}.ai-message-bubble.ai-message{background-color:#fff;border:1px solid #D2D8E5;color:#08203e;border-bottom-left-radius:4px;padding:.625rem .9375rem;align-items:flex-start}.ai-message-bubble.ai-message .ai-message-icon{flex:0 0 auto;width:24px;height:24px;background-color:#f0f8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-message-bubble.ai-message .ai-message-icon symphony-icon{color:#2b8ff3;font-size:.875rem}.ai-message-bubble.ai-message .ai-message-content-wrapper{flex:1;display:flex;flex-direction:column}.ai-message-bubble.system-message{background-color:#f1f2f5;border:1px solid #E4E7EF;color:#5b6d80;border-radius:8px;text-align:center;max-width:90%;padding:.625rem .9375rem;justify-content:center}.ai-message-bubble.system-message .ai-message-content{font-size:.875rem}@media (max-width: 768px){.ai-message-bubble{max-width:90%}}.ai-message-status{margin-top:.3rem;text-align:right}.ai-message-status .ai-status-text{display:inline-flex;gap:4px;font-size:.75rem;font-weight:500}.ai-message-status .ai-status-text.status-delivered{color:#5b6d80}.ai-message-status .ai-status-text.status-delivered .ai-status-icon{color:#2cb45f;font-size:12px}.ai-message-status .ai-status-text.status-pending{color:#5b6d80}.ai-message-status .ai-status-text.status-pending .ai-status-loader{width:12px;height:12px}.ai-message-status .ai-status-text.status-error{color:#ac4463}.ai-message-status .ai-status-text.status-error .ai-status-icon{color:#ac4463;font-size:12px}.ai-loading-message .ai-message-bubble .ai-message-icon{flex:0 0 auto;width:24px;height:24px;background-color:#f0f8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-loading-message .ai-message-bubble .ai-message-icon symphony-icon{color:#2b8ff3;font-size:.875rem}.ai-loading-message .ai-message-bubble .ai-loading-content{display:flex;align-items:center;gap:.625rem;flex:1}.ai-loading-message .ai-message-bubble .ai-loading-text{font-style:italic;color:#5b6d80;font-size:.875rem}.ai-error-container{display:flex;flex-direction:column;align-items:center;gap:.625rem;padding:.9375rem;background-color:#fdf2f2;border:1px solid #AC4463;border-radius:8px}.ai-error-container .ai-error-message{color:#ac4463;text-align:center}.ai-suggested-prompts{padding:1.25rem 1.5625rem;border-top:1px solid #E4E7EF;background-color:#f1f2f5}.ai-suggested-prompts .ai-prompts-intro{font-size:.875rem;color:#5b6d80;text-align:center;line-height:1.4}.ai-suggested-prompts .ai-prompts-list{display:flex;flex-direction:column;gap:.625rem}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button{display:flex;align-items:center;gap:.625rem;padding:.625rem .9375rem;border:1px solid #C5AEFF;border-radius:24px;background-color:transparent;color:#712ace;cursor:pointer;transition:all .2s ease;text-align:left;font-size:.875rem;min-height:48px}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:hover{background-color:#f3f0ff;border-color:#9d79ff;transform:translateY(-1px)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button:active{transform:translateY(0)}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-icon{flex:0 0 auto;color:#712ace;font-size:16px}.ai-suggested-prompts .ai-prompts-list .ai-prompt-button .ai-prompt-text{flex:1;font-weight:400;line-height:1.3}.ai-drawer-footer{padding:.9375rem 1.5625rem 1.25rem;border-top:1px solid #D2D8E5;background-color:#fff;position:relative;z-index:1}.ai-input-row symphony-input-textarea-with-send{width:100%}.ai-footer-actions{text-align:center}.ai-footer-actions symphony-button-v2{font-size:.75rem;color:#5b6d80}.ai-footer-actions symphony-button-v2:hover{color:#08203e}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast: high){.ai-drawer-container{border:2px solid #08203E}.ai-message-bubble.user-message{border:1px solid #0a5cae}.ai-message-bubble.ai-message{border:2px solid #5B6D80}.ai-message-bubble.system-message{border:2px solid #C3CBDC}}@media (prefers-reduced-motion: reduce){.ai-drawer-container,.ai-message-bubble,.ai-drawer-edge-toggle{transition:none;animation:none}}\n"] }]
7456
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
7457
+ type: Input
7458
+ }], config: [{
7459
+ type: Input
7460
+ }], drawerClosed: [{
7461
+ type: Output
7462
+ }], promptSelected: [{
7463
+ type: Output
7464
+ }], messageSent: [{
7465
+ type: Output
7466
+ }], inputChanged: [{
7467
+ type: Output
7468
+ }], retryClicked: [{
7469
+ type: Output
7470
+ }], chatContainer: [{
7471
+ type: ViewChild,
7472
+ args: ['chatContainer']
7473
+ }], messageInput: [{
7474
+ type: ViewChild,
7475
+ args: ['messageInput']
7476
+ }] } });
7477
+
7478
+ class AISearchAssistantDrawerModule {
7479
+ }
7480
+ AISearchAssistantDrawerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AISearchAssistantDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7481
+ AISearchAssistantDrawerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AISearchAssistantDrawerModule, declarations: [AISearchAssistantDrawerComponent,
7482
+ NewLineToBrPipe], imports: [CommonModule,
7483
+ FormsModule,
7484
+ H3Module,
7485
+ IconModule,
7486
+ ParagraphModule,
7487
+ ButtonV2Module,
7488
+ SfxLoaderModule,
7489
+ InputTextareaWithSendModule], exports: [AISearchAssistantDrawerComponent] });
7490
+ AISearchAssistantDrawerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AISearchAssistantDrawerModule, imports: [[
7491
+ CommonModule,
7492
+ FormsModule,
7493
+ H3Module,
7494
+ IconModule,
7495
+ ParagraphModule,
7496
+ ButtonV2Module,
7497
+ SfxLoaderModule,
7498
+ InputTextareaWithSendModule
7499
+ ]] });
7500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AISearchAssistantDrawerModule, decorators: [{
7501
+ type: NgModule,
7502
+ args: [{
7503
+ declarations: [
7504
+ AISearchAssistantDrawerComponent,
7505
+ NewLineToBrPipe
7506
+ ],
7507
+ imports: [
7508
+ CommonModule,
7509
+ FormsModule,
7510
+ H3Module,
7511
+ IconModule,
7512
+ ParagraphModule,
7513
+ ButtonV2Module,
7514
+ SfxLoaderModule,
7515
+ InputTextareaWithSendModule
7516
+ ],
7517
+ exports: [
7518
+ AISearchAssistantDrawerComponent
7519
+ ]
7520
+ }]
7521
+ }] });
7522
+
7113
7523
  class OrganismsModule {
7114
7524
  }
7115
7525
  OrganismsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrganismsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -7145,7 +7555,9 @@ OrganismsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
7145
7555
  FilterDetailModule,
7146
7556
  ReportsCardListModule,
7147
7557
  GridActionBarV2Module,
7148
- GenerateLicenseModalModule] });
7558
+ GenerateLicenseModalModule,
7559
+ // MergeContactsModalModule,
7560
+ AISearchAssistantDrawerModule] });
7149
7561
  OrganismsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrganismsModule, imports: [[
7150
7562
  CommonModule,
7151
7563
  NoteListModule,
@@ -7179,7 +7591,9 @@ OrganismsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
7179
7591
  FilterDetailModule,
7180
7592
  ReportsCardListModule,
7181
7593
  GridActionBarV2Module,
7182
- GenerateLicenseModalModule
7594
+ GenerateLicenseModalModule,
7595
+ // MergeContactsModalModule,
7596
+ AISearchAssistantDrawerModule
7183
7597
  ]] });
7184
7598
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: OrganismsModule, decorators: [{
7185
7599
  type: NgModule,
@@ -7218,7 +7632,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
7218
7632
  FilterDetailModule,
7219
7633
  ReportsCardListModule,
7220
7634
  GridActionBarV2Module,
7221
- GenerateLicenseModalModule
7635
+ GenerateLicenseModalModule,
7636
+ // MergeContactsModalModule,
7637
+ AISearchAssistantDrawerModule
7222
7638
  ]
7223
7639
  }]
7224
7640
  }] });
@@ -10208,5 +10624,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
10208
10624
  * Generated bundle index. Do not edit.
10209
10625
  */
10210
10626
 
10211
- export { ActionBarComponent, ActionBarJobListComponent, ActionBarJobListModule, ActionBarModule, ActionBarSelectionCounterComponent, ActionBarSelectionCounterModule, ActivityScoreLevel, AdditionModalComponent, AdditionModalModule, AdditionalInformationCardListComponent, AdditionalInformationCardListModule, AdvanceFilterSelectedCounterComponent, AdvanceFilterSelectedCounterModule, AdvanceSearchModalComponent, AdvanceSearchModalModule, AdvertiseModalComponent, AdvertiseModalModule, AdvertisedJobPostingsListPageComponent, AdvertisedJobPostingsListPageModule, AdvertisedJobPostingsModalComponent, AdvertisedJobPostingsModalModule, AdvertisedJobsCostComponent, AdvertisedJobsCostModule, AlertDuration, AssignToUserModalComponent, AssignToUserModalModule, AssignedToWidgetComponent, AssignedToWidgetModule, AtomsModule, AvatarComponent, AvatarModule, BreadcrumbComponent, BreadcrumbModule, BulkImportAdminListPageComponent, BulkImportAdminListPageModule, ButtonComponent, ButtonDropdownComponent, ButtonDropdownModule, ButtonModule, ButtonV2Component, ButtonV2Module, ButtonWithIconComponent, ButtonWithIconModule, CapitalizeFirstCharacterPipe, CardComponent, CardListComponent, CardListModule, CardModule, CharacterCounterComponent, CharacterCounterModule, ChatHistoryDateStampComponent, ChatHistoryDateStampModule, ChatHistoryMessageAvatarComponent, ChatHistoryMessageAvatarModule, ChatHistoryMessageBubbleComponent, ChatHistoryMessageBubbleModule, ChatHistoryMessageItemComponent, ChatHistoryMessageItemModule, ChatHistoryMessageListComponent, ChatHistoryMessageListModule, ChatbotHistoryModalComponent, ChatbotHistoryModalModule, ColorNames, ColoredTextIndicatorComponent, ColoredTextIndicatorModule, ConfirmationModalComponent, ConfirmationModalModule, ContactActivityScoreComponent, ContactActivityScoreModule, ContextualMenuComponent, ContextualMenuModule, DocumentManagementItemComponent, DocumentManagementItemModule, DocumentManagementListComponent, DocumentManagementListModule, DomainWhitelistingPartialPageComponent, DomainWhitelistingPartialPageModule, EditableSettingItemComponent, EditableSettingItemListComponent, EditableSettingItemListModule, EditableSettingItemModule, EditableSettingKey, EditableSettingPartialPageComponent, EditableSettingPartialPageModule, EmailValidator, EventSettingsMoreOptionsComponent, EventSettingsMoreOptionsModule, EventsSettingsPageComponent, EventsSettingsPageModule, FeedbackCardComponent, FeedbackCardListComponent, FeedbackCardListModule, FeedbackCardModule, FeedbackCardState, FeedbackDetailPageComponent, FeedbackDetailPageModule, FeedbackListPageComponent, FeedbackListPageModule, FeedbackLoginModalComponent, FeedbackLoginModalModule, FeedbackRequestListPageComponent, FeedbackRequestListPageModule, FeedbackSettingDetailsPageComponent, FeedbackSettingDetailsPageModule, FileUploadComponent, FileUploadModule, FileUploadV2Component, FileUploadV2Module, FilterAreaComponent, FilterAreaModule, FilterDetailComponent, FilterDetailModule, FilterDetailTreeComponent, FilterDetailTreeModule, FilterTabsComponent, FilterTabsModule, FilterTabsV2Component, FilterTabsV2Module, FormattedCounterComponent, FormattedCounterModule, FrameworkModule, GenerateLicenseModalComponent, GenerateLicenseModalModule, GridActionBarV2Component, GridActionBarV2Module, GridActionsComponent, GridActionsModule, GridCellClickableComponent, GridCellClickableModule, GridCellClickedOpenNewTabComponent, GridCellClickedOpenNewTabModule, GridCellLoaderModule, GridComponent, GridControlsComponent, GridControlsModule, GridDownloadComponent, GridDownloadModule, GridLoadingCellComponent, GridModule, GridNoRowsOverlayComponent, GridNoRowsOverlayModule, GridToggleCellRendererComponent, GridToggleCellRendererModule, H1Component, H1Module, H2Component, H2Module, H3Component, H3Module, H4Component, H4Module, H5Component, H5Module, H5WithIconComponent, H5WithIconModule, IconComponent, IconModule, IconWithTooltipComponent, IconWithTooltipModule, IconWrapperComponent, IconWrapperModule, Icons, InformationModalComponent, InformationModalModule, InputCheckboxComponent, InputCheckboxListComponent, InputCheckboxListModule, InputCheckboxModule, InputChipsComponent, InputChipsModule, InputDropdownComponent, InputDropdownList, InputDropdownListItemModel, InputDropdownModule, InputFileUploadComponent, InputFileUploadModule, InputLimitedTextComponent, InputLimitedTextModule, InputNumberComponent, InputNumberModule, InputRadioComponent, InputRadioModule, InputRadioToggleComponent, InputRadioToggleModule, InputSearchCheckboxDropdownComponent, InputSearchCheckboxDropdownModule, InputTextComponent, InputTextModule, InputTextareaComponent, InputTextareaModule, InputToggleComponent, InputToggleModule, JobListPageComponent, JobListPageModule, LibrariesPageComponent, LibrariesPageModule, LinkedinPremiumJobPostingsModalComponent, LinkedinPremiumJobPostingsModalModule, MergeContactClickedOpenModalComponent, MergeContactClickedOpenModalModule, MoleculesModule, MultiSelectDataModule, MultiselectSearchCheckbox, NavigationLinkComponent, NavigationLinkModule, NotificationsComponent, NotificationsModule, OrganismsModule, OverflowTextComponent, OverflowTextModule, OverflowTextTooltipComponent, OverflowTextTooltipModule, ParagraphComponent, ParagraphModule, PartialPages, PhaserCardComponent, PhaserCardModule, PhaserComponent, PhaserModule, PillComponent, PillModule, PillsComponent, PillsModule, PipeModule, RelevanceScoreComponent, RelevanceScoreModule, ReportLicenseDetailsPageComponent, ReportLicenseDetailsPageModule, ReportsCardComponent, ReportsCardListComponent, ReportsCardListModule, ReportsCardModule, ReportsPageComponent, ReportsPageModule, ScheduleInterviewModalComponent, ScheduleInterviewModalModule, SettingDetailPageComponent, SettingDetailPageModule, SettingListPageComponent, SettingListPageModule, SettingsDetailNavigationItemComponent, SettingsDetailNavigationItemModule, SettingsDetailNavigationListComponent, SettingsDetailNavigationListModule, SettingsLicenseManagementComponent, SettingsLicenseManagementModule, SettingsReportManagementComponent, SettingsReportManagementModule, SfxLoaderComponent, SfxLoaderModule, SfxPageLoaderComponent, SfxPageLoaderModule, SfxProgressBarComponent, SfxProgressBarModule, SidebarNavigationComponent, SidebarNavigationModule, SidebarNavigationV2Component, SidebarNavigationV2Module, SmsUsageReportPageComponent, SmsUsageReportPageModule, StatusCardComponent, StatusCardModule, StatusIndicatorComponent, StatusIndicatorModule, StatusPillComponent, StatusPillModule, SymphonyModalComponent, SymphonyModalModule, TabsComponent, TabsModules, ToasterAlertComponent, ToasterAlertModel, ToasterAlertModule, ToasterAlertType, TooltipWrapperComponent, TooltipWrapperModule, TrimIdPipe, TwoColumnFilterAreaComponent, TwoColumnFilterAreaModule, UploadResumeModalComponent, UploadResumeModalModule, VerticalSeparatorComponent, VerticalSeparatorModule, gridType };
10627
+ export { AISearchAssistantDrawerComponent, AISearchAssistantDrawerModule, ActionBarComponent, ActionBarJobListComponent, ActionBarJobListModule, ActionBarModule, ActionBarSelectionCounterComponent, ActionBarSelectionCounterModule, ActivityScoreLevel, AdditionModalComponent, AdditionModalModule, AdditionalInformationCardListComponent, AdditionalInformationCardListModule, AdvanceFilterSelectedCounterComponent, AdvanceFilterSelectedCounterModule, AdvanceSearchModalComponent, AdvanceSearchModalModule, AdvertiseModalComponent, AdvertiseModalModule, AdvertisedJobPostingsListPageComponent, AdvertisedJobPostingsListPageModule, AdvertisedJobPostingsModalComponent, AdvertisedJobPostingsModalModule, AdvertisedJobsCostComponent, AdvertisedJobsCostModule, AlertDuration, AssignToUserModalComponent, AssignToUserModalModule, AssignedToWidgetComponent, AssignedToWidgetModule, AtomsModule, AvatarComponent, AvatarModule, BreadcrumbComponent, BreadcrumbModule, BulkImportAdminListPageComponent, BulkImportAdminListPageModule, ButtonComponent, ButtonDropdownComponent, ButtonDropdownModule, ButtonModule, ButtonV2Component, ButtonV2Module, ButtonWithIconComponent, ButtonWithIconModule, CapitalizeFirstCharacterPipe, CardComponent, CardListComponent, CardListModule, CardModule, CharacterCounterComponent, CharacterCounterModule, ChatHistoryDateStampComponent, ChatHistoryDateStampModule, ChatHistoryMessageAvatarComponent, ChatHistoryMessageAvatarModule, ChatHistoryMessageBubbleComponent, ChatHistoryMessageBubbleModule, ChatHistoryMessageItemComponent, ChatHistoryMessageItemModule, ChatHistoryMessageListComponent, ChatHistoryMessageListModule, ChatbotHistoryModalComponent, ChatbotHistoryModalModule, ColorNames, ColoredTextIndicatorComponent, ColoredTextIndicatorModule, ConfirmationModalComponent, ConfirmationModalModule, ContactActivityScoreComponent, ContactActivityScoreModule, ContextualMenuComponent, ContextualMenuModule, DocumentManagementItemComponent, DocumentManagementItemModule, DocumentManagementListComponent, DocumentManagementListModule, DomainWhitelistingPartialPageComponent, DomainWhitelistingPartialPageModule, EditableSettingItemComponent, EditableSettingItemListComponent, EditableSettingItemListModule, EditableSettingItemModule, EditableSettingKey, EditableSettingPartialPageComponent, EditableSettingPartialPageModule, EmailValidator, EventSettingsMoreOptionsComponent, EventSettingsMoreOptionsModule, EventsSettingsPageComponent, EventsSettingsPageModule, FeedbackCardComponent, FeedbackCardListComponent, FeedbackCardListModule, FeedbackCardModule, FeedbackCardState, FeedbackDetailPageComponent, FeedbackDetailPageModule, FeedbackListPageComponent, FeedbackListPageModule, FeedbackLoginModalComponent, FeedbackLoginModalModule, FeedbackRequestListPageComponent, FeedbackRequestListPageModule, FeedbackSettingDetailsPageComponent, FeedbackSettingDetailsPageModule, FileUploadComponent, FileUploadModule, FileUploadV2Component, FileUploadV2Module, FilterAreaComponent, FilterAreaModule, FilterDetailComponent, FilterDetailModule, FilterDetailTreeComponent, FilterDetailTreeModule, FilterTabsComponent, FilterTabsModule, FilterTabsV2Component, FilterTabsV2Module, FormattedCounterComponent, FormattedCounterModule, FrameworkModule, GenerateLicenseModalComponent, GenerateLicenseModalModule, GridActionBarV2Component, GridActionBarV2Module, GridActionsComponent, GridActionsModule, GridCellClickableComponent, GridCellClickableModule, GridCellClickedOpenNewTabComponent, GridCellClickedOpenNewTabModule, GridCellLoaderModule, GridComponent, GridControlsComponent, GridControlsModule, GridDownloadComponent, GridDownloadModule, GridLoadingCellComponent, GridModule, GridNoRowsOverlayComponent, GridNoRowsOverlayModule, GridToggleCellRendererComponent, GridToggleCellRendererModule, H1Component, H1Module, H2Component, H2Module, H3Component, H3Module, H4Component, H4Module, H5Component, H5Module, H5WithIconComponent, H5WithIconModule, IconComponent, IconModule, IconWithTooltipComponent, IconWithTooltipModule, IconWrapperComponent, IconWrapperModule, Icons, InformationModalComponent, InformationModalModule, InputCheckboxComponent, InputCheckboxListComponent, InputCheckboxListModule, InputCheckboxModule, InputChipsComponent, InputChipsModule, InputDropdownComponent, InputDropdownList, InputDropdownListItemModel, InputDropdownModule, InputFileUploadComponent, InputFileUploadModule, InputLimitedTextComponent, InputLimitedTextModule, InputNumberComponent, InputNumberModule, InputRadioComponent, InputRadioModule, InputRadioToggleComponent, InputRadioToggleModule, InputSearchCheckboxDropdownComponent, InputSearchCheckboxDropdownModule, InputTextComponent, InputTextModule, InputTextareaComponent, InputTextareaModule, InputTextareaWithSendComponent, InputTextareaWithSendModule, InputToggleComponent, InputToggleModule, JobListPageComponent, JobListPageModule, LibrariesPageComponent, LibrariesPageModule, LinkedinPremiumJobPostingsModalComponent, LinkedinPremiumJobPostingsModalModule, MergeContactClickedOpenModalComponent, MergeContactClickedOpenModalModule, MoleculesModule, MultiSelectDataModule, MultiselectSearchCheckbox, NavigationLinkComponent, NavigationLinkModule, NotificationsComponent, NotificationsModule, OrganismsModule, OverflowTextComponent, OverflowTextModule, OverflowTextTooltipComponent, OverflowTextTooltipModule, ParagraphComponent, ParagraphModule, PartialPages, PhaserCardComponent, PhaserCardModule, PhaserComponent, PhaserModule, PillComponent, PillModule, PillsComponent, PillsModule, PipeModule, RelevanceScoreComponent, RelevanceScoreModule, ReportLicenseDetailsPageComponent, ReportLicenseDetailsPageModule, ReportsCardComponent, ReportsCardListComponent, ReportsCardListModule, ReportsCardModule, ReportsPageComponent, ReportsPageModule, ScheduleInterviewModalComponent, ScheduleInterviewModalModule, SettingDetailPageComponent, SettingDetailPageModule, SettingListPageComponent, SettingListPageModule, SettingsDetailNavigationItemComponent, SettingsDetailNavigationItemModule, SettingsDetailNavigationListComponent, SettingsDetailNavigationListModule, SettingsLicenseManagementComponent, SettingsLicenseManagementModule, SettingsReportManagementComponent, SettingsReportManagementModule, SfxLoaderComponent, SfxLoaderModule, SfxPageLoaderComponent, SfxPageLoaderModule, SfxProgressBarComponent, SfxProgressBarModule, SidebarNavigationComponent, SidebarNavigationModule, SidebarNavigationV2Component, SidebarNavigationV2Module, SmsUsageReportPageComponent, SmsUsageReportPageModule, StatusCardComponent, StatusCardModule, StatusIndicatorComponent, StatusIndicatorModule, StatusPillComponent, StatusPillModule, SymphonyModalComponent, SymphonyModalModule, TabsComponent, TabsModules, ToasterAlertComponent, ToasterAlertModel, ToasterAlertModule, ToasterAlertType, TooltipWrapperComponent, TooltipWrapperModule, TrimIdPipe, TwoColumnFilterAreaComponent, TwoColumnFilterAreaModule, UploadResumeModalComponent, UploadResumeModalModule, VerticalSeparatorComponent, VerticalSeparatorModule, gridType };
10212
10628
  //# sourceMappingURL=symphony-talent-component-library-projects-component-library.mjs.map