@bimdata/viewer 2.4.0-beta.11 → 2.4.0-beta.12

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.
@@ -1867,7 +1867,7 @@ end`};e.events.push(["putFont",function(s){(function(n){var a=n.font,l=n.out,c=n
1867
1867
  --bimdata-local-context-width: ${r.width}px;
1868
1868
  --bimdata-local-context-center-width: ${r.centerWidth}px;
1869
1869
  --bimdata-local-context-resolution: ${r.resolution};
1870
- `),onMouseenter:e[0]||(e[0]=(...h)=>r.onMouseEnter&&r.onMouseEnter(...h)),onMouseleave:e[1]||(e[1]=(...h)=>r.onMouseLeave&&r.onMouseLeave(...h))},[R(n,{ref:"modalManagerTemplateRef"},null,512),M("div",qTi,[r.windowPlugins.leftSidePanel?(P(),re(a,{key:0,plugin:r.windowPlugins.leftSidePanel},null,8,["plugin"])):ke("",!0),M("div",GTi,[(P(!0),z(gt,null,Xt(r.windowPlugins.free,h=>(P(),re(l,{key:h.name,class:Ee({"window-container__content__center__viewer":h.isViewer}),plugin:h},null,8,["class","plugin"]))),128)),R(c,{position:"left",plugins:r.windowPlugins.leftButtonColumn},null,8,["plugins"]),R(c,{position:"right",plugins:r.windowPlugins.rightButtonColumn},null,8,["plugins"])]),r.windowPlugins.rightSidePanel?(P(),re(a,{key:1,plugin:r.windowPlugins.rightSidePanel},null,8,["plugin"])):ke("",!0)]),r.loading?(P(),z("div",KTi,[r.spinner&&r.spinner.component?(P(),re(po(r.spinner.component),Ru(Ia({key:0},r.spinner.props)),null,16)):(P(),re(u,{key:1,size:"20px",border:"3px"}))])):ke("",!0),r.layoutSettingsDisplayed?(P(),z("div",YTi,[R(d)])):ke("",!0)],36)}const JTi=Y(QTi,[["render",ZTi]]);class WTi{constructor(e=!0){const i=jEi(r_,null,{resizable:e});i.registerContent("default",JTi),this.settings=xs({edit:!1,swap:!1,full:!1}),this.areas=i}get resizable(){return this.areas.resizable}set resizable(e){this.areas.resizable=e}apply(e=null){this.areas.layout=e?REi(e):null}copy(e){return OEi(this.areas.layout,e)}open({ratio:e,direction:i,insertAfter:r,windowName:o=null,windowState:s=null,localContextId:n=null}={}){const a=o?{options:{windowName:o,windowState:s}}:null;return n===null?this.areas.splitLayout(e,i,r,a):this.areas.split(n,e,i,r,a)}swap(e,i){return this.areas.swap(e,i)}close(e){return this.areas.delete(e)}compare(e,i){var r,o;if(!e&&!i)return!0;if(!e||!i)return!1;if(typeof e=="string"&&typeof i=="string")return e===i;if(typeof e=="string"||typeof i=="string")return!1;if(e.windowName&&i.windowName){if(e.windowName!==i.windowName)return!1;const s=new Set((r=e.windowState)==null?void 0:r.modelIds),n=new Set((o=i.windowState)==null?void 0:o.modelIds);return s.size===n.size&&[...s].every(a=>n.has(a))}return e.windowName||i.windowName||e.direction!==i.direction||e.children.length!==i.children.length?!1:e.children.every((s,n)=>this.compare(s,i.children[n]))}}const XTi="@bimdata/viewer",$Ti="module",eSi="2.4.0-beta.11",tSi="A customizable BIM viewer.",iSi=["bim","viewer","bimdata","ifc","bcf"],rSi="./index.d.ts",oSi="BIMData.io",nSi="https://developers.bimdata.io/viewer/index.html",sSi={email:"support@bimdata.io"},aSi=["last 2 chrome version","last 2 firefox version"],lSi="dist/bimdata-viewer.esm.min.js",cSi="dist/bimdata-viewer.esm.min.js",uSi={build:"vite build && esbuild dist/bimdata-viewer.esm.min.js --minify --outfile=dist/bimdata-viewer.esm.min.js --allow-overwrite","build:split":"vite build -c vite.config.split.js && esbuild dist/bimdata-viewer-split.esm.min.js --minify --outfile=dist/bimdata-viewer-split.esm.min.js --allow-overwrite","cy:run":"cypress run","cy:open":"cypress open",dev:"vite",prebuild:"rm -rf dist",prepublishOnly:"npm run build","semantic-release":"semantic-release",serve:"http-server -c-1 --silent",test:"npm run test:unit & npm run build & npm run test:e2e","test:unit":"jest","test:e2e":"start-server-and-test 'npm run serve -- -p 8080' http://localhost:8080 cy:run","test:e2e-dev":"start-server-and-test 'npm run serve -- -p 8080' http://localhost:8080 cy:open",version:"echo $npm_package_version",ts:"tsc"},dSi=["dist/*","types/*","CHANGELOG.md","README.md","package.json","package-lock.json","index.d.ts"],hSi={"@babel/preset-env":"^7.24.8","@bimdata/2d-engine":"2.5.1","@bimdata/areas-next":"0.1.15","@bimdata/bcf-components":"6.4.2","@bimdata/components":"1.6.1","@bimdata/design-system":"2.1.1-rc.3","@bimdata/typescript-fetch-api-client":"10.9.0","@eslint/eslintrc":"^3.1.0","@eslint/js":"^9.7.0","@rollup/plugin-alias":"5.1.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^25.0.8","@rollup/plugin-image":"^3.0.3","@rollup/plugin-replace":"^5.0.7","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^12.0.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^10.1.1","@semantic-release/npm":"^12.0.1","@semantic-release/release-notes-generator":"^13.0.0","@vitejs/plugin-vue":"4.6.2","@vue/vue3-jest":"^29.2.6","@xeokit/xeokit-sdk":"git+https://git@github.com/Amoki/xeokit-sdk.git#27e95db2e157215e870f7125bd28b258dee699a9","@zip.js/zip.js":"^2.7.47",async:"^3.2.5",autoprefixer:"^10.4.19","babel-core":"^7.0.0-bridge.0","babel-jest":"^29.7.0","conventional-changelog-eslint":"^5.0.0",cypress:"^13.13.1",esbuild:"^0.23.0",eslint:"9.7.0","eslint-config-prettier":"9.1.0","eslint-plugin-cypress":"2.15.2","eslint-plugin-jest":"28.6.0","eslint-plugin-prettier":"5.2.1","eslint-plugin-vue":"9.27.0","form-data":"^4.0.0",globals:"^15.8.0",html2canvas:"1.4.1","http-server":"^14.1.1",jest:"^29.7.0","jest-environment-jsdom":"^29.7.0","jest-extended":"^4.0.2",jspdf:"^2.5.1",lodash:"^4.17.21","node-fetch":"^3.3.2",postcss:"^8.4.39",prettier:"^3.3.3",querystring:"^0.2.0",sass:"^1.77.8","semantic-release":"^23.1.1",sinon:"^17.0.1","start-server-and-test":"^2.0.4",vite:"4.5.3","vite-plugin-css-injected-by-js":"^3.5.1",vue:"3.4.33","vue-eslint-parser":"^9.4.3","vue-i18n":"^9.13.1"},pSi={name:XTi,type:$Ti,version:eSi,description:tSi,keywords:iSi,types:rSi,author:oSi,homepage:nSi,bugs:sSi,browserslist:aSi,main:lSi,module:cSi,scripts:uSi,files:dSi,devDependencies:hSi};class ASi{constructor({plugins:e,api:i,ui:r,locale:o="fr"}){this.pluginManager=new iIi(e),this.windowManager=new oIi,this.windowManager.registerAndAddPluginsToWindows([...this.pluginManager.registeredPlugins.values()]),this.api=new zPi(i),this.globalContext=new Gye(this),this.state=$Pi(this),this.shortcutManager=Jge(this.state),this.uiSettings=r||{},this.i18n=new Qye(o),this._contextMenu=null,this.layout=new WTi(this.uiSettings.resizable!==!1),this.localContext=null,window.$viewer=this}get version(){return pSi.version}get locale(){return this.i18n.locale}get contextMenu(){return this._contextMenu||Yge}set contextMenu(e){this._contextMenu=e}get registeredWindows(){return[...this.windowManager.registeredWindows.keys()]}get registeredPlugins(){return[...this.pluginManager.registeredPlugins.keys()]}get pluginsCfg(){return this.pluginManager.cfg}registerPlugin(e){this.pluginManager.registerPlugin(e),this.windowManager.registerAndAddPluginsToWindows([e])}}function fSi(t,e={}){e.backgroundColor&&(t.style.setProperty("--bimdata-viewer-background-color",e.backgroundColor),e.backgroundColor==="transparent"&&t.style.setProperty("--areas-separator-color","transparent")),e.colorPrimary&&t.style.setProperty("--color-primary",e.colorPrimary),e.colorPrimaryLighter&&t.style.setProperty("--color-primary-lighter",e.colorPrimaryLighter),e.colorPrimaryLight&&t.style.setProperty("--color-primary-light",e.colorPrimaryLight),e.colorPrimaryDark&&t.style.setProperty("--color-primary-dark",e.colorPrimaryDark),e.colorSecondary&&t.style.setProperty("--color-secondary",e.colorSecondary),e.colorSecondaryLighter&&t.style.setProperty("--color-secondary-lighter",e.colorSecondaryLighter),e.colorSecondaryLight&&t.style.setProperty("--color-secondary-light",e.colorSecondaryLight),e.colorSecondaryDark&&t.style.setProperty("--color-secondary-dark",e.colorSecondaryDark),e.colorSilverLight&&t.style.setProperty("--color-silver-light",e.colorSilverLight),e.colorSilver&&t.style.setProperty("--color-silver",e.colorSilver),e.colorSilverDark&&t.style.setProperty("--color-silver-dark",e.colorSilverDark),e.colorGraniteLight&&t.style.setProperty("--color-granite-light",e.colorGraniteLight),e.colorGranite&&t.style.setProperty("--color-granite",e.colorGranite),e.colorSuccess&&t.style.setProperty("--color-success",e.colorSuccess),e.colorSuccessLighter&&t.style.setProperty("--color-success-Lighter",e.colorSuccessLighter),e.colorSuccessLight&&t.style.setProperty("--color-success-Light",e.colorSuccessLight),e.colorSuccessDark&&t.style.setProperty("--color-success-Dark",e.colorSuccessDark),e.colorWarning&&t.style.setProperty("--color-warning",e.colorWarning),e.colorWarningLighter&&t.style.setProperty("--color-warning-Lighter",e.colorWarningLighter),e.colorWarningLight&&t.style.setProperty("--color-warning-Light",e.colorWarningLight),e.colorWarningDark&&t.style.setProperty("--color-warning-Dark",e.colorWarningDark),e.colorHigh&&t.style.setProperty("--color-high",e.colorHigh),e.colorHighLighter&&t.style.setProperty("--color-high-lighter",e.colorHighLighter),e.colorHighLight&&t.style.setProperty("--color-high-light",e.colorHighLight),e.colorHighDark&&t.style.setProperty("--color-high-dark",e.colorHighDark),e.colorText&&t.style.setProperty("--color-text",e.colorText),(!e.backgroundColor||e.backgroundColor!=="transparent")&&t.style.setProperty("--areas-separator-color","rgba(216, 216, 216, 1)"),e.headerHeight!=null&&t.style.setProperty("--bimdata-viewer-header-height",e.headerHeight),t.style.setProperty("--areas-background-color","transparent")}const gSi=Object.freeze({25:"GUEST",50:"USER",100:"ADMIN"}),l2=Object.freeze({READ:"read",WRITE:"write"});function ape(t){const e={};return t.forEach(i=>{const[r,o]=i.split(":");e[r]?e[r].push(o):e[r]=[o]}),e}const mSi={token_scopes:[],usable_scopes:[],user_role:25};function lpe(t=mSi){var e,i,r,o,s,n;const a=ape(t.token_scopes),l=ape(t.usable_scopes);return{...xK(t),tokenScopes:a,usableScopes:l,userRole:gSi[t.user_role],user:t.user?xK(t.user):null,hasBcfReadPermission:((e=l.bcf)==null?void 0:e.includes(l2.READ))??!1,hasBcfWritePermission:((i=l.bcf)==null?void 0:i.includes(l2.WRITE))??!1,hasModelReadPermission:((r=l.model)==null?void 0:r.includes(l2.READ))??!1,hasModelWritePermission:((o=l.model)==null?void 0:o.includes(l2.WRITE))??!1,hasDocReadPermission:((s=l.document)==null?void 0:s.includes(l2.READ))??!1,hasDocWritePermission:((n=l.document)==null?void 0:n.includes(l2.WRITE))??!1}}const vSi={BcfFilters:{filtersButton:"Filter",filtersTitle:"Filter",priorityLabel:"Priorit\xE4t",statusLabel:"Status",assignedToLabel:"Zugewiesen an",creatorsLabel:"Erstellt von",tagsLabel:"Tags",resetButton:"Zur\xFCcksetzen",searchButton:"Suchen",undefined:"Nicht definiert",datePlaceholder:"Erstellungsdatum"},BcfSettings:{goBackButton:"Zur\xFCck",title:"BCF-Parameter",text:"Erstellen, f\xFCllen und listen Sie die BCF-Einstellungen auf, die Sie f\xFCr dieses Projekt haben m\xF6chten.",validateButton:"Die BCF-Parameter anerkennen"},BcfStatistics:{emptyText:"F\xFCgen Sie Fragen hinzu, um zugeh\xF6rige Statistiken hier anzuzeigen.",issues:"Probleme",extension:{Priority:"Priorit\xE4t",PriorityNotDefined:"Keine Priorit\xE4t",PriorityTitle:"Priorit\xE4ten",Status:"Status",StatusNotDefined:"Kein Status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priorit\xE4t:",noPriority:"Keine",assignedTo:"Zugewiesen an :",elements:"Elemente",notSpecified:"Nicht definiert",see:"Anzeigen"},BcfTopicCreationCard:{text:"Ein neues BCF-Thema erstellen",createBcfSideTitle:"Ein Problem melden"},BcfTopicForm:{dragDropImageText:"Bitte w\xE4hlen Sie eine Datei aus.",addObjectButton:"Objekt",addAnnotationButton:"Annotation",annotationButtonTooltip:"Zu diesem Thema gibt es derzeit keine Ansichten.",addPictureButton:"F\xFCgen Sie ein Bild hinzu.",titlePlaceholder:"Titel *",titleErrorMessage:"Titel fehlt",typeLabel:"Typ",priorityLabel:"Priorit\xE4t",statusLabel:"Status",stageLabel:"Phase",assignedToLabel:"Zugewiesen an",dueDateLabel:"F\xE4lligkeitsdatum (TT.MM.JJJJ)",descriptionLabel:"Beschreibung",labelsLabel:"Tags",createButton:"Best\xE4tigen",updateButton:"\xC4nderungen \xFCbernehmen",modalText:"Sie sind dabei, die Bearbeitung der Ausgabe {Name} zu beenden, aber es gibt noch ungespeicherte \xC4nderungen.",cancelButton:"\xC4nderungen verwerfen",continueButton:"\xC4nderungen fortsetzen",createTitle:"Ein Problem melden",dragDropImageTextTablet:"Foto machen",takeSnapshot:"Mach einen Schnappschuss",importFile:"Eine Datei importieren",searchPlaceholder:"Suchen",emptySearch:"kein Ergebnis"},BcfTopicOverview:{openViewer:"Im Viewer \xF6ffnen",openViewerNoModels:"Es sind keine Vorlagen zur Ansicht bereit",elements:"{count} Elemente",noElements:"kein Element",type:"Typ",noTypeSpecified:"Kein Typ angegeben",description:"Beschreibung",noDescriptionProvided:"Keine Beschreibung angegeben",assignedTo:"Zugeteilt an",notAssigned:"Nicht zugewiesen",dueDate:"F\xE4lligkeitsdatum",noDueDate:"Kein F\xE4lligkeitsdatum",informations:"Informationen",status:"Status",noStatusSpecified:"Kein Status angegeben",stage:"Phase",noStageProvided:"Keine Phase angegeben",priority:"Priorit\xE4t",priorityNotDefined:"Nicht definiert",tags:"Tags",noTags:"Keine Tags",commentButton:"Ein Kommentar ver\xF6ffentlichen",deleteText:"Sie l\xF6schen jetzt {Name}",deleteBcfButton:"Dieses BCF l\xF6schen",keepBcfButton:"Dieses BCF beibehalten",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE4t",status:"Status",title:"Titel",creator:"Autor",date:"Datum"}},BcfTopicActionsCell:{seeButton:"Anzeigen"},BcfTopicComments:{commentButton:"Ein Kommentar verfassen",commentLabel:"Ein Kommentar verfassen",commentText:"Kommentar",cancelButton:"Abbrechen",publishButton:"Ver\xF6ffentlichen",commentsText:"Kommentare",deleteCommentText:"Diesen Kommentar l\xF6schen?",deleteButton:"L\xF6schen",takeSnapshot:"Mach einen Schnappschuss"},BcfTopicPriorityCell:{noPriority:"Keine"},SettingCard:{addButton:"ein Element hinzuf\xFCgen",cancelButton:"Abbrechen",validateButton:"Best\xE4tigen",deleteExtensionText:"Diesen Parameter l\xF6schen",deleteButton:"L\xF6schen",title:{Priority:"Priorit\xE4ten",Label:"Tags",Status:"Status",Type:"Typen",Stage:"Phasen"},input:{Priority:"Eine neue Priorit\xE4t hinzuf\xFCgen",Label:"Ein neues Etikett hinzuf\xFCgen",Status:"Einen neuen Status hinzuf\xFCgen",Type:"Einen neuen Typ hinzuf\xFCgen",Stage:"Eine neue Phase hinzuf\xFCgen"},text:{Priority:"Liste der Priorit\xE4ten",Label:"Liste von Tags",Status:"Liste der Status",Type:"Liste der Typen",Stage:"Liste der Phasen"}}},ySi={BcfComponents:vSi},wSi={BcfFilters:{filtersButton:"Filters",filtersTitle:"Filters",priorityLabel:"Priority",statusLabel:"Status",assignedToLabel:"Assigned to",creatorsLabel:"Created by",tagsLabel:"Tags",resetButton:"Reset",searchButton:"Search",undefined:"Not defined",datePlaceholder:"Creation date"},BcfSettings:{goBackButton:"Back",title:"BCF Settings",text:"Create, enter in, and list the BCF settings you would like to have for this project",validateButton:"Validate BCF settings"},BcfStatistics:{emptyText:"Add BCF Topics to start to have some stats here.",issues:"issues",extension:{Priority:"Priority",PriorityNotDefined:"No priority",PriorityTitle:"Priorities",Status:"Status",StatusNotDefined:"No status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priority: ",noPriority:"None",assignedTo:"Assigned to: ",elements:"Elements",notSpecified:"Not specified",see:"See"},BcfTopicCreationCard:{text:"Create a new BCF topic",createBcfSideTitle:"Report a problem"},BcfTopicForm:{dragDropImageText:"Please select a file",addObjectButton:"Object",addAnnotationButton:"Annotation",annotationButtonTooltip:"This topic has no viewpoint",addPictureButton:"Add a picture",titlePlaceholder:"Title *",titleErrorMessage:"Missing title",typeLabel:"Type",priorityLabel:"Priority",statusLabel:"Status",stageLabel:"Stage",assignedToLabel:"Assigned to",dueDateLabel:"Due date",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Validate",updateButton:"Modify this BCF",modalText:"You are about to quit editing issue {name} but there are unsaved changes.",cancelButton:"Discard changes",continueButton:"Continue editing",createTitle:"Report a problem",dragDropImageTextTablet:"Take a picture",takeSnapshot:"Take a snapshot",importFile:"Import a file",searchPlaceholder:"Search",emptySearch:"No result"},BcfTopicOverview:{openViewer:"Open in viewer",openViewerNoModels:"No model to open",elements:"{count} Elements",noElements:"No element",type:"Type",noTypeSpecified:"No type specified",description:"Description",noDescriptionProvided:"No description provided",assignedTo:"Assigned to",notAssigned:"Not assigned",dueDate:"Due date",noDueDate:"No due date",informations:"Informations",status:"Status",noStatusSpecified:"No status specified",stage:"Stage",noStageProvided:"No stage provided",priority:"Priority",priorityNotDefined:"Not defined",tags:"Tags",noTags:"No tags",commentButton:"Post a comment",deleteText:"You are about to delete {name}",deleteBcfButton:"Delete this BCF",keepBcfButton:"Keep this BCF",author:"Author"},BcfTopicsTable:{headers:{index:"#",priority:"Priority",status:"Status",title:"Title",creator:"Author",date:"Date"}},BcfTopicActionsCell:{seeButton:"See"},BcfTopicComments:{commentButton:"Post a comment",commentLabel:"Post a comment",commentText:"Comment",cancelButton:"Cancel",publishButton:"Publish",commentsText:"Comments",deleteCommentText:"Delete this comment ?",deleteButton:"Delete",takeSnapshot:"Take a snapshot"},BcfTopicPriorityCell:{noPriority:"None"},SettingCard:{addButton:"add an element",cancelButton:"Cancel",validateButton:"Validate",deleteExtensionText:"Remove this setting",deleteButton:"Delete",title:{Priority:"Priorities",Label:"Labels",Status:"Status",Type:"Types",Stage:"Stages"},input:{Priority:"Add a new priority",Label:"Add a new label",Status:"Add new status",Type:"Add a new type",Stage:"Add a new stage"},text:{Priority:"Priority list",Label:"Labels list",Status:"Status list",Type:"Type list",Stage:"Stage list"}}},bSi={BcfComponents:wSi},MSi={BcfFilters:{filtersButton:"Filtros",filtersTitle:"Filtros",priorityLabel:"Prioridad",statusLabel:"Estado",assignedToLabel:"Asignado a",creatorsLabel:"Creado por",tagsLabel:"Etiquetas:",resetButton:"Restablecer",searchButton:"Buscar en",undefined:"No definido",datePlaceholder:"Fecha de creaci\xF3n"},BcfSettings:{goBackButton:"Volver",title:"Par\xE1metros del BCF",text:"Cree, rellene y enumere los par\xE1metros del BCF que desea tener en este proyecto",validateButton:"Validar los par\xE1metros del BCF"},BcfStatistics:{emptyText:"A\xF1ada preguntas para ver las estad\xEDsticas asociadas aqu\xED.",issues:"problemas",extension:{Priority:"Prioridad",PriorityNotDefined:"Sin prioridad",PriorityTitle:"Prioridades",Status:"Estado",StatusNotDefined:"Sin estado",StatusTitle:"Estatutos"}},BcfTopicCard:{priority:"Prioridad :",noPriority:"Sin",assignedTo:"Asignado a :",elements:"Elementos",notSpecified:"No definido",see:"Ver"},BcfTopicCreationCard:{text:"Crear un nuevo tema BCF",createBcfSideTitle:"Informar de un problema"},BcfTopicForm:{dragDropImageText:"Seleccione un archivo",addObjectButton:"Objeto",addAnnotationButton:"Anotaci\xF3n",annotationButtonTooltip:"Actualmente este tema no posee ning\xFAn punto de vista",addPictureButton:"A\xF1adir una imagen",titlePlaceholder:"T\xEDtulo *",titleErrorMessage:"Falta el t\xEDtulo",typeLabel:"Tipo",priorityLabel:"Prioridad",statusLabel:"Estado",stageLabel:"Fase",assignedToLabel:"Asignado a",dueDateLabel:"Fecha de vencimiento (DD/MM/AAAA)",descriptionLabel:"Descripci\xF3n",labelsLabel:"Etiquetas",createButton:"Validar",updateButton:"Modificar este BCF",modalText:"Est\xE1 a punto de salir de la edici\xF3n del problema de {name} pero hay cambios sin guardar.",cancelButton:"Cancelar los cambios",continueButton:"Continuar con los cambios",createTitle:"Informar de un problema",dragDropImageTextTablet:"Tomar una fotograf\xEDa",takeSnapshot:"Tomar un snapshot",importFile:"Importar un archivo",searchPlaceholder:"Buscar",emptySearch:"No hay resultados"},BcfTopicOverview:{openViewer:"Abrir en el visor",openViewerNoModels:"No hay ning\xFAn modelo listo para la visualizaci\xF3n",elements:"{count} Elementos",noElements:"Ning\xFAn elemento",type:"Tipo",noTypeSpecified:"No se especifica el tipo",description:"Descripci\xF3n",noDescriptionProvided:"No hay descripci\xF3n",assignedTo:"Asignado a",notAssigned:"No asignado",dueDate:"Plazo",noDueDate:"Sin fecha de vencimiento",informations:"Informaci\xF3n",status:"Estado",noStatusSpecified:"No se especifica el estado",stage:"Fase",noStageProvided:"No se indica ninguna fase",priority:"Prioridad",priorityNotDefined:"No definido",tags:"Etiquetas",noTags:"Sin etiquetas",commentButton:"Publicar un comentario",deleteText:"Est\xE1s a punto de borrar {name}",deleteBcfButton:"Borrar este BCF",keepBcfButton:"Mantenga este BCF",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Prioridad",status:"Estado",title:"T\xEDtulo",creator:"Autor",date:"Fecha"}},BcfTopicActionsCell:{seeButton:"Ver"},BcfTopicComments:{commentButton:"Publicar un comentario",commentLabel:"Publicar un comentario",commentText:"Comentario",cancelButton:"Cancelar",publishButton:"Publicar",commentsText:"comentarios",deleteCommentText:"\xBFBorrar este comentario?",deleteButton:"Borrar",takeSnapshot:"Tomar un snapshot"},BcfTopicPriorityCell:{noPriority:"Sin"},SettingCard:{addButton:"a\xF1adir un elemento",cancelButton:"Cancelar",validateButton:"Validar",deleteExtensionText:"Borrar esta configuraci\xF3n",deleteButton:"Borrar",title:{Priority:"Prioridades",Label:"Etiquetas:",Status:"Estatutos",Type:"Tipos",Stage:"Fases"},input:{Priority:"A\xF1adir una nueva prioridad",Label:"A\xF1adir una nueva etiqueta",Status:"A\xF1adir un nuevo estado",Type:"A\xF1adir un nuevo tipo",Stage:"A\xF1adir una nueva fase"},text:{Priority:"Lista de prioridades",Label:"Lista de etiquetas",Status:"Lista de estatutos",Type:"Lista de tipos",Stage:"Lista de fases"}}},CSi={BcfComponents:MSi},xSi={BcfFilters:{filtersButton:"Filtres",filtersTitle:"Filtres",priorityLabel:"Priorit\xE9",statusLabel:"Statut",assignedToLabel:"Assign\xE9 \xE0",creatorsLabel:"Cr\xE9\xE9 par",tagsLabel:"Tags",resetButton:"R\xE9initialiser",searchButton:"Rechercher",undefined:"Non d\xE9fini",datePlaceholder:"Date de cr\xE9ation"},BcfSettings:{goBackButton:"Retour",title:"Param\xE8tres BCF",text:"Cr\xE9ez, renseignez et listez les param\xE8tres BCF que vous souhaitez avoir sur ce projet",validateButton:"Valider les param\xE8tres BCF"},BcfStatistics:{emptyText:"Ajoutez des questions pour voir les statistiques associ\xE9es ici.",issues:"probl\xE8mes",extension:{Priority:"Priorit\xE9",PriorityNotDefined:"Aucune priorit\xE9",PriorityTitle:"Priorit\xE9s",Status:"Statut",StatusNotDefined:"Aucun statut",StatusTitle:"Statuts"}},BcfTopicCard:{priority:"Priorit\xE9 : ",noPriority:"Aucune",assignedTo:"Assign\xE9 \xE0 : ",elements:"{n} \xC9lements",notSpecified:"Non d\xE9fini",see:"Voir"},BcfTopicCreationCard:{text:"Cr\xE9er un nouveau topic BCF",createBcfSideTitle:"Signaler un probl\xE8me"},BcfTopicForm:{dragDropImageText:"Veuillez s\xE9lectionner un fichier",addObjectButton:"Objet",addAnnotationButton:"Annotation",annotationButtonTooltip:"Ce topic ne poss\xE8de actuellement aucun point de vue",addPictureButton:"Ajouter une image",titlePlaceholder:"Titre *",titleErrorMessage:"Titre manquant",typeLabel:"Type",priorityLabel:"Priorit\xE9",statusLabel:"Statut",stageLabel:"Phase",assignedToLabel:"Assign\xE9 \xE0",dueDateLabel:"Date d'\xE9ch\xE9ance",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Valider",updateButton:"Modifier ce BCF",modalText:"Vous \xEAtes sur le point de quitter l'\xE9dition de l'issue {name} mais il y'a des modifications non enregistr\xE9es.",cancelButton:"Annuler les modifications",continueButton:"Continuer les modifications",createTitle:"Signaler un probl\xE8me",dragDropImageTextTablet:"Prendre une photo",takeSnapshot:"Prendre un snapshot",importFile:"Importer un fichier",searchPlaceholder:"Rechercher",emptySearch:"Pas de r\xE9sultat"},BcfTopicOverview:{openViewer:"Ouvrir dans le viewer",openViewerNoModels:"Il n'y a aucun mod\xE8le pr\xEAt pour une visualisation",elements:"{count} \xC9lements",noElements:"Aucun \xE9l\xE9ment concern\xE9",type:"Type",noTypeSpecified:"Pas de type sp\xE9cifi\xE9",description:"Description",noDescriptionProvided:"Pas de description renseign\xE9e",assignedTo:"Assign\xE9 \xE0",notAssigned:"Non assign\xE9",dueDate:"\xC9ch\xE9ance",noDueDate:"Pas de date d'\xE9ch\xE9ance",informations:"Informations",status:"Statut",noStatusSpecified:"Pas de statut sp\xE9cifi\xE9",stage:"Phase",noStageProvided:"Pas de phase renseign\xE9e",priority:"Priorit\xE9",priorityNotDefined:"Non d\xE9fini",tags:"Tags",noTags:"Pas de tags",commentButton:"Poster un commentaire",deleteText:"Vous \xEAtes sur le point de supprimer {name}",deleteBcfButton:"Supprimer ce BCF",keepBcfButton:"Conserver ce BCF",author:"Auteur"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE9",status:"Statut",title:"Titre",creator:"Auteur",date:"Date"}},BcfTopicActionsCell:{seeButton:"Voir"},BcfTopicComments:{commentButton:"Poster un commentaire",commentLabel:"Poster un commentaire",commentText:"Commentaire",cancelButton:"Annuler",publishButton:"Publier",commentsText:"commentaires",deleteCommentText:"Supprimer ce commentaire ?",deleteButton:"Supprimer",takeSnapshot:"Prendre un snapshot"},BcfTopicPriorityCell:{noPriority:"Aucune"},SettingCard:{addButton:"ajouter un \xE9l\xE9ment",cancelButton:"Annuler",validateButton:"Valider",deleteExtensionText:"Supprimmer ce param\xE8tre",deleteButton:"Supprimer",title:{Priority:"Priorit\xE9s",Label:"Tags",Status:"Statuts",Type:"Types",Stage:"Phases"},input:{Priority:"Ajouter une nouvelle priorit\xE9",Label:"Ajouter un nouveau label",Status:"Ajouter un nouveau statut",Type:"Ajouter un nouveau type",Stage:"Ajouter une nouvelle phase"},text:{Priority:"Liste des priorit\xE9s",Label:"Liste des tags",Status:"Liste des statuts",Type:"Liste des types",Stage:"Liste des phases"}}},kSi={BcfComponents:xSi},ISi={BcfFilters:{filtersButton:"Filtri",filtersTitle:"Filtri",priorityLabel:"Priorit\xE0",statusLabel:"Stato",datePlaceholder:"Data di creazione",assignedToLabel:"Assegnato a",creatorsLabel:"Creato da",tagsLabel:"Etichette",resetButton:"Ripristina",searchButton:"Cerca",undefined:"Non definito"},BcfSettings:{goBackButton:"Indietro",title:"Parametri BCF",text:"Creare, notificare e elencare i parametri BCF che si desidera avere su questo progetto",validateButton:"Conferma i parametri BCF"},BcfStatistics:{emptyText:"Aggiungi delle domande per vedere le statistiche associate qui.",issues:"problemi",extension:{Priority:"Priorit\xE0",PriorityNotDefined:"Nessuna priorit\xE0",PriorityTitle:"Priorit\xE0",Status:"Stato",StatusNotDefined:"Nessuno stato",StatusTitle:"Stati"}},BcfTopicCard:{priority:"Priorit\xE0:",noPriority:"Nessuno",assignedTo:"Assegnato a:",elements:"Elementi",noElements:"0 elementi",notSpecified:"Non definito",see:"Visualizza"},BcfTopicCreationCard:{text:"Crea un nuovo topic BCF",createBcfSideTitle:"Segnala un problema"},BcfTopicForm:{dragDropImageText:"Selezionare un file",addObjectButton:"Oggetto",addAnnotationButton:"Annotazione",annotationButtonTooltip:"Attualmente questo argomento non presenta alcun punto di vista",addPictureButton:"Aggiungere un'immagine",titlePlaceholder:"Titolo *",titleErrorMessage:"Titolo mancante",typeLabel:"Tipo",priorityLabel:"Priorit\xE0",statusLabel:"Stato",stageLabel:"Fase",assignedToLabel:"Assegnato a",dueDateLabel:"Data di scadenza",descriptionLabel:"Descrizione",labelsLabel:"Tag",createButton:"Conferma",updateButton:"Modificare questo BCF",modalText:"State per abbandonare la modifica di {name} ma ci sono modifiche non salvate.",cancelButton:"Annullare le modifiche",continueButton:"Continuare le modifiche",createTitle:"Segnala un problema"},BcfTopicOverview:{openViewer:"Apri nel visualizzatore",openViewerNoModels:"Non esistono modelli pronti per la visualizzazione",elements:"{count} Elementi",noElements:"Nessun elemento",type:"Tipo",noTypeSpecified:"Nessun tipo specificato",description:"Descrizione",noDescriptionProvided:"Nessuna descrizione inserita",assignedTo:"Assegnato a",notAssigned:"Non assegnato",dueDate:"Scadenza",noDueDate:"Nessuna data di scadenza",informations:"Informazioni",status:"Stato",noStatusSpecified:"Nessuno stato specificato",stage:"Fase",noStageProvided:"Nessuna fase inserita",priority:"Priorit\xE0",priorityNotDefined:"Non definita",tags:"Etichette",noTags:"Nessuna etichetta",commentButton:"Pubblica un commento",deleteText:"Stai per eliminare {name}",deleteBcfButton:"Elimina questo BCF",keepBcfButton:"Conserva questo BCF",author:"Autore"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE0",status:"Stato",title:"Titolo",creator:"Autore",date:"Data"}},BcfTopicActionsCell:{seeButton:"Visualizza"},BcfTopicComments:{commentButton:"Pubblica un commento",commentLabel:"Pubblica un commento",commentText:"Commento",cancelButton:"Annulla",publishButton:"Pubblica",commentsText:"commenti",deleteCommentText:"Eliminare questo commento?",deleteButton:"Elimina"},BcfTopicPriorityCell:{noPriority:"Nessuno"},SettingCard:{addButton:"aggiungi un elemento",cancelButton:"Annulla",validateButton:"Conferma",deleteExtensionText:"Elimina questo parametro",deleteButton:"Elimina",title:{Priority:"Priorit\xE0",Label:"Etichette",Status:"Stati",Type:"Tipi",Stage:"Fasi"},input:{Priority:"Aggiungi una nuova priorit\xE0",Label:"Aggiungi una nuova etichetta",Status:"Aggiungi un nuovo stato",Type:"Aggiungi un nuovo tipo",Stage:"Aggiungi una nuova fase"},text:{Priority:"Elenco delle priorit\xE0",Label:"Elenco delle etichette",Status:"Elenco degli stati",Type:"Elenco dei tipi",Stage:"Elenco delle fasi"}}},DSi={BcfComponents:ISi},PSi={de:ySi,en:bSi,es:CSi,fr:kSi,it:DSi},ESi=({apiClient:t,fetchUsers:e,i18nPlugin:i}={})=>({install(r){t?Hr.setup({apiClient:t,fetchUsers:e}):console.error("[BCF Components Plugin] No api client provided. You must provide an api client for the components to work properly."),i?Object.entries(PSi).forEach(([o,s])=>{i.global.mergeLocaleMessage(o,s)}):console.warn("[BCF Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(w9e).forEach(([o,s])=>{r.component(o,s)})}}),TSi={title:"Building Maker",back:"Zur\xFCck",list:{text:"Erstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",createButton:"Neues Projekt",updateButton:"Umbenennen",deleteButton:"L\xF6schen"},form:{text:"Erstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",input:"Name des Geb\xE4udes",error:"Ung\xFCltiger Name",createButton:"Erstellen",updateButton:"Best\xE4tigen"},storeys:{addStoreyButton:"Etage",addFileButton:"Grundriss",closeButton:"Fertigstellen",submitFilesButton:"Best\xE4tigen"},storeyForm:{title:"Neue Etage",input:"Name",error:"Ung\xFCltiger Name",cancelButton:"Abbrechen",submitButton:"Best\xE4tigen"}},SSi={creationFormTitle:"Ordner erstellen",renameFormPlaceholder:"Datei- / Ordnernam",nameInputPlaceholder:"Ordnername",emptyFolder:"Dieser Ordner ist leer",newFolderSuccess:"Neuer Ordner erstellt",renameFolderSuccess:"Umbenannter Ordner",deleteFolderSuccess:"Ordner gel\xF6scht",newFileSuccess:"Datei hinzugef\xFCgt",renameFileSuccess:"Umbenannte Datei",deleteFileSuccess:"Datei gel\xF6scht",nameInputErrorMessage:"Ung\xFCltiger name",cancel:"Abbrechen",submit:"Best\xE4tigen",buttonText:"Neuer Ordner",addFileButtonText:"Datei laden",rename:"Umbenennen",view:"Sehen",download:"Herunterladen",delete:"L\xF6schen",deleteTitle:"Dateien l\xF6schen",deleteDetail:"Sie sind im Begriff, die folgenden Dateien / Ordner endg\xFCltig zu l\xF6schen"},LSi={BuildingMaker:TSi,FileManager:SSi},BSi={title:"Building",back:"Back",list:{text:"Create and edit the layers, then download your PDFs.",createButton:"New project",updateButton:"Rename",deleteButton:"Delete"},form:{text:"Create and edit the layers, then download your PDFs.",input:"Building name",error:"Invalid",createButton:"Create",updateButton:"Confirm"},storeys:{addStoreyButton:"Storey",addFileButton:"Plan",closeButton:"Finish",submitFilesButton:"Validate"},storeyForm:{title:"New storey",input:"Name",error:"Invalid name",cancelButton:"Cancel",submitButton:"Validate"}},NSi={creationFormTitle:"Create folder",renameFormPlaceholder:"Folder/File name",nameInputPlaceholder:"Folder name",emptyFolder:"This folder is empty",newFolderSuccess:"New folder created",renameFolderSuccess:"Folder renamed",deleteFolderSuccess:"Folder deleted",newFileSuccess:"File added",renameFileSuccess:"File renamed",deleteFileSuccess:"File deleted",nameInputErrorMessage:"Invalid name",cancel:"Cancel",submit:"Submit",buttonText:"New folder",addFileButtonText:"Upload a file",rename:"Rename",view:"View",download:"Download",delete:"Delete",deleteTitle:"Deleting Files",deleteDetail:"You are about to permanently delete the following files / folders",dmsRoot:"Root of the project's DMS",validate:"Validate",back:"Back",pdfPageSelectorTitle:"Select a page"},jSi={title:"Meta-Building Structure",tab:{structure:"Structure",zones:"Zones",equipments:"Equipments"},StoreySelector:{placeholder:"Select a storey"},StructureView:{search:"Search"}},RSi={title:"Photosphere Building"},OSi={BuildingMaker:BSi,FileManager:NSi,MetaBuildingStructure:jSi,PhotosphereBuilding:RSi},FSi={title:"Building Maker",back:"Vuelta",list:{text:"Cree y edite los pisos despu\xE9s cargue los PDF.",createButton:"Nuevo proyecto",updateButton:"Renombrar",deleteButton:"Suprimir"},form:{text:"Cree y edite los pisos despu\xE9s cargue los PDF.",input:"Nombre del edificio",error:"Nombre no v\xE1lido",createButton:"Crear",updateButton:"Validar"},storeys:{addStoreyButton:"Piso",addFileButton:"Plano",closeButton:"Terminar",submitFilesButton:"Validar"},storeyForm:{title:"Nuevo piso",input:"Nombre",error:"Nombre no v\xE1lido",cancelButton:"Anular",submitButton:"Validar"}},zSi={creationFormTitle:"Crear un archivo",renameFormPlaceholder:"Nombre de archivo / carpeta",nameInputPlaceholder:"Nombre de la carpeta",emptyFolder:"Esta carpeta est\xE1 vac\xEDa",newFolderSuccess:"Nueva carpeta creada",renameFolderSuccess:"Carpeta renombrada",deleteFolderSuccess:"Carpeta eliminada",newFileSuccess:"Archivo agregado",renameFileSuccess:"Archivo renombrado",deleteFileSuccess:"Archivo eliminado",nameInputErrorMessage:"Nombre inv\xE1lida",cancel:"Cancelar",submit:"Validar",buttonText:"Carpeta nueva",addFileButtonText:"Cargar un archivo",rename:"Renombrar",view:"Ver",download:"Descargar",delete:"Borrar",deleteTitle:"Eliminar archivos",deleteDetail:"Est\xE1 a punto de eliminar permanentemente los siguientes archivos / carpetas"},USi={BuildingMaker:FSi,FileManager:zSi},VSi={title:"Building Maker",back:"Retour",list:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",createButton:"Nouveau projet",updateButton:"Renommer",deleteButton:"Supprimer"},form:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",input:"Nom du b\xE2timent",error:"Nom invalide",createButton:"Cr\xE9er",updateButton:"Valider"},storeys:{addStoreyButton:"\xC9tage",addFileButton:"Plan",closeButton:"Terminer",submitFilesButton:"Valider"},storeyForm:{title:"Nouvel \xE9tage",input:"Nom",error:"Nom invalide",cancelButton:"Annuler",submitButton:"Valider"}},HSi={creationFormTitle:"Cr\xE9er un dossier",renameFormPlaceholder:"Nom du fichier/dosier",nameInputPlaceholder:"Nom du dossier",emptyFolder:"Ce dossier est vide",newFolderSuccess:"Nouveau dossier cr\xE9\xE9",renameFolderSuccess:"Dossier renomm\xE9",deleteFolderSuccess:"Dossier supprim\xE9",newFileSuccess:"Fichier ajout\xE9",renameFileSuccess:"Fichier renomm\xE9",deleteFileSuccess:"Fichier supprim\xE9",nameInputErrorMessage:"Nom invalide",cancel:"Annuler",submit:"Valider",buttonText:"Nouveau dossier",addFileButtonText:"Charger un fichier",rename:"Renommer",view:"Voir",download:"T\xE9l\xE9charger",delete:"Supprimer",deleteTitle:"Supression de fichiers",deleteDetail:"Vous \xEAtes sur le point de supprimer d\xE9finitivement les fichiers/dossiers suivants",dmsRoot:"Racine de la GED du projet",validate:"Valider",back:"Retour",pdfPageSelectorTitle:"S\xE9lectionner une page"},_Si={title:"Structure M\xE9ta-Building",tab:{structure:"Structure",zones:"Zones",equipments:"Equipements"},StoreySelector:{placeholder:"S\xE9lectionner un \xE9tage"},StructureView:{search:"Rechercher"}},QSi={title:"Photosph\xE8re Building"},qSi={BuildingMaker:VSi,FileManager:HSi,MetaBuildingStructure:_Si,PhotosphereBuilding:QSi},GSi={title:"Building Maker",back:"Reso",list:{text:"Crea e modifica i piani e poi scarica i tuoi PDF.",createButton:"Nuovo progetto",updateButton:"Rinominare",deleteButton:"Eliminare"},form:{text:"Crea e modifica i piani e poi scarica i tuoi PDF.",input:"Nome della costruzione",error:"Nome non corretto",createButton:"Creare",updateButton:"Convalidare"},storeys:{addStoreyButton:"Piano",addFileButton:"Progetto",closeButton:"Finire",submitFilesButton:"Convalidare"},storeyForm:{title:"Nuovo piano",input:"Nome",error:"Nome non corretto",cancelButton:"Annullare",submitButton:"Convalidare"}},KSi={creationFormTitle:"Crea una cartella",renameFormPlaceholder:"Nome file/cartella",nameInputPlaceholder:"Nome della cartella",emptyFolder:"Questa cartella \xE8 vuota",newFolderSuccess:"Nuova cartella creata",renameFolderSuccess:"Cartella rinominata",deleteFolderSuccess:"Cartella eliminata",newFileSuccess:"File aggiunto",renameFileSuccess:"File rinominato",deleteFileSuccess:"File cancellato",nameInputErrorMessage:"Nome non valido",cancel:"Annulla",submit:"Invia",buttonText:"Nuova cartella",addFileButtonText:"Carica un file",rename:"Rinominare",view:"Vedere",download:"Scaricare",delete:"Cancellare",deleteTitle:"Eliminazione di file",deleteDetail:"Stai per eliminare definitivamente i seguenti file/cartelle"},YSi={BuildingMaker:GSi,FileManager:KSi},ZSi={de:LSi,en:OSi,es:USi,fr:qSi,it:YSi},JSi=({i18nPlugin:t}={})=>({install(e){t?Object.entries(ZSi).forEach(([i,r])=>{t.global.mergeLocaleMessage(i,r)}):console.warn("[BIMData Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(fmi).forEach(([i,r])=>{e.component(i,r)})}}),WSi={beforeMount(t,e){if(typeof e.value!="function")throw Error(`click away directive needs function, got ${typeof e.value}`);t.clickAwayHandler=i=>{(i.path||i.composedPath&&i.composedPath()).find(r=>r===t)||e.value()},window.addEventListener("mousedown",t.clickAwayHandler,!0)},unmounted(t){window.removeEventListener("mousedown",t.clickAwayHandler,!0),delete t.clickAwayHandler}},XSi=Object.freeze(Object.defineProperty({__proto__:null,BIMDataClickAway:Uc,BIMDataClickInputAway:WSi},Symbol.toStringTag,{value:"Module"})),$Si=t=>({install(e){Object.entries(IAt).forEach(([i,r])=>{t&&t.excludedComponents&&t.excludedComponents.length>0&&t.excludedComponents.includes(i)||(!t||!t.includedComponents||t.includedComponents.includes(i))&&e.component(i,r)}),(!t||t.directives!==!1)&&Object.entries(XSi).forEach(([i,r])=>e.directive(i.split("BIMData")[1],r))}}),eLi={name:"LiWrapper",render(){return Ji("li",this.$slots.default())}};function tLi(t,e){var i=new Set([]);return t.forEach(r=>{e.has(r)||i.add(r)}),i}const Au=Mn("id"),iLi=({contextMenu:t,objects:e=[],state:i=t.$viewer.state,pictos:r})=>[{name:"selectAll",get group(){return t.groupPositions.select},position:1,get label(){return t.$t("context_menu.select_all")},get picto(){return r.get(this.name)},execute:()=>i.selectObjects(e.filter(Sc(Ki("visible"),Bu("selected"))).map(Au)),predicate:()=>e.some(Sc(Ki("visible"),Bu("selected")))},{name:"deselectAll",get group(){return t.groupPositions.select},position:2,get label(){return t.$t("context_menu.deselect_all")},get picto(){return r.get(this.name)},execute:()=>i.deselectObjects(e.filter(Ki("selected")).map(Au)),predicate:()=>e.some(Ki("selected"))},{name:"selectSimilar",get group(){return t.groupPositions.select},position:3,get label(){return t.$t("context_menu.select_similar")},get picto(){return r.get(this.name)},execute(){const o=e.filter(s=>s.visible&&s.type===this.selectedObject.type&&s.id!==this.selectedObject.id).map(Au);i.selectObjects(o)},selectedObject:null,predicate(){const o=e.filter(Sc(Ki("visible"),Ki("selected")));return o.length===1&&o[0].type!==void 0?(this.selectedObject=o[0],!0):(this.selectedObject=null,!1)}},{name:"reverseSelection",get label(){return t.$t("context_menu.reverse_selection")},get group(){return t.groupPositions.select},position:4,execute:()=>{const o=new Set(e.filter(Ki("selected")).map(Au)),s=new Set(e.filter(Ki("visible")).map(Au));i.selectObjects(Array.from(tLi(s,o)),{exclusive:!0})},predicate:()=>e.some(Sc(Bu("selected"),Ki("visible")))&&e.some(Sc(Ki("selected"),Ki("visible")))},{name:"showAll",get group(){return t.groupPositions.visibility},position:1,get label(){return t.$t("context_menu.show_all")},get picto(){return r.get(this.name)},execute:()=>i.showObjects(e.filter(Bu("visible")).map(Au)),predicate:()=>e.some(Bu("visible"))},{name:"hide",get group(){return t.groupPositions.visibility},position:2,get label(){return t.$t("context_menu.hide")},get picto(){return r.get(this.name)},objectsToHide:null,execute(){const o=this.objectsToHide.filter(Ki("selected"));o.length>0&&i.deselectObjects(o.map(Au)),i.hideObjects(this.objectsToHide.map(Au))},predicate(){return this.objectsToHide=e.filter(Sc(Ki("selected"),Ki("visible"))),this.objectsToHide.length>0}},{name:"hideAll",get group(){return t.groupPositions.visibility},position:3,get label(){return t.$t("context_menu.hide_all")},execute:()=>{const o=e.filter(Ki("visible"));o.some(Ki("selected"))&&i.deselectObjects(o.filter(Ki("selected")).map(Au)),i.hideObjects(o.map(Au))},predicate:()=>e.some(Ki("visible"))}].filter(o=>o.predicate()),rLi={components:{LiWrapper:eLi},inject:["$viewer"],data(){return{defaultPrevented:!1,displayed:!1,top:null,bottom:null,left:null,width:200,nextCommandId:1,currentCommands:[],contextCommands:[],registeredCommands:[],groupPositions:{select:10,visibility:20},asyncPredicateRunning:!1}},computed:{position(){return{top:this.top?this.top+"px":"unset",bottom:this.bottom?this.bottom+"px":"unset",left:this.left+"px",width:this.width+"px"}}},watch:{displayed(t){t?document.addEventListener("keydown",this.onKeyDown):document.removeEventListener("keydown",this.onKeyDown)}},created(){this.$viewer.contextMenu=this,this.asyncPredicates=new Set},methods:{onKeyDown(t){t.key==="Escape"&&this.away()},setPosition(t){const e=(document.fullscreenElement?document.fullscreenElement:this.$parent.$el).getBoundingClientRect();this.left=t.clientX-e.left,this.top=t.clientY-e.top,this.left+this.width>e.width&&(this.left=this.left-this.width),t.clientY>e.top+e.height/2?(this.bottom=e.height-this.top,this.top=null):this.bottom=null},typeCheckCommand(t={}){let e=null;if((!t.execute||typeof t.execute!="function")&!t.component&&(e="Cannot register context menu command. A command must have an execute function or a component property."),t.label||(e="Cannot register context menu command. A command must have a label."),e)throw console.error(e),new Error(e);return t.id=this.nextCommandId++,t},open(t){this.currentCommands=[],this.setPosition(t),this.originEvent=t,t.preventDefault(),this.setCurrentCommands(),this.groupCurrentCommands(),this.defaultPrevented=!1,this.displayed=!0,document.fullscreenElement?(this.$el.parentElement.removeChild(this.$el),this.adoptiveParent=document.fullscreenElement,this.adoptiveParent.appendChild(this.$el)):this.adoptiveParent&&this.adoptiveParent!==this.$viewer.globalContext.el&&(this.adoptiveParent.removeChild(this.$el),this.$viewer.globalContext.el.appendChild(this.$el),this.adoptiveParent=null)},setCurrentCommands(){this.asyncPredicates.clear(),this.asyncPredicateRunning=!1,this.defaultPrevented||this.registeredCommands.forEach(async t=>{if(typeof t.predicate=="function"){const e=t.predicate(this.$viewer.globalContext.activeLocalContext);if(e===!0)this.currentCommands.push(t);else if(typeof e?.then=="function"){this.asyncPredicates.add(e),this.asyncPredicateRunning=!0;const i=await e;this.asyncPredicates.has(e)&&(this.asyncPredicates.delete(e),this.asyncPredicateRunning=this.asyncPredicates.size>0,i===!0&&this.currentCommands.push(t))}}else this.currentCommands.push(t)}),this.currentCommands.push(...this.contextCommands),this.contextCommands=[]},getDefaultCommands({objects:t=[],state:e=this.$viewer.state,context:i=null}){const r=new Map;return i&&this.$viewer.shortcutManager.getShortcuts(i).forEach(o=>r.set(o.name,o.key)),iLi({contextMenu:this,objects:t,state:e,pictos:r})},executeCommand(t){if(t.execute&&(t.execute(this.originEvent),this.displayed=!1),t.component&&!t.menu)throw new Error("Command with component property must have a `menu` property")},away(){this.displayed=!1},groupCurrentCommands(){const t=new Map;this.currentCommands.forEach(i=>{(i.group===null||i.group===void 0)&&(i.group=0),t.has(i.group)?t.get(i.group).push(i):t.set(i.group,[i])}),t.forEach(i=>i.sort((r,o)=>(r.position=r.position||0,o.position=o.position||0,r.position-o.position)));const e=[...t.keys()].sort((i,r)=>i-r).map(i=>t.get(i)).flat();this.currentCommands=e},isGroupIntersection(t){if(t===0)return!1;const e=this.currentCommands[t-1],i=this.currentCommands[t];return e.group<i.group},registerContextCommand(t){const e=this.typeCheckCommand(t);return this.contextCommands.push(e),t.id},registerCommand(t){const e=this.typeCheckCommand(t);return this.registeredCommands.push(e),t.id},unregisterCommand(t){return this.registeredCommands.find(e=>e.id===t)?(this.registeredCommands=this.registeredCommands.filter(e=>e.id!==t),!0):!1},preventDefault(){this.defaultPrevented=!0}}},oLi={key:0,class:"separator"},nLi={class:"menu-text"},sLi={key:1,class:"menu-picto"},aLi={key:0,class:"context-menu__spinner"};function lLi(t,e,i,r,o,s){const n=N("BIMDataIconChevron"),a=N("LiWrapper"),l=N("BIMDataSpinner"),c=Vi("click-away");return o.displayed&&(o.currentCommands.length||o.asyncPredicateRunning)?Lt((P(),z("ul",{key:0,class:"bimdata-list context-menu",style:Te(s.position)},[(P(!0),z(gt,null,Xt(o.currentCommands,(u,d)=>(P(),re(a,{key:u.label,class:"context-menu__element",onClick:h=>s.executeCommand(u)},{default:K(()=>[s.isGroupIntersection(d)?(P(),z("div",oLi)):ke("",!0),M("div",nLi,X(u.label),1),!u.component&&u.picto?(P(),z("span",sLi,X(u.picto),1)):u.component?(P(),re(n,{key:2,size:"xxs",class:"fill-primary"})):ke("",!0)]),_:2},1032,["onClick"]))),128)),o.asyncPredicateRunning?(P(),z("li",aLi,[R(l)])):ke("",!0)],4)),[[c,s.away]]):ke("",!0)}const cLi=Y(rLi,[["render",lLi],["__scopeId","data-v-5b87d4a3"]]),uLi={name:"ViewerHeader",inject:["$viewer"],props:{visible:{type:Boolean,default:!0}},setup(){const t=zt("$viewer"),e=xs(new Map),i=o=>{if(!o.name)throw new TypeError("[Viewer Header] Content must have a name");if(e.has(o.name))throw new Error(`[Viewer Header] Content with name ${o.name} already exists`);e.set(o.name,o)},r=o=>e.has(o)?(e.delete(o),!0):!1;return{logo:t.uiSettings.bimdataLogo!==!1,version:t.uiSettings.version!==!1?t.version:null,headerContent:e,headerRightContentComponents:At(()=>Array.from(e.values()).filter(o=>o.position==="right").sort((o,s)=>o.order-s.order).map(o=>o.component)),headerLeftContentComponents:At(()=>Array.from(e.values()).filter(o=>o.position==="left").sort((o,s)=>o.order-s.order).map(o=>o.component)),addContent:i,removeContent:r}}},dLi={class:"viewer-header"},hLi={class:"viewer-header__content"},pLi={class:"viewer-header__content__left"},ALi={class:"viewer-header__content__right"},fLi={key:0,class:"m-l-6 flex items-center"},gLi={key:1,class:"viewer-header__version"};function mLi(t,e,i,r,o,s){const n=N("BIMDataIllustration");return Lt((P(),z("div",dLi,[M("div",hLi,[M("div",pLi,[(P(!0),z(gt,null,Xt(r.headerLeftContentComponents,a=>(P(),re(po(a),{key:a.name}))),128))]),M("div",ALi,[(P(!0),z(gt,null,Xt(r.headerRightContentComponents,a=>(P(),re(po(a),{key:a.name}))),128))])]),r.logo||r.version?(P(),z("div",fLi,[r.logo?(P(),re(n,{key:0,name:"logo",width:"30px",height:"30px"})):ke("",!0),r.version?(P(),z("div",gLi,X(r.version),1)):ke("",!0)])):ke("",!0)],512)),[[pi,i.visible]])}const vLi=Y(uLi,[["render",mLi],["__scopeId","data-v-5c9ea6b6"]]),yLi={emits:["resize"],setup(t,{emit:e}){return{onResizerMousedown:i=>{i.preventDefault();let r=i.clientX;const o=n=>{n.preventDefault();const a=n.clientX-r;r=n.clientX,e("resize",a)},s=n=>{n.preventDefault(),window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",s)};window.addEventListener("mousemove",o),window.addEventListener("mouseup",s)}}}},wLi=t=>(Ur("data-v-79a3b3af"),t=t(),Vr(),t),bLi={class:"bimdata-separator"},MLi=wLi(()=>M("div",{class:"bimdata-separator__line"},null,-1));function CLi(t,e,i,r,o,s){return P(),z("div",bLi,[MLi,M("div",{class:"bimdata-separator__resizer",onMousedown:e[0]||(e[0]=(...n)=>r.onResizerMousedown&&r.onResizerMousedown(...n))},null,32)])}const xLi=Y(yLi,[["render",CLi],["__scopeId","data-v-79a3b3af"]]),kLi={components:{Separator:xLi},props:{position:{type:String,required:!0,validator(t){return["left","right"].includes(t)}},sidePanel:{type:Object,required:!0,validator(t){if(t.width&&(typeof t.width!="number"||t.width<0))return console.error(`[GlobalSidePanel] sidePanel.width must be a strictly positive number, received ${typeof t.width}`),!1;const e=typeof t?.component=="object";return e||console.error("[GlobalSidePanel] sidePanel must have a component property"),e}}},setup(t){const e=Ue(null),i=Ue(t.sidePanel.width??400),r=(o,s=1)=>{const n=i.value+o*s;i.value=Math.max(0,n)};return Object.defineProperty(t.sidePanel,"width",{get(){return i.value},set(o){if(typeof o!="number"||o<=0){console.error(`[GlobalSidePanel] sidePanel.width must be a strictly positive number, received ${typeof o}`);return}i.value=o}}),Object.defineProperty(t.sidePanel,"componentInstance",{get(){return e.value},enumerable:!0}),{componentInstance:e,width:i,onResize:r}}},ILi={class:"bimdata-global-side-panel__component"};function DLi(t,e,i,r,o,s){const n=N("Separator");return P(),z("div",{class:"bimdata-global-side-panel",style:Te(`width: ${r.width}px`)},[i.sidePanel.resizable&&i.position==="right"?(P(),re(n,{key:0,onResize:e[0]||(e[0]=a=>r.onResize(a,-1))})):ke("",!0),M("div",ILi,[(P(),re(po(i.sidePanel.component),{ref:"componentInstance"},null,512))]),i.sidePanel.resizable&&i.position==="left"?(P(),re(n,{key:1,onResize:e[1]||(e[1]=a=>r.onResize(a))})):ke("",!0)],4)}const PLi=Y(kLi,[["render",DLi],["__scopeId","data-v-7374abbf"]]),ELi={name:"BimdataViewer",components:{ContextMenu:cLi,ViewerHeader:vLi,ModalManager:rpe,GlobalSidePanel:PLi},setup(){const t=zt("$viewer"),{globalContext:e,shortcutManager:i}=t;Rr(()=>{i&&i.destroy(),e.hub.clear()}),dr(()=>{t.pluginManager.runPluginsScripts(t)});const r=At(()=>{var p;return t.uiSettings.bimdataLogo!==!1&&(e.localContexts.length!==1||((p=e.localContexts[0].window)==null?void 0:p.logoAndVersion))}),o=At(()=>{var p;return t.uiSettings.version!==!1&&(e.localContexts.length!==1||(p=e.localContexts[0].window)!=null&&p.logoAndVersion)?t.version:null}),s=At(()=>e.leftSidePanel),n=At(()=>e.rightSidePanel),a=At(()=>{var p;const f=t.uiSettings.header!==!1,A=e.localContexts.length===1&&((p=e.localContexts[0].window)==null?void 0:p.header)===!1,g=!!(s.value||n.value);return f&&(!A||g)}),l=t.uiSettings.contextMenu!==!1,c=Ue(null);function u(p){l&&c.value.open(p)}function d(){t.shortcutManager.active=!0}function h(){t.shortcutManager.active=!1}return{Layout:t.layout.areas.component,onContextMenu:u,onMouseenter:d,onMouseleave:h,isHeaderVisible:a,viewerTemplateRef:e.templateRef,modalManagerTemplateRef:e.modalManagerTemplateRef,headerTemplateRef:e.headerTemplateRef,contextMenuTemplateRef:c,contextMenuEnabled:l,bimdataLogoOnSingleWindow:r,viewerVersionOnSingleWindow:o,version:t.version,loading:At(()=>e.loading),spinner:At(()=>e.spinner),leftSidePanel:s,rightSidePanel:n}}},TLi={key:1,class:"global-spinner",style:{"z-index":"3"}},SLi={key:2,class:"viewer__logo"},LLi={key:1,class:"version m-t-6"};function BLi(t,e,i,r,o,s){const n=N("ModalManager"),a=N("ContextMenu"),l=N("ViewerHeader"),c=N("GlobalSidePanel"),u=N("BIMDataSpinner"),d=N("BIMDataIllustration");return P(),z("div",{id:"bimdata-viewer",ref:"viewerTemplateRef",class:"bimdata-viewer bimdata-scrollbar",onContextmenu:e[0]||(e[0]=(...h)=>r.onContextMenu&&r.onContextMenu(...h)),onMouseenter:e[1]||(e[1]=(...h)=>r.onMouseenter&&r.onMouseenter(...h)),onMouseleave:e[2]||(e[2]=(...h)=>r.onMouseleave&&r.onMouseleave(...h))},[R(n,{ref:"modalManagerTemplateRef",global:""},null,512),r.contextMenuEnabled?(P(),re(a,{key:0,ref:"contextMenuTemplateRef"},null,512)):ke("",!0),R(l,{ref:"headerTemplateRef",visible:r.isHeaderVisible},null,8,["visible"]),M("div",{class:"bimdata-viewer__content",style:Te(r.isHeaderVisible?"height: calc(100% - var(--bimdata-viewer-header-height, 40px))":"height: 100%")},[r.leftSidePanel?(P(),re(c,{key:0,"side-panel":r.leftSidePanel,position:"left"},null,8,["side-panel"])):ke("",!0),(P(),re(po(r.Layout),{style:"height: 100%; flex-grow: 1;"})),r.rightSidePanel?(P(),re(c,{key:1,"side-panel":r.rightSidePanel,position:"right"},null,8,["side-panel"])):ke("",!0)],4),r.loading?(P(),z("div",TLi,[r.spinner&&r.spinner.component?(P(),re(po(r.spinner.component),Ru(Ia({key:0},r.spinner.props)),null,16)):(P(),re(u,{key:1,size:"40px",border:"5px"}))])):ke("",!0),!r.isHeaderVisible&&(r.bimdataLogoOnSingleWindow||r.viewerVersionOnSingleWindow)?(P(),z("div",SLi,[r.bimdataLogoOnSingleWindow?(P(),re(d,{key:0,name:"logo"})):ke("",!0),r.viewerVersionOnSingleWindow?(P(),z("div",LLi,X(r.version),1)):ke("",!0)])):ke("",!0)],544)}const NLi=Y(ELi,[["render",BLi]]),jLi=["src"],RLi={class:"bimdata-models__header"},OLi={key:0,class:"bimdata-models__header__loader"},FLi={class:"bimdata-models__header__picto"},zLi={class:"bimdata-models__header__name"},ULi={key:0,class:"bimdata-models__header__name--empty"},VLi={key:1,class:"bimdata-models__header__name--empty"},HLi={key:3},_Li=["onMousemove","onClick"],cpe={__name:"Models",props:{preview:{type:Boolean,default:!1},windowPositioning:{type:Boolean,default:!0},customFilter:{type:Function,default:null},width:{type:String,default:"350px"}},setup(t){const e=t,i=zt("$viewer"),r=Ue(),o=Ue(0),s=Ue(0),n=Ue(),a=io([]),l=Ue(!1),c=At(()=>i.localContext.loadedModels),u=At(()=>i.localContext.loadedModelIds),d=At(()=>i.localContext.loadingModelIds),h=At(()=>i.localContext.multiModel),p=At(()=>(e.customFilter?a.value.filter(e.customFilter):a.value).map(x=>c.value.find(I=>{var D;return((D=I.document)==null?void 0:D.head_id)!=null&&I.document.head_id===x.document.id})??x)),f=x=>u.value.includes(x),A=x=>d.value.includes(x),g=At(()=>{var x;const{x:I,y:D}=((x=n.value)==null?void 0:x.getBoundingClientRect())??{x:0,y:0};return`top:${s.value-D}px; left:${o.value-I}px;`}),m=x=>{!h.value&&f(x.id)||d.value.length>0||(i.localContext.loadedModelIds.includes(x.id)?i.localContext.unloadModels([x.id]):i.localContext.loadModels([x.id]))},y=x=>{switch(x){case"C":return"success";case"E":return"failed";case"P":case"I":return"sandglass"}},v=(x,I)=>{x!=null&&x.viewer_360_file&&(o.value=I.clientX,s.value=I.clientY),r.value=x?.viewer_360_file},w=async x=>{l.value=!0;try{return(await i.api.apiClient.modelApi.getModels(i.api.cloudId,i.api.projectId,void 0,void 0,x)).filter(I=>i.state.models.some(D=>D.archived)||!I.archived).sort(Zh("updated_at",!1))}catch(I){console.error("[Models] Cannot get project models. Error: ",I)}finally{l.value=!1}return[]},C=x=>{var I;return((I=x.children)==null?void 0:I.some(D=>f(D.id)))??!1};return w(i.localContext.modelTypes).then(x=>{a.value=x}),(x,I)=>{const D=N("BIMDataSpinner"),L=N("BIMDataIconModel3D"),j=N("BIMDataTextbox"),T=N("BIMDataCheckbox"),S=N("BIMDataRadio"),F=N("BIMDataIcon"),V=N("BIMDataDropdownList");return P(),z("div",{ref_key:"templateRef",ref:n,class:Ee(["bimdata-models",{"bimdata-models--window-positioning":t.windowPositioning}])},[r.value?(P(),z("div",{key:0,class:"bimdata-models__preview",style:Te(g.value)},[M("img",{src:r.value},null,8,jLi)],4)):ke("",!0),R(V,{style:Te(`--bimdata-models-width: ${t.width};`),width:t.width,list:p.value,"element-key":"id","per-page":40,loading:l.value,class:"bimdata-models__list",disabled:p.value.length===0,onElementClick:m},{header:K(({isOpen:q})=>[M("div",RLi,[l.value||d.value.length>0?(P(),z("div",OLi,[R(D)])):(P(),z(gt,{key:1},[M("div",FLi,[R(L)]),M("div",{class:Ee(["bimdata-models__header__number bimdata-info-length",{"bimdata-models__header__number--empty":u.value.length===0}])},[M("span",null,X(u.value.length),1)],2),M("div",zLi,[p.value.length===0?(P(),z("span",ULi,X(x.$t("model.no_model")),1)):u.value.length===0?(P(),z("span",VLi,X(x.$t("model.no_loaded_model")),1)):u.value.length===1?(P(),re(j,{key:2,text:c.value[0].name,tooltip:!q},null,8,["text","tooltip"])):u.value.length>1?(P(),z("span",HLi,X(x.$t("model.selected_models")),1)):ke("",!0)])],64))])]),element:K(({element:q,close:_})=>[M("div",{class:"bimdata-models__model",onMousemove:J=>t.preview&&v(q,J),onMouseout:I[0]||(I[0]=J=>t.preview&&v()),onClick:()=>{!h.value&&!f(q.id)&&_()}},[h.value?(P(),re(T,{key:0,"model-value":f(q.id)||C(q),disabled:q.status!=="C"||d.value.length>0},null,8,["model-value","disabled"])):(P(),re(S,{key:1,"model-value":f(q.id)||C(q),disabled:q.status!=="C"||d.value.length>0},null,8,["model-value","disabled"])),R(F,{margin:"0 calc(var(--spacing-unit) / 2)",name:y(q.status),size:"xs",class:Ee({"fill-success":q.status==="C","fill-high":q.status==="E"})},null,8,["name","class"]),R(j,{class:Ee({"bimdata-models__model__name":!0,"bimdata-models__model__name--disabled":q.status!=="C"||d.value.length>0}),text:q.name,width:`calc(100% -
1870
+ `),onMouseenter:e[0]||(e[0]=(...h)=>r.onMouseEnter&&r.onMouseEnter(...h)),onMouseleave:e[1]||(e[1]=(...h)=>r.onMouseLeave&&r.onMouseLeave(...h))},[R(n,{ref:"modalManagerTemplateRef"},null,512),M("div",qTi,[r.windowPlugins.leftSidePanel?(P(),re(a,{key:0,plugin:r.windowPlugins.leftSidePanel},null,8,["plugin"])):ke("",!0),M("div",GTi,[(P(!0),z(gt,null,Xt(r.windowPlugins.free,h=>(P(),re(l,{key:h.name,class:Ee({"window-container__content__center__viewer":h.isViewer}),plugin:h},null,8,["class","plugin"]))),128)),R(c,{position:"left",plugins:r.windowPlugins.leftButtonColumn},null,8,["plugins"]),R(c,{position:"right",plugins:r.windowPlugins.rightButtonColumn},null,8,["plugins"])]),r.windowPlugins.rightSidePanel?(P(),re(a,{key:1,plugin:r.windowPlugins.rightSidePanel},null,8,["plugin"])):ke("",!0)]),r.loading?(P(),z("div",KTi,[r.spinner&&r.spinner.component?(P(),re(po(r.spinner.component),Ru(Ia({key:0},r.spinner.props)),null,16)):(P(),re(u,{key:1,size:"20px",border:"3px"}))])):ke("",!0),r.layoutSettingsDisplayed?(P(),z("div",YTi,[R(d)])):ke("",!0)],36)}const JTi=Y(QTi,[["render",ZTi]]);class WTi{constructor(e=!0){const i=jEi(r_,null,{resizable:e});i.registerContent("default",JTi),this.settings=xs({edit:!1,swap:!1,full:!1}),this.areas=i}get resizable(){return this.areas.resizable}set resizable(e){this.areas.resizable=e}apply(e=null){this.areas.layout=e?REi(e):null}copy(e){return OEi(this.areas.layout,e)}open({ratio:e,direction:i,insertAfter:r,windowName:o=null,windowState:s=null,localContextId:n=null}={}){const a=o?{options:{windowName:o,windowState:s}}:null;return n===null?this.areas.splitLayout(e,i,r,a):this.areas.split(n,e,i,r,a)}swap(e,i){return this.areas.swap(e,i)}close(e){return this.areas.delete(e)}compare(e,i){var r,o;if(!e&&!i)return!0;if(!e||!i)return!1;if(typeof e=="string"&&typeof i=="string")return e===i;if(typeof e=="string"||typeof i=="string")return!1;if(e.windowName&&i.windowName){if(e.windowName!==i.windowName)return!1;const s=new Set((r=e.windowState)==null?void 0:r.modelIds),n=new Set((o=i.windowState)==null?void 0:o.modelIds);return s.size===n.size&&[...s].every(a=>n.has(a))}return e.windowName||i.windowName||e.direction!==i.direction||e.children.length!==i.children.length?!1:e.children.every((s,n)=>this.compare(s,i.children[n]))}}const XTi="@bimdata/viewer",$Ti="module",eSi="2.4.0-beta.12",tSi="A customizable BIM viewer.",iSi=["bim","viewer","bimdata","ifc","bcf"],rSi="./index.d.ts",oSi="BIMData.io",nSi="https://developers.bimdata.io/viewer/index.html",sSi={email:"support@bimdata.io"},aSi=["last 2 chrome version","last 2 firefox version"],lSi="dist/bimdata-viewer.esm.min.js",cSi="dist/bimdata-viewer.esm.min.js",uSi={build:"vite build && esbuild dist/bimdata-viewer.esm.min.js --minify --outfile=dist/bimdata-viewer.esm.min.js --allow-overwrite","build:split":"vite build -c vite.config.split.js && esbuild dist/bimdata-viewer-split.esm.min.js --minify --outfile=dist/bimdata-viewer-split.esm.min.js --allow-overwrite","cy:run":"cypress run","cy:open":"cypress open",dev:"vite",prebuild:"rm -rf dist",prepublishOnly:"npm run build","semantic-release":"semantic-release",serve:"http-server -c-1 --silent",test:"npm run test:unit & npm run build & npm run test:e2e","test:unit":"jest","test:e2e":"start-server-and-test 'npm run serve -- -p 8080' http://localhost:8080 cy:run","test:e2e-dev":"start-server-and-test 'npm run serve -- -p 8080' http://localhost:8080 cy:open",version:"echo $npm_package_version",ts:"tsc"},dSi=["dist/*","types/*","CHANGELOG.md","README.md","package.json","package-lock.json","index.d.ts"],hSi={"@babel/preset-env":"^7.24.8","@bimdata/2d-engine":"2.5.1","@bimdata/areas-next":"0.1.15","@bimdata/bcf-components":"6.4.2","@bimdata/components":"1.6.1","@bimdata/design-system":"2.1.1-rc.3","@bimdata/typescript-fetch-api-client":"10.9.0","@eslint/eslintrc":"^3.1.0","@eslint/js":"^9.7.0","@rollup/plugin-alias":"5.1.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^26.0.1","@rollup/plugin-image":"^3.0.3","@rollup/plugin-replace":"^5.0.7","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^10.1.1","@semantic-release/npm":"^12.0.1","@semantic-release/release-notes-generator":"^14.0.1","@vitejs/plugin-vue":"4.6.2","@vue/vue3-jest":"^29.2.6","@xeokit/xeokit-sdk":"git+https://git@github.com/Amoki/xeokit-sdk.git#27e95db2e157215e870f7125bd28b258dee699a9","@zip.js/zip.js":"^2.7.47",async:"^3.2.5",autoprefixer:"^10.4.19","babel-core":"^7.0.0-bridge.0","babel-jest":"^29.7.0","conventional-changelog-eslint":"^6.0.0",cypress:"^13.13.1",esbuild:"^0.23.0",eslint:"9.7.0","eslint-config-prettier":"9.1.0","eslint-plugin-cypress":"3.3.0","eslint-plugin-jest":"28.6.0","eslint-plugin-prettier":"5.2.1","eslint-plugin-vue":"9.27.0","form-data":"^4.0.0",globals:"^15.8.0",html2canvas:"1.4.1","http-server":"^14.1.1",jest:"^29.7.0","jest-environment-jsdom":"^29.7.0","jest-extended":"^4.0.2",jspdf:"^2.5.1",lodash:"^4.17.21","node-fetch":"^3.3.2",postcss:"^8.4.39",prettier:"^3.3.3",querystring:"^0.2.0",sass:"^1.77.8","semantic-release":"^24.0.0",sinon:"^18.0.0","start-server-and-test":"^2.0.4",vite:"4.5.3","vite-plugin-css-injected-by-js":"^3.5.1",vue:"3.4.33","vue-eslint-parser":"^9.4.3","vue-i18n":"^9.13.1"},pSi={name:XTi,type:$Ti,version:eSi,description:tSi,keywords:iSi,types:rSi,author:oSi,homepage:nSi,bugs:sSi,browserslist:aSi,main:lSi,module:cSi,scripts:uSi,files:dSi,devDependencies:hSi};class ASi{constructor({plugins:e,api:i,ui:r,locale:o="fr"}){this.pluginManager=new iIi(e),this.windowManager=new oIi,this.windowManager.registerAndAddPluginsToWindows([...this.pluginManager.registeredPlugins.values()]),this.api=new zPi(i),this.globalContext=new Gye(this),this.state=$Pi(this),this.shortcutManager=Jge(this.state),this.uiSettings=r||{},this.i18n=new Qye(o),this._contextMenu=null,this.layout=new WTi(this.uiSettings.resizable!==!1),this.localContext=null,window.$viewer=this}get version(){return pSi.version}get locale(){return this.i18n.locale}get contextMenu(){return this._contextMenu||Yge}set contextMenu(e){this._contextMenu=e}get registeredWindows(){return[...this.windowManager.registeredWindows.keys()]}get registeredPlugins(){return[...this.pluginManager.registeredPlugins.keys()]}get pluginsCfg(){return this.pluginManager.cfg}registerPlugin(e){this.pluginManager.registerPlugin(e),this.windowManager.registerAndAddPluginsToWindows([e])}}function fSi(t,e={}){e.backgroundColor&&(t.style.setProperty("--bimdata-viewer-background-color",e.backgroundColor),e.backgroundColor==="transparent"&&t.style.setProperty("--areas-separator-color","transparent")),e.colorPrimary&&t.style.setProperty("--color-primary",e.colorPrimary),e.colorPrimaryLighter&&t.style.setProperty("--color-primary-lighter",e.colorPrimaryLighter),e.colorPrimaryLight&&t.style.setProperty("--color-primary-light",e.colorPrimaryLight),e.colorPrimaryDark&&t.style.setProperty("--color-primary-dark",e.colorPrimaryDark),e.colorSecondary&&t.style.setProperty("--color-secondary",e.colorSecondary),e.colorSecondaryLighter&&t.style.setProperty("--color-secondary-lighter",e.colorSecondaryLighter),e.colorSecondaryLight&&t.style.setProperty("--color-secondary-light",e.colorSecondaryLight),e.colorSecondaryDark&&t.style.setProperty("--color-secondary-dark",e.colorSecondaryDark),e.colorSilverLight&&t.style.setProperty("--color-silver-light",e.colorSilverLight),e.colorSilver&&t.style.setProperty("--color-silver",e.colorSilver),e.colorSilverDark&&t.style.setProperty("--color-silver-dark",e.colorSilverDark),e.colorGraniteLight&&t.style.setProperty("--color-granite-light",e.colorGraniteLight),e.colorGranite&&t.style.setProperty("--color-granite",e.colorGranite),e.colorSuccess&&t.style.setProperty("--color-success",e.colorSuccess),e.colorSuccessLighter&&t.style.setProperty("--color-success-Lighter",e.colorSuccessLighter),e.colorSuccessLight&&t.style.setProperty("--color-success-Light",e.colorSuccessLight),e.colorSuccessDark&&t.style.setProperty("--color-success-Dark",e.colorSuccessDark),e.colorWarning&&t.style.setProperty("--color-warning",e.colorWarning),e.colorWarningLighter&&t.style.setProperty("--color-warning-Lighter",e.colorWarningLighter),e.colorWarningLight&&t.style.setProperty("--color-warning-Light",e.colorWarningLight),e.colorWarningDark&&t.style.setProperty("--color-warning-Dark",e.colorWarningDark),e.colorHigh&&t.style.setProperty("--color-high",e.colorHigh),e.colorHighLighter&&t.style.setProperty("--color-high-lighter",e.colorHighLighter),e.colorHighLight&&t.style.setProperty("--color-high-light",e.colorHighLight),e.colorHighDark&&t.style.setProperty("--color-high-dark",e.colorHighDark),e.colorText&&t.style.setProperty("--color-text",e.colorText),(!e.backgroundColor||e.backgroundColor!=="transparent")&&t.style.setProperty("--areas-separator-color","rgba(216, 216, 216, 1)"),e.headerHeight!=null&&t.style.setProperty("--bimdata-viewer-header-height",e.headerHeight),t.style.setProperty("--areas-background-color","transparent")}const gSi=Object.freeze({25:"GUEST",50:"USER",100:"ADMIN"}),l2=Object.freeze({READ:"read",WRITE:"write"});function ape(t){const e={};return t.forEach(i=>{const[r,o]=i.split(":");e[r]?e[r].push(o):e[r]=[o]}),e}const mSi={token_scopes:[],usable_scopes:[],user_role:25};function lpe(t=mSi){var e,i,r,o,s,n;const a=ape(t.token_scopes),l=ape(t.usable_scopes);return{...xK(t),tokenScopes:a,usableScopes:l,userRole:gSi[t.user_role],user:t.user?xK(t.user):null,hasBcfReadPermission:((e=l.bcf)==null?void 0:e.includes(l2.READ))??!1,hasBcfWritePermission:((i=l.bcf)==null?void 0:i.includes(l2.WRITE))??!1,hasModelReadPermission:((r=l.model)==null?void 0:r.includes(l2.READ))??!1,hasModelWritePermission:((o=l.model)==null?void 0:o.includes(l2.WRITE))??!1,hasDocReadPermission:((s=l.document)==null?void 0:s.includes(l2.READ))??!1,hasDocWritePermission:((n=l.document)==null?void 0:n.includes(l2.WRITE))??!1}}const vSi={BcfFilters:{filtersButton:"Filter",filtersTitle:"Filter",priorityLabel:"Priorit\xE4t",statusLabel:"Status",assignedToLabel:"Zugewiesen an",creatorsLabel:"Erstellt von",tagsLabel:"Tags",resetButton:"Zur\xFCcksetzen",searchButton:"Suchen",undefined:"Nicht definiert",datePlaceholder:"Erstellungsdatum"},BcfSettings:{goBackButton:"Zur\xFCck",title:"BCF-Parameter",text:"Erstellen, f\xFCllen und listen Sie die BCF-Einstellungen auf, die Sie f\xFCr dieses Projekt haben m\xF6chten.",validateButton:"Die BCF-Parameter anerkennen"},BcfStatistics:{emptyText:"F\xFCgen Sie Fragen hinzu, um zugeh\xF6rige Statistiken hier anzuzeigen.",issues:"Probleme",extension:{Priority:"Priorit\xE4t",PriorityNotDefined:"Keine Priorit\xE4t",PriorityTitle:"Priorit\xE4ten",Status:"Status",StatusNotDefined:"Kein Status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priorit\xE4t:",noPriority:"Keine",assignedTo:"Zugewiesen an :",elements:"Elemente",notSpecified:"Nicht definiert",see:"Anzeigen"},BcfTopicCreationCard:{text:"Ein neues BCF-Thema erstellen",createBcfSideTitle:"Ein Problem melden"},BcfTopicForm:{dragDropImageText:"Bitte w\xE4hlen Sie eine Datei aus.",addObjectButton:"Objekt",addAnnotationButton:"Annotation",annotationButtonTooltip:"Zu diesem Thema gibt es derzeit keine Ansichten.",addPictureButton:"F\xFCgen Sie ein Bild hinzu.",titlePlaceholder:"Titel *",titleErrorMessage:"Titel fehlt",typeLabel:"Typ",priorityLabel:"Priorit\xE4t",statusLabel:"Status",stageLabel:"Phase",assignedToLabel:"Zugewiesen an",dueDateLabel:"F\xE4lligkeitsdatum (TT.MM.JJJJ)",descriptionLabel:"Beschreibung",labelsLabel:"Tags",createButton:"Best\xE4tigen",updateButton:"\xC4nderungen \xFCbernehmen",modalText:"Sie sind dabei, die Bearbeitung der Ausgabe {Name} zu beenden, aber es gibt noch ungespeicherte \xC4nderungen.",cancelButton:"\xC4nderungen verwerfen",continueButton:"\xC4nderungen fortsetzen",createTitle:"Ein Problem melden",dragDropImageTextTablet:"Foto machen",takeSnapshot:"Mach einen Schnappschuss",importFile:"Eine Datei importieren",searchPlaceholder:"Suchen",emptySearch:"kein Ergebnis"},BcfTopicOverview:{openViewer:"Im Viewer \xF6ffnen",openViewerNoModels:"Es sind keine Vorlagen zur Ansicht bereit",elements:"{count} Elemente",noElements:"kein Element",type:"Typ",noTypeSpecified:"Kein Typ angegeben",description:"Beschreibung",noDescriptionProvided:"Keine Beschreibung angegeben",assignedTo:"Zugeteilt an",notAssigned:"Nicht zugewiesen",dueDate:"F\xE4lligkeitsdatum",noDueDate:"Kein F\xE4lligkeitsdatum",informations:"Informationen",status:"Status",noStatusSpecified:"Kein Status angegeben",stage:"Phase",noStageProvided:"Keine Phase angegeben",priority:"Priorit\xE4t",priorityNotDefined:"Nicht definiert",tags:"Tags",noTags:"Keine Tags",commentButton:"Ein Kommentar ver\xF6ffentlichen",deleteText:"Sie l\xF6schen jetzt {Name}",deleteBcfButton:"Dieses BCF l\xF6schen",keepBcfButton:"Dieses BCF beibehalten",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE4t",status:"Status",title:"Titel",creator:"Autor",date:"Datum"}},BcfTopicActionsCell:{seeButton:"Anzeigen"},BcfTopicComments:{commentButton:"Ein Kommentar verfassen",commentLabel:"Ein Kommentar verfassen",commentText:"Kommentar",cancelButton:"Abbrechen",publishButton:"Ver\xF6ffentlichen",commentsText:"Kommentare",deleteCommentText:"Diesen Kommentar l\xF6schen?",deleteButton:"L\xF6schen",takeSnapshot:"Mach einen Schnappschuss"},BcfTopicPriorityCell:{noPriority:"Keine"},SettingCard:{addButton:"ein Element hinzuf\xFCgen",cancelButton:"Abbrechen",validateButton:"Best\xE4tigen",deleteExtensionText:"Diesen Parameter l\xF6schen",deleteButton:"L\xF6schen",title:{Priority:"Priorit\xE4ten",Label:"Tags",Status:"Status",Type:"Typen",Stage:"Phasen"},input:{Priority:"Eine neue Priorit\xE4t hinzuf\xFCgen",Label:"Ein neues Etikett hinzuf\xFCgen",Status:"Einen neuen Status hinzuf\xFCgen",Type:"Einen neuen Typ hinzuf\xFCgen",Stage:"Eine neue Phase hinzuf\xFCgen"},text:{Priority:"Liste der Priorit\xE4ten",Label:"Liste von Tags",Status:"Liste der Status",Type:"Liste der Typen",Stage:"Liste der Phasen"}}},ySi={BcfComponents:vSi},wSi={BcfFilters:{filtersButton:"Filters",filtersTitle:"Filters",priorityLabel:"Priority",statusLabel:"Status",assignedToLabel:"Assigned to",creatorsLabel:"Created by",tagsLabel:"Tags",resetButton:"Reset",searchButton:"Search",undefined:"Not defined",datePlaceholder:"Creation date"},BcfSettings:{goBackButton:"Back",title:"BCF Settings",text:"Create, enter in, and list the BCF settings you would like to have for this project",validateButton:"Validate BCF settings"},BcfStatistics:{emptyText:"Add BCF Topics to start to have some stats here.",issues:"issues",extension:{Priority:"Priority",PriorityNotDefined:"No priority",PriorityTitle:"Priorities",Status:"Status",StatusNotDefined:"No status",StatusTitle:"Status"}},BcfTopicCard:{priority:"Priority: ",noPriority:"None",assignedTo:"Assigned to: ",elements:"Elements",notSpecified:"Not specified",see:"See"},BcfTopicCreationCard:{text:"Create a new BCF topic",createBcfSideTitle:"Report a problem"},BcfTopicForm:{dragDropImageText:"Please select a file",addObjectButton:"Object",addAnnotationButton:"Annotation",annotationButtonTooltip:"This topic has no viewpoint",addPictureButton:"Add a picture",titlePlaceholder:"Title *",titleErrorMessage:"Missing title",typeLabel:"Type",priorityLabel:"Priority",statusLabel:"Status",stageLabel:"Stage",assignedToLabel:"Assigned to",dueDateLabel:"Due date",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Validate",updateButton:"Modify this BCF",modalText:"You are about to quit editing issue {name} but there are unsaved changes.",cancelButton:"Discard changes",continueButton:"Continue editing",createTitle:"Report a problem",dragDropImageTextTablet:"Take a picture",takeSnapshot:"Take a snapshot",importFile:"Import a file",searchPlaceholder:"Search",emptySearch:"No result"},BcfTopicOverview:{openViewer:"Open in viewer",openViewerNoModels:"No model to open",elements:"{count} Elements",noElements:"No element",type:"Type",noTypeSpecified:"No type specified",description:"Description",noDescriptionProvided:"No description provided",assignedTo:"Assigned to",notAssigned:"Not assigned",dueDate:"Due date",noDueDate:"No due date",informations:"Informations",status:"Status",noStatusSpecified:"No status specified",stage:"Stage",noStageProvided:"No stage provided",priority:"Priority",priorityNotDefined:"Not defined",tags:"Tags",noTags:"No tags",commentButton:"Post a comment",deleteText:"You are about to delete {name}",deleteBcfButton:"Delete this BCF",keepBcfButton:"Keep this BCF",author:"Author"},BcfTopicsTable:{headers:{index:"#",priority:"Priority",status:"Status",title:"Title",creator:"Author",date:"Date"}},BcfTopicActionsCell:{seeButton:"See"},BcfTopicComments:{commentButton:"Post a comment",commentLabel:"Post a comment",commentText:"Comment",cancelButton:"Cancel",publishButton:"Publish",commentsText:"Comments",deleteCommentText:"Delete this comment ?",deleteButton:"Delete",takeSnapshot:"Take a snapshot"},BcfTopicPriorityCell:{noPriority:"None"},SettingCard:{addButton:"add an element",cancelButton:"Cancel",validateButton:"Validate",deleteExtensionText:"Remove this setting",deleteButton:"Delete",title:{Priority:"Priorities",Label:"Labels",Status:"Status",Type:"Types",Stage:"Stages"},input:{Priority:"Add a new priority",Label:"Add a new label",Status:"Add new status",Type:"Add a new type",Stage:"Add a new stage"},text:{Priority:"Priority list",Label:"Labels list",Status:"Status list",Type:"Type list",Stage:"Stage list"}}},bSi={BcfComponents:wSi},MSi={BcfFilters:{filtersButton:"Filtros",filtersTitle:"Filtros",priorityLabel:"Prioridad",statusLabel:"Estado",assignedToLabel:"Asignado a",creatorsLabel:"Creado por",tagsLabel:"Etiquetas:",resetButton:"Restablecer",searchButton:"Buscar en",undefined:"No definido",datePlaceholder:"Fecha de creaci\xF3n"},BcfSettings:{goBackButton:"Volver",title:"Par\xE1metros del BCF",text:"Cree, rellene y enumere los par\xE1metros del BCF que desea tener en este proyecto",validateButton:"Validar los par\xE1metros del BCF"},BcfStatistics:{emptyText:"A\xF1ada preguntas para ver las estad\xEDsticas asociadas aqu\xED.",issues:"problemas",extension:{Priority:"Prioridad",PriorityNotDefined:"Sin prioridad",PriorityTitle:"Prioridades",Status:"Estado",StatusNotDefined:"Sin estado",StatusTitle:"Estatutos"}},BcfTopicCard:{priority:"Prioridad :",noPriority:"Sin",assignedTo:"Asignado a :",elements:"Elementos",notSpecified:"No definido",see:"Ver"},BcfTopicCreationCard:{text:"Crear un nuevo tema BCF",createBcfSideTitle:"Informar de un problema"},BcfTopicForm:{dragDropImageText:"Seleccione un archivo",addObjectButton:"Objeto",addAnnotationButton:"Anotaci\xF3n",annotationButtonTooltip:"Actualmente este tema no posee ning\xFAn punto de vista",addPictureButton:"A\xF1adir una imagen",titlePlaceholder:"T\xEDtulo *",titleErrorMessage:"Falta el t\xEDtulo",typeLabel:"Tipo",priorityLabel:"Prioridad",statusLabel:"Estado",stageLabel:"Fase",assignedToLabel:"Asignado a",dueDateLabel:"Fecha de vencimiento (DD/MM/AAAA)",descriptionLabel:"Descripci\xF3n",labelsLabel:"Etiquetas",createButton:"Validar",updateButton:"Modificar este BCF",modalText:"Est\xE1 a punto de salir de la edici\xF3n del problema de {name} pero hay cambios sin guardar.",cancelButton:"Cancelar los cambios",continueButton:"Continuar con los cambios",createTitle:"Informar de un problema",dragDropImageTextTablet:"Tomar una fotograf\xEDa",takeSnapshot:"Tomar un snapshot",importFile:"Importar un archivo",searchPlaceholder:"Buscar",emptySearch:"No hay resultados"},BcfTopicOverview:{openViewer:"Abrir en el visor",openViewerNoModels:"No hay ning\xFAn modelo listo para la visualizaci\xF3n",elements:"{count} Elementos",noElements:"Ning\xFAn elemento",type:"Tipo",noTypeSpecified:"No se especifica el tipo",description:"Descripci\xF3n",noDescriptionProvided:"No hay descripci\xF3n",assignedTo:"Asignado a",notAssigned:"No asignado",dueDate:"Plazo",noDueDate:"Sin fecha de vencimiento",informations:"Informaci\xF3n",status:"Estado",noStatusSpecified:"No se especifica el estado",stage:"Fase",noStageProvided:"No se indica ninguna fase",priority:"Prioridad",priorityNotDefined:"No definido",tags:"Etiquetas",noTags:"Sin etiquetas",commentButton:"Publicar un comentario",deleteText:"Est\xE1s a punto de borrar {name}",deleteBcfButton:"Borrar este BCF",keepBcfButton:"Mantenga este BCF",author:"Autor"},BcfTopicsTable:{headers:{index:"#",priority:"Prioridad",status:"Estado",title:"T\xEDtulo",creator:"Autor",date:"Fecha"}},BcfTopicActionsCell:{seeButton:"Ver"},BcfTopicComments:{commentButton:"Publicar un comentario",commentLabel:"Publicar un comentario",commentText:"Comentario",cancelButton:"Cancelar",publishButton:"Publicar",commentsText:"comentarios",deleteCommentText:"\xBFBorrar este comentario?",deleteButton:"Borrar",takeSnapshot:"Tomar un snapshot"},BcfTopicPriorityCell:{noPriority:"Sin"},SettingCard:{addButton:"a\xF1adir un elemento",cancelButton:"Cancelar",validateButton:"Validar",deleteExtensionText:"Borrar esta configuraci\xF3n",deleteButton:"Borrar",title:{Priority:"Prioridades",Label:"Etiquetas:",Status:"Estatutos",Type:"Tipos",Stage:"Fases"},input:{Priority:"A\xF1adir una nueva prioridad",Label:"A\xF1adir una nueva etiqueta",Status:"A\xF1adir un nuevo estado",Type:"A\xF1adir un nuevo tipo",Stage:"A\xF1adir una nueva fase"},text:{Priority:"Lista de prioridades",Label:"Lista de etiquetas",Status:"Lista de estatutos",Type:"Lista de tipos",Stage:"Lista de fases"}}},CSi={BcfComponents:MSi},xSi={BcfFilters:{filtersButton:"Filtres",filtersTitle:"Filtres",priorityLabel:"Priorit\xE9",statusLabel:"Statut",assignedToLabel:"Assign\xE9 \xE0",creatorsLabel:"Cr\xE9\xE9 par",tagsLabel:"Tags",resetButton:"R\xE9initialiser",searchButton:"Rechercher",undefined:"Non d\xE9fini",datePlaceholder:"Date de cr\xE9ation"},BcfSettings:{goBackButton:"Retour",title:"Param\xE8tres BCF",text:"Cr\xE9ez, renseignez et listez les param\xE8tres BCF que vous souhaitez avoir sur ce projet",validateButton:"Valider les param\xE8tres BCF"},BcfStatistics:{emptyText:"Ajoutez des questions pour voir les statistiques associ\xE9es ici.",issues:"probl\xE8mes",extension:{Priority:"Priorit\xE9",PriorityNotDefined:"Aucune priorit\xE9",PriorityTitle:"Priorit\xE9s",Status:"Statut",StatusNotDefined:"Aucun statut",StatusTitle:"Statuts"}},BcfTopicCard:{priority:"Priorit\xE9 : ",noPriority:"Aucune",assignedTo:"Assign\xE9 \xE0 : ",elements:"{n} \xC9lements",notSpecified:"Non d\xE9fini",see:"Voir"},BcfTopicCreationCard:{text:"Cr\xE9er un nouveau topic BCF",createBcfSideTitle:"Signaler un probl\xE8me"},BcfTopicForm:{dragDropImageText:"Veuillez s\xE9lectionner un fichier",addObjectButton:"Objet",addAnnotationButton:"Annotation",annotationButtonTooltip:"Ce topic ne poss\xE8de actuellement aucun point de vue",addPictureButton:"Ajouter une image",titlePlaceholder:"Titre *",titleErrorMessage:"Titre manquant",typeLabel:"Type",priorityLabel:"Priorit\xE9",statusLabel:"Statut",stageLabel:"Phase",assignedToLabel:"Assign\xE9 \xE0",dueDateLabel:"Date d'\xE9ch\xE9ance",descriptionLabel:"Description",labelsLabel:"Tags",createButton:"Valider",updateButton:"Modifier ce BCF",modalText:"Vous \xEAtes sur le point de quitter l'\xE9dition de l'issue {name} mais il y'a des modifications non enregistr\xE9es.",cancelButton:"Annuler les modifications",continueButton:"Continuer les modifications",createTitle:"Signaler un probl\xE8me",dragDropImageTextTablet:"Prendre une photo",takeSnapshot:"Prendre un snapshot",importFile:"Importer un fichier",searchPlaceholder:"Rechercher",emptySearch:"Pas de r\xE9sultat"},BcfTopicOverview:{openViewer:"Ouvrir dans le viewer",openViewerNoModels:"Il n'y a aucun mod\xE8le pr\xEAt pour une visualisation",elements:"{count} \xC9lements",noElements:"Aucun \xE9l\xE9ment concern\xE9",type:"Type",noTypeSpecified:"Pas de type sp\xE9cifi\xE9",description:"Description",noDescriptionProvided:"Pas de description renseign\xE9e",assignedTo:"Assign\xE9 \xE0",notAssigned:"Non assign\xE9",dueDate:"\xC9ch\xE9ance",noDueDate:"Pas de date d'\xE9ch\xE9ance",informations:"Informations",status:"Statut",noStatusSpecified:"Pas de statut sp\xE9cifi\xE9",stage:"Phase",noStageProvided:"Pas de phase renseign\xE9e",priority:"Priorit\xE9",priorityNotDefined:"Non d\xE9fini",tags:"Tags",noTags:"Pas de tags",commentButton:"Poster un commentaire",deleteText:"Vous \xEAtes sur le point de supprimer {name}",deleteBcfButton:"Supprimer ce BCF",keepBcfButton:"Conserver ce BCF",author:"Auteur"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE9",status:"Statut",title:"Titre",creator:"Auteur",date:"Date"}},BcfTopicActionsCell:{seeButton:"Voir"},BcfTopicComments:{commentButton:"Poster un commentaire",commentLabel:"Poster un commentaire",commentText:"Commentaire",cancelButton:"Annuler",publishButton:"Publier",commentsText:"commentaires",deleteCommentText:"Supprimer ce commentaire ?",deleteButton:"Supprimer",takeSnapshot:"Prendre un snapshot"},BcfTopicPriorityCell:{noPriority:"Aucune"},SettingCard:{addButton:"ajouter un \xE9l\xE9ment",cancelButton:"Annuler",validateButton:"Valider",deleteExtensionText:"Supprimmer ce param\xE8tre",deleteButton:"Supprimer",title:{Priority:"Priorit\xE9s",Label:"Tags",Status:"Statuts",Type:"Types",Stage:"Phases"},input:{Priority:"Ajouter une nouvelle priorit\xE9",Label:"Ajouter un nouveau label",Status:"Ajouter un nouveau statut",Type:"Ajouter un nouveau type",Stage:"Ajouter une nouvelle phase"},text:{Priority:"Liste des priorit\xE9s",Label:"Liste des tags",Status:"Liste des statuts",Type:"Liste des types",Stage:"Liste des phases"}}},kSi={BcfComponents:xSi},ISi={BcfFilters:{filtersButton:"Filtri",filtersTitle:"Filtri",priorityLabel:"Priorit\xE0",statusLabel:"Stato",datePlaceholder:"Data di creazione",assignedToLabel:"Assegnato a",creatorsLabel:"Creato da",tagsLabel:"Etichette",resetButton:"Ripristina",searchButton:"Cerca",undefined:"Non definito"},BcfSettings:{goBackButton:"Indietro",title:"Parametri BCF",text:"Creare, notificare e elencare i parametri BCF che si desidera avere su questo progetto",validateButton:"Conferma i parametri BCF"},BcfStatistics:{emptyText:"Aggiungi delle domande per vedere le statistiche associate qui.",issues:"problemi",extension:{Priority:"Priorit\xE0",PriorityNotDefined:"Nessuna priorit\xE0",PriorityTitle:"Priorit\xE0",Status:"Stato",StatusNotDefined:"Nessuno stato",StatusTitle:"Stati"}},BcfTopicCard:{priority:"Priorit\xE0:",noPriority:"Nessuno",assignedTo:"Assegnato a:",elements:"Elementi",noElements:"0 elementi",notSpecified:"Non definito",see:"Visualizza"},BcfTopicCreationCard:{text:"Crea un nuovo topic BCF",createBcfSideTitle:"Segnala un problema"},BcfTopicForm:{dragDropImageText:"Selezionare un file",addObjectButton:"Oggetto",addAnnotationButton:"Annotazione",annotationButtonTooltip:"Attualmente questo argomento non presenta alcun punto di vista",addPictureButton:"Aggiungere un'immagine",titlePlaceholder:"Titolo *",titleErrorMessage:"Titolo mancante",typeLabel:"Tipo",priorityLabel:"Priorit\xE0",statusLabel:"Stato",stageLabel:"Fase",assignedToLabel:"Assegnato a",dueDateLabel:"Data di scadenza",descriptionLabel:"Descrizione",labelsLabel:"Tag",createButton:"Conferma",updateButton:"Modificare questo BCF",modalText:"State per abbandonare la modifica di {name} ma ci sono modifiche non salvate.",cancelButton:"Annullare le modifiche",continueButton:"Continuare le modifiche",createTitle:"Segnala un problema"},BcfTopicOverview:{openViewer:"Apri nel visualizzatore",openViewerNoModels:"Non esistono modelli pronti per la visualizzazione",elements:"{count} Elementi",noElements:"Nessun elemento",type:"Tipo",noTypeSpecified:"Nessun tipo specificato",description:"Descrizione",noDescriptionProvided:"Nessuna descrizione inserita",assignedTo:"Assegnato a",notAssigned:"Non assegnato",dueDate:"Scadenza",noDueDate:"Nessuna data di scadenza",informations:"Informazioni",status:"Stato",noStatusSpecified:"Nessuno stato specificato",stage:"Fase",noStageProvided:"Nessuna fase inserita",priority:"Priorit\xE0",priorityNotDefined:"Non definita",tags:"Etichette",noTags:"Nessuna etichetta",commentButton:"Pubblica un commento",deleteText:"Stai per eliminare {name}",deleteBcfButton:"Elimina questo BCF",keepBcfButton:"Conserva questo BCF",author:"Autore"},BcfTopicsTable:{headers:{index:"#",priority:"Priorit\xE0",status:"Stato",title:"Titolo",creator:"Autore",date:"Data"}},BcfTopicActionsCell:{seeButton:"Visualizza"},BcfTopicComments:{commentButton:"Pubblica un commento",commentLabel:"Pubblica un commento",commentText:"Commento",cancelButton:"Annulla",publishButton:"Pubblica",commentsText:"commenti",deleteCommentText:"Eliminare questo commento?",deleteButton:"Elimina"},BcfTopicPriorityCell:{noPriority:"Nessuno"},SettingCard:{addButton:"aggiungi un elemento",cancelButton:"Annulla",validateButton:"Conferma",deleteExtensionText:"Elimina questo parametro",deleteButton:"Elimina",title:{Priority:"Priorit\xE0",Label:"Etichette",Status:"Stati",Type:"Tipi",Stage:"Fasi"},input:{Priority:"Aggiungi una nuova priorit\xE0",Label:"Aggiungi una nuova etichetta",Status:"Aggiungi un nuovo stato",Type:"Aggiungi un nuovo tipo",Stage:"Aggiungi una nuova fase"},text:{Priority:"Elenco delle priorit\xE0",Label:"Elenco delle etichette",Status:"Elenco degli stati",Type:"Elenco dei tipi",Stage:"Elenco delle fasi"}}},DSi={BcfComponents:ISi},PSi={de:ySi,en:bSi,es:CSi,fr:kSi,it:DSi},ESi=({apiClient:t,fetchUsers:e,i18nPlugin:i}={})=>({install(r){t?Hr.setup({apiClient:t,fetchUsers:e}):console.error("[BCF Components Plugin] No api client provided. You must provide an api client for the components to work properly."),i?Object.entries(PSi).forEach(([o,s])=>{i.global.mergeLocaleMessage(o,s)}):console.warn("[BCF Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(w9e).forEach(([o,s])=>{r.component(o,s)})}}),TSi={title:"Building Maker",back:"Zur\xFCck",list:{text:"Erstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",createButton:"Neues Projekt",updateButton:"Umbenennen",deleteButton:"L\xF6schen"},form:{text:"Erstellen und bearbeiten Sie die Etagen und laden Sie anschlie\xDFend Ihre PDFs herunter.",input:"Name des Geb\xE4udes",error:"Ung\xFCltiger Name",createButton:"Erstellen",updateButton:"Best\xE4tigen"},storeys:{addStoreyButton:"Etage",addFileButton:"Grundriss",closeButton:"Fertigstellen",submitFilesButton:"Best\xE4tigen"},storeyForm:{title:"Neue Etage",input:"Name",error:"Ung\xFCltiger Name",cancelButton:"Abbrechen",submitButton:"Best\xE4tigen"}},SSi={creationFormTitle:"Ordner erstellen",renameFormPlaceholder:"Datei- / Ordnernam",nameInputPlaceholder:"Ordnername",emptyFolder:"Dieser Ordner ist leer",newFolderSuccess:"Neuer Ordner erstellt",renameFolderSuccess:"Umbenannter Ordner",deleteFolderSuccess:"Ordner gel\xF6scht",newFileSuccess:"Datei hinzugef\xFCgt",renameFileSuccess:"Umbenannte Datei",deleteFileSuccess:"Datei gel\xF6scht",nameInputErrorMessage:"Ung\xFCltiger name",cancel:"Abbrechen",submit:"Best\xE4tigen",buttonText:"Neuer Ordner",addFileButtonText:"Datei laden",rename:"Umbenennen",view:"Sehen",download:"Herunterladen",delete:"L\xF6schen",deleteTitle:"Dateien l\xF6schen",deleteDetail:"Sie sind im Begriff, die folgenden Dateien / Ordner endg\xFCltig zu l\xF6schen"},LSi={BuildingMaker:TSi,FileManager:SSi},BSi={title:"Building",back:"Back",list:{text:"Create and edit the layers, then download your PDFs.",createButton:"New project",updateButton:"Rename",deleteButton:"Delete"},form:{text:"Create and edit the layers, then download your PDFs.",input:"Building name",error:"Invalid",createButton:"Create",updateButton:"Confirm"},storeys:{addStoreyButton:"Storey",addFileButton:"Plan",closeButton:"Finish",submitFilesButton:"Validate"},storeyForm:{title:"New storey",input:"Name",error:"Invalid name",cancelButton:"Cancel",submitButton:"Validate"}},NSi={creationFormTitle:"Create folder",renameFormPlaceholder:"Folder/File name",nameInputPlaceholder:"Folder name",emptyFolder:"This folder is empty",newFolderSuccess:"New folder created",renameFolderSuccess:"Folder renamed",deleteFolderSuccess:"Folder deleted",newFileSuccess:"File added",renameFileSuccess:"File renamed",deleteFileSuccess:"File deleted",nameInputErrorMessage:"Invalid name",cancel:"Cancel",submit:"Submit",buttonText:"New folder",addFileButtonText:"Upload a file",rename:"Rename",view:"View",download:"Download",delete:"Delete",deleteTitle:"Deleting Files",deleteDetail:"You are about to permanently delete the following files / folders",dmsRoot:"Root of the project's DMS",validate:"Validate",back:"Back",pdfPageSelectorTitle:"Select a page"},jSi={title:"Meta-Building Structure",tab:{structure:"Structure",zones:"Zones",equipments:"Equipments"},StoreySelector:{placeholder:"Select a storey"},StructureView:{search:"Search"}},RSi={title:"Photosphere Building"},OSi={BuildingMaker:BSi,FileManager:NSi,MetaBuildingStructure:jSi,PhotosphereBuilding:RSi},FSi={title:"Building Maker",back:"Vuelta",list:{text:"Cree y edite los pisos despu\xE9s cargue los PDF.",createButton:"Nuevo proyecto",updateButton:"Renombrar",deleteButton:"Suprimir"},form:{text:"Cree y edite los pisos despu\xE9s cargue los PDF.",input:"Nombre del edificio",error:"Nombre no v\xE1lido",createButton:"Crear",updateButton:"Validar"},storeys:{addStoreyButton:"Piso",addFileButton:"Plano",closeButton:"Terminar",submitFilesButton:"Validar"},storeyForm:{title:"Nuevo piso",input:"Nombre",error:"Nombre no v\xE1lido",cancelButton:"Anular",submitButton:"Validar"}},zSi={creationFormTitle:"Crear un archivo",renameFormPlaceholder:"Nombre de archivo / carpeta",nameInputPlaceholder:"Nombre de la carpeta",emptyFolder:"Esta carpeta est\xE1 vac\xEDa",newFolderSuccess:"Nueva carpeta creada",renameFolderSuccess:"Carpeta renombrada",deleteFolderSuccess:"Carpeta eliminada",newFileSuccess:"Archivo agregado",renameFileSuccess:"Archivo renombrado",deleteFileSuccess:"Archivo eliminado",nameInputErrorMessage:"Nombre inv\xE1lida",cancel:"Cancelar",submit:"Validar",buttonText:"Carpeta nueva",addFileButtonText:"Cargar un archivo",rename:"Renombrar",view:"Ver",download:"Descargar",delete:"Borrar",deleteTitle:"Eliminar archivos",deleteDetail:"Est\xE1 a punto de eliminar permanentemente los siguientes archivos / carpetas"},USi={BuildingMaker:FSi,FileManager:zSi},VSi={title:"Building Maker",back:"Retour",list:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",createButton:"Nouveau projet",updateButton:"Renommer",deleteButton:"Supprimer"},form:{text:"Cr\xE9ez et \xE9ditez les \xE9tages puis t\xE9l\xE9chagez vos PDF.",input:"Nom du b\xE2timent",error:"Nom invalide",createButton:"Cr\xE9er",updateButton:"Valider"},storeys:{addStoreyButton:"\xC9tage",addFileButton:"Plan",closeButton:"Terminer",submitFilesButton:"Valider"},storeyForm:{title:"Nouvel \xE9tage",input:"Nom",error:"Nom invalide",cancelButton:"Annuler",submitButton:"Valider"}},HSi={creationFormTitle:"Cr\xE9er un dossier",renameFormPlaceholder:"Nom du fichier/dosier",nameInputPlaceholder:"Nom du dossier",emptyFolder:"Ce dossier est vide",newFolderSuccess:"Nouveau dossier cr\xE9\xE9",renameFolderSuccess:"Dossier renomm\xE9",deleteFolderSuccess:"Dossier supprim\xE9",newFileSuccess:"Fichier ajout\xE9",renameFileSuccess:"Fichier renomm\xE9",deleteFileSuccess:"Fichier supprim\xE9",nameInputErrorMessage:"Nom invalide",cancel:"Annuler",submit:"Valider",buttonText:"Nouveau dossier",addFileButtonText:"Charger un fichier",rename:"Renommer",view:"Voir",download:"T\xE9l\xE9charger",delete:"Supprimer",deleteTitle:"Supression de fichiers",deleteDetail:"Vous \xEAtes sur le point de supprimer d\xE9finitivement les fichiers/dossiers suivants",dmsRoot:"Racine de la GED du projet",validate:"Valider",back:"Retour",pdfPageSelectorTitle:"S\xE9lectionner une page"},_Si={title:"Structure M\xE9ta-Building",tab:{structure:"Structure",zones:"Zones",equipments:"Equipements"},StoreySelector:{placeholder:"S\xE9lectionner un \xE9tage"},StructureView:{search:"Rechercher"}},QSi={title:"Photosph\xE8re Building"},qSi={BuildingMaker:VSi,FileManager:HSi,MetaBuildingStructure:_Si,PhotosphereBuilding:QSi},GSi={title:"Building Maker",back:"Reso",list:{text:"Crea e modifica i piani e poi scarica i tuoi PDF.",createButton:"Nuovo progetto",updateButton:"Rinominare",deleteButton:"Eliminare"},form:{text:"Crea e modifica i piani e poi scarica i tuoi PDF.",input:"Nome della costruzione",error:"Nome non corretto",createButton:"Creare",updateButton:"Convalidare"},storeys:{addStoreyButton:"Piano",addFileButton:"Progetto",closeButton:"Finire",submitFilesButton:"Convalidare"},storeyForm:{title:"Nuovo piano",input:"Nome",error:"Nome non corretto",cancelButton:"Annullare",submitButton:"Convalidare"}},KSi={creationFormTitle:"Crea una cartella",renameFormPlaceholder:"Nome file/cartella",nameInputPlaceholder:"Nome della cartella",emptyFolder:"Questa cartella \xE8 vuota",newFolderSuccess:"Nuova cartella creata",renameFolderSuccess:"Cartella rinominata",deleteFolderSuccess:"Cartella eliminata",newFileSuccess:"File aggiunto",renameFileSuccess:"File rinominato",deleteFileSuccess:"File cancellato",nameInputErrorMessage:"Nome non valido",cancel:"Annulla",submit:"Invia",buttonText:"Nuova cartella",addFileButtonText:"Carica un file",rename:"Rinominare",view:"Vedere",download:"Scaricare",delete:"Cancellare",deleteTitle:"Eliminazione di file",deleteDetail:"Stai per eliminare definitivamente i seguenti file/cartelle"},YSi={BuildingMaker:GSi,FileManager:KSi},ZSi={de:LSi,en:OSi,es:USi,fr:qSi,it:YSi},JSi=({i18nPlugin:t}={})=>({install(e){t?Object.entries(ZSi).forEach(([i,r])=>{t.global.mergeLocaleMessage(i,r)}):console.warn("[BIMData Components Plugin] No i18n instance provided. You should either provide an i18n instance or define your own translations in order have text displayed properly."),Object.entries(fmi).forEach(([i,r])=>{e.component(i,r)})}}),WSi={beforeMount(t,e){if(typeof e.value!="function")throw Error(`click away directive needs function, got ${typeof e.value}`);t.clickAwayHandler=i=>{(i.path||i.composedPath&&i.composedPath()).find(r=>r===t)||e.value()},window.addEventListener("mousedown",t.clickAwayHandler,!0)},unmounted(t){window.removeEventListener("mousedown",t.clickAwayHandler,!0),delete t.clickAwayHandler}},XSi=Object.freeze(Object.defineProperty({__proto__:null,BIMDataClickAway:Uc,BIMDataClickInputAway:WSi},Symbol.toStringTag,{value:"Module"})),$Si=t=>({install(e){Object.entries(IAt).forEach(([i,r])=>{t&&t.excludedComponents&&t.excludedComponents.length>0&&t.excludedComponents.includes(i)||(!t||!t.includedComponents||t.includedComponents.includes(i))&&e.component(i,r)}),(!t||t.directives!==!1)&&Object.entries(XSi).forEach(([i,r])=>e.directive(i.split("BIMData")[1],r))}}),eLi={name:"LiWrapper",render(){return Ji("li",this.$slots.default())}};function tLi(t,e){var i=new Set([]);return t.forEach(r=>{e.has(r)||i.add(r)}),i}const Au=Mn("id"),iLi=({contextMenu:t,objects:e=[],state:i=t.$viewer.state,pictos:r})=>[{name:"selectAll",get group(){return t.groupPositions.select},position:1,get label(){return t.$t("context_menu.select_all")},get picto(){return r.get(this.name)},execute:()=>i.selectObjects(e.filter(Sc(Ki("visible"),Bu("selected"))).map(Au)),predicate:()=>e.some(Sc(Ki("visible"),Bu("selected")))},{name:"deselectAll",get group(){return t.groupPositions.select},position:2,get label(){return t.$t("context_menu.deselect_all")},get picto(){return r.get(this.name)},execute:()=>i.deselectObjects(e.filter(Ki("selected")).map(Au)),predicate:()=>e.some(Ki("selected"))},{name:"selectSimilar",get group(){return t.groupPositions.select},position:3,get label(){return t.$t("context_menu.select_similar")},get picto(){return r.get(this.name)},execute(){const o=e.filter(s=>s.visible&&s.type===this.selectedObject.type&&s.id!==this.selectedObject.id).map(Au);i.selectObjects(o)},selectedObject:null,predicate(){const o=e.filter(Sc(Ki("visible"),Ki("selected")));return o.length===1&&o[0].type!==void 0?(this.selectedObject=o[0],!0):(this.selectedObject=null,!1)}},{name:"reverseSelection",get label(){return t.$t("context_menu.reverse_selection")},get group(){return t.groupPositions.select},position:4,execute:()=>{const o=new Set(e.filter(Ki("selected")).map(Au)),s=new Set(e.filter(Ki("visible")).map(Au));i.selectObjects(Array.from(tLi(s,o)),{exclusive:!0})},predicate:()=>e.some(Sc(Bu("selected"),Ki("visible")))&&e.some(Sc(Ki("selected"),Ki("visible")))},{name:"showAll",get group(){return t.groupPositions.visibility},position:1,get label(){return t.$t("context_menu.show_all")},get picto(){return r.get(this.name)},execute:()=>i.showObjects(e.filter(Bu("visible")).map(Au)),predicate:()=>e.some(Bu("visible"))},{name:"hide",get group(){return t.groupPositions.visibility},position:2,get label(){return t.$t("context_menu.hide")},get picto(){return r.get(this.name)},objectsToHide:null,execute(){const o=this.objectsToHide.filter(Ki("selected"));o.length>0&&i.deselectObjects(o.map(Au)),i.hideObjects(this.objectsToHide.map(Au))},predicate(){return this.objectsToHide=e.filter(Sc(Ki("selected"),Ki("visible"))),this.objectsToHide.length>0}},{name:"hideAll",get group(){return t.groupPositions.visibility},position:3,get label(){return t.$t("context_menu.hide_all")},execute:()=>{const o=e.filter(Ki("visible"));o.some(Ki("selected"))&&i.deselectObjects(o.filter(Ki("selected")).map(Au)),i.hideObjects(o.map(Au))},predicate:()=>e.some(Ki("visible"))}].filter(o=>o.predicate()),rLi={components:{LiWrapper:eLi},inject:["$viewer"],data(){return{defaultPrevented:!1,displayed:!1,top:null,bottom:null,left:null,width:200,nextCommandId:1,currentCommands:[],contextCommands:[],registeredCommands:[],groupPositions:{select:10,visibility:20},asyncPredicateRunning:!1}},computed:{position(){return{top:this.top?this.top+"px":"unset",bottom:this.bottom?this.bottom+"px":"unset",left:this.left+"px",width:this.width+"px"}}},watch:{displayed(t){t?document.addEventListener("keydown",this.onKeyDown):document.removeEventListener("keydown",this.onKeyDown)}},created(){this.$viewer.contextMenu=this,this.asyncPredicates=new Set},methods:{onKeyDown(t){t.key==="Escape"&&this.away()},setPosition(t){const e=(document.fullscreenElement?document.fullscreenElement:this.$parent.$el).getBoundingClientRect();this.left=t.clientX-e.left,this.top=t.clientY-e.top,this.left+this.width>e.width&&(this.left=this.left-this.width),t.clientY>e.top+e.height/2?(this.bottom=e.height-this.top,this.top=null):this.bottom=null},typeCheckCommand(t={}){let e=null;if((!t.execute||typeof t.execute!="function")&!t.component&&(e="Cannot register context menu command. A command must have an execute function or a component property."),t.label||(e="Cannot register context menu command. A command must have a label."),e)throw console.error(e),new Error(e);return t.id=this.nextCommandId++,t},open(t){this.currentCommands=[],this.setPosition(t),this.originEvent=t,t.preventDefault(),this.setCurrentCommands(),this.groupCurrentCommands(),this.defaultPrevented=!1,this.displayed=!0,document.fullscreenElement?(this.$el.parentElement.removeChild(this.$el),this.adoptiveParent=document.fullscreenElement,this.adoptiveParent.appendChild(this.$el)):this.adoptiveParent&&this.adoptiveParent!==this.$viewer.globalContext.el&&(this.adoptiveParent.removeChild(this.$el),this.$viewer.globalContext.el.appendChild(this.$el),this.adoptiveParent=null)},setCurrentCommands(){this.asyncPredicates.clear(),this.asyncPredicateRunning=!1,this.defaultPrevented||this.registeredCommands.forEach(async t=>{if(typeof t.predicate=="function"){const e=t.predicate(this.$viewer.globalContext.activeLocalContext);if(e===!0)this.currentCommands.push(t);else if(typeof e?.then=="function"){this.asyncPredicates.add(e),this.asyncPredicateRunning=!0;const i=await e;this.asyncPredicates.has(e)&&(this.asyncPredicates.delete(e),this.asyncPredicateRunning=this.asyncPredicates.size>0,i===!0&&this.currentCommands.push(t))}}else this.currentCommands.push(t)}),this.currentCommands.push(...this.contextCommands),this.contextCommands=[]},getDefaultCommands({objects:t=[],state:e=this.$viewer.state,context:i=null}){const r=new Map;return i&&this.$viewer.shortcutManager.getShortcuts(i).forEach(o=>r.set(o.name,o.key)),iLi({contextMenu:this,objects:t,state:e,pictos:r})},executeCommand(t){if(t.execute&&(t.execute(this.originEvent),this.displayed=!1),t.component&&!t.menu)throw new Error("Command with component property must have a `menu` property")},away(){this.displayed=!1},groupCurrentCommands(){const t=new Map;this.currentCommands.forEach(i=>{(i.group===null||i.group===void 0)&&(i.group=0),t.has(i.group)?t.get(i.group).push(i):t.set(i.group,[i])}),t.forEach(i=>i.sort((r,o)=>(r.position=r.position||0,o.position=o.position||0,r.position-o.position)));const e=[...t.keys()].sort((i,r)=>i-r).map(i=>t.get(i)).flat();this.currentCommands=e},isGroupIntersection(t){if(t===0)return!1;const e=this.currentCommands[t-1],i=this.currentCommands[t];return e.group<i.group},registerContextCommand(t){const e=this.typeCheckCommand(t);return this.contextCommands.push(e),t.id},registerCommand(t){const e=this.typeCheckCommand(t);return this.registeredCommands.push(e),t.id},unregisterCommand(t){return this.registeredCommands.find(e=>e.id===t)?(this.registeredCommands=this.registeredCommands.filter(e=>e.id!==t),!0):!1},preventDefault(){this.defaultPrevented=!0}}},oLi={key:0,class:"separator"},nLi={class:"menu-text"},sLi={key:1,class:"menu-picto"},aLi={key:0,class:"context-menu__spinner"};function lLi(t,e,i,r,o,s){const n=N("BIMDataIconChevron"),a=N("LiWrapper"),l=N("BIMDataSpinner"),c=Vi("click-away");return o.displayed&&(o.currentCommands.length||o.asyncPredicateRunning)?Lt((P(),z("ul",{key:0,class:"bimdata-list context-menu",style:Te(s.position)},[(P(!0),z(gt,null,Xt(o.currentCommands,(u,d)=>(P(),re(a,{key:u.label,class:"context-menu__element",onClick:h=>s.executeCommand(u)},{default:K(()=>[s.isGroupIntersection(d)?(P(),z("div",oLi)):ke("",!0),M("div",nLi,X(u.label),1),!u.component&&u.picto?(P(),z("span",sLi,X(u.picto),1)):u.component?(P(),re(n,{key:2,size:"xxs",class:"fill-primary"})):ke("",!0)]),_:2},1032,["onClick"]))),128)),o.asyncPredicateRunning?(P(),z("li",aLi,[R(l)])):ke("",!0)],4)),[[c,s.away]]):ke("",!0)}const cLi=Y(rLi,[["render",lLi],["__scopeId","data-v-5b87d4a3"]]),uLi={name:"ViewerHeader",inject:["$viewer"],props:{visible:{type:Boolean,default:!0}},setup(){const t=zt("$viewer"),e=xs(new Map),i=o=>{if(!o.name)throw new TypeError("[Viewer Header] Content must have a name");if(e.has(o.name))throw new Error(`[Viewer Header] Content with name ${o.name} already exists`);e.set(o.name,o)},r=o=>e.has(o)?(e.delete(o),!0):!1;return{logo:t.uiSettings.bimdataLogo!==!1,version:t.uiSettings.version!==!1?t.version:null,headerContent:e,headerRightContentComponents:At(()=>Array.from(e.values()).filter(o=>o.position==="right").sort((o,s)=>o.order-s.order).map(o=>o.component)),headerLeftContentComponents:At(()=>Array.from(e.values()).filter(o=>o.position==="left").sort((o,s)=>o.order-s.order).map(o=>o.component)),addContent:i,removeContent:r}}},dLi={class:"viewer-header"},hLi={class:"viewer-header__content"},pLi={class:"viewer-header__content__left"},ALi={class:"viewer-header__content__right"},fLi={key:0,class:"m-l-6 flex items-center"},gLi={key:1,class:"viewer-header__version"};function mLi(t,e,i,r,o,s){const n=N("BIMDataIllustration");return Lt((P(),z("div",dLi,[M("div",hLi,[M("div",pLi,[(P(!0),z(gt,null,Xt(r.headerLeftContentComponents,a=>(P(),re(po(a),{key:a.name}))),128))]),M("div",ALi,[(P(!0),z(gt,null,Xt(r.headerRightContentComponents,a=>(P(),re(po(a),{key:a.name}))),128))])]),r.logo||r.version?(P(),z("div",fLi,[r.logo?(P(),re(n,{key:0,name:"logo",width:"30px",height:"30px"})):ke("",!0),r.version?(P(),z("div",gLi,X(r.version),1)):ke("",!0)])):ke("",!0)],512)),[[pi,i.visible]])}const vLi=Y(uLi,[["render",mLi],["__scopeId","data-v-5c9ea6b6"]]),yLi={emits:["resize"],setup(t,{emit:e}){return{onResizerMousedown:i=>{i.preventDefault();let r=i.clientX;const o=n=>{n.preventDefault();const a=n.clientX-r;r=n.clientX,e("resize",a)},s=n=>{n.preventDefault(),window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",s)};window.addEventListener("mousemove",o),window.addEventListener("mouseup",s)}}}},wLi=t=>(Ur("data-v-79a3b3af"),t=t(),Vr(),t),bLi={class:"bimdata-separator"},MLi=wLi(()=>M("div",{class:"bimdata-separator__line"},null,-1));function CLi(t,e,i,r,o,s){return P(),z("div",bLi,[MLi,M("div",{class:"bimdata-separator__resizer",onMousedown:e[0]||(e[0]=(...n)=>r.onResizerMousedown&&r.onResizerMousedown(...n))},null,32)])}const xLi=Y(yLi,[["render",CLi],["__scopeId","data-v-79a3b3af"]]),kLi={components:{Separator:xLi},props:{position:{type:String,required:!0,validator(t){return["left","right"].includes(t)}},sidePanel:{type:Object,required:!0,validator(t){if(t.width&&(typeof t.width!="number"||t.width<0))return console.error(`[GlobalSidePanel] sidePanel.width must be a strictly positive number, received ${typeof t.width}`),!1;const e=typeof t?.component=="object";return e||console.error("[GlobalSidePanel] sidePanel must have a component property"),e}}},setup(t){const e=Ue(null),i=Ue(t.sidePanel.width??400),r=(o,s=1)=>{const n=i.value+o*s;i.value=Math.max(0,n)};return Object.defineProperty(t.sidePanel,"width",{get(){return i.value},set(o){if(typeof o!="number"||o<=0){console.error(`[GlobalSidePanel] sidePanel.width must be a strictly positive number, received ${typeof o}`);return}i.value=o}}),Object.defineProperty(t.sidePanel,"componentInstance",{get(){return e.value},enumerable:!0}),{componentInstance:e,width:i,onResize:r}}},ILi={class:"bimdata-global-side-panel__component"};function DLi(t,e,i,r,o,s){const n=N("Separator");return P(),z("div",{class:"bimdata-global-side-panel",style:Te(`width: ${r.width}px`)},[i.sidePanel.resizable&&i.position==="right"?(P(),re(n,{key:0,onResize:e[0]||(e[0]=a=>r.onResize(a,-1))})):ke("",!0),M("div",ILi,[(P(),re(po(i.sidePanel.component),{ref:"componentInstance"},null,512))]),i.sidePanel.resizable&&i.position==="left"?(P(),re(n,{key:1,onResize:e[1]||(e[1]=a=>r.onResize(a))})):ke("",!0)],4)}const PLi=Y(kLi,[["render",DLi],["__scopeId","data-v-7374abbf"]]),ELi={name:"BimdataViewer",components:{ContextMenu:cLi,ViewerHeader:vLi,ModalManager:rpe,GlobalSidePanel:PLi},setup(){const t=zt("$viewer"),{globalContext:e,shortcutManager:i}=t;Rr(()=>{i&&i.destroy(),e.hub.clear()}),dr(()=>{t.pluginManager.runPluginsScripts(t)});const r=At(()=>{var p;return t.uiSettings.bimdataLogo!==!1&&(e.localContexts.length!==1||((p=e.localContexts[0].window)==null?void 0:p.logoAndVersion))}),o=At(()=>{var p;return t.uiSettings.version!==!1&&(e.localContexts.length!==1||(p=e.localContexts[0].window)!=null&&p.logoAndVersion)?t.version:null}),s=At(()=>e.leftSidePanel),n=At(()=>e.rightSidePanel),a=At(()=>{var p;const f=t.uiSettings.header!==!1,A=e.localContexts.length===1&&((p=e.localContexts[0].window)==null?void 0:p.header)===!1,g=!!(s.value||n.value);return f&&(!A||g)}),l=t.uiSettings.contextMenu!==!1,c=Ue(null);function u(p){l&&c.value.open(p)}function d(){t.shortcutManager.active=!0}function h(){t.shortcutManager.active=!1}return{Layout:t.layout.areas.component,onContextMenu:u,onMouseenter:d,onMouseleave:h,isHeaderVisible:a,viewerTemplateRef:e.templateRef,modalManagerTemplateRef:e.modalManagerTemplateRef,headerTemplateRef:e.headerTemplateRef,contextMenuTemplateRef:c,contextMenuEnabled:l,bimdataLogoOnSingleWindow:r,viewerVersionOnSingleWindow:o,version:t.version,loading:At(()=>e.loading),spinner:At(()=>e.spinner),leftSidePanel:s,rightSidePanel:n}}},TLi={key:1,class:"global-spinner",style:{"z-index":"3"}},SLi={key:2,class:"viewer__logo"},LLi={key:1,class:"version m-t-6"};function BLi(t,e,i,r,o,s){const n=N("ModalManager"),a=N("ContextMenu"),l=N("ViewerHeader"),c=N("GlobalSidePanel"),u=N("BIMDataSpinner"),d=N("BIMDataIllustration");return P(),z("div",{id:"bimdata-viewer",ref:"viewerTemplateRef",class:"bimdata-viewer bimdata-scrollbar",onContextmenu:e[0]||(e[0]=(...h)=>r.onContextMenu&&r.onContextMenu(...h)),onMouseenter:e[1]||(e[1]=(...h)=>r.onMouseenter&&r.onMouseenter(...h)),onMouseleave:e[2]||(e[2]=(...h)=>r.onMouseleave&&r.onMouseleave(...h))},[R(n,{ref:"modalManagerTemplateRef",global:""},null,512),r.contextMenuEnabled?(P(),re(a,{key:0,ref:"contextMenuTemplateRef"},null,512)):ke("",!0),R(l,{ref:"headerTemplateRef",visible:r.isHeaderVisible},null,8,["visible"]),M("div",{class:"bimdata-viewer__content",style:Te(r.isHeaderVisible?"height: calc(100% - var(--bimdata-viewer-header-height, 40px))":"height: 100%")},[r.leftSidePanel?(P(),re(c,{key:0,"side-panel":r.leftSidePanel,position:"left"},null,8,["side-panel"])):ke("",!0),(P(),re(po(r.Layout),{style:"height: 100%; flex-grow: 1;"})),r.rightSidePanel?(P(),re(c,{key:1,"side-panel":r.rightSidePanel,position:"right"},null,8,["side-panel"])):ke("",!0)],4),r.loading?(P(),z("div",TLi,[r.spinner&&r.spinner.component?(P(),re(po(r.spinner.component),Ru(Ia({key:0},r.spinner.props)),null,16)):(P(),re(u,{key:1,size:"40px",border:"5px"}))])):ke("",!0),!r.isHeaderVisible&&(r.bimdataLogoOnSingleWindow||r.viewerVersionOnSingleWindow)?(P(),z("div",SLi,[r.bimdataLogoOnSingleWindow?(P(),re(d,{key:0,name:"logo"})):ke("",!0),r.viewerVersionOnSingleWindow?(P(),z("div",LLi,X(r.version),1)):ke("",!0)])):ke("",!0)],544)}const NLi=Y(ELi,[["render",BLi]]),jLi=["src"],RLi={class:"bimdata-models__header"},OLi={key:0,class:"bimdata-models__header__loader"},FLi={class:"bimdata-models__header__picto"},zLi={class:"bimdata-models__header__name"},ULi={key:0,class:"bimdata-models__header__name--empty"},VLi={key:1,class:"bimdata-models__header__name--empty"},HLi={key:3},_Li=["onMousemove","onClick"],cpe={__name:"Models",props:{preview:{type:Boolean,default:!1},windowPositioning:{type:Boolean,default:!0},customFilter:{type:Function,default:null},width:{type:String,default:"350px"}},setup(t){const e=t,i=zt("$viewer"),r=Ue(),o=Ue(0),s=Ue(0),n=Ue(),a=io([]),l=Ue(!1),c=At(()=>i.localContext.loadedModels),u=At(()=>i.localContext.loadedModelIds),d=At(()=>i.localContext.loadingModelIds),h=At(()=>i.localContext.multiModel),p=At(()=>(e.customFilter?a.value.filter(e.customFilter):a.value).map(x=>c.value.find(I=>{var D;return((D=I.document)==null?void 0:D.head_id)!=null&&I.document.head_id===x.document.id})??x)),f=x=>u.value.includes(x),A=x=>d.value.includes(x),g=At(()=>{var x;const{x:I,y:D}=((x=n.value)==null?void 0:x.getBoundingClientRect())??{x:0,y:0};return`top:${s.value-D}px; left:${o.value-I}px;`}),m=x=>{!h.value&&f(x.id)||d.value.length>0||(i.localContext.loadedModelIds.includes(x.id)?i.localContext.unloadModels([x.id]):i.localContext.loadModels([x.id]))},y=x=>{switch(x){case"C":return"success";case"E":return"failed";case"P":case"I":return"sandglass"}},v=(x,I)=>{x!=null&&x.viewer_360_file&&(o.value=I.clientX,s.value=I.clientY),r.value=x?.viewer_360_file},w=async x=>{l.value=!0;try{return(await i.api.apiClient.modelApi.getModels(i.api.cloudId,i.api.projectId,void 0,void 0,x)).filter(I=>i.state.models.some(D=>D.archived)||!I.archived).sort(Zh("updated_at",!1))}catch(I){console.error("[Models] Cannot get project models. Error: ",I)}finally{l.value=!1}return[]},C=x=>{var I;return((I=x.children)==null?void 0:I.some(D=>f(D.id)))??!1};return w(i.localContext.modelTypes).then(x=>{a.value=x}),(x,I)=>{const D=N("BIMDataSpinner"),L=N("BIMDataIconModel3D"),j=N("BIMDataTextbox"),T=N("BIMDataCheckbox"),S=N("BIMDataRadio"),F=N("BIMDataIcon"),V=N("BIMDataDropdownList");return P(),z("div",{ref_key:"templateRef",ref:n,class:Ee(["bimdata-models",{"bimdata-models--window-positioning":t.windowPositioning}])},[r.value?(P(),z("div",{key:0,class:"bimdata-models__preview",style:Te(g.value)},[M("img",{src:r.value},null,8,jLi)],4)):ke("",!0),R(V,{style:Te(`--bimdata-models-width: ${t.width};`),width:t.width,list:p.value,"element-key":"id","per-page":40,loading:l.value,class:"bimdata-models__list",disabled:p.value.length===0,onElementClick:m},{header:K(({isOpen:q})=>[M("div",RLi,[l.value||d.value.length>0?(P(),z("div",OLi,[R(D)])):(P(),z(gt,{key:1},[M("div",FLi,[R(L)]),M("div",{class:Ee(["bimdata-models__header__number bimdata-info-length",{"bimdata-models__header__number--empty":u.value.length===0}])},[M("span",null,X(u.value.length),1)],2),M("div",zLi,[p.value.length===0?(P(),z("span",ULi,X(x.$t("model.no_model")),1)):u.value.length===0?(P(),z("span",VLi,X(x.$t("model.no_loaded_model")),1)):u.value.length===1?(P(),re(j,{key:2,text:c.value[0].name,tooltip:!q},null,8,["text","tooltip"])):u.value.length>1?(P(),z("span",HLi,X(x.$t("model.selected_models")),1)):ke("",!0)])],64))])]),element:K(({element:q,close:_})=>[M("div",{class:"bimdata-models__model",onMousemove:J=>t.preview&&v(q,J),onMouseout:I[0]||(I[0]=J=>t.preview&&v()),onClick:()=>{!h.value&&!f(q.id)&&_()}},[h.value?(P(),re(T,{key:0,"model-value":f(q.id)||C(q),disabled:q.status!=="C"||d.value.length>0},null,8,["model-value","disabled"])):(P(),re(S,{key:1,"model-value":f(q.id)||C(q),disabled:q.status!=="C"||d.value.length>0},null,8,["model-value","disabled"])),R(F,{margin:"0 calc(var(--spacing-unit) / 2)",name:y(q.status),size:"xs",class:Ee({"fill-success":q.status==="C","fill-high":q.status==="E"})},null,8,["name","class"]),R(j,{class:Ee({"bimdata-models__model__name":!0,"bimdata-models__model__name--disabled":q.status!=="C"||d.value.length>0}),text:q.name,width:`calc(100% -
1871
1871
  ${h.value?13:23}px - 2 * 6px - 16px)`},null,8,["class","text","width"]),q.document&&!q.document.is_head_version?(P(),re(F,{key:2,name:"versioning",fill:"",color:"default",size:"xs",margin:"0 0 0 6px"})):ke("",!0)],40,_Li),A(q.id)?(P(),re(D,{key:0,class:"bimdata-models__model__spinner"})):ke("",!0)]),_:1},8,["style","width","list","loading","disabled"])],2)}}},QLi={data(){return{shown:!1}},mounted(){setTimeout(()=>{this.shown=!0},500)}};function qLi(t,e,i,r,o,s){const n=N("BIMDataIllustration");return P(),z("div",{class:"bimdata__no-model",style:Te({"--no-model--opacity":o.shown?1:0})},[R(n,{name:"emptyViewer",x:"90",y:"90"}),M("span",null,X(t.$t("model.select_model")),1)],4)}const upe=Y(QLi,[["render",qLi],["__scopeId","data-v-54b49e82"]]);window.BIMDataViewerVue=r_;class GLi{constructor(e={}){var i,r;const{api:o={},ui:s}=e;this.uiCfg=s,o.apiUrl||(console.info("[BIMData Viewer] INFO - Viewer config - `apiUrl` not set, use 'https://api.bimdata.io' by default."),o.apiUrl="https://api.bimdata.io"),o.archiveUrl||(console.info("[BIMData Viewer] INFO - Viewer config - `archiveUrl` not set, use 'https://archive.bimdata.io' by default."),o.archiveUrl="https://archive.bimdata.io"),o.ifcIds&&(console.warn("[BIMData Viewer] DEPRECATED - Viewer config - please use the `modelIds` property instead of `ifcIds`."),o.modelIds===void 0&&(o.modelIds=o.ifcIds)),o.modelIds||(o.modelIds=[]),(i=o.offline)!=null&&i.dataFile&&(o.offline.data=o.offline.dataFile),this.$viewer=new ASi(e),(r=o.offline)!=null&&r.enabled?this.$viewer.api.enableOfflineMode(o.offline.data,o.offline.options).then(()=>this.state.loadModels(o.modelIds)):(this.$viewer.globalContext.loadingProcessStart(),this.state.loadModels(o.modelIds).finally(()=>this.$viewer.globalContext.loadingProcessEnd())),this.vueApp=null}get state(){return this.$viewer.state}get api(){return this.$viewer.api}async mount(e,i="3d"){var r;const{$viewer:o}=this;await o.api.ready;try{const d=await o.api.apiClient.collaborationApi.checkProjectAccess(o.api.cloudId,o.api.projectId);o.api.permissions=lpe(d)}catch{o.api.permissions=lpe()}const s=this.api.accessToken,{i18n:n}=o;n.registerTranslations(o.pluginManager.pluginTranslations),o.layout.apply(i);const a={i18n:n.i18nVuePlugin,data(){return{accessToken:s}},render(){return Ji(NLi,{style:"height: 100%"})}},l=uI(a).use(n.i18nVuePlugin).use($Si()).use(JSi({i18nPlugin:n.i18nVuePlugin})).use(ESi({apiClient:o.api.apiClient,i18nPlugin:n.i18nVuePlugin}));l.provide("$viewer",o),l.component("BIMDataModelLoader",cpe),l.component("BIMDataNoModelWindowPlaceHolder",upe),l.component("BIMDataStoreySelector",uT),l.component("ModelsLoader",cpe),l.component("NoModelWindowPlaceHolder",upe);const c=e instanceof HTMLElement?e:document.querySelector(e);c&&(c.style.height="100%");const u=l.mount(e);return u.$viewer=o,fSi(u.$el,(r=this.uiCfg)==null?void 0:r.style),typeof window<"u"&&(window.bimdataViewer=u),this.vueApp=l,u}destroy(){var e;(e=this.vueApp)==null||e.unmount()}setLocale(e){if(!w_.includes(e))throw new Error(`Viewer available locales are ${w_.join(", ")}.`);this.$viewer.i18n.locale=e}registerPlugin(e){this.$viewer.registerPlugin(e)}registerWindow(e){return this.$viewer.windowManager.registerWindow(e)}unregisterWindow(e){return this.$viewer.windowManager.unregisterWindow(e)}setAccessToken(e){this.api.accessToken=e}async loadModels(e){this.$viewer.globalContext.loadingProcessStart();const i=await this.state.loadModels(e);return this.$viewer.globalContext.loadingProcessEnd(),i}loadIfcs(e){return console.warn("[BIMData Viewer] DEPRECATED - Viewer - please use the loadModels method instead of loadIfcs."),this.loadModels(e)}}const dpe=(t={})=>new GLi(t);window.makeBIMDataViewer=dpe;/*! @license DOMPurify 2.5.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.5.5/LICENSE */function Kp(t){"@babel/helpers - typeof";return Kp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kp(t)}function VN(t,e){return VN=Object.setPrototypeOf||function(i,r){return i.__proto__=r,i},VN(t,e)}function KLi(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function lC(t,e,i){return KLi()?lC=Reflect.construct:lC=function(r,o,s){var n=[null];n.push.apply(n,o);var a=Function.bind.apply(r,n),l=new a;return s&&VN(l,s.prototype),l},lC.apply(null,arguments)}function gc(t){return YLi(t)||ZLi(t)||JLi(t)||WLi()}function YLi(t){if(Array.isArray(t))return HN(t)}function ZLi(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function JLi(t,e){if(t){if(typeof t=="string")return HN(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);if(i==="Object"&&t.constructor&&(i=t.constructor.name),i==="Map"||i==="Set")return Array.from(t);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return HN(t,e)}}function HN(t,e){(e==null||e>t.length)&&(e=t.length);for(var i=0,r=new Array(e);i<e;i++)r[i]=t[i];return r}function WLi(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
1872
1872
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var XLi=Object.hasOwnProperty,hpe=Object.setPrototypeOf,$Li=Object.isFrozen,eBi=Object.getPrototypeOf,tBi=Object.getOwnPropertyDescriptor,Hs=Object.freeze,xl=Object.seal,iBi=Object.create,ppe=typeof Reflect<"u"&&Reflect,cC=ppe.apply,_N=ppe.construct;cC||(cC=function(t,e,i){return t.apply(e,i)}),Hs||(Hs=function(t){return t}),xl||(xl=function(t){return t}),_N||(_N=function(t,e){return lC(t,gc(e))});var rBi=kl(Array.prototype.forEach),Ape=kl(Array.prototype.pop),n8=kl(Array.prototype.push),uC=kl(String.prototype.toLowerCase),QN=kl(String.prototype.toString),fpe=kl(String.prototype.match),mc=kl(String.prototype.replace),oBi=kl(String.prototype.indexOf),nBi=kl(String.prototype.trim),Yn=kl(RegExp.prototype.test),qN=sBi(TypeError);function kl(t){return function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];return cC(t,e,r)}}function sBi(t){return function(){for(var e=arguments.length,i=new Array(e),r=0;r<e;r++)i[r]=arguments[r];return _N(t,i)}}function zi(t,e,i){var r;i=(r=i)!==null&&r!==void 0?r:uC,hpe&&hpe(t,null);for(var o=e.length;o--;){var s=e[o];if(typeof s=="string"){var n=i(s);n!==s&&($Li(e)||(e[o]=n),s=n)}t[s]=!0}return t}function of(t){var e=iBi(null),i;for(i in t)cC(XLi,t,[i])===!0&&(e[i]=t[i]);return e}function dC(t,e){for(;t!==null;){var i=tBi(t,e);if(i){if(i.get)return kl(i.get);if(typeof i.value=="function")return kl(i.value)}t=eBi(t)}function r(o){return console.warn("fallback value for",o),null}return r}var gpe=Hs(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),GN=Hs(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),KN=Hs(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),aBi=Hs(["animate","color-profile","cursor","discard","fedropshadow","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),YN=Hs(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),lBi=Hs(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),mpe=Hs(["#text"]),vpe=Hs(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),ZN=Hs(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),ype=Hs(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),hC=Hs(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),cBi=xl(/\{\{[\w\W]*|[\w\W]*\}\}/gm),uBi=xl(/<%[\w\W]*|[\w\W]*%>/gm),dBi=xl(/\${[\w\W]*}/gm),hBi=xl(/^data-[\-\w.\u00B7-\uFFFF]/),pBi=xl(/^aria-[\-\w]+$/),ABi=xl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),fBi=xl(/^(?:\w+script|data):/i),gBi=xl(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),mBi=xl(/^html$/i),vBi=xl(/^[a-z][.\w]*(-[.\w]+)+$/i),yBi=function(){return typeof window>"u"?null:window},wBi=function(t,e){if(Kp(t)!=="object"||typeof t.createPolicy!="function")return null;var i=null,r="data-tt-policy-suffix";e.currentScript&&e.currentScript.hasAttribute(r)&&(i=e.currentScript.getAttribute(r));var o="dompurify"+(i?"#"+i:"");try{return t.createPolicy(o,{createHTML:function(s){return s},createScriptURL:function(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}};function wpe(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:yBi(),e=function(He){return wpe(He)};if(e.version="2.5.5",e.removed=[],!t||!t.document||t.document.nodeType!==9)return e.isSupported=!1,e;var i=t.document,r=t.document,o=t.DocumentFragment,s=t.HTMLTemplateElement,n=t.Node,a=t.Element,l=t.NodeFilter,c=t.NamedNodeMap,u=c===void 0?t.NamedNodeMap||t.MozNamedAttrMap:c,d=t.HTMLFormElement,h=t.DOMParser,p=t.trustedTypes,f=a.prototype,A=dC(f,"cloneNode"),g=dC(f,"nextSibling"),m=dC(f,"childNodes"),y=dC(f,"parentNode");if(typeof s=="function"){var v=r.createElement("template");v.content&&v.content.ownerDocument&&(r=v.content.ownerDocument)}var w=wBi(p,i),C=w?w.createHTML(""):"",x=r,I=x.implementation,D=x.createNodeIterator,L=x.createDocumentFragment,j=x.getElementsByTagName,T=i.importNode,S={};try{S=of(r).documentMode?r.documentMode:{}}catch{}var F={};e.isSupported=typeof y=="function"&&I&&I.createHTMLDocument!==void 0&&S!==9;var V=cBi,q=uBi,_=dBi,J=hBi,$=pBi,le=fBi,de=gBi,Be=vBi,G=ABi,ie=null,he=zi({},[].concat(gc(gpe),gc(GN),gc(KN),gc(YN),gc(mpe))),te=null,ae=zi({},[].concat(gc(vpe),gc(ZN),gc(ype),gc(hC))),me=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ce=null,Ie=null,Re=!0,Ve=!0,Ye=!1,ue=!0,ye=!1,ge=!0,ne=!1,xe=!1,Pe=!1,De=!1,W=!1,ee=!1,be=!0,Le=!1,ve="user-content-",je=!0,Oe=!1,Ge={},vt=null,nt=zi({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ot=null,ht=zi({},["audio","video","img","source","image","track"]),ut=null,Ut=zi({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),qe="http://www.w3.org/1998/Math/MathML",et="http://www.w3.org/2000/svg",Ke="http://www.w3.org/1999/xhtml",st=Ke,Xe=!1,Tt=null,xt=zi({},[qe,et,Ke],QN),Gt,Rt=["application/xhtml+xml","text/html"],mt="text/html",St,Bt=null,Ni=r.createElement("form"),qi=function(He){return He instanceof RegExp||He instanceof Function},vi=function(He){Bt&&Bt===He||((!He||Kp(He)!=="object")&&(He={}),He=of(He),Gt=Rt.indexOf(He.PARSER_MEDIA_TYPE)===-1?Gt=mt:Gt=He.PARSER_MEDIA_TYPE,St=Gt==="application/xhtml+xml"?QN:uC,ie="ALLOWED_TAGS"in He?zi({},He.ALLOWED_TAGS,St):he,te="ALLOWED_ATTR"in He?zi({},He.ALLOWED_ATTR,St):ae,Tt="ALLOWED_NAMESPACES"in He?zi({},He.ALLOWED_NAMESPACES,QN):xt,ut="ADD_URI_SAFE_ATTR"in He?zi(of(Ut),He.ADD_URI_SAFE_ATTR,St):Ut,ot="ADD_DATA_URI_TAGS"in He?zi(of(ht),He.ADD_DATA_URI_TAGS,St):ht,vt="FORBID_CONTENTS"in He?zi({},He.FORBID_CONTENTS,St):nt,Ce="FORBID_TAGS"in He?zi({},He.FORBID_TAGS,St):{},Ie="FORBID_ATTR"in He?zi({},He.FORBID_ATTR,St):{},Ge="USE_PROFILES"in He?He.USE_PROFILES:!1,Re=He.ALLOW_ARIA_ATTR!==!1,Ve=He.ALLOW_DATA_ATTR!==!1,Ye=He.ALLOW_UNKNOWN_PROTOCOLS||!1,ue=He.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ye=He.SAFE_FOR_TEMPLATES||!1,ge=He.SAFE_FOR_XML!==!1,ne=He.WHOLE_DOCUMENT||!1,De=He.RETURN_DOM||!1,W=He.RETURN_DOM_FRAGMENT||!1,ee=He.RETURN_TRUSTED_TYPE||!1,Pe=He.FORCE_BODY||!1,be=He.SANITIZE_DOM!==!1,Le=He.SANITIZE_NAMED_PROPS||!1,je=He.KEEP_CONTENT!==!1,Oe=He.IN_PLACE||!1,G=He.ALLOWED_URI_REGEXP||G,st=He.NAMESPACE||Ke,me=He.CUSTOM_ELEMENT_HANDLING||{},He.CUSTOM_ELEMENT_HANDLING&&qi(He.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(me.tagNameCheck=He.CUSTOM_ELEMENT_HANDLING.tagNameCheck),He.CUSTOM_ELEMENT_HANDLING&&qi(He.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(me.attributeNameCheck=He.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),He.CUSTOM_ELEMENT_HANDLING&&typeof He.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(me.allowCustomizedBuiltInElements=He.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ye&&(Ve=!1),W&&(De=!0),Ge&&(ie=zi({},gc(mpe)),te=[],Ge.html===!0&&(zi(ie,gpe),zi(te,vpe)),Ge.svg===!0&&(zi(ie,GN),zi(te,ZN),zi(te,hC)),Ge.svgFilters===!0&&(zi(ie,KN),zi(te,ZN),zi(te,hC)),Ge.mathMl===!0&&(zi(ie,YN),zi(te,ype),zi(te,hC))),He.ADD_TAGS&&(ie===he&&(ie=of(ie)),zi(ie,He.ADD_TAGS,St)),He.ADD_ATTR&&(te===ae&&(te=of(te)),zi(te,He.ADD_ATTR,St)),He.ADD_URI_SAFE_ATTR&&zi(ut,He.ADD_URI_SAFE_ATTR,St),He.FORBID_CONTENTS&&(vt===nt&&(vt=of(vt)),zi(vt,He.FORBID_CONTENTS,St)),je&&(ie["#text"]=!0),ne&&zi(ie,["html","head","body"]),ie.table&&(zi(ie,["tbody"]),delete Ce.tbody),Hs&&Hs(He),Bt=He)},Kr=zi({},["mi","mo","mn","ms","mtext"]),Yt=zi({},["foreignobject","annotation-xml"]),zn=zi({},["title","style","font","a","script"]),vo=zi({},GN);zi(vo,KN),zi(vo,aBi);var br=zi({},YN);zi(br,lBi);var Br=function(He){var Ht=y(He);(!Ht||!Ht.tagName)&&(Ht={namespaceURI:st,tagName:"template"});var Et=uC(He.tagName),Ui=uC(Ht.tagName);return Tt[He.namespaceURI]?He.namespaceURI===et?Ht.namespaceURI===Ke?Et==="svg":Ht.namespaceURI===qe?Et==="svg"&&(Ui==="annotation-xml"||Kr[Ui]):!!vo[Et]:He.namespaceURI===qe?Ht.namespaceURI===Ke?Et==="math":Ht.namespaceURI===et?Et==="math"&&Yt[Ui]:!!br[Et]:He.namespaceURI===Ke?Ht.namespaceURI===et&&!Yt[Ui]||Ht.namespaceURI===qe&&!Kr[Ui]?!1:!br[Et]&&(zn[Et]||!vo[Et]):!!(Gt==="application/xhtml+xml"&&Tt[He.namespaceURI]):!1},Ar=function(He){n8(e.removed,{element:He});try{He.parentNode.removeChild(He)}catch{try{He.outerHTML=C}catch{He.remove()}}},eo=function(He,Ht){try{n8(e.removed,{attribute:Ht.getAttributeNode(He),from:Ht})}catch{n8(e.removed,{attribute:null,from:Ht})}if(Ht.removeAttribute(He),He==="is"&&!te[He])if(De||W)try{Ar(Ht)}catch{}else try{Ht.setAttribute(He,"")}catch{}},Ya=function(He){var Ht,Et;if(Pe)He="<remove></remove>"+He;else{var Ui=fpe(He,/^[\r\n\t ]+/);Et=Ui&&Ui[0]}Gt==="application/xhtml+xml"&&st===Ke&&(He='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+He+"</body></html>");var Nr=w?w.createHTML(He):He;if(st===Ke)try{Ht=new h().parseFromString(Nr,Gt)}catch{}if(!Ht||!Ht.documentElement){Ht=I.createDocument(st,"template",null);try{Ht.documentElement.innerHTML=Xe?C:Nr}catch{}}var sn=Ht.body||Ht.documentElement;return He&&Et&&sn.insertBefore(r.createTextNode(Et),sn.childNodes[0]||null),st===Ke?j.call(Ht,ne?"html":"body")[0]:ne?Ht.documentElement:sn},vs=function(He){return D.call(He.ownerDocument||He,He,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null,!1)},Un=function(He){return He instanceof d&&(typeof He.nodeName!="string"||typeof He.textContent!="string"||typeof He.removeChild!="function"||!(He.attributes instanceof u)||typeof He.removeAttribute!="function"||typeof He.setAttribute!="function"||typeof He.namespaceURI!="string"||typeof He.insertBefore!="function"||typeof He.hasChildNodes!="function")},co=function(He){return Kp(n)==="object"?He instanceof n:He&&Kp(He)==="object"&&typeof He.nodeType=="number"&&typeof He.nodeName=="string"},uo=function(He,Ht,Et){F[He]&&rBi(F[He],function(Ui){Ui.call(e,Ht,Et,Bt)})},Jn=function(He){var Ht;if(uo("beforeSanitizeElements",He,null),Un(He)||Yn(/[\u0080-\uFFFF]/,He.nodeName))return Ar(He),!0;var Et=St(He.nodeName);if(uo("uponSanitizeElement",He,{tagName:Et,allowedTags:ie}),He.hasChildNodes()&&!co(He.firstElementChild)&&(!co(He.content)||!co(He.content.firstElementChild))&&Yn(/<[/\w]/g,He.innerHTML)&&Yn(/<[/\w]/g,He.textContent)||Et==="select"&&Yn(/<template/i,He.innerHTML)||He.nodeType===7||ge&&He.nodeType===8&&Yn(/<[/\w]/g,He.data))return Ar(He),!0;if(!ie[Et]||Ce[Et]){if(!Ce[Et]&&Wn(Et)&&(me.tagNameCheck instanceof RegExp&&Yn(me.tagNameCheck,Et)||me.tagNameCheck instanceof Function&&me.tagNameCheck(Et)))return!1;if(je&&!vt[Et]){var Ui=y(He)||He.parentNode,Nr=m(He)||He.childNodes;if(Nr&&Ui)for(var sn=Nr.length,Ir=sn-1;Ir>=0;--Ir){var ys=A(Nr[Ir],!0);ys.__removalCount=(He.__removalCount||0)+1,Ui.insertBefore(ys,g(He))}}return Ar(He),!0}return He instanceof a&&!Br(He)||(Et==="noscript"||Et==="noembed"||Et==="noframes")&&Yn(/<\/no(script|embed|frames)/i,He.innerHTML)?(Ar(He),!0):(ye&&He.nodeType===3&&(Ht=He.textContent,Ht=mc(Ht,V," "),Ht=mc(Ht,q," "),Ht=mc(Ht,_," "),He.textContent!==Ht&&(n8(e.removed,{element:He.cloneNode()}),He.textContent=Ht)),uo("afterSanitizeElements",He,null),!1)},yn=function(He,Ht,Et){if(be&&(Ht==="id"||Ht==="name")&&(Et in r||Et in Ni))return!1;if(!(Ve&&!Ie[Ht]&&Yn(J,Ht))&&!(Re&&Yn($,Ht))){if(!te[Ht]||Ie[Ht]){if(!(Wn(He)&&(me.tagNameCheck instanceof RegExp&&Yn(me.tagNameCheck,He)||me.tagNameCheck instanceof Function&&me.tagNameCheck(He))&&(me.attributeNameCheck instanceof RegExp&&Yn(me.attributeNameCheck,Ht)||me.attributeNameCheck instanceof Function&&me.attributeNameCheck(Ht))||Ht==="is"&&me.allowCustomizedBuiltInElements&&(me.tagNameCheck instanceof RegExp&&Yn(me.tagNameCheck,Et)||me.tagNameCheck instanceof Function&&me.tagNameCheck(Et))))return!1}else if(!ut[Ht]&&!Yn(G,mc(Et,de,""))&&!((Ht==="src"||Ht==="xlink:href"||Ht==="href")&&He!=="script"&&oBi(Et,"data:")===0&&ot[He])&&!(Ye&&!Yn(le,mc(Et,de,"")))&&Et)return!1}return!0},Wn=function(He){return He!=="annotation-xml"&&fpe(He,Be)},Xn=function(He){var Ht,Et,Ui,Nr;uo("beforeSanitizeAttributes",He,null);var sn=He.attributes;if(sn){var Ir={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:te};for(Nr=sn.length;Nr--;){Ht=sn[Nr];var ys=Ht,an=ys.name,yo=ys.namespaceURI;if(Et=an==="value"?Ht.value:nBi(Ht.value),Ui=St(an),Ir.attrName=Ui,Ir.attrValue=Et,Ir.keepAttr=!0,Ir.forceKeepAttr=void 0,uo("uponSanitizeAttribute",He,Ir),Et=Ir.attrValue,!Ir.forceKeepAttr&&(eo(an,He),!!Ir.keepAttr)){if(!ue&&Yn(/\/>/i,Et)){eo(an,He);continue}if(ge&&Yn(/((--!?|])>)|<\/(style|title)/i,Et)){eo(an,He);continue}ye&&(Et=mc(Et,V," "),Et=mc(Et,q," "),Et=mc(Et,_," "));var Nd=St(He.nodeName);if(yn(Nd,Ui,Et)){if(Le&&(Ui==="id"||Ui==="name")&&(eo(an,He),Et=ve+Et),w&&Kp(p)==="object"&&typeof p.getAttributeType=="function"&&!yo)switch(p.getAttributeType(Nd,Ui)){case"TrustedHTML":{Et=w.createHTML(Et);break}case"TrustedScriptURL":{Et=w.createScriptURL(Et);break}}try{yo?He.setAttributeNS(yo,an,Et):He.setAttribute(an,Et),Un(He)?Ar(He):Ape(e.removed)}catch{}}}}uo("afterSanitizeAttributes",He,null)}},Za=function He(Ht){var Et,Ui=vs(Ht);for(uo("beforeSanitizeShadowDOM",Ht,null);Et=Ui.nextNode();)uo("uponSanitizeShadowNode",Et,null),!Jn(Et)&&(Et.content instanceof o&&He(Et.content),Xn(Et));uo("afterSanitizeShadowDOM",Ht,null)};return e.sanitize=function(He){var Ht=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Et,Ui,Nr,sn,Ir;if(Xe=!He,Xe&&(He="<!-->"),typeof He!="string"&&!co(He))if(typeof He.toString=="function"){if(He=He.toString(),typeof He!="string")throw qN("dirty is not a string, aborting")}else throw qN("toString is not a function");if(!e.isSupported){if(Kp(t.toStaticHTML)==="object"||typeof t.toStaticHTML=="function"){if(typeof He=="string")return t.toStaticHTML(He);if(co(He))return t.toStaticHTML(He.outerHTML)}return He}if(xe||vi(Ht),e.removed=[],typeof He=="string"&&(Oe=!1),Oe){if(He.nodeName){var ys=St(He.nodeName);if(!ie[ys]||Ce[ys])throw qN("root node is forbidden and cannot be sanitized in-place")}}else if(He instanceof n)Et=Ya("<!---->"),Ui=Et.ownerDocument.importNode(He,!0),Ui.nodeType===1&&Ui.nodeName==="BODY"||Ui.nodeName==="HTML"?Et=Ui:Et.appendChild(Ui);else{if(!De&&!ye&&!ne&&He.indexOf("<")===-1)return w&&ee?w.createHTML(He):He;if(Et=Ya(He),!Et)return De?null:ee?C:""}Et&&Pe&&Ar(Et.firstChild);for(var an=vs(Oe?He:Et);Nr=an.nextNode();)Nr.nodeType===3&&Nr===sn||Jn(Nr)||(Nr.content instanceof o&&Za(Nr.content),Xn(Nr),sn=Nr);if(sn=null,Oe)return He;if(De){if(W)for(Ir=L.call(Et.ownerDocument);Et.firstChild;)Ir.appendChild(Et.firstChild);else Ir=Et;return(te.shadowroot||te.shadowrootmod)&&(Ir=T.call(i,Ir,!0)),Ir}var yo=ne?Et.outerHTML:Et.innerHTML;return ne&&ie["!doctype"]&&Et.ownerDocument&&Et.ownerDocument.doctype&&Et.ownerDocument.doctype.name&&Yn(mBi,Et.ownerDocument.doctype.name)&&(yo="<!DOCTYPE "+Et.ownerDocument.doctype.name+`>
1873
1873
  `+yo),ye&&(yo=mc(yo,V," "),yo=mc(yo,q," "),yo=mc(yo,_," ")),w&&ee?w.createHTML(yo):yo},e.setConfig=function(He){vi(He),xe=!0},e.clearConfig=function(){Bt=null,xe=!1},e.isValidAttribute=function(He,Ht,Et){Bt||vi({});var Ui=St(He),Nr=St(Ht);return yn(Ui,Nr,Et)},e.addHook=function(He,Ht){typeof Ht=="function"&&(F[He]=F[He]||[],n8(F[He],Ht))},e.removeHook=function(He){if(F[He])return Ape(F[He])},e.removeHooks=function(He){F[He]&&(F[He]=[])},e.removeAllHooks=function(){F={}},e}var bBi=wpe();const MBi=Object.freeze(Object.defineProperty({__proto__:null,default:bBi},Symbol.toStringTag,{value:"Module"}));var s8=function(t){return t&&t.Math===Math&&t},_o=s8(typeof globalThis=="object"&&globalThis)||s8(typeof window=="object"&&window)||s8(typeof self=="object"&&self)||s8(typeof Ao=="object"&&Ao)||s8(typeof Ao=="object"&&Ao)||function(){return this}()||Function("return this")(),a8={},Qo=function(t){try{return!!t()}catch{return!0}},CBi=Qo,vc=!CBi(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),xBi=Qo,pC=!xBi(function(){var t=function(){}.bind();return typeof t!="function"||t.hasOwnProperty("prototype")}),kBi=pC,AC=Function.prototype.call,Zn=kBi?AC.bind(AC):function(){return AC.apply(AC,arguments)},bpe={},Mpe={}.propertyIsEnumerable,Cpe=Object.getOwnPropertyDescriptor,IBi=Cpe&&!Mpe.call({1:2},1);bpe.f=IBi?function(t){var e=Cpe(this,t);return!!e&&e.enumerable}:Mpe;var JN=function(t,e){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:e}},xpe=pC,kpe=Function.prototype,WN=kpe.call,DBi=xpe&&kpe.bind.bind(WN,WN),qo=xpe?DBi:function(t){return function(){return WN.apply(t,arguments)}},Ipe=qo,PBi=Ipe({}.toString),EBi=Ipe("".slice),nf=function(t){return EBi(PBi(t),8,-1)},TBi=qo,SBi=Qo,LBi=nf,XN=Object,BBi=TBi("".split),Dpe=SBi(function(){return!XN("z").propertyIsEnumerable(0)})?function(t){return LBi(t)==="String"?BBi(t,""):XN(t)}:XN,sf=function(t){return t==null},NBi=sf,jBi=TypeError,yc=function(t){if(NBi(t))throw new jBi("Can't call method on "+t);return t},RBi=Dpe,OBi=yc,l8=function(t){return RBi(OBi(t))},$N=typeof document=="object"&&document.all,Go=typeof $N>"u"&&$N!==void 0?function(t){return typeof t=="function"||t===$N}:function(t){return typeof t=="function"},FBi=Go,wc=function(t){return typeof t=="object"?t!==null:FBi(t)},ej=_o,zBi=Go,UBi=function(t){return zBi(t)?t:void 0},af=function(t,e){return arguments.length<2?UBi(ej[t]):ej[t]&&ej[t][e]},VBi=qo,fC=VBi({}.isPrototypeOf),gC=typeof navigator<"u"&&String(navigator.userAgent)||"",Ppe=_o,tj=gC,Epe=Ppe.process,Tpe=Ppe.Deno,Spe=Epe&&Epe.versions||Tpe&&Tpe.version,Lpe=Spe&&Spe.v8,bc,mC;Lpe&&(bc=Lpe.split("."),mC=bc[0]>0&&bc[0]<4?1:+(bc[0]+bc[1])),!mC&&tj&&(bc=tj.match(/Edge\/(\d+)/),(!bc||bc[1]>=74)&&(bc=tj.match(/Chrome\/(\d+)/),bc&&(mC=+bc[1])));var ij=mC,Bpe=ij,HBi=Qo,_Bi=_o,QBi=_Bi.String,Npe=!!Object.getOwnPropertySymbols&&!HBi(function(){var t=Symbol("symbol detection");return!QBi(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&Bpe&&Bpe<41}),qBi=Npe,jpe=qBi&&!Symbol.sham&&typeof Symbol.iterator=="symbol",GBi=af,KBi=Go,YBi=fC,ZBi=jpe,JBi=Object,Rpe=ZBi?function(t){return typeof t=="symbol"}:function(t){var e=GBi("Symbol");return KBi(e)&&YBi(e.prototype,JBi(t))},WBi=String,vC=function(t){try{return WBi(t)}catch{return"Object"}},XBi=Go,$Bi=vC,eNi=TypeError,xd=function(t){if(XBi(t))return t;throw new eNi($Bi(t)+" is not a function")},tNi=xd,iNi=sf,c2=function(t,e){var i=t[e];return iNi(i)?void 0:tNi(i)},rj=Zn,oj=Go,nj=wc,rNi=TypeError,oNi=function(t,e){var i,r;if(e==="string"&&oj(i=t.toString)&&!nj(r=rj(i,t))||oj(i=t.valueOf)&&!nj(r=rj(i,t))||e!=="string"&&oj(i=t.toString)&&!nj(r=rj(i,t)))return r;throw new rNi("Can't convert object to primitive value")},Ope={exports:{}},Fpe=_o,nNi=Object.defineProperty,sj=function(t,e){try{nNi(Fpe,t,{value:e,configurable:!0,writable:!0})}catch{Fpe[t]=e}return e},sNi=_o,aNi=sj,zpe="__core-js_shared__",Upe=Ope.exports=sNi[zpe]||aNi(zpe,{});(Upe.versions||(Upe.versions=[])).push({version:"3.37.1",mode:"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE",source:"https://github.com/zloirock/core-js"});var aj=Ope.exports,Vpe=aj,lj=function(t,e){return Vpe[t]||(Vpe[t]=e||{})},lNi=yc,cNi=Object,yC=function(t){return cNi(lNi(t))},uNi=qo,dNi=yC,hNi=uNi({}.hasOwnProperty),Mc=Object.hasOwn||function(t,e){return hNi(dNi(t),e)},pNi=qo,ANi=0,fNi=Math.random(),gNi=pNi(1 .toString),Hpe=function(t){return"Symbol("+(t===void 0?"":t)+")_"+gNi(++ANi+fNi,36)},mNi=_o,vNi=lj,_pe=Mc,yNi=Hpe,wNi=Npe,bNi=jpe,u2=mNi.Symbol,cj=vNi("wks"),MNi=bNi?u2.for||u2:u2&&u2.withoutSetter||yNi,On=function(t){return _pe(cj,t)||(cj[t]=wNi&&_pe(u2,t)?u2[t]:MNi("Symbol."+t)),cj[t]},CNi=Zn,Qpe=wc,qpe=Rpe,xNi=c2,kNi=oNi,INi=On,DNi=TypeError,PNi=INi("toPrimitive"),ENi=function(t,e){if(!Qpe(t)||qpe(t))return t;var i=xNi(t,PNi),r;if(i){if(e===void 0&&(e="default"),r=CNi(i,t,e),!Qpe(r)||qpe(r))return r;throw new DNi("Can't convert object to primitive value")}return e===void 0&&(e="number"),kNi(t,e)},TNi=ENi,SNi=Rpe,Gpe=function(t){var e=TNi(t,"string");return SNi(e)?e:e+""},LNi=_o,Kpe=wc,uj=LNi.document,BNi=Kpe(uj)&&Kpe(uj.createElement),wC=function(t){return BNi?uj.createElement(t):{}},NNi=vc,jNi=Qo,RNi=wC,Ype=!NNi&&!jNi(function(){return Object.defineProperty(RNi("div"),"a",{get:function(){return 7}}).a!==7}),ONi=vc,FNi=Zn,zNi=bpe,UNi=JN,VNi=l8,HNi=Gpe,_Ni=Mc,QNi=Ype,Zpe=Object.getOwnPropertyDescriptor;a8.f=ONi?Zpe:function(t,e){if(t=VNi(t),e=HNi(e),QNi)try{return Zpe(t,e)}catch{}if(_Ni(t,e))return UNi(!FNi(zNi.f,t,e),t[e])};var kd={},qNi=vc,GNi=Qo,Jpe=qNi&&GNi(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),KNi=wc,YNi=String,ZNi=TypeError,_s=function(t){if(KNi(t))return t;throw new ZNi(YNi(t)+" is not an object")},JNi=vc,WNi=Ype,XNi=Jpe,bC=_s,Wpe=Gpe,$Ni=TypeError,dj=Object.defineProperty,eji=Object.getOwnPropertyDescriptor,hj="enumerable",pj="configurable",Aj="writable";kd.f=JNi?XNi?function(t,e,i){if(bC(t),e=Wpe(e),bC(i),typeof t=="function"&&e==="prototype"&&"value"in i&&Aj in i&&!i[Aj]){var r=eji(t,e);r&&r[Aj]&&(t[e]=i.value,i={configurable:pj in i?i[pj]:r[pj],enumerable:hj in i?i[hj]:r[hj],writable:!1})}return dj(t,e,i)}:dj:function(t,e,i){if(bC(t),e=Wpe(e),bC(i),WNi)try{return dj(t,e,i)}catch{}if("get"in i||"set"in i)throw new $Ni("Accessors not supported");return"value"in i&&(t[e]=i.value),t};var tji=vc,iji=kd,rji=JN,c8=tji?function(t,e,i){return iji.f(t,e,rji(1,i))}:function(t,e,i){return t[e]=i,t},Xpe={exports:{}},fj=vc,oji=Mc,$pe=Function.prototype,nji=fj&&Object.getOwnPropertyDescriptor,gj=oji($pe,"name"),sji=gj&&function(){}.name==="something",aji=gj&&(!fj||fj&&nji($pe,"name").configurable),MC={EXISTS:gj,PROPER:sji,CONFIGURABLE:aji},lji=qo,cji=Go,mj=aj,uji=lji(Function.toString);cji(mj.inspectSource)||(mj.inspectSource=function(t){return uji(t)});var vj=mj.inspectSource,dji=_o,hji=Go,e1e=dji.WeakMap,pji=hji(e1e)&&/native code/.test(String(e1e)),Aji=lj,fji=Hpe,t1e=Aji("keys"),yj=function(t){return t1e[t]||(t1e[t]=fji(t))},wj={},gji=pji,i1e=_o,mji=wc,vji=c8,bj=Mc,Mj=aj,yji=yj,wji=wj,r1e="Object already initialized",Cj=i1e.TypeError,bji=i1e.WeakMap,CC,u8,xC,Mji=function(t){return xC(t)?u8(t):CC(t,{})},Cji=function(t){return function(e){var i;if(!mji(e)||(i=u8(e)).type!==t)throw new Cj("Incompatible receiver, "+t+" required");return i}};if(gji||Mj.state){var fu=Mj.state||(Mj.state=new bji);fu.get=fu.get,fu.has=fu.has,fu.set=fu.set,CC=function(t,e){if(fu.has(t))throw new Cj(r1e);return e.facade=t,fu.set(t,e),e},u8=function(t){return fu.get(t)||{}},xC=function(t){return fu.has(t)}}else{var d2=yji("state");wji[d2]=!0,CC=function(t,e){if(bj(t,d2))throw new Cj(r1e);return e.facade=t,vji(t,d2,e),e},u8=function(t){return bj(t,d2)?t[d2]:{}},xC=function(t){return bj(t,d2)}}var kC={set:CC,get:u8,has:xC,enforce:Mji,getterFor:Cji},xj=qo,xji=Qo,kji=Go,IC=Mc,kj=vc,Iji=MC.CONFIGURABLE,Dji=vj,o1e=kC,Pji=o1e.enforce,Eji=o1e.get,n1e=String,DC=Object.defineProperty,Tji=xj("".slice),Sji=xj("".replace),Lji=xj([].join),Bji=kj&&!xji(function(){return DC(function(){},"length",{value:8}).length!==8}),Nji=String(String).split("String"),jji=Xpe.exports=function(t,e,i){Tji(n1e(e),0,7)==="Symbol("&&(e="["+Sji(n1e(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),i&&i.getter&&(e="get "+e),i&&i.setter&&(e="set "+e),(!IC(t,"name")||Iji&&t.name!==e)&&(kj?DC(t,"name",{value:e,configurable:!0}):t.name=e),Bji&&i&&IC(i,"arity")&&t.length!==i.arity&&DC(t,"length",{value:i.arity});try{i&&IC(i,"constructor")&&i.constructor?kj&&DC(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch{}var r=Pji(t);return IC(r,"source")||(r.source=Lji(Nji,typeof e=="string"?e:"")),t};Function.prototype.toString=jji(function(){return kji(this)&&Eji(this).source||Dji(this)},"toString");var s1e=Xpe.exports,Rji=Go,Oji=kd,Fji=s1e,zji=sj,lf=function(t,e,i,r){r||(r={});var o=r.enumerable,s=r.name!==void 0?r.name:e;if(Rji(i)&&Fji(i,s,r),r.global)o?t[e]=i:zji(e,i);else{try{r.unsafe?t[e]&&(o=!0):delete t[e]}catch{}o?t[e]=i:Oji.f(t,e,{value:i,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return t},a1e={},Uji=Math.ceil,Vji=Math.floor,Hji=Math.trunc||function(t){var e=+t;return(e>0?Vji:Uji)(e)},_ji=Hji,PC=function(t){var e=+t;return e!==e||e===0?0:_ji(e)},Qji=PC,qji=Math.max,Gji=Math.min,Kji=function(t,e){var i=Qji(t);return i<0?qji(i+e,0):Gji(i,e)},Yji=PC,Zji=Math.min,h2=function(t){var e=Yji(t);return e>0?Zji(e,9007199254740991):0},Jji=h2,Ij=function(t){return Jji(t.length)},Wji=l8,Xji=Kji,$ji=Ij,l1e=function(t){return function(e,i,r){var o=Wji(e),s=$ji(o);if(s===0)return!t&&-1;var n=Xji(r,s),a;if(t&&i!==i){for(;s>n;)if(a=o[n++],a!==a)return!0}else for(;s>n;n++)if((t||n in o)&&o[n]===i)return t||n||0;return!t&&-1}},c1e={includes:l1e(!0),indexOf:l1e(!1)},eRi=qo,Dj=Mc,tRi=l8,iRi=c1e.indexOf,rRi=wj,u1e=eRi([].push),d1e=function(t,e){var i=tRi(t),r=0,o=[],s;for(s in i)!Dj(rRi,s)&&Dj(i,s)&&u1e(o,s);for(;e.length>r;)Dj(i,s=e[r++])&&(~iRi(o,s)||u1e(o,s));return o},Pj=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],oRi=d1e,nRi=Pj,sRi=nRi.concat("length","prototype");a1e.f=Object.getOwnPropertyNames||function(t){return oRi(t,sRi)};var h1e={};h1e.f=Object.getOwnPropertySymbols;var aRi=af,lRi=qo,cRi=a1e,uRi=h1e,dRi=_s,hRi=lRi([].concat),pRi=aRi("Reflect","ownKeys")||function(t){var e=cRi.f(dRi(t)),i=uRi.f;return i?hRi(e,i(t)):e},p1e=Mc,ARi=pRi,fRi=a8,gRi=kd,mRi=function(t,e,i){for(var r=ARi(e),o=gRi.f,s=fRi.f,n=0;n<r.length;n++){var a=r[n];!p1e(t,a)&&!(i&&p1e(i,a))&&o(t,a,s(e,a))}},vRi=Qo,yRi=Go,wRi=/#|\.prototype\./,d8=function(t,e){var i=MRi[bRi(t)];return i===xRi?!0:i===CRi?!1:yRi(e)?vRi(e):!!e},bRi=d8.normalize=function(t){return String(t).replace(wRi,".").toLowerCase()},MRi=d8.data={},CRi=d8.NATIVE="N",xRi=d8.POLYFILL="P",A1e=d8,EC=_o,kRi=a8.f,IRi=c8,DRi=lf,PRi=sj,ERi=mRi,TRi=A1e,Qs=function(t,e){var i=t.target,r=t.global,o=t.stat,s,n,a,l,c,u;if(r?n=EC:o?n=EC[i]||PRi(i,{}):n=EC[i]&&EC[i].prototype,n)for(a in e){if(c=e[a],t.dontCallGetSet?(u=kRi(n,a),l=u&&u.value):l=n[a],s=TRi(r?a:i+(o?".":"#")+a,t.forced),!s&&l!==void 0){if(typeof c==typeof l)continue;ERi(c,l)}(t.sham||l&&l.sham)&&IRi(c,"sham",!0),DRi(n,a,c,t)}},SRi=_o,LRi=nf,h8=LRi(SRi.process)==="process",BRi=qo,NRi=xd,jRi=function(t,e,i){try{return BRi(NRi(Object.getOwnPropertyDescriptor(t,e)[i]))}catch{}},RRi=wc,ORi=function(t){return RRi(t)||t===null},FRi=ORi,zRi=String,URi=TypeError,VRi=function(t){if(FRi(t))return t;throw new URi("Can't set "+zRi(t)+" as a prototype")},HRi=jRi,_Ri=wc,QRi=yc,qRi=VRi,f1e=Object.setPrototypeOf||("__proto__"in{}?function(){var t=!1,e={},i;try{i=HRi(Object.prototype,"__proto__","set"),i(e,[]),t=e instanceof Array}catch{}return function(r,o){return QRi(r),qRi(o),_Ri(r)&&(t?i(r,o):r.__proto__=o),r}}():void 0),GRi=kd.f,KRi=Mc,YRi=On,g1e=YRi("toStringTag"),TC=function(t,e,i){t&&!i&&(t=t.prototype),t&&!KRi(t,g1e)&&GRi(t,g1e,{configurable:!0,value:e})},m1e=s1e,ZRi=kd,JRi=function(t,e,i){return i.get&&m1e(i.get,e,{getter:!0}),i.set&&m1e(i.set,e,{setter:!0}),ZRi.f(t,e,i)},WRi=af,XRi=JRi,$Ri=On,eOi=vc,v1e=$Ri("species"),tOi=function(t){var e=WRi(t);eOi&&e&&!e[v1e]&&XRi(e,v1e,{configurable:!0,get:function(){return this}})},iOi=fC,rOi=TypeError,oOi=function(t,e){if(iOi(e,t))return t;throw new rOi("Incorrect invocation")},nOi=On,sOi=nOi("toStringTag"),y1e={};y1e[sOi]="z";var aOi=String(y1e)==="[object z]",lOi=aOi,cOi=Go,SC=nf,uOi=On,dOi=uOi("toStringTag"),hOi=Object,pOi=SC(function(){return arguments}())==="Arguments",AOi=function(t,e){try{return t[e]}catch{}},Ej=lOi?SC:function(t){var e,i,r;return t===void 0?"Undefined":t===null?"Null":typeof(i=AOi(e=hOi(t),dOi))=="string"?i:pOi?SC(e):(r=SC(e))==="Object"&&cOi(e.callee)?"Arguments":r},fOi=qo,gOi=Qo,w1e=Go,mOi=Ej,vOi=af,yOi=vj,b1e=function(){},M1e=vOi("Reflect","construct"),Tj=/^\s*(?:class|function)\b/,wOi=fOi(Tj.exec),bOi=!Tj.test(b1e),p8=function(t){if(!w1e(t))return!1;try{return M1e(b1e,[],t),!0}catch{return!1}},C1e=function(t){if(!w1e(t))return!1;switch(mOi(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return bOi||!!wOi(Tj,yOi(t))}catch{return!0}};C1e.sham=!0;var MOi=!M1e||gOi(function(){var t;return p8(p8.call)||!p8(Object)||!p8(function(){t=!0})||t})?C1e:p8,COi=MOi,xOi=vC,kOi=TypeError,IOi=function(t){if(COi(t))return t;throw new kOi(xOi(t)+" is not a constructor")},x1e=_s,DOi=IOi,POi=sf,EOi=On,TOi=EOi("species"),k1e=function(t,e){var i=x1e(t).constructor,r;return i===void 0||POi(r=x1e(i)[TOi])?e:DOi(r)},SOi=pC,I1e=Function.prototype,D1e=I1e.apply,P1e=I1e.call,E1e=typeof Reflect=="object"&&Reflect.apply||(SOi?P1e.bind(D1e):function(){return P1e.apply(D1e,arguments)}),LOi=nf,BOi=qo,LC=function(t){if(LOi(t)==="Function")return BOi(t)},T1e=LC,NOi=xd,jOi=pC,ROi=T1e(T1e.bind),Sj=function(t,e){return NOi(t),e===void 0?t:jOi?ROi(t,e):function(){return t.apply(e,arguments)}},OOi=af,S1e=OOi("document","documentElement"),FOi=qo,zOi=FOi([].slice),UOi=TypeError,VOi=function(t,e){if(t<e)throw new UOi("Not enough arguments");return t},HOi=gC,L1e=/(?:ipad|iphone|ipod).*applewebkit/i.test(HOi),Ka=_o,_Oi=E1e,QOi=Sj,B1e=Go,qOi=Mc,N1e=Qo,j1e=S1e,GOi=zOi,R1e=wC,KOi=VOi,YOi=L1e,ZOi=h8,Lj=Ka.setImmediate,Bj=Ka.clearImmediate,JOi=Ka.process,Nj=Ka.Dispatch,WOi=Ka.Function,O1e=Ka.MessageChannel,XOi=Ka.String,jj=0,A8={},F1e="onreadystatechange",f8,cf,Rj,Oj;N1e(function(){f8=Ka.location});var Fj=function(t){if(qOi(A8,t)){var e=A8[t];delete A8[t],e()}},zj=function(t){return function(){Fj(t)}},z1e=function(t){Fj(t.data)},U1e=function(t){Ka.postMessage(XOi(t),f8.protocol+"//"+f8.host)};(!Lj||!Bj)&&(Lj=function(t){KOi(arguments.length,1);var e=B1e(t)?t:WOi(t),i=GOi(arguments,1);return A8[++jj]=function(){_Oi(e,void 0,i)},cf(jj),jj},Bj=function(t){delete A8[t]},ZOi?cf=function(t){JOi.nextTick(zj(t))}:Nj&&Nj.now?cf=function(t){Nj.now(zj(t))}:O1e&&!YOi?(Rj=new O1e,Oj=Rj.port2,Rj.port1.onmessage=z1e,cf=QOi(Oj.postMessage,Oj)):Ka.addEventListener&&B1e(Ka.postMessage)&&!Ka.importScripts&&f8&&f8.protocol!=="file:"&&!N1e(U1e)?(cf=U1e,Ka.addEventListener("message",z1e,!1)):F1e in R1e("script")?cf=function(t){j1e.appendChild(R1e("script"))[F1e]=function(){j1e.removeChild(this),Fj(t)}}:cf=function(t){setTimeout(zj(t),0)});var V1e={set:Lj,clear:Bj},H1e=_o,$Oi=vc,eFi=Object.getOwnPropertyDescriptor,tFi=function(t){if(!$Oi)return H1e[t];var e=eFi(H1e,t);return e&&e.value},_1e=function(){this.head=null,this.tail=null};_1e.prototype={add:function(t){var e={item:t,next:null},i=this.tail;i?i.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t){var e=this.head=t.next;return e===null&&(this.tail=null),t.item}}};var Q1e=_1e,iFi=gC,rFi=/ipad|iphone|ipod/i.test(iFi)&&typeof Pebble<"u",oFi=gC,nFi=/web0s(?!.*chrome)/i.test(oFi),p2=_o,sFi=tFi,q1e=Sj,Uj=V1e.set,aFi=Q1e,lFi=L1e,cFi=rFi,uFi=nFi,Vj=h8,G1e=p2.MutationObserver||p2.WebKitMutationObserver,K1e=p2.document,Y1e=p2.process,BC=p2.Promise,Hj=sFi("queueMicrotask"),A2,_j,Qj,NC,Z1e;if(!Hj){var jC=new aFi,RC=function(){var t,e;for(Vj&&(t=Y1e.domain)&&t.exit();e=jC.get();)try{e()}catch(i){throw jC.head&&A2(),i}t&&t.enter()};!lFi&&!Vj&&!uFi&&G1e&&K1e?(_j=!0,Qj=K1e.createTextNode(""),new G1e(RC).observe(Qj,{characterData:!0}),A2=function(){Qj.data=_j=!_j}):!cFi&&BC&&BC.resolve?(NC=BC.resolve(void 0),NC.constructor=BC,Z1e=q1e(NC.then,NC),A2=function(){Z1e(RC)}):Vj?A2=function(){Y1e.nextTick(RC)}:(Uj=q1e(Uj,p2),A2=function(){Uj(RC)}),Hj=function(t){jC.head||A2(),jC.add(t)}}var dFi=Hj,hFi=function(t,e){try{arguments.length===1?console.error(t):console.error(t,e)}catch{}},qj=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}},pFi=_o,OC=pFi.Promise,J1e=typeof Deno=="object"&&Deno&&typeof Deno.version=="object",AFi=J1e,fFi=h8,gFi=!AFi&&!fFi&&typeof window=="object"&&typeof document=="object",mFi=_o,g8=OC,vFi=Go,yFi=A1e,wFi=vj,bFi=On,MFi=gFi,CFi=J1e,Gj=ij;g8&&g8.prototype;var xFi=bFi("species"),Kj=!1,W1e=vFi(mFi.PromiseRejectionEvent),kFi=yFi("Promise",function(){var t=wFi(g8),e=t!==String(g8);if(!e&&Gj===66)return!0;if(!Gj||Gj<51||!/native code/.test(t)){var i=new g8(function(s){s(1)}),r=function(s){s(function(){},function(){})},o=i.constructor={};if(o[xFi]=r,Kj=i.then(function(){})instanceof r,!Kj)return!0}return!e&&(MFi||CFi)&&!W1e}),m8={CONSTRUCTOR:kFi,REJECTION_EVENT:W1e,SUBCLASSING:Kj},f2={},X1e=xd,IFi=TypeError,DFi=function(t){var e,i;this.promise=new t(function(r,o){if(e!==void 0||i!==void 0)throw new IFi("Bad Promise constructor");e=r,i=o}),this.resolve=X1e(e),this.reject=X1e(i)};f2.f=function(t){return new DFi(t)};var PFi=Qs,FC=h8,Yp=_o,g2=Zn,$1e=lf,eAe=f1e,EFi=TC,TFi=tOi,SFi=xd,zC=Go,LFi=wc,BFi=oOi,NFi=k1e,tAe=V1e.set,Yj=dFi,jFi=hFi,RFi=qj,OFi=Q1e,iAe=kC,UC=OC,Zj=m8,rAe=f2,VC="Promise",oAe=Zj.CONSTRUCTOR,FFi=Zj.REJECTION_EVENT,zFi=Zj.SUBCLASSING,Jj=iAe.getterFor(VC),UFi=iAe.set,m2=UC&&UC.prototype,uf=UC,HC=m2,nAe=Yp.TypeError,Wj=Yp.document,Xj=Yp.process,$j=rAe.f,VFi=$j,HFi=!!(Wj&&Wj.createEvent&&Yp.dispatchEvent),sAe="unhandledrejection",_Fi="rejectionhandled",aAe=0,lAe=1,QFi=2,eR=1,cAe=2,_C,uAe,qFi,dAe,hAe=function(t){var e;return LFi(t)&&zC(e=t.then)?e:!1},pAe=function(t,e){var i=e.value,r=e.state===lAe,o=r?t.ok:t.fail,s=t.resolve,n=t.reject,a=t.domain,l,c,u;try{o?(r||(e.rejection===cAe&&KFi(e),e.rejection=eR),o===!0?l=i:(a&&a.enter(),l=o(i),a&&(a.exit(),u=!0)),l===t.promise?n(new nAe("Promise-chain cycle")):(c=hAe(l))?g2(c,l,s,n):s(l)):n(i)}catch(d){a&&!u&&a.exit(),n(d)}},AAe=function(t,e){t.notified||(t.notified=!0,Yj(function(){for(var i=t.reactions,r;r=i.get();)pAe(r,t);t.notified=!1,e&&!t.rejection&&GFi(t)}))},fAe=function(t,e,i){var r,o;HFi?(r=Wj.createEvent("Event"),r.promise=e,r.reason=i,r.initEvent(t,!1,!0),Yp.dispatchEvent(r)):r={promise:e,reason:i},!FFi&&(o=Yp["on"+t])?o(r):t===sAe&&jFi("Unhandled promise rejection",i)},GFi=function(t){g2(tAe,Yp,function(){var e=t.facade,i=t.value,r=gAe(t),o;if(r&&(o=RFi(function(){FC?Xj.emit("unhandledRejection",i,e):fAe(sAe,e,i)}),t.rejection=FC||gAe(t)?cAe:eR,o.error))throw o.value})},gAe=function(t){return t.rejection!==eR&&!t.parent},KFi=function(t){g2(tAe,Yp,function(){var e=t.facade;FC?Xj.emit("rejectionHandled",e):fAe(_Fi,e,t.value)})},v2=function(t,e,i){return function(r){t(e,r,i)}},y2=function(t,e,i){t.done||(t.done=!0,i&&(t=i),t.value=e,t.state=QFi,AAe(t,!0))},tR=function(t,e,i){if(!t.done){t.done=!0,i&&(t=i);try{if(t.facade===e)throw new nAe("Promise can't be resolved itself");var r=hAe(e);r?Yj(function(){var o={done:!1};try{g2(r,e,v2(tR,o,t),v2(y2,o,t))}catch(s){y2(o,s,t)}}):(t.value=e,t.state=lAe,AAe(t,!1))}catch(o){y2({done:!1},o,t)}}};if(oAe&&(uf=function(t){BFi(this,HC),SFi(t),g2(_C,this);var e=Jj(this);try{t(v2(tR,e),v2(y2,e))}catch(i){y2(e,i)}},HC=uf.prototype,_C=function(t){UFi(this,{type:VC,done:!1,notified:!1,parent:!1,reactions:new OFi,rejection:!1,state:aAe,value:void 0})},_C.prototype=$1e(HC,"then",function(t,e){var i=Jj(this),r=$j(NFi(this,uf));return i.parent=!0,r.ok=zC(t)?t:!0,r.fail=zC(e)&&e,r.domain=FC?Xj.domain:void 0,i.state===aAe?i.reactions.add(r):Yj(function(){pAe(r,i)}),r.promise}),uAe=function(){var t=new _C,e=Jj(t);this.promise=t,this.resolve=v2(tR,e),this.reject=v2(y2,e)},rAe.f=$j=function(t){return t===uf||t===qFi?new uAe(t):VFi(t)},zC(UC)&&m2!==Object.prototype)){dAe=m2.then,zFi||$1e(m2,"then",function(t,e){var i=this;return new uf(function(r,o){g2(dAe,i,r,o)}).then(t,e)},{unsafe:!0});try{delete m2.constructor}catch{}eAe&&eAe(m2,HC)}PFi({global:!0,constructor:!0,wrap:!0,forced:oAe},{Promise:uf}),EFi(uf,VC,!1),TFi(VC);var v8={},YFi=On,ZFi=v8,JFi=YFi("iterator"),WFi=Array.prototype,XFi=function(t){return t!==void 0&&(ZFi.Array===t||WFi[JFi]===t)},$Fi=Ej,mAe=c2,ezi=sf,tzi=v8,izi=On,rzi=izi("iterator"),vAe=function(t){if(!ezi(t))return mAe(t,rzi)||mAe(t,"@@iterator")||tzi[$Fi(t)]},ozi=Zn,nzi=xd,szi=_s,azi=vC,lzi=vAe,czi=TypeError,uzi=function(t,e){var i=arguments.length<2?lzi(t):e;if(nzi(i))return szi(ozi(i,t));throw new czi(azi(t)+" is not iterable")},dzi=Zn,yAe=_s,hzi=c2,pzi=function(t,e,i){var r,o;yAe(t);try{if(r=hzi(t,"return"),!r){if(e==="throw")throw i;return i}r=dzi(r,t)}catch(s){o=!0,r=s}if(e==="throw")throw i;if(o)throw r;return yAe(r),i},Azi=Sj,fzi=Zn,gzi=_s,mzi=vC,vzi=XFi,yzi=Ij,wAe=fC,wzi=uzi,bzi=vAe,bAe=pzi,Mzi=TypeError,QC=function(t,e){this.stopped=t,this.result=e},MAe=QC.prototype,CAe=function(t,e,i){var r=i&&i.that,o=!!(i&&i.AS_ENTRIES),s=!!(i&&i.IS_RECORD),n=!!(i&&i.IS_ITERATOR),a=!!(i&&i.INTERRUPTED),l=Azi(e,r),c,u,d,h,p,f,A,g=function(y){return c&&bAe(c,"normal",y),new QC(!0,y)},m=function(y){return o?(gzi(y),a?l(y[0],y[1],g):l(y[0],y[1])):a?l(y,g):l(y)};if(s)c=t.iterator;else if(n)c=t;else{if(u=bzi(t),!u)throw new Mzi(mzi(t)+" is not iterable");if(vzi(u)){for(d=0,h=yzi(t);h>d;d++)if(p=m(t[d]),p&&wAe(MAe,p))return p;return new QC(!1)}c=wzi(t,u)}for(f=s?t.next:c.next;!(A=fzi(f,c)).done;){try{p=m(A.value)}catch(y){bAe(c,"throw",y)}if(typeof p=="object"&&p&&wAe(MAe,p))return p}return new QC(!1)},Czi=On,xAe=Czi("iterator"),kAe=!1;try{var xzi=0,IAe={next:function(){return{done:!!xzi++}},return:function(){kAe=!0}};IAe[xAe]=function(){return this},Array.from(IAe,function(){throw 2})}catch{}var kzi=function(t,e){try{if(!e&&!kAe)return!1}catch{return!1}var i=!1;try{var r={};r[xAe]=function(){return{next:function(){return{done:i=!0}}}},t(r)}catch{}return i},Izi=OC,Dzi=kzi,Pzi=m8.CONSTRUCTOR,DAe=Pzi||!Dzi(function(t){Izi.all(t).then(void 0,function(){})}),Ezi=Qs,Tzi=Zn,Szi=xd,Lzi=f2,Bzi=qj,Nzi=CAe,jzi=DAe;Ezi({target:"Promise",stat:!0,forced:jzi},{all:function(t){var e=this,i=Lzi.f(e),r=i.resolve,o=i.reject,s=Bzi(function(){var n=Szi(e.resolve),a=[],l=0,c=1;Nzi(t,function(u){var d=l++,h=!1;c++,Tzi(n,e,u).then(function(p){h||(h=!0,a[d]=p,--c||r(a))},o)}),--c||r(a)});return s.error&&o(s.value),i.promise}});var Rzi=Qs,Ozi=m8.CONSTRUCTOR,iR=OC,Fzi=af,zzi=Go,Uzi=lf,PAe=iR&&iR.prototype;if(Rzi({target:"Promise",proto:!0,forced:Ozi,real:!0},{catch:function(t){return this.then(void 0,t)}}),zzi(iR)){var EAe=Fzi("Promise").prototype.catch;PAe.catch!==EAe&&Uzi(PAe,"catch",EAe,{unsafe:!0})}var Vzi=Qs,Hzi=Zn,_zi=xd,Qzi=f2,qzi=qj,Gzi=CAe,Kzi=DAe;Vzi({target:"Promise",stat:!0,forced:Kzi},{race:function(t){var e=this,i=Qzi.f(e),r=i.reject,o=qzi(function(){var s=_zi(e.resolve);Gzi(t,function(n){Hzi(s,e,n).then(i.resolve,r)})});return o.error&&r(o.value),i.promise}});var Yzi=Qs,Zzi=f2,Jzi=m8.CONSTRUCTOR;Yzi({target:"Promise",stat:!0,forced:Jzi},{reject:function(t){var e=Zzi.f(this),i=e.reject;return i(t),e.promise}});var Wzi=_s,Xzi=wc,$zi=f2,eUi=function(t,e){if(Wzi(t),Xzi(e)&&e.constructor===t)return e;var i=$zi.f(t),r=i.resolve;return r(e),i.promise},tUi=Qs,iUi=af,rUi=m8.CONSTRUCTOR,oUi=eUi;iUi("Promise"),tUi({target:"Promise",stat:!0,forced:rUi},{resolve:function(t){return oUi(this,t)}});function TAe(t,e,i,r,o,s,n){try{var a=t[s](n),l=a.value}catch(c){return void i(c)}a.done?e(l):Promise.resolve(l).then(r,o)}function Id(t){return function(){var e=this,i=arguments;return new Promise(function(r,o){var s=t.apply(e,i);function n(l){TAe(s,r,o,n,a,"next",l)}function a(l){TAe(s,r,o,n,a,"throw",l)}n(void 0)})}}var nUi=Ej,sUi=String,gu=function(t){if(nUi(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return sUi(t)},aUi=_s,SAe=function(){var t=aUi(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e},rR=Qo,lUi=_o,oR=lUi.RegExp,nR=rR(function(){var t=oR("a","y");return t.lastIndex=2,t.exec("abcd")!==null}),cUi=nR||rR(function(){return!oR("a","y").sticky}),uUi=nR||rR(function(){var t=oR("^r","gy");return t.lastIndex=2,t.exec("str")!==null}),LAe={BROKEN_CARET:uUi,MISSED_STICKY:cUi,UNSUPPORTED_Y:nR},BAe={},dUi=d1e,hUi=Pj,pUi=Object.keys||function(t){return dUi(t,hUi)},AUi=vc,fUi=Jpe,gUi=kd,mUi=_s,vUi=l8,yUi=pUi;BAe.f=AUi&&!fUi?Object.defineProperties:function(t,e){mUi(t);for(var i=vUi(e),r=yUi(e),o=r.length,s=0,n;o>s;)gUi.f(t,n=r[s++],i[n]);return t};var wUi=_s,bUi=BAe,NAe=Pj,MUi=wj,CUi=S1e,xUi=wC,kUi=yj,jAe=">",RAe="<",sR="prototype",aR="script",OAe=kUi("IE_PROTO"),lR=function(){},FAe=function(t){return RAe+aR+jAe+t+RAe+"/"+aR+jAe},zAe=function(t){t.write(FAe("")),t.close();var e=t.parentWindow.Object;return t=null,e},IUi=function(){var t=xUi("iframe"),e="java"+aR+":",i;return t.style.display="none",CUi.appendChild(t),t.src=String(e),i=t.contentWindow.document,i.open(),i.write(FAe("document.F=Object")),i.close(),i.F},qC,GC=function(){try{qC=new ActiveXObject("htmlfile")}catch{}GC=typeof document<"u"?document.domain&&qC?zAe(qC):IUi():zAe(qC);for(var t=NAe.length;t--;)delete GC[sR][NAe[t]];return GC()};MUi[OAe]=!0;var cR=Object.create||function(t,e){var i;return t!==null?(lR[sR]=wUi(t),i=new lR,lR[sR]=null,i[OAe]=t):i=GC(),e===void 0?i:bUi.f(i,e)},DUi=Qo,PUi=_o,EUi=PUi.RegExp,TUi=DUi(function(){var t=EUi(".","s");return!(t.dotAll&&t.test(`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bimdata/viewer",
3
3
  "type": "module",
4
- "version": "2.4.0-beta.11",
4
+ "version": "2.4.0-beta.12",
5
5
  "description": "A customizable BIM viewer.",
6
6
  "keywords": [
7
7
  "bim",
@@ -60,15 +60,15 @@
60
60
  "@eslint/js": "^9.7.0",
61
61
  "@rollup/plugin-alias": "5.1.0",
62
62
  "@rollup/plugin-babel": "^6.0.4",
63
- "@rollup/plugin-commonjs": "^25.0.8",
63
+ "@rollup/plugin-commonjs": "^26.0.1",
64
64
  "@rollup/plugin-image": "^3.0.3",
65
65
  "@rollup/plugin-replace": "^5.0.7",
66
66
  "@semantic-release/changelog": "^6.0.3",
67
- "@semantic-release/commit-analyzer": "^12.0.0",
67
+ "@semantic-release/commit-analyzer": "^13.0.0",
68
68
  "@semantic-release/git": "^10.0.1",
69
69
  "@semantic-release/github": "^10.1.1",
70
70
  "@semantic-release/npm": "^12.0.1",
71
- "@semantic-release/release-notes-generator": "^13.0.0",
71
+ "@semantic-release/release-notes-generator": "^14.0.1",
72
72
  "@vitejs/plugin-vue": "4.6.2",
73
73
  "@vue/vue3-jest": "^29.2.6",
74
74
  "@xeokit/xeokit-sdk": "git+https://git@github.com/Amoki/xeokit-sdk.git#27e95db2e157215e870f7125bd28b258dee699a9",
@@ -77,12 +77,12 @@
77
77
  "autoprefixer": "^10.4.19",
78
78
  "babel-core": "^7.0.0-bridge.0",
79
79
  "babel-jest": "^29.7.0",
80
- "conventional-changelog-eslint": "^5.0.0",
80
+ "conventional-changelog-eslint": "^6.0.0",
81
81
  "cypress": "^13.13.1",
82
82
  "esbuild": "^0.23.0",
83
83
  "eslint": "9.7.0",
84
84
  "eslint-config-prettier": "9.1.0",
85
- "eslint-plugin-cypress": "2.15.2",
85
+ "eslint-plugin-cypress": "3.3.0",
86
86
  "eslint-plugin-jest": "28.6.0",
87
87
  "eslint-plugin-prettier": "5.2.1",
88
88
  "eslint-plugin-vue": "9.27.0",
@@ -100,8 +100,8 @@
100
100
  "prettier": "^3.3.3",
101
101
  "querystring": "^0.2.0",
102
102
  "sass": "^1.77.8",
103
- "semantic-release": "^23.1.1",
104
- "sinon": "^17.0.1",
103
+ "semantic-release": "^24.0.0",
104
+ "sinon": "^18.0.0",
105
105
  "start-server-and-test": "^2.0.4",
106
106
  "vite": "4.5.3",
107
107
  "vite-plugin-css-injected-by-js": "^3.5.1",