1import F from"./TmlNewSelect.9487c92d.js";import{_ as g,by as y,bG as d,aw as f,bH as _,bI as w}from"./index.12fd6615.js";import{N as m,D as L,W as b,U as r,f as c,a4 as u,a0 as p}from"./vue.e6b86939.js";import{s as v}from"./startCase.127cd34e.js";import{u as x}from"./ucFirst.8bd64d8c.js";import"./faTimes.badd7f2b.js";import"./faSearch.ae76f070.js";import"./form-field.60f08df0.js";import"./debounce.11f64b4a.js";import"./scrollToElement.de6a4f7f.js";import"./isEqual.52fa2b2d.js";import"./sentry.09480738.js";const S={name:"TmlFontsList",components:{TmlNewSelect:F,TmlFont:y},inject:["integrationFonts"],model:{prop:"value",event:"font-selected"},props:{label:{type:String,required:!0},fieldName:{type:String,required:!0},preSelected:{type:String,required:!1},value:String,weight:Number,maxHeight:{type:String,default:"400"},fontType:String,allowDynamicLoading:{type:Boolean}},data(){return{fonts:[],loadingFonts:!1}},computed:{parsedFonts(){return this.fonts.map(t=>({text:v(t.displayName),value:t.displayCssName}))}},watch:{fontType:{immediate:!0,handler(){this.rebuildFonts()}},"integrationFonts.value":{deep:!0,handler(){this.rebuildFonts()}}},mounted(){this.$emit("font-selected",this.value)},methods:{rebuildFonts(){var o;const t=((o=this.integrationFonts)==null?void 0:o.value)||[],e=this.fontType;if(e){const a=d.filter(n=>Array.isArray(n.type)?n.type.includes(e):n.type===e);this.fonts=[...a,...t].sort((n,s)=>n.name.toLowerCase().localeCompare(s.name.toLowerCase()))}else this.fonts=[...d,...t].sort((a,n)=>a.name.toLowerCase().localeCompare(n.name.toLowerCase()));f(this.fonts.filter(a=>a.name!=="Lato"))},onSelect(t){this.$emit("font-selected",t),this.$emit("input",t)},afterSearch({result:t,searchTerm:e}){if(this.allowDynamicLoading&&!t.filter(a=>a.text===e).length){if(_(e)){this.onFontLoaded(e);return}e=x(e),f([new w({name:e,source:"google"})]),this.loadingFonts=!0,$eventBus.once("webfonts-loaded",this.onFontLoaded),$eventBus.once("webfonts-failed-to-load",this.onFontLoadFailed)}},onFontLoadFailed(){this.loadingFonts=!1,$eventBus.off("webfonts-loaded",this.onFontLoaded)},onFontLoaded(t){this.loadingFonts=!1;const e=this.fonts.find(o=>o.displayCssName.toLowerCase()===t.toLowerCase());e&&(this.$emit("font-selected",e.displayCssName),this.$emit("input",e.displayCssName),$eventBus.off("webfonts-failed-to-load",this.onFontLoadFailed))}}};function C(t,e,o,a,n,s){const l=m("tml-font"),h=m("tml-new-select");return L(),b(h,{name:o.fieldName,label:o.label,options:s.parsedFonts,"max-height":o.maxHeight,"value-as-ref":o.value,searchable:"","searchable-properties":{text:1},"no-search-results":n.loadingFonts?"Searching...":"No results found",onInputAsRef:s.onSelect,onAfterSearch:s.afterSearch},{selected:r(({option:i})=>[c(l,{font:i.value,style:{padding:"0.8em 0.8em"}},{default:r(()=>[u(p(i.text),1)]),_:2},1032,["font"])]),option:r(({option:i})=>[c(l,{font:i.value},{default:r(()=>[u(p(i.text),1)]),_:2},1032,["font"])]),_:1},8,["name","label","options","max-height","value-as-ref","no-search-results","onInputAsRef","onAfterSearch"])}const R=g(S,[["render",C]]);export{R as default}; 2//# sourceMappingURL=TmlFontsList.ab2d2692.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.