codecharta-visualization 2.7.0 → 2.8.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.
@@ -0,0 +1 @@
1
+ import{a as Xt,b as it}from"./chunk-5TQNGGPT.js";import{$h as Vt,$i as er,$j as ht,$k as Fr,A as V,Aj as vr,Ak as Or,Al as qr,Bj as Sr,Bk as kr,Cb as At,Cj as Cr,Ck as Nr,D as m,Db as ie,Di as Ne,Dl as Ur,E as Z,Ea as kt,Eb as de,Ej as wr,El as $r,F as Q,Fa as Nt,Fb as ye,Fj as xr,Fk as Lr,Fl as Gr,Ga as Ae,Gi as Zi,Gj as _r,Gk as je,Gl as gt,Ha as ze,Hh as Di,Hj as yr,Hk as Pr,Ia as Lt,Ii as He,Ij as br,Il as Xr,Ja as ui,Jf as wi,Jh as Ii,Jj as Wr,K as re,Ka as x,Kh as et,Kl as Yr,L as Fe,La as me,Ll as Kr,Ma as _e,Ml as Oe,Na as fi,Nd as Je,Nk as Oo,Nl as Zr,O as pi,Ob as zt,Oh as Oi,Ol as Qr,Pj as To,Pl as Jr,Qj as Tr,Ql as oo,Rj as pt,Rk as ft,Rl as en,Sl as tn,T as p,Ta as gi,Tj as Mr,Tl as io,Ua as Pt,Uf as jt,Uh as tt,Uj as Er,Uk as to,Ul as on,Va as yo,Vh as Wo,Vj as Mo,Vk as ko,Vl as Ao,Wh as ki,Wk as No,Wl as rn,Xb as bo,Xh as Ni,Xl as nn,Y as O,Yh as Li,Yi as Gt,Yj as Rr,Z as hi,Zf as xi,Zh as Ie,Zi as Qi,Zj as Eo,_a as vi,_h as Ee,_i as Ji,a as Ye,aa as Rt,ab as _,ai as Be,aj as tr,b as Ke,ba as Dt,bi as qt,cf as Ht,ci as Ut,cj as or,ck as Jt,cl as Lo,db as se,di as $t,dj as ir,dk as Dr,dl as Po,eb as W,eh as _i,ei as Pi,ej as Yt,el as Ar,f as Et,fa as Qe,fh as yi,fi as Fi,fj as rr,ga as $,gb as Ft,gi as Ai,gj as Kt,gk as Ro,h as ct,ha as G,hh as bi,hi as zi,hj as Zt,ia as It,ih as Wi,ii as Bi,ij as nr,ik as ut,ja as Te,jh as Ti,ji as Hi,ka as Me,kh as Mi,ki as ji,kj as ar,la as C,li as Vi,lj as Qt,ma as u,me as Bt,mi as qi,mk as Ir,ml as zr,na as f,ni as Ui,nl as Br,oa as F,ob as Si,oi as $i,ok as Do,pa as J,ph as Ei,pi as Gi,pj as sr,pk as eo,qa as X,qi as Xi,qj as dr,ql as Hr,ra as lt,rh as Ri,ri as Yi,rj as cr,rk as we,sa as _o,si as Ki,sj as lr,ta as he,ua as ke,uj as mr,v as Ze,va as M,vj as pr,wa as De,wj as hr,wk as Io,xa as E,xe as Ci,xi as ot,xj as ur,xl as jr,ya as Ot,yj as fr,yl as Fo,za as mt,zj as gr,zl as Vr}from"./chunk-Z4T4NBH3.js";var ne=(()=>{class t{constructor(){this.domainStateReadWindow=m(Li),this.store=m(de),this.settings=ie(this.domainStateReadWindow.wordCloudSettings$,{initialValue:qt}),this.hasTfidfData=ie(this.store.select(Ji),{initialValue:!1})}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var ua=[[["","body",""]],"*"],fa=["[body]","*"],ga=["ngProjectAs","[body]",5,["","body",""]],an=(()=>{class t{constructor(){this.label=W.required(),this.value=W.required(),this.idPrefix=W.required(),this.minWidthClass=W("min-w-[120px]"),this.popoverId=_(()=>`${this.idPrefix()}-popover`),this.anchorName=_(()=>`${this.idPrefix()}-cog`),this.segmentTestId=_(()=>`${this.idPrefix()}-segment`),this.cogTestId=_(()=>`${this.idPrefix()}-cog`)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-domain-segment"]],hostAttrs:[1,"contents"],inputs:{label:[1,"label"],value:[1,"value"],idPrefix:[1,"idPrefix"],minWidthClass:[1,"minWidthClass"]},ngContentSelectors:fa,decls:3,vars:8,consts:[[3,"label","metricName","hasCog","cogPopoverId","cogAnchorName","testId","cogTestId","minWidthClass"]],template:function(o,i){o&1&&(Ot(ua),u(0,"cc-axis-card",0),mt(1,0,ga),f(),mt(2,1)),o&2&&C("label",i.label())("metricName",i.value())("hasCog",!0)("cogPopoverId",i.popoverId())("cogAnchorName",i.anchorName())("testId",i.segmentTestId())("cogTestId",i.cogTestId())("minWidthClass",i.minWidthClass())},dependencies:[_i],encapsulation:2})}}return t})();var xe=(()=>{class t{constructor(){this.store=m(de)}setShape(e){this.store.dispatch(qi({value:e}))}setSizeRange(e){this.store.dispatch($i({value:e}))}setRotationRange(e){this.store.dispatch(Hi({value:e}))}setRotationStep(e){this.store.dispatch(ji({value:e}))}setGridSize(e){this.store.dispatch(Fi({value:e}))}setSizingMode(e){this.store.dispatch(Gi({value:e}))}setTopN(e){this.store.dispatch(Ki({value:e}))}setShrinkToFit(e){this.store.dispatch(Ui({value:e}))}setDrawOutOfBound(e){this.store.dispatch(Pi({value:e}))}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var sn=(()=>{class t{constructor(){this.readStore=m(ne),this.writeStore=m(xe),this.popoverId=W.required(),this.anchorName=W.required(),this.settings=this.readStore.settings,this.minRotationBounds={min:-90,max:0},this.maxRotationBounds={min:0,max:90},this.rotationStepBounds={min:15,max:90,step:15},this.resetKeys=["domainState.rotationRange","domainState.rotationStep"]}onRotationStepChange(e){this.writeStore.setRotationStep(e)}onRotationRangeMinChange(e){this.writeStore.setRotationRange(Ut(this.settings().rotationRange,e))}onRotationRangeMaxChange(e){this.writeStore.setRotationRange($t(this.settings().rotationRange,e))}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-rotation-settings-popover"]],hostAttrs:[1,"contents"],inputs:{popoverId:[1,"popoverId"],anchorName:[1,"anchorName"]},decls:15,vars:14,consts:[["ariaLabel","Rotation Settings","widthClass","w-80","contentClass","gap-3 py-3 px-4",3,"popoverId","anchorName"],[1,"flex","flex-col","gap-2","rounded-lg","bg-base-200","p-3"],["data-testid","domain-bar-rotation-min"],[1,"text-sm"],["ariaLabel","Min Rotation in degrees",3,"valueChange","min","max","value"],["data-testid","domain-bar-rotation-max"],["ariaLabel","Max Rotation in degrees",3,"valueChange","min","max","value"],["data-testid","domain-bar-rotation-step","title","Words are rotated in multiples of this angle"],["ariaLabel","Rotation Step in degrees",3,"valueChange","min","max","step","value"],["tooltip","Reset the rotation settings to their defaults","label","Reset rotation",3,"settingsKeys","small"]],template:function(o,i){o&1&&(u(0,"cc-settings-popover-shell",0)(1,"div",1)(2,"div",2)(3,"span",3),x(4,"Min Rotation"),f(),u(5,"cc-slider-number-input",4),M("valueChange",function(a){return i.onRotationRangeMinChange(a)}),f()(),u(6,"div",5)(7,"span",3),x(8,"Max Rotation"),f(),u(9,"cc-slider-number-input",6),M("valueChange",function(a){return i.onRotationRangeMaxChange(a)}),f()(),u(10,"div",7)(11,"span",3),x(12,"Rotation Step"),f(),u(13,"cc-slider-number-input",8),M("valueChange",function(a){return i.onRotationStepChange(a)}),f()()(),F(14,"cc-reset-settings-button",9),f()),o&2&&(C("popoverId",i.popoverId())("anchorName",i.anchorName()),p(5),C("min",i.minRotationBounds.min)("max",i.minRotationBounds.max)("value",i.settings().rotationRange[0]),p(4),C("min",i.maxRotationBounds.min)("max",i.maxRotationBounds.max)("value",i.settings().rotationRange[1]),p(4),C("min",i.rotationStepBounds.min)("max",i.rotationStepBounds.max)("step",i.rotationStepBounds.step)("value",i.settings().rotationStep),p(),C("settingsKeys",i.resetKeys)("small",!0))},dependencies:[ot,et,Ne],encapsulation:2})}}return t})();var vt=(()=>{class t{constructor(){this.uploaded=re(null),this.mask=this.uploaded.asReadonly(),this.dataUri=_(()=>this.uploaded()?.dataUri??null)}accept(e){this.uploaded.set(e)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var dn="image/svg+xml",va=["script","foreignObject"],Sa=["href","xlink:href"];function cn(t){let r=new DOMParser().parseFromString(t,dn),e=r.documentElement;if(r.querySelector("parsererror")||e.localName!=="svg")return{rejection:"That file is not an SVG."};let o=va.find(n=>e.getElementsByTagName(n).length>0);if(o)return{rejection:`An SVG carrying a <${o}> cannot be used as a shape.`};if(Ca(e))return{rejection:"An SVG that references another file cannot be used as a shape."};let i=wa(e);return i?{dataUri:`data:${dn},${encodeURIComponent(new XMLSerializer().serializeToString(i))}`}:{rejection:"That SVG states neither a size nor a viewBox, so it has no shape to fill."}}function Ca(t){return[t,...t.querySelectorAll("*")].some(r=>Sa.some(e=>{let o=r.getAttribute(e);return o!==null&&!o.startsWith("#")}))}function wa(t){if(t.getAttribute("width")&&t.getAttribute("height"))return t;let r=t.getAttribute("viewBox")?.split(/[\s,]+/).filter(Boolean);if(r?.length!==4)return null;let[,,e,o]=r;return t.setAttribute("width",e),t.setAttribute("height",o),t}function xa(t,r){if(t&1&&(u(0,"option",4),x(1),f()),t&2){let e=r.$implicit,o=E();C("value",e)("selected",e===o.settings().shape),p(),me(o.shapeLabels[e])}}function _a(t,r){t&1&&(u(0,"p",8),x(1),f()),t&2&&(p(),me(r))}function ya(t,r){t&1&&(u(0,"p",9),x(1),f()),t&2&&(p(),_e(" ",r.fileName," \u2014 words fill the opaque areas of the shape. "))}function ba(t,r){t&1&&(u(0,"p",10),x(1," The cloud stays round until you upload a shape, and an uploaded one is forgotten on reload. "),f())}function Wa(t,r){if(t&1){let e=he();u(0,"label",6)(1,"span",2),x(2,"SVG file"),f(),u(3,"input",7),M("change",function(i){Z(e);let n=E();return Q(n.onShapeFileChosen(i))}),f()(),$(4,_a,2,1,"p",8)(5,ya,2,1,"p",9)(6,ba,2,0,"p",10)}if(t&2){let e,o=E();p(4),G((e=o.rejection())?4:(e=o.uploadedMask())?5:6,e)}}var ln=(()=>{class t{constructor(){this.readStore=m(ne),this.writeStore=m(xe),this.customShapeMaskStore=m(vt),this.popoverId=W.required(),this.anchorName=W.required(),this.settings=this.readStore.settings,this.shapes=Object.values(Ee),this.shapeLabels=Vt,this.resetKeys=["domainState.shape"],this.isCustomShape=_(()=>this.settings().shape===Ee.custom),this.uploadedMask=this.customShapeMaskStore.mask,this.rejection=re(null)}onShapeChange(e){this.writeStore.setShape(e)}async onShapeFileChosen(e){let o=e.target.files?.[0];if(!o)return;let i=cn(await o.text());if("rejection"in i){this.rejection.set(i.rejection);return}this.rejection.set(null),this.customShapeMaskStore.accept({fileName:o.name,dataUri:i.dataUri})}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-shape-settings-popover"]],hostAttrs:[1,"contents"],inputs:{popoverId:[1,"popoverId"],anchorName:[1,"anchorName"]},decls:9,vars:5,consts:[["ariaLabel","Shape Settings",3,"popoverId","anchorName"],["title","The outline the words are laid out in",1,"form-control","w-full","gap-1"],[1,"text-sm"],["data-testid","domain-bar-shape",1,"select","select-bordered","select-sm","w-full",3,"change"],[3,"value","selected"],["tooltip","Reset the shape to its default","label","Reset shape",3,"settingsKeys","small"],[1,"form-control","w-full","gap-1"],["type","file","accept","image/svg+xml,.svg","data-testid","domain-bar-shape-upload",1,"file-input","file-input-bordered","file-input-sm","w-full",3,"change"],["data-testid","domain-bar-shape-rejection",1,"text-xs","text-error"],["data-testid","domain-bar-shape-file",1,"text-xs","opacity-60"],["data-testid","domain-bar-shape-hint",1,"text-xs","opacity-60"]],template:function(o,i){o&1&&(u(0,"cc-settings-popover-shell",0)(1,"label",1)(2,"span",2),x(3,"Shape"),f(),u(4,"select",3),M("change",function(a){return i.onShapeChange(a.target.value)}),Te(5,xa,2,3,"option",4,It),f()(),$(7,Wa,7,1),F(8,"cc-reset-settings-button",5),f()),o&2&&(C("popoverId",i.popoverId())("anchorName",i.anchorName()),p(5),Me(i.shapes),p(2),G(i.isCustomShape()?7:-1),p(),C("settingsKeys",i.resetKeys)("small",!0))},dependencies:[ot,et],encapsulation:2})}}return t})();var mn=(()=>{class t{constructor(){this.readStore=m(ne),this.writeStore=m(xe),this.settings=this.readStore.settings,this.wordCountBounds={min:10,max:1e3,step:10}}onTopNChange(e){this.writeStore.setTopN(e)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-word-count-control"]],hostAttrs:[1,"contents"],decls:4,vars:4,consts:[["data-testid","domain-bar-top-n","title","How many of the most important words are drawn",1,"rounded-lg","bg-base-200","p-3"],[1,"text-sm"],["ariaLabel","Words",3,"valueChange","min","max","step","value"]],template:function(o,i){o&1&&(u(0,"div",0)(1,"span",1),x(2,"Words"),f(),u(3,"cc-slider-number-input",2),M("valueChange",function(a){return i.onTopNChange(a)}),f()()),o&2&&(p(3),C("min",i.wordCountBounds.min)("max",i.wordCountBounds.max)("step",i.wordCountBounds.step)("value",i.settings().topN))},dependencies:[Ne],encapsulation:2})}}return t})();var pn=(()=>{class t{constructor(){this.readStore=m(ne),this.writeStore=m(xe),this.settings=this.readStore.settings,this.smallestWordBounds={min:10,max:40},this.largestWordBounds={min:40,max:120},this.shrinkToFitTitle=_(()=>this.settings().shrinkToFit?"On \u2014 words that do not fit are shrunk until they do, so the full word count is drawn. Tail words can render below Smallest Word.":"Off \u2014 words that do not fit are left out, so Smallest Word is exact but fewer words than requested appear."),this.drawOutOfBoundTitle=_(()=>this.settings().drawOutOfBound?"On \u2014 words may render partially outside the layout area instead of being dropped or shrunk, so more words fit at their true size.":"Off \u2014 every word is kept fully inside the layout area; words that only fit overlapping the edge are shrunk or left out.")}onSizeRangeMinChange(e){this.writeStore.setSizeRange(Ut(this.settings().sizeRange,e))}onSizeRangeMaxChange(e){this.writeStore.setSizeRange($t(this.settings().sizeRange,e))}onShrinkToFitChange(e){this.writeStore.setShrinkToFit(e)}onDrawOutOfBoundChange(e){this.writeStore.setDrawOutOfBound(e)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-word-size-range-control"]],hostAttrs:[1,"contents"],decls:17,vars:10,consts:[[1,"flex","flex-col","gap-2","rounded-lg","bg-base-200","p-3"],["data-testid","domain-bar-size-min","title","The least important word in the cloud renders at this size"],[1,"text-sm"],["ariaLabel","Smallest Word in pixels",3,"valueChange","min","max","value"],["data-testid","domain-bar-size-max","title","The most important word in the cloud renders at this size"],["ariaLabel","Largest Word in pixels",3,"valueChange","min","max","value"],["data-testid","domain-bar-shrink-to-fit",1,"flex","cursor-pointer","items-center","gap-2",3,"title"],["type","checkbox",1,"checkbox","checkbox-sm",3,"change","checked"],["data-testid","domain-bar-draw-out-of-bound",1,"flex","cursor-pointer","items-center","gap-2",3,"title"]],template:function(o,i){o&1&&(u(0,"div",0)(1,"div",1)(2,"span",2),x(3,"Smallest Word"),f(),u(4,"cc-slider-number-input",3),M("valueChange",function(a){return i.onSizeRangeMinChange(a)}),f()(),u(5,"div",4)(6,"span",2),x(7,"Largest Word"),f(),u(8,"cc-slider-number-input",5),M("valueChange",function(a){return i.onSizeRangeMaxChange(a)}),f()(),u(9,"label",6)(10,"input",7),M("change",function(a){return i.onShrinkToFitChange(a.target.checked)}),f(),u(11,"span",2),x(12,"Fit All Words"),f()(),u(13,"label",8)(14,"input",7),M("change",function(a){return i.onDrawOutOfBoundChange(a.target.checked)}),f(),u(15,"span",2),x(16,"Draw Outside Bounds"),f()()()),o&2&&(p(4),C("min",i.smallestWordBounds.min)("max",i.smallestWordBounds.max)("value",i.settings().sizeRange[0]),p(4),C("min",i.largestWordBounds.min)("max",i.largestWordBounds.max)("value",i.settings().sizeRange[1]),p(),C("title",i.shrinkToFitTitle()),p(),C("checked",i.settings().shrinkToFit),p(3),C("title",i.drawOutOfBoundTitle()),p(),C("checked",i.settings().drawOutOfBound))},dependencies:[Ne],encapsulation:2})}}return t})();function Ta(t,r){t&1&&(J(0,"span",5),x(1,"TF-IDF is unavailable: the loaded file has no TF-IDF scores."),X())}var hn=(()=>{class t{constructor(){this.readStore=m(ne),this.writeStore=m(xe),this.settings=this.readStore.settings,this.hasTfidfData=this.readStore.hasTfidfData,this.WordCloudSizingMode=Be,this.tfidfOptionTitle=_(()=>this.hasTfidfData()?"TF-IDF (relative importance) \u2014 sizes words by how distinctive they are, not by raw count":"TF-IDF (relative importance) \u2014 not available: the loaded file has no TF-IDF scores")}onSizingModeChange(e){this.writeStore.setSizingMode(e)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-word-sizing-mode-control"]],hostAttrs:[1,"contents"],decls:9,vars:7,consts:[["title","Which word metric drives a word's rendered size",1,"form-control","w-full","gap-1"],[1,"text-sm"],["data-testid","domain-bar-sizing-mode",1,"select","select-bordered","select-sm","w-full",3,"change"],["title","Frequency \u2014 sizes words by how often they occur",3,"value","selected"],[3,"value","selected","disabled","title"],[1,"text-xs","opacity-70"]],template:function(o,i){o&1&&(J(0,"label",0)(1,"span",1),x(2,"Word Sizing"),X(),J(3,"select",2),De("change",function(a){return i.onSizingModeChange(a.target.value)}),J(4,"option",3),x(5," Frequency "),X(),J(6,"option",4),x(7," TF-IDF "),X()(),$(8,Ta,2,0,"span",5),X()),o&2&&(p(4),ke("value",i.WordCloudSizingMode.frequency)("selected",i.settings().sizingMode===i.WordCloudSizingMode.frequency),p(2),ke("value",i.WordCloudSizingMode.tfidf)("selected",i.settings().sizingMode===i.WordCloudSizingMode.tfidf)("disabled",!i.hasTfidfData())("title",i.tfidfOptionTitle()),p(2),G(i.hasTfidfData()?-1:8))},encapsulation:2})}}return t})();var un=(()=>{class t{constructor(){this.readStore=m(ne),this.writeStore=m(xe),this.settings=this.readStore.settings,this.wordSpacingBounds={min:4,max:16,step:4}}onGridSizeChange(e){this.writeStore.setGridSize(e)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-word-spacing-control"]],hostAttrs:[1,"contents"],decls:4,vars:4,consts:[["data-testid","domain-bar-grid-size","title","Spacing between words in pixels \u2014 larger means fewer, more spread-out words",1,"rounded-lg","bg-base-200","p-3"],[1,"text-sm"],["ariaLabel","Word Spacing in pixels",3,"valueChange","min","max","step","value"]],template:function(o,i){o&1&&(u(0,"div",0)(1,"span",1),x(2,"Word Spacing"),f(),u(3,"cc-slider-number-input",2),M("valueChange",function(a){return i.onGridSizeChange(a)}),f()()),o&2&&(p(3),C("min",i.wordSpacingBounds.min)("max",i.wordSpacingBounds.max)("step",i.wordSpacingBounds.step)("value",i.settings().gridSize))},dependencies:[Ne],encapsulation:2})}}return t})();var fn=(()=>{class t{constructor(){this.popoverId=W.required(),this.anchorName=W.required(),this.resetKeys=["domainState.sizingMode","domainState.topN","domainState.sizeRange","domainState.gridSize","domainState.shrinkToFit","domainState.drawOutOfBound"]}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-word-sizing-settings-popover"]],hostAttrs:[1,"contents"],inputs:{popoverId:[1,"popoverId"],anchorName:[1,"anchorName"]},decls:6,vars:4,consts:[["ariaLabel","Word Sizing Settings","widthClass","w-80","contentClass","gap-3 py-3 px-4",3,"popoverId","anchorName"],["tooltip","Reset the word sizing settings to their defaults","label","Reset word sizing",3,"settingsKeys","small"]],template:function(o,i){o&1&&(u(0,"cc-settings-popover-shell",0),F(1,"cc-word-sizing-mode-control")(2,"cc-word-count-control")(3,"cc-word-size-range-control")(4,"cc-word-spacing-control")(5,"cc-reset-settings-button",1),f()),o&2&&(C("popoverId",i.popoverId())("anchorName",i.anchorName()),p(5),C("settingsKeys",i.resetKeys)("small",!0))},dependencies:[ot,et,hn,mn,pn,un],encapsulation:2})}}return t})();var Ma=[[["","barTools",""]]],Ea=["[barTools]"],zo=(()=>{class t{constructor(){this.barBottom=yi,this.readStore=m(ne),this.settings=this.readStore.settings,this.shapeLabel=_(()=>Vt[this.settings().shape]),this.sizingModeLabel=_(()=>this.settings().sizingMode===Be.tfidf?"TF-IDF":"Frequency"),this.rotationRangeLabel=_(()=>{let[e,o]=this.settings().rotationRange;return`${e}\xB0 \u2013 ${o}\xB0`})}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-domain-bar"]],hostVars:2,hostBindings:function(o,i){o&2&&ze("bottom",i.barBottom)},features:[Rt([bi])],ngContentSelectors:Ea,decls:13,vars:10,consts:[["shape",""],["wordSizing",""],["rotation",""],["label","Shape","idPrefix","domain-bar-shape","minWidthClass","min-w-[100px]",3,"value"],[3,"popoverId","anchorName"],["label","Word Sizing","idPrefix","domain-bar-word-sizing",3,"value"],["body","","data-testid","domain-bar-top-n-value",1,"text-xs","opacity-70","text-center"],["label","Rotation","idPrefix","domain-bar-rotation","minWidthClass","min-w-[110px]",3,"value"]],template:function(o,i){if(o&1&&(Ot(Ma),u(0,"cc-bar-tools-tab"),mt(1),f(),u(2,"cc-domain-segment",3,0),F(4,"cc-shape-settings-popover",4),f(),u(5,"cc-domain-segment",5,1)(7,"div",6),x(8),f(),F(9,"cc-word-sizing-settings-popover",4),f(),u(10,"cc-domain-segment",7,2),F(12,"cc-rotation-settings-popover",4),f()),o&2){let n=Ae(3),a=Ae(6),s=Ae(11);p(2),C("value",i.shapeLabel()),p(2),C("popoverId",n.popoverId())("anchorName",n.anchorName()),p(),C("value",i.sizingModeLabel()),p(3),_e("",i.settings().topN," words"),p(),C("popoverId",a.popoverId())("anchorName",a.anchorName()),p(),C("value",i.rotationRangeLabel()),p(2),C("popoverId",s.popoverId())("anchorName",s.anchorName())}},dependencies:[Mi,an,ln,fn,sn],encapsulation:2})}}return t})();var St=(()=>{class t{constructor(){this.fitRequestCount=re(0),this.fitRequest=this.fitRequestCount.asReadonly()}requestFit(){this.fitRequestCount.update(e=>e+1)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Ra(t,r){t&1&&F(0,"cc-bar-tools-divider",1)}var Bo=(()=>{class t{constructor(){this.focusStore=m(He),this.viewStore=m(St),this.isFocused=this.focusStore.isFocused}showWholeCloud(){this.viewStore.requestFit()}unfocus(){this.focusStore.unfocus()}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-domain-toolbox"]],hostAttrs:[1,"flex","items-center","gap-0.5"],features:[Pt([{provide:br,useExisting:Tr}])],decls:4,vars:2,consts:[["testId","domain-bar-unfocus",3,"unfocused","isFocused"],["data-testid","domain-tools-divider"],["label","Show whole cloud","icon","fa-solid fa-expand","testId","domain-reset-view",3,"activated"],["view","domain"]],template:function(o,i){o&1&&(u(0,"cc-unfocus-tool",0),M("unfocused",function(){return i.unfocus()}),f(),$(1,Ra,1,0,"cc-bar-tools-divider",1),u(2,"cc-bar-tool",2),M("activated",function(){return i.showWholeCloud()}),f(),F(3,"cc-toolbox-screenshot-button",3)),o&2&&(C("isFocused",i.isFocused()),p(),G(i.isFocused()?1:-1))},dependencies:[Wi,Ti,Wr,Zi],encapsulation:2})}}return t})();function Da(t,r){if(t&1){let e=he();u(0,"cc-floating-menu",1),M("dismissed",function(){Z(e);let i=E();return Q(i.close())}),u(1,"button",2),M("click",function(){Z(e);let i=E();return Q(i.copyWord())}),F(2,"i"),u(3,"span",3),x(4),f()(),F(5,"div",4),u(6,"cc-context-menu-item",5),M("itemClick",function(){Z(e);let i=E();return Q(i.searchForThisWord())}),x(7," Search word "),f(),u(8,"cc-context-menu-item",6),M("itemClick",function(){Z(e);let i=E();return Q(i.hideThisWord())}),x(9," Hide word "),f()()}if(t&2){let e=E();C("anchor",r),p(2),ui(gi("w-4 text-center ",e.wasWordCopied()?"fa-solid fa-check text-success":"fa-regular fa-copy")),p(2),me(e.rightClickedWord()?.word)}}var Ho=(()=>{class t{constructor(){this.clipboard=m(pt),this.rightClickedWord=W(null),this.searchWord=se(),this.hideWord=se(),this.closed=se(),this.anchor=_(()=>{let e=this.rightClickedWord();return e?{x:e.clientX,y:e.clientY}:null}),this.wasWordCopied=this.clipboard.copied}searchForThisWord(){let e=this.rightClickedWord();e&&this.searchWord.emit(e.word),this.close()}hideThisWord(){let e=this.rightClickedWord();e&&this.hideWord.emit(e.word),this.close()}async copyWord(){let e=this.rightClickedWord();e&&await this.clipboard.copy(e.word)}close(){this.closed.emit()}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-domain-word-menu"]],inputs:{rightClickedWord:[1,"rightClickedWord"]},outputs:{searchWord:"searchWord",hideWord:"hideWord",closed:"closed"},decls:1,vars:1,consts:[["data-testid","domain-word-menu",1,"w-56",3,"anchor"],["data-testid","domain-word-menu",1,"w-56",3,"dismissed","anchor"],["type","button","title","Copy word to clipboard","data-testid","domain-word-menu-copy",1,"flex","w-full","items-center","gap-3","px-4","py-2.5","text-left","hover:bg-base-200",3,"click"],[1,"truncate","text-sm","font-semibold","tracking-wide"],[1,"my-1","border-t","border-base-300"],["icon","fa-solid fa-magnifying-glass","hoverHint","Put this word into the explorer's word search",3,"itemClick"],["icon","fa-solid fa-eye-slash","hoverHint","Drop this word from the cloud and the word list",3,"itemClick"]],template:function(o,i){if(o&1&&$(0,Da,10,5,"cc-floating-menu",0),o&2){let n;G((n=i.anchor())?0:-1,n)}},dependencies:[Ei,Ri],encapsulation:2})}}return t})();function ro(t,r){if(r.length===0)return t;let e=new Set(r);return t.filter(o=>!e.has(o.text))}var Ia=ye(Gt,Je,(t,r)=>t.wordsOf(r??zt.rootPath)),Oa=ye(Je,t=>t!==void 0),ka=ye(Ia,tt,ro),Ve=(()=>{class t{constructor(){this.store=m(de),this.wordsInFocus$=this.store.select(ka),this.isFolderFocused$=this.store.select(Oa)}occurrencesInFocusOf(e){return this.store.select(Je).pipe(Ze(o=>this.store.select(tr(o??null,e))))}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Ct(t,r){let e=r.trim().toLowerCase();return t.filter(({text:o})=>o.toLowerCase().includes(e))}var ge=(function(t){return t.OCCURRENCES="Occurrences",t.NAME="Name",t.RELEVANCE="Relevance",t})(ge||{}),Na={[ge.OCCURRENCES]:(t,r)=>t.frequency-r.frequency,[ge.NAME]:(t,r)=>t.text.localeCompare(r.text),[ge.RELEVANCE]:(t,r)=>Ie(t,Be.tfidf)-Ie(r,Be.tfidf)};function gn(t,{option:r,ascending:e}){let o=Na[r],i=e?1:-1;return[...t].sort((n,a)=>i*o(n,a)||n.text.localeCompare(a.text))}function Sn(t){let{rowCount:r,rowHeight:e,scrolledPast:o,viewportHeight:i}=t;if(r===0)return La(t);if(e<=0||i<=0)return Pa(t);let n=vn(Math.floor(o/e)-6,0,r-1),a=vn(Math.floor((o+i)/e)+6,n,r-1);return{firstIndex:n,lastIndex:a,topSpacerHeight:n*e,bottomSpacerHeight:(r-a-1)*e}}function La({rowCount:t}){return{firstIndex:0,lastIndex:t-1,topSpacerHeight:0,bottomSpacerHeight:0}}function Pa({rowCount:t,rowHeight:r}){let e=Math.min(50,t)-1;return{firstIndex:0,lastIndex:e,topSpacerHeight:0,bottomSpacerHeight:(t-e-1)*Math.max(r,0)}}function vn(t,r,e){return Math.min(Math.max(t,r),e)}function no(t){let r=t*100;return r>0&&r<1?"<1%":`${Math.round(r)}%`}var Cn=(()=>{class t{constructor(){this.contextMenu=m(vr),this.node=W.required(),this.word=W.required(),this.isExpanded=W(!1),this.isSelected=W(!1),this.clicked=se(),this.isExpandable=_(()=>this.node().children.length>0),this.isMarked=_(()=>this.contextMenu.isMarked(this.node().path)),this.decoration=_(()=>`${no(this.node().share)} of "${this.word()}" \xB7 ${Yt(this.node().count)}`)}openContextMenu(e){this.contextMenu.openFor(this.node().path,e)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-domain-word-occurrence-row"]],hostAttrs:[1,"block"],hostVars:1,hostBindings:function(o,i){o&1&&M("click",function(){return i.clicked.emit()})("contextmenu",function(a){return i.openContextMenu(a)}),o&2&&Qe("aria-expanded",i.isExpandable()?i.isExpanded():null)},inputs:{node:[1,"node"],word:[1,"word"],isExpanded:[1,"isExpanded"],isSelected:[1,"isSelected"]},outputs:{clicked:"clicked"},decls:4,vars:7,consts:[["barTone","neutral",3,"isSelected","isMarked","barShare","decoration"],[3,"isFolder","isOpen"],[1,"node-name","ml-1","flex-1","truncate"]],template:function(o,i){o&1&&(u(0,"cc-explorer-row",0),F(1,"cc-explorer-tree-item-icon",1),u(2,"span",2),x(3),f()()),o&2&&(C("isSelected",i.isSelected())("isMarked",i.isMarked())("barShare",i.node().share)("decoration",i.decoration()),p(),C("isFolder",i.node().isFolder)("isOpen",i.isExpanded()),p(2),me(i.node().name))},dependencies:[Kt,sr],encapsulation:2})}}return t})();var wn=t=>({$implicit:t}),Fa=(t,r)=>r.path;function Aa(t,r){if(t&1&&(u(0,"p",1),x(1),f()),t&2){let e=E();p(),_e("",e.word()," does not occur in any file.")}}function za(t,r){t&1&&_o(0)}function Ba(t,r){if(t&1&&(u(0,"div",2),Dt(1,za,1,0,"ng-container",3),f()),t&2){let e=E(),o=Ae(3);p(),C("ngTemplateOutlet",o)("ngTemplateOutletContext",yo(2,wn,e.topLevelOccurrences()))}}function Ha(t,r){t&1&&_o(0)}function ja(t,r){if(t&1&&Dt(0,Ha,1,0,"ng-container",3),t&2){let e=E().$implicit;E(2);let o=Ae(3);C("ngTemplateOutlet",o)("ngTemplateOutletContext",yo(2,wn,e.children))}}function Va(t,r){if(t&1){let e=he();u(0,"cc-domain-word-occurrence-row",4),M("clicked",function(){let i=Z(e).$implicit,n=E(2);return Q(n.clickRow(i))}),f(),u(1,"div",5),$(2,ja,1,4,"ng-container"),f()}if(t&2){let e=r.$implicit,o=E(2);C("node",e)("word",o.word())("isExpanded",o.isExpanded(e.path))("isSelected",e.path===o.selectedNodePath()),p(2),G(o.isExpanded(e.path)?2:-1)}}function qa(t,r){if(t&1&&Te(0,Va,3,5,null,null,Fa),t&2){let e=r.$implicit;Me(e)}}var xn=(()=>{class t{constructor(){this.readStore=m(Ve),this.word=W.required(),this.selectedNodePath=W(null),this.nodeClicked=se(),this.occurrences=ie(At(this.word).pipe(Ze(e=>this.readStore.occurrencesInFocusOf(e))),{initialValue:null}),this.topLevelOccurrences=_(()=>this.occurrences()?.children??[]),this.expandedPaths=re(new Set)}isExpanded(e){return this.expandedPaths().has(e)}clickRow(e){e.children.length>0&&this.toggle(e.path),this.nodeClicked.emit(e.path)}toggle(e){let o=new Set(this.expandedPaths());o.delete(e)||o.add(e),this.expandedPaths.set(o)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-domain-word-occurrence-tree"]],hostAttrs:[1,"block"],inputs:{word:[1,"word"],selectedNodePath:[1,"selectedNodePath"]},outputs:{nodeClicked:"nodeClicked"},decls:4,vars:1,consts:[["subtree",""],["data-testid","domain-word-occurrences-empty",1,"px-3","py-2","text-sm","opacity-60"],["data-testid","domain-word-occurrences-tree"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"clicked","node","word","isExpanded","isSelected"],[1,"pl-3"]],template:function(o,i){o&1&&($(0,Aa,2,1,"p",1)(1,Ba,2,4,"div",2),Dt(2,qa,2,0,"ng-template",null,0,vi)),o&2&&G(i.topLevelOccurrences().length===0?0:1)},dependencies:[Si,Cn],encapsulation:2})}}return t})();var Ua=t=>`domain-word-row-${t}`,_n=(()=>{class t{constructor(){this.word=W.required(),this.share=W(0),this.isExpanded=W(!1),this.toggled=se(),this.rowId=_(()=>Ua(this.word().text)),this.decoration=_(()=>`${no(this.share())} of all words \xB7 ${Yt(this.word().frequency)}`)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-domain-word-row"]],hostAttrs:[1,"block"],hostVars:3,hostBindings:function(o,i){o&1&&M("click",function(){return i.toggled.emit()}),o&2&&(ke("id",i.rowId()),Qe("data-testid",i.rowId())("aria-expanded",i.isExpanded()))},inputs:{word:[1,"word"],share:[1,"share"],isExpanded:[1,"isExpanded"]},outputs:{toggled:"toggled"},decls:4,vars:5,consts:[[1,"hover:bg-base-200",3,"barShare","decoration"],["aria-hidden","true",1,"fa","fa-font","text-xs","opacity-70"],[1,"node-name","ml-1","flex-1","truncate"]],template:function(o,i){o&1&&(u(0,"cc-explorer-row",0),F(1,"span",1),u(2,"span",2),x(3),f()()),o&2&&(C("barShare",i.share())("decoration",i.decoration()),p(2),Lt("font-semibold",i.isExpanded()),p(),me(i.word().text))},dependencies:[Kt],encapsulation:2})}}return t})();var yn=28,$a="cc-domain-word-row",jo={scrolledPast:0,viewportHeight:0,rowHeight:yn},ao=class{constructor(){this.scrollHost=null,this.measured=re(jo,{equal:(r,e)=>r.scrolledPast===e.scrolledPast&&r.viewportHeight===e.viewportHeight&&r.rowHeight===e.rowHeight}),this.geometry=this.measured.asReadonly(),this.remeasure=()=>this.measure()}attachTo(r,e){if(!(this.host===r&&this.scrollHost===e)){if(this.stopObserving(),this.host=r,this.scrollHost=e,!e){this.measured.set(jo);return}e.addEventListener("scroll",this.remeasure,{passive:!0}),typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(this.remeasure),this.resizeObserver.observe(r),this.resizeObserver.observe(e)),this.measure()}}measure(){let{host:r,scrollHost:e}=this;if(!(!r||!e)){if(!e.contains(r)){this.measured.set(jo);return}this.measured.set({scrolledPast:Math.max(0,e.getBoundingClientRect().top-r.getBoundingClientRect().top),viewportHeight:e.clientHeight,rowHeight:r.querySelector($a)?.offsetHeight||yn})}}dispose(){this.stopObserving(),this.host=void 0,this.scrollHost=null}stopObserving(){this.scrollHost?.removeEventListener("scroll",this.remeasure),this.resizeObserver?.disconnect(),this.resizeObserver=void 0}};var Ga=(t,r)=>r.text;function Xa(t,r){if(t&1){let e=he();u(0,"div",0)(1,"div",1)(2,"span",2),x(3,"Pinned"),f(),u(4,"button",3),M("click",function(){let i=Z(e),n=E();return Q(n.wordToggled.emit(i.text))}),F(5,"i",4),f()(),u(6,"cc-domain-word-row",5),M("toggled",function(){let i=Z(e),n=E();return Q(n.wordToggled.emit(i.text))}),f(),u(7,"div",6)(8,"cc-domain-word-occurrence-tree",7),M("nodeClicked",function(i){Z(e);let n=E();return Q(n.nodeClicked.emit(i))}),f()()()}if(t&2){let e=r,o=E();p(6),C("word",e)("share",o.shareOf(e))("isExpanded",!0),p(2),C("word",e.text)("selectedNodePath",o.selectedNodePath())}}function Ya(t,r){t&1&&(u(0,"p",8),x(1),f()),t&2&&(p(),me(r))}function Ka(t,r){if(t&1&&$(0,Ya,2,1,"p",8),t&2){let e,o=E();G((e=o.emptyHint())?0:-1,e)}}function Za(t,r){if(t&1){let e=he();u(0,"cc-domain-word-row",10),M("toggled",function(){let i=Z(e).$implicit,n=E(2);return Q(n.wordToggled.emit(i.text))}),f()}if(t&2){let e=r.$implicit,o=E(2);C("word",e)("share",o.shareOf(e))}}function Qa(t,r){if(t&1&&(F(0,"div"),Te(1,Za,1,2,"cc-domain-word-row",9,Ga),F(3,"div")),t&2){let e=E();ze("height",e.window().topSpacerHeight,"px"),p(),Me(e.renderedWords()),p(2),ze("height",e.window().bottomSpacerHeight,"px")}}var Vo=(()=>{class t{constructor(){this.readStore=m(Ve),this.hostElement=m(pi),this.scrollHostService=m(cr),this.viewport=new ao,this.query=W(""),this.sorting=W({option:ge.OCCURRENCES,ascending:!1}),this.expandedWord=W(null),this.selectedNodePath=W(null),this.wordToggled=se(),this.nodeClicked=se(),this.wordsInFocus=ie(this.readStore.wordsInFocus$,{requireSync:!0}),this.isFolderFocused=ie(this.readStore.isFolderFocused$,{requireSync:!0}),this.pinnedWord=_(()=>this.wordsInFocus().find(e=>e.text===this.expandedWord())??null),this.matchedWords=_(()=>Ct(this.wordsInFocus(),this.query())),this.visibleWords=_(()=>gn(this.matchedWords().filter(e=>e.text!==this.expandedWord()),this.sorting())),this.emptyHint=_(()=>this.wordsInFocus().length===0?this.isFolderFocused()?"The focused folder carries no words.":"This project carries no words.":this.matchedWords().length===0?`No word contains "${this.query().trim()}".`:null),this.geometry=_(()=>Ke(Ye({},this.viewport.geometry()),{rowCount:this.visibleWords().length})),this.window=_(()=>Sn(this.geometry())),this.renderedWords=_(()=>{let{firstIndex:e,lastIndex:o}=this.window();return this.visibleWords().slice(e,o+1)}),this.totalOccurrences=_(()=>this.wordsInFocus().reduce((e,o)=>e+o.frequency,0)),Fe(()=>this.viewport.attachTo(this.hostElement.nativeElement,this.scrollHostService.element()))}ngOnDestroy(){this.viewport.dispose()}shareOf(e){let o=this.totalOccurrences();return o>0?e.frequency/o:0}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-domain-word-list"]],hostAttrs:[1,"block"],inputs:{query:[1,"query"],sorting:[1,"sorting"],expandedWord:[1,"expandedWord"],selectedNodePath:[1,"selectedNodePath"]},outputs:{wordToggled:"wordToggled",nodeClicked:"nodeClicked"},decls:3,vars:2,consts:[["data-testid","domain-word-pin",1,"sticky","top-0","z-10","mb-1","rounded-md","border","border-base-300","bg-base-100","shadow-sm"],[1,"flex","items-center","gap-1","px-2","pt-1"],[1,"flex-1","text-[10px]","uppercase","tracking-wide","opacity-60"],["type","button","title","Unpin this word","data-testid","domain-word-unpin",1,"btn","btn-ghost","btn-xs","btn-square","shrink-0",3,"click"],[1,"fa","fa-times"],[3,"toggled","word","share","isExpanded"],[1,"max-h-64","overflow-y-auto","pl-3"],[3,"nodeClicked","word","selectedNodePath"],["data-testid","domain-word-list-empty",1,"px-3","py-4","text-sm","opacity-60"],[3,"word","share"],[3,"toggled","word","share"]],template:function(o,i){if(o&1&&($(0,Xa,9,5,"div",0),$(1,Ka,1,1)(2,Qa,4,4)),o&2){let n;G((n=i.pinnedWord())?0:-1,n),p(),G(i.visibleWords().length===0?1:2)}},dependencies:[_n,xn],encapsulation:2})}}return t})();var wt=(()=>{class t{constructor(){this.store=m(de),this.hiddenWords=ie(this.store.select(tt),{initialValue:[]})}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var xt=(()=>{class t{constructor(){this.store=m(de)}hide(e){this.store.dispatch(Ai({word:e}))}restore(e){this.store.dispatch(zi({word:e}))}restoreAll(){this.store.dispatch(Bi())}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ja=["popover"];function es(t,r){t&1&&(J(0,"div",6),x(1," Right-click a word in the cloud to drop it from the cloud and the word list. "),X())}function ts(t,r){if(t&1){let e=he();J(0,"li",8)(1,"span",10),x(2),X(),J(3,"button",11),De("click",function(){let i=Z(e).$implicit,n=E(2);return Q(n.restore(i))}),lt(4,"i",12),X()()}if(t&2){let e=r.$implicit;p(2),me(e),p(),ke("title","Show "+e+" again"),Qe("aria-label","Show "+e+" again")("data-testid","domain-restore-"+e)}}function os(t,r){if(t&1){let e=he();J(0,"ul",7),Te(1,ts,5,4,"li",8,It),X(),J(3,"button",9),De("click",function(){Z(e);let i=E();return Q(i.restoreAll())}),x(4," Show all words again "),X()}if(t&2){let e=E();p(),Me(e.hiddenWords())}}var qo=(()=>{class t{constructor(){this.readStore=m(wt),this.writeStore=m(xt),this.popoverId=W.required(),this.anchorName=W.required(),this.hiddenWords=_(()=>[...this.readStore.hiddenWords()].sort((e,o)=>e.localeCompare(o))),this.popover=Ft.required("popover")}closePopover(){this.popover().nativeElement.hidePopover()}restore(e){this.writeStore.restore(e)}restoreAll(){this.writeStore.restoreAll()}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-hidden-words-popover"]],viewQuery:function(o,i){o&1&&kt(i.popover,Ja,5),o&2&&Nt()},hostAttrs:[1,"contents"],inputs:{popoverId:[1,"popoverId"],anchorName:[1,"anchorName"]},decls:9,vars:4,consts:[["popover",""],["popover","",1,"dropdown","p-2","rounded-box","bg-base-100","shadow-lg","w-72",3,"id"],[1,"flex","items-center","justify-between","border-b","border-base-300","pb-1","mb-1"],[1,"text-sm","font-semibold","uppercase","tracking-wide"],["type","button","title","Close","data-testid","domain-hidden-words-close-button",1,"btn","btn-ghost","btn-xs","btn-square",3,"click"],[1,"fa","fa-times"],["data-testid","domain-hidden-words-empty",1,"px-2","py-3","text-xs","opacity-60"],["data-testid","domain-hidden-words-list",1,"m-0","flex","max-h-[60vh]","list-none","flex-col","overflow-y-auto","p-0"],[1,"flex","items-center","gap-2","rounded","py-1","pl-2","pr-1","hover:bg-base-200"],["type","button","data-testid","domain-restore-all-words",1,"btn","btn-sm","btn-block","mt-1",3,"click"],[1,"min-w-0","flex-1","truncate","text-sm"],["type","button",1,"btn","btn-ghost","btn-xs","btn-square",3,"click","title"],[1,"fa","fa-eye"]],template:function(o,i){o&1&&(J(0,"div",1,0)(2,"div",2)(3,"span",3),x(4,"Hidden Words"),X(),J(5,"button",4),De("click",function(){return i.closePopover()}),lt(6,"i",5),X()(),$(7,es,2,0,"div",6)(8,os,5,0),X()),o&2&&(ze("position-anchor","--"+i.anchorName()),ke("id",i.popoverId()),p(7),G(i.hiddenWords().length===0?7:8))},encapsulation:2})}}return t})();var bn=(()=>{class t{constructor(){this.store=m(de)}wordsForSelectedNode(e){return this.store.select(ye(er(e),tt,ro))}selectedNodeName(e){return Bt(e,zt.rootName)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function yt(t,r,e){if(e<=0)return[];let o=[];for(let i=0;i<t.length;i++){let n={word:t[i],value:Ie(t[i],r),index:i};if(o.length<e){is(o,o.push(n)-1);continue}_t(n,o[0])&&(o[0]=n,rs(o,0))}return o.sort((i,n)=>_t(i,n)?-1:1),o.map(({word:i})=>i)}function _t(t,r){return t.value>r.value||t.value===r.value&&t.index<r.index}function is(t,r){let e=r;for(;e>0;){let o=e-1>>1;if(!_t(t[o],t[e]))return;Tn(t,e,o),e=o}}function rs(t,r){let e=r;for(;ns(t,e);){let o=as(t,e);if(o===e)return;Tn(t,e,o),e=o}}var ns=(t,r)=>Wn(r)<t.length;function as(t,r){let e=Wn(r),o=e+1,i=r;return _t(t[i],t[e])&&(i=e),o<t.length&&_t(t[i],t[o])&&(i=o),i}var Wn=t=>2*t+1;function Tn(t,r,e){let o=t[r];t[r]=t[e],t[e]=o}var ss='<svg xmlns="http://www.w3.org/2000/svg" width="640" height="563" viewBox="58.7 0 64 56.3"><path fill="#000" d="M81.9,20.3h0c0-6.9,3.5-13,8.8-16.7C87.4,1.3,83.4,0,79.1,0,67.9,0,58.8,9.1,58.7,20.3h0v36h17.6V20.4h0c0-1.5,1.2-2.8,2.8-2.8s2.8,1.2,2.8,2.8h0Z"/><path fill="#000" d="M122.7,20.3c0-11.2-9.2-20.3-20.4-20.3s-20.3,9.1-20.4,20.3h0v36h17.6V20.4h0c0-1.1.6-2.1,1.6-2.5,2-.9,4,.6,4,2.5h0v35.9h17.6V20.3h0Z"/></svg>',Mn=`data:image/svg+xml,${encodeURIComponent(ss)}`;function Uo(t){return new Promise((r,e)=>{if(typeof Image>"u"){e(new Error("Image is not available in this environment"));return}let o=new Image;o.onload=()=>r(o),o.onerror=()=>e(new Error("Failed to load the word-cloud mask image")),o.src=t})}var $o="#e6007e",Go="#0030ff",ds="--wordCloudColorStart",cs="--wordCloudColorEnd",ls=/^#[0-9A-Fa-f]{6}$/;function Rn(){if(typeof document>"u"||typeof getComputedStyle>"u")return[$o,Go];let t=getComputedStyle(document.documentElement);return[En(t,ds,$o),En(t,cs,Go)]}function En(t,r,e){let o=t.getPropertyValue(r).trim();return Xo(o,e)}function Xo(t,r){return ls.test(t)?t:r}function Dn(t,r,e){let o=Math.min(1,Math.max(0,e)),i=jt.convertHexToColorObject(Xo(t,$o)),n=jt.convertHexToColorObject(Xo(r,Go));return jt.convertColorToHex(new Ci().lerpColors(i,n,o))}function In(t,r,e,o){let[i,n]=t;if(e||!o||r.length===0)return t;let a=Math.max(...r.map(g=>g.text.length)),s=o*.9/(a*.62),l=Math.max(Math.min(n,Math.floor(s)),1);return[Math.min(i,l),l]}var ms=3;function On(){return({name:t,data:r})=>{let e=[`<b>${rn(t)}</b>`,`Frequency: ${r.frequency}`];return r.tfidf!==void 0&&e.push(`TF-IDF: ${r.tfidf.toFixed(ms)}`),e.join("<br/>")}}var ps=31,kn=1e3;function Nn(t,r,e){return Dn(r,e,hs(t))}function hs(t){let r=0;for(let e of t)r=(r*ps+(e.codePointAt(0)??0))%kn;return r/kn}var us=10,fs="#333",gs='Roboto, "Helvetica Neue", sans-serif',vs=.55;function Pn(t,r,e={}){let o=In(r.sizeRange,t,r.drawOutOfBound,e.containerWidth),{shape:i,maskImage:n,keepAspect:a}=Cs(r.shape,e.maskImage);return{aria:{enabled:!0},tooltip:{show:!0,formatter:On()},series:[{type:"wordCloud",shape:i,maskImage:n,keepAspect:a,left:"center",top:"center",width:`${.9*100}%`,height:`${.9*100}%`,sizeRange:o,rotationRange:r.rotationRange,rotationStep:r.rotationStep,gridSize:r.gridSize,drawOutOfBound:r.drawOutOfBound,shrinkToFit:r.shrinkToFit,layoutAnimation:e.layoutAnimation??!0,textStyle:{fontFamily:gs,fontWeight:"bold"},emphasis:{textStyle:{textShadowBlur:us,textShadowColor:fs}},blur:{textStyle:{opacity:vs}},data:Ss(t,r)}]}}function Ss(t,r){let[e,o]=Rn();return t.map(i=>({name:i.text,value:Ie(i,r.sizingMode),frequency:i.frequency,tfidf:i.tfidf,textStyle:{color:Nn(i.text,e,o)}}))}function Cs(t,r){return t===Ee.logoM||t===Ee.custom?{shape:Ee.circle,maskImage:r,keepAspect:!0}:{shape:t,maskImage:void 0,keepAspect:!1}}var bt=Math.PI*2,qe=Lr.CMD,ws=["top","right","bottom","left"];function xs(t,r,e,o,i){var n=e.width,a=e.height;switch(t){case"top":o.set(e.x+n/2,e.y-r),i.set(0,-1);break;case"bottom":o.set(e.x+n/2,e.y+a+r),i.set(0,1);break;case"left":o.set(e.x-r,e.y+a/2),i.set(-1,0);break;case"right":o.set(e.x+n+r,e.y+a/2),i.set(1,0);break}}function _s(t,r,e,o,i,n,a,s,l){a-=t,s-=r;var g=Math.sqrt(a*a+s*s);a/=g,s/=g;var d=a*e+t,T=s*e+r;if(Math.abs(o-i)%bt<1e-4)return l[0]=d,l[1]=T,g-e;if(n){var w=o;o=je(i),i=je(w)}else o=je(o),i=je(i);o>i&&(i+=bt);var h=Math.atan2(s,a);if(h<0&&(h+=bt),h>=o&&h<=i||h+bt>=o&&h+bt<=i)return l[0]=d,l[1]=T,g-e;var y=e*Math.cos(o)+t,D=e*Math.sin(o)+r,z=e*Math.cos(i)+t,le=e*Math.sin(i)+r,H=(y-a)*(y-a)+(D-s)*(D-s),Y=(z-a)*(z-a)+(le-s)*(le-s);return H<Y?(l[0]=y,l[1]=D,Math.sqrt(H)):(l[0]=z,l[1]=le,Math.sqrt(Y))}function Ko(t,r,e,o,i,n,a,s){var l=i-t,g=n-r,d=e-t,T=o-r,w=Math.sqrt(d*d+T*T);d/=w,T/=w;var h=l*d+g*T,y=h/w;s&&(y=Math.min(Math.max(y,0),1)),y*=w;var D=a[0]=t+y*d,z=a[1]=r+y*T;return Math.sqrt((D-i)*(D-i)+(z-n)*(z-n))}function An(t,r,e,o,i,n,a){e<0&&(t=t+e,e=-e),o<0&&(r=r+o,o=-o);var s=t+e,l=r+o,g=a[0]=Math.min(Math.max(i,t),s),d=a[1]=Math.min(Math.max(n,r),l);return Math.sqrt((g-i)*(g-i)+(d-n)*(d-n))}var be=[];function ys(t,r,e){var o=An(r.x,r.y,r.width,r.height,t.x,t.y,be);return e.set(be[0],be[1]),o}function bs(t,r,e){for(var o=0,i=0,n=0,a=0,s,l,g=1/0,d=r.data,T=t.x,w=t.y,h=0;h<d.length;){var y=d[h++];h===1&&(o=d[h],i=d[h+1],n=o,a=i);var D=g;switch(y){case qe.M:n=d[h++],a=d[h++],o=n,i=a;break;case qe.L:D=Ko(o,i,d[h],d[h+1],T,w,be,!0),o=d[h++],i=d[h++];break;case qe.C:D=kr(o,i,d[h++],d[h++],d[h++],d[h++],d[h],d[h+1],T,w,be),o=d[h++],i=d[h++];break;case qe.Q:D=Nr(o,i,d[h++],d[h++],d[h],d[h+1],T,w,be),o=d[h++],i=d[h++];break;case qe.A:var z=d[h++],le=d[h++],H=d[h++],Y=d[h++],pe=d[h++],Le=d[h++];h+=1;var at=!!(1-d[h++]);s=Math.cos(pe)*H+z,l=Math.sin(pe)*Y+le,h<=1&&(n=s,a=l);var Ge=(T-z)*Y/H+z;D=_s(z,le,Y,pe,pe+Le,at,Ge,w,be),o=Math.cos(pe+Le)*H+z,i=Math.sin(pe+Le)*Y+le;break;case qe.R:n=o=d[h++],a=i=d[h++];var st=d[h++],Mt=d[h++];D=An(n,a,st,Mt,T,w,be);break;case qe.Z:D=Ko(o,i,n,a,T,w,be,!0),o=n,i=a;break}D<g&&(g=D,e.set(be[0],be[1]))}return g}var $e=new we,ce=new we,Ce=new we,rt=new we,Wt=new we;function Zo(t,r){if(t){var e=t.getTextGuideLine(),o=t.getTextContent();if(o&&e){var i=t.textGuideLineConfig||{},n=[[0,0],[0,0],[0,0]],a=i.candidates||ws,s=o.getBoundingRect().clone();s.applyTransform(o.getComputedTransform());var l=1/0,g=i.anchor,d=t.getComputedTransform(),T=d&&Ir([],d),w=r.get("length2")||0;g&&Ce.copy(g);for(var h=0;h<a.length;h++){var y=a[h];xs(y,0,s,$e,rt),we.scaleAndAdd(ce,$e,rt,w),ce.transform(T);var D=t.getBoundingRect(),z=g?g.distance(ce):t instanceof Pr?bs(ce,t.path,Ce):ys(ce,D,Ce);z<l&&(l=z,ce.transform(d),Ce.transform(d),Ce.toArray(n[0]),ce.toArray(n[1]),$e.toArray(n[2]))}Ws(n,r.get("minTurnAngle")),e.setShape({points:n})}}}var Fn=[],Ue=new we;function Ws(t,r){if(r<=180&&r>0){r=r/180*Math.PI,$e.fromArray(t[0]),ce.fromArray(t[1]),Ce.fromArray(t[2]),we.sub(rt,$e,ce),we.sub(Wt,Ce,ce);var e=rt.len(),o=Wt.len();if(!(e<.001||o<.001)){rt.scale(1/e),Wt.scale(1/o);var i=rt.dot(Wt),n=Math.cos(r);if(n<i){var a=Ko(ce.x,ce.y,Ce.x,Ce.y,$e.x,$e.y,Fn,!1);Ue.fromArray(Fn),Ue.scaleAndAdd(Wt,a/Math.tan(Math.PI-r));var s=Ce.x!==ce.x?(Ue.x-ce.x)/(Ce.x-ce.x):(Ue.y-ce.y)/(Ce.y-ce.y);if(isNaN(s))return;s<0?we.copy(Ue,ce):s>1&&we.copy(Ue,Ce),Ue.toArray(t[1])}}}}function Yo(t,r,e,o){var i=e==="normal",n=i?t:t.ensureState(e);n.ignore=r;var a=o.get("smooth");a=a===!0?.3:Math.max(+a,0)||0,n.shape=n.shape||{},n.shape.smooth=a;var s=o.getModel("lineStyle").getLineStyle();i?t.useStyle(s):n.style=s}function Ts(t,r){var e=r.smooth,o=r.points;if(o)if(t.moveTo(o[0][0],o[0][1]),e>0&&o.length>=3){var i=Do(o[0],o[1]),n=Do(o[1],o[2]);if(!i||!n){t.lineTo(o[1][0],o[1][1]),t.lineTo(o[2][0],o[2][1]);return}var a=Math.min(i,n)*e,s=eo([],o[1],o[0],a/i),l=eo([],o[1],o[2],a/n),g=eo([],s,l,.5);t.bezierCurveTo(s[0],s[1],s[0],s[1],g[0],g[1]),t.bezierCurveTo(l[0],l[1],l[0],l[1],o[2][0],o[2][1])}else for(var d=1;d<o.length;d++)t.lineTo(o[d][0],o[d][1])}function zn(t,r,e){var o=t.getTextGuideLine(),i=t.getTextContent();if(!i){o&&t.removeTextGuideLine();return}for(var n=r.normal,a=n.get("show"),s=i.ignore,l=0;l<No.length;l++){var g=No[l],d=r[g],T=g==="normal";if(d){var w=d.get("show"),h=T?s:ut(i.states[g]&&i.states[g].ignore,s);if(h||!ut(w,a)){var y=T?o:o&&o.states[g];y&&(y.ignore=!0),o&&Yo(o,!0,g,d);continue}o||(o=new Fr,t.setTextGuideLine(o),!T&&(s||!a)&&Yo(o,!0,"normal",r.normal),t.stateProxy&&(o.stateProxy=t.stateProxy)),Yo(o,!1,g,d)}}if(o){Rr(o.style,e),o.style.fill=null;var D=n.get("showAbove"),z=t.textGuideLineConfig=t.textGuideLineConfig||{};z.showAbove=D||!1,o.buildPath=Ts}}function Bn(t,r){r=r||"labelLine";for(var e={normal:t.getModel(r)},o=0;o<ko.length;o++){var i=ko[o];e[i]=t.getModel([i,r])}return e}function Ms(t){if(t){for(var r=[],e=0;e<t.length;e++)r.push(t[e].slice());return r}}function Es(t,r){var e=t.label,o=r&&r.getTextGuideLine();return{dataIndex:t.dataIndex,dataType:t.dataType,seriesIndex:t.seriesModel.seriesIndex,text:t.label.style.text,rect:t.hostRect,labelRect:t.rect,align:e.style.align,verticalAlign:e.style.verticalAlign,labelLinePoints:Ms(o&&o.shape.points)}}var Hn=["align","verticalAlign","width","height","fontSize"],fe=new Or,Qo=ft(),Rs=ft();function so(t,r,e){for(var o=0;o<e.length;o++){var i=e[o];r[i]!=null&&(t[i]=r[i])}}var co=["x","y","rotation"],Ds=(function(){function t(){this._labelList=[],this._chartViewList=[]}return t.prototype.clearLabels=function(){this._labelList=[],this._chartViewList=[]},t.prototype._addLabel=function(r,e,o,i,n){var a=i.style,s=i.__hostTarget,l=s.textConfig||{},g=i.getComputedTransform(),d=i.getBoundingRect().plain();Io.applyTransform(d,d,g),g?fe.setLocalTransform(g):(fe.x=fe.y=fe.rotation=fe.originX=fe.originY=0,fe.scaleX=fe.scaleY=1),fe.rotation=je(fe.rotation);var T=i.__hostTarget,w;if(T){w=T.getBoundingRect().plain();var h=T.getComputedTransform();Io.applyTransform(w,w,h)}var y=w&&T.getTextGuideLine();this._labelList.push({label:i,labelLine:y,seriesModel:o,dataIndex:r,dataType:e,layoutOptionOrCb:n,layoutOption:null,rect:d,hostRect:w,priority:w?w.width*w.height:0,defaultAttr:{ignore:i.ignore,labelGuideIgnore:y&&y.ignore,x:fe.x,y:fe.y,scaleX:fe.scaleX,scaleY:fe.scaleY,rotation:fe.rotation,style:{x:a.x,y:a.y,align:a.align,verticalAlign:a.verticalAlign,width:a.width,height:a.height,fontSize:a.fontSize},cursor:i.cursor,attachedPos:l.position,attachedRot:l.rotation}})},t.prototype.addLabelsOfSeries=function(r){var e=this;this._chartViewList.push(r);var o=r.__model,i=o.get("labelLayout");(Ro(i)||Dr(i).length)&&r.group.traverse(function(n){if(n.ignore)return!0;var a=n.getTextContent(),s=to(n);a&&!a.disableLabelLayout&&e._addLabel(s.dataIndex,s.dataType,o,a,i)})},t.prototype.updateLayoutConfig=function(r){var e=r.getWidth(),o=r.getHeight();function i(Y,pe){return function(){Zo(Y,pe)}}for(var n=0;n<this._labelList.length;n++){var a=this._labelList[n],s=a.label,l=s.__hostTarget,g=a.defaultAttr,d=void 0;Ro(a.layoutOptionOrCb)?d=a.layoutOptionOrCb(Es(a,l)):d=a.layoutOptionOrCb,d=d||{},a.layoutOption=d;var T=Math.PI/180;l&&l.setTextConfig({local:!1,position:d.x!=null||d.y!=null?null:g.attachedPos,rotation:d.rotate!=null?d.rotate*T:g.attachedRot,offset:[d.dx||0,d.dy||0]});var w=!1;if(d.x!=null?(s.x=Oo(d.x,e),s.setStyle("x",0),w=!0):(s.x=g.x,s.setStyle("x",g.style.x)),d.y!=null?(s.y=Oo(d.y,o),s.setStyle("y",0),w=!0):(s.y=g.y,s.setStyle("y",g.style.y)),d.labelLinePoints){var h=l.getTextGuideLine();h&&(h.setShape({points:d.labelLinePoints}),w=!1)}var y=Qo(s);y.needsUpdateLabelLine=w,s.rotation=d.rotate!=null?d.rotate*T:g.rotation,s.scaleX=g.scaleX,s.scaleY=g.scaleY;for(var D=0;D<Hn.length;D++){var z=Hn[D];s.setStyle(z,d[z]!=null?d[z]:g.style[z])}if(d.draggable){if(s.draggable=!0,s.cursor="move",l){var le=a.seriesModel;if(a.dataIndex!=null){var H=a.seriesModel.getData(a.dataType);le=H.getItemModel(a.dataIndex)}s.on("drag",i(l,le.getModel("labelLine")))}}else s.off("drag"),s.cursor=g.cursor}},t.prototype.layout=function(r){var e=r.getWidth(),o=r.getHeight(),i=[];ht(this._labelList,function(l){l.defaultAttr.ignore||i.push(jr({},l))});var n=Jt(i,function(l){return l.layoutOption.moveOverlap==="shiftX"}),a=Jt(i,function(l){return l.layoutOption.moveOverlap==="shiftY"});Fo(n,0,0,e),Fo(a,1,0,o);var s=Jt(i,function(l){return l.layoutOption.hideOverlap});Vr(s),qr(s)},t.prototype.processLabelsOverall=function(){var r=this;ht(this._chartViewList,function(e){var o=e.__model,i=e.ignoreLabelLineUpdate,n=o.isAnimationEnabled();e.group.traverse(function(a){if(a.ignore&&!a.forceLabelAnimation)return!0;var s=!i,l=a.getTextContent();!s&&l&&(s=Qo(l).needsUpdateLabelLine),s&&r._updateLabelLine(a,o),n&&r._animateLabels(a,o)})})},t.prototype._updateLabelLine=function(r,e){var o=r.getTextContent(),i=to(r),n=i.dataIndex;if(o&&n!=null){var a=e.getData(i.dataType),s=a.getItemModel(n),l={},g=a.getItemVisual(n,"style");if(g){var d=a.getVisual("drawType");l.stroke=g[d]}var T=s.getModel("labelLine");zn(r,Bn(s),l),Zo(r,T)}},t.prototype._animateLabels=function(r,e){var o=r.getTextContent(),i=r.getTextGuideLine();if(o&&(r.forceLabelAnimation||!o.ignore&&!o.invisible&&!r.disableLabelAnimation&&!Ar(r))){var n=Qo(o),a=n.oldLayout,s=to(r),l=s.dataIndex,g={x:o.x,y:o.y,rotation:o.rotation},d=e.getData(s.dataType);if(a){o.attr(a);var w=r.prevStates;w&&(Eo(w,"select")>=0&&o.attr(n.oldLayoutSelect),Eo(w,"emphasis")>=0&&o.attr(n.oldLayoutEmphasis)),Lo(o,g,e,l)}else if(o.attr(g),!zr(o).valueAnimation){var T=ut(o.style.opacity,1);o.style.opacity=0,Po(o,{style:{opacity:T}},e,l)}if(n.oldLayout=g,o.states.select){var h=n.oldLayoutSelect={};so(h,g,co),so(h,o.states.select,co)}if(o.states.emphasis){var y=n.oldLayoutEmphasis={};so(y,g,co),so(y,o.states.emphasis,co)}Br(o,l,d,e,e)}if(i&&!i.ignore&&!i.invisible){var n=Rs(i),a=n.oldLayout,D={points:i.shape.points};a?(i.attr({shape:a}),Lo(i,{shape:D},e)):(i.setShape(D),i.style.strokePercent=0,Po(i,{style:{strokePercent:1}},e)),n.oldLayout=D}},t})(),jn=Ds;var Jo=ft();function Vn(t){t.registerUpdateLifecycle("series:beforeupdate",function(r,e,o){var i=Jo(e).labelManager;i||(i=Jo(e).labelManager=new jn),i.clearLabels()}),t.registerUpdateLifecycle("series:layoutlabels",function(r,e,o){var i=Jo(e).labelManager;ht(o.updatedSeries,function(n){i.addLabelsOfSeries(e.getViewOfSeriesModel(n))}),i.updateLayoutConfig(e),i.layout(e),i.processLabelsOverall()})}gt([io,Kr]);gt(Vn);en({type:"series.wordCloud",visualStyleAccessPath:"textStyle",visualStyleMapper:function(t){return{fill:t.get("color")}},visualDrawType:"fill",optionUpdated:function(){var t=this.option;t.gridSize=Math.max(Math.floor(t.gridSize),4)},getInitialData:function(t,r){var e=Oe.createDimensions(t.data,{coordDimensions:["value"]}),o=new Hr(e,this);return o.initData(t.data),o},defaultOption:{maskImage:null,shape:"circle",keepAspect:!1,left:"center",top:"center",width:"70%",height:"80%",sizeRange:[12,60],rotationRange:[-90,90],rotationStep:45,gridSize:8,drawOutOfBound:!1,shrinkToFit:!1,textStyle:{fontWeight:"normal"}}});tn({type:"wordCloud",render:function(t,r,e){var o=this.group;o.removeAll();var i=t.getData(),n=t.get("gridSize");t.layoutInstance.ondraw=function(a,s,l,g){var d=i.getItemModel(l),T=d.getModel("textStyle"),w=new Qr.Text({style:Oe.createTextStyle(T),scaleX:1/g.info.mu,scaleY:1/g.info.mu,x:(g.gx+g.info.gw/2)*n,y:(g.gy+g.info.gh/2)*n,rotation:g.rot});w.setStyle({x:g.info.fillTextOffsetX,y:g.info.fillTextOffsetY+s*.5,text:a,verticalAlign:"middle",fill:i.getItemVisual(l,"style").fill,fontSize:s}),o.add(w),i.setItemGraphicEl(l,w),w.ensureState("emphasis").style=Oe.createTextStyle(d.getModel(["emphasis","textStyle"]),{state:"emphasis"}),w.ensureState("blur").style=Oe.createTextStyle(d.getModel(["blur","textStyle"]),{state:"blur"}),Oe.enableHoverEmphasis(w,d.get(["emphasis","focus"]),d.get(["emphasis","blurScope"])),w.stateTransition={duration:t.get("animation")?t.get(["stateAnimation","duration"]):0,easing:t.get(["stateAnimation","easing"])},w.__highDownDispatcher=!0},this._model=t},remove:function(){this.group.removeAll(),this._model.layoutInstance.dispose()},dispose:function(){this._model.layoutInstance.dispose()}});window.setImmediate||(window.setImmediate=(function(){return window.msSetImmediate||window.webkitSetImmediate||window.mozSetImmediate||window.oSetImmediate||(function(){if(!window.postMessage||!window.addEventListener)return null;var e=[void 0],o="zero-timeout-message",i=function(a){var s=e.length;return e.push(a),window.postMessage(o+s.toString(36),"*"),s};return window.addEventListener("message",function(a){if(!(typeof a.data!="string"||a.data.substr(0,o.length)!==o)){a.stopImmediatePropagation();var s=parseInt(a.data.substr(o.length),36);e[s]&&(e[s](),e[s]=void 0)}},!0),window.clearImmediate=function(a){e[a]&&(e[a]=void 0)},i})()||function(e){window.setTimeout(e,0)}})());window.clearImmediate||(window.clearImmediate=(function(){return window.msClearImmediate||window.webkitClearImmediate||window.mozClearImmediate||window.oClearImmediate||function(e){window.clearTimeout(e)}})());var oi=(function(){var r=document.createElement("canvas");if(!r||!r.getContext)return!1;var e=r.getContext("2d");return!(!e||!e.getImageData||!e.fillText||!Array.prototype.some||!Array.prototype.push)})(),ti=(function(){if(oi){for(var r=document.createElement("canvas").getContext("2d"),e=20,o,i;e;){if(r.font=e.toString(10)+"px sans-serif",r.measureText("\uFF37").width===o&&r.measureText("m").width===i)return e+1;o=r.measureText("\uFF37").width,i=r.measureText("m").width,e--}return 0}})(),Is=function(t){if(Array.isArray(t)){var r=t.slice();return r.splice(0,2),r}else return[]},Os=function(r){for(var e,o,i=r.length;i;)e=Math.floor(Math.random()*i),o=r[--i],r[i]=r[e],r[e]=o;return r},nt={},ii=function(r,e){if(!oi)return;var o=Math.floor(Math.random()*Date.now());Array.isArray(r)||(r=[r]),r.forEach(function(L,c){if(typeof L=="string"){if(r[c]=document.getElementById(L),!r[c])throw new Error("The element id specified is not found.")}else if(!L.tagName&&!L.appendChild)throw new Error("You must pass valid HTML elements, or ID of the element.")});var i={list:[],fontFamily:'"Trebuchet MS", "Heiti TC", "\u5FAE\u8EDF\u6B63\u9ED1\u9AD4", "Arial Unicode MS", "Droid Fallback Sans", sans-serif',fontWeight:"normal",color:"random-dark",minSize:0,weightFactor:1,clearCanvas:!0,backgroundColor:"#fff",gridSize:8,drawOutOfBound:!1,shrinkToFit:!1,origin:null,drawMask:!1,maskColor:"rgba(255,0,0,0.3)",maskGapWidth:.3,layoutAnimation:!0,wait:0,abortThreshold:0,abort:function(){},minRotation:-Math.PI/2,maxRotation:Math.PI/2,rotationStep:.1,shuffle:!0,rotateRatio:.1,shape:"circle",ellipticity:.65,classes:null,hover:null,click:null};if(e)for(var n in e)n in i&&(i[n]=e[n]);if(typeof i.weightFactor!="function"){var a=i.weightFactor;i.weightFactor=function(c){return c*a}}if(typeof i.shape!="function")switch(i.shape){case"circle":default:i.shape="circle";break;case"cardioid":i.shape=function(c){return 1-Math.sin(c)};break;case"diamond":i.shape=function(c){var v=c%(2*Math.PI/4);return 1/(Math.cos(v)+Math.sin(v))};break;case"square":i.shape=function(c){return Math.min(1/Math.abs(Math.cos(c)),1/Math.abs(Math.sin(c)))};break;case"triangle-forward":i.shape=function(c){var v=c%(2*Math.PI/3);return 1/(Math.cos(v)+Math.sqrt(3)*Math.sin(v))};break;case"triangle":case"triangle-upright":i.shape=function(c){var v=(c+Math.PI*3/2)%(2*Math.PI/3);return 1/(Math.cos(v)+Math.sqrt(3)*Math.sin(v))};break;case"pentagon":i.shape=function(c){var v=(c+.955)%(2*Math.PI/5);return 1/(Math.cos(v)+.726543*Math.sin(v))};break;case"star":i.shape=function(c){var v=(c+.955)%(2*Math.PI/10);return(c+.955)%(2*Math.PI/5)-2*Math.PI/10>=0?1/(Math.cos(2*Math.PI/10-v)+3.07768*Math.sin(2*Math.PI/10-v)):1/(Math.cos(v)+3.07768*Math.sin(v))};break}i.gridSize=Math.max(Math.floor(i.gridSize),4);var s=i.gridSize,l=s-i.maskGapWidth,g=Math.abs(i.maxRotation-i.minRotation),d=Math.min(i.maxRotation,i.minRotation),T=i.rotationStep,w,h,y,D,z,le,H;function Y(L,c){return"hsl("+(Math.random()*360).toFixed()+","+(Math.random()*30+70).toFixed()+"%,"+(Math.random()*(c-L)+L).toFixed()+"%)"}switch(i.color){case"random-dark":H=function(){return Y(10,50)};break;case"random-light":H=function(){return Y(50,90)};break;default:typeof i.color=="function"&&(H=i.color);break}var pe;typeof i.fontWeight=="function"&&(pe=i.fontWeight);var Le=null;typeof i.classes=="function"&&(Le=i.classes);var at=!1,Ge=[],st,Mt=function(c){var v=c.currentTarget,S=v.getBoundingClientRect(),R,b;c.touches?(R=c.touches[0].clientX,b=c.touches[0].clientY):(R=c.clientX,b=c.clientY);var B=R-S.left,k=b-S.top,P=Math.floor(B*(v.width/S.width||1)/s),U=Math.floor(k*(v.height/S.height||1)/s);return Ge[P]?Ge[P][U]:null},li=function(c){var v=Mt(c);if(st!==v){if(st=v,!v){i.hover(void 0,void 0,c);return}i.hover(v.item,v.dimension,c)}},go=function(c){var v=Mt(c);v&&(i.click(v.item,v.dimension,c),c.preventDefault())},vo=[],ra=function(c){if(vo[c])return vo[c];var v=c*8,S=v,R=[];for(c===0&&R.push([D[0],D[1],0]);S--;){var b=1;i.shape!=="circle"&&(b=i.shape(S/v*2*Math.PI)),R.push([D[0]+c*b*Math.cos(-S/v*2*Math.PI),D[1]+c*b*Math.sin(-S/v*2*Math.PI)*i.ellipticity,S/v*2*Math.PI])}return vo[c]=R,R},So=function(){return i.abortThreshold>0&&new Date().getTime()-le>i.abortThreshold},na=function(){return i.rotateRatio===0||Math.random()>i.rotateRatio?0:g===0?d:d+Math.round(Math.random()*g/T)*T},aa=function(c,v,S,R){var b=!1,B=i.weightFactor(v);if(B<=i.minSize)return!1;var k=1;B<ti&&(k=(function(){for(var xo=2;xo*B<ti;)xo+=2;return xo})());var P;pe?P=pe(c,v,B,R):P=i.fontWeight;var U=document.createElement("canvas"),I=U.getContext("2d",{willReadFrequently:!0});I.font=P+" "+(B*k).toString(10)+"px "+i.fontFamily;var q=I.measureText(c).width/k,j=Math.max(B*k,I.measureText("m").width,I.measureText("\uFF37").width)/k,ee=q+j*2,ae=j*3,ve=Math.ceil(ee/s),te=Math.ceil(ae/s);ee=ve*s,ae=te*s;var N=-q/2,K=-j*.4,oe=Math.ceil((ee*Math.abs(Math.sin(S))+ae*Math.abs(Math.cos(S)))/s),Se=Math.ceil((ee*Math.abs(Math.cos(S))+ae*Math.abs(Math.sin(S)))/s),Pe=Se*s,Xe=oe*s;U.setAttribute("width",Pe),U.setAttribute("height",Xe),b&&(document.body.appendChild(U),I.save()),I.scale(1/k,1/k),I.translate(Pe*k/2,Xe*k/2),I.rotate(-S),I.font=P+" "+(B*k).toString(10)+"px "+i.fontFamily,I.fillStyle="#000",I.textBaseline="middle",I.fillText(c,N*k,(K+B*.5)*k);var ha=I.getImageData(0,0,Pe,Xe).data;if(So())return!1;b&&(I.strokeRect(N*k,K,q*k,j*k),I.restore());for(var mi=[],Re=Se,We,Co,wo,ue=[oe/2,Se/2,oe/2,Se/2];Re--;)for(We=oe;We--;){wo=s;e:for(;wo--;)for(Co=s;Co--;)if(ha[((We*s+wo)*Pe+(Re*s+Co))*4+3]){mi.push([Re,We]),Re<ue[3]&&(ue[3]=Re),Re>ue[1]&&(ue[1]=Re),We<ue[0]&&(ue[0]=We),We>ue[2]&&(ue[2]=We),b&&(I.fillStyle="rgba(255, 0, 0, 0.5)",I.fillRect(Re*s,We*s,s-.5,s-.5));break e}b&&(I.fillStyle="rgba(0, 0, 255, 0.5)",I.fillRect(Re*s,We*s,s-.5,s-.5))}return b&&(I.fillStyle="rgba(0, 255, 0, 0.5)",I.fillRect(ue[3]*s,ue[0]*s,(ue[1]-ue[3]+1)*s,(ue[2]-ue[0]+1)*s)),{mu:k,occupied:mi,bounds:ue,gw:Se,gh:oe,fillTextOffsetX:N,fillTextOffsetY:K,fillTextWidth:q,fillTextHeight:j,fontSize:B}},sa=function(c,v,S,R,b){for(var B=b.length;B--;){var k=c+b[B][0],P=v+b[B][1];if(k>=h||P>=y||k<0||P<0){if(!i.drawOutOfBound)return!1;continue}if(!w[k][P])return!1}return!0},da=function(c,v,S,R,b,B,k,P,U,I){var q=S.fontSize,j;H?j=H(R,b,q,B,k,I):j=i.color;var ee;pe?ee=pe(R,b,q,I):ee=i.fontWeight;var ae;Le?ae=Le(R,b,q,I):ae=i.classes,r.forEach(function(ve){if(ve.getContext){var te=ve.getContext("2d"),N=S.mu;te.save(),te.scale(1/N,1/N),te.font=ee+" "+(q*N).toString(10)+"px "+i.fontFamily,te.fillStyle=j,te.translate((c+S.gw/2)*s*N,(v+S.gh/2)*s*N),P!==0&&te.rotate(-P),te.textBaseline="middle",te.fillText(R,S.fillTextOffsetX*N,(S.fillTextOffsetY+q*.5)*N),te.restore()}else{var K=document.createElement("span"),oe="";oe="rotate("+-P/Math.PI*180+"deg) ",S.mu!==1&&(oe+="translateX(-"+S.fillTextWidth/4+"px) scale("+1/S.mu+")");var Se={position:"absolute",display:"block",font:ee+" "+q*S.mu+"px "+i.fontFamily,left:(c+S.gw/2)*s+S.fillTextOffsetX+"px",top:(v+S.gh/2)*s+S.fillTextOffsetY+"px",width:S.fillTextWidth+"px",height:S.fillTextHeight+"px",lineHeight:q+"px",whiteSpace:"nowrap",transform:oe,webkitTransform:oe,msTransform:oe,transformOrigin:"50% 40%",webkitTransformOrigin:"50% 40%",msTransformOrigin:"50% 40%"};j&&(Se.color=j),K.textContent=R;for(var Pe in Se)K.style[Pe]=Se[Pe];if(U)for(var Xe in U)K.setAttribute(Xe,U[Xe]);ae&&(K.className+=ae),ve.appendChild(K)}})},ca=function(c,v,S,R,b){if(!(c>=h||v>=y||c<0||v<0)){if(w[c][v]=!1,S){var B=r[0].getContext("2d");B.fillRect(c*s,v*s,l,l)}at&&(Ge[c][v]={item:b,dimension:R})}},la=function(c,v,S,R,b,B){var k=b.occupied,P=i.drawMask,U;P&&(U=r[0].getContext("2d"),U.save(),U.fillStyle=i.maskColor);var I;if(at){var q=b.bounds;I={x:(c+q[3])*s,y:(v+q[0])*s,w:(q[1]-q[3]+1)*s,h:(q[2]-q[0]+1)*s}}for(var j=k.length;j--;){var ee=c+k[j][0],ae=v+k[j][1];ee>=h||ae>=y||ee<0||ae<0||ca(ee,ae,P,I,B)}P&&U.restore()},ma=function L(c,v){if(v>20)return null;var S,R,b;Array.isArray(c)?(S=c[0],R=c[1]):(S=c.word,R=c.weight,b=c.attributes);var B=na(),k=Is(c),P=aa(S,R,B,k);if(!P||So())return!1;if(!i.drawOutOfBound&&!i.shrinkToFit){var U=P.bounds;if(U[1]-U[3]+1>h||U[2]-U[0]+1>y)return!1}for(var I=z+1,q=function(ve){var te=Math.floor(ve[0]-P.gw/2),N=Math.floor(ve[1]-P.gh/2),K=P.gw,oe=P.gh;return sa(te,N,K,oe,P.occupied)?(da(te,N,P,S,R,z-I,ve[2],B,b,k),la(te,N,K,oe,P,c),{gx:te,gy:N,rot:B,info:P}):!1};I--;){var j=ra(z-I);i.shuffle&&(j=[].concat(j),Os(j));for(var ee=0;ee<j.length;ee++){var ae=q(j[ee]);if(ae)return ae}}return i.shrinkToFit?(Array.isArray(c)?c[1]=c[1]*3/4:c.weight=c.weight*3/4,L(c,v+1)):null},dt=function(c,v,S){if(v)return!r.some(function(R){var b=new CustomEvent(c,{cancelable:!0,detail:S||{}});return!R.dispatchEvent(b)},this);r.forEach(function(R){var b=new CustomEvent(c,{detail:S||{}});R.dispatchEvent(b)},this)},pa=function(){var c=r[0];if(c.getContext)h=Math.ceil(c.width/s),y=Math.ceil(c.height/s);else{var v=c.getBoundingClientRect();h=Math.ceil(v.width/s),y=Math.ceil(v.height/s)}if(dt("wordcloudstart",!0)){D=i.origin?[i.origin[0]/s,i.origin[1]/s]:[h/2,y/2],z=Math.floor(Math.sqrt(h*h+y*y)),w=[];var S,R,b;if(!c.getContext||i.clearCanvas)for(r.forEach(function(N){if(N.getContext){var K=N.getContext("2d");K.fillStyle=i.backgroundColor,K.clearRect(0,0,h*(s+1),y*(s+1)),K.fillRect(0,0,h*(s+1),y*(s+1))}else N.textContent="",N.style.backgroundColor=i.backgroundColor,N.style.position="relative"}),S=h;S--;)for(w[S]=[],R=y;R--;)w[S][R]=!0;else{var B=document.createElement("canvas").getContext("2d");B.fillStyle=i.backgroundColor,B.fillRect(0,0,1,1);var k=B.getImageData(0,0,1,1).data,P=c.getContext("2d").getImageData(0,0,h*s,y*s).data;S=h;for(var U,I;S--;)for(w[S]=[],R=y;R--;){I=s;e:for(;I--;)for(U=s;U--;)for(b=4;b--;)if(P[((R*s+I)*h*s+(S*s+U))*4+b]!==k[b]){w[S][R]=!1;break e}w[S][R]!==!1&&(w[S][R]=!0)}P=B=k=void 0}if(i.hover||i.click){for(at=!0,S=h+1;S--;)Ge[S]=[];i.hover&&c.addEventListener("mousemove",li),i.click&&(c.addEventListener("click",go),c.addEventListener("touchstart",go),c.addEventListener("touchend",function(N){N.preventDefault()}),c.style.webkitTapHighlightColor="rgba(0, 0, 0, 0)"),c.addEventListener("wordcloudstart",function N(){c.removeEventListener("wordcloudstart",N),c.removeEventListener("mousemove",li),c.removeEventListener("click",go),st=void 0})}b=0;var q,j,ee=!0;i.layoutAnimation?i.wait!==0?(q=window.setTimeout,j=window.clearTimeout):(q=window.setImmediate,j=window.clearImmediate):(q=function(N){N()},j=function(){ee=!1});var ae=function(K,oe){r.forEach(function(Se){Se.addEventListener(K,oe)},this)},ve=function(K,oe){r.forEach(function(Se){Se.removeEventListener(K,oe)},this)},te=function N(){ve("wordcloudstart",N),j(nt[o])};ae("wordcloudstart",te),nt[o]=(i.layoutAnimation?q:setTimeout)(function N(){if(ee){if(b>=i.list.length){j(nt[o]),dt("wordcloudstop",!1),ve("wordcloudstart",te),delete nt[o];return}le=new Date().getTime();var K=ma(i.list[b],0),oe=!dt("wordclouddrawn",!0,{item:i.list[b],drawn:K});if(So()||oe){j(nt[o]),i.abort(),dt("wordcloudabort",!1),dt("wordcloudstop",!1),ve("wordcloudstart",te);return}b++,nt[o]=q(N,i.wait)}},i.wait)}};pa()};ii.isSupported=oi;ii.minFontSize=ti;var ri=ii;if(!ri.isSupported)throw new Error("Sorry your browser not support wordCloud");function ks(t){for(var r=t.getContext("2d"),e=r.getImageData(0,0,t.width,t.height),o=r.createImageData(e),i=0,n=0,a=0;a<e.data.length;a+=4){var s=e.data[a+3];if(s>128){var l=e.data[a]+e.data[a+1]+e.data[a+2];i+=l,++n}}for(var g=i/n,a=0;a<e.data.length;a+=4){var l=e.data[a]+e.data[a+1]+e.data[a+2],s=e.data[a+3];s<128||l>g?(o.data[a]=0,o.data[a+1]=0,o.data[a+2]=0,o.data[a+3]=0):(o.data[a]=255,o.data[a+1]=255,o.data[a+2]=255,o.data[a+3]=255)}r.putImageData(o,0,0)}Gr(function(t,r){t.eachSeriesByType("wordCloud",function(e){var o=Oe.getLayoutRect(e.getBoxLayoutParams(),{width:r.getWidth(),height:r.getHeight()}),i=e.get("keepAspect"),n=e.get("maskImage"),a=n?n.width/n.height:1;i&&Ns(o,a);var s=e.getData(),l=document.createElement("canvas");l.width=o.width,l.height=o.height;var g=l.getContext("2d");if(n)try{g.drawImage(n,0,0,l.width,l.height),ks(l)}catch(H){console.error("Invalid mask image"),console.error(H.toString())}var d=e.get("sizeRange"),T=e.get("rotationRange"),w=s.getDataExtent("value"),h=Math.PI/180,y=e.get("gridSize");ri(l,{list:s.mapArray("value",function(H,Y){var pe=s.getItemModel(Y);return[s.getName(Y),pe.get("textStyle.fontSize",!0)||Zr.linearMap(H,w,d),Y]}).sort(function(H,Y){return Y[1]-H[1]}),fontFamily:e.get("textStyle.fontFamily")||e.get("emphasis.textStyle.fontFamily")||t.get("textStyle.fontFamily"),fontWeight:e.get("textStyle.fontWeight")||e.get("emphasis.textStyle.fontWeight")||t.get("textStyle.fontWeight"),gridSize:y,ellipticity:o.height/o.width,minRotation:T[0]*h,maxRotation:T[1]*h,clearCanvas:!n,rotateRatio:1,rotationStep:e.get("rotationStep")*h,drawOutOfBound:e.get("drawOutOfBound"),shrinkToFit:e.get("shrinkToFit"),layoutAnimation:e.get("layoutAnimation"),shuffle:!1,shape:e.get("shape")});function D(H){var Y=H.detail.item;H.detail.drawn&&e.layoutInstance.ondraw&&(H.detail.drawn.gx+=o.x/y,H.detail.drawn.gy+=o.y/y,e.layoutInstance.ondraw(Y[0],Y[1],Y[2],H.detail.drawn))}l.addEventListener("wordclouddrawn",D),e.layoutInstance&&e.layoutInstance.dispose();var z=r.__wordCloudRunningLayouts=r.__wordCloudRunningLayouts||{},le=e.seriesIndex;z[le]&&z[le].dispose(),e.layoutInstance={ondraw:null,dispose:function(){l.removeEventListener("wordclouddrawn",D),l.addEventListener("wordclouddrawn",function(H){H.preventDefault()})}},z[le]=e.layoutInstance})});$r(function(t){var r=(t||{}).series;!oo.isArray(r)&&(r=r?[r]:[]);var e=["shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];oo.each(r,function(i){if(i&&i.type==="wordCloud"){var n=i.textStyle||{};o(n.normal),o(n.emphasis)}});function o(i){i&&oo.each(e,function(n){i.hasOwnProperty(n)&&(i["text"+Jr.capitalFirst(n)]=i[n])})}});function Ns(t,r){var e=t.width,o=t.height;e>o*r?(t.x+=(e-o*r)/2,t.width=o*r):(t.y+=(o-e/r)/2,t.height=e/r)}var Tt={scale:1,x:0,y:0},Ls=8,ni=1.2;function Un(t){return t.scale===Tt.scale}function $n(t,r,e,o){let i=Math.min(Ls,Math.max(Tt.scale,t.scale*e)),n=i/t.scale;return lo({scale:i,x:r.x-(r.x-t.x)*n,y:r.y-(r.y-t.y)*n},o)}function Gn(t,r,e){return lo(Ke(Ye({},t),{x:t.x+r.x,y:t.y+r.y}),e)}function lo(t,r){return{scale:t.scale,x:qn(t.x,r.width,t.scale),y:qn(t.y,r.height,t.scale)}}function qn(t,r,e){let o=r*(1-e);return Math.min(0,Math.max(o,t))}var Ps=0,mo=class{constructor(r){this.chart=r,this.viewport=Tt,this.lastDragPoint=null;let e=r.getZr();e.on("mousewheel",o=>this.zoom(o)),e.on("mousedown",o=>this.startDragging(o)),e.on("mousemove",o=>this.drag(o)),e.on("mouseup",()=>this.stopDragging()),e.on("globalout",()=>this.stopDragging())}showWholeCloud(){this.show(Tt)}restoreAfterLayout(){Un(this.viewport)||this.show(lo(this.viewport,this.containerSize()))}zoom(r){let e=r.wheelDelta??0;if(e===0)return;r.event?.preventDefault();let o=e>0?ni:1/ni;this.show($n(this.viewport,{x:r.offsetX,y:r.offsetY},o,this.containerSize()))}startDragging(r){Fs(r)&&(this.lastDragPoint={x:r.offsetX,y:r.offsetY})}drag(r){let e=this.lastDragPoint;if(!e)return;let o={x:r.offsetX,y:r.offsetY};this.lastDragPoint=o,this.show(Gn(this.viewport,{x:o.x-e.x,y:o.y-e.y},this.containerSize()))}stopDragging(){this.lastDragPoint=null}show(r){this.viewport=r,this.wordGroup()?.attr({x:r.x,y:r.y,scaleX:r.scale,scaleY:r.scale})}wordGroup(){let r=this.chart,e=r.getModel()?.getSeriesByIndex(0);return e?r.getViewOfSeriesModel(e)?.group:void 0}containerSize(){return{width:this.chart.getWidth(),height:this.chart.getHeight()}}};function Fs({event:t}){return!t||!("button"in t)||t.button===Ps}gt([io,Xr,Yr]);var As=150,zs=200,po=class{constructor(r,e){this.chartRegistry=r,this.handlers=e,this.highlightedWords=[],this.mustRestoreHighlightAfterLayout=!1,this.hasDrawnACloud=!1,this.containerSizeObserver=new on,this.drawnWords=re(null),this.containerSize=this.containerSizeObserver.size,this.drawnWordCount=this.drawnWords.asReadonly()}attachTo(r){this.chart&&this.attachedContainer===r||(this.dispose(),this.attachedContainer=r,this.chart=Ur(r),this.chart.on("finished",()=>{this.handlers.onLayoutFinished(),this.scheduleLayoutSettled()}),this.chart.on("click",e=>this.reportClickedWord(e)),this.chart.getZr().on("click",e=>this.reportClickBesideEveryWord(e)),this.chart.on("contextmenu",e=>this.reportRightClickedWord(e)),this.panZoom=new mo(this.chart),r.addEventListener("contextmenu",Ao),this.chartRegistry.register(this.chart),this.containerSizeObserver.observe(r))}reportRightClickedWord({name:r,event:e}){let o=e?.event;!r||!o||this.handlers.onWordRightClicked(r,o.clientX,o.clientY)}highlightWords(r){this.highlightedWords=r,this.applyHighlight()}restoreTheHighlightALayoutWiped(){this.mustRestoreHighlightAfterLayout&&(this.mustRestoreHighlightAfterLayout=!1,this.applyHighlight())}applyHighlight(){this.chart&&(this.chart.dispatchAction({type:"downplay",seriesIndex:0}),this.highlightedWords.length>0&&this.chart.dispatchAction({type:"highlight",seriesIndex:0,name:[...this.highlightedWords]}))}reportClickedWord({name:r}){r&&this.handlers.onWordClicked(r)}reportClickBesideEveryWord({target:r}){r||this.handlers.onBackgroundClicked()}render(r,e){if(this.cancelPendingRender(),!this.hasDrawnACloud){this.draw(r,e);return}this.renderTimeout=setTimeout(()=>{this.renderTimeout=void 0,this.draw(r,e)},As)}draw(r,e){this.hasMeasurableContainer()&&(this.hasDrawnACloud=!0,this.drawnWords.set(null),this.chart?.clear(),this.chart?.resize(),this.chart?.setOption(r,!0),this.panZoom?.restoreAfterLayout(),this.mustRestoreHighlightAfterLayout=!0,e())}showWholeCloud(){this.panZoom?.showWholeCloud()}cancelPendingRender(){this.renderTimeout!==void 0&&(clearTimeout(this.renderTimeout),this.renderTimeout=void 0)}hasMeasurableContainer(){return this.attachedContainer!==void 0&&this.attachedContainer.clientWidth>0&&this.attachedContainer.clientHeight>0}dispose(){this.attachedContainer?.removeEventListener("contextmenu",Ao),this.containerSizeObserver.disconnect(),this.cancelPendingRender(),this.layoutSettleTimeout!==void 0&&clearTimeout(this.layoutSettleTimeout),this.drawnWords.set(null),this.hasDrawnACloud=!1,this.chart&&this.chartRegistry.unregister(this.chart),this.chart?.dispose(),this.chart=void 0,this.panZoom=void 0,this.attachedContainer=void 0}scheduleLayoutSettled(){this.layoutSettleTimeout!==void 0&&clearTimeout(this.layoutSettleTimeout),this.layoutSettleTimeout=setTimeout(()=>{this.layoutSettleTimeout=void 0,this.drawnWords.set(this.countWordsWithAGraphicElement()),this.restoreTheHighlightALayoutWiped()},zs)}countWordsWithAGraphicElement(){let r=this.chart?.getModel?.()?.getSeriesByIndex(0)?.getData();if(!r)return null;let e=0;for(let o=0;o<r.count();o++)r.getItemGraphicEl(o)&&e++;return e}};function Xn(t,r){let e=t.slice(0,3).map(i=>i.text).join(", "),o=t.length===1?"domain term":"domain terms";return`Word cloud of ${t.length} ${o} for ${r}; largest: ${e}`}function Yn(t,r){return t===null||t>=r?null:`${t} of ${r} words fit \u2014 enlarge the window, reduce word spacing, or enable "Fit all words" or "Draw outside bounds"`}var Hs=["wordCloudCanvas"],js=(t,r)=>r.text;function Vs(t,r){if(t&1){let e=he();J(0,"div",2),De("click",function(){Z(e);let i=E();return Q(i.backgroundClicked.emit())}),J(1,"p",3),x(2),X(),J(3,"button",4),De("click",function(i){Z(e);let n=E();return Q(n.showWholeMap(i))}),x(4,"Show whole map"),X()()}if(t&2){let e=E();p(2),_e("No domain words for ",e.selectedNodeName(),". Select a folder or another file in the explorer.")}}function qs(t,r){if(t&1&&(J(0,"output",8),x(1),X()),t&2){let e=E(2);p(),_e(" ",e.droppedWordNotice()," ")}}function Us(t,r){if(t&1&&(J(0,"li"),x(1),X()),t&2){let e=r.$implicit;p(),fi("",e.text,": ",e.frequency)}}function $s(t,r){if(t&1&&(J(0,"figure",5)(1,"figcaption",6),x(2),X(),lt(3,"div",7,0),X(),$(5,qs,2,1,"output",8),J(6,"ol",6),Te(7,Us,2,2,"li",null,js),X()),t&2){let e=E();p(2),me(e.description()),p(3),G(e.droppedWordNotice()?5:-1),p(2),Me(e.topWordsForScreenReaders())}}var Gs="(prefers-reduced-motion: reduce)";function Xs(t,r){return t!==null&&t.container===r.container&&t.words===r.words&&t.settings===r.settings&&t.maskImage===r.maskImage&&t.containerWidth===r.containerWidth&&t.containerHeight===r.containerHeight}var ai=(()=>{class t{constructor(){this.wordCloudReadStore=m(bn),this.viewReadinessStore=m(Di),this.settings=W(qt),this.selectedNodePath=W(null),this.customShapeMask=W(null),this.markedWords=W([]),this.fitRequest=W(0),this.clearSelection=se(),this.backgroundClicked=se(),this.wordRightClicked=se(),this.wordClicked=se(),this.canvasRef=Ft("wordCloudCanvas"),this.chartHost=new po(m(To),{onLayoutFinished:()=>this.viewReadinessStore.markReady("domain"),onWordRightClicked:(e,o,i)=>this.wordRightClicked.emit({word:e,clientX:o,clientY:i}),onWordClicked:e=>this.wordClicked.emit(e),onBackgroundClicked:()=>this.backgroundClicked.emit()}),this.words=ie(At(this.selectedNodePath).pipe(Ze(e=>this.wordCloudReadStore.wordsForSelectedNode(e))),{initialValue:[]}),this.selectedNodeName=_(()=>this.wordCloudReadStore.selectedNodeName(this.selectedNodePath())),this.renderedWords=_(()=>yt(this.words(),this.settings().sizingMode,this.settings().topN)),this.droppedWordNotice=_(()=>Yn(this.chartHost.drawnWordCount(),this.renderedWords().length)),this.topWordsForScreenReaders=_(()=>this.renderedWords().slice(0,10)),this.description=_(()=>Xn(this.renderedWords(),this.selectedNodeName())),this.prefersReducedMotion=typeof matchMedia=="function"&&matchMedia(Gs).matches,this.logoMaskImage=re(null),this.customMaskImage=re(null),this.lastRenderedInputs=null,this.loadTheLogoMaskAndKeepTheCircleFallbackOnFailure(),Fe(()=>this.loadTheUploadedShapeAndKeepTheCircleFallbackOnFailure()),Fe(()=>this.renderIntoTheChartOnceTheContainerIsMeasured()),Fe(()=>this.chartHost.highlightWords(this.markedWords())),Fe(()=>this.showTheWholeCloudOnRequest())}ngOnDestroy(){this.disposeChart()}disposeChart(){this.chartHost.dispose(),this.lastRenderedInputs=null}showWholeMap(e){e.stopPropagation(),this.clearSelection.emit()}showTheWholeCloudOnRequest(){this.fitRequest()>0&&this.chartHost.showWholeCloud()}renderIntoTheChartOnceTheContainerIsMeasured(){let e=this.words(),o=this.settings(),i=this.maskImageFor(o.shape),n=this.canvasRef()?.nativeElement;if(!n){this.disposeChart(),this.viewReadinessStore.markReady("domain");return}this.chartHost.attachTo(n);let{width:a,height:s}=this.chartHost.containerSize();if(a===0||s===0){this.chartHost.cancelPendingRender();return}let l={container:n,words:e,settings:o,maskImage:i,containerWidth:a,containerHeight:s};if(Xs(this.lastRenderedInputs,l)){this.viewReadinessStore.markReady("domain");return}this.chartHost.render(Pn(this.renderedWords(),o,{layoutAnimation:!this.prefersReducedMotion,containerWidth:a,maskImage:i}),()=>{this.lastRenderedInputs=l})}maskImageFor(e){if(e===Ee.logoM)return this.logoMaskImage()??void 0;if(e===Ee.custom)return this.customMaskImage()??void 0}loadTheLogoMaskAndKeepTheCircleFallbackOnFailure(){Uo(Mn).then(e=>this.logoMaskImage.set(e)).catch(()=>{})}loadTheUploadedShapeAndKeepTheCircleFallbackOnFailure(){let e=this.customShapeMask();if(e===null){this.customMaskImage.set(null);return}Uo(e).then(o=>this.customMaskImage.set(o)).catch(()=>this.customMaskImage.set(null))}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-word-cloud"]],viewQuery:function(o,i){o&1&&kt(i.canvasRef,Hs,5),o&2&&Nt()},hostAttrs:[1,"relative","block","h-full","w-full"],inputs:{settings:[1,"settings"],selectedNodePath:[1,"selectedNodePath"],customShapeMask:[1,"customShapeMask"],markedWords:[1,"markedWords"],fitRequest:[1,"fitRequest"]},outputs:{clearSelection:"clearSelection",backgroundClicked:"backgroundClicked",wordRightClicked:"wordRightClicked",wordClicked:"wordClicked"},decls:2,vars:1,consts:[["wordCloudCanvas",""],["data-testid","word-cloud-empty-state",1,"flex","h-full","w-full","flex-col","items-center","justify-center","gap-3","px-6","text-center"],["data-testid","word-cloud-empty-state",1,"flex","h-full","w-full","flex-col","items-center","justify-center","gap-3","px-6","text-center",3,"click"],[1,"text-sm","opacity-60"],["type","button",1,"btn","btn-sm","btn-primary",3,"click"],[1,"h-full","w-full"],[1,"sr-only"],[1,"word-cloud-canvas","relative","h-full","w-full"],["data-testid","word-cloud-dropped-word-notice",1,"pointer-events-none","absolute","bottom-2","left-1/2","-translate-x-1/2","whitespace-nowrap","rounded-lg","bg-base-200/90","px-3","py-1","text-xs","opacity-80"]],template:function(o,i){o&1&&$(0,Vs,5,1,"div",1)(1,$s,9,2),o&2&&G(i.words().length===0?0:1)},encapsulation:2})}}return t})();var ho={id:"words",label:"Words",icon:"fa-solid fa-font",searchPlaceholder:"payment, invoice",searchAriaLabel:"Search words"},Kn=[Zt,ho];var si=(()=>{class t{constructor(){this.store=m(de),this.pathsWithDomainWords=ie(this.store.select(Qi),{requireSync:!0})}project(e){return nn(e,{pathsWithDomainWords:this.pathsWithDomainWords()})}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac})}}return t})();var Ys=ye(Ht,Wo,(t,r)=>new Set(wi(t,r).map(e=>e.path))),Zn={patternSelector:Wo,setPattern:Vi,searchedNodePathsSelector:Ys};var Ks=5,Zs="No domain words",di=(()=>{class t{constructor(){this.store=m(de),this.domainSelectionStore=m(it),this.domainBarReadStore=m(ne),this.hoverTooltipService=m(xi),this.domainWordIndex=ie(this.store.select(Gt),{requireSync:!0}),this.clearsSelectionOnCollapse=!1}isSelected(e){return this.domainSelectionStore.selectedNodePath()===e.path}isHovered(){return!1}select(e){this.domainSelectionStore.select(e.path)}deselect(){this.domainSelectionStore.clear()}hover(e,o){let i=this.domainBarReadStore.settings().sizingMode,n=this.topWords(e.path,i);this.hoverTooltipService.show({title:e.name,rows:n.length>0?n.map(a=>({label:a.text,value:`${Ie(a,i)}`})):[{label:Zs,value:""}]},o.right,o.top)}hoverEnd(){this.hoverTooltipService.hide()}topWords(e,o){return yt(this.domainWordIndex().wordsOf(e),o,Ks)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac})}}return t})();var Qn={options:[bo.NAME,bo.NUMBER_OF_FILES],optionSelector:ki,ascendingSelector:Ni,setOption:Xi,toggleAscending:t=>Yi({value:!t})};var Qs=ye(Ht,Je,(t,r)=>t&&r&&Jn(t,r)||t),Js=(t,r)=>ye(Qs,e=>wr(yr(e),t,r));function Jn(t,r){if(t.path===r)return t;let e=t.children?.find(o=>o.path!==void 0&&Xt(r,o.path));return e&&Jn(e,r)}var ci=(()=>{class t{constructor(){this.store=m(de)}rootNodeFor(e,o){return this.store.select(Js(e,o))}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac})}}return t})();var ea=(()=>{class t{constructor(){this.domainSelectionStore=m(it),this.revealService=m(fr),this.modeService=m(Qt),this.focusStore=m(He),ir("domain",e=>this.showNode(e))}showNode(e){let o=this.focusStore.focusedNodePath();o&&!Xt(e,o)&&this.focusStore.unfocus(),this.modeService.activate(Zt.id),this.domainSelectionStore.select(e),this.revealService.revealNode(e)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275dir=hi({type:t,selectors:[["","ccShowsHandedOverNode",""]]})}}return t})();var ta=(()=>{class t{constructor(){this.inspected=re(null),this.inspectedWord=this.inspected.asReadonly()}inspect(e){this.inspected.set(e)}toggle(e){this.inspected.update(o=>o===e?null:e)}clear(){this.inspected.set(null)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var uo=(()=>{class t{constructor(){this.querySubject=new Et(""),this.pattern$=this.querySubject.asObservable(),this.isPatternEmpty$=this.pattern$.pipe(ct(e=>e.trim().length===0))}setPattern(e){this.querySubject.next(e)}resetPattern(){this.setPattern("")}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac})}}return t})();var oa={[ge.OCCURRENCES]:!1,[ge.NAME]:!0,[ge.RELEVANCE]:!1},td={option:ge.OCCURRENCES,ascending:oa[ge.OCCURRENCES]},fo=(()=>{class t{constructor(){this.sortingSubject=new Et(td),this.options=Object.values(ge),this.sorting$=this.sortingSubject.asObservable(),this.option$=this.sorting$.pipe(ct(({option:e})=>e)),this.ascending$=this.sorting$.pipe(ct(({ascending:e})=>e))}setOption(e){this.sortingSubject.next({option:e,ascending:oa[e]})}toggleAscending(){let{ascending:e}=this.sortingSubject.value;this.sortingSubject.next(Ke(Ye({},this.sortingSubject.value),{ascending:!e}))}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275prov=V({token:t,factory:t.\u0275fac})}}return t})();function ia(t,r,e,o){let i=o&&e.trim().length>0?Ct(r,e).map(({text:n})=>n):[];return t===null||i.includes(t)?i:[t,...i]}function od(t,r){if(t&1){let e=he();u(0,"span",12),x(1),f(),u(2,"button",13),M("click",function(){Z(e);let i=E();return Q(i.copySelectedPath())}),F(3,"i",14),f()}if(t&2){let e=E();C("title",e.selectedNodePath()),p(),_e(" ",e.selectedNodePath()," "),p(),C("title",e.copied()?"Copied!":"Copy path"),p(),Lt("fa-copy",!e.copied())("fa-check",e.copied())}}function id(t,r){if(t&1&&(u(0,"span",5),x(1),f()),t&2){let e=E();p(),me(e.selectedNodeName()||"No selection")}}var tf=(()=>{class t{constructor(){this.domainBarReadStore=m(ne),this.customShapeMaskStore=m(vt),this.explorerCollapseService=m(dr),this.explorerModeService=m(Qt),this.domainSelectionStore=m(it),this.domainWordInspectionStore=m(ta),this.domainWordQueryStore=m(uo),this.domainWordSortStore=m(fo),this.wordOccurrencesReadStore=m(Ve),this.hiddenWordsReadStore=m(wt),this.hiddenWordsWriteStore=m(xt),this.clipboard=m(pt),this.focusStore=m(He),this.settings=this.domainBarReadStore.settings,this.customShapeMask=this.customShapeMaskStore.dataUri,this.copied=this.clipboard.copied,this.selectedNodePath=this.domainSelectionStore.selectedNodePath,this.selectedNodeName=_(()=>Bt(this.selectedNodePath(),"")),this.cloudNodePath=_(()=>this.selectedNodePath()??this.focusStore.focusedNodePath()??null),this.cloudFitRequest=m(St).fitRequest,this.hiddenWordCount=_(()=>this.hiddenWordsReadStore.hiddenWords().length),this.hiddenWordsTooltip=_(()=>this.hiddenWordCount()===0?"No word is hidden":`${this.hiddenWordCount()} hidden from the cloud and the word list`),this.rightClickedWord=re(null),this.inspectedWord=this.domainWordInspectionStore.inspectedWord,this.wordQuery=ie(this.domainWordQueryStore.pattern$,{requireSync:!0}),this.wordSorting=ie(this.domainWordSortStore.sorting$,{requireSync:!0}),this.wordsInFocus=ie(this.wordOccurrencesReadStore.wordsInFocus$,{requireSync:!0}),this.markedWords=_(()=>ia(this.inspectedWord(),this.wordsInFocus(),this.wordQuery(),!this.explorerModeService.isFilesMode()))}showWordOccurrences(e){this.explorerModeService.activate(ho.id),this.explorerCollapseService.expand(),this.domainWordInspectionStore.inspect(e)}searchForWord(e){this.explorerModeService.activate(ho.id),this.explorerCollapseService.expand(),this.domainWordQueryStore.setPattern(e)}toggleInspectedWord(e){this.domainWordInspectionStore.toggle(e)}hideWord(e){this.inspectedWord()===e&&this.domainWordInspectionStore.toggle(e),this.hiddenWordsWriteStore.hide(e)}closeWordMenu(){this.rightClickedWord.set(null)}selectNode(e){this.domainSelectionStore.select(e)}showWholeMap(){this.domainSelectionStore.clear(),this.focusStore.unfocus()}unpinWord(){this.domainWordInspectionStore.clear()}async copySelectedPath(){let e=this.selectedNodePath();e&&await this.clipboard.copy(e)}static{this.\u0275fac=function(o){return new(o||t)}}static{this.\u0275cmp=O({type:t,selectors:[["cc-domain-view"]],features:[Pt([si,{provide:hr,useExisting:si},di,{provide:ur,useExisting:di},Mo,{provide:gr,useExisting:Mo},ci,{provide:pr,useExisting:ci},_r(Qn),xr(Zn),{provide:nr,useValue:{showRules:!1,showSearch:!0,showCounts:!1,canFlatten:!1,modes:Kn}},uo,{provide:ar,useExisting:uo},fo,{provide:mr,useExisting:fo},{provide:lr,useExisting:He},{provide:Mr,useValue:{focusableNodes:"folders",showMapActions:!1,showExclude:!1}},pt,Cr("domain"),Oi()]),Rt([ea])],decls:16,vars:15,consts:[["view","domain"],["headerChips","",1,"flex","items-stretch","border","border-base-300","mx-2","mt-2","rounded-md","overflow-hidden"],["label","Hidden","popoverId","domain-hidden-words","anchorName","domain-hidden-words-chip",3,"count","tooltip"],["explorerPopovers","","popoverId","domain-hidden-words","anchorName","domain-hidden-words-chip"],["collapsedContent","",1,"flex","flex-1","min-w-0","items-center","gap-1"],[1,"flex-1","min-w-0","truncate","text-xs","opacity-50"],["modeBody","",3,"wordToggled","nodeClicked","query","sorting","expandedWord","selectedNodePath"],[1,"fixed","inset-x-0","top-[var(--cc-bars-height,49px)]","bottom-[var(--cc-bottom-bar-height,32px)]"],[3,"clearSelection","backgroundClicked","wordClicked","wordRightClicked","settings","customShapeMask","selectedNodePath","markedWords","fitRequest"],[3,"searchWord","hideWord","closed","rightClickedWord"],[3,"showSelectedWhenNotHovered","selectedNodePath"],["barTools",""],["data-testid","explorer-collapsed-path",1,"flex-1","min-w-0","truncate","text-xs","opacity-70",3,"title"],["type","button","data-testid","explorer-copy-path-button",1,"btn","btn-ghost","btn-sm","btn-square","shrink-0",3,"click","title"],[1,"fa"]],template:function(o,i){o&1&&(F(0,"cc-loading-file-progress-spinner",0),u(1,"cc-sidebar-explorer")(2,"div",1),F(3,"cc-explorer-count-chip",2),f(),F(4,"cc-hidden-words-popover",3),u(5,"div",4),$(6,od,4,7)(7,id,2,1,"span",5),f(),u(8,"cc-domain-word-list",6),M("wordToggled",function(a){return i.toggleInspectedWord(a)})("nodeClicked",function(a){return i.selectNode(a)}),f()(),u(9,"div",7)(10,"cc-word-cloud",8),M("clearSelection",function(){return i.showWholeMap()})("backgroundClicked",function(){return i.unpinWord()})("wordClicked",function(a){return i.showWordOccurrences(a)})("wordRightClicked",function(a){return i.rightClickedWord.set(a)}),f()(),F(11,"cc-node-context-menu"),u(12,"cc-domain-word-menu",9),M("searchWord",function(a){return i.searchForWord(a)})("hideWord",function(a){return i.hideWord(a)})("closed",function(){return i.closeWordMenu()}),f(),F(13,"cc-bottom-bar",10),u(14,"cc-domain-bar"),F(15,"cc-domain-toolbox",11),f()),o&2&&(p(3),C("count",i.hiddenWordCount())("tooltip",i.hiddenWordsTooltip()),p(3),G(i.selectedNodePath()?6:7),p(2),C("query",i.wordQuery())("sorting",i.wordSorting())("expandedWord",i.inspectedWord())("selectedNodePath",i.selectedNodePath()),p(2),C("settings",i.settings())("customShapeMask",i.customShapeMask())("selectedNodePath",i.cloudNodePath())("markedWords",i.markedWords())("fitRequest",i.cloudFitRequest()),p(2),C("rightClickedWord",i.rightClickedWord()),p(),C("showSelectedWhenNotHovered",!0)("selectedNodePath",i.selectedNodePath()))},dependencies:[Sr,ai,zo,Bo,Ho,Er,Vo,qo,rr,or,Ii],encapsulation:2})}}return t})();export{tf as DomainViewComponent};