@runeya/runeya 1.0.7 → 1.0.14
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.
- package/LICENSE.md +29 -0
- package/README.md +75 -0
- package/node-red-contrib-runeya.tar +0 -0
- package/package.json +1 -11
- package/public/assets/App-Bzzr3d8D.js +101 -0
- package/public/assets/App-ClT0daRA.css +1 -0
- package/public/assets/CurrentEditor-BgkRP7cS.js +1 -0
- package/public/assets/Editor-BC23IeB6.css +1 -0
- package/public/assets/Editor-BqvrNzb6.js +37826 -0
- package/public/assets/ImportCreate-B-lRmpLH.js +1 -0
- package/public/assets/Init-D3C4n99F.js +1 -0
- package/public/assets/LeftLogo-E7dYCAWT.js +1 -0
- package/public/assets/Markdown-CqAPHaPe.css +1 -0
- package/public/assets/Markdown-dzyZ7CTg.js +109 -0
- package/public/assets/Overview-YtPSCN3k.js +1 -0
- package/public/assets/{Section-eAe-gcF2.css → Section-Dz0BsVYl.css} +1 -1
- package/public/assets/{Section-8ldEsJSi.js → Section-YBL4Pzic.js} +1 -1
- package/public/assets/{Settings-Bsf3R9hf.css → Settings-BBbk67zT.css} +1 -1
- package/public/assets/Settings-DJaMzLUX.js +495 -0
- package/public/assets/StackChooser-BnNrvv4Y.js +1 -0
- package/public/assets/StackChooser-DAAV0Rat.js +1 -0
- package/public/assets/StackMultiple-D0ozn0Tf.js +30 -0
- package/public/assets/StackSingle-CHHH2rXO.js +1 -0
- package/public/assets/StackSingle-DBZX9nN_.css +1 -0
- package/public/assets/Tabs-D9ZNelJj.js +1 -0
- package/public/assets/Tabs-fu2myJd9.css +1 -0
- package/public/assets/{cssMode-CUrSSrg6.js → cssMode-BEnNoAFz.js} +1 -1
- package/public/assets/{freemarker2-dec3WQLB.js → freemarker2-z8zA5ezm.js} +1 -1
- package/public/assets/{handlebars-Da_reGXs.js → handlebars-DTrkysaX.js} +1 -1
- package/public/assets/{html-DiMqDoaf.js → html-BiGIRkmo.js} +1 -1
- package/public/assets/{htmlMode-wRbKtV-5.js → htmlMode-CGj06Oa8.js} +1 -1
- package/public/assets/index-CqmUSPWF.css +5 -0
- package/public/assets/index-G1ob8hK0.js +264 -0
- package/public/assets/{javascript-ByCKYcx1.js → javascript-DEAY-G4N.js} +1 -1
- package/public/assets/{jsonMode-BQtLraFt.js → jsonMode-CLJTah_r.js} +1 -1
- package/public/assets/{liquid-Ig1gPJ1q.js → liquid-Bt_q9jyv.js} +1 -1
- package/public/assets/{mdx-CYaZVbeY.js → mdx-BtbMy52t.js} +1 -1
- package/public/assets/{python-H9Bd9rT3.js → python-DIVYbK-C.js} +1 -1
- package/public/assets/{razor-Hy2I2roR.js → razor-ztrk2wBu.js} +1 -1
- package/public/assets/router-B2S_D5pC.js +4232 -0
- package/public/assets/router-imsD-DjM.css +32 -0
- package/public/assets/system-DYhoWbZ1.js +1 -0
- package/public/assets/{tsMode-C0bgKAt8.js → tsMode-Fc-Kxr3a.js} +1 -1
- package/public/assets/{typescript-B77iTojx.js → typescript-CHa_3xkF.js} +1 -1
- package/public/assets/{xml-uQhiANeS.js → xml-B2WXRoPu.js} +1 -1
- package/public/assets/{yaml-2OwCXstu.js → yaml-6vYkUkh3.js} +1 -1
- package/public/index.html +1 -1
- package/runeya.vsix +0 -0
- package/www.js +596 -2517
- package/www.js.map +1 -1
- package/public/assets/App-BE-jCGXm.css +0 -5
- package/public/assets/App-Bu4vGxO4.js +0 -94
- package/public/assets/CurrentEditor-yQstAvnQ.js +0 -1
- package/public/assets/Editor-BK8NbiL6.css +0 -1
- package/public/assets/Editor-DjNB5m3y.js +0 -721
- package/public/assets/ImportCreate-BkVY0Snd.js +0 -1
- package/public/assets/Init-PS5FZlf7.js +0 -1
- package/public/assets/LeftLogo-EmzH7l46.js +0 -1
- package/public/assets/Markdown-CpEumaO9.js +0 -103
- package/public/assets/Markdown-pSjwyqay.css +0 -1
- package/public/assets/Overview-BhYJL4nA.js +0 -1
- package/public/assets/Settings-bKLH4HnT.js +0 -188
- package/public/assets/StackChooser-CmoqSd4m.js +0 -1
- package/public/assets/StackChooser-D5EY2Av8.js +0 -1
- package/public/assets/StackMultiple-o8pd1Nmf.js +0 -1
- package/public/assets/StackSingle-BzrRRE-y.js +0 -1
- package/public/assets/StackSingle-DWbIQbAl.css +0 -1
- package/public/assets/Tabs-CZAdcV0_.css +0 -1
- package/public/assets/Tabs-Cpjfv5wC.js +0 -1
- package/public/assets/axios-BZk75tkI.js +0 -6
- package/public/assets/css.worker-7uusSYJx.js +0 -84
- package/public/assets/editor.worker-C6wdibMX.js +0 -11
- package/public/assets/fa-brands-400-C99Yv4gD.woff2 +0 -0
- package/public/assets/fa-brands-400-DtZKBM2a.ttf +0 -0
- package/public/assets/fa-regular-400-BMFokQJ2.ttf +0 -0
- package/public/assets/fa-regular-400-OOsPf1xj.woff2 +0 -0
- package/public/assets/fa-solid-900-DAI24fNt.woff2 +0 -0
- package/public/assets/fa-solid-900-DM0teJdg.ttf +0 -0
- package/public/assets/fa-v4compatibility-F0dlVTLQ.ttf +0 -0
- package/public/assets/fa-v4compatibility-aR9vOKaP.woff2 +0 -0
- package/public/assets/html.worker-BGQnBRGr.js +0 -458
- package/public/assets/index-DUMOL4cy.css +0 -1
- package/public/assets/index-aZm7xMRp.js +0 -233
- package/public/assets/json.worker-Be5ebZoT.js +0 -42
- package/public/assets/router-DdnNyrCa.css +0 -32
- package/public/assets/router-ZJYrvDkp.js +0 -4962
- package/public/assets/system-DC3M5FtK.js +0 -1
- package/public/assets/ts.worker-Dap_1Gm7.js +0 -37021
- package/public/assets/vue.runtime.esm-bundler-VmRDinbK.js +0 -9
package/LICENSE.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) [année] [ton nom ou nom de ton organisation]
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the “Software”), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
Commons Clause Restriction:
|
|
24
|
+
|
|
25
|
+
The Software is provided under the above license, except that the licensee may
|
|
26
|
+
not sell the Software, nor may the licensee use the Software as part of a
|
|
27
|
+
commercial offering, including without limitation a hosted service, SaaS
|
|
28
|
+
(Software-as-a-Service), or cloud-based service, without the express
|
|
29
|
+
permission of the copyright holder.
|
package/README.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# 🚀 Runeya
|
|
2
|
+
|
|
3
|
+
Runeya is an all-in-one development tool that simplifies microservice management and provides a complete suite of developer utilities.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## ✨ Features
|
|
7
|
+
|
|
8
|
+
- 🖥️ **Service Management** - Launch, stop, and monitor multiple services simultaneously
|
|
9
|
+
- 🔐 **Environment Variables** - Manage environment variables by environment, share configs securely with your team
|
|
10
|
+
- 🔄 **Git Integration** - Complete git operations (stash, pull, branches)
|
|
11
|
+
- 📦 **NPM Tools** - Run scripts, manage your dependencies
|
|
12
|
+
- 🔍 **Log Explorer** - Analyze logs in real-time with JSON parsing
|
|
13
|
+
- 🧰 **Toolbox** - JSON formatter, Regex tester, JWT explorer, UUID generator...
|
|
14
|
+
- 📊 **System Monitoring** - CPU/Memory monitoring for your services
|
|
15
|
+
- 📝 **Documentation** - Integrated Markdown documentation
|
|
16
|
+
- 🔄 **Workflows** - Create your own automated pipelines
|
|
17
|
+
|
|
18
|
+
## 🚀 Quick Start
|
|
19
|
+
|
|
20
|
+
### Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# NPM
|
|
24
|
+
npm install -D @runeya/runeya
|
|
25
|
+
|
|
26
|
+
# Yarn
|
|
27
|
+
yarn add -D @runeya/runeya
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Launch
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# In your package.json
|
|
34
|
+
"scripts": {
|
|
35
|
+
"serve": "runeya ./src/stack.js"
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
# Or directly
|
|
39
|
+
runeya <config-directory>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 🌍 Environment Management
|
|
43
|
+
|
|
44
|
+
Runeya provides a powerful environment variable management system:
|
|
45
|
+
|
|
46
|
+
- **Environment-specific variables** - Configure different values for development, staging, production
|
|
47
|
+
- **Global variables** - Share common configurations across all environments
|
|
48
|
+
- **Team sharing** - Securely share configurations with your team members
|
|
49
|
+
- **Zero configuration** - New developers can clone your projects and start immediately without manual setup
|
|
50
|
+
|
|
51
|
+
This feature helps teams work seamlessly with consistent configurations across all environments, reducing the "works on my machine" problem.
|
|
52
|
+
|
|
53
|
+
## 🏗️ Architecture
|
|
54
|
+
|
|
55
|
+
Runeya uses a modular architecture built with:
|
|
56
|
+
- Vue.js frontend
|
|
57
|
+
- Express backend
|
|
58
|
+
- Extensible plugin system
|
|
59
|
+
|
|
60
|
+
## 🤝 Contributing
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Clone the repository
|
|
64
|
+
git clone https://github.com/runeya/runeya.git
|
|
65
|
+
|
|
66
|
+
# Install dependencies
|
|
67
|
+
yarn install
|
|
68
|
+
|
|
69
|
+
# Launch in development mode
|
|
70
|
+
yarn serve
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
📚 [Complete Documentation](https://docs.runeya.dev) | 👤 [Runeya](mailto:contact@runeya.dev)
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@runeya/runeya",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"description": "Monitor processes as a stack",
|
|
5
5
|
"git": "https://github.com/runeya/runeya",
|
|
6
6
|
"repository": "https://github.com/runeya/runeya",
|
|
@@ -59,16 +59,6 @@
|
|
|
59
59
|
"http-proxy": "^1.18.1",
|
|
60
60
|
"json-tree-view-vue3": "^1.0.2",
|
|
61
61
|
"fix-esm": "^1.0.1",
|
|
62
|
-
"ajv": "^8.12.0",
|
|
63
|
-
"js-yaml": "^4.1.0",
|
|
64
|
-
"xml-js": "^1.6.11",
|
|
65
|
-
"jsonwebtoken": "^9.0.2",
|
|
66
|
-
"mongodb": "^6.3.0",
|
|
67
|
-
"prettier": "^3.1.0",
|
|
68
|
-
"gpt-3-encoder": "^1.1.4",
|
|
69
|
-
"openai": "^4.26.1",
|
|
70
|
-
"node-sql-parser": "^4.12.0",
|
|
71
|
-
"sql-formatter": "^12.0.0",
|
|
72
62
|
"workspace-tools": "^0.36.4",
|
|
73
63
|
"compressing": "^1.10.1",
|
|
74
64
|
"node-red": "^4.0.8"
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import{u as se,s as pe,a as K,b as je,S as $,n as T,c as Xe,P as et,M as Ve,R as tt,d as nt,T as me,e as ot,f as it,g as Se,p as st,h as lt,i as rt,j as at}from"./router-B2S_D5pC.js";import re from"./system-DYhoWbZ1.js";import{_ as H}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as Y,a as g,o as p,b as f,d as J,t as M,n as F,r as E,w as ke,e as S,f as x,g as j,h as he,T as ut,i as ge,j as te,S as O,k as ae,l as L,m as qe,v as ct,p as De,F as P,q,s as R,u as Q,x as dt,y as ft,B as vt,z as pt,$ as X,A as fe,C as Ie,D as ee,E as _e,G as mt,H as ye,I as Z,J as ht,K as Ke,L as D,M as gt,N as yt,O as bt}from"./index-G1ob8hK0.js";import{P as Fe}from"./Section-YBL4Pzic.js";import{s as kt,a as Ne}from"./Markdown-dzyZ7CTg.js";import"./Editor-BqvrNzb6.js";const wt={key:0,class:"fas fa-exclamation"},Ct={key:1,class:"fas fa-heartbeat success"},St={key:2,class:"fas fa-times warning"},It={key:3,class:"fas fa-square"},_t={__name:"sidebarItem",props:{service:{default:null}},setup(t){const e=se(),n=t,o=Y(()=>{var d;const v=e.currentRoute.value.fullPath.split("?")[0].split("/").filter(c=>c).pop();return(d=n.service)!=null&&d.label?encodeURIComponent(n.service.label)===v:!1});function i(a){localStorage.setItem("last-service-visisted",a.label||""),e.push({name:"stack-single",params:{label:a.label}})}return(a,v)=>(p(),g("div",{onClick:v[0]||(v[0]=d=>i(t.service)),class:F(["sidebar-item",{active:o.value,disabled:!t.service.enabled,crashed:t.service.crashed}])},[f("span",null,[t.service.crashed?(p(),g("i",wt)):t.service.enabled&&!t.service.exited?(p(),g("i",Ct)):t.service.exited?(p(),g("i",St)):(p(),g("i",It)),J(" "+M(t.service.label),1)]),v[1]||(v[1]=f("i",{class:"fas fa-chevron-right hover","aria-hidden":"true"},null,-1))],2))}},Et=H(_t,[["__scopeId","data-v-30b21d4f"]]),xt={class:"title"},Vt={__name:"sidebarGroup",props:{header:{default:""},open:{default:!1}},emits:["open","close"],setup(t,{emit:e}){const n=t,o=e,i=E(n.open),a=E();ke(()=>n.open,async()=>{i.value=n.open,await ge(),a.value&&(a.value.style.maxHeight=`${a.value.scrollHeight}px`)});function v(){i.value=!i.value,i.value?o("open"):o("close")}return(d,c)=>(p(),g("div",{class:F({open:i.value})},[f("div",{class:"header",onClick:v},[c[0]||(c[0]=f("i",{class:"fas fa-chevron-right"},null,-1)),f("h3",xt,M(t.header),1)]),S(ut,{name:"fade-sidebar"},{default:x(()=>[i.value?(p(),g("div",{key:0,class:"slot-container",ref_key:"slotRef",ref:a},[he(d.$slots,"default",{},void 0,!0)],512)):j("",!0)]),_:3})],2))}},Tt=H(Vt,[["__scopeId","data-v-e715e98d"]]),At={components:{sidebarItem:Et,sidebarGroup:Tt,Dialog:je,Button:K,InputText:pe},props:{currentService:{default:null},isMinimized:{default:!1}},setup(){const t=se(),e=E(""),n=E("All"),o=E(!1);te(async()=>{await $.loadServices(),O.on("service:crash",async({label:d,code:c,signal:u})=>{T.next("error",`${d} has crashed with code ${c}`),await $.loadServices()}),O.on("service:exit",async({label:d,code:c,signal:u})=>{await $.loadServices()}),O.on("service:healthcheck:down",async({label:d,code:c,signal:u})=>{const h=await $.getService(d);h!=null&&h.crashed||await $.loadServices()}),O.on("service:healthcheck:up",async({label:d,code:c,signal:u})=>{const h=await $.getService(d);h!=null&&h.crashed&&await $.loadServices()})});const i=Y(()=>Xe($.services.value.filter(d=>(d.label||"").toUpperCase().includes(e.value.toUpperCase()))).desc(d=>d.enabled)),a=Y(()=>{const d=i.value.reduce((c,u)=>{var h;return(h=u.groups)!=null&&h.length&&u.groups.forEach(b=>{c[b]||(c[b]=[]),c[b].push(u)}),c},{});return Object.keys(d).map(c=>({label:c,services:d[c]})).sort((c,u)=>c.label.localeCompare(u.label))}),v=E("");return{groups:a,openGroup:n,search:e,sortedStack:i,System:re,serviceLabelToAdd:v,addServiceModalVisible:o,addServiceError:Y(()=>$.services.value.find(d=>d.label===v.value)?"A service already exists with this label":""),addService(){$.services.value.find(d=>d.label===v.value)||ae.post("/stack/services",{label:v.value}).then(()=>{const d=v.value;o.value=!1,setTimeout(()=>{t.push({name:"stack-single",params:{label:d},query:{tab:"Configuration"}})},100),v.value=""})},launchService(d){const c=i.value[0];d.ctrlKey&&c&&(c==null||c.restart(),localStorage.setItem("last-service-visisted",c.label||""),t.push({name:"stack-single",params:{label:c.label}}))},openAddServiceModal(){o.value=!0},cancelAddService(){o.value=!1,v.value=""}}}},Ot={class:"sidebar-root"},jt={class:"sidebar"},Lt={class:"add-container"},$t={key:0},Mt={class:"header"},Pt={class:"services-container"},Dt={class:"minimized-container"},Nt={class:"p-fluid"},zt={class:"p-field"},Rt={key:0,class:"p-error"};function Bt(t,e,n,o,i,a){const v=L("Button"),d=L("sidebar-item"),c=L("sidebar-group"),u=L("InputText"),h=L("Dialog");return p(),g("div",Ot,[f("div",jt,[f("div",Lt,[S(v,{class:"add-button",fluid:"",outlined:"",icon:"fas fa-plus",label:"Add service",onClick:o.openAddServiceModal},null,8,["onClick"]),o.addServiceError?(p(),g("label",$t,M(o.addServiceError),1)):j("",!0)]),f("div",Mt,[qe(f("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=b=>o.search=b),onInput:e[1]||(e[1]=b=>o.openGroup="All"),class:"search-input",placeholder:"Search service...",onKeypress:e[2]||(e[2]=De((...b)=>o.launchService&&o.launchService(...b),["enter"]))},null,544),[[ct,o.search]])]),f("div",Pt,[S(c,{header:"All",open:o.openGroup==="All",onOpen:e[3]||(e[3]=b=>o.openGroup="All")},{default:x(()=>[(p(!0),g(P,null,q(o.sortedStack,b=>(p(),R(d,{key:b.label,service:b},null,8,["service"]))),128))]),_:1},8,["open"]),(p(!0),g(P,null,q(o.groups,b=>(p(),R(c,{header:b.label,open:o.openGroup===b.label,onOpen:_=>o.openGroup=b.label,onClose:e[4]||(e[4]=_=>o.openGroup="All")},{default:x(()=>[(p(!0),g(P,null,q(b.services,_=>(p(),R(d,{key:_.label,service:_},null,8,["service"]))),128))]),_:2},1032,["header","open","onOpen"]))),256))]),f("div",Dt,[n.isMinimized?j("",!0):(p(),R(v,{key:0,icon:"fas fa-chevron-left",outlined:"",onClick:e[5]||(e[5]=b=>t.$emit("toggle-minimized"))}))])]),S(h,{visible:o.addServiceModalVisible,"onUpdate:visible":e[7]||(e[7]=b=>o.addServiceModalVisible=b),modal:"",header:"Add new service",style:{width:"350px"}},{footer:x(()=>[S(v,{label:"Cancel",icon:"fas fa-times",onClick:o.cancelAddService,class:"p-button-text"},null,8,["onClick"]),S(v,{label:"Add",icon:"fas fa-plus",onClick:o.addService,disabled:!!o.addServiceError||!o.serviceLabelToAdd},null,8,["onClick","disabled"])]),default:x(()=>[f("div",Nt,[f("div",zt,[S(u,{modelValue:o.serviceLabelToAdd,"onUpdate:modelValue":e[6]||(e[6]=b=>o.serviceLabelToAdd=b),placeholder:"Service name",onKeypress:De(o.addService,["enter"]),autofocus:"",fluid:""},null,8,["modelValue","onKeypress"]),o.addServiceError?(p(),g("small",Rt,M(o.addServiceError),1)):j("",!0)])])]),_:1},8,["visible"])])}const Ut=H(At,[["render",Bt],["__scopeId","data-v-367d8d42"]]);function Jt(t={}){let e;if(t.repoUrl)e=t.repoUrl;else if(t.user&&t.repo)e=`https://github.com/${t.user}/${t.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");const n=new URL(`${e}/issues/new`),o=["body","title","labels","template","milestone","assignee","projects","type"];for(const i of o){let a=t[i];if(a!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(a))throw new TypeError(`The \`${i}\` option should be an array`);a=a.join(",")}n.searchParams.set(i,a)}}return n.toString()}const qt=Jt({user:"runeya",repo:"runeya",body:`
|
|
2
|
+
## Issue
|
|
3
|
+
|
|
4
|
+
### Plateform
|
|
5
|
+
\`\`\`<Windows10, Archlinux, MacOS...>\`\`\`
|
|
6
|
+
|
|
7
|
+
### Configuration file
|
|
8
|
+
\`\`\` javascript
|
|
9
|
+
<upload your configuration file but without sensitive infos>
|
|
10
|
+
\`\`\`
|
|
11
|
+
|
|
12
|
+
### Description
|
|
13
|
+
\\<Which part of this application bug...>
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Reproduction
|
|
17
|
+
\\<Step to bug...>
|
|
18
|
+
|
|
19
|
+
`}),Kt={key:0},Ft={key:1},Gt={class:"messages"},Wt={key:0,class:"badge"},Ht={key:2,class:"badge"},Qt={__name:"Notification",props:{width:{default:"420px"},notif:{default:null},nolimit:{default:!1}},setup(t){return(e,n)=>{var o,i,a,v,d,c,u;return t.notif?(p(),g("div",{key:0,class:F([t.notif.type,"notif"]),style:Q({maxWidth:t.width})},[t.notif.hover?t.notif.serviceLabel?(p(),g("h2",Ft,n[0]||(n[0]=[f("i",{class:"fas fa-chevron-right"},null,-1)]))):j("",!0):(p(),g(P,{key:0},[t.notif.serviceLabel?(p(),g("h2",Kt,M(t.notif.serviceLabel),1)):j("",!0)],64)),f("div",Gt,[(p(!0),g(P,null,q((o=t.notif)==null?void 0:o.msgs,h=>{var b,_;return p(),g("div",{class:F(["message",{glow:((_=(b=t.notif)==null?void 0:b.msgs)==null?void 0:_.length)>1,oneline:!t.nolimit}]),key:h.label},[J(M(h.label)+" ",1),t.notif.msgs.length>1&&(h==null?void 0:h.nb)>1?(p(),g("div",Wt,M(h==null?void 0:h.nb),1)):j("",!0)],2)}),128))]),((a=(i=t.notif)==null?void 0:i.msgs)==null?void 0:a.length)===1&&((d=(v=t.notif)==null?void 0:v.msgs[0])==null?void 0:d.nb)>1?(p(),g("div",Ht,M((u=(c=t.notif)==null?void 0:c.msgs[0])==null?void 0:u.nb),1)):j("",!0)],6)):j("",!0)}}},Ge=H(Qt,[["__scopeId","data-v-e8fbbfbc"]]),Yt={components:{Notification:Ge},setup(){const t=(e,n)=>T.remove(e,n);return{notifs:T.notifs,remove:t,trash(){et.map(T.notifs.value||[],async e=>{await new Promise(n=>setTimeout(n,50)),T.notifs.value.map(n=>t(n,!1))})}}}},Zt={class:"notifications-container"};function Xt(t,e,n,o,i,a){var d;const v=L("notification");return p(),g("div",Zt,[(d=o.notifs)!=null&&d.length?(p(),g("div",{key:0,class:"trash",onClick:e[0]||(e[0]=(...c)=>o.trash&&o.trash(...c))},e[1]||(e[1]=[f("i",{class:"fas fa-trash"},null,-1)]))):j("",!0),S(dt,{tag:"div",class:"root-notification",name:"slide"},{default:x(()=>[(p(!0),g(P,null,q(o.notifs,c=>(p(),R(v,{key:c.id,notif:c,onClick:u=>o.remove(c,!0),onMouseenter:u=>c.hover=!0,onMouseleave:u=>c.hover=!1},null,8,["notif","onClick","onMouseenter","onMouseleave"]))),128))]),_:1})])}const en=H(Yt,[["render",Xt],["__scopeId","data-v-5b545583"]]);O.on("alert",t=>{T.next(t.type||"error",t.message,t.label,null,t.commandId)});const tn={components:{Modal:Ve,Notification:Ge},setup(){const t=E(null);return te(()=>{T.openHistory.subscribe(()=>{var n;(n=t.value)==null||n.open()})}),{notifs:E(T.notifsHistory.value),remove(n){T.removeHistory(n,!0)},modal:t}}},nn={class:"notif-history-root"},on={class:"notifications"};function sn(t,e,n,o,i,a){const v=L("notification"),d=L("modal");return p(),g("div",nn,[S(d,{position:"right",ref:"modal",width:"600px",noActions:!0},{header:x(()=>e[0]||(e[0]=[J(" Notifications ")])),body:x(()=>[f("div",on,[(p(!0),g(P,null,q(o.notifs,c=>(p(),R(v,{key:c.id,width:"100%",notif:c,onClick:u=>o.remove(c),nolimit:!0},null,8,["notif","onClick"]))),128))])]),_:1},512)])}const ln=H(tn,[["render",sn],["__scopeId","data-v-5c55cf64"]]),rn=["title"],an=["alt","src"],un={__name:"SidebarViewModeItem",props:{button:{default:null}},setup(t){const e=se(),n=t,o=Y(()=>e.currentRoute.value.fullPath.includes(n.button.active));return(i,a)=>(p(),R(Fe,{appendTo:"parent",trigger:"mouseenter",placement:"right"},{trigger:x(()=>[f("button",{onClick:a[0]||(a[0]=v=>t.button.click()),class:F([{active:o.value},"sidebar-item"]),title:t.button.text},[t.button.icon?(p(),g("i",{key:0,class:F({[t.button.icon]:!0}),"aria-hidden":"true"},null,2)):t.button.img?(p(),g("img",{key:1,alt:`Icon for ${t.button.text}`,src:t.button.img},null,8,an)):j("",!0)],10,rn)]),content:x(()=>[J(M(t.button.text),1)]),_:1}))}},cn=H(un,[["__scopeId","data-v-e115a663"]]),dn={name:"doughtnut-chart",props:{value:{default:0},rayon:{default:150},strokeWidth:{default:25},strokeWidthBg:{default:10},strokeColorBg:{default:"#b8d3ca"},strokeColor:{default:"#5e9985"},padding:{default:50},title:{default:""},adjustTop:{default:0},adjustLeft:{default:0},adjustTitleTop:{default:0},adjustTitleLeft:{default:0},adjustSubtitleTop:{default:0},adjustSubtitleLeft:{default:0},adjustContainer:{default:0},subtitle:{default:""},width:{default:"auto"},textAlign:{default:"left"},noSubtitle:{default:!1},fontSize:{default:30},titleSuffix:{default:""},color:{default:"#606060"},placeholder:{default:""}},data(){return{anim:1}},mounted(){this.animation()},methods:{animation(){this.anim=this.anim?1:2}}},fn=["title"],vn=["width","height"],pn=["stroke","stroke-width","cx","cy","r"],mn=["stroke","stroke-width","cx","cy","r","stroke-dasharray","stroke-dashoffset"],hn=["y","fill","font-size"],gn=["x","y","fill","font-size"],yn=["x","y","fill"];function bn(t,e,n,o,i,a){return n.value!==null?(p(),g("div",{key:0,style:Q({width:n.width,textAlign:n.textAlign,marginLeft:n.adjustLeft,marginTop:n.adjustTop}),class:"root",title:n.placeholder},[f("section",null,[(p(),g("svg",{width:n.rayon*2+n.strokeWidth+n.padding+n.adjustContainer,height:n.rayon*2+n.strokeWidth+n.padding+n.adjustContainer,xmlns:"http://www.w3.org/2000/svg"},[f("circle",{stroke:n.strokeColorBg,"stroke-width":n.strokeWidthBg,fill:"none",cx:n.rayon+n.strokeWidth/2+n.padding/2+n.adjustContainer/2,cy:n.rayon+n.strokeWidth/2+n.padding/2+n.adjustContainer/2,r:n.rayon},null,8,pn),f("circle",{class:"circle",stroke:n.strokeColor,"stroke-width":n.strokeWidth,fill:"none",cx:n.rayon+n.strokeWidth/2+n.padding/2+n.adjustContainer/2,cy:n.rayon+n.strokeWidth/2+n.padding/2+n.adjustContainer/2,r:n.rayon,"stroke-dasharray":2*3.14*n.rayon,"stroke-dashoffset":2*3.14*n.rayon*(1-n.value/100)},null,8,mn),n.noSubtitle?j("",!0):(p(),g("g",{key:0,class:F("info info-anim-"+i.anim)},[f("text",{class:"text",x:"50%",y:n.rayon+13+n.padding/2+n.adjustSubtitleTop,width:"70",textAlign:"center","dominant-baseline":"central","alignment-baseline":"central","text-anchor":"middle",fill:n.strokeColorBg,"font-weight":"bold","font-size":n.fontSize},M(n.value.toFixed(0))+"% ",9,hn)],2)),f("text",{class:"additionnalText",x:n.rayon+n.padding-10+n.adjustTitleLeft+n.adjustContainer/2,y:n.rayon+n.padding-25+n.adjustTitleTop+n.adjustContainer/2,width:"60","dominant-baseline":"central","alignment-baseline":"central","text-anchor":"middle",fill:n.color,"font-size":n.fontSize},M(n.title)+" "+M(n.titleSuffix),9,gn),f("text",{class:"additionnalSubText",x:n.rayon+n.padding-10+n.adjustTitleLeft,y:n.rayon+10+n.padding+n.adjustTitleTop,width:"60","dominant-baseline":"central","alignment-baseline":"central","text-anchor":"middle",fill:n.color,"font-size":"15"},M(n.subtitle),9,yn)],8,vn))])],12,fn)):j("",!0)}const kn=H(dn,[["render",bn],["__scopeId","data-v-6a6c8b71"]]);var wn=ft`
|
|
20
|
+
.p-speeddial {
|
|
21
|
+
position: static;
|
|
22
|
+
display: flex;
|
|
23
|
+
gap: dt('speeddial.gap');
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.p-speeddial-button {
|
|
27
|
+
z-index: 1;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.p-speeddial-button.p-speeddial-rotate {
|
|
31
|
+
transition:
|
|
32
|
+
transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
|
|
33
|
+
background dt('speeddial.transition.duration'),
|
|
34
|
+
color dt('speeddial.transition.duration'),
|
|
35
|
+
border-color dt('speeddial.transition.duration'),
|
|
36
|
+
box-shadow dt('speeddial.transition.duration'),
|
|
37
|
+
outline-color dt('speeddial.transition.duration');
|
|
38
|
+
will-change: transform;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.p-speeddial-list {
|
|
42
|
+
margin: 0;
|
|
43
|
+
padding: 0;
|
|
44
|
+
list-style: none;
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: center;
|
|
47
|
+
justify-content: center;
|
|
48
|
+
transition: inset-block-start 0s linear dt('speeddial.transition.duration');
|
|
49
|
+
pointer-events: none;
|
|
50
|
+
outline: 0 none;
|
|
51
|
+
z-index: 2;
|
|
52
|
+
gap: dt('speeddial.gap');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.p-speeddial-item {
|
|
56
|
+
transform: scale(0);
|
|
57
|
+
opacity: 0;
|
|
58
|
+
transition:
|
|
59
|
+
transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
|
|
60
|
+
opacity 0.8s;
|
|
61
|
+
will-change: transform;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.p-speeddial-circle .p-speeddial-item,
|
|
65
|
+
.p-speeddial-semi-circle .p-speeddial-item,
|
|
66
|
+
.p-speeddial-quarter-circle .p-speeddial-item {
|
|
67
|
+
position: absolute;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.p-speeddial-mask {
|
|
71
|
+
position: absolute;
|
|
72
|
+
inset-inline-start: 0;
|
|
73
|
+
inset-block-start: 0;
|
|
74
|
+
width: 100%;
|
|
75
|
+
height: 100%;
|
|
76
|
+
opacity: 0;
|
|
77
|
+
background: dt('mask.background');
|
|
78
|
+
border-radius: 6px;
|
|
79
|
+
transition: opacity 150ms;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.p-speeddial-mask-visible {
|
|
83
|
+
pointer-events: none;
|
|
84
|
+
opacity: 1;
|
|
85
|
+
transition: opacity 150ms;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.p-speeddial-open .p-speeddial-list {
|
|
89
|
+
pointer-events: auto;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.p-speeddial-open .p-speeddial-item {
|
|
93
|
+
transform: scale(1);
|
|
94
|
+
opacity: 1;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.p-speeddial-open .p-speeddial-rotate {
|
|
98
|
+
transform: rotate(45deg);
|
|
99
|
+
}
|
|
100
|
+
`;function ue(t){"@babel/helpers - typeof";return ue=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},ue(t)}function Ee(t,e,n){return(e=Cn(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Cn(t){var e=Sn(t,"string");return ue(e)=="symbol"?e:e+""}function Sn(t,e){if(ue(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(ue(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}var In={root:function(e){var n=e.props;return{alignItems:(n.direction==="up"||n.direction==="down")&&"center",justifyContent:(n.direction==="left"||n.direction==="right")&&"center",flexDirection:n.direction==="up"?"column-reverse":n.direction==="down"?"column":n.direction==="left"?"row-reverse":n.direction==="right"?"row":null}},list:function(e){var n=e.props;return{flexDirection:n.direction==="up"?"column-reverse":n.direction==="down"?"column":n.direction==="left"?"row-reverse":n.direction==="right"?"row":null}}},_n={root:function(e){var n=e.instance,o=e.props;return["p-speeddial p-component p-speeddial-".concat(o.type),Ee(Ee(Ee({},"p-speeddial-direction-".concat(o.direction),o.type!=="circle"),"p-speeddial-open",n.d_visible),"p-disabled",o.disabled)]},pcButton:function(e){var n=e.props;return["p-speeddial-button",{"p-speeddial-rotate":n.rotateAnimation&&!n.hideIcon}]},list:"p-speeddial-list",item:"p-speeddial-item",action:"p-speeddial-action",actionIcon:"p-speeddial-action-icon",mask:function(e){var n=e.instance;return["p-speeddial-mask",{"p-speeddial-mask-visible":n.d_visible}]}},En=vt.extend({name:"speeddial",style:wn,classes:_n,inlineStyles:In}),xn={name:"BaseSpeedDial",extends:kt,props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:void 0},hideIcon:{type:String,default:void 0},rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null,buttonProps:{type:Object,default:function(){return{rounded:!0}}},actionButtonProps:{type:Object,default:function(){return{severity:"secondary",rounded:!0,size:"small"}}},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:En,provide:function(){return{$pcSpeedDial:this,$parentInstance:this}}};function ce(t){"@babel/helpers - typeof";return ce=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},ce(t)}function ze(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,o)}return n}function Vn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?ze(Object(n),!0).forEach(function(o){Tn(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ze(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}function Tn(t,e,n){return(e=An(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function An(t){var e=On(t,"string");return ce(e)=="symbol"?e:e+""}function On(t,e){if(ce(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(ce(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function ve(t){return Mn(t)||$n(t)||Ln(t)||jn()}function jn(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
101
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ln(t,e){if(t){if(typeof t=="string")return Te(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Te(t,e):void 0}}function $n(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Mn(t){if(Array.isArray(t))return Te(t)}function Te(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}var xe=3.14159265358979,We={name:"SpeedDial",extends:xn,inheritAttrs:!1,emits:["click","show","hide","focus","blur"],documentClickListener:null,container:null,list:null,data:function(){return{d_visible:this.visible,isItemClicked:!1,focused:!1,focusedOptionIndex:-1}},watch:{visible:function(e){this.d_visible=e}},mounted:function(){if(this.type!=="linear"){var e=ee(this.container,'[data-pc-name="pcbutton"]'),n=ee(this.list,'[data-pc-section="item"]');if(e&&n){var o=Math.abs(e.offsetWidth-n.offsetWidth),i=Math.abs(e.offsetHeight-n.offsetHeight);this.list.style.setProperty(X("item.diff.x").name,"".concat(o/2,"px")),this.list.style.setProperty(X("item.diff.y").name,"".concat(i/2,"px"))}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeUnmount:function(){this.unbindDocumentClickListener()},methods:{getPTOptions:function(e,n){return this.ptm(n,{context:{active:this.isItemActive(e),hidden:!this.d_visible}})},onFocus:function(e){this.$emit("focus",e)},onBlur:function(e){this.focusedOptionIndex=-1,this.$emit("blur",e)},onItemClick:function(e,n){n.command&&n.command({originalEvent:e,item:n}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick:function(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show:function(){this.d_visible=!0,this.$emit("show")},hide:function(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay:function(e){var n=this.model.length,o=this.d_visible;return(o?e:n-e-1)*this.transitionDelay},onTogglerKeydown:function(e){switch(e.code){case"ArrowDown":case"ArrowLeft":this.onTogglerArrowDown(e);break;case"ArrowUp":case"ArrowRight":this.onTogglerArrowUp(e);break;case"Escape":this.onEscapeKey();break}},onKeyDown:function(e){switch(e.code){case"ArrowDown":this.onArrowDown(e);break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowLeft":this.onArrowLeft(e);break;case"ArrowRight":this.onArrowRight(e);break;case"Enter":case"NumpadEnter":case"Space":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break}},onTogglerArrowUp:function(e){this.show(),this.navigatePrevItem(e),e.preventDefault()},onTogglerArrowDown:function(e){this.show(),this.navigateNextItem(e),e.preventDefault()},onEnterKey:function(e){var n=this,o=fe(this.container,'[data-pc-section="item"]'),i=ve(o).findIndex(function(v){return v.id===n.focusedOptionIndex}),a=ee(this.container,"button");this.onItemClick(e,this.model[i]),this.onBlur(e),a&&_e(a)},onEscapeKey:function(){this.hide();var e=ee(this.container,"button");e&&_e(e)},onArrowUp:function(e){this.direction==="down"?this.navigatePrevItem(e):this.navigateNextItem(e)},onArrowDown:function(e){this.direction==="down"?this.navigateNextItem(e):this.navigatePrevItem(e)},onArrowLeft:function(e){var n=["left","up-right","down-left"],o=["right","up-left","down-right"];n.includes(this.direction)?this.navigateNextItem(e):o.includes(this.direction)?this.navigatePrevItem(e):this.navigatePrevItem(e)},onArrowRight:function(e){var n=["left","up-right","down-left"],o=["right","up-left","down-right"];n.includes(this.direction)?this.navigatePrevItem(e):o.includes(this.direction)?this.navigateNextItem(e):this.navigateNextItem(e)},onEndKey:function(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigatePrevItem(e)},onHomeKey:function(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigateNextItem(e)},navigateNextItem:function(e){var n=this.findNextOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(n),e.preventDefault()},navigatePrevItem:function(e){var n=this.findPrevOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(n),e.preventDefault()},changeFocusedOptionIndex:function(e){var n=fe(this.container,'[data-pc-section="item"]'),o=ve(n).filter(function(a){return!Ie(ee(a,"a"),"p-disabled")});if(o[e]){this.focusedOptionIndex=o[e].getAttribute("id");var i=ee(o[e],'[type="button"]');i&&_e(i)}},findPrevOptionIndex:function(e){var n=fe(this.container,'[data-pc-section="item"]'),o=ve(n).filter(function(v){return!Ie(ee(v,"a"),"p-disabled")}),i=e===-1?o[o.length-1].id:e,a=o.findIndex(function(v){return v.getAttribute("id")===i});return a=e===-1?o.length-1:a-1,a},findNextOptionIndex:function(e){var n=fe(this.container,'[data-pc-section="item"]'),o=ve(n).filter(function(v){return!Ie(ee(v,"a"),"p-disabled")}),i=e===-1?o[0].id:e,a=o.findIndex(function(v){return v.getAttribute("id")===i});return a=e===-1?0:a+1,a},calculatePointStyle:function(e){var n=this.type;if(n!=="linear"){var o=this.model.length,i=this.radius||o*20;if(n==="circle"){var a=2*xe/o;return{left:"calc(".concat(i*Math.cos(a*e),"px + ").concat(X("item.diff.x").variable,")"),top:"calc(".concat(i*Math.sin(a*e),"px + ").concat(X("item.diff.y").variable,")")}}else if(n==="semi-circle"){var v=this.direction,d=xe/(o-1),c="calc(".concat(i*Math.cos(d*e),"px + ").concat(X("item.diff.x").variable,")"),u="calc(".concat(i*Math.sin(d*e),"px + ").concat(X("item.diff.y").variable,")");if(v==="up")return{left:c,bottom:u};if(v==="down")return{left:c,top:u};if(v==="left")return{right:u,top:c};if(v==="right")return{left:u,top:c}}else if(n==="quarter-circle"){var h=this.direction,b=xe/(2*(o-1)),_="calc(".concat(i*Math.cos(b*e),"px + ").concat(X("item.diff.x").variable,")"),A="calc(".concat(i*Math.sin(b*e),"px + ").concat(X("item.diff.y").variable,")");if(h==="up-left")return{right:_,bottom:A};if(h==="up-right")return{left:_,bottom:A};if(h==="down-left")return{right:A,top:_};if(h==="down-right")return{left:A,top:_}}}return{}},getItemStyle:function(e){var n=this.calculateTransitionDelay(e),o=this.calculatePointStyle(e);return Vn({transitionDelay:"".concat(n,"ms")},o)},bindDocumentClickListener:function(){var e=this;this.documentClickListener||(this.documentClickListener=function(n){e.d_visible&&e.isOutsideClicked(n)&&e.hide(),e.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener:function(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked:function(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},isItemVisible:function(e){return typeof e.visible=="function"?e.visible():e.visible!==!1},isItemActive:function(e){return e===this.focusedOptionId},containerRef:function(e){this.container=e},listRef:function(e){this.list=e}},computed:{containerClass:function(){return[this.cx("root"),this.class]},focusedOptionId:function(){return this.focusedOptionIndex!==-1?this.focusedOptionIndex:null}},components:{Button:K,PlusIcon:nt},directives:{ripple:tt,tooltip:pt}},Pn=["id"],Dn=["id","data-p-active"];function Nn(t,e,n,o,i,a){var v=L("Button"),d=mt("tooltip");return p(),g(P,null,[f("div",Z({ref:a.containerRef,class:a.containerClass,style:[t.style,t.sx("root")]},t.ptmi("root")),[he(t.$slots,"button",{visible:i.d_visible,toggleCallback:a.onClick},function(){return[S(v,Z({class:[t.cx("pcButton"),t.buttonClass],disabled:t.disabled,"aria-expanded":i.d_visible,"aria-haspopup":!0,"aria-controls":t.$id+"_list","aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,unstyled:t.unstyled,onClick:e[0]||(e[0]=function(c){return a.onClick(c)}),onKeydown:a.onTogglerKeydown},t.buttonProps,{pt:t.ptm("pcButton")}),{icon:x(function(c){return[he(t.$slots,"icon",{visible:i.d_visible},function(){return[i.d_visible&&t.hideIcon?(p(),R(ye(t.hideIcon?"span":"PlusIcon"),Z({key:0,class:[t.hideIcon,c.class]},t.ptm("pcButton").icon,{"data-pc-section":"icon"}),null,16,["class"])):(p(),R(ye(t.showIcon?"span":"PlusIcon"),Z({key:1,class:[i.d_visible&&t.hideIcon?t.hideIcon:t.showIcon,c.class]},t.ptm("pcButton").icon,{"data-pc-section":"icon"}),null,16,["class"]))]})]}),_:3},16,["class","disabled","aria-expanded","aria-controls","aria-label","aria-labelledby","unstyled","onKeydown","pt"])]}),f("ul",Z({ref:a.listRef,id:t.$id+"_list",class:t.cx("list"),style:t.sx("list"),role:"menu",tabindex:"-1",onFocus:e[1]||(e[1]=function(){return a.onFocus&&a.onFocus.apply(a,arguments)}),onBlur:e[2]||(e[2]=function(){return a.onBlur&&a.onBlur.apply(a,arguments)}),onKeydown:e[3]||(e[3]=function(){return a.onKeyDown&&a.onKeyDown.apply(a,arguments)})},t.ptm("list")),[(p(!0),g(P,null,q(t.model,function(c,u){return p(),g(P,{key:u},[a.isItemVisible(c)?(p(),g("li",Z({key:0,id:"".concat(t.$id,"_").concat(u),class:t.cx("item",{id:"".concat(t.$id,"_").concat(u)}),style:a.getItemStyle(u),role:"none","data-p-active":a.isItemActive("".concat(t.$id,"_").concat(u)),ref_for:!0},a.getPTOptions("".concat(t.$id,"_").concat(u),"item")),[t.$slots.item?(p(),R(ye(t.$slots.item),{key:1,item:c,onClick:function(b){return a.onItemClick(b,c)},toggleCallback:function(b){return a.onItemClick(b,c)}},null,8,["item","onClick","toggleCallback"])):qe((p(),R(v,Z({key:0,tabindex:-1,role:"menuitem",class:t.cx("pcAction",{item:c}),"aria-label":c.label,disabled:t.disabled,unstyled:t.unstyled,onClick:function(b){return a.onItemClick(b,c)},ref_for:!0},t.actionButtonProps,{pt:a.getPTOptions("".concat(t.$id,"_").concat(u),"pcAction")}),ht({_:2},[c.icon?{name:"icon",fn:x(function(h){return[he(t.$slots,"itemicon",{item:c,class:F(h.class)},function(){return[f("span",Z({class:[c.icon,h.class],ref_for:!0},a.getPTOptions("".concat(t.$id,"_").concat(u),"actionIcon")),null,16)]})]}),key:"0"}:void 0]),1040,["class","aria-label","disabled","unstyled","onClick","pt"])),[[d,{value:c.label,disabled:!t.tooltipOptions},t.tooltipOptions]])],16,Dn)):j("",!0)],64)}),128))],16,Pn)],16),t.mask?(p(),g("div",Z({key:0,class:[t.cx("mask"),t.maskClass],style:t.maskStyle},t.ptm("mask")),null,16)):j("",!0)],64)}We.render=Nn;const zn={components:{SidebarViewModeItem:cn,DoughtnutChart:kn,Popover:Fe,SpeedDial:We,Button:K},setup(){const t=se(),e=E([]),n=E([]),o=E(0),i=E(0);te(async()=>{await $.loadServices();const{data:d}=await ae.get("/plugins/sidebar"),{data:c}=await ae.get("/plugins/sidebar-top");e.value=(d==null?void 0:d.flat())||[],n.value=(c==null?void 0:c.flat())||[],O.on("infos:global",u=>{const{memPercentage:h,cpu:b}=u;o.value=b,i.value=h})});function a(d){return d.placements.map(c=>{if(typeof c!="string")return{text:c.label,icon:c.icon,img:re.proxyImg(c.img),click:c.goTo?()=>t.push(c.goTo||"/"):()=>{},active:c.active}})}function v(d){return d.map(a).flat().filter(c=>c)}return{speedDialVisible:E(!0),Theme:me,groups:Y(()=>{const d=Object.keys(me.themes.value).reduce((u,h)=>{const b=me.themes.value[h];if(b.id=h,!b.public||!b.preview)return u;const _=b.group||"Unknown";return u[_]||(u[_]={group:"unknown",themes:[]}),u[_].group=_,u[_].themes.push(b),u},{});return Object.keys(d).map(u=>({group:u,themes:d[u].themes})).sort((u,h)=>u.group.localeCompare(h.group))}),buttons:Y(()=>[{text:"Overview",active:"overview",icon:"fas fa-home",click:()=>t.push({name:"overview"})},{text:"Single View",active:"single",icon:"fas fa-columns",click:()=>{var c;const d=$.services.value.find(u=>u.label===localStorage.getItem("last-service-visisted"));d?t.push({name:"stack-single",params:{label:d.label}}):$.services.value[0]?t.push({name:"stack-single",params:{label:(c=$.services.value[0])==null?void 0:c.label}}):t.push({name:"stack-single-no-view"})}},{text:"Multiple view",active:"multiple",icon:"fas fa-th",click:()=>t.push({name:"stack-multiple"})},...v(n.value)]),buttonsPlugins:Y(()=>[...v(e.value),...globalThis.sidebarPlugins.value.map(d=>({...d,active:`/dynamic/${encodeURIComponent(d.id)}`,click:()=>{t.push({path:`/dynamic/${encodeURIComponent(d.id)}`})}}))]),buttonsBottom:Y(()=>[{text:"Settings",active:"settings",icon:"fas fa-cog",click:()=>t.push({name:"settings-no-view"})},{text:"Disconnect",icon:"fas fa-unlink",click:()=>re.disconnect()}]),cpu:o,mem:i,System:re}}},Rn={class:"sidebar"},Bn={key:0},Un={key:1},Jn={style:{position:"relative"}},qn={class:"button-container"},Kn=["onClick","title"],Fn=["alt"],Gn={class:"groups"},Wn={class:"group"},Hn={class:"themes"},Qn=["onClick"];function Yn(t,e,n,o,i,a){const v=L("sidebar-view-mode-item"),d=L("Popover"),c=L("doughtnut-chart");return p(),g("div",Rn,[o.buttons.length?(p(),g("ul",Bn,[(p(!0),g(P,null,q(o.buttons,u=>(p(),R(v,{key:u.label,button:u},null,8,["button"]))),128))])):j("",!0),o.buttonsBottom.length?(p(),g("ul",Un,[f("div",Jn,[(p(!0),g(P,null,q(o.buttonsPlugins,u=>(p(),g("div",{key:u==null?void 0:u.text},[S(d,{appendTo:"parent",trigger:"mouseenter",placement:"right"},{trigger:x(()=>[f("div",qn,[f("button",{onClick:h=>u==null?void 0:u.click(),class:F([{active:t.$router.currentRoute.value.fullPath.includes((u==null?void 0:u.active)||""),"button-speed-dial":!0},"sidebar-item"]),title:u==null?void 0:u.text},[u!=null&&u.icon?(p(),g("i",{key:0,class:F({[u==null?void 0:u.icon]:!0}),"aria-hidden":"true"},null,2)):u!=null&&u.img?(p(),g("div",{key:1,alt:`Icon for ${u==null?void 0:u.text}`,class:"masked-icon",style:Q({WebkitMaskImage:`url(${u==null?void 0:u.img})`,maskImage:`url(${u==null?void 0:u.img})`})},null,12,Fn)):j("",!0)],10,Kn)])]),content:x(()=>[J(M(u==null?void 0:u.text),1)]),_:2},1024)]))),128))]),S(d,{appendTo:"parent",trigger:"mouseenter",placement:"right"},{trigger:x(()=>[S(c,{placeholder:"CPU",width:"10px",rayon:17,fontSize:"11",value:o.cpu*100,strokeWidth:3,strokeWidthBg:5,adjustSubtitleLeft:-2,adjustTitleTop:-5,adjustSubtitleTop:-11,padding:14,strokeColor:"var(--system-primary600-lightest)",strokeColorBg:"var(--system-primary400)"},null,8,["value"])]),content:x(()=>e[0]||(e[0]=[J(" CPU ")])),_:1}),S(d,{appendTo:"parent",trigger:"mouseenter",placement:"right"},{trigger:x(()=>[S(c,{placeholder:"RAM",width:"10px",rayon:17,value:o.mem,fontSize:"11",strokeWidth:3,strokeWidthBg:5,adjustSubtitleTop:-11,adjustSubtitleLeft:-2,adjustTitleTop:-5,padding:14,strokeColor:"var(--system-tertiary400)",strokeColorBg:"var(--system-tertiary600)"},null,8,["value"])]),content:x(()=>e[1]||(e[1]=[J(" RAM ")])),_:1}),S(d,{appendTo:"parent",trigger:"mouseenter",placement:"left-start",showOnCreate:!1},{trigger:x(()=>[S(v,{key:"Themes",button:{text:"",icon:"fas fa-sun",click:()=>{var u,h;console.log(o.Theme),(h=(u=o.Theme)==null?void 0:u.toggle)==null||h.call(u)}}},null,8,["button"])]),content:x(()=>[f("div",Gn,[(p(!0),g(P,null,q(o.groups,u=>(p(),g("div",Wn,[J(M(u.group)+" ",1),f("div",Hn,[(p(!0),g(P,null,q(u.themes,h=>(p(),g("div",{class:"theme",onClick:b=>o.Theme.apply(h.id),key:h.id},[(p(),g("div",{class:"view",key:h.id},[f("div",{class:"viewwindows",style:Q({...h.preview.background||{},border:`4px solid ${h.preview.background.backgroundColor}`})},[f("div",{class:"rad",style:Q(h.preview.foreground4||h.preview.foreground1)},null,4),f("div",{class:"rad",style:Q(h.preview.foreground3||h.preview.foreground1)},null,4),f("div",{class:"rad",style:Q(h.preview.foreground2||h.preview.foreground1)},null,4),f("div",{class:"rad",style:Q(h.preview.foreground1)},null,4)],4)]))],8,Qn))),128))])]))),256))])]),_:1}),(p(!0),g(P,null,q(o.buttonsBottom,u=>(p(),R(v,{key:u.label,button:u},null,8,["button"]))),128))])):j("",!0)])}const Zn=H(zn,[["render",Yn],["__scopeId","data-v-40a73239"]]),Xn={class:"reload-modal"},eo={__name:"EnvironmentsChooser",setup(t){const e=se(),n=E(null),o=E([]),i=E(!1),a=E(null),v=E(null),d=E({label:"",color:"",bgColor:""});te(c);async function c(){n.value=await $.getEnvironment(),o.value=await $.getEnvironments()}te(()=>{O.on("reloadEnvironments",c)}),Ke(()=>{O.off("reloadEnvironments",c)});async function u(){var w,k;await((w=v.value)==null?void 0:w.open().promise)&&(k=d.value)!=null&&k.label&&(await $.createEnvironment(d.value),d.value={label:"",color:"",bgColor:""})}function h(){var A;return(A=$.services.value)==null?void 0:A.filter(w=>w.enabled).reduce((w,k)=>{var z,U;const V=Object.keys(((z=k==null?void 0:k.spawnOptions)==null?void 0:z.overrideEnvs)||{});return Object.keys(((U=k==null?void 0:k.spawnOptions)==null?void 0:U.env)||{}).some(G=>V.includes(G))&&w.push(k),w},[])}async function b({value:A}){const w=h();w!=null&&w.length&&a.value&&!await a.value.open(w).promise||(i.value=!0,await $.changeEnvironment(A).then(()=>{window.location.reload()}).catch(k=>{console.error(k),T.next("error","Problem has occured")}).finally(()=>{i.value=!1}))}function _(){e.push({name:"settings",params:{setting:"environments"}})}return(A,w)=>(p(),g(P,null,[n.value?(p(),g("div",{key:0,class:"banner",style:Q({backgroundColor:n.value.bgColor||"transparent",color:n.value.color||"transparent"})},[f("div",null,[w[3]||(w[3]=J(" Current environment ")),S(D(ot),{class:"select",size:"small",defaultValue:n.value.label,value:n.value.label,onChange:b,options:o.value.filter(k=>k),optionLabel:"label",optionValue:"label",placeholder:"Select an environment"},{footer:x(()=>[S(D(K),{label:"Add New",fluid:"",severity:"secondary",text:"",size:"small",icon:"fas fa-plus",onClick:u}),S(D(K),{label:"Edit",fluid:"",severity:"secondary",text:"",size:"small",icon:"fas fa-edit",onClick:_})]),_:1},8,["defaultValue","value","options"])])],4)):j("",!0),i.value?(p(),R(gt,{key:1,to:"body"},[f("div",Xn,[S(it),w[4]||(w[4]=J(" Change environments... "))])])):j("",!0),S(Ve,{ref_key:"overrideModalRef",ref:a,cancelString:"Cancel",validateString:"Ok"},{header:x(({data:k})=>w[5]||(w[5]=[J(" Change environment ")])),body:x(({data:k})=>[w[6]||(w[6]=J(" Because .env in services root folder is the main truth. Some environments may not be taken into account. ")),f("ul",null,[(p(!0),g(P,null,q(k,V=>(p(),g("li",{key:V.id},[J(M(V.label)+" ",1),f("ul",null,[(p(!0),g(P,null,q(V.spawnOptions.overrideEnvs,(N,z)=>(p(),g("li",null,M(z)+": "+M(N),1))),256))])]))),128))])]),_:1},512),S(Ve,{ref_key:"createEnvironmentModalRef",ref:v,cancelString:"Cancel",validateString:"Ok"},{header:x(()=>w[7]||(w[7]=[J(" Create environment ")])),body:x(()=>[S(D(Se),null,{default:x(()=>[S(D(pe),{id:"environment-to-create-label",size:"small",modelValue:d.value.label,"onUpdate:modelValue":w[0]||(w[0]=k=>d.value.label=k),fluid:""},null,8,["modelValue"]),w[8]||(w[8]=f("label",{for:"environment-to-create-label"},"Label",-1))]),_:1,__:[8]}),S(D(Se),null,{default:x(()=>[S(D(pe),{id:"environment-to-create-bgColor",size:"small",modelValue:d.value.bgColor,"onUpdate:modelValue":w[1]||(w[1]=k=>d.value.bgColor=k),fluid:""},null,8,["modelValue"]),w[9]||(w[9]=f("label",{for:"environment-to-create-bgColor"},"Background color",-1))]),_:1,__:[9]}),S(D(Se),null,{default:x(()=>[S(D(pe),{id:"environment-to-create-color",size:"small",modelValue:d.value.color,"onUpdate:modelValue":w[2]||(w[2]=k=>d.value.color=k),fluid:""},null,8,["modelValue"]),w[10]||(w[10]=f("label",{for:"environment-to-create-color"},"Color",-1))]),_:1,__:[10]})]),_:1},512)],64))}},to=H(eo,[["__scopeId","data-v-42a01f9f"]]);function ne(){}ne.prototype={diff:function(e,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=o.callback;typeof o=="function"&&(i=o,o={}),this.options=o;var a=this;function v(k){return i?(setTimeout(function(){i(void 0,k)},0),!0):k}e=this.castInput(e),n=this.castInput(n),e=this.removeEmpty(this.tokenize(e)),n=this.removeEmpty(this.tokenize(n));var d=n.length,c=e.length,u=1,h=d+c,b=[{newPos:-1,components:[]}],_=this.extractCommon(b[0],n,e,0);if(b[0].newPos+1>=d&&_+1>=c)return v([{value:this.join(n),count:n.length}]);function A(){for(var k=-1*u;k<=u;k+=2){var V=void 0,N=b[k-1],z=b[k+1],U=(z?z.newPos:0)-k;N&&(b[k-1]=void 0);var G=N&&N.newPos+1<d,le=z&&0<=U&&U<c;if(!G&&!le){b[k]=void 0;continue}if(!G||le&&N.newPos<z.newPos?(V=oo(z),a.pushComponent(V.components,void 0,!0)):(V=N,V.newPos++,a.pushComponent(V.components,!0,void 0)),U=a.extractCommon(V,n,e,k),V.newPos+1>=d&&U+1>=c)return v(no(a,V.components,n,e,a.useLongestToken));b[k]=V}u++}if(i)(function k(){setTimeout(function(){if(u>h)return i();A()||k()},0)})();else for(;u<=h;){var w=A();if(w)return w}},pushComponent:function(e,n,o){var i=e[e.length-1];i&&i.added===n&&i.removed===o?e[e.length-1]={count:i.count+1,added:n,removed:o}:e.push({count:1,added:n,removed:o})},extractCommon:function(e,n,o,i){for(var a=n.length,v=o.length,d=e.newPos,c=d-i,u=0;d+1<a&&c+1<v&&this.equals(n[d+1],o[c+1]);)d++,c++,u++;return u&&e.components.push({count:u}),e.newPos=d,c},equals:function(e,n){return this.options.comparator?this.options.comparator(e,n):e===n||this.options.ignoreCase&&e.toLowerCase()===n.toLowerCase()},removeEmpty:function(e){for(var n=[],o=0;o<e.length;o++)e[o]&&n.push(e[o]);return n},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};function no(t,e,n,o,i){for(var a=0,v=e.length,d=0,c=0;a<v;a++){var u=e[a];if(u.removed){if(u.value=t.join(o.slice(c,c+u.count)),c+=u.count,a&&e[a-1].added){var b=e[a-1];e[a-1]=e[a],e[a]=b}}else{if(!u.added&&i){var h=n.slice(d,d+u.count);h=h.map(function(A,w){var k=o[c+w];return k.length>A.length?k:A}),u.value=t.join(h)}else u.value=t.join(n.slice(d,d+u.count));d+=u.count,u.added||(c+=u.count)}}var _=e[v-1];return v>1&&typeof _.value=="string"&&(_.added||_.removed)&&t.equals("",_.value)&&(e[v-2].value+=_.value,e.pop()),e}function oo(t){return{newPos:t.newPos,components:t.components.slice(0)}}function io(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}var Re=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,Be=/\S/,Le=new ne;Le.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!Be.test(t)&&!Be.test(e)};Le.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),n=0;n<e.length-1;n++)!e[n+1]&&e[n+2]&&Re.test(e[n])&&Re.test(e[n+2])&&(e[n]+=e[n+2],e.splice(n+1,2),n--);return e};function Ue(t,e,n){return n=io(n,{ignoreWhitespace:!0}),Le.diff(t,e,n)}var He=new ne;He.tokenize=function(t){var e=[],n=t.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var o=0;o<n.length;o++){var i=n[o];o%2&&!this.options.newlineIsToken?e[e.length-1]+=i:(this.options.ignoreWhitespace&&(i=i.trim()),e.push(i))}return e};var so=new ne;so.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};var lo=new ne;lo.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function be(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?be=function(e){return typeof e}:be=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},be(t)}var ro=Object.prototype.toString,de=new ne;de.useLongestToken=!0;de.tokenize=He.tokenize;de.castInput=function(t){var e=this.options,n=e.undefinedReplacement,o=e.stringifyReplacer,i=o===void 0?function(a,v){return typeof v>"u"?n:v}:o;return typeof t=="string"?t:JSON.stringify(Ae(t,null,null,i),i," ")};de.equals=function(t,e){return ne.prototype.equals.call(de,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function Ae(t,e,n,o,i){e=e||[],n=n||[],o&&(t=o(i,t));var a;for(a=0;a<e.length;a+=1)if(e[a]===t)return n[a];var v;if(ro.call(t)==="[object Array]"){for(e.push(t),v=new Array(t.length),n.push(v),a=0;a<t.length;a+=1)v[a]=Ae(t[a],e,n,o,i);return e.pop(),n.pop(),v}if(t&&t.toJSON&&(t=t.toJSON()),be(t)==="object"&&t!==null){e.push(t),v={},n.push(v);var d=[],c;for(c in t)t.hasOwnProperty(c)&&d.push(c);for(d.sort(),a=0;a<d.length;a+=1)c=d[a],v[c]=Ae(t[c],e,n,o,c);e.pop(),n.pop()}else v=t;return v}var Oe=new ne;Oe.tokenize=function(t){return t.slice()};Oe.join=Oe.removeEmpty=function(t){return t};const ao={key:0,class:"conflict-container"},uo={class:"conflict-header"},co={key:0,class:"file-info"},fo={class:"version-actions"},vo={key:0,class:"json-conflicts"},po={class:"json-conflicts-list"},mo={class:"json-header"},ho={class:"json-path"},go={class:"manual-edit-actions"},yo={class:"conflict-section"},bo={class:"conflict-versions"},ko=["onClick","data-index"],wo={class:"json-content"},Co=["onClick","data-index"],So={class:"json-content"},Io={class:"manual-edit-container"},_o={key:1,class:"conflicts-container"},Eo={class:"conflict-columns"},xo={class:"conflict-column"},Vo={class:"interactive-conflict"},To=["innerHTML"],Ao={class:"conflict-column"},Oo={class:"manual-edit-container"},jo={key:1,class:"no-conflict-message"},Lo={class:"flex justify-content-end"},$o={class:"flex gap-2"},Mo={__name:"GitConflictModal",emits:["conflict-resolved"],setup(t,{expose:e,emit:n}){const o=E(!1),i=E(null),a=E([]);function v(l,s){const r=Ue(l,s),y=[];let m="",C=0;return r.forEach(I=>{if(I.added||I.removed){const B=`chunk-${C++}`;I.added?(y.push({id:B,ourVersion:"",theirVersion:I.value,selectedVersion:"ours"}),m+=`<span class="diff-chunk their-version not-selected" data-chunk-id="${B}">${I.value}</span>`):I.removed&&(y.push({id:B,ourVersion:I.value,theirVersion:"",selectedVersion:"ours"}),m+=`<span class="diff-chunk our-version selected" data-chunk-id="${B}">${I.value}</span>`)}else m+=`<span class="common-text">${I.value}</span>`}),[y,m]}function d(){i.value&&(i.value.isJson&&i.value.jsonConflicts?(i.value.jsonConflicts.forEach(l=>{l.selectedVersion="ours"}),V()):i.value.chunks&&(i.value.chunks.forEach(l=>{l.selectedVersion="ours";const s=document.querySelector(`.diff-chunk[data-chunk-id="${l.id}"]`);s&&(s.classList.contains("our-version")?(s.classList.add("selected"),s.classList.remove("not-selected")):(s.classList.remove("selected"),s.classList.add("not-selected")))}),h()))}function c(){i.value&&(i.value.isJson&&i.value.jsonConflicts?(i.value.jsonConflicts.forEach(l=>{l.selectedVersion="theirs"}),V()):i.value.chunks&&(i.value.chunks.forEach(l=>{l.selectedVersion="theirs";const s=document.querySelector(`.diff-chunk[data-chunk-id="${l.id}"]`);s&&(s.classList.contains("their-version")?(s.classList.add("selected"),s.classList.remove("not-selected")):(s.classList.remove("selected"),s.classList.add("not-selected")))}),h()))}function u(l){if(!i.value||!i.value.chunks)return;const s=i.value.chunks.find(y=>y.id===l);if(!s)return;s.selectedVersion=s.selectedVersion==="ours"?"theirs":"ours";const r=document.querySelector(`.diff-chunk[data-chunk-id="${l}"]`);r&&(r.classList.toggle("selected"),r.classList.toggle("not-selected"),r.classList.contains("our-version")?s.selectedVersion==="ours"?(r.classList.add("selected"),r.classList.remove("not-selected")):(r.classList.remove("selected"),r.classList.add("not-selected")):s.selectedVersion==="theirs"?(r.classList.add("selected"),r.classList.remove("not-selected")):(r.classList.remove("selected"),r.classList.add("not-selected"))),h()}function h(){if(!i.value||!i.value.chunks){console.warn("updateResolution appelée alors que currentConflict ou ses chunks sont null");return}try{let l="";const s=Ue(i.value.ourVersion,i.value.theirVersion),r=i.value.chunks;s.forEach(y=>{try{if(y.added){const m=r.find(C=>C.theirVersion===y.value&&C.ourVersion==="");m&&m.selectedVersion==="theirs"&&(l+=y.value)}else if(y.removed){const m=r.find(C=>C.ourVersion===y.value&&C.theirVersion==="");(!m||m.selectedVersion==="ours")&&(l+=y.value)}else l+=y.value}catch(m){console.error("Erreur lors du traitement d'une partie:",m)}}),i.value&&(i.value.resolution=l)}catch(l){console.error("Erreur lors de la mise à jour de la résolution:",l)}}function b(){if(!i.value){console.warn("setupChunkListeners appelé alors que currentConflict.value est null"),setTimeout(()=>{i.value&&b()},50);return}console.log("Mise en place des écouteurs d'événements sur les chunks");try{const l=()=>{const s=document.querySelectorAll(".json-value");console.log(`Found ${s.length} JSON value elements`),s.forEach(r=>{if(r instanceof HTMLElement){const y=r.getAttribute("data-version"),m=r.getAttribute("data-index");if(y&&m&&(y==="ours"||y==="theirs"))try{const C=parseInt(m,10);r.addEventListener("click",I=>{I.stopPropagation(),console.log(`Clic sur JSON value: index=${C}, version=${y}`),(y==="ours"||y==="theirs")&&k(C,y)}),r.style.cursor="pointer"}catch(C){console.error("Error parsing index:",C)}}})};ge(()=>{setTimeout(()=>{if(!i.value){console.warn("setupChunkListeners: currentConflict.value est devenu null pendant le délai");return}const s=document.querySelectorAll(".diff-chunk");if(console.log(`${s.length} chunks trouvés pour le conflit`),s.length===0){console.warn("Aucun chunk trouvé, tentative avec un délai plus long"),setTimeout(b,200);return}s.forEach(r=>{try{const y=r.getAttribute("data-chunk-id");if(y){r.replaceWith(r.cloneNode(!0));const m=document.querySelector(`.diff-chunk[data-chunk-id="${y}"]`);m&&(m.addEventListener("click",C=>{C.stopPropagation();try{console.log(`Clic sur le chunk ${y}`),u(y)}catch(I){console.error(`Erreur sur le clic du chunk ${y}:`,I)}}),m instanceof HTMLElement&&(m.style.cursor="pointer",m.style.userSelect="none"))}}catch(y){console.error("Erreur lors de la configuration d'un chunk:",y)}}),l(),console.log("Écouteurs d'événements ajoutés avec succès")},150)})}catch(l){console.error("Erreur générale dans setupChunkListeners:",l)}}function _(l,s){try{const r=JSON.parse(l),y=JSON.parse(s);return A(r,y)}catch{return[]}}function A(l,s,r=""){const y=[];for(const m in l){const C=r?`${r}.${m}`:m;if(!(m in s)){const I={path:C,ourValue:l[m],theirValue:void 0,selectedVersion:"ours",manualEdit:JSON.stringify(l[m],null,2)};y.push(I);continue}if(typeof l[m]=="object"&&l[m]!==null&&typeof s[m]=="object"&&s[m]!==null&&!Array.isArray(l[m])&&!Array.isArray(s[m])){y.push(...A(l[m],s[m],C));continue}if(JSON.stringify(l[m])!==JSON.stringify(s[m])){const I={path:C,ourValue:l[m],theirValue:s[m],selectedVersion:"ours",manualEdit:JSON.stringify(l[m],null,2)};y.push(I)}}for(const m in s)if(!(m in l)){const I={path:r?`${r}.${m}`:m,ourValue:void 0,theirValue:s[m],selectedVersion:"ours",manualEdit:"undefined"};y.push(I)}return y}function w(l){if(l===void 0)return"undefined";try{return JSON.stringify(l,null,2)}catch{return String(l)}}function k(l,s){if(console.log(`Tentative de sélection JSON : index=${l}, version=${s}`),!i.value||!i.value.jsonConflicts){console.error("selectJsonVersion: currentConflict ou jsonConflicts est null");return}const r=i.value.jsonConflicts[l];if(r){console.log(`Avant changement: selectedVersion=${r.selectedVersion}`),r.selectedVersion=s;const y=s==="ours"?r.ourValue:r.theirValue;r.manualEdit=w(y),console.log(`Après changement: selectedVersion=${r.selectedVersion}, manualEdit mis à jour`),V()}else console.error(`Aucun conflit JSON trouvé à l'index ${l}`)}function V(){if(!i.value||!i.value.jsonConflicts){console.warn("updateJsonResolution appelée alors que currentConflict ou ses jsonConflicts sont null");return}try{console.log("Mise à jour de la résolution JSON à partir des éditions manuelles");const l=JSON.parse(i.value.ourVersion),s=JSON.parse(JSON.stringify(l));if(i.value.jsonConflicts.forEach((r,y)=>{try{if(!r||!r.path){console.warn(`Conflit JSON invalide ou sans chemin à l'index ${y}`);return}const m=r.path.split(".");let C=s;for(let B=0;B<m.length-1;B++){const W=m[B];W in C||(C[W]={}),C=C[W]}const I=m[m.length-1];if(r.manualEdit&&r.manualEdit.trim()!==""&&r.manualEdit!=="undefined")try{console.log(`Utilisation de l'édition manuelle pour ${r.path}:`,r.manualEdit);const B=JSON.parse(r.manualEdit);C[I]=B,console.log(`Édition manuelle appliquée avec succès pour ${r.path}`)}catch(B){console.warn(`Échec du parsing de l'édition manuelle pour ${r.path}:`,B),console.log("Contenu de l'édition manuelle:",r.manualEdit),r.selectedVersion==="ours"?r.ourValue!==void 0?(console.log(`Fallback à notre version pour ${r.path}`),C[I]=r.ourValue):(console.log(`Suppression de ${r.path} car notre version est undefined`),delete C[I]):r.theirValue!==void 0?(console.log(`Fallback à leur version pour ${r.path}`),C[I]=r.theirValue):(console.log(`Suppression de ${r.path} car leur version est undefined`),delete C[I])}else console.log(`Pas d'édition manuelle pour ${r.path}, utilisation de la version ${r.selectedVersion}`),r.selectedVersion==="ours"?r.ourValue!==void 0?(C[I]=r.ourValue,console.log(`Utilisé notre version pour ${r.path}`)):(delete C[I],console.log(`Supprimé ${r.path} car notre version est undefined`)):r.theirValue!==void 0?(C[I]=r.theirValue,console.log(`Utilisé leur version pour ${r.path}`)):(delete C[I],console.log(`Supprimé ${r.path} car leur version est undefined`))}catch(m){console.error(`Erreur lors du traitement du conflit JSON à l'index ${y}:`,m)}}),i.value){const r=JSON.stringify(s,null,2);i.value.resolution=r,console.log("Résolution JSON finale mise à jour:",r.substring(0,100)+"...")}}catch(l){console.error("Erreur lors de la mise à jour de la résolution JSON:",l)}}Y(()=>{if(!i.value||!i.value.resolution)return{};try{return JSON.parse(i.value.resolution)}catch{return{}}});async function N(l){if(!l)return!1;try{if(console.log("Affichage du conflit:",{id:l.id,filename:l.filename,hasOriginal:!!l.original,originalLength:l.original?l.original.length:0,hasOurVersion:!!l.ourVersion,hasTheirVersion:!!l.theirVersion}),!l.original)return console.error(`Impossible d'afficher le conflit: champ "original" manquant`),T.next("error","Impossible d'afficher ce conflit: données originales manquantes"),!1;const s=_(l.ourVersion,l.theirVersion),r=s.length>0,[y,m]=v(l.ourVersion,l.theirVersion);return i.value={...l,chunks:y,mergedDisplay:m,resolution:l.resolution||l.ourVersion,jsonConflicts:r?s:void 0,isJson:r},o.value=!0,setTimeout(()=>{var C;b(),r&&((C=i.value)!=null&&C.jsonConflicts)&&console.log("Configuration de l'interface pour les conflits JSON")},300),!0}catch(s){return console.error("Erreur lors de l'affichage du conflit:",s),T.next("error",`Échec de l'affichage du conflit: ${we(s)}`),!1}}function z(){var l;try{const s=(l=i.value)==null?void 0:l.id;console.log(`Fermeture de la modal pour le conflit ${s||"inconnu"}`),o.value=!1,i.value=null}catch(s){console.error("Erreur lors de la fermeture de la modal:",s)}}async function U(){try{await ie(),T.next("success","Liste des conflits rafraîchie")}catch(l){console.error("Erreur lors du rafraîchissement des conflits:",l),T.next("error","Erreur lors du rafraîchissement des conflits")}}async function G(){try{T.next("success","Redémarrage de l'application en cours...","Veuillez patienter"),await $.restartApplication()}catch(l){console.error("Erreur lors du redémarrage de l'application:",l);const s=l instanceof Error?l.message:String(l);T.next("error",`Erreur lors du redémarrage: ${s}`)}}async function le(){console.log("Début de la résolution du conflit");const l=document.querySelector('button[label="Resolve and save"]');l&&l.setAttribute("disabled","disabled");try{const s=i.value?{...i.value}:null;if(!s){console.error("Impossible de résoudre : conflit est null"),T.next("error","Impossible de résoudre ce conflit. Données manquantes.");return}if(!s.resolution){console.error("Impossible de résoudre : résolution manquante"),T.next("error","Impossible de résoudre ce conflit. Résolution manquante.");return}if(!s.original){console.error("Impossible de résoudre : données originales manquantes"),T.next("error","Impossible de résoudre ce conflit. Données originales manquantes.");return}const r=s.id;console.log(`Résolution du conflit ${r} avec une copie sécurisée`);const y={conflictId:r,resolution:s.resolution,original:s.original};if(s.isJson&&s.resolution)try{const m=JSON.parse(s.resolution);if(s.filename&&s.filename.includes("/service/")&&m&&!m.label){console.error("Service sans label détecté lors de la résolution:",m),T.next("error",`Le service doit avoir une propriété "label". Veuillez l'ajouter manuellement.`);return}y.resolution=JSON.stringify(m)}catch(m){console.error("Erreur de parsing JSON:",m),T.next("error","Le format JSON de la résolution est invalide");return}console.log("Envoi de la résolution au serveur:",y);try{const m=await ae.post("/crypto/resolve-conflict",y);console.log("Réponse du serveur après résolution:",m.data),T.next("success","Conflit résolu avec succès, redémarrage de l'application..."),i.value&&i.value.id===r&&(console.log(`Fermeture du conflit ${r} après résolution`),o.value=!1,i.value=null),await ie(),setTimeout(async()=>{try{await G()}catch(C){console.error("Erreur lors du redémarrage:",C)}},1e3);try{let C=null;if(s.filename&&s.filename.includes("/service/")){const I=s.filename.split("/"),W=I[I.length-1].replace(".encrypted.json","");console.log(`Attempting to restart service: ${W}`);try{const Pe=(await $.loadServices()).find(Ze=>Ze.label===W);Pe?(console.log(`Service found for restart: ${W}`),await Pe.restart(),T.next("success",`Service ${W} restarted successfully`)):console.log(`No service found with name: ${W}`)}catch(Me){console.error(`Error while searching/restarting service ${W}:`,Me)}}else console.log("The file is not associated with a specific service, no restart needed")}catch(C){console.error("Error while attempting to restart the service:",C)}console.log("Immediate processing of the next conflict after resolution"),oe()}catch(m){throw console.error("Error during server request:",m),m}}catch(s){console.error("Error during conflict resolution:",s);let r="Error during conflict resolution";typeof s=="object"&&s!==null&&"response"in s&&s.response&&typeof s.response=="object"&&"data"in s.response&&s.response.data&&typeof s.response.data=="object"&&"message"in s.response.data?r=String(s.response.data.message):s instanceof Error&&(r=`${s.name}: ${s.message}`),T.next("error",r)}finally{l&&l.removeAttribute("disabled")}}async function oe(){if(console.log("Processing next conflict. Queue size:",a.value.length,"isVisible:",o.value),o.value||a.value.length===0){console.log("No conflict to process: modal already visible or empty queue");return}try{if(a.value.length===0){console.log("The queue is empty, nothing to process");return}const l={...a.value[0]};if(!l.id||!l.original){console.error("Invalid conflict found in the queue, ignored"),a.value.shift(),setTimeout(oe,50);return}console.log("Preparing to display the next conflict:",l.id),await N(l)?(console.log("Conflict displayed successfully, removing from queue"),a.value.shift()):(console.error("Failed to display conflict, it remains in the queue"),a.value.shift(),setTimeout(oe,200))}catch(l){console.error("Erreur lors du traitement du prochain conflit:",l),T.next("error",`Erreur lors du traitement du conflit: ${we(l)}`),a.value.length>0&&(a.value.shift(),setTimeout(oe,300))}}te(async()=>{console.log("GitConflictModal mounted"),setTimeout(()=>{const s=document.querySelector(".conflict-dialog .p-dialog-content");s&&(console.log("Adding click event listener to modal content for debugging"),s.addEventListener("click",r=>{console.log("Click detected in modal content",{target:r.target,currentTarget:r.currentTarget,classes:r.target instanceof HTMLElement?Array.from(r.target.classList):[],id:r.target instanceof HTMLElement?r.target.id:null,tagName:r.target instanceof HTMLElement?r.target.tagName:null})}))},1e3);const l=new MutationObserver(s=>{for(const r of s)if(r.type==="attributes"&&r.attributeName==="class"){const y=document.querySelector(".conflict-dialog");y&&y.classList.contains("p-dialog-visible")&&(console.log("Modal is now visible - setting up click debugging"),document.querySelectorAll(".json-value").forEach(C=>{if(C instanceof HTMLElement){C.addEventListener("click",B=>{console.log("Direct click on json-value:",{element:C,classes:Array.from(C.classList),version:C.getAttribute("data-version"),index:C.getAttribute("data-index")})}),C.style.position="relative";const I=document.createElement("div");I.innerText="👆 Clickable",I.style.position="absolute",I.style.top="0",I.style.right="0",I.style.background="rgba(255,0,0,0.2)",I.style.color="white",I.style.padding="2px 5px",I.style.fontSize="10px",I.style.borderRadius="3px",C.appendChild(I)}}),l.disconnect())}});l.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["class"]}),i.value=null,o.value=!1,a.value=[],await ie(),O.on("crypto:conflict-resolved",async s=>{var r;try{if(console.log("Event crypto:conflict-resolved received:",s),!s||!s.conflictId){console.warn("Resolution event received without conflict ID");return}const y=s.conflictId,m=(r=i.value)==null?void 0:r.id;o.value&&m===y?(console.log(`Closing conflict ${y} following external resolution`),o.value=!1,i.value=null):console.log(`The resolved conflict ${y} is not currently displayed (displayed: ${m})`);const I=a.value.filter(W=>W.id!==y),B=a.value.length-I.length;B>0&&(console.log(`${B} conflict(s) removed from the queue`),a.value=I),await ie(),!o.value&&a.value.length>0&&(console.log("Scheduling processing of the next conflict"),setTimeout(oe,200))}catch(y){console.error("Error while processing conflict-resolved event:",y)}}),O.on("crypto:conflict",async s=>{try{if(!s||!s.id){console.warn("New conflict event received without valid data");return}console.log("New conflict detected:",s.id),await ie(),s&&s.id&&s.original&&Ce(s)}catch(r){console.error("Error while processing a new conflict:",r)}})}),yt(()=>{console.log("GitConflictModal unmounted"),O.off("crypto:conflict-resolved"),O.off("crypto:conflict")});async function ie(){try{const{data:l}=await ae.get("/crypto/pending-conflicts");if(console.log("Conflicts retrieved from server:",l?l.length:0),Array.isArray(l)&&l.length>0){console.log("Details of retrieved conflicts:",l.map(r=>({id:r.id,filename:r.filename,hasOriginal:!!r.original,hasOurVersion:!!r.ourVersion,hasTheirVersion:!!r.theirVersion})));const s=l.filter(r=>!r.id||!r.original?(console.warn("Invalid conflict ignored (id or original missing):",r.id),!1):((!r.ourVersion||!r.theirVersion)&&console.warn("Conflict with missing versions:",r.id),!0));s.forEach(r=>{Ce(r)}),s.length>0&&T.next("error",`${s.length} Git conflict(s) pending resolution`,"Git Conflicts")}}catch(l){console.error("Error while retrieving pending conflicts:",l),T.next("error",`Error while retrieving conflicts: ${we(l)}`)}}function we(l){if(!l)return"Unknown error";if(typeof l=="object"&&l!==null){if("response"in l&&l.response&&typeof l.response=="object"&&"data"in l.response&&l.response.data&&typeof l.response.data=="object"&&"message"in l.response.data)return String(l.response.data.message);if("message"in l&&typeof l.message=="string")return l.message}try{return String(l)}catch{return"Unknown error"}}function Ce(l){console.log("Adding a new conflict to the queue:",l.id),a.value.push(l),oe()}function Qe(){}function Ye(l){if(!i.value){console.error("updateManualEditForConflict: currentConflict.value is null");return}if(!i.value.jsonConflicts){console.error("updateManualEditForConflict: jsonConflicts is null");return}if(l<0||l>=i.value.jsonConflicts.length){console.error(`updateManualEditForConflict: invalid index ${l}, jsonConflicts length: ${i.value.jsonConflicts.length}`);return}const s=i.value.jsonConflicts[l];if(!s){console.error(`updateManualEditForConflict: conflict at index ${l} is null`);return}try{s.manualEdit!==void 0&&V()}catch(r){console.error(`Error while updating manual edit for index ${l}:`,r)}}function $e(l,s){if(!i.value){console.error("useVersionInManualEdit: currentConflict.value is null");return}if(!i.value.jsonConflicts){console.error("useVersionInManualEdit: jsonConflicts is null");return}if(l<0||l>=i.value.jsonConflicts.length){console.error(`useVersionInManualEdit: invalid index ${l}, jsonConflicts length: ${i.value.jsonConflicts.length}`);return}const r=i.value.jsonConflicts[l];if(!r){console.error(`useVersionInManualEdit: conflict at index ${l} is null`);return}try{console.log(`Using version ${s} for manual edit at index ${l}`);const y=s==="ours"?r.ourValue:r.theirValue;r.manualEdit=w(y),r.selectedVersion=s,console.log(`Manual edit updated with version ${s}:`,r.manualEdit),V()}catch(y){console.error(`Error while updating manual version for index ${l}:`,y)}}return e({addConflict:Ce,showConflict:N,resolveConflict:le,closeModal:z,refreshConflicts:U,processNextConflict:oe,fetchPendingConflicts:ie}),ke(o,l=>{l&&i.value&&(console.log("Modal displayed, setting up event listeners"),ge(()=>{b()}))}),ke(()=>{var l;return(l=i.value)==null?void 0:l.id},(l,s)=>{l&&l!==s&&(console.log(`New conflict displayed (${l}), setting up event listeners`),ge(()=>{b()}))}),(l,s)=>(p(),R(D(je),{visible:o.value,"onUpdate:visible":s[1]||(s[1]=r=>o.value=r),modal:!0,closable:!0,style:{width:"95vw"},maximizable:!0,header:"Git Conflict Resolution",class:"conflict-dialog"},{footer:x(()=>[f("div",Lo,[f("div",$o,[S(D(K),{label:"Cancel",icon:"pi pi-times",onClick:z,class:"p-button-text"}),S(D(K),{label:"Refresh",icon:"pi pi-refresh",onClick:U,class:"p-button-outlined"}),S(D(K),{label:"Resolve and save",icon:"pi pi-check",onClick:le,disabled:!i.value||!i.value.resolution||!i.value.original},null,8,["disabled"])])])]),default:x(()=>[i.value&&i.value.id?(p(),g("div",ao,[f("div",uo,[i.value.filename?(p(),g("div",co,[s[2]||(s[2]=f("i",{class:"pi pi-file"},null,-1)),f("span",null,M(i.value.filename),1)])):j("",!0),f("div",fo,[S(D(K),{label:"Keep all your versions",icon:"pi pi-user",class:"p-button-outlined p-button-success",onClick:d}),S(D(K),{label:"Keep all their versions",icon:"pi pi-users",class:"p-button-outlined p-button-info",onClick:c})])]),i.value.isJson&&i.value.jsonConflicts&&i.value.jsonConflicts.length>0?(p(),g("div",vo,[s[9]||(s[9]=f("h3",null,"Conflicts detected in JSON",-1)),f("div",po,[(p(!0),g(P,null,q(i.value.jsonConflicts,(r,y)=>(p(),g("div",{key:r.path||y,class:"json-conflict-item"},[f("div",mo,[f("div",ho,[s[3]||(s[3]=f("i",{class:"pi pi-key"},null,-1)),f("span",null,M(r.path||"Unknown path"),1)]),f("div",go,[S(D(K),{label:"Use your version",size:"small",class:"p-button-sm p-button-text",onClick:m=>$e(y,"ours")},null,8,["onClick"]),S(D(K),{label:"Use remote version",size:"small",class:"p-button-sm p-button-text",onClick:m=>$e(y,"theirs")},null,8,["onClick"])])]),f("div",yo,[f("div",bo,[f("div",{class:F(["json-value our-value",{selected:r.selectedVersion==="ours"}]),onClick:m=>k(y,"ours"),"data-version":"ours","data-index":y},[s[4]||(s[4]=f("div",{class:"json-value-header"},[f("span",{class:"legend-color your-version"}),f("span",null,"Your version")],-1)),f("pre",wo,M(w(r.ourValue)),1),s[5]||(s[5]=f("div",{class:"select-overlay"},"Click to select your version",-1))],10,ko),f("div",{class:F(["json-value their-value",{selected:r.selectedVersion==="theirs"}]),onClick:m=>k(y,"theirs"),"data-version":"theirs","data-index":y},[s[6]||(s[6]=f("div",{class:"json-value-header"},[f("span",{class:"legend-color their-version"}),f("span",null,"Remote version")],-1)),f("pre",So,M(w(r.theirValue)),1),s[7]||(s[7]=f("div",{class:"select-overlay"},"Click to select remote version",-1))],10,Co)]),f("div",Io,[s[8]||(s[8]=f("div",{class:"manual-edit-header"},[f("h4",null,"Manual editing (final)"),f("span",{class:"manual-edit-info"},"This value will be used with priority for resolution")],-1)),S(D(Ne),{modelValue:r.manualEdit,"onUpdate:modelValue":m=>r.manualEdit=m,class:"manual-edit-area",onInput:m=>Ye(y),autoResize:!0},null,8,["modelValue","onUpdate:modelValue","onInput"])])])]))),128))])])):(p(),g("div",_o,[f("div",Eo,[f("div",xo,[s[10]||(s[10]=f("div",{class:"column-header"},[f("h4",null,"Differences")],-1)),f("div",Vo,[i.value.mergedDisplay?(p(),g("div",{key:0,class:"interactive-editor",innerHTML:i.value.mergedDisplay},null,8,To)):j("",!0)])]),f("div",Ao,[s[12]||(s[12]=f("div",{class:"column-header"},[f("h4",null,"Manual editing")],-1)),f("div",Oo,[s[11]||(s[11]=f("div",{class:"manual-edit-header"},[f("h4",null,"Manual editing (final)"),f("span",{class:"manual-edit-info"},"This value will be used with priority for resolution")],-1)),S(D(Ne),{modelValue:i.value.resolution,"onUpdate:modelValue":s[0]||(s[0]=r=>i.value.resolution=r),class:"manual-edit-area",onInput:Qe,autoResize:!0},null,8,["modelValue"])])])])]))])):o.value?(p(),g("div",jo,s[13]||(s[13]=[f("p",null,"No conflict to display or incomplete data.",-1)]))):j("",!0)]),_:1},8,["visible"]))}},Po=H(Mo,[["__scopeId","data-v-43eafe4e"]]),Do={__name:"PluginDev",setup(t){const e=E(null),n=E(!1),o=E(null);return O.on("plugins:front:changed",i=>{console.log(`🔄 Plugin ${i} changed, reloading page...`),n.value=!1,o.value=null,document.location.reload()}),O.on("plugins:front:building",i=>{console.log(`🔄 Plugin ${i} building...`),o.value=i,n.value=!0}),(i,a)=>(p(),g("div",null,[S(D(je),{ref_key:"modalBuildingRef",ref:e,visible:n.value,"onUpdate:visible":a[0]||(a[0]=v=>n.value=v),closable:!1,modal:!0},{default:x(()=>[f("h1",null,"Plugin "+M(o.value)+" is building...",1)]),_:1},8,["visible"])]))}},Je=st.filter(t=>t.load).reduce((t,{cmp:e,name:n})=>(t[n]=e,t),{}),No={components:{sidebar:Ut,Notifications:en,NotifHistory:ln,SidebarViewMode:Zn,EnvironmentsChooser:to,GitConflictModal:Po,Splitter:rt,SplitterPanel:lt,Button:K,PluginDev:Do,...Je},setup(){(async()=>{const k=await $.getAdditionalThemes().catch(V=>(console.error(V),{}));me.load(k)})();const t=se(),e=E(!0),n=E(null),o=E(null),i=E([]),a=async()=>{e.value=O.socket.connected,e.value||($.services.value=[]),(t.currentRoute.value.fullPath.startsWith("/stack-single")||t.currentRoute.value.fullPath.startsWith("/stack-multiple"))&&t.push({name:"stack-chooser"}),await $.shouldSetup()&&t.push({name:"settings",params:{setting:"crypto"},query:{wrongKey:"true"}})},v=()=>{console.log("reload"),window.location.reload()},d=()=>t.push({name:"settings",params:{setting:"crypto"},query:{wrongKey:"true"}});te(async()=>{O.on("connect",a),O.on("disconnect",a),O.on("forceReload",v),O.on("system:wrongKey",d),O.on("plugins:installed",v),O.on("plugins:uninstalled",v),O.on("crypto:conflict",c),await a(),setTimeout(()=>{o.value&&typeof o.value.fetchPendingConflicts=="function"?(o.value.fetchPendingConflicts(),i.value.length>0&&(console.log(`Traitement de ${i.value.length} conflits en attente...`),i.value.forEach(k=>{o.value&&typeof o.value.addConflict=="function"&&o.value.addConflict(k)}),i.value=[])):console.warn("GitConflictModal n'est pas correctement initialisé, impossible de récupérer les conflits en attente.")},500)}),Ke(()=>{O.off("crypto:conflict",c),O.off("plugins:installed",v),O.off("plugins:uninstalled",v),O.off("forceReload",v),O.off("system:wrongKey",d)});function c(k){if(o.value&&typeof o.value.addConflict=="function"){o.value.addConflict(k),T.next("error","Conflit Git détecté dans un fichier chiffré","Conflit Git");return}console.log("GitConflictModal n'est pas encore prêt, nouvelle tentative dans 500ms..."),setTimeout(()=>{o.value&&typeof o.value.addConflict=="function"?(o.value.addConflict(k),T.next("error","Conflit Git détecté dans un fichier chiffré","Conflit Git")):(console.error("Impossible d'ajouter le conflit Git: le composant GitConflictModal n'est pas correctement initialisé."),i.value.push(k),T.next("error","Conflit Git détecté mais l'interface n'est pas prête. Rechargez la page pour le résoudre.","Conflit Git"))},500)}let u=E({local:"",remote:"",hasUpdate:!1});te(async()=>{var k;u.value=await re.hasUpdate(),(k=u.value)!=null&&k.hasUpdate&&T.next("error",`Update available: ${u.value.local} => ${u.value.remote}`)});const h=E(40),b=E(!1),_=E(null),A=E(!1);ke(A,()=>{b.value&&(A.value?w(h.value):w(0))});const w=k=>{var z,U;const V=(z=n.value)==null?void 0:z.$el,N=(U=_.value)==null?void 0:U.$el;!V||!N||(V.style["flex-basis"]=`calc(${k}%)`,V.style.transition="100ms",V.style["will-change"]="flex-basis",N.style["flex-basis"]=`calc(${100-k}%)`,N.style.transition="100ms",N.style["will-change"]="flex-basis",k===0?V.style["min-width"]="0px":V.style["min-width"]="160px",setTimeout(()=>{V.style.transition="0ms",N.style.transition="0ms"},300))};return{componentsToLoad:E(Object.keys(Je)),redirect:a,connected:e,githubIssue:qt,versions:u,gitConflictModalRef:o,sidebarPanelRef:n,mainPanelRef:_,isMinimized:b,mouseInAnchor:A,toggleMinimized:()=>{b.value=!b.value;const k=b.value?0:h.value;w(k)},debouncedMouseInAnchor:at(k=>{A.value=k},75)}}},zo={key:0,id:"app-container"},Ro={id:"app"},Bo={key:0,class:"fas fa-thumbtack"},Uo={key:1,class:"fas fa-chevron-right"},Jo={class:"main"},qo={key:2,class:"main"},Ko={key:1,class:"not-connected"},Fo=["href"];function Go(t,e,n,o,i,a){var z,U;const v=L("sidebar-view-mode"),d=L("sidebar"),c=L("SplitterPanel"),u=L("Button"),h=L("router-view"),b=L("Splitter"),_=L("EnvironmentsChooser"),A=L("PluginDev"),w=L("Finder"),k=L("notif-history"),V=L("notifications"),N=L("GitConflictModal");return p(),g(P,null,[o.connected?(p(),g("div",zo,[f("div",Ro,[["stack-chooser","import-create"].includes(((z=t.$route.name)==null?void 0:z.toString())||"")?j("",!0):(p(),R(v,{key:0})),["stack-single","stack-single-no-view"].includes(((U=t.$route.name)==null?void 0:U.toString())||"")?(p(),R(b,{key:1,class:"splitter",pt:{gutter:{style:{width:o.isMinimized?"0px":"5px"}}}},{default:x(()=>[S(c,{ref:"sidebarPanelRef",style:{minWidth:"160px",maxWidth:"660px"},size:20,onMouseenter:e[0]||(e[0]=G=>o.debouncedMouseInAnchor(!0)),onMouseleave:e[1]||(e[1]=G=>o.debouncedMouseInAnchor(!1))},{default:x(()=>[S(d,{onToggleMinimized:o.toggleMinimized,"is-minimized":o.isMinimized},null,8,["onToggleMinimized","is-minimized"])]),_:1},512),S(c,{ref:"mainPanelRef",class:"main-panel",size:80},{default:x(()=>[S(u,{class:F(["maximize",{"mouse-in-anchor":o.mouseInAnchor}]),style:Q({display:o.isMinimized?"flex":"none"}),pt:{root:{style:{margin:"0",borderRadius:"0"}}},onMouseenter:e[2]||(e[2]=G=>o.debouncedMouseInAnchor(!0)),onMouseleave:e[3]||(e[3]=G=>o.debouncedMouseInAnchor(!1)),onClick:bt(o.toggleMinimized,["stop"])},{default:x(()=>[o.isMinimized?(p(),g(P,{key:0},[o.mouseInAnchor?(p(),g("i",Bo)):(p(),g("i",Uo))],64)):j("",!0)]),_:1},8,["class","style","onClick"]),f("div",Jo,[S(h)])]),_:1},512)]),_:1},8,["pt"])):(p(),g("div",qo,[S(h)]))]),S(_),S(A)])):(p(),g("div",Ko,[e[4]||(e[4]=J(" Server is not connected or has crashed ")),e[5]||(e[5]=f("br",null,null,-1)),e[6]||(e[6]=J(" Try to restart it or fill an issue: ")),e[7]||(e[7]=f("br",null,null,-1)),e[8]||(e[8]=f("br",null,null,-1)),f("a",{href:o.githubIssue,target:"_blank"},"Click here",8,Fo)])),(p(!0),g(P,null,q(o.componentsToLoad,G=>(p(),R(ye(G)))),256)),S(w),S(k),S(V),S(N,{ref:"gitConflictModalRef"},null,512)],64)}const ti=H(No,[["render",Go],["__scopeId","data-v-97b912e0"]]);export{ti as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";.sidebar-item[data-v-30b21d4f]{cursor:pointer;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:background-color .3s;transition:background-color .3s;padding:5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-left:5px solid transparent}.sidebar-item span[data-v-30b21d4f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.sidebar-item i[data-v-30b21d4f]{width:15px;text-align:center}.sidebar-item i.hover[data-v-30b21d4f]{opacity:0;-webkit-transition:.3s;transition:.3s}.sidebar-item[data-v-30b21d4f]:hover{background-color:var(--system-backgroundColor300)}.sidebar-item:hover i[data-v-30b21d4f]{opacity:1}.sidebar-item.active[data-v-30b21d4f]{font-weight:700;border-left:5px solid var(--system-primary500)}.sidebar-item.disabled[data-v-30b21d4f]{color:var(--system-color600)}.sidebar-item.crashed[data-v-30b21d4f]{color:red}.sidebar-item .warning[data-v-30b21d4f]{color:orange}.sidebar-item .success[data-v-30b21d4f]{color:green}.header[data-v-e715e98d]{padding:0 10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;cursor:pointer;-webkit-transition:.3s;transition:.3s}.header[data-v-e715e98d]:hover{background-color:#0000000d}.header .title[data-v-e715e98d]{margin:0}.header i[data-v-e715e98d]{-webkit-transition:.3s;transition:.3s}.open i[data-v-e715e98d]{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.slot-container[data-v-e715e98d]{max-height:1000vh;opacity:1;-webkit-transform-origin:top;transform-origin:top}.fade-sidebar-enter-active[data-v-e715e98d],.fade-sidebar-leave-active[data-v-e715e98d]{-webkit-transition:.3s;transition:.3s}.fade-sidebar-enter-from[data-v-e715e98d],.fade-sidebar-leave-to[data-v-e715e98d]{-webkit-transform:scaleY(0);transform:scaleY(0);max-height:0!important;opacity:0}.sidebar-root[data-v-367d8d42]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.header[data-v-367d8d42]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:0 8px}.header i[data-v-367d8d42]{width:15px;height:15px}.search-input[data-v-367d8d42]{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px auto;justify-self:center;min-width:0}.sidebar[data-v-367d8d42]{-webkit-transform-origin:left;transform-origin:left;-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;-webkit-transition:.3s;transition:.3s;display:-webkit-box;display:-ms-flexbox;display:flex;overflow:auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0px 0px 4px 0px black;box-shadow:0 0 4px #000;background-color:var(--sidebar-backgroundColor);height:100%;-ms-flex-negative:0;flex-shrink:0;z-index:3;width:100%}.sidebar ul[data-v-367d8d42]{list-style:none;padding:0;margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.sidebar .services-container[data-v-367d8d42]{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow:auto}.sidebar .minimized-container[data-v-367d8d42]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px}.progress-container[data-v-367d8d42]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.progress-container label[data-v-367d8d42]{width:60px}.system-root[data-v-367d8d42]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.system-root>button[data-v-367d8d42]{z-index:1;width:90%;margin:auto}.system .title[data-v-367d8d42]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.add-container[data-v-367d8d42]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.add-container .add-button[data-v-367d8d42]{-ms-flex-negative:0;flex-shrink:0;width:90%;padding:0}.notif[data-v-e8fbbfbc]{max-height:100px;width:100%;max-width:420px;text-align:center;color:#fff;padding:10px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-transition:.3s;transition:.3s;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;cursor:pointer}.notif[data-v-e8fbbfbc]:hover{-webkit-transform:scale(1.01);transform:scale(1.01)}.notif h2[data-v-e8fbbfbc]{margin-top:0;margin-bottom:0;font-size:1.2em}.notif .messages[data-v-e8fbbfbc]{overflow:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.notif .messages .message[data-v-e8fbbfbc]{position:relative;-ms-flex-negative:0;flex-shrink:0}.notif .messages .message.oneline[data-v-e8fbbfbc]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.notif[data-v-e8fbbfbc],.notif .badge[data-v-e8fbbfbc]{background:#11998e;background:-webkit-gradient(linear,left top,right top,from(#1dcf61),to(#11998e));background:linear-gradient(to right,#1dcf61,#11998e);-webkit-box-shadow:0px 0px 10px 0px #11998e;box-shadow:0 0 10px #11998e}.notif .badge[data-v-e8fbbfbc]{position:absolute;top:0;right:0;border:1px solid rgba(0,0,0,.2);padding:5px;height:20px;width:20px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform-origin:top;transform-origin:top;-webkit-transform:translateX(50%) translateY(-50%);transform:translate(50%) translateY(-50%)}.notif .message .badge[data-v-e8fbbfbc]{-webkit-transform:translateX(0) translateY(5px);transform:translate(0) translateY(5px);height:10px;width:10px}.notif.error[data-v-e8fbbfbc],.notif.error .badge[data-v-e8fbbfbc]{background:#cb356b;background:-webkit-gradient(linear,left top,right top,from(#BD3F32),to(#CB356B));background:linear-gradient(to right,#bd3f32,#cb356b);-webkit-box-shadow:0px 0px 10px 0px #BD3F32;box-shadow:0 0 10px #bd3f32}.notif.error .glow[data-v-e8fbbfbc],.notif.error .badge .glow[data-v-e8fbbfbc]{background-color:#ffffff4d;border-radius:4px;padding:5px;margin:5px 0}.notifications-container[data-v-5b545583]{position:fixed;bottom:20px;right:20px;width:-webkit-max-content;width:-moz-max-content;width:max-content;z-index:100000;margin:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:10px}.root-notification[data-v-5b545583]{margin:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:10px}.trash[data-v-5b545583]{color:#fff;width:20px;height:20px;border-radius:50%;padding:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:-webkit-gradient(linear,left top,right top,from(#d29423),to(#ead007));background:linear-gradient(to right,#d29423,#ead007);-webkit-box-shadow:0px 0px 10px 0px #9d791c;box-shadow:0 0 10px #9d791c;-webkit-transition:.3s;transition:.3s;cursor:pointer}.trash[data-v-5b545583]:hover{-webkit-transform:scale(1.1);transform:scale(1.1)}.slide-enter-active[data-v-5b545583],.slide-leave-active[data-v-5b545583]{-webkit-transition:all .3s ease!important;transition:all .3s ease!important}.slide-enter-from[data-v-5b545583],.slide-leave-to[data-v-5b545583]{opacity:0!important;max-height:0!important;padding:0!important;margin:0!important;-webkit-transform:translateY(-30px)!important;transform:translateY(-30px)!important}.notifications[data-v-5c55cf64]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:5px}.sidebar-item[data-v-e115a663]{cursor:pointer;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:background-color .3s;transition:background-color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:5px auto auto;z-index:2}.sidebar-item[data-v-e115a663]:hover{background-color:var(--system-backgroundColor300)}.sidebar-item:hover i[data-v-e115a663]{opacity:1}button[data-v-e115a663]{outline:none;border-radius:5px;-webkit-transition:.2s;transition:.2s;-webkit-transition-property:font-size,-webkit-box-shadow;transition-property:font-size,-webkit-box-shadow;transition-property:font-size,box-shadow;transition-property:font-size,box-shadow,-webkit-box-shadow;height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:transparent;margin:0 5px;font-size:1em;-webkit-box-shadow:none;box-shadow:none;color:var(--sidebarMain-color)}button[data-v-e115a663]:hover{background:var(--system-primary400);background:linear-gradient(93deg,var(--system-primary400) 0%,var(--system-primary600) 100%);color:#fff;-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;transform:none}button:hover img[data-v-e115a663]{-webkit-filter:contrast(0) brightness(1.6);filter:contrast(0) brightness(1.6)}button.active[data-v-e115a663]{background:var(--system-primary400);background:linear-gradient(93deg,var(--system-primary400) 0%,var(--system-primary600) 100%);color:#fff}button.active img[data-v-e115a663]{-webkit-filter:contrast(0) brightness(2);filter:contrast(0) brightness(2)}button i[data-v-e115a663]{font-size:1.2em}button img[data-v-e115a663]{width:1.2em;height:1.2em;-o-object-fit:contain;object-fit:contain;-webkit-filter:contrast(0) brightness(2) brightness(.5);filter:contrast(0) brightness(2) brightness(.5)}section[data-v-6a6c8b71]{display:inline-block;height:55px;position:relative}.circle[data-v-6a6c8b71]{-webkit-transform:rotate(-180deg);transform:rotate(-180deg);-webkit-transform-origin:center;transform-origin:center}.info[data-v-6a6c8b71]{opacity:1}.circle-anim-1[data-v-6a6c8b71]{animation:chart-fill-i 1s reverse}.info-anim-1[data-v-6a6c8b71]{-webkit-animation:chart-appear-i 1s forwards;animation:chart-appear-i 1s forwards}@-webkit-keyframes chart-fill-1-6a6c8b71{to{stroke-dasharray:0 380}}@keyframes chart-fill-1-6a6c8b71{to{stroke-dasharray:0 380}}@-webkit-keyframes chart-appear-1-6a6c8b71{to{opacity:1}}@keyframes chart-appear-1-6a6c8b71{to{opacity:1}}.circle-anim-2[data-v-6a6c8b71]{animation:chart-fill-i 1s reverse}.info-anim-2[data-v-6a6c8b71]{-webkit-animation:chart-appear-i 1s forwards;animation:chart-appear-i 1s forwards}@-webkit-keyframes chart-fill-2-6a6c8b71{to{stroke-dasharray:0 380}}@keyframes chart-fill-2-6a6c8b71{to{stroke-dasharray:0 380}}@-webkit-keyframes chart-appear-2-6a6c8b71{to{opacity:1}}@keyframes chart-appear-2-6a6c8b71{to{opacity:1}}.sidebar[data-v-40a73239]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-shadow:0px 0px 4px 0px black;box-shadow:0 0 4px #000;width:50px;background-color:var(--sidebarMain-backgroundColor);color:var(--sidebarMain-color);height:100%;-ms-flex-negative:0;flex-shrink:0;z-index:4}.sidebar ul[data-v-40a73239]{list-style:none;padding:0;margin:0}.progress-container[data-v-40a73239]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.progress-container label[data-v-40a73239]{width:60px}.system-root[data-v-40a73239]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.system-root>button[data-v-40a73239]{z-index:1;width:90%;margin:auto}.system .title[data-v-40a73239]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.groups[data-v-40a73239]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px}.view[data-v-40a73239]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:50px;height:50px;position:relative}.view .viewwindows[data-v-40a73239]{position:absolute;width:50px;height:50px;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.view .viewwindows .rad[data-v-40a73239]{position:absolute;width:170%;height:170%;background:#76daff;-webkit-animation:rotate-40a73239 10s linear infinite;animation:rotate-40a73239 10s linear infinite}.view .viewwindows .rad[data-v-40a73239]:nth-child(1){left:-50%;top:26%;border-radius:35%;-webkit-animation-delay:-4s;animation-delay:-4s}.view .viewwindows .rad[data-v-40a73239]:nth-child(2){left:-30%;top:30%;border-radius:37%;-webkit-animation-delay:-3s;animation-delay:-3s}.view .viewwindows .rad[data-v-40a73239]:nth-child(3){left:-20%;top:33%;border-radius:40%;-webkit-animation-delay:-2s;animation-delay:-2s}.view .viewwindows .rad[data-v-40a73239]:nth-child(4){left:0;top:35%;border-radius:40%;-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes rotate-40a73239{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate-40a73239{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.themes[data-v-40a73239]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:10px}.themes .theme[data-v-40a73239]{cursor:pointer}.themes .theme .background[data-v-40a73239]{width:40px;height:40px;border-radius:40px;border:1px solid var(--system-backgroundColor300);position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.themes .theme .background .foreground[data-v-40a73239]{position:absolute;width:100%;height:1px}.themes .theme .background .foreground-1[data-v-40a73239]{height:10px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.themes .theme .background .foreground-2[data-v-40a73239]{height:5px;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.themes .theme .background .foreground-3[data-v-40a73239]{height:3px;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.themes .theme .background .foreground-4[data-v-40a73239]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.logo[data-v-40a73239]{width:100%}.button-container[data-v-40a73239]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.button-speed-dial[data-v-40a73239],.speeddial-button-trigger[data-v-40a73239]{outline:none;border-radius:5px;-webkit-transition:.2s;transition:.2s;-webkit-transition-property:font-size,-webkit-box-shadow;transition-property:font-size,-webkit-box-shadow;transition-property:font-size,box-shadow;transition-property:font-size,box-shadow,-webkit-box-shadow;height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:transparent;margin:0 5px;font-size:1em;-webkit-box-shadow:none;box-shadow:none;border:none;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;color:var(--sidebarMain-color)}.button-speed-dial[data-v-40a73239]:hover,.speeddial-button-trigger[data-v-40a73239]:hover{background:var(--system-primary400);background:linear-gradient(93deg,var(--system-primary400) 0%,var(--system-primary600) 100%);color:#fff;-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;transform:none}.button-speed-dial:hover .masked-icon[data-v-40a73239],.speeddial-button-trigger:hover .masked-icon[data-v-40a73239]{background-color:#fff}.button-speed-dial.active[data-v-40a73239],.speeddial-button-trigger.active[data-v-40a73239]{background:var(--system-primary400);background:linear-gradient(93deg,var(--system-primary400) 0%,var(--system-primary600) 100%);color:#fff}.button-speed-dial.active .masked-icon[data-v-40a73239],.speeddial-button-trigger.active .masked-icon[data-v-40a73239]{background-color:#fff}.button-speed-dial i[data-v-40a73239],.speeddial-button-trigger i[data-v-40a73239]{font-size:1.2em}.button-speed-dial .masked-icon[data-v-40a73239],.speeddial-button-trigger .masked-icon[data-v-40a73239]{-o-object-fit:contain;object-fit:contain;background:var(--sidebarMain-color);width:100%;height:100%;mask-repeat:no-repeat;mask-size:contain;mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center}.p-speeddial-list{opacity:0}.p-speeddial-open .p-speeddial-list{opacity:1}.banner[data-v-42a01f9f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.5);box-shadow:0 0 10px #00000080;position:relative;z-index:10}.select[data-v-42a01f9f]{padding:0}.select[data-v-42a01f9f] .p-select-label{padding:0 10px}.reload-modal[data-v-42a01f9f]{width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:10000;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#0076bc;background-color:#ffffff80}.line[data-v-42a01f9f]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.conflict-dialog[data-v-43eafe4e] .p-dialog-content{max-height:80vh;overflow:auto}.conflict-container[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px}.conflict-header[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px;background-color:var(--surface-card);border-radius:4px;margin-bottom:10px}.conflict-header .file-info[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-weight:700}.conflict-header .version-actions[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px}.conflicts-container[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.conflicts-container .conflict-columns[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;min-height:400px}.conflicts-container .conflict-columns .conflict-column[data-v-43eafe4e]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border:1px solid var(--surface-border);border-radius:4px;overflow:hidden}.conflicts-container .conflict-columns .conflict-column .column-header[data-v-43eafe4e]{padding:10px;background-color:var(--surface-ground);border-bottom:1px solid var(--surface-border)}.conflicts-container .conflict-columns .conflict-column .column-header h4[data-v-43eafe4e]{margin:0}.interactive-conflict[data-v-43eafe4e]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;padding:10px;background-color:var(--surface-section);font-family:monospace;white-space:pre-wrap;word-break:break-all}.interactive-editor[data-v-43eafe4e]{font-family:monospace;line-height:1.5}.diff-chunk[data-v-43eafe4e]{cursor:pointer!important;padding:2px 0;border-radius:3px;-webkit-transition:background-color .2s;transition:background-color .2s;position:relative}.diff-chunk[data-v-43eafe4e]:after{content:"Click to select";position:absolute;top:5px;right:5px;background:#0000001a;font-size:10px;padding:2px 5px;border-radius:3px;opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s}.diff-chunk[data-v-43eafe4e]:hover:after{opacity:1}.diff-chunk.our-version[data-v-43eafe4e]{background-color:#2ecc711a;border-left:3px solid #2ecc71;padding-left:5px}.diff-chunk.our-version.selected[data-v-43eafe4e]{background-color:#2ecc714d}.diff-chunk.our-version.not-selected[data-v-43eafe4e]{background-color:#2ecc710d;text-decoration:line-through;opacity:.5}.diff-chunk.their-version[data-v-43eafe4e]{background-color:#3498db1a;border-left:3px solid #3498db;padding-left:5px}.diff-chunk.their-version.selected[data-v-43eafe4e]{background-color:#3498db4d}.diff-chunk.their-version.not-selected[data-v-43eafe4e]{background-color:#3498db0d;text-decoration:line-through;opacity:.5}.diff-chunk[data-v-43eafe4e]:hover{-webkit-filter:brightness(1.1);filter:brightness(1.1)}.common-text[data-v-43eafe4e]{color:var(--text-color)}.manual-edit-container[data-v-43eafe4e]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:10px;background-color:var(--surface-overlay);border:2px solid var(--primary-color);border-radius:4px}.manual-edit-container .manual-edit-header[data-v-43eafe4e]{margin-bottom:8px}.manual-edit-container .manual-edit-header h4[data-v-43eafe4e]{margin:0 0 4px;color:var(--primary-color);font-weight:700;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.manual-edit-container .manual-edit-header h4[data-v-43eafe4e]:before{content:"✏️";margin-right:5px}.manual-edit-container .manual-edit-header .manual-edit-info[data-v-43eafe4e]{font-size:.85rem;color:var(--text-color-secondary);font-style:italic}.manual-edit-container .manual-edit-area[data-v-43eafe4e]{width:100%;height:100%;font-family:monospace;min-height:200px;resize:vertical;border:1px solid var(--primary-color)}.json-conflicts[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px}.json-conflicts h3[data-v-43eafe4e]{margin-top:0}.json-conflicts .json-conflicts-list[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:20px}.json-conflicts .json-conflict-item[data-v-43eafe4e]{border:1px solid var(--surface-border);border-radius:4px;overflow:hidden}.json-conflicts .json-header[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px;background-color:var(--surface-ground);border-bottom:1px solid var(--surface-border)}.json-conflicts .json-header .json-path[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-weight:700;font-family:monospace}.json-conflicts .json-header .manual-edit-actions[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px}.json-conflicts .conflict-section[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;padding:10px}.json-conflicts .conflict-versions[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;margin-bottom:10px}.json-conflicts .conflict-versions .json-value[data-v-43eafe4e]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:10px;border:1px solid var(--surface-border);border-radius:4px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;position:relative}.json-conflicts .conflict-versions .json-value .select-button[data-v-43eafe4e]{position:absolute;bottom:10px;right:10px;z-index:10}.json-conflicts .conflict-versions .json-value .select-overlay[data-v-43eafe4e]{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s;pointer-events:none;font-weight:700}.json-conflicts .conflict-versions .json-value:hover .select-overlay[data-v-43eafe4e]{opacity:1}.json-conflicts .conflict-versions .json-value.selected[data-v-43eafe4e]{border-color:var(--primary-color);-webkit-box-shadow:0 0 0 2px var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}.json-conflicts .conflict-versions .json-value[data-v-43eafe4e]:hover{background-color:var(--surface-hover);-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 2px 5px rgba(0,0,0,.1);box-shadow:0 2px 5px #0000001a}.json-conflicts .conflict-versions .json-value .json-value-header[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:10px;font-weight:700}.json-conflicts .conflict-versions .json-value .json-value-header .legend-color[data-v-43eafe4e]{width:12px;height:12px;border-radius:50%}.json-conflicts .conflict-versions .json-value .json-value-header .legend-color.your-version[data-v-43eafe4e]{background-color:#2ecc71}.json-conflicts .conflict-versions .json-value .json-value-header .legend-color.their-version[data-v-43eafe4e]{background-color:#3498db}.json-conflicts .conflict-versions .json-value .json-content[data-v-43eafe4e]{font-family:monospace;white-space:pre-wrap;overflow:auto;margin:0}.json-conflicts .conflict-versions .json-value.our-value[data-v-43eafe4e]{background-color:#2ecc710d}.json-conflicts .conflict-versions .json-value.their-value[data-v-43eafe4e]{background-color:#3498db0d}.no-conflict-message[data-v-43eafe4e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:200px;text-align:center;padding:20px;background-color:var(--surface-section);border:1px dashed var(--surface-border);border-radius:4px;color:var(--text-color-secondary);font-size:1.2rem}.main[data-v-97b912e0]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%;overflow:hidden;min-height:100%}#app-container[data-v-97b912e0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100vh;width:100vw}#app-container #app[data-v-97b912e0]{width:100vw;height:100%;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#app-container #app[data-v-97b912e0] .p-splitter{width:100%;height:100%;border:none}#app-container #app[data-v-97b912e0] .p-splitter-panel{overflow:auto}#app-container #app[data-v-97b912e0] .p-splitter-gutter{background:var(--surface-border)}#app-container #app[data-v-97b912e0] .p-splitter-gutter:hover{background:var(--primary-color)}.not-connected[data-v-97b912e0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100vw;height:100vh;text-align:center}.splitter[data-v-97b912e0]{background-color:transparent;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:0!important}[data-v-97b912e0] .p-splitter-gutter{background-color:var(--system-backgroundColor100)!important}.maximize[data-v-97b912e0]{width:25px;height:100%;-webkit-transition:width .3s;transition:width .3s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;background-color:var(--system-primary200)!important;color:var(--system-primary600)!important;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;border-color:var(--system-primary600)!important;color:#fff}.maximize i[data-v-97b912e0]{font-size:1.5rem}.maximize.mouse-in-anchor[data-v-97b912e0]{width:50px}.main-panel[data-v-97b912e0]{display:-webkit-box;display:-ms-flexbox;display:flex}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{P as g}from"./Section-YBL4Pzic.js";import{D as h,f as C}from"./router-B2S_D5pC.js";import{_ as E}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{s as c,L as e,o as r,f as d,b as y,a as n,F as v,q as x,n as b}from"./index-G1ob8hK0.js";const B=["src","title"],$={key:1},w={class:"icons"},z=["alt","src","onClick"],D={__name:"CurrentEditor",props:{service:{default:void 0},direction:{default:"bottom"},dark:{default:!1}},setup(s){const u=s,{availableEditors:p,loading:m,allEditors:f,setDefaultEditor:k,currentEditor:i}=h(u.service);return(_,l)=>e(m)?(r(),c(C,{key:1,size:"18",noColor:!0})):(r(),c(g,{key:0,trigger:"mouseenter",appendTo:"parent",style:{display:"inline-block",width:"max-content"},triggerHeight:"18px",placement:s.direction},{trigger:d(()=>{var t,o,a;return[(t=e(i))!=null&&t.icon?(r(),n("img",{key:0,class:b({"filter-dark":s.dark}),src:(o=e(i))==null?void 0:o.icon,alt:"editor icon","aria-hidden":"true",title:(a=e(i))==null?void 0:a.title,onClick:l[0]||(l[0]=F=>_.$emit("openEditor",e(i).key))},null,10,B)):(r(),n("span",$,"Choose your default editor"))]}),content:d(()=>[y("div",w,[(r(!0),n(v,null,x(e(p),t=>{var o;return r(),n("img",{alt:`Editor icon: ${t}`,src:(o=e(f)[t])==null?void 0:o.icon,style:{width:"35px",height:"35px"},onClick:a=>e(k)(t),class:"filter-dark"},null,8,z)}),256))])]),_:1},8,["placement"]))}},I=E(D,[["__scopeId","data-v-1dc07b45"]]);export{I as C};
|