import{b as ue,d as Ce,e as he}from"./chunk-QIJGSTAO.js";import{a as fe}from"./chunk-PEEQSXXX.js";import{a as Ee}from"./chunk-NOQGKTKU.js";import{j as re}from"./chunk-LGT7QKWT.js";import{B as pe,C as me,F as _e,m as ae,q as ce,x as se,z as de}from"./chunk-Z3H43YNT.js";import{Ba as le}from"./chunk-E4UUPK46.js";import{$c as oe,Ac as A,C as K,Da as _,Ea as u,Ec as O,Fc as w,Gc as D,Ic as f,K as N,Kc as a,La as g,Ob as te,Oc as ie,Od as k,Pa as ee,Pc as $,Q as W,Qc as U,R as Y,U as J,Uc as h,Vc as ne,Wc as M,Yc as V,Zc as S,_c as y,e as I,f as Q,ga as R,ha as v,hc as L,id as j,j as F,ja as E,jc as p,lc as m,ma as Z,oc as b,pc as x,qc as d,rc as l,rd as G,sc as s,sd as H,tc as C,v as B,wb as r}from"./chunk-O7RN3KYY.js";import{a as z}from"./chunk-ZE2KCNEA.js";z();var Se=["searchInputEl"],Te=["autocompleteTrigger"];function P(n,c){return c[this.matchKey]}function ge(n,c){n&1&&(l(0,"mat-option",10),C(1,"loader"),s())}function be(n,c){if(n&1&&C(0,"icon",17),n&2){let e=a().$implicit,t=a(2);d("name",t.displayFn(e).icon)}}function xe(n,c){if(n&1&&(l(0,"mat-option",15),G(1,"slugify"),l(2,"div",16),p(3,be,1,1,"icon",17),l(4,"div"),S(5),s()()()),n&2){let e=c.$implicit,t=a(2);V(j("autocomplete-option-default custom-content chip-select-option-",H(1,11,t.displayFn(e).label))),d("value",e)("disabled",t.optionDisabledFn(e)),r(2),M("text-muted",t.optionDisabledFn(e))("text-italic",t.optionDisabledFn(e)),r(),m(t.displayFn(e).icon?3:-1),r(2),y(t.displayFn(e).label)}}function Ae(n,c){if(n&1&&(l(0,"mat-option",12)(1,"div",18),C(2,"icon",19),l(3,"div"),O(4,3),s()()()),n&2){a();let e=h(1),t=a();d("value",t.createSentinel),r(4),w(e.value.trim()),D(4)}}function Oe(n,c){n&1&&(l(0,"div")(1,"mat-option",10)(2,"div",20),O(3,4),s()()())}function ye(n,c){if(n&1&&(l(0,"pfy-chip-row",14)(1,"span"),S(2),s()()),n&2){let e=c.$implicit,t=a(2);d("removable",!1),r(2),y(t.displayFn(e).label)}}function ve(n,c){if(n&1){let e=A();l(0,"pfy-chip-row",21),f("removed",function(){let i=_(e).$implicit,o=a(2);return u(o.deselectItem(i))}),l(1,"span"),S(2),s(),l(3,"button",22),C(4,"icon",23),s()()}if(n&2){let e=c.$implicit,t=a(2);d("removable",!0),r(2),y(t.selectedDisplayFn(e).label)}}function Me(n,c){if(n&1){let e=A();l(0,"input",7,0),f("blur",function(){_(e);let i=a();return u(i.blurred.emit())})("click",function(){_(e);let i=h(2);return u(i.openPanel())}),s(),l(3,"mat-autocomplete",8,1),f("optionSelected",function(i){_(e);let o=a();return u(o.selectItem(i.option.value))}),l(5,"div",9),f("scrolled",function(){_(e);let i=a();return u(i.nextPageSubject.next())}),p(6,ge,2,0,"mat-option",10),b(7,xe,6,13,"mat-option",11,P,!0),p(9,Ae,5,2,"mat-option",12)(10,Oe,4,0,"div"),s()(),l(11,"pfy-chip-grid",13,2),b(13,ye,3,2,"pfy-chip-row",14,P,!0),b(15,ve,5,2,"pfy-chip-row",14,P,!0),s()}if(n&2){let e=h(1),t=h(4),i=h(12),o=a();d("hidden",o.shouldHideInput)("id",o.inputId)("disabled",o.disabled)("placeholder",o.placeholder)("matAutocomplete",t)("pfyChipInputFor",i),L("aria-label",o.placeholder)("aria-describedby",o.describedBy),r(5),d("scrollWindow",!1)("infiniteScrollDistance",4)("infiniteScrollDisabled",o.fetchedAll||o.loading),r(),m(o.loading?6:-1),r(),x(o.filterResults(o.searchResults())),r(2),m(o.allowCreate&&e.value.trim()&&!o.loading&&!o.hasExactMatch(e.value)?9:!o.filterResults(o.searchResults()).length&&e.value&&!o.loading?10:-1),r(2),d("disabled",o.disabled)("required",o.inputRequired),r(2),x(o.nonRemovableItems),r(2),x(o.selectedItems)}}function Pe(n,c){n&1&&(l(0,"mat-option",10),C(1,"loader"),s())}function Ie(n,c){if(n&1&&C(0,"icon",17),n&2){let e=a().$implicit,t=a(2);d("name",t.displayFn(e).icon)}}function Fe(n,c){if(n&1&&(l(0,"mat-option",15),G(1,"slugify"),l(2,"div",16),p(3,Ie,1,1,"icon",17),l(4,"div"),S(5),s()()()),n&2){let e=c.$implicit,t=a(2);V(j("autocomplete-option-default custom-content chip-select-option-",H(1,11,t.displayFn(e).label))),d("value",e)("disabled",t.optionDisabledFn(e)),r(2),M("text-muted",t.optionDisabledFn(e))("text-italic",t.optionDisabledFn(e)),r(),m(t.displayFn(e).icon?3:-1),r(2),y(t.displayFn(e).label)}}function Ne(n,c){if(n&1&&(l(0,"mat-option",12)(1,"div",18),C(2,"icon",19),l(3,"div"),O(4,5),s()()()),n&2){a();let e=h(1),t=a();d("value",t.createSentinel),r(4),w(e.value.trim()),D(4)}}function Re(n,c){n&1&&(l(0,"div")(1,"mat-option",10)(2,"div",20),O(3,6),s()()())}function Le(n,c){if(n&1&&C(0,"icon",27),n&2){let e=a(3);d("name",e.displayFn(e.selectedItems[0]).icon)}}function we(n,c){if(n&1){let e=A();l(0,"div",26),p(1,Le,1,1,"icon",27),l(2,"div",28),S(3),s(),l(4,"button",29),f("click",function(){_(e);let i=a(2);return u(i.clearSelection())}),C(5,"icon",23),s()()}if(n&2){let e=a(2);M("opacity-half",e.disabled),r(),m(e.displayFn(e.selectedItems[0]).icon?1:-1),r(2),oe(" ",e.displayFn(e.selectedItems[0]).label," "),r(),ne("margin-top",-4,"px")("margin-bottom",-4,"px")}}function De(n,c){if(n&1){let e=A();l(0,"input",24,0),f("blur",function(){_(e);let i=a();return u(i.blurred.emit())})("click",function(){_(e);let i=h(2);return u(i.openPanel())}),s(),l(3,"mat-autocomplete",8,1),f("optionSelected",function(i){_(e);let o=a();return u(o.selectItem(i.option.value))}),p(5,Pe,2,0,"mat-option",10),b(6,Fe,6,13,"mat-option",11,P,!0),p(8,Ne,5,2,"mat-option",12)(9,Re,4,0,"div"),s(),p(10,we,6,8,"div",25)}if(n&2){let e=h(1),t=h(4),i=a();d("hidden",i.shouldHideInput)("id",i.inputId)("disabled",i.disabled)("placeholder",i.placeholder)("matAutocomplete",t),L("aria-label",i.placeholder)("aria-describedby",i.describedBy)("required",i.inputRequired?"":null),r(5),m(i.loading?5:-1),r(),x(i.filterResults(i.searchResults())),r(2),m(i.allowCreate&&e.value.trim()&&!i.loading&&!i.hasExactMatch(e.value)?8:!i.filterResults(i.searchResults()).length&&e.value&&!i.loading?9:-1),r(2),m(i.selectedItems!=null&&i.selectedItems.length||i.nonRemovableItems!=null&&i.nonRemovableItems.length?10:-1)}}var nt=(()=>{class n{constructor(){this.inputId="",this.placeholder=$localize`Search...`,this.selectedItems=[],this.nonRemovableItems=[],this.singleSelection=!1,this.selectedItemsChange=new g,this.displayFn=e=>({label:String(e)}),this.optionDisabledFn=()=>!1,this.matchKey="id",this.disabled=!1,this.required=!1,this.allowCreate=!1,this.createOption=new g,this.createSentinel={__createSentinel:!0},this.searchChanged=new g,this.blurred=new g,this.performSearchSubject=new Q(""),this.nextPageSubject=new I,this.loading=!1,this.searchResults=ee([]),this.destroySubject=new I,this.limit=20,this.offset=0,this.fetchedAll=!1,this.currentQuery=""}ngOnInit(){this.selectedDisplayFn===void 0&&(this.selectedDisplayFn=this.displayFn)}ngAfterViewInit(){setTimeout(()=>{this.initPipes()})}ngOnDestroy(){this.destroySubject.next(),this.destroySubject.complete()}initPipes(){K(this.searchInput.nativeElement,"input").pipe(B(e=>e.target.value),J(),E(e=>{this.currentQuery=e,this.searchResults.set([]),this.loading=!0}),W(500),v(this.destroySubject)).subscribe(this.performSearchSubject),this.performSearchSubject.pipe(E(()=>{this.offset=0,this.fetchedAll=!1,this.loading=!0}),R(e=>this.searchFn({limit:this.limit,offset:this.offset},e).pipe(N(()=>F))),E(()=>{this.loading=!1}),v(this.destroySubject)).subscribe(e=>{this.searchResults.set(e)}),this.nextPageSubject.pipe(E(()=>{this.offset+=this.limit,this.loading=!0}),Z(this.performSearchSubject),R(([e,t])=>this.searchFn({limit:this.limit,offset:this.offset},t).pipe(N(()=>F))),E(e=>{e.length===0&&(this.fetchedAll=!0),this.loading=!1}),v(this.destroySubject)).subscribe(e=>{this.searchResults.update(t=>[...t,...e])})}filterResults(e){return e.filter(t=>!this.selectedItems.map(i=>i[this.matchKey]).includes(t[this.matchKey]))}selectItem(e){if(e.__createSentinel){let t=this.currentQuery.trim();t&&this.createOption.emit(t),this.searchInput.nativeElement.value="",this.currentQuery="",this.performSearchSubject.next("");return}this.optionDisabledFn(e)||(this.singleSelection&&(this.selectedItems=[]),this.selectedItems.push(e),this.searchInput.nativeElement.value="",this.currentQuery="",this.performSearchSubject.next(""),this.selectedItemsChange.emit(this.selectedItems))}hasExactMatch(e){let t=e.trim().toLowerCase();return[...this.searchResults(),...this.selectedItems].some(i=>this.displayFn(i).label.trim().toLowerCase()===t)}deselectItem(e){this.selectedItems=this.selectedItems.filter(t=>t!==e),this.selectedItemsChange.emit(this.selectedItems)}get shouldHideInput(){return this.singleSelection&&this.selectedItems.length>0}clearSelection(){this.selectedItems=[],this.selectedItemsChange.emit(this.selectedItems),setTimeout(()=>{this.focus(!1)})}get inputRequired(){return this.required&&!this.selectedItems?.length}focus(e=!0){this.searchInput?.nativeElement.focus(),e&&this.autocompleteTrigger?.closePanel()}refresh(){this.performSearchSubject.pipe(Y(1)).subscribe(e=>{this.performSearchSubject.next(e)})}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=te({type:n,selectors:[["autocomplete-select"]],viewQuery:function(t,i){if(t&1&&ie(Se,5)(Te,5),t&2){let o;$(o=U())&&(i.searchInput=o.first),$(o=U())&&(i.autocompleteTrigger=o.first)}},inputs:{inputId:"inputId",placeholder:"placeholder",describedBy:"describedBy",selectedItems:"selectedItems",nonRemovableItems:"nonRemovableItems",singleSelection:"singleSelection",displayFn:"displayFn",selectedDisplayFn:"selectedDisplayFn",optionDisabledFn:"optionDisabledFn",searchFn:"searchFn",matchKey:"matchKey",disabled:"disabled",required:[2,"required","required",k],allowCreate:[2,"allowCreate","allowCreate",k]},outputs:{selectedItemsChange:"selectedItemsChange",createOption:"createOption",searchChanged:"searchChanged",blurred:"blurred"},decls:2,vars:2,consts:()=>{let e;e=$localize`Add "${"\uFFFD0\uFFFD"}:INTERPOLATION:"`;let t;t=$localize`No results`;let i;i=$localize`, press delete to remove`;let o;o=$localize`Add "${"\uFFFD0\uFFFD"}:INTERPOLATION:"`;let q;q=$localize`No results`;let X;return X=$localize`clear selected item`,[["searchInputEl","","autocompleteTrigger","matAutocompleteTrigger"],["auto","matAutocomplete"],["chipGrid",""],e,t,o,q,["type","search","autocomplete","off",1,"form-control","w-100","inherit-validity",3,"blur","click","hidden","id","disabled","placeholder","matAutocomplete","pfyChipInputFor"],[3,"optionSelected"],["infiniteScroll","",1,"scroll-y","h-100",3,"scrolled","scrollWindow","infiniteScrollDistance","infiniteScrollDisabled"],["disabled","",1,"autocomplete-option-default","custom-content"],[3,"class","value","disabled"],[1,"autocomplete-option-default","custom-content",3,"value"],[1,"d-block","mt-4",3,"disabled","required"],[3,"removable"],[3,"value","disabled"],[1,"d-flex","align-items-center","w-100","px-16","py-8","text-truncate","hoverable"],[1,"size-24","mr-8",3,"name"],[1,"d-flex","align-items-center","w-100","px-16","py-8","hoverable"],["name","internal-add",1,"size-24","mr-8"],[1,"text-center","text-quiet","pa-40"],[3,"removed","removable"],["type","button","aria-label",i,"tabindex","-1","aria-keyshortcuts","Delete","pfyChipRemove","",1,"btn"],["name","internal-close"],["type","search","autocomplete","off",1,"form-control","w-100","inherit-validity",3,"blur","click","hidden","id","disabled","placeholder","matAutocomplete"],[1,"d-flex","form-control","pr-4","align-items-center",3,"opacity-half"],[1,"d-flex","form-control","pr-4","align-items-center"],[1,"icon","size-24","mr-8",3,"name"],[1,"mr-24","text-truncate"],["type","button","aria-label",X,1,"btn","sm","borderless","ml-auto",3,"click"]]},template:function(t,i){t&1&&(p(0,Me,17,15),p(1,De,11,11)),t&2&&(m(i.singleSelection?-1:0),r(),m(i.singleSelection?1:-1))},dependencies:[he,ue,ae,Ce,Ee,ce,re,le,_e,de,me,pe,se,fe],encapsulation:2})}}return n})();export{nt as a};