@g1cloud/entity-modeler-next 5.0.1 → 5.0.2

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.
@@ -1,4 +1,4 @@
1
- (function(ge,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@g1cloud/open-bluesea-core")):typeof define=="function"&&define.amd?define(["exports","vue","@g1cloud/open-bluesea-core"],t):(ge=typeof globalThis<"u"?globalThis:ge||self,t(ge.EntityModeler={},ge.Vue,ge.OpenBlueseaCore))})(this,(function(ge,t,te){"use strict";var RB=Object.defineProperty;var AB=(ge,t,te)=>t in ge?RB(ge,t,{enumerable:!0,configurable:!0,writable:!0,value:te}):ge[t]=te;var Ze=(ge,t,te)=>AB(ge,typeof t!="symbol"?t+"":t,te);const lh={startX:40,startY:40,columnGap:280,rowGap:220,perRow:4,defaultSize:{width:220,height:140}};function sh(e,n){const o=e%n.perRow,i=Math.floor(e/n.perRow);return{location:{x:n.startX+o*n.columnGap,y:n.startY+i*n.rowGap},size:{...n.defaultSize}}}function Es(e,n,o={}){const i={...lh,...o},a=new Map(e.entities.map(f=>[f.modelId,f])),r=new Map(n.entityLayouts.map(f=>[f.entityRef,f])),l=new Map(n.associationLayouts.map(f=>[f.associationRef,f])),s=new Map;for(const f of e.groups)for(const y of f.memberEntityRefs)s.set(y,f.modelId);const c=new Map;for(const f of n.groupLayouts)for(const y of f.memberNoteRefs??[])c.set(y,f.groupRef);let d=0;const u=e.entities.map(f=>{const y=s.get(f.modelId),k=r.get(f.modelId);if(k){const N={location:{x:k.geo.location.x,y:k.geo.location.y},size:{width:k.geo.size.width,height:k.geo.size.height}};return{entity:f,geo:N,collapsed:k.collapsed??!1,locked:k.locked??!1,groupRef:y,style:k.style,attributeStyles:k.attributeStyles,operationStyles:k.operationStyles}}const _=sh(d++,i);return{entity:f,geo:_,collapsed:!1,locked:!1,groupRef:y}}),m=new Map(n.groupLayouts.map(f=>[f.groupRef,f])),h=e.groups.map(f=>{const y=m.get(f.modelId),k=y?{location:{x:y.geo.location.x,y:y.geo.location.y},size:{width:y.geo.size.width,height:y.geo.size.height}}:{location:{x:0,y:0},size:{width:400,height:300}};return{group:f,geo:k,style:y==null?void 0:y.style,locked:(y==null?void 0:y.locked)??!1}}),p=e.associations.map(f=>{const y=l.get(f.modelId);return{association:f,waypoints:(y==null?void 0:y.waypoints)??[],sourceColumnRef:y==null?void 0:y.sourceColumnRef,targetColumnRef:y==null?void 0:y.targetColumnRef}}),g=n.notes.map(f=>({note:{...f,geo:{location:{x:f.geo.location.x,y:f.geo.location.y},size:{width:f.geo.size.width,height:f.geo.size.height}}},groupRef:c.get(f.modelId)})),b=[];for(const f of n.notes)for(const y of f.connections??[])a.has(y.targetRef)&&b.push({noteRef:f.modelId,targetRef:y.targetRef,waypoints:y.waypoints.map(k=>({x:k.x,y:k.y}))});return{entities:u,associations:p,groups:h,notes:g,noteConnections:b}}const ch={cellWidth:260,cellHeight:200,pad:24,headerHeight:28,ungroupedCols:4};function Ns(e,n,o={}){const i={...ch,...o},a=new Map(n.groupLayouts.map(u=>[u.groupRef,u.geo])),r=[];let l=0;for(const u of e.groups){const m=a.get(u.modelId),h=m?m.location:{x:0,y:0},p=m?m.size.width:800;m&&(l=Math.max(l,m.location.y+m.size.height));const g=Math.max(1,Math.floor((p-i.pad*2)/i.cellWidth));u.memberEntityRefs.forEach((b,f)=>{const y=f%g,k=Math.floor(f/g);r.push({id:b,location:{x:h.x+i.pad+y*i.cellWidth,y:h.y+i.pad+i.headerHeight+k*i.cellHeight}})})}const s=new Set(e.groups.flatMap(u=>u.memberEntityRefs)),c=e.entities.filter(u=>!s.has(u.modelId)),d=l>0?l+40:i.pad;return c.forEach((u,m)=>{const h=m%i.ungroupedCols,p=Math.floor(m/i.ungroupedCols);r.push({id:u.modelId,location:{x:i.pad+h*i.cellWidth,y:d+p*i.cellHeight}})}),r}const ws={cols:5,boxWidth:200,gap:60,baseX:0,baseY:0,headerHeight:48,rowHeight:24,footerHeight:16,minHeight:120};function dh(e,n={}){const o={...ws,...n},i=o.headerHeight+Math.max(0,e)*o.rowHeight+o.footerHeight;return Math.max(o.minHeight,i)}function br(e,n={}){const o={...ws,...n},i=Math.max(1,o.cols),a=new Array(i).fill(o.baseY);return e.map((r,l)=>{const s=l%i,c=dh(r.attributeCount,o),d=o.baseX+s*(o.boxWidth+o.gap),u=a[s];return a[s]=u+c+o.gap,{id:r.id,location:{x:d,y:u},size:{width:o.boxWidth,height:c}}})}function Mn(e){const n=new Map,o=new Map;for(const i of e){o.set(i.modelId,i),i.dbAttrs.length===1&&n.set(i.modelId,i.dbAttrs[0]);for(const a of i.dbAttrs)n.set(a.modelId,a),o.set(a.modelId,i)}return{attributeOf:i=>o.get(i),columnOf:i=>n.get(i),canon:i=>{var a;return((a=n.get(i))==null?void 0:a.modelId)??i}}}function vs(e,n){const o=e.attributeOf(n);if(!o)return n;const i=o.name||"(이름 없음)";if(o.dbAttrs.length<=1)return i;const a=e.columnOf(n);if(!a)return`${i}(컬럼 ${o.dbAttrs.length}개 중 미지정)`;const r=o.dbAttrs.findIndex(l=>l.modelId===a.modelId);return`${i}.${a.physicalName||`#${r+1}`}`}const Mi="inherited:";function Is(e,n){return`${Mi}${e}:${n}`}function ro(e){return e.startsWith(Mi)}function _r(e){if(!ro(e))return null;const n=e.slice(Mi.length),o=n.indexOf(":");if(o<0)return null;const i=n.slice(0,o),a=n.slice(o+1);return!i||!a?null:{baseClass:i,field:a}}function Uo(e,n){var a;if(e.stereotype==="JPA_EMBEDDABLE")return[];if(n.some(r=>r.name===e.name))return[];const o=e.superClass||((a=n.find(r=>r.default))==null?void 0:a.name);if(!o)return[];const i=n.find(r=>r.name===o);return i?i.columns.map(r=>({modelId:Is(i.name,r.field),baseClass:i.name,field:r.field,physicalName:r.physicalName,dataType:r.dataType,logicalName:r.logicalName,length:r.length,scale:r.scale})):[]}const uh={UNDEFINED:"Undefined",JPA_ENTITY:"Entity",JPA_EMBEDDABLE:"Embeddable",JPA_MULTI_LANGUAGE_ENTITY:"MultiLanguageEntity"};function Ho(e){return uh[e]??e}function Vi(e){return e.attrType.startsWith("RELATION")&&e.dbAttrs.length>0}function Bi(e,n,o,i,a=0){var m;if(!Vi(e))return;const r=(m=e.derivedFrom)==null?void 0:m.sourceAttributeRef;if(r)for(const h of o){const p=h.attributes.find(g=>g.modelId===r);if(p)return p.dbAttrs[a]}const l=i.find(h=>h.end1.attributeRef===e.modelId||h.end2.attributeRef===e.modelId);if(!l)return;const s=n==null?void 0:n.modelId,c=l.end1.entityRef===s?l.end2.entityRef:l.end1.entityRef,d=o.find(h=>h.modelId===c);return d?d.attributes.filter(h=>h.identifier&&(h.attrType==="NORMAL"||h.attrType==="RELATION_OWN")).sort((h,p)=>h.order-p.order).flatMap(h=>h.dbAttrs)[a]:void 0}const mh=e=>e==null||e.trim()==="";function xs(e,n,o,i,a){var r,l,s,c;if(e.attrType==="EMBED_PREDEF")return(l=(r=a==null?void 0:a.embeddableCatalog)==null?void 0:r.find(d=>d.type===e.type))==null?void 0:l.fields[n];if(e.attrType==="EMBED_OWN"){const d=(s=e.embedded)==null?void 0:s.embeddableRef;return d==null||(c=i.entities.find(u=>u.modelId===d))==null?void 0:c.attributes.flatMap(u=>u.dbAttrs)[n]}if(e.attrType.startsWith("RELATION"))return Bi(e,o,i.entities,i.associations,n)}function jo(e,n,o,i,a,r){const l=xs(e,o,i,a,r);return l?{...n,physicalName:n.physicalName||l.physicalName||"",dataType:n.dataType||l.dataType||"",length:n.length??l.length,scale:n.scale??l.scale}:n}function kr(e,n,o,i,a,r){var l;return mh(n.physicalName)?((l=xs(e,o,i,a,r))==null?void 0:l.physicalName)??"":n.physicalName}function fh(e,n,o,i){var a,r,l,s;if(e.attrType==="EMBED_PREDEF")return((l=(r=(a=i==null?void 0:i.embeddableCatalog)==null?void 0:a.find(c=>c.type===e.type))==null?void 0:r.fields[n])==null?void 0:l.name)||void 0;if(e.attrType==="EMBED_OWN"){const c=(s=e.embedded)==null?void 0:s.embeddableRef;if(c==null)return;const d=o.entities.find(m=>m.modelId===c);if(!d)return;let u=0;for(const m of d.attributes)for(let h=0;h<m.dbAttrs.length;h++){if(u===n)return m.name||void 0;u++}}}function Er(e,n){if(e.stereotype!=="JPA_EMBEDDABLE")return[e];const o=n.filter(i=>i.modelId!==e.modelId&&i.attributes.some(a=>{var r;return a.attrType==="EMBED_OWN"&&((r=a.embedded)==null?void 0:r.embeddableRef)===e.modelId}));return[e,...o]}function kn(e,n){return Er(e,n).flatMap(o=>o.attributes.flatMap(i=>i.dbAttrs))}function lo(e){const n=new Map;for(const o of e)n.set(o.modelId,o);return n}function Vn(e,n){if(e.sharedColumnRef==null)return null;const o=n.get(e.sharedColumnRef);return o?{physicalName:o.physicalName,insertable:!1,updatable:!1}:null}function Di(e,n,o,i,a="(논리명)"){switch(e){case"CLASS":return n;case"PHYSICAL":return i||n;case"LOGICAL":return o||a;default:return i?`${o||a} · ${i}`:o||a}}const Cs="(미지정)",ph="(이름 없음)",Li=e=>e==null||String(e).trim()==="",Oi=e=>Li(e)?ph:String(e),Ss=e=>Li(e)?Cs:String(e);function $s(e){switch(e){case"NO_INSTANCE_OR_ONE_INSTANCE":return"0..1";case"EXACTLY_ONE_INSTANCE":return"1";case"ZERO_OR_MORE_INSTANCES":return"0..*";case"ONE_OR_MORE_INSTANCES":return"1..*"}return Cs}function Rs(e,n){const o=e.length?`(${e.length}${e.scale!=null?`,${e.scale}`:""})`:"",i=Li(n)?Ss(e.physicalName):String(n),a=Li(e.dataType)?"":String(e.dataType).trim();return a?`${i} ${a}${o}`:i}function As(e){return[e.unique?"UNIQUE":"",e.autoIncrement?"AUTO_INCREMENT":"",e.sharedColumnRef?"SHARED":""].filter(Boolean)}function Ts(e,n){var r,l,s;const o=new Map(e.entities.map(c=>[c.modelId,c.name])),i=new Map;for(const c of e.groups)for(const d of c.memberEntityRefs)i.set(d,c.packageName||(((r=c.name)==null?void 0:r.ko)??c.modelId));const a=[];for(const c of e.entities){const d=(l=c.table)!=null&&l.physicalName?` (${c.table.physicalName})`:"",u=i.get(c.modelId);a.push(`## ${Oi(c.name)}${d} «${Ho(c.stereotype)}»${u?` [${u}]`:""}`);const m=lo(kn(c,e.entities)),h=f=>{var y;return f.sharedColumnRef?(y=Vn(f,m))==null?void 0:y.physicalName:void 0},p=[...c.attributes].sort((f,y)=>f.order-y.order);for(const f of p){if(f.attrType==="DIVIDER"){a.push(` ${"─".repeat(8)}${f.name?` ${f.name} ${"─".repeat(8)}`:""}`);continue}const y=f.dbAttrs.map((C,R)=>jo(f,C,R,c,e,n)),k=[f.identifier?"PK":"",f.notNull?"NOT NULL":""].filter(Boolean),_=` - ${Oi(f.name)}: ${Ss(f.type)}`,N=C=>C.length?` {${C.join(", ")}}`:"";if(y.length>1){a.push(`${_}${N(k)}`),y.forEach((C,R)=>{const A=fh(f,R,e,n);a.push(` · ${A?`${A} → `:""}${Rs(C,h(C))}${N(As(C))}`)});continue}const x=y[0],T=x?` → ${Rs(x,h(x))}`:"";a.push(`${_}${T}${N([...k,...x?As(x):[]])}`)}const g=Mn(c.attributes);for(const f of c.indexes??[]){const y=f.columns.map(k=>{var _,N;return`${((_=g.attributeOf(k.columnRef))==null?void 0:_.name)??((N=_r(k.columnRef))==null?void 0:N.field)??k.columnRef}${k.descending?" DESC":""}`}).join(", ");a.push(` index ${Oi(f.name)}${f.unique?" UNIQUE":""}: ${y}`)}const b=[...c.operations??[]].sort((f,y)=>f.order-y.order);for(const f of b){const y=f.visibility?` {${f.visibility}}`:"",k=(s=f.description)!=null&&s.ko?` — ${f.description.ko}`:"";a.push(` method ${Oi(f.name)}()${y}${k}`)}a.push("")}if(e.associations.length){a.push("# 관계");for(const c of e.associations){const d=o.get(c.end1.entityRef)??c.end1.entityRef,u=o.get(c.end2.entityRef)??c.end2.entityRef,m=c.end2.composition||c.end1.composition?" (composition)":"";a.push(` ${d} ${$s(c.end1.multiplicity)} —— ${$s(c.end2.multiplicity)} ${u}${m}`)}}return a.join(`
1
+ (function(ge,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@g1cloud/open-bluesea-core")):typeof define=="function"&&define.amd?define(["exports","vue","@g1cloud/open-bluesea-core"],t):(ge=typeof globalThis<"u"?globalThis:ge||self,t(ge.EntityModeler={},ge.Vue,ge.OpenBlueseaCore))})(this,(function(ge,t,te){"use strict";var AB=Object.defineProperty;var TB=(ge,t,te)=>t in ge?AB(ge,t,{enumerable:!0,configurable:!0,writable:!0,value:te}):ge[t]=te;var Ze=(ge,t,te)=>TB(ge,typeof t!="symbol"?t+"":t,te);const lh={startX:40,startY:40,columnGap:280,rowGap:220,perRow:4,defaultSize:{width:220,height:140}};function sh(e,n){const o=e%n.perRow,i=Math.floor(e/n.perRow);return{location:{x:n.startX+o*n.columnGap,y:n.startY+i*n.rowGap},size:{...n.defaultSize}}}function Es(e,n,o={}){const i={...lh,...o},a=new Map(e.entities.map(f=>[f.modelId,f])),r=new Map(n.entityLayouts.map(f=>[f.entityRef,f])),l=new Map(n.associationLayouts.map(f=>[f.associationRef,f])),s=new Map;for(const f of e.groups)for(const y of f.memberEntityRefs)s.set(y,f.modelId);const c=new Map;for(const f of n.groupLayouts)for(const y of f.memberNoteRefs??[])c.set(y,f.groupRef);let d=0;const u=e.entities.map(f=>{const y=s.get(f.modelId),k=r.get(f.modelId);if(k){const N={location:{x:k.geo.location.x,y:k.geo.location.y},size:{width:k.geo.size.width,height:k.geo.size.height}};return{entity:f,geo:N,collapsed:k.collapsed??!1,locked:k.locked??!1,groupRef:y,style:k.style,attributeStyles:k.attributeStyles,operationStyles:k.operationStyles}}const _=sh(d++,i);return{entity:f,geo:_,collapsed:!1,locked:!1,groupRef:y}}),m=new Map(n.groupLayouts.map(f=>[f.groupRef,f])),h=e.groups.map(f=>{const y=m.get(f.modelId),k=y?{location:{x:y.geo.location.x,y:y.geo.location.y},size:{width:y.geo.size.width,height:y.geo.size.height}}:{location:{x:0,y:0},size:{width:400,height:300}};return{group:f,geo:k,style:y==null?void 0:y.style,locked:(y==null?void 0:y.locked)??!1}}),p=e.associations.map(f=>{const y=l.get(f.modelId);return{association:f,waypoints:(y==null?void 0:y.waypoints)??[],sourceColumnRef:y==null?void 0:y.sourceColumnRef,targetColumnRef:y==null?void 0:y.targetColumnRef}}),g=n.notes.map(f=>({note:{...f,geo:{location:{x:f.geo.location.x,y:f.geo.location.y},size:{width:f.geo.size.width,height:f.geo.size.height}}},groupRef:c.get(f.modelId)})),b=[];for(const f of n.notes)for(const y of f.connections??[])a.has(y.targetRef)&&b.push({noteRef:f.modelId,targetRef:y.targetRef,waypoints:y.waypoints.map(k=>({x:k.x,y:k.y}))});return{entities:u,associations:p,groups:h,notes:g,noteConnections:b}}const ch={cellWidth:260,cellHeight:200,pad:24,headerHeight:28,ungroupedCols:4};function Ns(e,n,o={}){const i={...ch,...o},a=new Map(n.groupLayouts.map(u=>[u.groupRef,u.geo])),r=[];let l=0;for(const u of e.groups){const m=a.get(u.modelId),h=m?m.location:{x:0,y:0},p=m?m.size.width:800;m&&(l=Math.max(l,m.location.y+m.size.height));const g=Math.max(1,Math.floor((p-i.pad*2)/i.cellWidth));u.memberEntityRefs.forEach((b,f)=>{const y=f%g,k=Math.floor(f/g);r.push({id:b,location:{x:h.x+i.pad+y*i.cellWidth,y:h.y+i.pad+i.headerHeight+k*i.cellHeight}})})}const s=new Set(e.groups.flatMap(u=>u.memberEntityRefs)),c=e.entities.filter(u=>!s.has(u.modelId)),d=l>0?l+40:i.pad;return c.forEach((u,m)=>{const h=m%i.ungroupedCols,p=Math.floor(m/i.ungroupedCols);r.push({id:u.modelId,location:{x:i.pad+h*i.cellWidth,y:d+p*i.cellHeight}})}),r}const ws={cols:5,boxWidth:200,gap:60,baseX:0,baseY:0,headerHeight:48,rowHeight:24,footerHeight:16,minHeight:120};function dh(e,n={}){const o={...ws,...n},i=o.headerHeight+Math.max(0,e)*o.rowHeight+o.footerHeight;return Math.max(o.minHeight,i)}function br(e,n={}){const o={...ws,...n},i=Math.max(1,o.cols),a=new Array(i).fill(o.baseY);return e.map((r,l)=>{const s=l%i,c=dh(r.attributeCount,o),d=o.baseX+s*(o.boxWidth+o.gap),u=a[s];return a[s]=u+c+o.gap,{id:r.id,location:{x:d,y:u},size:{width:o.boxWidth,height:c}}})}function Mn(e){const n=new Map,o=new Map;for(const i of e){o.set(i.modelId,i),i.dbAttrs.length===1&&n.set(i.modelId,i.dbAttrs[0]);for(const a of i.dbAttrs)n.set(a.modelId,a),o.set(a.modelId,i)}return{attributeOf:i=>o.get(i),columnOf:i=>n.get(i),canon:i=>{var a;return((a=n.get(i))==null?void 0:a.modelId)??i}}}function vs(e,n){const o=e.attributeOf(n);if(!o)return n;const i=o.name||"(이름 없음)";if(o.dbAttrs.length<=1)return i;const a=e.columnOf(n);if(!a)return`${i}(컬럼 ${o.dbAttrs.length}개 중 미지정)`;const r=o.dbAttrs.findIndex(l=>l.modelId===a.modelId);return`${i}.${a.physicalName||`#${r+1}`}`}const Mi="inherited:";function Is(e,n){return`${Mi}${e}:${n}`}function ro(e){return e.startsWith(Mi)}function _r(e){if(!ro(e))return null;const n=e.slice(Mi.length),o=n.indexOf(":");if(o<0)return null;const i=n.slice(0,o),a=n.slice(o+1);return!i||!a?null:{baseClass:i,field:a}}function Uo(e,n){var a;if(e.stereotype==="JPA_EMBEDDABLE")return[];if(n.some(r=>r.name===e.name))return[];const o=e.superClass||((a=n.find(r=>r.default))==null?void 0:a.name);if(!o)return[];const i=n.find(r=>r.name===o);return i?i.columns.map(r=>({modelId:Is(i.name,r.field),baseClass:i.name,field:r.field,physicalName:r.physicalName,dataType:r.dataType,logicalName:r.logicalName,length:r.length,scale:r.scale})):[]}const uh={UNDEFINED:"Undefined",JPA_ENTITY:"Entity",JPA_EMBEDDABLE:"Embeddable",JPA_MULTI_LANGUAGE_ENTITY:"MultiLanguageEntity"};function Ho(e){return uh[e]??e}function Vi(e){return e.attrType.startsWith("RELATION")&&e.dbAttrs.length>0}function Bi(e,n,o,i,a=0){var m;if(!Vi(e))return;const r=(m=e.derivedFrom)==null?void 0:m.sourceAttributeRef;if(r)for(const h of o){const p=h.attributes.find(g=>g.modelId===r);if(p)return p.dbAttrs[a]}const l=i.find(h=>h.end1.attributeRef===e.modelId||h.end2.attributeRef===e.modelId);if(!l)return;const s=n==null?void 0:n.modelId,c=l.end1.entityRef===s?l.end2.entityRef:l.end1.entityRef,d=o.find(h=>h.modelId===c);return d?d.attributes.filter(h=>h.identifier&&(h.attrType==="NORMAL"||h.attrType==="RELATION_OWN")).sort((h,p)=>h.order-p.order).flatMap(h=>h.dbAttrs)[a]:void 0}const mh=e=>e==null||e.trim()==="";function xs(e,n,o,i,a){var r,l,s,c;if(e.attrType==="EMBED_PREDEF")return(l=(r=a==null?void 0:a.embeddableCatalog)==null?void 0:r.find(d=>d.type===e.type))==null?void 0:l.fields[n];if(e.attrType==="EMBED_OWN"){const d=(s=e.embedded)==null?void 0:s.embeddableRef;return d==null||(c=i.entities.find(u=>u.modelId===d))==null?void 0:c.attributes.flatMap(u=>u.dbAttrs)[n]}if(e.attrType.startsWith("RELATION"))return Bi(e,o,i.entities,i.associations,n)}function jo(e,n,o,i,a,r){const l=xs(e,o,i,a,r);return l?{...n,physicalName:n.physicalName||l.physicalName||"",dataType:n.dataType||l.dataType||"",length:n.length??l.length,scale:n.scale??l.scale}:n}function kr(e,n,o,i,a,r){var l;return mh(n.physicalName)?((l=xs(e,o,i,a,r))==null?void 0:l.physicalName)??"":n.physicalName}function fh(e,n,o,i){var a,r,l,s;if(e.attrType==="EMBED_PREDEF")return((l=(r=(a=i==null?void 0:i.embeddableCatalog)==null?void 0:a.find(c=>c.type===e.type))==null?void 0:r.fields[n])==null?void 0:l.name)||void 0;if(e.attrType==="EMBED_OWN"){const c=(s=e.embedded)==null?void 0:s.embeddableRef;if(c==null)return;const d=o.entities.find(m=>m.modelId===c);if(!d)return;let u=0;for(const m of d.attributes)for(let h=0;h<m.dbAttrs.length;h++){if(u===n)return m.name||void 0;u++}}}function Er(e,n){if(e.stereotype!=="JPA_EMBEDDABLE")return[e];const o=n.filter(i=>i.modelId!==e.modelId&&i.attributes.some(a=>{var r;return a.attrType==="EMBED_OWN"&&((r=a.embedded)==null?void 0:r.embeddableRef)===e.modelId}));return[e,...o]}function kn(e,n){return Er(e,n).flatMap(o=>o.attributes.flatMap(i=>i.dbAttrs))}function lo(e){const n=new Map;for(const o of e)n.set(o.modelId,o);return n}function Vn(e,n){if(e.sharedColumnRef==null)return null;const o=n.get(e.sharedColumnRef);return o?{physicalName:o.physicalName,insertable:!1,updatable:!1}:null}function Di(e,n,o,i,a="(논리명)"){switch(e){case"CLASS":return n;case"PHYSICAL":return i||n;case"LOGICAL":return o||a;default:return i?`${o||a} · ${i}`:o||a}}const Cs="(미지정)",ph="(이름 없음)",Li=e=>e==null||String(e).trim()==="",Oi=e=>Li(e)?ph:String(e),Ss=e=>Li(e)?Cs:String(e);function $s(e){switch(e){case"NO_INSTANCE_OR_ONE_INSTANCE":return"0..1";case"EXACTLY_ONE_INSTANCE":return"1";case"ZERO_OR_MORE_INSTANCES":return"0..*";case"ONE_OR_MORE_INSTANCES":return"1..*"}return Cs}function Rs(e,n){const o=e.length?`(${e.length}${e.scale!=null?`,${e.scale}`:""})`:"",i=Li(n)?Ss(e.physicalName):String(n),a=Li(e.dataType)?"":String(e.dataType).trim();return a?`${i} ${a}${o}`:i}function As(e){return[e.unique?"UNIQUE":"",e.autoIncrement?"AUTO_INCREMENT":"",e.sharedColumnRef?"SHARED":""].filter(Boolean)}function Ts(e,n){var r,l,s;const o=new Map(e.entities.map(c=>[c.modelId,c.name])),i=new Map;for(const c of e.groups)for(const d of c.memberEntityRefs)i.set(d,c.packageName||(((r=c.name)==null?void 0:r.ko)??c.modelId));const a=[];for(const c of e.entities){const d=(l=c.table)!=null&&l.physicalName?` (${c.table.physicalName})`:"",u=i.get(c.modelId);a.push(`## ${Oi(c.name)}${d} «${Ho(c.stereotype)}»${u?` [${u}]`:""}`);const m=lo(kn(c,e.entities)),h=f=>{var y;return f.sharedColumnRef?(y=Vn(f,m))==null?void 0:y.physicalName:void 0},p=[...c.attributes].sort((f,y)=>f.order-y.order);for(const f of p){if(f.attrType==="DIVIDER"){a.push(` ${"─".repeat(8)}${f.name?` ${f.name} ${"─".repeat(8)}`:""}`);continue}const y=f.dbAttrs.map((C,R)=>jo(f,C,R,c,e,n)),k=[f.identifier?"PK":"",f.notNull?"NOT NULL":""].filter(Boolean),_=` - ${Oi(f.name)}: ${Ss(f.type)}`,N=C=>C.length?` {${C.join(", ")}}`:"";if(y.length>1){a.push(`${_}${N(k)}`),y.forEach((C,R)=>{const A=fh(f,R,e,n);a.push(` · ${A?`${A} → `:""}${Rs(C,h(C))}${N(As(C))}`)});continue}const x=y[0],T=x?` → ${Rs(x,h(x))}`:"";a.push(`${_}${T}${N([...k,...x?As(x):[]])}`)}const g=Mn(c.attributes);for(const f of c.indexes??[]){const y=f.columns.map(k=>{var _,N;return`${((_=g.attributeOf(k.columnRef))==null?void 0:_.name)??((N=_r(k.columnRef))==null?void 0:N.field)??k.columnRef}${k.descending?" DESC":""}`}).join(", ");a.push(` index ${Oi(f.name)}${f.unique?" UNIQUE":""}: ${y}`)}const b=[...c.operations??[]].sort((f,y)=>f.order-y.order);for(const f of b){const y=f.visibility?` {${f.visibility}}`:"",k=(s=f.description)!=null&&s.ko?` — ${f.description.ko}`:"";a.push(` method ${Oi(f.name)}()${y}${k}`)}a.push("")}if(e.associations.length){a.push("# 관계");for(const c of e.associations){const d=o.get(c.end1.entityRef)??c.end1.entityRef,u=o.get(c.end2.entityRef)??c.end2.entityRef,m=c.end2.composition||c.end1.composition?" (composition)":"";a.push(` ${d} ${$s(c.end1.multiplicity)} —— ${$s(c.end2.multiplicity)} ${u}${m}`)}}return a.join(`
2
2
  `).trim()}const hh=e=>e&&e[0].toLowerCase()+e.slice(1);function Pi(e){return e==="ZERO_OR_MORE_INSTANCES"||e==="ONE_OR_MORE_INSTANCES"}function Ms(e){return e!=="EXACTLY_ONE_INSTANCE"&&e!=="ONE_OR_MORE_INSTANCES"}function zi(e){switch(e){case"NO_INSTANCE_OR_ONE_INSTANCE":return"0..1";case"EXACTLY_ONE_INSTANCE":return"1";case"ZERO_OR_MORE_INSTANCES":return"0..*";case"ONE_OR_MORE_INSTANCES":return"1..*"}}function yh(e){return/[^aeiou]y$/.test(e)?`${e.slice(0,-1)}ies`:/(s|x|z|ch|sh)$/.test(e)?`${e}es`:`${e}s`}function Fi(e,n){const o=hh(e);return n?yh(o):o}function so(e,n){if(!n.has(e))return e;for(let o=2;;o++){const i=`${e}${o}`;if(!n.has(i))return i}}function gh(e){return e==="CLASS"?"class":"er"}function Nr(e,n){return n==="class"?Nh(e):_h(e)}function Ko(e,n){return(e??"").trim().replace(/[^0-9A-Za-z_]/g,"_").replace(/^(\d)/,"_$1")||n}function wr(e){return(e??"").replace(/"/g,"'").replace(/\s+/g," ").trim()}function Vs(e,n){const o=new Set,i=new Map;return e.entities.forEach((a,r)=>{const l=Ko(n(a),`Entity_${r+1}`);let s=l,c=2;for(;o.has(s);)s=`${l}_${c++}`;o.add(s),i.set(a.modelId,s)}),i}function bh(e){return e.attrType==="RELATION_OWN"||e.attrType==="RELATION_REF"||e.derivedFrom!=null}const Bs=zi;function Ds(e,n){return(n==="left"?{NO_INSTANCE_OR_ONE_INSTANCE:"|o",EXACTLY_ONE_INSTANCE:"||",ZERO_OR_MORE_INSTANCES:"}o",ONE_OR_MORE_INSTANCES:"}|"}:{NO_INSTANCE_OR_ONE_INSTANCE:"o|",EXACTLY_ONE_INSTANCE:"||",ZERO_OR_MORE_INSTANCES:"o{",ONE_OR_MORE_INSTANCES:"|{"})[e]}function _h(e){var i,a;const n=Vs(e,r=>{var l;return((l=r.table)==null?void 0:l.physicalName)||r.name}),o=["erDiagram"];for(const r of e.entities){const l=n.get(r.modelId),s=[...r.attributes].filter(c=>c.attrType!=="DIVIDER").sort((c,d)=>c.order-d.order);if(s.length===0){o.push(` ${l}`);continue}o.push(` ${l} {`);for(const c of s){const d=c.dbAttrs[0],u=Ko((d==null?void 0:d.dataType)||c.type,"unknown"),m=Ko((d==null?void 0:d.physicalName)||c.name,"col"),h=[c.identifier?"PK":"",bh(c)?"FK":"",d!=null&&d.unique?"UK":""].filter(Boolean).join(", "),p=d!=null&&d.length?`(${d.length}${d.scale!=null?`,${d.scale}`:""})`:"",g=(a=(i=c.dbAttrs[0])==null?void 0:i.logicalName)==null?void 0:a.ko,b=wr([g,p].filter(Boolean).join(" ")),f=[` ${u} ${m}`];h&&f.push(h);let y=f.join(" ");b&&(y+=` "${b}"`),o.push(y)}o.push(" }")}for(const r of e.associations){const l=n.get(r.end1.entityRef),s=n.get(r.end2.entityRef);if(!l||!s)continue;const c=`${Ds(r.end1.multiplicity,"left")}--${Ds(r.end2.multiplicity,"right")}`,d=wr(r.description);o.push(` ${l} ${c} ${s} : "${d}"`)}return o.join(`
3
3
  `)}function kh(e){return e&&e!=="UNDEFINED"?Ho(e):null}function Eh(e){return(e??"").trim().replace(/</g,"~").replace(/>/g,"~").replace(/[^0-9A-Za-z_~]/g,"")||"any"}function Nh(e){const n=Vs(e,i=>i.name),o=["classDiagram"];for(const i of e.entities){const a=n.get(i.modelId),r=[],l=kh(i.stereotype);l&&r.push(` <<${l}>>`);const s=[...i.attributes].filter(c=>c.attrType!=="DIVIDER").sort((c,d)=>c.order-d.order);for(const c of s)r.push(` +${Eh(c.type)} ${Ko(c.name,"field")}`);for(const c of[...i.operations??[]].sort((d,u)=>d.order-u.order))r.push(` +${Ko(c.name,"op")}()`);r.length===0?o.push(` class ${a}`):(o.push(` class ${a} {`),o.push(...r),o.push(" }"))}for(const i of e.associations){const a=n.get(i.end1.entityRef),r=n.get(i.end2.entityRef);if(!a||!r)continue;const l=wh(i),s=wr(i.description),c=` ${a} "${Bs(i.end1.multiplicity)}" ${l} "${Bs(i.end2.multiplicity)}" ${r}`;o.push(s?`${c} : ${s}`:c)}return o.join(`
4
4
  `)}function wh(e){return e.end1.composition||e.end2.composition?"*--":e.end2.navigable||e.end1.navigable?"-->":"--"}function Be(){return crypto.randomUUID()}const vh=["BIT","TINYINT","SMALLINT","INTEGER","BIGINT","FLOAT","REAL","DOUBLE","NUMERIC","DECIMAL","CHAR","VARCHAR","LONGVARCHAR","DATE","TIME","TIMESTAMP","BINARY","VARBINARY","LONGVARBINARY","NULL","OTHER","JAVA_OBJECT","DISTINCT","STRUCT","ARRAY","BLOB","CLOB","REF","DATALINK","BOOLEAN","ROWID","NCHAR","NVARCHAR","LONGNVARCHAR","NCLOB","SQLXML","REF_CURSOR","TIME_WITH_TIMEZONE","TIMESTAMP_WITH_TIMEZONE","SERIAL","BIG_SERIAL","JSONB"],Ih=new Set(["NULL","OTHER","JAVA_OBJECT","DISTINCT","STRUCT","ARRAY","REF","DATALINK","ROWID","REF_CURSOR","NCHAR","NVARCHAR","LONGNVARCHAR","NCLOB","SQLXML","TIME_WITH_TIMEZONE","BIT","TINYINT","FLOAT"]),xh=vh.filter(e=>!Ih.has(e)),Ch={TIMESTAMP_WITH_TIMEZONE:"TIMESTAMP WITH TIME ZONE",BIG_SERIAL:"BIGSERIAL",DOUBLE:"DOUBLE PRECISION"};function vr(e){return Ch[e]??e}const Sh=new Set(["CHAR","VARCHAR","NCHAR","NVARCHAR","BINARY","VARBINARY","NUMERIC","DECIMAL"]),Ir=new Set(["NUMERIC","DECIMAL"]);function Ls(e,n=xh){const o=[...n];return e&&!o.includes(e)?[e,...o]:o}const en="CustomType",co="GroupCodeEnum",xr="String",Ui=[{value:"String",label:"String"},{value:"Integer",label:"Integer"},{value:"Long",label:"Long"},{value:"Double",label:"Double"},{value:"Boolean",label:"Boolean"},{value:"Date",label:"Date"},{value:"LocalDate",label:"LocalDate"},{value:"LocalDateTime",label:"LocalDateTime"},{value:"Instant",label:"Instant"},{value:"ZonedDateTime",label:"ZonedDateTime"},{value:"OffsetDateTime",label:"OffsetDateTime"},{value:"BigDecimal",label:"BigDecimal"},{value:"BigInteger",label:"BigInteger"},{value:"Currency",label:"Currency"},{value:"ByteArray",label:"Byte[]"},{value:"CharacterArray",label:"Character[]"},{value:"Short",label:"Short"},{value:"PrimitiveInt",label:"int",boxed:"Integer"},{value:"PrimitiveLong",label:"long",boxed:"Long"},{value:"PrimitiveDouble",label:"double",boxed:"Double"},{value:"PrimitiveBoolean",label:"boolean",boxed:"Boolean"},{value:"PrimitiveShort",label:"short",boxed:"Short"},{value:"PrimitiveByteArray",label:"byte[]",boxed:"Byte[]"},{value:"PrimitiveCharacterArray",label:"char[]",boxed:"Character[]"},{value:co,label:"GroupCodeEnum"},{value:"CustomMoneyType",label:"Money"},{value:en,label:"CustomType"}],$h=new Map(Ui.map(e=>[e.value,e.label]));function uo(e){return $h.get(e)??e}const Rh={TINYINT:"Short",SMALLINT:"Short",INTEGER:"Integer",BIGINT:"Long",SERIAL:"Integer",BIG_SERIAL:"Long",FLOAT:"Double",REAL:"Double",DOUBLE:"Double",NUMERIC:"BigDecimal",DECIMAL:"BigDecimal",CHAR:"String",VARCHAR:"String",LONGVARCHAR:"String",NCHAR:"String",NVARCHAR:"String",LONGNVARCHAR:"String",CLOB:"String",NCLOB:"String",BIT:"Boolean",BOOLEAN:"Boolean",DATE:"LocalDate",TIMESTAMP:"LocalDateTime",TIMESTAMP_WITH_TIMEZONE:"OffsetDateTime",BINARY:"ByteArray",VARBINARY:"ByteArray",LONGVARBINARY:"ByteArray",BLOB:"ByteArray"};function Os(e){if(e)return Rh[e.toUpperCase()]}const Ah=new Set([co,"CustomMoneyType"]),Ps=Ui.filter(e=>!Ah.has(e.value)).map(e=>e.value===en?{...e,label:"CustomType (사용자정의)"}:e);function zs(e,n=[]){const o=n.map(a=>{var l,s;const r=((l=a.label)==null?void 0:l.ko)??((s=a.label)==null?void 0:s.en);return{value:a.type,label:r?`${a.type} (${r})`:a.type}}),i=[...Ps,...o];return e&&!i.some(a=>a.value===e)?[{value:e,label:uo(e)},...i]:i}function Th(e){return e.attrType.startsWith("EMBED")&&e.dbAttrs.length>0}function Cr(e,n){var r;if(!e.embedded||!e.attrType.startsWith("EMBED"))return;const o=n.find(l=>l.modelId===e.embedded.associationRef);if(!o)return;const i=o.end2.entityRef===e.embedded.embeddableRef?o.end2:o.end1;if(i.multiplicity==="ZERO_OR_MORE_INSTANCES"||i.multiplicity==="ONE_OR_MORE_INSTANCES")return((r=i.jpa)==null?void 0:r.collectionType)??"LIST"}function Sr(e,n,o){var i;return n.attrType==="DIVIDER"||e==="LOGICAL"?"":o&&n.attrType.startsWith("EMBED")?`${o==="SET"?"Set":"List"}<${uo(n.type)}>`:Th(n)?uo(n.type):e==="CLASS"?n.type===en&&n.customType||uo(n.type):vr(((i=n.dbAttrs[0])==null?void 0:i.dataType)??"")}const Mh={"|o":"NO_INSTANCE_OR_ONE_INSTANCE","||":"EXACTLY_ONE_INSTANCE","}o":"ZERO_OR_MORE_INSTANCES","}|":"ONE_OR_MORE_INSTANCES"},Vh={"o|":"NO_INSTANCE_OR_ONE_INSTANCE","||":"EXACTLY_ONE_INSTANCE","o{":"ZERO_OR_MORE_INSTANCES","|{":"ONE_OR_MORE_INSTANCES"};function Bh(e,n,o){var a,r;if(!o.size)return;const i=new Map(e.map(l=>[l.modelId,l]));for(const l of e){const s=l.attributes.filter(d=>o.has(d.modelId));if(!s.length)continue;const c=n.filter(d=>d.end2.entityRef===l.modelId).map(d=>({assoc:d,parent:i.get(d.end1.entityRef)})).filter(d=>d.parent!=null);if(c.length)for(const d of s){const u=(a=d.dbAttrs[0])==null?void 0:a.physicalName,m=(p,g)=>p.attributes.find(b=>{var f;return b.identifier&&(g==null||((f=b.dbAttrs[0])==null?void 0:f.physicalName)===g)});let h=c.length===1?c[0]:void 0;if(!h){const p=c.filter(g=>m(g.parent,u)!=null);p.length===1&&(h=p[0])}h&&(d.attrType="RELATION_OWN",d.derivedFrom={associationRef:h.assoc.modelId,sourceAttributeRef:((r=m(h.parent,u)??m(h.parent))==null?void 0:r.modelId)??""},h.assoc.end2.attributeRef||(h.assoc.end2.attributeRef=d.modelId))}}}function Dh(e,n){let o=e,i;const a=o.match(/"([^"]*)"\s*$/);a&&(i=a[1],o=o.slice(0,a.index).trim());const r=o.split(/\s+/).filter(Boolean);if(r.length<2)return null;const l=r[0],s=r[1],c=new Set(r.slice(2).join(" ").split(",").map(g=>g.trim()).filter(Boolean));let d,u,m;if(i!=null){const g=i.match(/\((\d+)(?:,\s*(\d+))?\)\s*$/);if(g){d=Number(g[1]),g[2]!=null&&(u=Number(g[2]));const b=i.slice(0,g.index).trim();b&&(m=b)}else i.trim()&&(m=i.trim())}const h={modelId:Be(),physicalName:s,dataType:l};return d!=null&&(h.length=d),u!=null&&(h.scale=u),c.has("UK")&&(h.unique=!0),m&&(h.logicalName={ko:m}),{attr:{modelId:Be(),name:s,type:Os(l)??"",attrType:"NORMAL",identifier:c.has("PK"),notNull:c.has("PK"),order:n,dbAttrs:[h]},foreignKey:c.has("FK")}}function Fs(e){const n=e.split(`
@@ -62,5 +62,5 @@ Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will
62
62
  h${-(C.value.width-2*e.maskBorderRadius)}
63
63
  a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 -${e.maskBorderRadius},-${e.maskBorderRadius}
64
64
  v${-(C.value.height-2*e.maskBorderRadius)}
65
- a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 ${e.maskBorderRadius},-${e.maskBorderRadius}z`);t.watchEffect(z=>{if(b.value){const K=Rn(b.value),J=ce=>{if(ce.sourceEvent.type!=="wheel"||!h.value||!p.value)return;const Ne=ce.sourceEvent.ctrlKey&&gi()?10:1,pe=-ce.sourceEvent.deltaY*(ce.sourceEvent.deltaMode===1?.05:ce.sourceEvent.deltaMode?1:.002)*e.zoomStep,de=c.value.zoom*2**(pe*Ne);p.value.scaleTo(h.value,de)},re=ce=>{if(ce.sourceEvent.type!=="mousemove"||!h.value||!p.value)return;const Ne=A.value*Math.max(1,c.value.zoom)*(e.inversePan?-1:1),pe={x:c.value.x-ce.sourceEvent.movementX*Ne,y:c.value.y-ce.sourceEvent.movementY*Ne},de=[[0,0],[u.value.width,u.value.height]],_e=ps.translate(pe.x,pe.y).scale(c.value.zoom),Se=p.value.constrain()(_e,de,d.value);p.value.transform(h.value,Se)},he=pA().wheelDelta(ce=>Al(ce)*(e.zoomStep/10)).on("zoom",e.pannable?re:()=>{}).on("zoom.wheel",e.zoomable?J:()=>{});K.call(he),z(()=>{K.on("zoom",null)})}},{flush:"post"});function v(z){const[K,J]=An(z);n("click",{event:z,position:{x:K,y:J}})}function I(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeClick(J),n("nodeClick",J)}function E(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeDoubleClick(J),n("nodeDblclick",J)}function w(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeMouseEnter(J),n("nodeMouseenter",J)}function $(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeMouseMove(J),n("nodeMousemove",J)}function D(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeMouseLeave(J),n("nodeMouseleave",J)}return(z,K)=>(t.openBlock(),t.createBlock(t.unref(Ym),{position:z.position,class:t.normalizeClass(["vue-flow__minimap",{pannable:z.pannable,zoomable:z.zoomable}])},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{ref_key:"el",ref:b,width:f.value,height:y.value,viewBox:[M.value.x,M.value.y,M.value.width,M.value.height].join(" "),role:"img","aria-labelledby":`vue-flow__minimap-${t.unref(l)}`,onClick:v},[z.ariaLabel?(t.openBlock(),t.createElementBlock("title",{key:0,id:`vue-flow__minimap-${t.unref(l)}`},t.toDisplayString(z.ariaLabel),9,_A)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(g),J=>(t.openBlock(),t.createBlock(gA,{id:J.id,key:J.id,f:"",position:J.computedPosition,dimensions:J.dimensions,selected:J.selected,dragging:J.dragging,style:t.normalizeStyle(J.style),class:t.normalizeClass(x.value(J)),color:_.value(J),"border-radius":z.nodeBorderRadius,"stroke-color":N.value(J),"stroke-width":z.nodeStrokeWidth,"shape-rendering":t.unref(k),type:J.type,hidden:J.hidden,onClick:re=>I(re,J),onDblclick:re=>E(re,J),onMouseenter:re=>w(re,J),onMousemove:re=>$(re,J),onMouseleave:re=>D(re,J)},null,8,["id","position","dimensions","selected","dragging","style","class","color","border-radius","stroke-color","stroke-width","shape-rendering","type","hidden","onClick","onDblclick","onMouseenter","onMousemove","onMouseleave"]))),128)),t.createElementVNode("path",{class:"vue-flow__minimap-mask",d:B.value,fill:z.maskColor,stroke:z.maskStrokeColor,"stroke-width":z.maskStrokeWidth,"fill-rule":"evenodd"},null,8,kA)],8,bA))]),_:1},8,["position","class"]))}}),wA=["d"],vA=["cx","cy","onDblclick"],IA=["x","y","onPointerdown","onDblclick"],xA=Ke(t.defineComponent({inheritAttrs:!1,__name:"NoteConnectionEdge",props:{id:{},sourceNode:{},targetNode:{},data:{}},setup(e){const n=e,{screenToFlowCoordinate:o}=je(),i=t.inject(Wl),a=t.inject(eo,null),r=t.computed(()=>!!a&&a.editable.value),l=t.inject(Mo,null),s=t.computed(()=>!!l&&l.active.value&&(!l.relatedEntityIds.value.has(n.data.targetRef)||!l.relatedNoteIds.value.has(n.data.noteRef))),c=t.computed(()=>(i==null?void 0:i.points(n.id))??[]),d=t.ref(-1),u=t.ref({x:0,y:0}),m=t.computed(()=>c.value.map((R,A)=>A===d.value?u.value:R)),{source:h,target:p,sourceSide:g,targetSide:b}=jf({sourceNode:()=>n.sourceNode,targetNode:()=>n.targetNode,waypoints:()=>m.value}),f=t.computed(()=>(a==null?void 0:a.routingMode.value)==="orthogonal"?xf(h.value,g.value,m.value,p.value,b.value):Sf(h.value,m.value,p.value)),y=t.computed(()=>r.value?(a==null?void 0:a.routingMode.value)==="orthogonal"?Cf(h.value,g.value,m.value,p.value,b.value):Af(h.value,m.value,p.value).map((R,A)=>({point:R,segIndex:A})):[]),k=t.computed(()=>r.value?m.value:[]);function _(R,A){d.value=R,u.value={...c.value[R]},A.target.setPointerCapture(A.pointerId),A.stopPropagation()}function N(R){if(d.value<0)return;const A=o({x:R.clientX,y:R.clientY});u.value={x:A.x,y:A.y}}function x(R){var A,M;d.value>=0&&i&&i.movePoint(n.id,d.value,{...u.value}),d.value=-1,(M=(A=R.target).releasePointerCapture)==null||M.call(A,R.pointerId)}function T(R,A){A.stopPropagation(),i==null||i.removePoint(n.id,R)}function C(R,A){if(!i)return;const M=o({x:A.clientX,y:A.clientY});i.insertPoint(n.id,R,{x:M.x,y:M.y})}return(R,A)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",{d:f.value,fill:"none","stroke-width":"1.5","stroke-dasharray":"6 4",class:t.normalizeClass(["em-note-edge__path",{"is-dimmed":s.value}])},null,10,wA),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(M,B)=>(t.openBlock(),t.createElementBlock("circle",{key:`mid-${B}`,cx:M.point.x,cy:M.point.y,r:"4",class:t.normalizeClass(["em-note-edge__mid",{"is-dimmed":s.value}]),onDblclick:t.withModifiers(v=>C(M.segIndex,v),["stop"])},null,42,vA))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,(M,B)=>(t.openBlock(),t.createElementBlock("rect",{key:`wp-${B}`,x:M.x-5,y:M.y-5,width:"10",height:"10",rx:"2",class:t.normalizeClass(["em-note-edge__waypoint",{"is-dimmed":s.value}]),onPointerdown:v=>_(B,v),onPointermove:N,onPointerup:x,onDblclick:v=>T(B,v)},null,42,IA))),128))],64))}}),[["__scopeId","data-v-8515def1"]]),CA=["data-theme"],SA={key:0,class:"em-ctx__sep",role:"separator"},$A=["aria-label"],RA={class:"em-ctx__swatches-label","aria-hidden":"true"},AA={class:"em-ctx__chips",role:"none"},TA=["aria-checked","aria-label","title","onClick"],MA=["aria-checked","aria-label","title","onClick"],VA=["disabled","onClick"],BA={class:"em-ctx__icon"},DA={class:"em-ctx__caption"},LA=Ke(t.defineComponent({__name:"EmContextMenu",props:{locale:{}},setup(e,{expose:n}){const o=e,i=(_,N)=>Lt(o.locale??"ko",_,N),a=t.ref(!1),r=t.ref([]),l=t.ref(void 0),s=t.ref(null),c=t.reactive({x:0,y:0});let d=null;const u=8;async function m(_,N){var C,R;r.value=N,l.value=(C=_.target)!=null&&C.closest('[data-theme="dark"]')?"dark":void 0,d=document.activeElement,c.x=_.clientX,c.y=_.clientY,a.value=!0,window.addEventListener("keydown",f),window.addEventListener("resize",h),await t.nextTick();const x=s.value;if(!x)return;const T=x.getBoundingClientRect();c.x+T.width>window.innerWidth-u&&(c.x=Math.max(u,window.innerWidth-u-T.width)),c.y+T.height>window.innerHeight-u&&(c.y=Math.max(u,window.innerHeight-u-T.height)),(R=p()[0])==null||R.focus()}function h(){if(!a.value)return;a.value=!1,r.value=[],window.removeEventListener("keydown",f),window.removeEventListener("resize",h);const _=d;d=null,_!=null&&_.isConnected&&_.focus()}function p(){const _=s.value;if(!_)return[];const N=[];for(const x of Array.from(_.children))if(x.classList.contains("em-ctx__item"))x.disabled||N.push(x);else if(x.classList.contains("em-ctx__swatches")){const T=Array.from(x.querySelectorAll(".em-ctx__chip"));T.length&&N.push(T.find(C=>C===document.activeElement)??T[0])}return N}function g(_){var C;const N=p();if(!N.length)return;const x=N.indexOf(document.activeElement),T=x<0?_>0?0:N.length-1:(x+_+N.length)%N.length;(C=N[T])==null||C.focus()}function b(_){var C,R;const N=(C=document.activeElement)==null?void 0:C.closest(".em-ctx__swatches");if(!N)return!1;const x=Array.from(N.querySelectorAll(".em-ctx__chip")),T=x.indexOf(document.activeElement);return T<0?!1:((R=x[(T+_+x.length)%x.length])==null||R.focus(),!0)}function f(_){var N,x;switch(_.key){case"Escape":_.stopPropagation(),h();return;case"ArrowDown":_.preventDefault(),g(1);return;case"ArrowUp":_.preventDefault(),g(-1);return;case"ArrowRight":b(1)&&_.preventDefault();return;case"ArrowLeft":b(-1)&&_.preventDefault();return;case"Home":_.preventDefault(),(N=p()[0])==null||N.focus();return;case"End":{_.preventDefault();const T=p();(x=T[T.length-1])==null||x.focus();return}case"Tab":_.preventDefault(),g(_.shiftKey?-1:1)}}function y(_){_.disabled||(_.handler(),h())}function k(_,N){_.onPick(N),h()}return t.onBeforeUnmount(h),n({open:m,close:h}),(_,N)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"em-ctx-layer","data-theme":l.value},[t.createElementVNode("div",{class:"em-ctx__scrim",onPointerdown:h,onContextmenu:t.withModifiers(h,["prevent"])},null,32),t.createElementVNode("div",{ref_key:"menuEl",ref:s,class:"em-ctx",style:t.normalizeStyle({left:c.x+"px",top:c.y+"px"}),role:"menu",onContextmenu:N[0]||(N[0]=t.withModifiers(()=>{},["prevent"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,(x,T)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:T},[x.type==="separator"?(t.openBlock(),t.createElementBlock("div",SA)):x.type==="swatches"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"em-ctx__swatches",role:"group","aria-label":x.caption},[t.createElementVNode("span",RA,t.toDisplayString(x.caption),1),t.createElementVNode("div",AA,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-ctx__chip em-ctx__chip--none",{"is-on":x.current===null}]),role:"menuitemradio","aria-checked":x.current===null,"aria-label":i("em.swatch.none"),title:i("em.swatch.none"),onClick:C=>k(x,null)},null,10,TA),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),C=>(t.openBlock(),t.createElementBlock("button",{key:C,type:"button",class:t.normalizeClass(["em-ctx__chip",{"is-on":x.current===C}]),style:t.normalizeStyle({background:t.unref(Ao)(C)}),role:"menuitemradio","aria-checked":x.current===C,"aria-label":i(t.unref(Zn)(C)),title:i(t.unref(Zn)(C)),onClick:R=>k(x,C)},null,14,MA))),128))])],8,$A)):(t.openBlock(),t.createElementBlock("button",{key:2,type:"button",class:t.normalizeClass(["em-ctx__item",{"is-danger":x.danger,"is-disabled":x.disabled}]),disabled:x.disabled,role:"menuitem",onClick:C=>y(x)},[t.createElementVNode("span",BA,[x.icon?(t.openBlock(),t.createBlock(Ae,{key:0,name:x.icon,size:15},null,8,["name"])):t.createCommentVNode("",!0)]),t.createElementVNode("span",DA,t.toDisplayString(x.caption),1)],10,VA))],64))),128))],36)],8,CA)):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-2f05239a"]]);function Op(e,n){return n?`${e}:${n}`:e}function Pp(e,n){var o;if(!e||typeof window>"u")return{};try{const i=(o=window.sessionStorage)==null?void 0:o.getItem(Op(e,n));if(!i)return{};const a=JSON.parse(i);if(!a||typeof a!="object"||Array.isArray(a))return{};const r={};for(const[l,s]of Object.entries(a))typeof s=="boolean"&&(r[l]=s);return r}catch{return{}}}function OA(e,n,o){var i,a;if(!(!e||typeof window>"u"))try{const r=Op(e,n);Object.keys(o).length?(a=window.sessionStorage)==null||a.setItem(r,JSON.stringify(o)):(i=window.sessionStorage)==null||i.removeItem(r)}catch{}}function zp(e){const n=()=>{var s;return(s=e.scope)==null?void 0:s.call(e)},o=t.ref(Pp(e.storageKey,n()));e.scope&&t.watch(()=>e.scope(),s=>o.value=Pp(e.storageKey,s)),t.watch(o,s=>OA(e.storageKey,n(),s),{deep:!0});const i=s=>o.value[s]??e.defaultCollapsed(s);function a(s){o.value={...o.value,[s]:!i(s)}}const r=t.computed(()=>!e.expandableKeys().some(s=>i(s)));function l(){const s=r.value,c={...o.value};for(const d of e.expandableKeys())c[d]=s;o.value=c}return{isCollapsed:i,toggle:a,toggleAll:l,allExpanded:r}}const ys=[".em-entity__grip",".em-entity__add",".em-entity__footer",".em-sel",".em-handle",".em-note-handle",".vue-flow__handle",".em-group__resize",".em-note__resize",".em-edge__waypoint",".em-edge__mid",".em-note-edge__waypoint",".em-note-edge__mid"].join(",");function Oo(e){const n=getComputedStyle(e);return!(n.display==="none"||n.visibility==="hidden"||parseFloat(n.opacity)===0)}function PA(e){return e.childElementCount>0?!1:(e.textContent??"").trim().length>0}function zA(e,n){const o=getComputedStyle(e),i={fill:o.color,fontSize:parseFloat(o.fontSize),fontFamily:o.fontFamily,fontWeight:o.fontWeight,fontStyle:o.fontStyle},a=document.createRange();a.selectNodeContents(e);const r=e.firstChild,l=a.getClientRects();if(!r||r.nodeType!==3||l.length<=1){const g=l.length?a.getBoundingClientRect():e.getBoundingClientRect();if(g.width===0&&g.height===0)return[];const b=n(g.left,g.top+g.height/2);return[{...i,x:b.x,y:b.y,text:(e.textContent??"").trim()}]}const s=r.textContent??"",c=[];let d="",u=null,m=0,h=0;const p=()=>{const g=d.trim();if(g){const b=n(m,(u+h)/2);c.push({...i,x:b.x,y:b.y,text:g})}d=""};for(let g=0;g<s.length;g++){a.setStart(r,g),a.setEnd(r,g+1);const b=a.getBoundingClientRect();u===null||Math.abs(b.top-u)>1?(p(),u=b.top,m=b.left,h=b.bottom,d=s[g]):(d+=s[g],h=Math.max(h,b.bottom))}return p(),c}function yr(e,n){const o=[];for(const i of e.querySelectorAll("*"))PA(i)&&(i.closest(ys)||Oo(i)&&o.push(...zA(i,n)));return o}function Ri(e){return Math.round(e*100)/100}function FA(e,n){const o=[];for(const i of e.querySelectorAll("svg.em-icon")){if(i.closest(ys)||!Oo(i))continue;const a=i.getBoundingClientRect();if(a.width===0||a.height===0)continue;const r=n(a.left,a.top),l=n(a.right,a.bottom),s=getComputedStyle(i),c=i.getAttribute("viewBox")??"0 0 24 24",d=parseFloat(s.strokeWidth)||1.75;o.push(`<svg x="${Ri(r.x)}" y="${Ri(r.y)}" width="${Ri(l.x-r.x)}" height="${Ri(l.y-r.y)}" viewBox="${c}" fill="none" stroke="${s.color}" stroke-width="${d}" stroke-linecap="round" stroke-linejoin="round">${i.innerHTML}</svg>`)}return o}function UA(e){const n=[];for(const o of e.querySelectorAll(".em-edge__marker")){if(!Oo(o))continue;const i=getComputedStyle(o),a=i.stroke,r=parseFloat(i.strokeWidth)||1.5,l=i.fill&&i.fill!=="none"?i.fill:"none",s=o.tagName.toLowerCase(),c=d=>Ri(parseFloat(o.getAttribute(d)??"0"));s==="line"?n.push(`<line x1="${c("x1")}" y1="${c("y1")}" x2="${c("x2")}" y2="${c("y2")}" stroke="${a}" stroke-width="${r}" stroke-linecap="round" />`):s==="circle"?n.push(`<circle cx="${c("cx")}" cy="${c("cy")}" r="${c("r")}" fill="none" stroke="${a}" stroke-width="${r}" />`):s==="path"&&n.push(`<path d="${o.getAttribute("d")}" fill="${l}" stroke="${a}" stroke-width="${r}" stroke-linejoin="round" />`)}return n}function Fp(e,n,o){const i=[];for(const a of e.querySelectorAll("*")){if(a===n||a.closest(ys)||!Oo(a))continue;const r=getComputedStyle(a),l=parseFloat(r.borderTopWidth);if(!l)continue;const s=a.getBoundingClientRect();if(s.width===0)continue;const c=o(s.left,s.top),d=o(s.right,s.top);i.push({x1:c.x,x2:d.x,y:c.y,stroke:r.borderTopColor,strokeWidth:l})}return i}function Ai(e,n){const o=e.getBoundingClientRect(),i=getComputedStyle(e),a=n(o.left,o.top),r=n(o.right,o.bottom),l=i.borderTopStyle==="dashed",s={tl:parseFloat(i.borderTopLeftRadius)||0,tr:parseFloat(i.borderTopRightRadius)||0,br:parseFloat(i.borderBottomRightRadius)||0,bl:parseFloat(i.borderBottomLeftRadius)||0};return{x:a.x,y:a.y,w:r.x-a.x,h:r.y-a.y,fill:i.backgroundColor,stroke:i.borderTopColor,strokeWidth:parseFloat(i.borderTopWidth)||void 0,strokeDasharray:l?"6 4":void 0,radius:s}}function gs(e,n){e.minX=Math.min(e.minX,n.x),e.minY=Math.min(e.minY,n.y),e.maxX=Math.max(e.maxX,n.x+n.w),e.maxY=Math.max(e.maxY,n.y+n.h)}function HA(e){const n=e.vueFlowRef.value;if(!n)throw new Error("캔버스가 렌더되지 않아 SVG로 내보낼 수 없습니다.");const o=(p,g)=>e.screenToFlowCoordinate({x:p,y:g}),i=[],a=[],r=[],l=[],s={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};for(const p of e.nodes.value){const g=n.querySelector(`.vue-flow__node[data-id="${CSS.escape(p.id)}"]`);if(!g||!Oo(g))continue;const b=g.firstElementChild;if(b)if(p.type==="group"){const f=Ai(b,o);gs(s,f),i.push({...f,texts:[]});const y=b.querySelector(".em-group__label");y&&i.push({...Ai(y,o),stroke:"none",texts:[]}),i.push({...f,fill:"none",stroke:"none",strokeWidth:void 0,strokeDasharray:void 0,radius:void 0,texts:yr(b,o)})}else if(p.type==="note"){const f={...Ai(b,o),texts:yr(b,o),lines:Fp(b,b,o)};gs(s,f),r.push(f)}else{const f=Ai(b,o);gs(s,f);const y=f.radius??{tl:0,tr:0};a.push({...f,stroke:"none",texts:[]});const k=b.querySelector(".em-entity__header");if(k){const _=Ai(k,o);a.push({x:f.x,y:f.y,w:f.w,h:_.y+_.h-f.y,fill:_.fill,stroke:"none",radius:{tl:y.tl,tr:y.tr,br:0,bl:0},texts:[]})}a.push({...f,fill:"none",stroke:"none",strokeWidth:void 0,strokeDasharray:void 0,radius:void 0,texts:yr(b,o),lines:Fp(b,b,o),icons:FA(b,o)}),a.push({...f,fill:"none",texts:[]})}}for(const p of n.querySelectorAll(".vue-flow__edge")){const g=p.querySelector("path.em-edge__path, path.em-note-edge__path");if(!g||!Oo(g))continue;const b=g.getAttribute("d");if(!b)continue;const f=getComputedStyle(g),y=f.strokeDasharray,k=UA(p);l.push({d:b,stroke:f.stroke,strokeWidth:parseFloat(f.strokeWidth)||1.5,strokeDasharray:y&&y!=="none"?y:void 0,labels:yr(p,o),markers:k.length?k:void 0})}const c=n.closest(".em-canvas")??n,d=getComputedStyle(c).backgroundColor,u=24;return{viewBox:Number.isFinite(s.minX)?{x:s.minX-u,y:s.minY-u,w:s.maxX-s.minX+u*2,h:s.maxY-s.minY+u*2}:{x:0,y:0,w:100,h:100},background:d,groups:i,edges:l,entities:a,notes:r}}function bs(e){return Qs(HA(e))}function Up(e,n){const o=URL.createObjectURL(e);try{const i=document.createElement("a");i.href=o,i.download=n,document.body.appendChild(i),i.click(),i.remove()}finally{URL.revokeObjectURL(o)}}function Hp(e,n="diagram.svg"){const o=bs(e);Up(new Blob([o],{type:"image/svg+xml;charset=utf-8"}),n)}function jA(e){var i,a;const n=Number((i=e.match(/width="([\d.]+)"/))==null?void 0:i[1]),o=Number((a=e.match(/height="([\d.]+)"/))==null?void 0:a[1]);return{w:n>0?n:1,h:o>0?o:1}}async function jp(e,n="diagram.png",o=2){const i=bs(e),{w:a,h:r}=jA(i),l=URL.createObjectURL(new Blob([i],{type:"image/svg+xml;charset=utf-8"}));try{const s=new Image;s.width=a,s.height=r,await new Promise((m,h)=>{s.onload=()=>m(),s.onerror=()=>h(new Error("SVG 이미지 로드 실패")),s.src=l});const c=document.createElement("canvas");c.width=Math.max(1,Math.round(a*o)),c.height=Math.max(1,Math.round(r*o));const d=c.getContext("2d");if(!d)throw new Error("2D 캔버스 컨텍스트를 얻을 수 없습니다");d.scale(o,o),d.drawImage(s,0,0,a,r);const u=await new Promise(m=>c.toBlob(m,"image/png"));if(!u)throw new Error("PNG 변환 실패");Up(u,n)}finally{URL.revokeObjectURL(l)}}const KA={class:"em-shortcuts"},GA={class:"em-shortcuts__title"},YA={class:"em-shortcuts__keys"},qA={class:"em-shortcuts__kbd"},WA={key:0,class:"em-shortcuts__plus"},JA={class:"em-shortcuts__desc"},XA={class:"em-shortcuts__actions"},Kp=Ke(t.defineComponent({__name:"ShortcutHelpModal",props:{locale:{}},setup(e){const n=e,o=te.useModalHandle(),i=(s,c)=>Lt(n.locale??"ko",s,c),r=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent)?"⌘":"Ctrl",l=t.computed(()=>[{title:i("em.shortcuts.groupEdit"),items:[{keys:[r,"Z"],desc:i("em.shortcuts.descUndo")},{keys:[r,"Shift","Z"],desc:i("em.shortcuts.descRedo")},{keys:[r,"C"],desc:i("em.shortcuts.descCopy")},{keys:[r,"V"],desc:i("em.shortcuts.descPaste")},{keys:["Delete"],desc:i("em.shortcuts.descDelete")}]},{title:i("em.shortcuts.groupMove"),items:[{keys:["←","↑","→","↓"],desc:i("em.shortcuts.descMove1")},{keys:["Shift",i("em.shortcuts.keyArrows")],desc:i("em.shortcuts.descMove10")},{keys:["↑","↓"],desc:i("em.shortcuts.descAttrFocus")},{keys:["Alt","↑","↓"],desc:i("em.shortcuts.descAttrReorder")}]},{title:i("em.shortcuts.groupExplorer"),items:[{keys:["/"],desc:i("em.shortcuts.descExplorerSearch")},{keys:[i("em.shortcuts.keyArrows")],desc:i("em.shortcuts.descExplorerNav")},{keys:["Enter"],desc:i("em.shortcuts.descExplorerSelect")},{keys:["F2"],desc:i("em.shortcuts.descExplorerDetail")}]},{title:i("em.shortcuts.groupOther"),items:[{keys:[r,"K"],desc:i("em.shortcuts.descCommandPalette")},{keys:[i("em.shortcuts.keyRightClick")],desc:i("em.shortcuts.descContextMenu")},{keys:["Enter"],desc:i("em.shortcuts.descInlineConfirm")},{keys:["Esc"],desc:i("em.shortcuts.descCloseEdit")},{keys:["?"],desc:i("em.shortcuts.descOpenHelp")}]}]);return(s,c)=>(t.openBlock(),t.createBlock(t.unref(te.BSModalFrame),{title:i("em.shortcuts.title")},{default:t.withCtx(()=>[t.createElementVNode("div",KA,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,d=>(t.openBlock(),t.createElementBlock("section",{key:d.title,class:"em-shortcuts__group"},[t.createElementVNode("h4",GA,t.toDisplayString(d.title),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.items,u=>(t.openBlock(),t.createElementBlock("div",{key:u.desc,class:"em-shortcuts__row"},[t.createElementVNode("span",YA,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.keys,(m,h)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:m+h},[t.createElementVNode("kbd",qA,t.toDisplayString(m),1),h<u.keys.length-1?(t.openBlock(),t.createElementBlock("span",WA,"+")):t.createCommentVNode("",!0)],64))),128))]),t.createElementVNode("span",JA,t.toDisplayString(u.desc),1)]))),128))]))),128)),t.createElementVNode("div",XA,[t.createVNode(t.unref(te.BSButton),{variant:"text",caption:i("em.common.close"),onClick:c[0]||(c[0]=d=>t.unref(o).close())},null,8,["caption"])])])]),_:1},8,["title"]))}}),[["__scopeId","data-v-88c7f1a5"]]);function Po(...e){return e.filter(o=>!!o).join(" ").toLowerCase().trim()||void 0}function ZA(e,n){const o=new Set,i=a=>{const r=!!a.matchText&&a.matchText.includes(n);let l=!1;for(const c of a.children)i(c)&&(l=!0);const s=r||l;return s&&o.add(a.key),s};return i(e),o}const QA=["aria-label"],eT=["aria-activedescendant","aria-label","placeholder"],tT={id:"em-cmdk-listbox",class:"em-cmdk__results",role:"listbox"},nT=["aria-label"],oT={class:"em-cmdk__section","aria-hidden":"true"},iT=["id","aria-selected","onMouseenter","onClick"],aT={class:"em-cmdk__label"},rT={key:0,class:"em-cmdk__tag"},lT={key:1,class:"em-cmdk__sub"},sT=["aria-label"],cT={class:"em-cmdk__section","aria-hidden":"true"},dT=["id","aria-selected","aria-disabled","onMouseenter","onClick"],uT={class:"em-cmdk__label"},mT={key:1,class:"em-cmdk__empty"},fT=Ke(t.defineComponent({__name:"CommandPalette",props:{controller:{}},emits:["close"],setup(e,{emit:n}){const o=e,i=n,a=o.controller,r=t.ref(""),l=t.ref(0),s=t.ref(null),c=t.computed(()=>a.userLanguage.value),d=t.computed(()=>{const x=c.value,T=a.state.logical.entities.map(R=>{var A,M,B,v,I,E;return{type:"goto",kind:"entity",id:R.modelId,label:((M=(A=R.table)==null?void 0:A.logicalName)==null?void 0:M[x])||R.name,sub:(B=R.table)==null?void 0:B.physicalName,match:Po(R.name,(I=(v=R.table)==null?void 0:v.logicalName)==null?void 0:I[x],(E=R.table)==null?void 0:E.physicalName)??""}}),C=a.state.logical.groups.map(R=>{var A,M,B,v;return{type:"goto",kind:"group",id:R.modelId,label:((A=R.name)==null?void 0:A[x])||((M=R.name)==null?void 0:M.ko)||R.packageName||a.t("em.cmd.groupTag"),tag:a.t("em.cmd.groupTag"),match:Po((B=R.name)==null?void 0:B[x],(v=R.name)==null?void 0:v.ko,R.packageName)??""}});return[...T,...C]}),u={LOGICAL:"em.displayMode.logical",PHYSICAL:"em.displayMode.physical",LOGICAL_PHYSICAL:"em.displayMode.logicalPhysical",CLASS:"em.displayMode.class"},m=t.computed(()=>{const x=[];a.editable.value&&(x.push({type:"action",id:"undo",label:a.t("em.toolbar.undo"),run:()=>a.undo(),disabled:!a.canUndo.value}),x.push({type:"action",id:"redo",label:a.t("em.toolbar.redo"),run:()=>a.redo(),disabled:!a.canRedo.value}),x.push({type:"action",id:"autolayout",label:a.t("em.palette.autoLayout"),run:()=>a.autoLayout()}),x.push({type:"action",id:"collapseAll",label:a.t("em.panel.collapseAll"),run:()=>a.collapseAll()}),x.push({type:"action",id:"expandAll",label:a.t("em.panel.expandAll"),run:()=>a.expandAll()})),x.push({type:"action",id:"grid",label:a.t("em.toolbar.grid"),run:()=>a.showGrid.value=!a.showGrid.value}),x.push({type:"action",id:"minimap",label:a.t("em.toolbar.minimap"),run:()=>a.showMinimap.value=!a.showMinimap.value}),x.push({type:"action",id:"routing",label:a.t("em.toolbar.routingToggle"),run:()=>a.routingMode.value=a.routingMode.value==="straight"?"orthogonal":"straight"});for(const T of["LOGICAL","PHYSICAL","LOGICAL_PHYSICAL","CLASS"])x.push({type:"action",id:`dm-${T}`,label:a.t(u[T]),run:()=>a.displayMode.value=T});return x});function h(x,T){return x.label.toLowerCase().includes(T)}const p=t.computed(()=>{const x=r.value.trim().toLowerCase();return x?d.value.filter(T=>T.match.includes(x)):d.value}),g=t.computed(()=>{const x=r.value.trim().toLowerCase();return x?m.value.filter(T=>h(T,x)):m.value}),b=t.computed(()=>[...p.value,...g.value]);t.watch([p,g],()=>{l.value=0});function f(x){return b.value.indexOf(x)}const y=x=>`em-cmdk-opt-${x}`,k=t.computed(()=>b.value[l.value]?y(l.value):void 0);t.watch(l,async()=>{var T;await t.nextTick();const x=k.value;x&&((T=document.getElementById(x))==null||T.scrollIntoView({block:"nearest"}))});function _(x){if(x.type==="goto")a.selection.value={kind:x.kind,id:x.id},a.requestFocus(x.id);else{if(x.disabled)return;x.run()}i("close")}function N(x){if(x.key==="Escape"){i("close"),x.preventDefault();return}if(x.key==="ArrowDown"){l.value=Math.min(l.value+1,b.value.length-1),x.preventDefault();return}if(x.key==="ArrowUp"){l.value=Math.max(l.value-1,0),x.preventDefault();return}if(x.key==="Enter"){const T=b.value[l.value];T&&_(T),x.preventDefault();return}x.key==="Tab"&&x.preventDefault()}return t.nextTick(()=>{var x;return(x=s.value)==null?void 0:x.focus()}),(x,T)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createElementVNode("div",{class:"em-cmdk__backdrop",onPointerdown:T[1]||(T[1]=t.withModifiers(C=>i("close"),["self"]))},[t.createElementVNode("div",{class:"em-cmdk",role:"dialog","aria-modal":"true","aria-label":t.unref(a).t("em.cmd.title")},[t.withDirectives(t.createElementVNode("input",{ref_key:"inputEl",ref:s,"onUpdate:modelValue":T[0]||(T[0]=C=>r.value=C),class:"em-cmdk__input",type:"text",role:"combobox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off","aria-controls":"em-cmdk-listbox","aria-activedescendant":k.value,"aria-label":t.unref(a).t("em.cmd.placeholder"),placeholder:t.unref(a).t("em.cmd.placeholder"),onKeydown:N},null,40,eT),[[t.vModelText,r.value]]),t.createElementVNode("div",tT,[b.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[p.value.length?(t.openBlock(),t.createElementBlock("div",{key:0,role:"group","aria-label":t.unref(a).t("em.cmd.sectionGoto")},[t.createElementVNode("div",oT,t.toDisplayString(t.unref(a).t("em.cmd.sectionGoto")),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,C=>(t.openBlock(),t.createElementBlock("button",{id:y(f(C)),key:C.id,type:"button",tabindex:"-1",class:t.normalizeClass(["em-cmdk__item",{"is-active":f(C)===l.value}]),role:"option","aria-selected":f(C)===l.value,onMouseenter:R=>l.value=f(C),onClick:R=>_(C)},[t.createElementVNode("span",aT,t.toDisplayString(C.label),1),C.tag?(t.openBlock(),t.createElementBlock("span",rT,t.toDisplayString(C.tag),1)):C.sub?(t.openBlock(),t.createElementBlock("span",lT,t.toDisplayString(C.sub),1)):t.createCommentVNode("",!0)],42,iT))),128))],8,nT)):t.createCommentVNode("",!0),g.value.length?(t.openBlock(),t.createElementBlock("div",{key:1,role:"group","aria-label":t.unref(a).t("em.cmd.sectionActions")},[t.createElementVNode("div",cT,t.toDisplayString(t.unref(a).t("em.cmd.sectionActions")),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,C=>(t.openBlock(),t.createElementBlock("button",{id:y(f(C)),key:C.id,type:"button",tabindex:"-1",class:t.normalizeClass(["em-cmdk__item",{"is-active":f(C)===l.value,"is-disabled":C.disabled}]),role:"option","aria-selected":f(C)===l.value,"aria-disabled":C.disabled||void 0,onMouseenter:R=>l.value=f(C),onClick:R=>_(C)},[t.createElementVNode("span",uT,t.toDisplayString(C.label),1)],42,dT))),128))],8,sT)):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createElementBlock("div",mT,t.toDisplayString(t.unref(a).t("em.cmd.empty")),1))])],8,QA)],32)]))}}),[["__scopeId","data-v-fcf574c4"]]);function pT(e){return e?e.kind==="missing"?{titleKey:"em.conflict.lockedTitle",detailKey:"em.conflict.missingDetail"}:{titleKey:"em.conflict.lockedTitle",detailKey:"em.conflict.changedDetail"}:null}const hT={key:0,class:"em-canvas__empty","aria-hidden":"true"},yT={class:"em-canvas__empty-title"},gT=["innerHTML"],bT=["innerHTML"],_T=["innerHTML"],kT={key:1,class:"em-canvas__empty-title"},ET={key:0,class:"em-conflict-banner",role:"alert","aria-live":"assertive"},NT={class:"em-conflict-banner__body"},wT={class:"em-conflict-banner__title"},vT={class:"em-conflict-banner__detail"},IT={key:0,class:"em-toast",role:"status","aria-live":"polite"},_s="nc:",Gp=Ke(t.defineComponent({__name:"DiagramCanvas",props:{controller:{},diffMarks:{},embedCollapseStorageKey:{}},setup(e,{expose:n}){const o=e,i=o.controller,a=te.useModal(),r=t.ref(!1),l=t.ref(null);let s;function c(S){l.value=S,s&&clearTimeout(s),s=setTimeout(()=>l.value=null,3200)}t.watch(()=>i.notice.value,S=>{S&&c(S.text)}),t.onBeforeUnmount(()=>s&&clearTimeout(s));const d=t.computed(()=>{if(i.commandFailure.value)return{title:i.t("em.conflict.lockedTitle"),detail:i.t("em.conflict.commandFailedDetail")};const S=pT(i.opConflict.value);return S?{title:i.t(S.titleKey),detail:i.t(S.detailKey)}:null}),u=t.ref(!1),m=t.ref(!1),h={x:0,y:0};function p(S){h.x=S.clientX,h.y=S.clientY}const g=t.ref(null);t.provide(Wa,g);const b=t.ref(null);t.provide(uf,b);const f=t.ref(null),y=t.computed(()=>{const S=f.value,V=new Set;if(!S)return V;if(S.kind==="entity")V.add(S.id);else if(S.kind==="group"){const ee=i.resolved.value.groups.find(Z=>Z.group.modelId===S.id);for(const Z of(ee==null?void 0:ee.group.memberEntityRefs)??[])V.add(Z)}return V}),k=t.computed(()=>{const S=f.value,V=new Set(y.value),ee=new Set,Z=new Set;if(!S)return{related:V,edges:ee,notes:Z};if(S.kind==="note"){Z.add(S.id);for(const Me of i.resolved.value.noteConnections)Me.noteRef===S.id&&V.add(Me.targetRef);return{related:V,edges:ee,notes:Z}}const ve=y.value;if(!ve.size)return{related:V,edges:ee,notes:Z};for(const Me of i.resolved.value.associations){const{end1:ue,end2:Ve}=Me.association;(ve.has(ue.entityRef)||ve.has(Ve.entityRef))&&(ee.add(Me.association.modelId),V.add(ue.entityRef),V.add(Ve.entityRef))}for(const Me of i.resolved.value.noteConnections)V.has(Me.targetRef)&&Z.add(Me.noteRef);return{related:V,edges:ee,notes:Z}});t.provide(Mo,{source:f,active:t.computed(()=>f.value!==null),primaryEntityIds:y,relatedEntityIds:t.computed(()=>k.value.related),relatedEdgeIds:t.computed(()=>k.value.edges),relatedNoteIds:t.computed(()=>k.value.notes),hoverGroupId:t.computed(()=>{var S;return((S=f.value)==null?void 0:S.kind)==="group"?f.value.id:null}),setEntityHover:S=>{b.value||m.value||(f.value=S?{kind:"entity",id:S}:null)},setGroupHover:S=>{b.value||m.value||(f.value=S?{kind:"group",id:S}:null)},setNoteHover:S=>{b.value||m.value||(f.value=S?{kind:"note",id:S}:null)}}),t.provide(eo,i);const _=ax(),N=t.computed(()=>_(i.state.logical,i.embeddableCatalog.value));t.provide(pf,N);const x=zp({expandableKeys:()=>[],defaultCollapsed:lx,storageKey:o.embedCollapseStorageKey,scope:()=>i.state.layout.diagramId});t.provide(yf,{isCollapsed:x.isCollapsed,toggle:x.toggle}),t.provide(mf,{marks:t.toRef(o,"diffMarks")});function T(S,V){return`${_s}${S}:${V}`}function C(S){if(!S.startsWith(_s))return null;const[V,ee]=S.slice(_s.length).split(":");return V&&ee?{noteRef:V,targetRef:ee}:null}t.provide(Wl,{points:S=>{var ee,Z;const V=C(S);return V?((ee=i.resolved.value.noteConnections.find(ve=>ve.noteRef===V.noteRef&&ve.targetRef===V.targetRef))==null?void 0:ee.waypoints)??[]:((Z=i.resolved.value.associations.find(ve=>ve.association.modelId===S))==null?void 0:Z.waypoints)??[]},movePoint:(S,V,ee)=>{const Z=C(S);Z?i.moveNoteConnectionWaypoint(Z.noteRef,Z.targetRef,V,ee):i.moveWaypoint(S,V,ee)},insertPoint:(S,V,ee)=>{const Z=C(S);Z?i.addNoteConnectionWaypoint(Z.noteRef,Z.targetRef,V,ee):i.addWaypoint(S,V,ee)},removePoint:(S,V)=>{const ee=C(S);ee?i.removeNoteConnectionWaypoint(ee.noteRef,ee.targetRef,V):i.removeWaypoint(S,V)}});const R=je(),{nodes:A,edges:M,findNode:B,findEdge:v,addNodes:I,addEdges:E,removeNodes:w,removeEdges:$,fitView:D,setCenter:z,getViewport:K,screenToFlowCoordinate:J,getSelectedNodes:re,updateNodeInternals:he}=R,ce=t.ref(!1);async function Ne(S){ce.value=!0,await t.nextTick(),await new Promise(V=>requestAnimationFrame(()=>V(null)));try{return await S()}finally{ce.value=!1}}async function pe(){try{await Ne(()=>Hp(R))}catch(S){console.error("[entity-modeler] SVG export failed",S),c(i.t("em.canvas.exportFailed"))}}async function de(){try{await Ne(()=>jp(R))}catch(S){console.error("[entity-modeler] PNG export failed",S),c(i.t("em.canvas.exportFailed"))}}n({exportSvg:pe,exportPng:de,fitView:D});const _e=t.computed(()=>i.resolved.value.entities.length===0);function Se(){const S=K(),{width:V,height:ee}=R.dimensions.value;return{x:(V/2-S.x)/S.zoom,y:(ee/2-S.y)/S.zoom}}function me(){const S=Se();i.addEntity("NewEntity",{x:S.x,y:S.y})}function ye(){const S=Se();i.addNote("메모",{x:S.x,y:S.y})}function ie(S){for(const V of i.resolved.value.groups){const{location:ee,size:Z}=V.geo;if(S.x>=ee.x&&S.x<=ee.x+Z.width&&S.y>=ee.y&&S.y<=ee.y+Z.height)return V.group.modelId}return null}function se(S,V){return S.x===V.x&&S.y===V.y}function fe(S,V){return(S==null?void 0:S.width)===(V==null?void 0:V.width)&&(S==null?void 0:S.height)===(V==null?void 0:V.height)}function O(S,V){return S.entity===V.entity&&S.displayMode===V.displayMode&&S.collapsed===V.collapsed&&S.locked===V.locked&&S.groupRef===V.groupRef&&fe(S.size,V.size)&&S.style===V.style&&S.attributeStyles===V.attributeStyles&&S.operationStyles===V.operationStyles}function L(S,V){const ee=Object.keys(S);if(ee.length!==Object.keys(V).length)return!1;for(const Z of ee)if(Z==="geo"){const ve=S.geo,Me=V.geo;if(!se(ve.location,Me.location)||!fe(ve.size,Me.size))return!1}else if(S[Z]!==V[Z])return!1;return!0}function F(){const S=i.resolved.value,V=new Map(S.groups.map(ue=>[ue.group.modelId,ue.geo])),ee=new Set(S.groups.map(ue=>ue.group.modelId)),Z=new Set([...ee,...S.entities.map(ue=>ue.entity.modelId),...S.notes.map(ue=>ue.note.modelId)]);for(const ue of[...A.value])Z.has(ue.id)||w([ue.id]);for(const ue of S.groups){const Ve=ue.group.modelId,ze={width:`${ue.geo.size.width}px`,height:`${ue.geo.size.height}px`},Ue={group:ue.group,style:ue.style,locked:ue.locked},Fe=ue.locked?!1:void 0,Ye=B(Ve);if(Ye){se(Ye.position,ue.geo.location)||(Ye.position={...ue.geo.location});const pt=Ye.data;(pt.group!==Ue.group||pt.style!==Ue.style||pt.locked!==Ue.locked)&&(Ye.data=Ue);const at=Ye.style;((at==null?void 0:at.width)!==ze.width||(at==null?void 0:at.height)!==ze.height)&&(Ye.style=ze),Ye.draggable!==Fe&&(Ye.draggable=Fe)}else I([{id:Ve,type:"group",position:{...ue.geo.location},draggable:Fe,style:ze,data:Ue}])}for(const ue of S.entities){const Ve=ue.entity.modelId,ze=ue.groupRef&&ee.has(ue.groupRef)?ue.groupRef:void 0,Ue={entity:ue.entity,displayMode:i.displayMode.value,collapsed:ue.collapsed,locked:ue.locked,groupRef:ze,size:ue.geo.size,style:ue.style,attributeStyles:ue.attributeStyles,operationStyles:ue.operationStyles},Fe=ue.locked?!1:void 0,Ye=ue.locked?!1:void 0,pt=ze?V.get(ze):void 0,at=pt?{x:ue.geo.location.x-pt.location.x,y:ue.geo.location.y-pt.location.y}:{...ue.geo.location},Ge=B(Ve);Ge?(se(Ge.position,at)||(Ge.position=at),O(Ge.data,Ue)||(Ge.data=Ue),Ge.parentNode!==ze&&(Ge.parentNode=ze),Ge.draggable!==Fe&&(Ge.draggable=Fe),Ge.connectable!==Ye&&(Ge.connectable=Ye)):I([{id:Ve,type:"entity",position:at,parentNode:ze,draggable:Fe,connectable:Ye,data:Ue}])}for(const ue of S.notes){const Ve=ue.note,ze=Ve.modelId,Ue=ue.groupRef&&ee.has(ue.groupRef)?ue.groupRef:void 0,Fe={note:Ve,groupRef:Ue},Ye={width:`${Ve.geo.size.width}px`,height:`${Ve.geo.size.height}px`},pt=Ue?V.get(Ue):void 0,at=pt?{x:Ve.geo.location.x-pt.location.x,y:Ve.geo.location.y-pt.location.y}:{...Ve.geo.location},Ge=B(ze);if(Ge){se(Ge.position,at)||(Ge.position=at);const ao=Ge.data;(ao.groupRef!==Ue||!L(ao.note,Ve))&&(Ge.data=Fe);const bn=Ge.style;((bn==null?void 0:bn.width)!==Ye.width||(bn==null?void 0:bn.height)!==Ye.height)&&(Ge.style=Ye),Ge.parentNode!==Ue&&(Ge.parentNode=Ue)}else I([{id:ze,type:"note",position:at,parentNode:Ue,style:Ye,data:Fe}])}const ve=new Map(S.associations.map(ue=>[ue.association.modelId,ue])),Me=new Set(S.noteConnections.map(ue=>T(ue.noteRef,ue.targetRef)));for(const ue of[...M.value])!ve.has(ue.id)&&!Me.has(ue.id)&&$([ue.id]);for(const[ue,Ve]of ve){const ze={id:ue,type:"association",source:Ve.association.end1.entityRef,target:Ve.association.end2.entityRef,sourceHandle:Ve.sourceColumnRef?`r:${Ve.sourceColumnRef}`:void 0,targetHandle:Ve.targetColumnRef?`l:${Ve.targetColumnRef}`:void 0,data:{association:Ve.association,sourceColumnRef:Ve.sourceColumnRef,targetColumnRef:Ve.targetColumnRef}},Ue=v(ue);if(Ue){const Fe=Ue.data;(Fe.association!==ze.data.association||Fe.sourceColumnRef!==ze.data.sourceColumnRef||Fe.targetColumnRef!==ze.data.targetColumnRef)&&(Ue.data=ze.data),Ue.sourceHandle!==ze.sourceHandle&&(Ue.sourceHandle=ze.sourceHandle),Ue.targetHandle!==ze.targetHandle&&(Ue.targetHandle=ze.targetHandle)}else E([ze])}for(const ue of S.noteConnections){const Ve=T(ue.noteRef,ue.targetRef),ze={noteRef:ue.noteRef,targetRef:ue.targetRef};v(Ve)||E([{id:Ve,type:"note-connection",source:ue.noteRef,target:ue.targetRef,data:ze}])}}const Q=new Set;let Y=!1,ke=!1;const be=new Map;function Ce(S){const V=document.querySelector(`.vue-flow__node[data-id="${CSS.escape(S)}"]`);if(!V)return null;let ee=`${V.offsetHeight}`;for(const Z of V.querySelectorAll(".em-entity__row"))ee+=`|${Z.dataset.attr}:${Z.offsetTop}`;return ee}function Ie(){ke=!1;const S=Y;Y=!1;const V=[...Q];if(Q.clear(),S){he();for(const Z of A.value){const ve=Ce(Z.id);ve!==null&&be.set(Z.id,ve)}return}const ee=[];for(const Z of V){const ve=Ce(Z);if(ve===null){be.delete(Z);continue}be.get(Z)!==ve&&(be.set(Z,ve),ee.push(Z))}ee.length&&he(ee)}function U(S){if(S)for(const V of S)Q.add(V);else Y=!0;ke||(ke=!0,t.nextTick(()=>requestAnimationFrame(Ie)))}t.provide(ff,{mark:S=>U([S])});function H(){const S=re.value.map(ee=>ee.id);if(S.length)return S;const V=i.selection.value;return V&&(V.kind==="entity"||V.kind==="note"||V.kind==="group")?[V.id]:[]}function q(){return re.value.filter(S=>S.type==="entity").map(S=>S.id)}function xe(){return re.value.filter(S=>S.type==="group").map(S=>S.id)}function De(S){var V;return[...((V=i.state.logical.groups.find(ee=>ee.modelId===S))==null?void 0:V.memberEntityRefs)??[]]}function W(){const S=xe().flatMap(De);return[...new Set([...q(),...S])]}function ne(){return xe().length>0||q().length>1}function G(){ne()?i.copy(W()):i.copy()}async function P(S){if(!S.length)return;await t.nextTick();const V=re.value;V.length&&R.removeSelectedNodes(V);const ee=S.map(Z=>B(Z)).filter(Z=>!!Z);ee.length&&R.addSelectedNodes(ee)}function ae(S){if(ne()&&q().includes(S)){const V=W();return{caption:i.t("em.ctx.copyN",{n:V.length}),icon:"copy",handler:()=>i.copy(V)}}return{caption:i.t("em.ctx.copy"),icon:"copy",handler:()=>{i.selection.value={kind:"entity",id:S},i.copy()}}}function $e(S){var ve;const V=S.target;if(V&&(V.tagName==="INPUT"||V.tagName==="TEXTAREA"||V.isContentEditable))return;if(S.key==="?"){a.openModal({component:Kp,bind:{locale:i.uiLocale.value}}),S.preventDefault();return}if((S.metaKey||S.ctrlKey)&&S.key.toLowerCase()==="k"){r.value=!0,S.preventDefault();return}if(!i.editable.value){(S.metaKey||S.ctrlKey)&&S.key.toLowerCase()==="c"&&(G(),S.preventDefault());return}if(S.key==="Delete"||S.key==="Backspace"){i.deleteSelection()&&S.preventDefault();return}if(S.key==="ArrowUp"||S.key==="ArrowDown"||S.key==="ArrowLeft"||S.key==="ArrowRight"){if(((ve=i.selection.value)==null?void 0:ve.kind)==="attribute"){if(S.key==="ArrowUp"||S.key==="ArrowDown"){const ze=S.key==="ArrowDown"?1:-1;(S.altKey?i.nudgeSelectedAttributes(ze):i.moveAttributeFocus(ze))&&S.preventDefault()}return}const Me=S.shiftKey?10:1,ue=S.key==="ArrowLeft"?-Me:S.key==="ArrowRight"?Me:0,Ve=S.key==="ArrowUp"?-Me:S.key==="ArrowDown"?Me:0;i.nudgeNodes(H(),ue,Ve)&&S.preventDefault();return}if(!(S.metaKey||S.ctrlKey))return;const Z=S.key.toLowerCase();Z==="c"?(G(),S.preventDefault()):Z==="v"?(P(i.paste()),S.preventDefault()):Z==="z"&&(S.shiftKey?i.redo():i.undo(),S.preventDefault())}t.onMounted(async()=>{F(),await t.nextTick(),D(),U(),window.addEventListener("keydown",$e),window.addEventListener("pointerup",le),window.addEventListener("pointermove",p,{passive:!0})}),t.onBeforeUnmount(()=>{window.removeEventListener("keydown",$e),window.removeEventListener("pointerup",le),window.removeEventListener("pointermove",p)});function le(){g.value=null}function j(){m.value=!0,f.value=null}function Xe(){var Z;m.value=!1;const S=(Z=document.elementFromPoint(h.x,h.y))==null?void 0:Z.closest(".vue-flow__node"),V=S==null?void 0:S.dataset.id;if(!V){f.value=null;return}const ee=S.classList.contains("vue-flow__node-group")?"group":S.classList.contains("vue-flow__node-note")?"note":"entity";f.value={kind:ee,id:V}}t.watch([()=>i.resolved.value,()=>i.displayMode.value],F),t.watch(()=>i.resolved.value,S=>{const V=f.value;if(!V)return;(V.kind==="entity"?S.entities.some(Z=>Z.entity.modelId===V.id):V.kind==="group"?S.groups.some(Z=>Z.group.modelId===V.id):S.notes.some(Z=>Z.note.modelId===V.id))||(f.value=null)});function rt(S){const V=S.computedPosition??S.position,ee=S.dimensions??{width:0,height:0};return{x:V.x+ee.width/2,y:V.y+ee.height/2}}function He(S){const V=S.node;if(V){if(f.value=null,V.type==="group"){const ee=i.resolved.value.groups.find(Z=>Z.group.modelId===V.id);b.value=ee?{groupId:V.id,dx:V.position.x-ee.geo.location.x,dy:V.position.y-ee.geo.location.y}:null,g.value=null;return}if(V.type!=="entity"&&V.type!=="note"){g.value=null;return}g.value=ie(rt(V))}}function Pe(S){var Z;g.value=null,b.value=null;const V=(Z=S.nodes)!=null&&Z.length?S.nodes:[S.node],ee=V.filter(ve=>(ve==null?void 0:ve.type)==="group");if(ee.length){for(const ve of ee){if(!ve)continue;const Me=i.resolved.value.entities.filter(ue=>ue.groupRef===ve.id).map(ue=>{const Ve=B(ue.entity.modelId),ze=(Ve==null?void 0:Ve.computedPosition)??(Ve==null?void 0:Ve.position)??{x:0,y:0};return{id:ue.entity.modelId,location:{x:ze.x,y:ze.y}}});i.dragGroup(ve.id,{x:ve.position.x,y:ve.position.y},Me)}return}for(const ve of V){if(!ve||ve.type==="group")continue;const Me=ve.computedPosition??ve.position,ue=ve.dimensions??{width:0,height:0},Ve={x:Me.x+ue.width/2,y:Me.y+ue.height/2};ve.type==="note"?i.dropNote(ve.id,{x:Me.x,y:Me.y},ie(Ve)):i.dropEntity(ve.id,{x:Me.x,y:Me.y},ie(Ve))}}function Oe(S){var ze,Ue,Fe,Ye,pt;if(!i.editable.value||!S.source||!S.target)return;const V=((ze=B(S.source))==null?void 0:ze.type)==="note",ee=((Ue=B(S.target))==null?void 0:Ue.type)==="note";if(V||ee){if(V&&ee)return;const at=V?S.source:S.target,Ge=V?S.target:S.source;((Fe=B(Ge))==null?void 0:Fe.type)==="entity"&&i.addNoteConnection(at,Ge);return}const Z=at=>{var Ge;return(Ge=i.state.logical.entities.find(ao=>ao.modelId===at))==null?void 0:Ge.stereotype},ve=Z(S.source)==="JPA_EMBEDDABLE",Me=Z(S.target)==="JPA_EMBEDDABLE";if(ve||Me){if(ve&&Me)return;const at=ve?S.source:S.target,Ge=ve?S.target:S.source;i.addEmbedAssociation(Ge,at);return}const ue=(Ye=S.sourceHandle)!=null&&Ye.startsWith("r:")?S.sourceHandle.slice(2):void 0,Ve=(pt=S.targetHandle)!=null&&pt.startsWith("l:")?S.targetHandle.slice(2):void 0;i.addAssociation(S.source,S.target,ue,Ve)}const X=t.ref(null);function Nt(S,V){var Z;const ee=i.state.layout.entityLayouts.find(ve=>ve.entityRef===S);return _t((Z=ee==null?void 0:ee.attributeStyles)==null?void 0:Z[V])}function Et(S,V){var Z;const ee=i.state.layout.entityLayouts.find(ve=>ve.entityRef===S);return _t((Z=ee==null?void 0:ee.operationStyles)==null?void 0:Z[V])}function hn(S){var V;return _t((V=i.state.layout.groupLayouts.find(ee=>ee.groupRef===S))==null?void 0:V.style)}function yn(S){var V;return _t((V=i.state.layout.notes.find(ee=>ee.modelId===S))==null?void 0:V.style)}function Ee(S){var ve,Me;if(S.preventDefault(),!i.editable.value)return;const V=()=>J({x:S.clientX,y:S.clientY}),ee=[{caption:i.t("em.ctx.addEntity"),icon:"add-entity",handler:()=>{const ue=V();i.addEntity("NewEntity",{x:ue.x,y:ue.y})}},{caption:i.t("em.ctx.addNote"),icon:"note",handler:()=>{const ue=V();i.addNote("메모",{x:ue.x,y:ue.y})}},{caption:i.t("em.ctx.addGroup"),icon:"folder",handler:()=>{const ue=V();i.addEmptyGroup({x:ue.x,y:ue.y})}}],Z=(ve=i.clipboard.value)==null?void 0:ve.kind;(Z==="entity"||Z==="entities")&&ee.push({caption:i.t("em.ctx.paste"),icon:"clipboard",handler:()=>P(i.paste())}),i.resolved.value.entities.length>0&&ee.push({type:"separator"},{caption:i.t("em.panel.collapseAll"),icon:"collapse-all",handler:()=>i.collapseAll()},{caption:i.t("em.panel.expandAll"),icon:"expand-all",handler:()=>i.expandAll()}),(Me=X.value)==null||Me.open(S,ee)}function nt({event:S,node:V}){var ze,Ue,Fe,Ye,pt,at,Ge,ao,bn,Xp,Zp,Qp,eh,th,nh,oh,ih,ah,rh;const ee=S;if(ee.preventDefault(),!i.editable.value){if(V.type==="group"||V.type==="note")return;const qe=(Ue=(ze=ee.target)==null?void 0:ze.closest("[data-attr]"))==null?void 0:Ue.dataset.attr;if(qe){const lt=i.selection.value;(lt==null?void 0:lt.kind)==="attribute"&&lt.entityId===V.id&&lt.ids.includes(qe)||i.selectAttribute(V.id,qe);const _n=((Fe=i.selection.value)==null?void 0:Fe.kind)==="attribute"&&i.selection.value.entityId===V.id?[...i.selection.value.ids]:[qe];(Ye=X.value)==null||Ye.open(ee,[{caption:_n.length>1?i.t("em.ctx.copyN",{n:_n.length}):i.t("em.ctx.copy"),icon:"copy",handler:()=>i.copy()}]);return}(pt=X.value)==null||pt.open(ee,[{caption:i.t("em.ctx.editDetail"),icon:"pencil",handler:()=>Ga(a,i,V.id)},ae(V.id)]);return}if(V.type==="group"){const qe=i.isGroupLocked(V.id),lt=[];qe||lt.push({type:"swatches",caption:i.t("em.common.color"),current:hn(V.id),onPick:_n=>i.setGroupSwatch(V.id,_n)},{type:"separator"});const ht=ne()&&xe().includes(V.id)?W():De(V.id);ht.length&&lt.push({caption:i.t("em.ctx.copy"),icon:"copy",handler:()=>i.copy(ht)}),lt.push({caption:qe?i.t("em.panel.unlock"):i.t("em.ctx.lock"),icon:qe?"unlock":"lock",handler:()=>i.setGroupLocked(V.id,!qe)}),qe||lt.push({type:"separator"},{caption:i.t("em.ctx.ungroup"),icon:"trash",danger:!0,handler:()=>i.removeGroup(V.id)}),(at=X.value)==null||at.open(ee,lt);return}if(V.type==="note"){(Ge=X.value)==null||Ge.open(ee,[{type:"swatches",caption:i.t("em.common.color"),current:yn(V.id),onPick:qe=>i.setNoteSwatch(V.id,qe)},{type:"separator"},{caption:i.t("em.ctx.deleteNote"),icon:"trash",danger:!0,handler:()=>i.removeNote(V.id)}]);return}const Z=(bn=(ao=ee.target)==null?void 0:ao.closest("[data-attr]"))==null?void 0:bn.dataset.attr;if(Z){const qe=i.selection.value;(qe==null?void 0:qe.kind)==="attribute"&&qe.entityId===V.id&&qe.ids.includes(Z)||i.selectAttribute(V.id,Z);const ht=((Xp=i.selection.value)==null?void 0:Xp.kind)==="attribute"&&i.selection.value.entityId===V.id?[...i.selection.value.ids]:[Z];if(i.isEntityLocked(V.id)){(Zp=X.value)==null||Zp.open(ee,[{caption:ht.length>1?i.t("em.ctx.copyN",{n:ht.length}):i.t("em.ctx.copy"),icon:"copy",handler:()=>i.copy()}]);return}const _n=ht.length>1,ks=[{caption:i.t("em.ctx.addAttr"),icon:"field",handler:()=>i.addAttribute(V.id)},{type:"swatches",caption:_n?i.t("em.ctx.colorN",{n:ht.length}):i.t("em.common.color"),current:_n?null:Nt(V.id,Z),onPick:$B=>i.setAttributeSwatches(V.id,ht,$B)},{type:"separator"},{caption:_n?i.t("em.ctx.copyN",{n:ht.length}):i.t("em.ctx.copy"),icon:"copy",handler:()=>i.copy()}],Ti=i.clipboard.value;(Ti==null?void 0:Ti.kind)==="attribute"&&ks.push({caption:Ti.attributes.length>1?i.t("em.ctx.pasteAttrN",{n:Ti.attributes.length}):i.t("em.ctx.pasteAttr"),icon:"clipboard",handler:()=>{i.selection.value={kind:"entity",id:V.id},i.paste()}}),ks.push({type:"separator"},{caption:_n?i.t("em.ctx.deleteAttrN",{n:ht.length}):i.t("em.ctx.deleteAttr"),icon:"trash",danger:!0,handler:()=>i.removeAttributes(V.id,ht)}),(Qp=X.value)==null||Qp.open(ee,ks);return}const ve=(th=(eh=ee.target)==null?void 0:eh.closest("[data-op]"))==null?void 0:th.dataset.op;if(ve){if(i.isEntityLocked(V.id))return;(nh=X.value)==null||nh.open(ee,[{caption:i.t("em.ctx.addOperation"),icon:"method",handler:()=>i.addOperation(V.id)},{type:"swatches",caption:i.t("em.common.color"),current:Et(V.id,ve),onPick:qe=>i.setOperationSwatch(V.id,ve,qe)},{type:"separator"},{caption:i.t("em.ctx.deleteOperation"),icon:"trash",danger:!0,handler:()=>i.removeOperation(V.id,ve)}]);return}const Me=i.resolved.value.entities.find(qe=>qe.entity.modelId===V.id),ue=!!(Me!=null&&Me.locked),Ve=[{caption:ue?i.t("em.ctx.viewDetail"):i.t("em.ctx.editDetail"),icon:"pencil",handler:()=>Ga(a,i,V.id)}];if(!ue){Ve.push({type:"separator"},{caption:i.t("em.ctx.addAttr"),icon:"field",handler:()=>i.addAttribute(V.id)},{caption:i.t("em.ctx.addMethod"),icon:"method",handler:()=>i.addOperation(V.id)},{caption:i.t("em.ctx.groupInto"),icon:"folder",handler:()=>{const lt=re.value.filter(ht=>ht.type==="entity").map(ht=>ht.id);i.createGroup(lt.includes(V.id)&&lt.length?lt:[V.id])}},{caption:i.t("em.ctx.addSelfAssoc"),icon:"arrow-lr",handler:()=>i.addAssociation(V.id,V.id)});const qe=i.embeddableCatalog.value;if(qe.length){Ve.push({type:"separator"});for(const lt of qe){const ht=((oh=lt.label)==null?void 0:oh[i.userLanguage.value])??((ih=lt.label)==null?void 0:ih.ko)??((ah=lt.label)==null?void 0:ah.en)??lt.type;Ve.push({caption:i.t("em.ctx.addEmbeddableNamed",{label:ht}),icon:"link",handler:()=>i.addPredefinedEmbed(V.id,lt.type)})}}}if(Ve.push({type:"separator"}),Ve.push({caption:Me!=null&&Me.collapsed?i.t("em.panel.expand"):i.t("em.panel.collapse"),icon:Me!=null&&Me.collapsed?"expand-all":"collapse-all",handler:()=>i.setEntityCollapsed(V.id,!(Me!=null&&Me.collapsed))}),Me!=null&&Me.groupRef&&!ue&&Ve.push({caption:i.t("em.ctx.ungroupEntity"),icon:"folder",handler:()=>i.ungroupEntity(V.id)}),Ve.push({caption:ue?i.t("em.panel.unlock"):i.t("em.ctx.lock"),icon:ue?"unlock":"lock",handler:()=>i.setEntityLocked(V.id,!ue)}),Ve.push(ae(V.id)),!ue){const qe=i.clipboard.value;(qe==null?void 0:qe.kind)==="attribute"&&Ve.push({caption:qe.attributes.length>1?i.t("em.ctx.pasteAttrN",{n:qe.attributes.length}):i.t("em.ctx.pasteAttr"),icon:"clipboard",handler:()=>{i.selection.value={kind:"entity",id:V.id},i.paste()}}),Ve.push({type:"separator"}),Ve.push({caption:i.t("em.ctx.deleteEntity"),icon:"trash",danger:!0,handler:()=>i.removeEntity(V.id)})}(rh=X.value)==null||rh.open(ee,Ve)}function mt({event:S,edge:V}){var Me,ue;const ee=S;if(ee.preventDefault(),!i.editable.value)return;const Z=C(V.id);if(Z){(Me=X.value)==null||Me.open(ee,[{caption:i.t("em.ctx.clearWaypoints"),icon:"route",handler:()=>i.clearNoteConnectionWaypoints(Z.noteRef,Z.targetRef)},{type:"separator"},{caption:i.t("em.ctx.deleteConnection"),icon:"trash",danger:!0,handler:()=>i.removeNoteConnection(Z.noteRef,Z.targetRef)}]);return}const ve=[{caption:i.t("em.ctx.clearWaypoints"),icon:"route",handler:()=>i.clearWaypoints(V.id)}];i.isAssociationLocked(V.id)||ve.push({type:"separator"},{caption:i.t("em.ctx.deleteAssociation"),icon:"trash",danger:!0,handler:()=>i.removeAssociation(V.id)}),(ue=X.value)==null||ue.open(ee,ve)}function Ft(S){return S==="group"?"group":S==="note"?"note":"entity"}function Zt({node:S}){if(re.value.length>1){i.selection.value=null;return}i.selection.value={kind:Ft(S.type),id:S.id}}function Qt({nodes:S}){S.length>1&&(i.selection.value=null)}function we({edge:S}){const V=C(S.id);i.selection.value=V?{kind:"note",id:V.noteRef}:{kind:"association",id:S.id}}function et(S){const V=i.selection.value;return!!V&&V.kind!=="attribute"&&V.id===S.id}function ft(S){var V,ee;return et(S)?S.type==="group"?"color-mix(in srgb, var(--em-selection) 22%, transparent)":"var(--em-selection)":S.type==="note"?"var(--em-note-soft)":S.type==="group"?Wm(_t((V=S.data)==null?void 0:V.style),!0)??"var(--em-mm-group)":Wm(_t((ee=S.data)==null?void 0:ee.style))??"var(--em-mm-entity)"}function gn(S){return et(S)?"var(--em-selection)":S.type==="note"?"var(--em-note-accent)":S.type==="group"?"var(--em-node-border)":"var(--em-on-surface-muted)"}function ot(S,V){z(S,V,{zoom:K().zoom,duration:350})}t.watch(()=>i.focusRequest.value,S=>{if(!S)return;const V=B(S.id);if(!V)return;const ee=V.computedPosition??V.position,Z=V.dimensions??{width:0,height:0};ot(ee.x+Z.width/2,ee.y+Z.height/2)});function zo({position:S}){ot(S.x,S.y)}function Fo({node:S}){i.selection.value={kind:Ft(S.type),id:S.id};const V=S.computedPosition??S.position,ee=S.dimensions??{width:0,height:0};ot(V.x+ee.width/2,V.y+ee.height/2)}function oe({node:S}){D({nodes:[S.id],duration:350,maxZoom:1.2,padding:.6})}return(S,V)=>(t.openBlock(),t.createElementBlock("div",{tabindex:"-1",class:t.normalizeClass(["em-canvas",{"is-connecting":u.value,"is-panning":m.value}])},[t.createVNode(t.unref(BN),{"min-zoom":.2,"max-zoom":2,"only-render-visible-elements":!ce.value,"delete-key-code":null,"disable-keyboard-a11y":!0,"nodes-focusable":!1,"edges-focusable":!1,"nodes-draggable":t.unref(i).editable.value,"nodes-connectable":t.unref(i).editable.value,"connection-mode":t.unref(sn).Loose,"pan-on-scroll":"","zoom-on-scroll":!1,"zoom-on-pinch":!0,"zoom-on-double-click":!1,"zoom-activation-key-code":["Meta","Control"],onMoveStart:j,onMoveEnd:Xe,onConnect:Oe,onConnectStart:V[1]||(V[1]=ee=>u.value=!0),onConnectEnd:V[2]||(V[2]=ee=>u.value=!1),onNodeDrag:He,onNodeDragStop:Pe,onNodeClick:Zt,onEdgeClick:we,onSelectionChange:Qt,onPaneClick:V[3]||(V[3]=ee=>t.unref(i).selection.value=null),onPaneContextMenu:Ee,onNodeContextMenu:nt,onEdgeContextMenu:mt},{"node-group":t.withCtx(ee=>[t.createVNode(wf,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),"node-entity":t.withCtx(ee=>[t.createVNode(Nf,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),"node-note":t.withCtx(ee=>[t.createVNode(vf,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),"edge-association":t.withCtx(ee=>[t.createVNode(Kf,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),"edge-note-connection":t.withCtx(ee=>[t.createVNode(xA,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),default:t.withCtx(()=>[t.unref(i).showGrid.value?(t.openBlock(),t.createBlock(t.unref(pC),{key:0,gap:16,"pattern-color":"var(--em-border)"})):t.createCommentVNode("",!0),t.createVNode(t.unref(zC),{"show-interactive":!1,position:"bottom-left"},{default:t.withCtx(()=>[t.unref(i).editable.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(t.unref(to),{class:"em-palette__group-start",title:t.unref(i).t("em.ctx.addEntity"),onClick:me},{default:t.withCtx(()=>[t.createVNode(Ae,{name:"add-entity",size:14})]),_:1},8,["title"]),t.createVNode(t.unref(to),{title:t.unref(i).t("em.ctx.addNote"),onClick:ye},{default:t.withCtx(()=>[t.createVNode(Ae,{name:"note",size:14})]),_:1},8,["title"]),t.createVNode(t.unref(to),{title:t.unref(i).t("em.palette.autoLayout"),onClick:V[0]||(V[0]=ee=>t.unref(i).autoLayout())},{default:t.withCtx(()=>[t.createVNode(Ae,{name:"auto-layout",size:14})]),_:1},8,["title"])],64)):t.createCommentVNode("",!0)]),_:1}),t.unref(i).showMinimap.value?(t.openBlock(),t.createBlock(t.unref(NA),{key:1,pannable:"",width:224,height:160,"node-color":ft,"node-stroke-color":gn,"node-border-radius":4,"node-stroke-width":2,"mask-color":"var(--em-minimap-mask)","mask-stroke-color":"var(--em-accent)","mask-stroke-width":1.5,"mask-border-radius":4,"offset-scale":3,onClick:zo,onNodeClick:Fo,onNodeDblclick:oe})):t.createCommentVNode("",!0)]),_:1},8,["only-render-visible-elements","nodes-draggable","nodes-connectable","connection-mode"]),_e.value?(t.openBlock(),t.createElementBlock("div",hT,[t.unref(i).editable.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("p",yT,t.toDisplayString(t.unref(i).t("em.canvas.emptyTitle")),1),t.createElementVNode("p",{class:"em-canvas__empty-hint",innerHTML:t.unref(i).t("em.canvas.emptyHint")},null,8,gT),t.createElementVNode("p",{class:"em-canvas__empty-hint",innerHTML:t.unref(i).t("em.canvas.emptyConnectHint")},null,8,bT),t.createElementVNode("p",{class:"em-canvas__empty-hint em-canvas__empty-sub",innerHTML:t.unref(i).t("em.canvas.emptyShortcutHint")},null,8,_T)],64)):(t.openBlock(),t.createElementBlock("p",kT,t.toDisplayString(t.unref(i).t("em.canvas.emptyReadonly")),1))])):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(fT,{key:1,controller:t.unref(i),onClose:V[4]||(V[4]=ee=>r.value=!1)},null,8,["controller"])):t.createCommentVNode("",!0),t.createVNode(t.Transition,{name:"em-conflict-fade"},{default:t.withCtx(()=>[d.value?(t.openBlock(),t.createElementBlock("div",ET,[t.createVNode(Ae,{name:"alert-triangle",size:16,class:"em-conflict-banner__icon"}),t.createElementVNode("div",NT,[t.createElementVNode("strong",wT,t.toDisplayString(d.value.title),1),t.createElementVNode("span",vT,t.toDisplayString(d.value.detail),1)])])):t.createCommentVNode("",!0)]),_:1}),t.createVNode(LA,{ref_key:"menuRef",ref:X,locale:t.unref(i).uiLocale.value},null,8,["locale"]),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"em-toast-fade"},{default:t.withCtx(()=>[l.value?(t.openBlock(),t.createElementBlock("div",IT,t.toDisplayString(l.value),1)):t.createCommentVNode("",!0)]),_:1})]))],2))}}),[["__scopeId","data-v-03d6bf61"]]),xT={class:"em-explorer em-scroll-overlay"},CT={class:"em-explorer__search"},ST=["placeholder","aria-label"],$T=["aria-label","title"],RT={key:0,class:"em-explorer__empty"},AT=["aria-label"],TT=["data-key","aria-level","aria-posinset","aria-setsize","aria-expanded","aria-selected","tabindex","onClick","onDblclick","onFocus","onKeydown"],MT=["onClick"],VT=["title"],BT={class:"em-key-slot"},DT={class:"em-key-slot"},LT={class:"em-explorer__label"},OT={key:2,class:"em-explorer__sr"},Yp=Ke(t.defineComponent({__name:"DiagramExplorer",props:{controller:{},storageKey:{}},setup(e,{expose:n}){const o=e,i=o.controller,a=te.useModal(),r=t.computed(()=>{var _e,Se;const I=i.resolved.value,E=i.displayMode.value,w=i.userLanguage.value,$=me=>{var ye,ie,se;return Di(E,me.name,(ie=(ye=me.table)==null?void 0:ye.logicalName)==null?void 0:ie[w],(se=me.table)==null?void 0:se.physicalName,i.t("em.node.logicalMissing"))},D=E==="PHYSICAL"||E==="LOGICAL_PHYSICAL",z=me=>{const ye=me.attrType.startsWith("RELATION")&&me.dbAttrs.length>0;return{icon:me.attrType.startsWith("RELATION")?"link":"field",keyMarks:{pk:me.identifier,fk:ye&&D}}},K=me=>me.attrType.startsWith("EMBED")&&me.dbAttrs.length>0,J=E==="PHYSICAL"||E==="LOGICAL_PHYSICAL",re=me=>{if(me.attrType!=="EMBED_PREDEF")return me.dbAttrs;const ye=i.embeddableCatalog.value.find(ie=>ie.type===me.type);return ye?me.dbAttrs.map((ie,se)=>{const fe=ye.fields[se];return fe?{...ie,physicalName:ie.physicalName||fe.physicalName,logicalName:ie.logicalName??fe.logicalName,dataType:ie.dataType||fe.dataType,length:ie.length??fe.length}:ie}):me.dbAttrs},he=(me,ye)=>{var O,L,F,Q,Y,ke,be,Ce,Ie;const ie={entityId:ye,attrId:me.modelId};if(K(me)){const U=Sr(E,me);return{key:`attr:${me.modelId}`,label:me.name+(U?` : ${U}`:""),icon:"table",attrRef:ie,focusId:ye,matchText:Po(me.name,(L=(O=me.dbAttrs[0])==null?void 0:O.logicalName)==null?void 0:L[w],(F=me.dbAttrs[0])==null?void 0:F.physicalName),children:J?re(me).map(H=>{var q,xe;return{key:`attr:${me.modelId}:col:${H.modelId}`,label:Di(E,H.physicalName,(q=H.logicalName)==null?void 0:q[w],H.physicalName,i.t("em.node.logicalMissing"))+(H.dataType?` : ${H.dataType}`:""),icon:"field",attrRef:ie,focusId:ye,matchText:Po(H.physicalName,(xe=H.logicalName)==null?void 0:xe[w]),children:[]}}):[]}}const se=Cr(me,i.state.logical.associations),fe=Sr(E,me,se);return{key:`attr:${me.modelId}`,label:Di(E,me.name,(Y=(Q=me.dbAttrs[0])==null?void 0:Q.logicalName)==null?void 0:Y[w],(ke=me.dbAttrs[0])==null?void 0:ke.physicalName,i.t("em.node.logicalMissing"))+(fe?` : ${fe}`:""),...z(me),attrRef:ie,focusId:ye,matchText:Po(me.name,(Ce=(be=me.dbAttrs[0])==null?void 0:be.logicalName)==null?void 0:Ce[w],(Ie=me.dbAttrs[0])==null?void 0:Ie.physicalName),children:[]}},ce=me=>{var se,fe,O;const ye=me.entity,ie=[...ye.attributes].sort((L,F)=>L.order-F.order);return{key:`entity:${ye.modelId}`,label:$(ye),icon:"table",selectKind:"entity",selectId:ye.modelId,focusId:ye.modelId,matchText:Po(ye.name,(fe=(se=ye.table)==null?void 0:se.logicalName)==null?void 0:fe[w],(O=ye.table)==null?void 0:O.physicalName),children:ie.map(L=>he(L,ye.modelId))}},Ne=new Map,pe=[];for(const me of I.entities)if(me.groupRef){const ye=Ne.get(me.groupRef)??[];ye.push(me),Ne.set(me.groupRef,ye)}else pe.push(me);const de=[];for(const me of I.groups){const ye=me.group;de.push({key:`group:${ye.modelId}`,label:((_e=ye.name)==null?void 0:_e[w])||((Se=ye.name)==null?void 0:Se.ko)||ye.packageName||i.t("em.explorer.groupFallback"),icon:"folder",focusId:ye.modelId,children:(Ne.get(ye.modelId)??[]).map(ce)})}for(const me of pe)de.push(ce(me));if(I.associations.length){const me=new Map(I.entities.map(ye=>[ye.entity.modelId,$(ye.entity)]));de.push({key:"section:associations",label:i.t("em.explorer.associations",{n:I.associations.length}),icon:"arrow-lr",children:I.associations.map(ye=>{const ie=ye.association,se=me.get(ie.end1.entityRef)??ie.end1.entityRef,fe=me.get(ie.end2.entityRef)??ie.end2.entityRef;return{key:`assoc:${ie.modelId}`,label:`${se} — ${fe}`,icon:"arrow-lr",selectKind:"association",selectId:ie.modelId,children:[]}})})}return I.notes.length&&de.push({key:"section:notes",label:i.t("em.explorer.notes",{n:I.notes.length}),icon:"note",children:I.notes.map(({note:me})=>{var ye;return{key:`note:${me.modelId}`,label:((ye=me.memo.split(`
66
- `)[0])==null?void 0:ye.slice(0,30))||i.t("em.explorer.emptyNote"),icon:"note",selectKind:"note",selectId:me.modelId,focusId:me.modelId,children:[]}})}),{key:"root",label:i.state.layout.name||i.t("em.explorer.diagram"),icon:"network",children:de}});function l(I){return I?I.pk&&I.fk?i.t("em.node.keyPfk"):I.pk?i.t("em.node.keyPk"):I.fk?i.t("em.node.keyFk"):"":""}const s=t.computed(()=>{const I=[],E=w=>{if(w.children.length){w.key!=="root"&&I.push(w.key);for(const $ of w.children)E($)}};return E(r.value),I}),c=I=>I.startsWith("entity:"),{isCollapsed:d,toggle:u,toggleAll:m,allExpanded:h}=zp({expandableKeys:()=>s.value,defaultCollapsed:c,storageKey:o.storageKey,scope:()=>i.state.layout.diagramId}),p=t.ref(""),g=t.ref(null),b=t.computed(()=>p.value.trim().length>0),f=t.computed(()=>{const I=[];if(b.value){const w=ZA(r.value,p.value.trim().toLowerCase()),$=(D,z,K,J,re)=>{if(!w.has(D.key))return;I.push({node:D,depth:z,parentKey:K,posinset:J,setsize:re});const he=D.children.filter(ce=>w.has(ce.key));he.forEach((ce,Ne)=>$(ce,z+1,D.key,Ne+1,he.length))};return $(r.value,0,null,1,1),I}const E=(w,$,D,z,K)=>{I.push({node:w,depth:$,parentKey:D,posinset:z,setsize:K}),d(w.key)||w.children.forEach((J,re)=>E(J,$+1,w.key,re+1,w.children.length))};return E(r.value,0,null,1,1),I}),y=t.ref(null),k=t.ref(null),_=t.computed(()=>{var E;const I=f.value;return k.value&&I.some(w=>w.node.key===k.value)?k.value:((E=I[0])==null?void 0:E.node.key)??null}),N=I=>!b.value&&d(I);async function x(I){var E,w;I&&(k.value=I,await t.nextTick(),(w=(E=y.value)==null?void 0:E.querySelector(`[data-key="${I}"]`))==null||w.focus())}function T(I,E){var D,z,K,J,re;const w=f.value,$=w.findIndex(he=>he.node.key===E.node.key);switch(I.key){case"ArrowDown":I.preventDefault(),x((D=w[$+1])==null?void 0:D.node.key);return;case"ArrowUp":I.preventDefault(),x((z=w[$-1])==null?void 0:z.node.key);return;case"Home":I.preventDefault(),x((K=w[0])==null?void 0:K.node.key);return;case"End":I.preventDefault(),x((J=w[w.length-1])==null?void 0:J.node.key);return;case"ArrowRight":if(I.preventDefault(),!E.node.children.length)return;N(E.node.key)?u(E.node.key):x((re=w[$+1])==null?void 0:re.node.key);return;case"ArrowLeft":I.preventDefault(),E.node.children.length&&!N(E.node.key)?u(E.node.key):x(E.parentKey);return;case"Enter":case" ":I.preventDefault(),B(E.node,I);return;case"F2":I.preventDefault(),v(E.node)}}const C=t.computed(()=>b.value&&f.value.length<=1);function R(I){var $;if(I.key!=="/"||I.metaKey||I.ctrlKey||I.altKey||I.shiftKey)return;const E=I.target,w=E==null?void 0:E.tagName;w==="INPUT"||w==="TEXTAREA"||w==="SELECT"||E!=null&&E.isContentEditable||(I.preventDefault(),($=g.value)==null||$.focus())}t.onMounted(()=>window.addEventListener("keydown",R)),t.onBeforeUnmount(()=>window.removeEventListener("keydown",R)),n({toggleAll:m,allExpanded:h,hasExpandable:t.computed(()=>s.value.length>0)});function A(I){const E=i.selection.value;return I.attrRef?(E==null?void 0:E.kind)==="attribute"&&E.entityId===I.attrRef.entityId&&E.ids.includes(I.attrRef.attrId):!!E&&E.kind!=="attribute"&&!!I.selectId&&I.selectKind===E.kind&&I.selectId===E.id}function M(I){const E=i.selection.value;return I.selectKind==="entity"&&(E==null?void 0:E.kind)==="attribute"&&E.entityId===I.selectId}function B(I,E){if(I.attrRef){const w=E.shiftKey?"range":E.metaKey||E.ctrlKey?"toggle":"replace";i.selectAttribute(I.attrRef.entityId,I.attrRef.attrId,w)}else I.selectKind&&I.selectId&&(i.selection.value={kind:I.selectKind,id:I.selectId});I.focusId&&i.requestFocus(I.focusId)}function v(I){I.selectKind==="entity"&&I.selectId&&Ga(a,i,I.selectId)}return(I,E)=>(t.openBlock(),t.createElementBlock("section",xT,[t.createElementVNode("div",CT,[t.createVNode(Ae,{name:"search",size:14,class:"em-explorer__search-icon"}),t.withDirectives(t.createElementVNode("input",{ref_key:"searchInput",ref:g,"onUpdate:modelValue":E[0]||(E[0]=w=>p.value=w),class:"em-explorer__search-input",type:"text",placeholder:t.unref(i).t("em.explorer.searchPlaceholder"),"aria-label":t.unref(i).t("em.explorer.searchAria"),onKeydown:E[1]||(E[1]=t.withKeys(w=>p.value="",["esc"]))},null,40,ST),[[t.vModelText,p.value]]),p.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-explorer__search-clear","aria-label":t.unref(i).t("em.explorer.clearSearchAria"),title:t.unref(i).t("em.explorer.clearSearchTitle"),onClick:E[2]||(E[2]=w=>p.value="")},[t.createVNode(Ae,{name:"x",size:13})],8,$T)):t.createCommentVNode("",!0)]),C.value?(t.openBlock(),t.createElementBlock("p",RT,t.toDisplayString(t.unref(i).t("em.explorer.noMatches")),1)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"rowsEl",ref:y,class:"em-explorer__rows",role:"tree","aria-label":t.unref(i).t("em.explorer.treeAria")},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,w=>(t.openBlock(),t.createElementBlock("div",{key:w.node.key,class:t.normalizeClass(["em-explorer__row",{"is-active":A(w.node),"is-focus-parent":M(w.node),"is-selectable":!!w.node.selectKind||!!w.node.attrRef||!!w.node.focusId}]),"data-key":w.node.key,role:"treeitem","aria-level":w.depth+1,"aria-posinset":w.posinset,"aria-setsize":w.setsize,"aria-expanded":w.node.children.length?!N(w.node.key):void 0,"aria-selected":A(w.node),tabindex:w.node.key===_.value?0:-1,style:t.normalizeStyle({paddingLeft:4+w.depth*14+"px"}),onClick:$=>B(w.node,$),onDblclick:$=>v(w.node),onFocus:$=>k.value=w.node.key,onKeydown:$=>T($,w)},[t.createElementVNode("span",{class:t.normalizeClass(["em-explorer__chevron",{"is-leaf":!w.node.children.length,"is-open":!N(w.node.key)}]),onClick:t.withModifiers($=>w.node.children.length&&t.unref(u)(w.node.key),["stop"])},[w.node.children.length?(t.openBlock(),t.createBlock(Ae,{key:0,name:"chevron",size:14})):t.createCommentVNode("",!0)],10,MT),w.node.keyMarks?(t.openBlock(),t.createElementBlock("span",{key:0,class:"em-explorer__keys",title:l(w.node.keyMarks),"aria-hidden":"true"},[t.createElementVNode("span",BT,[w.node.keyMarks.pk?(t.openBlock(),t.createBlock(Ae,{key:0,name:"key",size:14,class:"em-key is-pk"})):w.node.keyMarks.fk?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Ae,{key:1,class:"em-explorer__icon",name:w.node.icon,size:14},null,8,["name"]))]),t.createElementVNode("span",DT,[w.node.keyMarks.fk?(t.openBlock(),t.createBlock(Ae,{key:0,name:"key",size:14,class:"em-key is-fk"})):t.createCommentVNode("",!0)])],8,VT)):(t.openBlock(),t.createBlock(Ae,{key:1,class:"em-explorer__icon",name:w.node.icon,size:15},null,8,["name"])),t.createElementVNode("span",LT,t.toDisplayString(w.node.label),1),l(w.node.keyMarks)?(t.openBlock(),t.createElementBlock("span",OT,t.toDisplayString(l(w.node.keyMarks)),1)):t.createCommentVNode("",!0)],46,TT))),128))],8,AT)]))}}),[["__scopeId","data-v-64335548"]]),PT={class:"em-text-export"},zT=["id","aria-selected","tabindex","onClick"],FT=["aria-labelledby"],UT={class:"em-text-export__actions"},HT=Ke(t.defineComponent({__name:"TextExportModal",props:{formats:{},title:{},locale:{}},setup(e){const n=e,o=te.useModalHandle(),i=(m,h)=>Lt(n.locale??"ko",m,h),a=t.ref(0);function r(){return n.formats[a.value]??n.formats[0]}const l=t.ref(null);async function s(m){var h,p;a.value=m,await t.nextTick(),(p=(h=l.value)==null?void 0:h.querySelectorAll('[role="tab"]')[m])==null||p.focus()}function c(m){const h=n.formats.length;h&&s((a.value+m+h)%h)}async function d(){try{await navigator.clipboard.writeText(r().content),te.showNotification(i("em.export.copied"),"info")}catch{te.showNotification(i("em.export.copyFailed"),"error")}}function u(){const m=r(),h=new Blob([m.content],{type:"text/plain;charset=utf-8"}),p=URL.createObjectURL(h);try{const g=document.createElement("a");g.href=p,g.download=m.filename,document.body.appendChild(g),g.click(),g.remove()}finally{URL.revokeObjectURL(p)}}return(m,h)=>(t.openBlock(),t.createBlock(t.unref(te.BSModalFrame),{title:n.title??i("em.export.title")},{default:t.withCtx(()=>[t.createElementVNode("div",PT,[n.formats.length>1?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"tabsEl",ref:l,class:"em-text-export__tabs",role:"tablist"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.formats,(p,g)=>(t.openBlock(),t.createElementBlock("button",{id:`em-text-export-tab-${g}`,key:p.key,type:"button",role:"tab",class:t.normalizeClass(["em-text-export__tab",{"is-active":g===a.value}]),"aria-selected":g===a.value,"aria-controls":"em-text-export-panel",tabindex:g===a.value?0:-1,onClick:b=>a.value=g,onKeydown:[h[0]||(h[0]=t.withKeys(t.withModifiers(b=>c(-1),["prevent"]),["left"])),h[1]||(h[1]=t.withKeys(t.withModifiers(b=>c(1),["prevent"]),["right"])),h[2]||(h[2]=t.withKeys(t.withModifiers(b=>s(0),["prevent"]),["home"])),h[3]||(h[3]=t.withKeys(t.withModifiers(b=>s(n.formats.length-1),["prevent"]),["end"]))]},t.toDisplayString(p.label),43,zT))),128))],512)):t.createCommentVNode("",!0),t.createElementVNode("pre",{id:"em-text-export-panel",class:"em-text-export__pre",role:"tabpanel",tabindex:"0","aria-labelledby":n.formats.length>1?`em-text-export-tab-${a.value}`:void 0},t.toDisplayString(r().content),9,FT),t.createElementVNode("div",UT,[t.createVNode(t.unref(te.BSButton),{caption:i("em.export.copy"),onClick:d},null,8,["caption"]),t.createVNode(t.unref(te.BSButton),{caption:i("em.export.download"),onClick:u},null,8,["caption"]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:i("em.common.close"),onClick:h[4]||(h[4]=p=>t.unref(o).close())},null,8,["caption"])])])]),_:1},8,["title"]))}}),[["__scopeId","data-v-74551f98"]]),jT={class:"em-text-import"},KT=["aria-label"],GT=["aria-checked","tabindex","onClick"],YT=["placeholder"],qT={class:"em-text-import__status"},WT={class:"em-text-import__ok"},JT={key:0,class:"em-text-import__warn"},XT={key:1,class:"em-text-import__err"},ZT={key:2,class:"em-text-import__err"},QT={key:3,class:"em-text-import__err"},e2={class:"em-text-import__actions"},t2=Ke(t.defineComponent({__name:"TextImportModal",props:{onImport:{type:Function},locale:{}},setup(e){const n=e,o=te.useModalHandle(),i=(b,f)=>Lt(n.locale??"ko",b,f),a=t.ref(""),r=t.ref("auto"),l=[{key:"auto",labelKey:"em.import.formatAuto"},{key:"mermaid",labelKey:"em.import.formatMermaid"},{key:"ddl",labelKey:"em.import.formatDdl"},{key:"json",labelKey:"em.import.formatJson"}],s=t.ref(null);async function c(b){var y,k;const f=l[(b+l.length)%l.length];f&&(r.value=f.key,await t.nextTick(),(k=(y=s.value)==null?void 0:y.querySelectorAll('[role="radio"]')[l.indexOf(f)])==null||k.focus())}function d(b){c(l.findIndex(f=>f.key===r.value)+b)}function u(b){return b?b.startsWith("{")?"json":/\berdiagram\b/i.test(b)?"mermaid":/\bcreate\s+table\b/i.test(b)?"ddl":null:null}const m=t.computed(()=>r.value==="auto"?u(a.value.trim()):r.value),h=t.computed(()=>{const b=a.value.trim();if(!b)return{status:"empty"};const f=m.value;if(!f)return{status:"unknown"};try{let y,k=[];return f==="json"?y=Xs(b):f==="mermaid"?y=Us(b):(y=Gs(b),k=$r(b).warnings),y.logical.entities.length===0?{status:"emptyParse"}:{status:"ok",source:y,warnings:k}}catch(y){return{status:"error",message:y instanceof Error?y.message:String(y)}}}),p=t.computed(()=>h.value.status==="ok");function g(){const b=h.value;b.status!=="ok"||!b.source||(n.onImport(b.source),o.close())}return(b,f)=>(t.openBlock(),t.createBlock(t.unref(te.BSModalFrame),{title:i("em.import.title")},{default:t.withCtx(()=>[t.createElementVNode("div",jT,[t.createElementVNode("div",{ref_key:"fmtEl",ref:s,class:"em-text-import__formats",role:"radiogroup","aria-label":i("em.import.formatGroup")},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(l,y=>t.createElementVNode("button",{key:y.key,type:"button",role:"radio",class:t.normalizeClass(["em-text-import__fmt",{"is-active":y.key===r.value}]),"aria-checked":y.key===r.value,tabindex:y.key===r.value?0:-1,onClick:k=>r.value=y.key,onKeydown:[f[0]||(f[0]=t.withKeys(t.withModifiers(k=>d(-1),["prevent"]),["left"])),f[1]||(f[1]=t.withKeys(t.withModifiers(k=>d(1),["prevent"]),["right"])),f[2]||(f[2]=t.withKeys(t.withModifiers(k=>c(0),["prevent"]),["home"])),f[3]||(f[3]=t.withKeys(t.withModifiers(k=>c(l.length-1),["prevent"]),["end"]))]},t.toDisplayString(i(y.labelKey)),43,GT)),64))],8,KT),t.withDirectives(t.createElementVNode("textarea",{"onUpdate:modelValue":f[4]||(f[4]=y=>a.value=y),class:"em-text-import__input",placeholder:i("em.import.placeholder"),spellcheck:"false"},null,8,YT),[[t.vModelText,a.value]]),t.createElementVNode("div",qT,[h.value.status==="ok"&&h.value.source?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("span",WT,t.toDisplayString(i("em.import.detected",{format:i(`em.import.format${m.value==="json"?"Json":m.value==="ddl"?"Ddl":"Mermaid"}`)}))+" · "+t.toDisplayString(i("em.import.summary",{entities:h.value.source.logical.entities.length,relations:h.value.source.logical.associations.length})),1),h.value.warnings&&h.value.warnings.length?(t.openBlock(),t.createElementBlock("span",JT," ⚠ "+t.toDisplayString(i("em.import.warnings",{n:h.value.warnings.length})),1)):t.createCommentVNode("",!0)],64)):h.value.status==="error"?(t.openBlock(),t.createElementBlock("span",XT,t.toDisplayString(i("em.import.error",{message:h.value.message??""})),1)):h.value.status==="unknown"?(t.openBlock(),t.createElementBlock("span",ZT,t.toDisplayString(i("em.import.unknownFormat")),1)):h.value.status==="emptyParse"?(t.openBlock(),t.createElementBlock("span",QT,t.toDisplayString(i("em.import.emptyParse")),1)):t.createCommentVNode("",!0)]),t.createElementVNode("div",e2,[t.createVNode(t.unref(te.BSButton),{caption:i("em.import.confirm"),disabled:!p.value,onClick:g},null,8,["caption","disabled"]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:i("em.common.close"),onClick:f[5]||(f[5]=y=>t.unref(o).close())},null,8,["caption"])])])]),_:1},8,["title"]))}}),[["__scopeId","data-v-1059c939"]]),n2={class:"em-toolbar"},o2={class:"em-toolbar__mode"},qp=Ke(t.defineComponent({__name:"EditorToolbar",props:{controller:{},historyOpen:{type:Boolean}},emits:["exportSvg","exportPng","toggleHistory"],setup(e,{emit:n}){const i=e.controller,a=n,r=te.useModal(),l=[{v:"LOGICAL",labelKey:"em.displayMode.logical"},{v:"PHYSICAL",labelKey:"em.displayMode.physical"},{v:"LOGICAL_PHYSICAL",labelKey:"em.displayMode.logicalPhysical"},{v:"CLASS",labelKey:"em.displayMode.class"}],s=t.computed({get:()=>i.displayMode.value,set:g=>i.displayMode.value=g});function c(){i.routingMode.value=i.routingMode.value==="straight"?"orthogonal":"straight"}const d=t.computed(()=>{const g=i.resolved.value.entities;return g.length>0&&g.every(b=>b.collapsed)});function u(){d.value?i.expandAll():i.collapseAll()}function m(){const g=i.state.logical;r.openModal({component:HT,bind:{title:i.t("em.toolbar.exportText"),locale:i.uiLocale.value,formats:[{key:"text",label:i.t("em.export.formatText"),content:Ts(g,{embeddableCatalog:i.embeddableCatalog.value}),filename:"diagram.txt"},{key:"mermaid-er",label:i.t("em.export.formatMermaidEr"),content:Nr(g,"er"),filename:"diagram.er.mmd"},{key:"mermaid-class",label:i.t("em.export.formatMermaidClass"),content:Nr(g,"class"),filename:"diagram.class.mmd"},{key:"ddl",label:i.t("em.export.formatDdl"),content:Ys(g,"postgres",{embeddableCatalog:i.embeddableCatalog.value}),filename:"schema.sql"},{key:"json",label:i.t("em.export.formatJson"),content:Js(g,i.state.layout),filename:"diagram.json"}]}})}function h(){r.openModal({component:t2,bind:{locale:i.uiLocale.value,onImport:g=>{i.importEntities(g,g.logical.entities.map(b=>b.modelId))}}})}function p(){r.openModal({component:Kp,bind:{locale:i.uiLocale.value}})}return(g,b)=>(t.openBlock(),t.createElementBlock("div",n2,[t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.undo"),disabled:!t.unref(i).canUndo.value||!t.unref(i).editable.value,onClick:b[0]||(b[0]=f=>t.unref(i).undo())},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"undo",size:16})]),_:1},8,["tooltip","disabled"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.redo"),disabled:!t.unref(i).canRedo.value||!t.unref(i).editable.value,onClick:b[1]||(b[1]=f=>t.unref(i).redo())},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"redo",size:16})]),_:1},8,["tooltip","disabled"]),b[9]||(b[9]=t.createElementVNode("span",{class:"em-toolbar__sep"},null,-1)),t.createElementVNode("label",o2,[t.createTextVNode(t.toDisplayString(t.unref(i).t("em.toolbar.displayLabel"))+" ",1),t.createVNode(t.unref(te.BSSelect),{modelValue:s.value,"onUpdate:modelValue":b[2]||(b[2]=f=>s.value=f),items:l,"value-provider":f=>f.v,"label-provider":f=>t.unref(i).t(f.labelKey)},null,8,["modelValue","value-provider","label-provider"])]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(i).t(t.unref(i).routingMode.value==="orthogonal"?"em.toolbar.routingOrthogonal":"em.toolbar.routingStraight"),tooltip:t.unref(i).t("em.toolbar.routingToggle"),onClick:c},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"route",size:16})]),_:1},8,["caption","tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:t.normalizeClass(["em-toolbar__toggle",{"is-active":t.unref(i).showGrid.value}]),caption:t.unref(i).t("em.toolbar.grid"),tooltip:t.unref(i).t(t.unref(i).showGrid.value?"em.toolbar.gridOff":"em.toolbar.gridOn"),onClick:b[3]||(b[3]=f=>t.unref(i).showGrid.value=!t.unref(i).showGrid.value)},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"grid",size:16})]),_:1},8,["class","caption","tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:t.normalizeClass(["em-toolbar__toggle",{"is-active":t.unref(i).showMinimap.value}]),caption:t.unref(i).t("em.toolbar.minimap"),tooltip:t.unref(i).t(t.unref(i).showMinimap.value?"em.toolbar.minimapOff":"em.toolbar.minimapOn"),onClick:b[4]||(b[4]=f=>t.unref(i).showMinimap.value=!t.unref(i).showMinimap.value)},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"map",size:16})]),_:1},8,["class","caption","tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(i).t(d.value?"em.panel.expandAll":"em.panel.collapseAll"),disabled:!t.unref(i).editable.value,onClick:u},{left:t.withCtx(()=>[t.createVNode(Ae,{name:d.value?"expand-all":"collapse-all",size:16},null,8,["name"])]),_:1},8,["caption","disabled"]),b[10]||(b[10]=t.createElementVNode("span",{class:"em-toolbar__sep"},null,-1)),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.import"),disabled:!t.unref(i).editable.value,onClick:h},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"clipboard",size:16})]),_:1},8,["tooltip","disabled"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.exportText"),onClick:m},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"file-text",size:16})]),_:1},8,["tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.exportSvg"),onClick:b[5]||(b[5]=f=>a("exportSvg"))},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"image",size:16})]),_:1},8,["tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.exportPng"),onClick:b[6]||(b[6]=f=>a("exportPng"))},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"camera",size:16})]),_:1},8,["tooltip"]),b[11]||(b[11]=t.createElementVNode("span",{class:"em-toolbar__spacer"},null,-1)),t.unref(i).historyAvailable.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(t.unref(te.BSButton),{variant:"text",class:t.normalizeClass(["em-toolbar__toggle",{"is-active":e.historyOpen}]),caption:t.unref(i).t("em.toolbar.history"),tooltip:t.unref(i).t(e.historyOpen?"em.toolbar.historyClose":"em.toolbar.historyOpen"),onClick:b[7]||(b[7]=f=>a("toggleHistory"))},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"history",size:16})]),_:1},8,["class","caption","tooltip"]),b[8]||(b[8]=t.createElementVNode("span",{class:"em-toolbar__sep"},null,-1))],64)):t.createCommentVNode("",!0),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn em-toolbar__help",tooltip:t.unref(i).t("em.toolbar.shortcuts"),onClick:p},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"help",size:16})]),_:1},8,["tooltip"])]))}}),[["__scopeId","data-v-e185de41"]]),i2=["title"],a2=["title"],r2=["disabled","aria-pressed"],l2=["disabled","aria-pressed"],s2=Ke(t.defineComponent({__name:"EditModeToggle",props:{editable:{type:Boolean},opMode:{type:Boolean},frozen:{type:Boolean},locale:{}},emits:["toggle"],setup(e,{emit:n}){const o=e,i=n,a=l=>Lt(o.locale??"ko",l);function r(l){o.frozen||!o.opMode||l!==o.editable&&i("toggle")}return(l,s)=>e.frozen?(t.openBlock(),t.createElementBlock("div",{key:0,class:"em-mode-toggle em-mode-frozen",role:"status",title:a("em.mode.frozenTitle")},[t.createVNode(Ae,{name:"lock",size:14}),t.createElementVNode("span",null,t.toDisplayString(a("em.mode.frozen")),1)],8,i2)):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["em-mode-toggle em-mode-segment",{"is-readonly":!e.opMode}]),role:"group",title:e.opMode?void 0:a("em.mode.readonlyTitle")},[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-seg",{"is-active":!e.editable}]),disabled:!e.opMode,"aria-pressed":!e.editable,onClick:s[0]||(s[0]=c=>r(!1))},[t.createVNode(Ae,{name:"eye",size:13}),t.createElementVNode("span",null,t.toDisplayString(a("em.mode.view")),1)],10,r2),t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-seg",{"is-active":e.editable}]),disabled:!e.opMode,"aria-pressed":e.editable,onClick:s[1]||(s[1]=c=>r(!0))},[t.createVNode(Ae,{name:"pencil",size:13}),t.createElementVNode("span",null,t.toDisplayString(a("em.mode.edit")),1)],10,l2)],10,a2))}}),[["__scopeId","data-v-2b5162b7"]]),c2=["disabled"],d2={class:"em-panel__sub"},u2={class:"em-nav"},m2={key:0,class:"em-nav__divider","aria-hidden":"true"},f2={key:1},p2=["onClick","onKeydown"],h2={class:"em-nav__name"},y2=["title"],g2={key:0,class:"em-panel__note"},b2=["data-attr-block"],_2={class:"em-attr__row"},k2=["title"],E2={key:0,class:"em-attr__row"},N2={key:1,class:"em-attr__navhint"},w2={key:0,class:"em-attr__navhint"},v2={class:"em-attr__row"},I2={class:"em-attr__row"},x2=["title"],C2={class:"em-attr__flags"},S2={class:"em-attr__pii"},$2={class:"em-attr__pii"},R2={key:1,class:"em-attr__pii"},A2={key:2,class:"em-attr__pii em-attr__codetop"},T2={class:"em-multilang"},M2={key:3,class:"em-embed-cols"},V2={class:"em-embed-col__label"},B2={class:"em-attr__row"},D2=["title"],L2=["title"],O2=["title"],P2={class:"em-attr__row"},z2={key:0,class:"em-embed-upd"},F2={key:1,class:"em-attr__navhint"},U2={class:"em-embed-upd"},H2={class:"em-embed-upd"},j2={class:"em-swatch__row em-attr__swatch"},K2=["title","onClick"],G2=["title","onClick"],Y2={key:0,class:"em-attr__swatch-hint"},q2=Ke(t.defineComponent({__name:"EntityColumnsSection",props:{controller:{},entityId:{}},setup(e){const n=e,o=n.controller,{entity:i,isEmbeddable:a,focusedAttrIds:r,personalInfoItems:l,piiLabel:s,idn:c,setAttr:d,isManagedFk:u,setNaturalId:m,setIdentifier:h,setTransient:p,dbLocked:g,fkDerived:b,fkOriginPhysical:f,typeValueOf:y,typeLabelOf:k,setAttrType:_,setAttrCustomType:N,setDb:x,scaleApplicable:T,scaleHint:C,setDbLogical:R,setAttrDescription:A,attrPiiValue:M,setAttrPii:B,predefinedCustomTypeCatalog:v,embeddableCatalog:I,predefinedLabel:E,groupCodeCatalog:w,attrGroupCodes:$,attrCodeItems:D,codeValueOf:z,codeLabelOf:K,setAttrGroupCode:J,setAttrCode:re,setAttrDefaultValue:he,isEmbedExpanded:ce,setDbAt:Ne,setDbLogicalAt:pe,embedColMeta:de,fixedDataType:_e,fixedLength:Se,fixedScale:me,updatableItems:ye,updatableLabel:ie,updatableValue:se,setUpdatableAt:fe,setUpdatable:O,insertableItems:L,insertableLabel:F,insertableValue:Q,setInsertableAt:Y,setInsertable:ke,sharedItems:be,sharedLabel:Ce,sharedValue:Ie,setSharedAt:U,isShared:H,sharedPhysical:q}=Qm(o,()=>n.entityId),xe=t.computed(()=>i.value?o.state.layout.entityLayouts.find(Pe=>Pe.entityRef===i.value.modelId)??null:null),De=t.computed(()=>{var Pe;return((Pe=i.value)==null?void 0:Pe.attributes.filter(Oe=>Oe.attrType!=="DIVIDER"))??[]}),W=t.computed(()=>{var Pe;return((Pe=i.value)==null?void 0:Pe.attributes)??[]}),ne=t.computed(()=>De.value.filter(Pe=>r.value.has(Pe.modelId)));function G(Pe){return{pk:Pe.identifier,fk:Pe.attrType.startsWith("RELATION")&&Pe.dbAttrs.length>0,required:Pe.notNull&&!Pe.identifier}}function P(Pe){const Oe=G(Pe),X=[Oe.pk&&"PK",Oe.fk&&"FK",Oe.required&&"NOT NULL"].filter(Boolean);return X.length?X.join(" · "):void 0}function ae(Pe,Oe){i.value&&o.selectAttribute(i.value.modelId,Pe.modelId,Oe.shiftKey?"range":Oe.metaKey||Oe.ctrlKey?"toggle":"replace")}function $e(Pe){var Oe,X;return _t((X=(Oe=xe.value)==null?void 0:Oe.attributeStyles)==null?void 0:X[Pe.modelId])}function le(Pe){return r.value.size>1&&r.value.has(Pe.modelId)}function j(Pe,Oe){if(!i.value)return;const X=le(Pe)?o.selectedAttrIds.value:[Pe.modelId];o.setAttributeSwatches(i.value.modelId,X,Oe)}const Xe=t.ref(void 0);function rt(Pe){if(!Pe||!i.value)return;const Oe=o.addPredefinedEmbed(i.value.modelId,Pe);Oe&&o.selectAttribute(i.value.modelId,Oe),Xe.value=void 0}function He(){if(!i.value)return;const Pe=o.addAttribute(i.value.modelId);Pe&&o.selectAttribute(i.value.modelId,Pe)}return(Pe,Oe)=>t.unref(i)?(t.openBlock(),t.createElementBlock("fieldset",{key:0,class:"em-section",disabled:!t.unref(o).editable.value},[t.createElementVNode("h4",d2,[t.createTextVNode(t.toDisplayString(t.unref(o).t("em.attr.section",{n:De.value.length}))+" ",1),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(o).t("em.common.add"),onClick:He},null,8,["caption"]),t.unref(I).length?(t.openBlock(),t.createBlock(t.unref(te.BSSelect),{key:0,width:"120px",placeholder:t.unref(o).t("em.attr.addEmbeddable"),"model-value":Xe.value,items:t.unref(I),"value-provider":X=>X.type,"label-provider":t.unref(E),"onUpdate:modelValue":rt},null,8,["placeholder","model-value","items","value-provider","label-provider"])):t.createCommentVNode("",!0)]),t.createElementVNode("ul",u2,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(W.value,X=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:X.modelId},[X.attrType==="DIVIDER"?(t.openBlock(),t.createElementBlock("li",m2,[...Oe[0]||(Oe[0]=[t.createElementVNode("hr",null,null,-1)])])):(t.openBlock(),t.createElementBlock("li",f2,[t.createElementVNode("div",{class:t.normalizeClass(["em-nav__item",{"is-selected":t.unref(r).has(X.modelId)}]),role:"button",tabindex:"0",onClick:Nt=>ae(X,Nt),onKeydown:[t.withKeys(t.withModifiers(Nt=>ae(X,Nt),["prevent"]),["enter"]),t.withKeys(t.withModifiers(Nt=>ae(X,Nt),["prevent"]),["space"])]},[t.createElementVNode("span",h2,t.toDisplayString(X.name||t.unref(o).t("em.attr.nameless")),1),t.createElementVNode("span",{class:"em-nav__marks",title:P(X)},[G(X).pk?(t.openBlock(),t.createBlock(Ae,{key:0,name:"key",size:12,class:"em-nav-key is-pk"})):G(X).required?(t.openBlock(),t.createBlock(Ae,{key:1,name:"asterisk",size:14,class:"em-nav-key is-required"})):t.createCommentVNode("",!0),G(X).fk?(t.openBlock(),t.createBlock(Ae,{key:2,name:"key",size:12,class:"em-nav-key is-fk"})):t.createCommentVNode("",!0)],8,y2)],42,p2)]))],64))),128))]),De.value.length&&!ne.value.length?(t.openBlock(),t.createElementBlock("p",g2,t.toDisplayString(t.unref(o).t("em.attr.selectHint")),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(ne.value,X=>{var Nt,Et,hn,yn,Ee,nt,mt,Ft,Zt,Qt;return t.openBlock(),t.createElementBlock("div",{key:X.modelId,class:t.normalizeClass(["em-attr",{"is-focused":t.unref(r).has(X.modelId)}]),"data-attr-block":X.modelId},[t.createElementVNode("div",_2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`attr-name-${X.modelId}`,width:"100%",placeholder:t.unref(o).t("em.attr.namePlaceholder"),"model-value":X.name,"onUpdate:modelValue":we=>t.unref(d)(X,{name:we})},null,8,["name","placeholder","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSSelect),{name:`attr-type-${X.modelId}`,width:"84px",placeholder:t.unref(o).t("em.attr.typePlaceholder"),disabled:X.attrType.startsWith("EMBED")||!!X.groupCode||X.attrType==="RELATION_REF"||t.unref(b)(X),items:t.unref(zs)(X.type,t.unref(v)),"value-provider":t.unref(y),"label-provider":t.unref(k),"model-value":X.type,"onUpdate:modelValue":we=>t.unref(_)(X,we)},null,8,["name","placeholder","disabled","items","value-provider","label-provider","model-value","onUpdate:modelValue"]),t.createElementVNode("span",{title:t.unref(u)(X)?t.unref(o).t("em.attr.fkDeleteHint"):void 0},[t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-del-btn",caption:"✕",onClick:we=>t.unref(o).removeAttribute(t.unref(i).modelId,X.modelId)},null,8,["onClick"])],8,k2)]),X.type===t.unref(en)&&!t.unref(b)(X)?(t.openBlock(),t.createElementBlock("div",E2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`attr-customtype-${X.modelId}`,width:"100%",placeholder:t.unref(o).t("em.attr.customTypePlaceholder"),"model-value":X.customType??"","onUpdate:modelValue":we=>t.unref(N)(X,we)},null,8,["name","placeholder","model-value","onUpdate:modelValue"])])):t.createCommentVNode("",!0),X.attrType==="RELATION_REF"?(t.openBlock(),t.createElementBlock("p",N2,t.toDisplayString(t.unref(o).t("em.attr.inverseNavHint")),1)):t.unref(ce)(X)?(t.openBlock(),t.createElementBlock("div",M2,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(X.dbAttrs,(we,et)=>{var ft,gn,ot,zo,Fo,oe,S,V;return t.openBlock(),t.createElementBlock("div",{key:we.modelId,class:"em-embed-col"},[t.createElementVNode("span",V2,t.toDisplayString(((ft=t.unref(de)(X,et))==null?void 0:ft.name)??((gn=t.unref(de)(X,et))==null?void 0:gn.physicalName)??t.unref(o).t("em.attr.colFallback",{n:et+1})),1),t.createElementVNode("div",B2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`embed-col-${we.modelId}`,width:"100%",disabled:t.unref(H)(we),placeholder:((ot=t.unref(de)(X,et))==null?void 0:ot.physicalName)??t.unref(o).t("em.attr.columnPlaceholder"),"model-value":t.unref(H)(we)?t.unref(q)(we):we.physicalName,"onUpdate:modelValue":ee=>t.unref(Ne)(X,et,{physicalName:ee})},null,8,["name","disabled","placeholder","model-value","onUpdate:modelValue"]),t.createElementVNode("span",{title:t.unref(o).t("em.attr.embedFixedHint")},[t.createVNode(t.unref(te.BSTextInput),{name:`embed-dtype-${we.modelId}`,width:"84px",disabled:"","model-value":t.unref(_e)(X,et)},null,8,["name","model-value"])],8,D2),t.createElementVNode("span",{title:t.unref(o).t("em.attr.embedFixedHint")},[t.createVNode(t.unref(te.BSNumberInput),{name:`embed-len-${we.modelId}`,width:"48px",disabled:"","model-value":t.unref(Se)(X,et)},null,8,["name","model-value"])],8,L2),t.createElementVNode("span",{title:t.unref(o).t("em.attr.embedFixedHint")},[t.createVNode(t.unref(te.BSNumberInput),{name:`embed-scale-${we.modelId}`,width:"48px",disabled:"","model-value":t.unref(me)(X,et)},null,8,["name","model-value"])],8,O2)]),t.createVNode(Qn,{controller:t.unref(o),"ref-id":we.modelId},null,8,["controller","ref-id"]),t.createElementVNode("div",P2,[t.createVNode(cn,{class:"grow",name:`embed-logical-${we.modelId}`,languages:t.unref(o).languages.value,"default-lang":t.unref(o).userLanguage.value,placeholder:((Fo=(zo=t.unref(de)(X,et))==null?void 0:zo.logicalName)==null?void 0:Fo[t.unref(o).userLanguage.value])??((S=(oe=t.unref(de)(X,et))==null?void 0:oe.logicalName)==null?void 0:S.ko)??t.unref(o).t("em.attr.logicalPlaceholder"),"model-value":we.logicalName,"onUpdate:modelValue":ee=>t.unref(pe)(X,et,ee)},null,8,["name","languages","default-lang","placeholder","model-value","onUpdate:modelValue"])]),(V=t.unref(de)(X,et))!=null&&V.shareable?(t.openBlock(),t.createElementBlock("label",z2,[t.createElementVNode("span",null,t.toDisplayString(t.unref(o).t("em.attr.currencyColumn")),1),t.createVNode(t.unref(te.BSSelect),{width:"110px","model-value":t.unref(Ie)(we),items:t.unref(be)(),"value-provider":t.unref(c),"label-provider":t.unref(Ce),"onUpdate:modelValue":ee=>ee&&t.unref(U)(X,et,ee)},null,8,["model-value","items","value-provider","label-provider","onUpdate:modelValue"])])):t.createCommentVNode("",!0),t.unref(H)(we)?(t.openBlock(),t.createElementBlock("p",F2,t.toDisplayString(t.unref(o).t("em.attr.embedSharedHint")),1)):t.createCommentVNode("",!0),t.createElementVNode("label",U2,[Oe[3]||(Oe[3]=t.createElementVNode("span",null,"insertable",-1)),t.createVNode(t.unref(te.BSSelect),{width:"110px",disabled:t.unref(H)(we),"model-value":t.unref(H)(we)?"false":t.unref(Q)(we),items:t.unref(L),"value-provider":t.unref(c),"label-provider":t.unref(F),"onUpdate:modelValue":ee=>ee&&t.unref(Y)(X,et,ee)},null,8,["disabled","model-value","items","value-provider","label-provider","onUpdate:modelValue"])]),t.createElementVNode("label",H2,[Oe[4]||(Oe[4]=t.createElementVNode("span",null,"updatable",-1)),t.createVNode(t.unref(te.BSSelect),{width:"110px",disabled:t.unref(H)(we),"model-value":t.unref(H)(we)?"false":t.unref(se)(we),items:t.unref(ye),"value-provider":t.unref(c),"label-provider":t.unref(ie),"onUpdate:modelValue":ee=>ee&&t.unref(fe)(X,et,ee)},null,8,["disabled","model-value","items","value-provider","label-provider","onUpdate:modelValue"])])])}),128))])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.unref(b)(X)?(t.openBlock(),t.createElementBlock("p",w2,t.toDisplayString(t.unref(o).t("em.attr.fkDerivedNote")),1)):t.createCommentVNode("",!0),t.createElementVNode("div",v2,[t.createVNode(cn,{class:"grow",name:`attr-logical-${X.modelId}`,languages:t.unref(o).languages.value,"default-lang":t.unref(o).userLanguage.value,placeholder:t.unref(o).t("em.attr.logicalPlaceholder"),"model-value":(Nt=X.dbAttrs[0])==null?void 0:Nt.logicalName,"onUpdate:modelValue":we=>t.unref(R)(X,we)},null,8,["name","languages","default-lang","placeholder","model-value","onUpdate:modelValue"])]),t.createElementVNode("div",I2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`attr-col-${X.modelId}`,width:"100%",placeholder:t.unref(f)(X)??t.unref(o).t("em.attr.columnPlaceholder"),disabled:t.unref(g)(X),"model-value":((Et=X.dbAttrs[0])==null?void 0:Et.physicalName)??"","onUpdate:modelValue":we=>t.unref(x)(X,{physicalName:we})},null,8,["name","placeholder","disabled","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSSelect),{name:`attr-dtype-${X.modelId}`,width:"84px",placeholder:"dataType",disabled:t.unref(g)(X)||t.unref(b)(X),items:t.unref(Ls)(((hn=X.dbAttrs[0])==null?void 0:hn.dataType)??"",t.unref(o).selectableDataTypes.value),"value-provider":t.unref(c),"label-provider":t.unref(vr),"model-value":((yn=X.dbAttrs[0])==null?void 0:yn.dataType)??"","onUpdate:modelValue":we=>we&&t.unref(x)(X,{dataType:we})},null,8,["name","disabled","items","value-provider","label-provider","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSNumberInput),{name:`attr-len-${X.modelId}`,width:"48px",placeholder:"len",disabled:t.unref(g)(X)||t.unref(b)(X),"model-value":(Ee=X.dbAttrs[0])==null?void 0:Ee.length,"onUpdate:modelValue":we=>t.unref(x)(X,{length:we||void 0})},null,8,["name","disabled","model-value","onUpdate:modelValue"]),t.createElementVNode("span",{title:t.unref(C)(X)},[t.createVNode(t.unref(te.BSNumberInput),{name:`attr-scale-${X.modelId}`,width:"48px",placeholder:"scale",disabled:t.unref(g)(X)||t.unref(b)(X)||!t.unref(T)(X),"model-value":(nt=X.dbAttrs[0])==null?void 0:nt.scale,"onUpdate:modelValue":we=>t.unref(x)(X,{scale:we||void 0})},null,8,["name","disabled","model-value","onUpdate:modelValue"])],8,x2)]),t.createVNode(Qn,{controller:t.unref(o),"ref-id":(mt=X.dbAttrs[0])==null?void 0:mt.modelId},null,8,["controller","ref-id"]),t.createElementVNode("div",C2,[t.createVNode(t.unref(te.BSCheckbox),{name:`attr-pk-${X.modelId}`,label:"Primary Key","model-value":X.identifier,disabled:t.unref(a)||t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(h)(X,we)},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-nn-${X.modelId}`,label:"Not Null","model-value":X.notNull,disabled:t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(d)(X,{notNull:we})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-uq-${X.modelId}`,label:"Unique","model-value":!!((Ft=X.dbAttrs[0])!=null&&Ft.unique),disabled:t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(x)(X,{unique:we})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-ai-${X.modelId}`,label:"Auto Increment","model-value":!!((Zt=X.dbAttrs[0])!=null&&Zt.autoIncrement),disabled:t.unref(g)(X)||t.unref(b)(X)||!X.identifier,"onUpdate:modelValue":we=>t.unref(x)(X,{autoIncrement:we})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-tr-${X.modelId}`,label:"@Transient","model-value":!!X.transient,disabled:X.identifier||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(p)(X,we)},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-nid-${X.modelId}`,label:"@NaturalId","model-value":!!X.naturalId,disabled:X.identifier||t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(m)(X,we)},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{class:"em-attr__flag-sub",name:`attr-nidm-${X.modelId}`,label:"mutable","model-value":!!X.naturalIdMutable,disabled:t.unref(g)(X)||!X.naturalId,"onUpdate:modelValue":we=>t.unref(d)(X,{naturalIdMutable:we||void 0})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-mv-${X.modelId}`,label:"Multi-Value (Set)","model-value":!!((Qt=X.dbAttrs[0])!=null&&Qt.multiValue),disabled:t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(x)(X,{multiValue:we||void 0})},null,8,["name","model-value","disabled","onUpdate:modelValue"])]),t.createElementVNode("label",S2,[Oe[1]||(Oe[1]=t.createElementVNode("span",null,"insertable",-1)),t.createVNode(t.unref(te.BSSelect),{width:"100%",disabled:t.unref(g)(X),"model-value":t.unref(Q)(X.dbAttrs[0]),items:t.unref(L),"value-provider":t.unref(c),"label-provider":t.unref(F),"onUpdate:modelValue":we=>we&&t.unref(ke)(X,we)},null,8,["disabled","model-value","items","value-provider","label-provider","onUpdate:modelValue"])]),t.createElementVNode("label",$2,[Oe[2]||(Oe[2]=t.createElementVNode("span",null,"updatable",-1)),t.createVNode(t.unref(te.BSSelect),{width:"100%",disabled:t.unref(g)(X),"model-value":t.unref(se)(X.dbAttrs[0]),items:t.unref(ye),"value-provider":t.unref(c),"label-provider":t.unref(ie),"onUpdate:modelValue":we=>we&&t.unref(O)(X,we)},null,8,["disabled","model-value","items","value-provider","label-provider","onUpdate:modelValue"])]),t.unref(b)(X)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("label",R2,[t.createElementVNode("span",null,t.toDisplayString(t.unref(o).t("em.attr.pii")),1),t.createVNode(t.unref(te.BSSelect),{width:"100%","model-value":t.unref(M)(X),items:t.unref(l),"value-provider":t.unref(c),"label-provider":t.unref(s),"onUpdate:modelValue":we=>we&&t.unref(B)(X,we)},null,8,["model-value","items","value-provider","label-provider","onUpdate:modelValue"])])),t.unref(w).length&&!t.unref(b)(X)?(t.openBlock(),t.createElementBlock("label",A2,[t.createElementVNode("span",null,t.toDisplayString(t.unref(o).t("em.attr.codeGroup")),1),t.createVNode(af,{"model-value":X.groupCode,items:t.unref(w),locale:t.unref(o).uiLocale.value,"onUpdate:modelValue":we=>t.unref(J)(X,we)},null,8,["model-value","items","locale","onUpdate:modelValue"])])):t.createCommentVNode("",!0),t.unref(b)(X)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("label",{key:3,class:t.normalizeClass(["em-attr__pii",{"em-attr__codetop":!t.unref(w).length}])},[t.createElementVNode("span",null,t.toDisplayString(t.unref(o).t("em.attr.defaultValue")),1),t.unref($)(X).length?(t.openBlock(),t.createBlock(t.unref(te.BSSelect),{key:0,width:"100%","model-value":X.defaultValue??"none",items:t.unref(D)(X),"value-provider":t.unref(z),"label-provider":t.unref(K),"onUpdate:modelValue":we=>we&&t.unref(re)(X,we)},null,8,["model-value","items","value-provider","label-provider","onUpdate:modelValue"])):(t.openBlock(),t.createBlock(t.unref(te.BSTextInput),{key:1,name:`attr-default-${X.modelId}`,width:"100%",placeholder:t.unref(o).t("em.attr.defaultValue"),"model-value":X.defaultValue??"","onUpdate:modelValue":we=>t.unref(he)(X,we)},null,8,["name","placeholder","model-value","onUpdate:modelValue"]))],2)),t.createElementVNode("fieldset",T2,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(o).t("em.common.description")),1),t.createVNode(cn,{multiline:"",name:`attr-desc-${X.modelId}`,languages:t.unref(o).languages.value,"default-lang":t.unref(o).userLanguage.value,"model-value":X.description,"onUpdate:modelValue":we=>t.unref(A)(X,we)},null,8,["name","languages","default-lang","model-value","onUpdate:modelValue"])])],64)),t.createElementVNode("div",j2,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-swatch__chip em-swatch__none",{"is-on":$e(X)===null}]),title:t.unref(o).t("em.swatch.none"),onClick:we=>j(X,null)},"∅",10,K2),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),we=>(t.openBlock(),t.createElementBlock("button",{key:we,type:"button",class:t.normalizeClass(["em-swatch__chip",{"is-on":$e(X)===we}]),style:t.normalizeStyle({background:t.unref(Ao)(we)}),title:t.unref(o).t(t.unref(Zn)(we)),onClick:et=>j(X,we)},null,14,G2))),128)),le(X)?(t.openBlock(),t.createElementBlock("span",Y2,t.toDisplayString(t.unref(o).t("em.attr.batchHint",{n:t.unref(r).size})),1)):t.createCommentVNode("",!0)])],10,b2)}),128))],8,c2)):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-2c47fef2"]]),W2=["disabled"],J2={class:"em-panel__sub-label"},X2={class:"em-attr__row"},Z2={class:"em-field em-idx-params"},Q2=["value","placeholder","onChange"],eM=Ke(t.defineComponent({__name:"EntityIndexSection",props:{controller:{},entityId:{},collapsible:{type:Boolean},collapsed:{type:Boolean}},emits:["toggle"],setup(e,{emit:n}){const o=e,i=n,a=o.controller,r=t.computed(()=>a.state.logical.entities.find(N=>N.modelId===o.entityId)??null),l=t.computed(()=>r.value?Uo(r.value,a.superClassCatalog.value):[]),s=t.computed(()=>{var N;return[...(((N=r.value)==null?void 0:N.attributes)??[]).filter(x=>x.dbAttrs.length>0).map(x=>({value:x.modelId,label:x.name})),...l.value.map(x=>({value:x.modelId,label:a.t("em.index.inherited",{field:x.field})}))]}),c=t.computed(()=>{var N;return Mn(((N=r.value)==null?void 0:N.attributes)??[])}),d=N=>c.value.canon(N);function u(N,x){var A;const T=new Set(N.columns.filter((M,B)=>B!==x).map(M=>d(M.columnRef))),C=s.value.filter(M=>!T.has(d(M.value))),R=(A=N.columns[x])==null?void 0:A.columnRef;return R&&!C.some(M=>M.value===R)&&C.push({value:R,label:m(R)}),C}function m(N){var C,R;const x=(C=r.value)==null?void 0:C.attributes.find(A=>A.modelId===N);if(x)return x.name;const T=(R=r.value)==null?void 0:R.attributes.flatMap(A=>A.dbAttrs).find(A=>A.modelId===N);return(T==null?void 0:T.physicalName)||N}function h(N){const x=new Set(N.columns.map(T=>d(T.columnRef)));return s.value.filter(T=>!x.has(d(T.value)))}function p(){var x;if(!r.value)return;const N=s.value[0];a.addIndex(r.value.modelId,{modelId:Be(),name:`idx_${(((x=r.value.indexes)==null?void 0:x.length)??0)+1}`,unique:!1,columns:N?[{columnRef:N.value,descending:!1}]:[]})}function g(N,x){r.value&&a.updateIndex(r.value.modelId,N,x)}function b(N){const x=h(N)[0];x&&g(N.modelId,{columns:[...N.columns,{columnRef:x.value,descending:!1}]})}function f(N,x,T){g(N.modelId,{columns:N.columns.map((C,R)=>R===x?{...C,columnRef:T}:C)})}function y(N,x,T){g(N.modelId,{columns:N.columns.map((C,R)=>R===x?{...C,descending:T}:C)})}function k(N,x){g(N.modelId,{columns:N.columns.filter((T,C)=>C!==x)})}function _(N,x){g(N.modelId,{parameters:x.trim()===""?void 0:x})}return(N,x)=>{var T;return r.value?(t.openBlock(),t.createElementBlock("fieldset",{key:0,class:"em-section em-idx-section",disabled:!t.unref(a).editable.value},[t.createElementVNode("h4",{class:t.normalizeClass(["em-panel__sub",{"em-panel__sub--toggle":e.collapsible}]),onClick:x[0]||(x[0]=C=>e.collapsible&&i("toggle"))},[t.createElementVNode("span",J2,[e.collapsible?(t.openBlock(),t.createBlock(Ae,{key:0,name:"chevron",size:13,class:t.normalizeClass(["em-sub-caret",{"is-open":!e.collapsed}])},null,8,["class"])):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(t.unref(a).t("em.index.section",{n:((T=r.value.indexes)==null?void 0:T.length)??0})),1)]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(a).t("em.common.add"),onClick:t.withModifiers(p,["stop"])},null,8,["caption"])],2),!e.collapsible||!e.collapsed?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(r.value.indexes??[],C=>(t.openBlock(),t.createElementBlock("div",{key:C.modelId,class:"em-attr"},[t.createElementVNode("div",X2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`idx-name-${C.modelId}`,width:"100%",placeholder:t.unref(a).t("em.index.namePlaceholder"),"model-value":C.name,"onUpdate:modelValue":R=>g(C.modelId,{name:R})},null,8,["name","placeholder","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`idx-uq-${C.modelId}`,class:"em-check",label:"UQ","model-value":C.unique,"onUpdate:modelValue":R=>g(C.modelId,{unique:R})},null,8,["name","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-del-btn",caption:"✕",onClick:R=>t.unref(a).removeIndex(r.value.modelId,C.modelId)},null,8,["onClick"])]),t.createVNode(Qn,{controller:t.unref(a),"ref-id":C.modelId},null,8,["controller","ref-id"]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(C.columns,(R,A)=>(t.openBlock(),t.createElementBlock("div",{key:A,class:"em-attr__row"},[t.createVNode(t.unref(te.BSSelect),{class:"grow","model-value":R.columnRef,items:u(C,A),"value-provider":M=>M.value,"label-provider":M=>M.label,"onUpdate:modelValue":M=>M&&f(C,A,M)},null,8,["model-value","items","value-provider","label-provider","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`idx-${C.modelId}-desc-${A}`,class:"em-check",label:"DESC","model-value":R.descending,"onUpdate:modelValue":M=>y(C,A,M)},null,8,["name","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:"−",onClick:M=>k(C,A)},null,8,["onClick"])]))),128)),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(a).t("em.index.addColumn"),disabled:!h(C).length,onClick:R=>b(C)},null,8,["caption","disabled","onClick"]),t.createElementVNode("label",Z2,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a).t("em.index.condition")),1),t.createElementVNode("textarea",{class:"em-textarea",value:C.parameters??"",rows:"2",placeholder:t.unref(a).t("em.index.conditionPlaceholder"),onChange:R=>_(C,R.target.value)},null,40,Q2)])]))),128)):t.createCommentVNode("",!0)],8,W2)):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-c4c86cbe"]]),tM=["disabled"],nM={class:"em-panel__sub-label"},oM={class:"em-attr__row"},iM={class:"em-attr__row"},aM={class:"em-multilang"},rM={class:"em-attr__pii"},lM={class:"em-swatch__row em-attr__swatch"},sM=["title","onClick"],cM=["title","onClick"],dM=Ke(t.defineComponent({__name:"EntityOperationsSection",props:{controller:{},entityId:{},collapsible:{type:Boolean},collapsed:{type:Boolean}},emits:["toggle"],setup(e,{emit:n}){const o=e,i=n,a=o.controller,r=te.useModal(),l=t.computed(()=>a.state.logical.entities.find(_=>_.modelId===o.entityId)??null),s=t.computed(()=>l.value?a.state.layout.entityLayouts.find(_=>_.entityRef===l.value.modelId)??null:null),c=["PUBLIC","PROTECTED","PACKAGE","PRIVATE"],d=["none","PASSWORD","SOCIAL_SECURITY_NO","PASSPORT_NO","ALIEN_REGISTRATION_NO","DRIVERS_LICENSE_NO","BIOMETRICS","CREDITCARD_NO","ACCOUNT_NO","MEMBERSHIP_CARD_NO","ID","NAME","DATE_OF_BIRTH","PHONE_NO","EMAIL_ADDRESS","ADDRESS","IP_ADDRESS"];function u(_){return _==="none"?a.t("em.common.noneParen"):_}const m=_=>_;function h(_,N){l.value&&a.updateOperation(l.value.modelId,_.modelId,N)}function p(_,N){h(_,{description:Object.keys(N).length?N:void 0})}function g(_){return _.personalInfoAttributeType??"none"}function b(_,N){h(_,{personalInfoAttributeType:N==="none"?void 0:N})}function f(_){var N,x;return _t((x=(N=s.value)==null?void 0:N.operationStyles)==null?void 0:x[_.modelId])}function y(_,N){l.value&&a.setOperationSwatch(l.value.modelId,_.modelId,N)}function k(_){r.openModal({component:lf,bind:{operationName:_.name,sourceCode:_.sourceCode??"",locale:a.uiLocale.value,onSave:N=>h(_,{sourceCode:N})}})}return(_,N)=>{var x;return l.value?(t.openBlock(),t.createElementBlock("fieldset",{key:0,class:"em-section",disabled:!t.unref(a).editable.value},[t.createElementVNode("h4",{class:t.normalizeClass(["em-panel__sub",{"em-panel__sub--toggle":e.collapsible}]),onClick:N[1]||(N[1]=T=>e.collapsible&&i("toggle"))},[t.createElementVNode("span",nM,[e.collapsible?(t.openBlock(),t.createBlock(Ae,{key:0,name:"chevron",size:13,class:t.normalizeClass(["em-sub-caret",{"is-open":!e.collapsed}])},null,8,["class"])):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(t.unref(a).t("em.op.section",{n:((x=l.value.operations)==null?void 0:x.length)??0})),1)]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(a).t("em.common.add"),onClick:N[0]||(N[0]=t.withModifiers(T=>t.unref(a).addOperation(l.value.modelId),["stop"]))},null,8,["caption"])],2),!e.collapsible||!e.collapsed?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(l.value.operations??[],T=>(t.openBlock(),t.createElementBlock("div",{key:T.modelId,class:"em-attr"},[t.createElementVNode("div",oM,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`op-name-${T.modelId}`,width:"100%",placeholder:t.unref(a).t("em.op.namePlaceholder"),"model-value":T.name,"onUpdate:modelValue":C=>h(T,{name:C})},null,8,["name","placeholder","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSSelect),{width:"96px","model-value":T.visibility??"PACKAGE",items:c,"value-provider":m,"label-provider":m,"onUpdate:modelValue":C=>C&&h(T,{visibility:C})},null,8,["model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-del-btn",caption:"✕",onClick:C=>t.unref(a).removeOperation(l.value.modelId,T.modelId)},null,8,["onClick"])]),t.createElementVNode("div",iM,[t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(a).t(T.sourceCode?"em.op.editBodyDirty":"em.op.editBody"),onClick:C=>k(T)},null,8,["caption","onClick"])]),t.createElementVNode("fieldset",aM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(a).t("em.common.description")),1),t.createVNode(cn,{multiline:"",name:`op-desc-${T.modelId}`,languages:t.unref(a).languages.value,"default-lang":t.unref(a).userLanguage.value,"model-value":T.description,"onUpdate:modelValue":C=>p(T,C)},null,8,["name","languages","default-lang","model-value","onUpdate:modelValue"])]),t.createElementVNode("label",rM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a).t("em.attr.pii")),1),t.createVNode(t.unref(te.BSSelect),{width:"100%","model-value":g(T),items:d,"value-provider":m,"label-provider":u,"onUpdate:modelValue":C=>C&&b(T,C)},null,8,["model-value","onUpdate:modelValue"])]),t.createElementVNode("div",lM,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-swatch__chip em-swatch__none",{"is-on":f(T)===null}]),title:t.unref(a).t("em.swatch.none"),onClick:C=>y(T,null)},"∅",10,sM),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),C=>(t.openBlock(),t.createElementBlock("button",{key:C,type:"button",class:t.normalizeClass(["em-swatch__chip",{"is-on":f(T)===C}]),style:t.normalizeStyle({background:t.unref(Ao)(C)}),title:t.unref(a).t(t.unref(Zn)(C)),onClick:R=>y(T,C)},null,14,cM))),128))])]))),128)):t.createCommentVNode("",!0)],8,tM)):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-04208206"]]),uM=["title"],mM={class:"em-panel__head"},fM={class:"em-panel__head-row"},pM=["title"],hM={class:"em-panel__context"},yM={key:0,class:"em-panel__lock"},gM=["disabled"],bM={key:0,class:"em-panel__note"},_M={key:1,class:"em-panel__note"},kM={key:2,class:"em-jpa"},EM={class:"em-field"},NM={class:"em-field"},wM={class:"em-field"},vM={key:0,class:"em-field"},IM={class:"em-panel__note"},xM={class:"em-panel__sub"},CM={class:"em-field"},SM={class:"em-field"},$M={class:"em-jpa"},RM={key:0,class:"em-panel__note"},AM={key:1,class:"em-panel__note"},TM={class:"em-jpa"},MM={class:"em-field"},VM={key:0,class:"em-panel__note"},BM={class:"em-field"},DM={class:"em-multilang"},LM={class:"em-field"},OM=["value"],PM={class:"em-field"},zM={class:"em-swatch"},FM={class:"em-swatch__row"},UM=["title"],HM=["title","onClick"],jM={class:"em-panel__note"},KM={class:"em-field"},GM=["value"],YM={class:"em-swatch"},qM={class:"em-swatch__row"},WM=["title"],JM=["title","onClick"],Wp=Ke(t.defineComponent({__name:"PropertyPanel",props:{controller:{},width:{},resizing:{type:Boolean},startResize:{type:Function}},emits:["collapse"],setup(e,{expose:n,emit:o}){const i=e,a=o,r=t.ref(null);n({focusCollapse:()=>{var U;return(U=r.value)==null?void 0:U.focus()}});const l=i.controller,s=t.computed(()=>l.selection.value),c=t.computed(()=>l.inspectedEntityId.value),d=t.computed(()=>{const U=c.value;return U?l.state.logical.entities.find(H=>H.modelId===U)??null:null}),u=t.computed(()=>{const U=s.value;if((U==null?void 0:U.kind)==="association")return l.isAssociationLocked(U.id);const H=c.value;return!!H&&l.isEntityLocked(H)}),m=t.computed(()=>{var U;return((U=l.selectedAttr.value)==null?void 0:U.attrId)??null}),h=t.computed(()=>new Set(l.selectedAttrIds.value)),p=t.computed(()=>m.value!==null),g=t.ref({});t.watch(p,()=>{g.value={}});function b(U){return g.value[U]??p.value}function f(U){g.value={...g.value,[U]:!b(U)}}const y=t.computed(()=>{var q;const U=d.value;if(!U)return l.t("em.entity.fallback");const H=(q=U.table)==null?void 0:q.physicalName;return H?`${U.name} (${H})`:U.name}),k=t.computed(()=>{const U=s.value;return(U==null?void 0:U.kind)==="association"?l.state.logical.associations.find(H=>H.modelId===U.id)??null:null}),_=t.computed(()=>{const U=s.value;return(U==null?void 0:U.kind)==="group"?l.state.logical.groups.find(H=>H.modelId===U.id)??null:null}),N=t.computed(()=>{const U=s.value;return(U==null?void 0:U.kind)==="note"?l.state.layout.notes.find(H=>H.modelId===U.id)??null:null}),x=t.computed(()=>{var H,q;const U=(H=_.value)==null?void 0:H.name;return(U==null?void 0:U[l.userLanguage.value])||(U==null?void 0:U.ko)||(U==null?void 0:U.en)||(U==null?void 0:U.ja)||(U==null?void 0:U.zh)||((q=_.value)==null?void 0:q.packageName)||l.t("em.group.fallback")}),T=t.computed(()=>{if(d.value){const U=h.value.size;if(U>1)return l.t("em.inspector.ctxEntityAttrs",{name:d.value.name,n:U});if(m.value){const H=d.value.attributes.find(q=>q.modelId===m.value);return(H==null?void 0:H.attrType)==="DIVIDER"?l.t("em.inspector.ctxEntityDivider",{name:d.value.name}):l.t("em.inspector.ctxEntityAttr",{name:d.value.name,attr:(H==null?void 0:H.name)??""})}return l.t("em.inspector.ctxEntity",{name:d.value.name})}if(k.value){const U=H=>{var q;return((q=l.state.logical.entities.find(xe=>xe.modelId===H))==null?void 0:q.name)??H};return l.t("em.inspector.ctxAssoc",{a:U(k.value.end1.entityRef),b:U(k.value.end2.entityRef)})}return _.value?l.t("em.inspector.ctxGroup",{name:x.value}):N.value?l.t("em.inspector.ctxNote"):l.t("em.inspector.ctxNone")}),C=["NO_INSTANCE_OR_ONE_INSTANCE","EXACTLY_ONE_INSTANCE","ZERO_OR_MORE_INSTANCES","ONE_OR_MORE_INSTANCES"],R=["EXACTLY_ONE_INSTANCE","NO_INSTANCE_OR_ONE_INSTANCE","ZERO_OR_MORE_INSTANCES"],A={EXACTLY_ONE_INSTANCE:"em.embed.card1",NO_INSTANCE_OR_ONE_INSTANCE:"em.embed.card01",ZERO_OR_MORE_INSTANCES:"em.embed.card0N"},M=U=>{const H=A[U];return H?l.t(H):U},B=U=>{var H;return((H=l.state.logical.entities.find(q=>q.modelId===U))==null?void 0:H.name)??U},v=["ALL","PERSIST","MERGE","REMOVE","REFRESH","DETACH"],I=["LIST","SET"],E=["inherit","LAZY","EAGER"],w=U=>U;function $(U){return U==="inherit"?l.t("em.common.inherit"):U}const D=t.computed(()=>!!k.value&&k.value.end1.entityRef===k.value.end2.entityRef);function z(U,H){k.value&&l.updateAssociationEnd(k.value.modelId,U,H)}function K(U){return ie.value?U:U==="end1"?"end2":"end1"}function J(U){var De;const H=(De=k.value)==null?void 0:De[U];if(!(H!=null&&H.attributeRef))return;const q=l.state.logical.entities.find(W=>W.modelId===H.entityRef),xe=q==null?void 0:q.attributes.find(W=>W.modelId===H.attributeRef);return xe&&(xe.attrType==="RELATION_OWN"||xe.attrType==="RELATION_REF")?xe.name:void 0}function re(U,H){var xe;const q=(xe=k.value)==null?void 0:xe[U];q!=null&&q.attributeRef&&l.updateAttribute(q.entityRef,q.attributeRef,{name:H})}function he(U){var W;const H=J(U);if(H!==void 0)return H;const q=(W=k.value)==null?void 0:W[U];if(q!=null&&q.navFieldNameHint)return q.navFieldNameHint;const xe=U==="end1"?"end2":"end1",De=l.state.logical.entities.find(ne=>{var G;return ne.modelId===((G=k.value)==null?void 0:G[xe].entityRef)});return De?Fi(De.name,Pi(k.value[xe].multiplicity)):""}function ce(U){return!!ie.value||J(U)!==void 0}function Ne(U){k.value&&!D.value&&l.setAssociationIdentifying(k.value.modelId,U)}function pe(U){var H,q,xe;return!!((xe=(q=(H=k.value)==null?void 0:H[U].jpa)==null?void 0:q.cascadeTypes)!=null&&xe.includes("ALL"))}function de(U,H,q){var W,ne;const xe=(W=k.value)==null?void 0:W[U];if(H==="ALL"&&q){z(U,{jpa:{...xe==null?void 0:xe.jpa,cascadeTypes:["ALL"]}});return}const De=new Set(((ne=xe==null?void 0:xe.jpa)==null?void 0:ne.cascadeTypes)??[]);q?De.add(H):De.delete(H),z(U,{jpa:{...xe==null?void 0:xe.jpa,cascadeTypes:[...De]}})}function _e(U,H){var xe;const q=(xe=k.value)==null?void 0:xe[U];z(U,{jpa:{...q==null?void 0:q.jpa,...H}})}function Se(U){var H,q;return((q=(H=k.value)==null?void 0:H[U].jpa)==null?void 0:q.fetchType)??"inherit"}function me(U,H){_e(U,{fetchType:H==="inherit"?void 0:H})}function ye(U){var q;const H=(q=k.value)==null?void 0:q[U==="end1"?"end2":"end1"];return(H==null?void 0:H.multiplicity)==="ZERO_OR_MORE_INSTANCES"||(H==null?void 0:H.multiplicity)==="ONE_OR_MORE_INSTANCES"}const ie=t.computed(()=>{const U=k.value;if(!U)return null;for(const H of l.state.logical.entities){const q=H.attributes.find(ne=>{var G;return((G=ne.embedded)==null?void 0:G.associationRef)===U.modelId&&ne.attrType==="EMBED_OWN"});if(!q)continue;const xe=U.end2.entityRef===q.embedded.embeddableRef?"end2":"end1",De=U[xe].multiplicity,W=U[xe].jpa;return{which:xe,cardinality:De,isCollection:De==="ZERO_OR_MORE_INSTANCES"||De==="ONE_OR_MORE_INSTANCES",collectionType:(W==null?void 0:W.collectionType)??"LIST",collectionTable:(W==null?void 0:W.collectionTable)??"",orderColumn:(W==null?void 0:W.orderColumn)??""}}return null});function se(U){k.value&&l.setEmbedCardinality(k.value.modelId,U)}function fe(U){const H=ie.value;H&&_e(H.which,U==="SET"?{collectionType:"SET",orderColumn:void 0}:{collectionType:"LIST"})}function O(U){const H=ie.value;H&&_e(H.which,{collectionTable:U.trim()||void 0})}function L(U){const H=ie.value;H&&_e(H.which,{orderColumn:U.trim()||void 0})}function F(U){_.value&&l.updateGroup(_.value.modelId,U)}function Q(U,H){var q;F({name:{...(q=_.value)==null?void 0:q.name,[U]:H}})}const Y=t.computed(()=>{var U;return _.value?_t((U=l.state.layout.groupLayouts.find(H=>H.groupRef===_.value.modelId))==null?void 0:U.style):null});function ke(U){_.value&&l.setGroupSwatch(_.value.modelId,U)}function be(U){N.value&&l.setNoteMemo(N.value.modelId,U)}const Ce=t.computed(()=>{var U;return _t((U=N.value)==null?void 0:U.style)});function Ie(U){N.value&&l.setNoteSwatch(N.value.modelId,U)}return(U,H)=>(t.openBlock(),t.createElementBlock("aside",{class:"em-panel",style:t.normalizeStyle({width:e.width+"px"})},[t.createElementVNode("div",{class:t.normalizeClass(["em-resize-handle em-resize-handle--left",{"is-dragging":e.resizing}]),title:t.unref(l).t("em.panel.resizeWidth"),onPointerdown:H[0]||(H[0]=(...q)=>e.startResize&&e.startResize(...q))},null,42,uM),t.createElementVNode("header",mM,[t.createElementVNode("div",fM,[H[14]||(H[14]=t.createElementVNode("h3",{class:"em-panel__title"},"Inspector",-1)),t.createElementVNode("button",{ref_key:"collapseBtn",ref:r,type:"button",class:"em-panel__btn",title:t.unref(l).t("em.panel.collapse"),onClick:H[1]||(H[1]=q=>a("collapse"))},[t.createVNode(Ae,{name:"panel-right-close",size:16})],8,pM)]),t.createElementVNode("p",hM,t.toDisplayString(T.value),1),u.value&&c.value?(t.openBlock(),t.createElementBlock("div",yM,[t.createVNode(Ae,{name:"lock",size:13}),t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.panel.lockedBanner")),1),t.unref(l).editable.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-panel__unlock",onClick:H[2]||(H[2]=q=>t.unref(l).setEntityLocked(c.value,!1))},t.toDisplayString(t.unref(l).t("em.panel.unlock")),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)]),t.createElementVNode("fieldset",{class:"em-panel__body em-scroll-overlay",disabled:!t.unref(l).editable.value||u.value},[d.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(Xm,{controller:t.unref(l),"entity-id":d.value.modelId,collapsible:"",collapsed:b("basics"),title:y.value,onToggle:H[3]||(H[3]=q=>f("basics"))},null,8,["controller","entity-id","collapsed","title"]),t.createVNode(q2,{controller:t.unref(l),"entity-id":d.value.modelId},null,8,["controller","entity-id"]),t.createVNode(eM,{controller:t.unref(l),"entity-id":d.value.modelId,collapsible:"",collapsed:b("index"),onToggle:H[4]||(H[4]=q=>f("index"))},null,8,["controller","entity-id","collapsed"]),t.createVNode(dM,{controller:t.unref(l),"entity-id":d.value.modelId,collapsible:"",collapsed:b("ops"),onToggle:H[5]||(H[5]=q=>f("ops"))},null,8,["controller","entity-id","collapsed"])],64)):t.createCommentVNode("",!0),k.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(t.unref(te.BSCheckbox),{name:"assoc-identifying",class:"em-check",label:t.unref(l).t("em.assoc.identifying"),"model-value":!!k.value.identifying,disabled:D.value||!!ie.value,"onUpdate:modelValue":Ne},null,8,["label","model-value","disabled"]),D.value?(t.openBlock(),t.createElementBlock("p",bM,t.toDisplayString(t.unref(l).t("em.assoc.selfNoIdentifying")),1)):ie.value?(t.openBlock(),t.createElementBlock("p",_M,t.toDisplayString(t.unref(l).t("em.assoc.embedNoIdentifying")),1)):t.createCommentVNode("",!0),ie.value?(t.openBlock(),t.createElementBlock("fieldset",kM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.embed.legend")),1),t.createElementVNode("label",EM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.embed.cardinality")),1),t.createVNode(t.unref(te.BSSelect),{"model-value":ie.value.cardinality,items:R,"value-provider":w,"label-provider":M,"onUpdate:modelValue":H[6]||(H[6]=q=>q&&se(q))},null,8,["model-value"])]),ie.value.isCollection?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("label",NM,[H[15]||(H[15]=t.createElementVNode("span",null,"collectionType",-1)),t.createVNode(t.unref(te.BSSelect),{"model-value":ie.value.collectionType,items:I,"value-provider":w,"label-provider":w,"onUpdate:modelValue":H[7]||(H[7]=q=>q&&fe(q))},null,8,["model-value"])]),t.createElementVNode("label",wM,[H[16]||(H[16]=t.createElementVNode("span",null,"collectionTable",-1)),t.createVNode(t.unref(te.BSTextInput),{name:"embed-coll-table",width:"100%",placeholder:t.unref(l).t("em.embed.collectionTablePlaceholder"),"model-value":ie.value.collectionTable,"onUpdate:modelValue":O},null,8,["placeholder","model-value"])]),ie.value.collectionType==="LIST"?(t.openBlock(),t.createElementBlock("label",vM,[H[17]||(H[17]=t.createElementVNode("span",null,"orderColumn",-1)),t.createVNode(t.unref(te.BSTextInput),{name:"embed-order-col",width:"100%",placeholder:t.unref(l).t("em.embed.orderColumnPlaceholder"),"model-value":ie.value.orderColumn,"onUpdate:modelValue":L},null,8,["placeholder","model-value"])])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0),t.createElementVNode("p",IM,t.toDisplayString(t.unref(l).t("em.embed.ownerFixedNote")),1)])):t.createCommentVNode("",!0),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(["end1","end2"],q=>{var xe,De,W;return t.withDirectives(t.createElementVNode("div",{key:q,class:"em-end"},[t.createElementVNode("h4",xM,t.toDisplayString(q)+" → "+t.toDisplayString(B(k.value[q].entityRef)),1),ie.value?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("label",CM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.assoc.multiplicity")),1),t.createVNode(t.unref(te.BSSelect),{"model-value":k.value[q].multiplicity,items:C,"value-provider":w,"label-provider":t.unref(zi),"onUpdate:modelValue":ne=>z(q,{multiplicity:ne})},null,8,["model-value","label-provider","onUpdate:modelValue"])]),t.createVNode(t.unref(te.BSCheckbox),{name:`${K(q)}-navigable`,class:"em-check",label:"navigable",title:K(q)==="end2"?t.unref(l).t("em.assoc.ownerNavFixed"):void 0,disabled:K(q)==="end2","model-value":K(q)==="end2"?!0:k.value[K(q)].navigable,"onUpdate:modelValue":ne=>z(K(q),{navigable:ne})},null,8,["name","title","disabled","model-value","onUpdate:modelValue"]),t.createElementVNode("label",SM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.assoc.navFieldName")),1),t.createVNode(t.unref(te.BSTextInput),{name:`${K(q)}-navname`,width:"100%",disabled:!ce(K(q)),placeholder:t.unref(l).t("em.attr.namePlaceholder"),"model-value":he(K(q)),"onUpdate:modelValue":ne=>re(K(q),ne)},null,8,["name","disabled","placeholder","model-value","onUpdate:modelValue"])]),t.createVNode(t.unref(te.BSCheckbox),{name:`${K(q)}-composition`,class:"em-check",label:"composition","model-value":k.value[K(q)].composition,"onUpdate:modelValue":ne=>z(K(q),{composition:ne})},null,8,["name","model-value","onUpdate:modelValue"])],64)),t.createElementVNode("fieldset",$M,[H[18]||(H[18]=t.createElementVNode("legend",null,"cascade",-1)),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(v,ne=>{var G,P;return t.createVNode(t.unref(te.BSCheckbox),{key:ne,name:`${K(q)}-cascade-${ne}`,class:"em-check",label:ne,"model-value":!!((P=(G=k.value[K(q)].jpa)==null?void 0:G.cascadeTypes)!=null&&P.includes(ne)),disabled:!ce(K(q))||ne!=="ALL"&&pe(K(q)),"onUpdate:modelValue":ae=>de(K(q),ne,ae)},null,8,["name","label","model-value","disabled","onUpdate:modelValue"])}),64)),ce(K(q))?pe(K(q))?(t.openBlock(),t.createElementBlock("p",AM,t.toDisplayString(t.unref(l).t("em.assoc.cascadeAllNote")),1)):t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("p",RM,t.toDisplayString(t.unref(l).t("em.assoc.navRequiredNote")),1))]),t.createElementVNode("fieldset",TM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.assoc.jpaDetails")),1),t.createElementVNode("label",MM,[H[19]||(H[19]=t.createElementVNode("span",null,"fetchType",-1)),t.createVNode(t.unref(te.BSSelect),{disabled:!ce(K(q)),"model-value":Se(K(q)),items:E,"value-provider":w,"label-provider":$,"onUpdate:modelValue":ne=>ne&&me(K(q),ne)},null,8,["disabled","model-value","onUpdate:modelValue"])]),t.createVNode(t.unref(te.BSCheckbox),{name:`${K(q)}-orphan`,class:"em-check",label:"orphanRemoval","model-value":!!((xe=k.value[K(q)].jpa)!=null&&xe.orphanRemoval),disabled:!ce(K(q))||ye(q),"onUpdate:modelValue":ne=>_e(K(q),{orphanRemoval:ne})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),ye(q)&&((De=k.value[K(q)].jpa)!=null&&De.orphanRemoval)?(t.openBlock(),t.createElementBlock("p",VM,t.toDisplayString(t.unref(l).t("em.assoc.orphanRemovalNote")),1)):t.createCommentVNode("",!0),t.createElementVNode("label",BM,[H[20]||(H[20]=t.createElementVNode("span",null,"orderBy",-1)),t.createVNode(t.unref(te.BSTextInput),{name:`${K(q)}-orderby`,width:"100%",disabled:!ce(K(q)),placeholder:t.unref(l).t("em.assoc.orderByPlaceholder"),"model-value":((W=k.value[K(q)].jpa)==null?void 0:W.orderBy)??"","onUpdate:modelValue":ne=>_e(K(q),{orderBy:ne.trim()||void 0})},null,8,["name","disabled","placeholder","model-value","onUpdate:modelValue"])])])]),[[t.vShow,!ie.value||q===ie.value.which]])}),64))],64)):t.createCommentVNode("",!0),_.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createElementVNode("fieldset",DM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.group.nameLegend")),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l).languages.value,q=>{var xe;return t.openBlock(),t.createElementBlock("label",{key:q,class:"em-lang"},[t.createElementVNode("span",null,t.toDisplayString(q),1),t.createVNode(t.unref(te.BSTextInput),{name:`grp-name-${q}`,width:"100%","model-value":((xe=_.value.name)==null?void 0:xe[q])??"","onUpdate:modelValue":De=>Q(q,De)},null,8,["name","model-value","onUpdate:modelValue"])])}),128))]),t.createElementVNode("label",LM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.common.description")),1),t.createElementVNode("textarea",{class:"em-textarea",value:_.value.description??"",rows:"3",onChange:H[8]||(H[8]=q=>F({description:q.target.value}))},null,40,OM)]),t.createElementVNode("label",PM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.entity.package")),1),t.createVNode(t.unref(te.BSTextInput),{name:"grp-package",width:"100%","model-value":_.value.packageName??"","onUpdate:modelValue":H[9]||(H[9]=q=>F({packageName:q}))},null,8,["model-value"])]),t.createVNode(t.unref(te.BSCheckbox),{name:"grp-exclude-ddl",class:"em-check",label:t.unref(l).t("em.group.excludeDDL"),"model-value":_.value.excludeDDLGeneration,"onUpdate:modelValue":H[10]||(H[10]=q=>F({excludeDDLGeneration:q}))},null,8,["label","model-value"]),t.createElementVNode("fieldset",zM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.common.color")),1),t.createElementVNode("div",FM,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-swatch__chip em-swatch__none",{"is-on":Y.value===null}]),title:t.unref(l).t("em.swatch.none"),onClick:H[11]||(H[11]=q=>ke(null))},"∅",10,UM),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),q=>(t.openBlock(),t.createElementBlock("button",{key:q,type:"button",class:t.normalizeClass(["em-swatch__chip",{"is-on":Y.value===q}]),style:t.normalizeStyle({background:t.unref(Ao)(q)}),title:t.unref(l).t(t.unref(Zn)(q)),onClick:xe=>ke(q)},null,14,HM))),128))])]),t.createElementVNode("p",jM,t.toDisplayString(t.unref(l).t("em.group.members",{n:_.value.memberEntityRefs.length})),1)],64)):t.createCommentVNode("",!0),N.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createElementVNode("label",KM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.common.memo")),1),t.createElementVNode("textarea",{class:"em-textarea",value:N.value.memo,rows:"6",onChange:H[12]||(H[12]=q=>be(q.target.value))},null,40,GM)]),t.createElementVNode("fieldset",YM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.common.color")),1),t.createElementVNode("div",qM,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-swatch__chip em-swatch__none",{"is-on":Ce.value===null}]),title:t.unref(l).t("em.swatch.none"),onClick:H[13]||(H[13]=q=>Ie(null))},"∅",10,WM),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),q=>(t.openBlock(),t.createElementBlock("button",{key:q,type:"button",class:t.normalizeClass(["em-swatch__chip",{"is-on":Ce.value===q}]),style:t.normalizeStyle({background:t.unref(Ao)(q)}),title:t.unref(l).t(t.unref(Zn)(q)),onClick:xe=>Ie(q)},null,14,JM))),128))])])],64)):t.createCommentVNode("",!0)],8,gM)],4))}}),[["__scopeId","data-v-d86b8a5b"]]),XM=["title"],ZM={class:"em-validation__title"},QM=["title","onClick"],eV={key:0,class:"em-validation__body"},tV={class:"em-validation__opt"},nV={key:0,class:"em-validation__empty"},oV={key:1,class:"em-validation__empty"},iV={key:2,class:"em-validation__list"},aV=["onClick"],rV={class:"em-validation__item-msg"},lV={key:0,class:"em-validation__item-entity"},sV=["title","onClick"],cV=["title"],dV=Ke(t.defineComponent({__name:"ValidationPanel",props:{controller:{},panelWidth:{},inspectorOpen:{type:Boolean,default:!0}},setup(e){const o=e.controller,i=t.computed(()=>o.issues.value),a=t.computed(()=>{const b=new Map;for(const f of o.state.logical.entities)b.set(f.modelId,f.name);return b});function r(b){const f=WN(b);if(!f)return null;const y=a.value.get(f);return y===void 0?null:y.trim()===""?o.t("em.validation.nameless"):y}const l={error:{order:0,icon:"alert-circle",labelKey:"em.validation.severityError"},warning:{order:1,icon:"alert-triangle",labelKey:"em.validation.severityWarning"},info:{order:2,icon:"info",labelKey:"em.validation.severityInfo"}},s=t.computed(()=>{const b={error:0,warning:0,info:0};for(const f of i.value)b[f.severity]++;return b}),c=t.ref({error:!0,warning:!0,info:!0}),d=t.computed(()=>i.value.filter(b=>c.value[b.severity]).slice().sort((b,f)=>l[b.severity].order-l[f.severity].order)),u=t.computed(()=>d.value.map(b=>({issue:b,entityName:r(b),message:Jm(o.t,b),category:YN(o.t,b.ruleId)}))),m=t.ref(!1);function h(b){c.value[b]=!c.value[b]}function p(b){if(!m.value){m.value=!0;return}h(b)}function g(b){b.targetRef&&o.requestFocus(b.targetRef)}return(b,f)=>(t.openBlock(),t.createElementBlock("section",{class:t.normalizeClass(["em-validation",{"is-open":m.value,"is-inspector-collapsed":!e.inspectorOpen}]),style:t.normalizeStyle(m.value||!e.inspectorOpen?void 0:{width:e.panelWidth+"px"})},[t.createElementVNode("header",{class:"em-validation__head",onClick:f[1]||(f[1]=y=>m.value=!m.value)},[t.createElementVNode("button",{type:"button",class:"em-validation__toggle",title:t.unref(o).t(m.value?"em.panel.collapse":"em.panel.expand")},[t.createVNode(Ae,{name:"chevron",size:14,class:t.normalizeClass([{"is-open":m.value},"em-validation__chevron"])},null,8,["class"]),t.createElementVNode("span",ZM,t.toDisplayString(t.unref(o).t("em.validation.title")),1)],8,XM),t.createElementVNode("div",{class:"em-validation__counts",onClick:f[0]||(f[0]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(["error","warning","info"],y=>t.createElementVNode("button",{key:y,type:"button",class:t.normalizeClass(["em-validation__count",[`is-${y}`,{"is-off":!c.value[y]}]]),title:m.value?t.unref(o).t(c.value[y]?"em.validation.hideSeverity":"em.validation.showSeverity",{label:t.unref(o).t(l[y].labelKey)}):t.unref(o).t("em.validation.expandPanel"),onClick:k=>p(y)},[t.createVNode(Ae,{name:l[y].icon,size:14},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(s.value[y]),1)],10,QM)),64))])]),m.value?(t.openBlock(),t.createElementBlock("div",eV,[t.createElementVNode("label",tV,[t.createVNode(t.unref(te.BSCheckbox),{name:"val-flag-norel",label:t.unref(o).t("em.validation.checkOrphanEntities"),"model-value":t.unref(o).flagEntitiesWithoutRelations.value,"onUpdate:modelValue":f[2]||(f[2]=y=>t.unref(o).flagEntitiesWithoutRelations.value=y)},null,8,["label","model-value"])]),i.value.length===0?(t.openBlock(),t.createElementBlock("p",nV,t.toDisplayString(t.unref(o).t("em.validation.noIssues")),1)):d.value.length===0?(t.openBlock(),t.createElementBlock("p",oV,t.toDisplayString(t.unref(o).t("em.validation.noVisibleIssues")),1)):(t.openBlock(),t.createElementBlock("ul",iV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,({issue:y,entityName:k,message:_,category:N},x)=>(t.openBlock(),t.createElementBlock("li",{key:`${y.ruleId}:${y.targetRef??"model"}:${x}`,class:t.normalizeClass(["em-validation__item",[`is-${y.severity}`,{"is-clickable":!!y.targetRef}]]),onClick:T=>g(y)},[t.createVNode(Ae,{name:l[y.severity].icon,size:15,class:"em-validation__item-icon"},null,8,["name"]),t.createElementVNode("span",rV,[k?(t.openBlock(),t.createElementBlock("span",lV,t.toDisplayString(k),1)):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(_),1)]),t.unref(o).hasQuickFix(y)?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-validation__item-fix",title:t.unref(o).t("em.validation.quickFixTip"),onClick:t.withModifiers(T=>t.unref(o).applyQuickFix(y),["stop"])},t.toDisplayString(t.unref(o).t("em.validation.quickFix")),9,sV)):t.createCommentVNode("",!0),t.createElementVNode("span",{class:"em-validation__item-cat",title:y.ruleId},t.toDisplayString(N),9,cV)],10,aV))),128))]))])):t.createCommentVNode("",!0)],6))}}),[["__scopeId","data-v-251fd3f0"]]),uV={class:"em-history"},mV={class:"em-history__head"},fV={class:"em-history__title"},pV={class:"em-history__head-actions"},hV=["title","disabled"],yV=["title"],gV={class:"em-history__filters"},bV={class:"em-history__filter"},_V={class:"em-history__filters em-history__filters--period"},kV={class:"em-history__filter-label"},EV=["title","aria-label","max"],NV=["title","aria-label","min"],wV=["title"],vV={key:0,class:"em-history__diffbar"},IV={class:"em-history__diffbar-range"},xV={class:"em-history__diffbar-count"},CV={class:"em-history__body"},SV={key:0,class:"em-history__empty"},$V={key:1,class:"em-history__diff-list"},RV=["onClick"],AV={class:"em-history__action-head"},TV={class:"em-history__action-name"},MV={key:0,class:"em-history__fields"},VV={class:"em-history__fname"},BV={key:0,class:"em-history__old"},DV={class:"em-history__val"},LV={key:1,class:"em-history__empty"},OV={key:2,class:"em-history__empty is-error"},PV={key:3,class:"em-history__empty"},zV={key:4,class:"em-history__list"},FV=["onClick"],UV={class:"em-history__summary"},HV={class:"em-history__seq"},jV={class:"em-history__gmeta"},KV={class:"em-history__who"},GV={key:0,class:"em-history__time"},YV={key:1,class:"em-history__restored-from"},qV=["onClick"],WV={key:0,class:"em-history__detail"},JV={class:"em-history__action-head"},XV={class:"em-history__action-name"},ZV={key:0,class:"em-history__fields"},QV={class:"em-history__fname"},eB={key:0,class:"em-history__old"},tB={class:"em-history__val"},nB={class:"em-history__preview"},oB=["disabled"],iB={key:0,class:"em-history__diff-list is-preview"},aB={class:"em-history__action-head"},rB={class:"em-history__action-name"},lB={key:0,class:"em-history__fields"},sB={class:"em-history__fname"},cB={key:0,class:"em-history__old"},dB={class:"em-history__val"},uB={class:"em-history__confirm-row"},mB={class:"em-history__confirm-msg"},fB=["disabled","onClick"],pB=["disabled"],hB=["onClick"],gr=50,yB=Ke(t.defineComponent({__name:"HistoryPanel",props:{controller:{},open:{type:Boolean}},emits:["close","diffChange"],setup(e,{emit:n}){const o=e,i=n,a=o.controller,r=t.ref([]),l=t.ref(!1),s=t.ref(null),c=t.ref(!1),d=t.computed(()=>r.value.reduce((G,P)=>P.seq>G?P.seq:G,-1/0));async function u(G){if(a.historyTransport){l.value=!0,s.value=null;try{const P=!(G!=null&&G.full)&&r.value.length>0&&Number.isFinite(d.value),ae=await a.historyTransport(P?d.value:void 0);if(!P)r.value=ae;else if(ae.length){const $e=new Set(r.value.map(j=>j.seq)),le=ae.filter(j=>!$e.has(j.seq));le.length&&(r.value=[...r.value,...le])}c.value=!0}catch(P){s.value=P instanceof Error?P.message:a.t("em.history.loadError")}finally{l.value=!1}}}async function m(){await a.whenOpsSettled(),await u()}const h=t.ref(null),p=t.ref(null);t.watch(()=>o.open,G=>{G?m():(h.value=null,p.value=null)},{immediate:!0});let g=null;t.watch(()=>a.revision.value,()=>{o.open&&(g&&clearTimeout(g),g=setTimeout(()=>void m(),500))}),t.watch(()=>a.reloadRequest.value,()=>{o.open&&m()});const b=t.computed(()=>new Map(a.state.logical.entities.map(G=>[G.modelId,G]))),f=t.computed(()=>new Map(a.state.logical.associations.map(G=>[G.modelId,G]))),y=t.computed(()=>{const G=a.userLanguage.value;return new Map((a.state.logical.groups??[]).map(P=>{var ae,$e;return[P.modelId,P.packageName||((ae=P.name)==null?void 0:ae[G])||(($e=P.name)==null?void 0:$e.ko)||P.modelId]}))});function k(G){var le,j,Xe,rt,He,Pe,Oe;const P=f.value.get(G);if(!P)return a.t("em.history.assocFallback");if((le=P.description)!=null&&le.trim())return P.description.trim();const ae=(rt=(Xe=b.value.get((j=P.end1)==null?void 0:j.entityRef))==null?void 0:Xe.name)==null?void 0:rt.trim(),$e=(Oe=(Pe=b.value.get((He=P.end2)==null?void 0:He.entityRef))==null?void 0:Pe.name)==null?void 0:Oe.trim();return ae&&$e?`${ae}→${$e}`:a.t("em.history.assocFallback")}function _(G){var P,ae,$e,le;if(G.kind==="entity")return((ae=(P=b.value.get(G.ref))==null?void 0:P.name)==null?void 0:ae.trim())||a.t("em.attr.nameless");if(G.kind==="attribute"||G.kind==="operation"||G.kind==="index"){const j=G.entityRef?b.value.get(G.entityRef):void 0,rt=((G.kind==="attribute"?j==null?void 0:j.attributes:G.kind==="operation"?j==null?void 0:j.operations:j==null?void 0:j.indexes)??[]).find(Pe=>Pe.modelId===G.ref),He=($e=j==null?void 0:j.name)==null?void 0:$e.trim();return`${He?He+".":""}${((le=rt==null?void 0:rt.name)==null?void 0:le.trim())||G.ref}`}return G.kind==="association"?k(G.ref):G.kind==="associationEnd"?`${k(G.ref)}(${G.end})`:G.kind==="group"?a.t("em.history.groupSubject",{name:y.value.get(G.ref)??G.ref}):G.ref}const N={entity:"table",attribute:"field",operation:"method",index:"key",association:"link",associationEnd:"link",group:"folder"},x={add:"em.history.verbAdd",update:"em.history.verbUpdate",remove:"em.history.verbRemove"},T=t.ref("all"),C=[{v:"all",labelKey:"em.history.filterAll"},{v:"edit",labelKey:"em.history.kindEdit"},{v:"restore",labelKey:"em.history.kindRestore"}],R=t.computed({get:()=>T.value,set:G=>{G&&(T.value=G)}}),A=t.computed(()=>Yr(r.value)),M=t.computed(()=>A.value.length?A.value[0].seq:null),B=t.computed(()=>T.value==="all"?A.value:A.value.filter(G=>(G.kind??"edit")===T.value)),v=t.ref(gr),I=t.ref(""),E=t.ref(""),w=t.computed(()=>!!I.value||!!E.value);function $(){I.value="",E.value=""}const D=t.computed(()=>{const G=I.value?new Date(`${I.value}T00:00:00`).getTime():null,P=E.value?new Date(`${E.value}T23:59:59.999`).getTime():null;return G==null&&P==null?B.value:B.value.filter(ae=>{if(ae.ts==null)return!1;const $e=new Date(ae.ts).getTime();return!(isNaN($e)||G!=null&&$e<G||P!=null&&$e>P)})}),z=t.computed(()=>D.value.slice(0,v.value)),K=t.computed(()=>Math.max(0,D.value.length-v.value));function J(){v.value+=gr}t.watch([T,I,E],()=>{v.value=gr}),t.watch(()=>o.open,G=>{G&&(v.value=gr,$())});function re(G){return G===void 0?"—":G===null?a.t("em.history.emptyValue"):typeof G=="object"?JSON.stringify(G):String(G)}function he(G){const P=_(G.subject);if(G.verb==="add")return a.t("em.history.summaryAdd",{name:P});if(G.verb==="remove")return a.t("em.history.summaryRemove",{name:P});if(G.fields.length===1){const ae=G.fields[0];return`${P}.${ae.field} ${ae.oldValue!==void 0?re(ae.oldValue)+"→":""}${re(ae.value)}`}return a.t("em.history.summaryFields",{name:P,n:G.fields.length})}function ce(G){return G.actions.length===0?a.t("em.history.noChange"):G.actions.length===1?he(G.actions[0]):a.t("em.history.summaryMore",{summary:he(G.actions[0]),n:G.actions.length-1})}const Ne=t.ref(new Set);function pe(G){const P=new Set(Ne.value);P.has(G)?P.delete(G):P.add(G),Ne.value=P}function de(G){if(G==null)return"";const P=new Date(G);return isNaN(P.getTime())?String(G):P.toLocaleString()}function _e(G){const P=G.author,ae=G.origin;return P&&ae?`${P}(${ae})`:P||(ae?`(${ae})`:"—")}const Se=t.computed(()=>h.value==null?null:qr(r.value,{fromSeq:h.value,...p.value!=null?{toSeq:p.value}:{}}));t.watch(()=>Se.value?Ac(Se.value):null,G=>i("diffChange",G));function me(G){h.value=G,p.value=null,H.value=null}function ye(){h.value=null,p.value=null}const ie=t.computed(()=>A.value.map(G=>G.seq)),se=t.computed(()=>M.value??1/0),fe=t.computed(()=>p.value??se.value),O=t.computed(()=>p.value??se.value),L=t.computed(()=>ie.value.filter(G=>G<fe.value).map(G=>({v:G}))),F=t.computed(()=>ie.value.filter(G=>h.value!=null&&G>h.value).map(G=>({v:G})));function Q(G){G!=null&&(h.value=G,p.value!=null&&p.value<=G&&(p.value=null))}function Y(G){G!=null&&(p.value=G>=se.value?null:G)}function ke(G){return G>=se.value?a.t("em.history.diff.current"):`#${G}`}function be(G){return G.kind==="entity"?b.value.has(G.ref)?G.ref:null:(G.kind==="attribute"||G.kind==="operation"||G.kind==="index")&&G.entityRef?b.value.has(G.entityRef)?G.entityRef:null:G.kind==="group"&&y.value.has(G.ref)?G.ref:null}function Ce(G){const P=be(G);P&&a.requestFocus(P)}const Ie={added:"em.history.verbAdd",modified:"em.history.verbUpdate",removed:"em.history.verbRemove"},U={added:"add",modified:"update",removed:"remove"},H=t.ref(null),q=t.ref(!1),xe=t.computed(()=>H.value==null?null:qr(r.value,{fromSeq:H.value})),De=t.ref(!1);function W(G){H.value=G,De.value=!1}async function ne(G){q.value=!0;try{const P=await a.restoreToSeq(G);P.ok?(h.value=null,p.value=null):s.value=a.t("em.history.restoreFailed",{reason:P.reason??a.t("em.history.unknown")})}finally{q.value=!1,H.value=null}}return(G,P)=>(t.openBlock(),t.createBlock(t.Transition,{name:"em-history"},{default:t.withCtx(()=>{var ae,$e;return[t.withDirectives(t.createElementVNode("section",uV,[t.createElementVNode("header",mV,[t.createElementVNode("div",fV,[t.createVNode(Ae,{name:"undo",size:15}),t.createElementVNode("span",null,t.toDisplayString(t.unref(a).t("em.history.title")),1)]),t.createElementVNode("div",pV,[t.createElementVNode("button",{type:"button",class:"em-history__btn",title:t.unref(a).t("em.history.refresh"),disabled:l.value,onClick:P[0]||(P[0]=le=>u({full:!0}))},[t.createVNode(Ae,{name:"redo",size:15})],8,hV),t.createElementVNode("button",{type:"button",class:"em-history__btn",title:t.unref(a).t("em.common.close"),onClick:P[1]||(P[1]=le=>i("close"))},[t.createVNode(Ae,{name:"panel-close",size:15})],8,yV)])]),t.createElementVNode("div",gV,[t.createElementVNode("label",bV,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a).t("em.toolbar.displayLabel")),1),t.createVNode(t.unref(te.BSSelect),{modelValue:R.value,"onUpdate:modelValue":P[2]||(P[2]=le=>R.value=le),items:C,"value-provider":le=>le.v,"label-provider":le=>t.unref(a).t(le.labelKey)},null,8,["modelValue","value-provider","label-provider"])])]),t.createElementVNode("div",_V,[t.createElementVNode("span",kV,t.toDisplayString(t.unref(a).t("em.history.periodLabel")),1),t.withDirectives(t.createElementVNode("input",{type:"date",class:"em-history__date",title:t.unref(a).t("em.history.periodFrom"),"aria-label":t.unref(a).t("em.history.periodFrom"),max:E.value||void 0,"onUpdate:modelValue":P[3]||(P[3]=le=>I.value=le)},null,8,EV),[[t.vModelText,I.value]]),P[9]||(P[9]=t.createElementVNode("span",{class:"em-history__period-sep"},"~",-1)),t.withDirectives(t.createElementVNode("input",{type:"date",class:"em-history__date",title:t.unref(a).t("em.history.periodTo"),"aria-label":t.unref(a).t("em.history.periodTo"),min:I.value||void 0,"onUpdate:modelValue":P[4]||(P[4]=le=>E.value=le)},null,8,NV),[[t.vModelText,E.value]]),w.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-history__period-reset",title:t.unref(a).t("em.history.periodReset"),onClick:$},[t.createVNode(Ae,{name:"x",size:12})],8,wV)):t.createCommentVNode("",!0)]),h.value!=null?(t.openBlock(),t.createElementBlock("div",vV,[t.createElementVNode("div",IV,[t.createVNode(t.unref(te.BSSelect),{class:"em-history__range-sel","model-value":h.value??void 0,items:L.value,"value-provider":le=>le.v,"label-provider":le=>`#${le.v}`,"onUpdate:modelValue":P[5]||(P[5]=le=>Q(le??null))},null,8,["model-value","items","value-provider","label-provider"]),t.createVNode(Ae,{name:"arrow-lr",size:12,class:"em-history__diffbar-arrow"}),t.createVNode(t.unref(te.BSSelect),{class:"em-history__range-sel","model-value":O.value,items:F.value,"value-provider":le=>le.v,"label-provider":le=>ke(le.v),"onUpdate:modelValue":P[6]||(P[6]=le=>Y(le??null))},null,8,["model-value","items","value-provider","label-provider"])]),t.createElementVNode("span",xV,t.toDisplayString(t.unref(a).t("em.history.diff.count",{n:((ae=Se.value)==null?void 0:ae.entries.length)??0})),1),t.createElementVNode("button",{type:"button",class:"em-history__diffbar-exit",onClick:ye},t.toDisplayString(t.unref(a).t("em.history.diff.exit")),1)])):t.createCommentVNode("",!0),t.createElementVNode("div",CV,[h.value!=null?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[($e=Se.value)!=null&&$e.entries.length?(t.openBlock(),t.createElementBlock("ul",$V,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Se.value.entries,(le,j)=>(t.openBlock(),t.createElementBlock("li",{key:j,class:t.normalizeClass(["em-history__diff-entry",{"is-focusable":!!be(le.subject)}]),onClick:Xe=>Ce(le.subject)},[t.createElementVNode("div",AV,[t.createVNode(Ae,{name:N[le.subject.kind],size:12},null,8,["name"]),t.createElementVNode("span",TV,t.toDisplayString(_(le.subject)),1),t.createElementVNode("span",{class:t.normalizeClass(["em-history__verb",`is-${U[le.verb]}`])},t.toDisplayString(t.unref(a).t(Ie[le.verb])),3)]),le.fields.length?(t.openBlock(),t.createElementBlock("ul",MV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(le.fields,(Xe,rt)=>(t.openBlock(),t.createElementBlock("li",{key:rt,class:"em-history__field"},[t.createElementVNode("span",VV,t.toDisplayString(Xe.field),1),Xe.oldValue!==void 0?(t.openBlock(),t.createElementBlock("span",BV,t.toDisplayString(re(Xe.oldValue)),1)):t.createCommentVNode("",!0),Xe.oldValue!==void 0?(t.openBlock(),t.createBlock(Ae,{key:1,name:"arrow-lr",size:10,class:"em-history__arrow"})):t.createCommentVNode("",!0),t.createElementVNode("span",DV,t.toDisplayString(re(Xe.value)),1)]))),128))])):t.createCommentVNode("",!0)],10,RV))),128))])):(t.openBlock(),t.createElementBlock("p",SV,t.toDisplayString(t.unref(a).t("em.history.diff.empty")),1))],64)):l.value&&!c.value?(t.openBlock(),t.createElementBlock("p",LV,t.toDisplayString(t.unref(a).t("em.history.loading")),1)):s.value?(t.openBlock(),t.createElementBlock("p",OV,t.toDisplayString(s.value),1)):D.value.length===0?(t.openBlock(),t.createElementBlock("p",PV,t.toDisplayString(c.value?t.unref(a).t("em.history.emptyLoaded"):t.unref(a).t("em.history.emptyNotLoaded")),1)):(t.openBlock(),t.createElementBlock("ul",zV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(z.value,le=>{var j,Xe,rt;return t.openBlock(),t.createElementBlock("li",{key:le.seq,class:t.normalizeClass(["em-history__group",[`is-${le.kind??"edit"}`]])},[t.createElementVNode("div",{class:"em-history__ghead",onClick:He=>pe(le.seq)},[t.createVNode(Ae,{name:"chevron",size:13,class:t.normalizeClass(["em-history__chevron",{"is-open":Ne.value.has(le.seq)}])},null,8,["class"]),t.createElementVNode("span",{class:t.normalizeClass(["em-history__kind",`is-${le.kind??"edit"}`])},t.toDisplayString(t.unref(a).t(le.kind==="restore"?"em.history.kindRestore":"em.history.kindEdit")),3),t.createElementVNode("span",UV,t.toDisplayString(ce(le)),1),t.createElementVNode("span",HV,"#"+t.toDisplayString(le.seq),1)],8,FV),t.createElementVNode("div",jV,[t.createElementVNode("span",KV,t.toDisplayString(_e(le)),1),le.ts?(t.openBlock(),t.createElementBlock("span",GV,t.toDisplayString(de(le.ts)),1)):t.createCommentVNode("",!0),le.kind==="restore"&&le.restoredFromSeq!=null?(t.openBlock(),t.createElementBlock("span",YV,"← #"+t.toDisplayString(le.restoredFromSeq),1)):t.createCommentVNode("",!0),le.seq!==M.value?(t.openBlock(),t.createElementBlock("button",{key:2,type:"button",class:"em-history__compare-btn",onClick:t.withModifiers(He=>me(le.seq),["stop"])},t.toDisplayString(t.unref(a).t("em.history.diff.compare")),9,qV)):t.createCommentVNode("",!0)]),Ne.value.has(le.seq)?(t.openBlock(),t.createElementBlock("div",WV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(le.actions,(He,Pe)=>(t.openBlock(),t.createElementBlock("div",{key:Pe,class:"em-history__action"},[t.createElementVNode("div",JV,[t.createVNode(Ae,{name:N[He.subject.kind],size:12},null,8,["name"]),t.createElementVNode("span",XV,t.toDisplayString(_(He.subject)),1),t.createElementVNode("span",{class:t.normalizeClass(["em-history__verb",`is-${He.verb}`])},t.toDisplayString(t.unref(a).t(x[He.verb])),3)]),He.fields.length?(t.openBlock(),t.createElementBlock("ul",ZV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(He.fields,(Oe,X)=>(t.openBlock(),t.createElementBlock("li",{key:X,class:"em-history__field"},[t.createElementVNode("span",QV,t.toDisplayString(Oe.field),1),Oe.oldValue!==void 0?(t.openBlock(),t.createElementBlock("span",eB,t.toDisplayString(re(Oe.oldValue)),1)):t.createCommentVNode("",!0),Oe.oldValue!==void 0?(t.openBlock(),t.createBlock(Ae,{key:1,name:"arrow-lr",size:10,class:"em-history__arrow"})):t.createCommentVNode("",!0),t.createElementVNode("span",tB,t.toDisplayString(re(Oe.value)),1)]))),128))])):t.createCommentVNode("",!0)]))),128))])):t.createCommentVNode("",!0),t.unref(a).restoreAvailable.value&&le.seq!==M.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["em-history__restore",{"is-confirming":H.value===le.seq}])},[H.value===le.seq?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",nB,[t.createElementVNode("button",{type:"button",class:"em-history__preview-toggle",disabled:!((j=xe.value)!=null&&j.entries.length),onClick:P[7]||(P[7]=He=>De.value=!De.value)},[t.createVNode(Ae,{name:"chevron",size:11,class:t.normalizeClass(["em-history__chevron",{"is-open":De.value}])},null,8,["class"]),t.createTextVNode(" "+t.toDisplayString((Xe=xe.value)!=null&&Xe.entries.length?t.unref(a).t("em.history.diff.restorePreview",{n:xe.value.entries.length}):t.unref(a).t("em.history.diff.restorePreviewNone")),1)],8,oB),De.value&&((rt=xe.value)!=null&&rt.entries.length)?(t.openBlock(),t.createElementBlock("ul",iB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(xe.value.entries,(He,Pe)=>(t.openBlock(),t.createElementBlock("li",{key:Pe,class:"em-history__diff-entry"},[t.createElementVNode("div",aB,[t.createVNode(Ae,{name:N[He.subject.kind],size:12},null,8,["name"]),t.createElementVNode("span",rB,t.toDisplayString(_(He.subject)),1),t.createElementVNode("span",{class:t.normalizeClass(["em-history__verb",`is-${U[He.verb]}`])},t.toDisplayString(t.unref(a).t(Ie[He.verb])),3)]),He.fields.length?(t.openBlock(),t.createElementBlock("ul",lB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(He.fields,(Oe,X)=>(t.openBlock(),t.createElementBlock("li",{key:X,class:"em-history__field"},[t.createElementVNode("span",sB,t.toDisplayString(Oe.field),1),Oe.oldValue!==void 0?(t.openBlock(),t.createElementBlock("span",cB,t.toDisplayString(re(Oe.oldValue)),1)):t.createCommentVNode("",!0),Oe.oldValue!==void 0?(t.openBlock(),t.createBlock(Ae,{key:1,name:"arrow-lr",size:10,class:"em-history__arrow"})):t.createCommentVNode("",!0),t.createElementVNode("span",dB,t.toDisplayString(re(Oe.value)),1)]))),128))])):t.createCommentVNode("",!0)]))),128))])):t.createCommentVNode("",!0)]),t.createElementVNode("div",uB,[t.createElementVNode("span",mB,t.toDisplayString(t.unref(a).t("em.history.confirmRestore")),1),t.createElementVNode("button",{type:"button",class:"em-history__confirm-yes",disabled:q.value,onClick:He=>ne(le.seq)},t.toDisplayString(t.unref(a).t("em.history.doRestore")),9,fB),t.createElementVNode("button",{type:"button",class:"em-history__confirm-no",disabled:q.value,onClick:P[8]||(P[8]=He=>H.value=null)},t.toDisplayString(t.unref(a).t("em.history.cancel")),9,pB)])],64)):(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"em-history__restore-btn",onClick:He=>W(le.seq)},[t.createVNode(Ae,{name:"undo",size:12}),t.createTextVNode(" "+t.toDisplayString(t.unref(a).t("em.history.restoreToHere")),1)],8,hB))],2)):t.createCommentVNode("",!0)],2)}),128))])),h.value==null&&K.value>0?(t.openBlock(),t.createElementBlock("button",{key:5,type:"button",class:"em-history__load-more",onClick:J},t.toDisplayString(t.unref(a).t("em.history.loadMore",{n:K.value})),1)):t.createCommentVNode("",!0)])],512),[[t.vShow,e.open]])]}),_:1}))}}),[["__scopeId","data-v-471d6cf8"]]);function gB(e,n){if(!e||typeof window>"u"||!window.localStorage)return null;const o=window.localStorage.getItem(e),i=o==null?NaN:Number(o);return Number.isFinite(i)&&i>=n?i:null}function Jp(e){const n=t.ref(gB(e.storageKey,e.min)??e.initial),o=t.ref(!1);function i(a){a.preventDefault();const r=a.clientX,l=n.value;o.value=!0,document.body.style.cursor="col-resize",document.body.style.userSelect="none";const s=d=>{const u=e.edge==="left"?r-d.clientX:d.clientX-r;let m=l+u;m=Math.max(e.min,m),e.max!=null&&(m=Math.min(e.max,m)),n.value=m},c=()=>{window.removeEventListener("pointermove",s),window.removeEventListener("pointerup",c),document.body.style.cursor="",document.body.style.userSelect="",o.value=!1,e.storageKey&&typeof window<"u"&&window.localStorage&&window.localStorage.setItem(e.storageKey,String(n.value))};window.addEventListener("pointermove",s),window.addEventListener("pointerup",c)}return{width:n,dragging:o,startResize:i}}const bB={class:"em-modeler"},_B={class:"em-modeler__body"},kB={class:"em-drawer__inner"},EB={class:"em-drawer__head"},NB={class:"em-drawer__actions"},wB=["title"],vB=["title"],IB=["title"],xB=["title"],CB=["title"],SB=Ke(t.defineComponent({__name:"EntityModeler",props:{controller:{}},setup(e){const n=t.ref(!0),o=t.ref(!0),i=t.ref(null),a=t.ref(null),r=t.ref(null),l=t.ref(null);function s(N){t.nextTick(()=>{const x=N();x&&("focusCollapse"in x?x.focusCollapse():x.focus())})}function c(N){n.value=N,s(()=>N?i.value:a.value)}function d(N){o.value=N,s(()=>N?l.value:r.value)}const u=t.ref(!1),m=t.shallowRef(null),{width:h,dragging:p,startResize:g}=Jp({initial:260,min:260,max:560,edge:"right",storageKey:"em.explorerWidth"}),{width:b,dragging:f,startResize:y}=Jp({initial:320,min:320,max:640,edge:"left",storageKey:"em.panelWidth"}),k=t.ref(null),_=t.ref(null);return(N,x)=>{var T,C,R;return t.openBlock(),t.createElementBlock("div",bB,[t.createVNode(qp,{controller:e.controller,"history-open":u.value,onExportSvg:x[0]||(x[0]=A=>{var M;return(M=k.value)==null?void 0:M.exportSvg()}),onExportPng:x[1]||(x[1]=A=>{var M;return(M=k.value)==null?void 0:M.exportPng()}),onToggleHistory:x[2]||(x[2]=A=>u.value=!u.value)},null,8,["controller","history-open"]),t.createElementVNode("div",_B,[t.createElementVNode("aside",{class:t.normalizeClass(["em-drawer",{"is-collapsed":!n.value}]),style:t.normalizeStyle({width:t.unref(h)+"px"})},[t.createElementVNode("div",kB,[t.createElementVNode("header",EB,[x[11]||(x[11]=t.createElementVNode("span",null,"Diagram Explorer",-1)),t.createElementVNode("div",NB,[(T=_.value)!=null&&T.hasExpandable?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-drawer__btn",title:e.controller.t((C=_.value)!=null&&C.allExpanded?"em.panel.collapseAll":"em.panel.expandAll"),onClick:x[3]||(x[3]=A=>{var M;return(M=_.value)==null?void 0:M.toggleAll()})},[t.createVNode(Ae,{name:(R=_.value)!=null&&R.allExpanded?"collapse-all":"expand-all",size:16},null,8,["name"])],8,wB)):t.createCommentVNode("",!0),t.createElementVNode("button",{ref_key:"explorerCollapseBtn",ref:i,type:"button",class:"em-drawer__btn",title:e.controller.t("em.panel.collapse"),onClick:x[4]||(x[4]=A=>c(!1))},[t.createVNode(Ae,{name:"panel-close",size:16})],8,vB)])]),t.createVNode(Yp,{ref_key:"explorer",ref:_,controller:e.controller,"storage-key":"em.explorerCollapsed"},null,8,["controller"])]),t.withDirectives(t.createElementVNode("div",{class:t.normalizeClass(["em-resize-handle em-resize-handle--right",{"is-dragging":t.unref(p)}]),title:e.controller.t("em.panel.resizeWidth"),onPointerdown:x[5]||(x[5]=(...A)=>t.unref(g)&&t.unref(g)(...A))},null,42,IB),[[t.vShow,n.value]])],6),t.createVNode(t.Transition,{name:"em-reopen"},{default:t.withCtx(()=>[t.withDirectives(t.createElementVNode("button",{type:"button",ref_key:"explorerReopenBtn",ref:a,class:"em-drawer__reopen",title:e.controller.t("em.panel.openNamed",{name:"Diagram Explorer"}),onClick:x[6]||(x[6]=A=>c(!0))},[t.createVNode(Ae,{name:"panel-open",size:18})],8,xB),[[t.vShow,!n.value]])]),_:1}),t.createElementVNode("div",{class:t.normalizeClass(["em-modeler__canvas",{"is-drawer-open":n.value,"is-resizing":t.unref(p),"is-inspector-collapsed":!o.value}]),style:t.normalizeStyle({"--em-drawer-shift":t.unref(h)-6+"px"})},[t.createVNode(Gp,{ref_key:"canvas",ref:k,controller:e.controller,"diff-marks":m.value,"embed-collapse-storage-key":"em.embedCollapsed"},null,8,["controller","diff-marks"])],6),t.withDirectives(t.createVNode(Wp,{ref_key:"inspectorRef",ref:l,controller:e.controller,width:t.unref(b),resizing:t.unref(f),"start-resize":t.unref(y),onCollapse:x[7]||(x[7]=A=>d(!1))},null,8,["controller","width","resizing","start-resize"]),[[t.vShow,o.value]]),t.createVNode(t.Transition,{name:"em-reopen"},{default:t.withCtx(()=>[t.withDirectives(t.createElementVNode("button",{type:"button",ref_key:"inspectorReopenBtn",ref:r,class:"em-panel__reopen",title:e.controller.t("em.panel.openNamed",{name:"Inspector"}),onClick:x[8]||(x[8]=A=>d(!0))},[t.createVNode(Ae,{name:"panel-right-open",size:18})],8,CB),[[t.vShow,!o.value]])]),_:1}),t.createVNode(yB,{controller:e.controller,open:u.value,onClose:x[9]||(x[9]=A=>u.value=!1),onDiffChange:x[10]||(x[10]=A=>m.value=A)},null,8,["controller","open"])]),t.createVNode(dV,{controller:e.controller,"panel-width":t.unref(b),"inspector-open":o.value},null,8,["controller","panel-width","inspector-open"])])}}}),[["__scopeId","data-v-1e5c0922"]]);ge.APPLY_MODEL_OPS_INPUT_SCHEMA=nb,ge.AssociationEdge=Kf,ge.CUSTOM_TYPE_VALUE=en,ge.CommandStack=Wr,ge.DEFAULT_JAVA_TYPE=xr,ge.DIAGRAM_JSON_FORMAT=Rr,ge.DIAGRAM_JSON_VERSION=Ar,ge.DiagramCanvas=Gp,ge.DiagramExplorer=Yp,ge.EDITOR=eo,ge.EditModeToggle=s2,ge.EditorToolbar=qp,ge.EntityModeler=SB,ge.EntityNode=Nf,ge.GROUP_CODE_ENUM_VALUE=co,ge.GroupNode=wf,ge.INHERITED_REF_PREFIX=Mi,ge.InvalidDiagramJsonError=Dn,ge.JAVA_TYPES=Ui,ge.NoteNode=vf,ge.OpSyncAdapter=Nd,ge.PHYSICAL_NAME_MAX_LENGTH=Yo,ge.PropertyPanel=Wp,ge.RevCache=Ed,ge.SELECTABLE_JAVA_TYPES=Ps,ge.SYMBOLIC_OP_KINDS=wd,ge.SYMBOLIC_OP_SCHEMA=Pd,ge.UI_LOCALES=Nw,ge.buildAgentBatch=ob,ge.buildDiagramSvg=bs,ge.buildDiffMarks=Ac,ge.collectSharedColumns=kn,ge.commands=mg,ge.computeAutoLayout=Ns,ge.createEditorController=ex,ge.defaultMermaidDialect=gh,ge.defaultSqlDialect=jh,ge.diagramToJson=Js,ge.displayLabel=Di,ge.emptyState=df,ge.entityModelToDdl=Ys,ge.entityModelToMermaid=Nr,ge.entityModelToText=Ts,ge.exportDiagramPng=jp,ge.exportDiagramSvg=Hp,ge.fromPersisted=Wd,ge.isGeneratable=uc,ge.isInheritedColumnRef=ro,ge.javaTypeLabel=uo,ge.makeInheritedColumnRef=Is,ge.mergeDiagram=Ic,ge.mermaidErToImportSource=Us,ge.migrateLegacyMoney=Fy,ge.multiplicityLabel=zi,ge.newId=Be,ge.packEntityBoxes=br,ge.parseDiagramJson=Xs,ge.parseInheritedColumnRef=_r,ge.parseMermaidEr=Fs,ge.parseSqlDdl=$r,ge.planHealBackfillOps=Lb,ge.projectActionLog=Yr,ge.projectEntityAudit=$c,ge.projectFieldAudit=En,ge.projectInheritedColumns=Uo,ge.projectSeqDiff=qr,ge.renderDiagramSvg=Qs,ge.resolveColumnPhysicalName=kr,ge.resolveDiagram=Es,ge.resolveEffectiveColumn=jo,ge.resolveQuickFix=Dr,ge.resolveSharedColumn=Vn,ge.resolveSymbolicOps=Lg,ge.restoreDeepEqual=Ln,ge.scaffoldEntityJava=yy,ge.sharedColumnScopeEntities=Er,ge.sqlDdlToImportSource=Gs,ge.stereotypeLabel=Ho,ge.synthesizeRestoreOps=Zy,ge.toPersisted=Vb,ge.toPersistedV2=Bb,ge.translate=Lt,ge.uiMessagesEn=ef,ge.uiMessagesJa=tf,ge.uiMessagesKo=nf,ge.validateModel=Wi,Object.defineProperty(ge,Symbol.toStringTag,{value:"Module"})}));
65
+ a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 ${e.maskBorderRadius},-${e.maskBorderRadius}z`);t.watchEffect(z=>{if(b.value){const K=Rn(b.value),J=ce=>{if(ce.sourceEvent.type!=="wheel"||!h.value||!p.value)return;const Ne=ce.sourceEvent.ctrlKey&&gi()?10:1,pe=-ce.sourceEvent.deltaY*(ce.sourceEvent.deltaMode===1?.05:ce.sourceEvent.deltaMode?1:.002)*e.zoomStep,de=c.value.zoom*2**(pe*Ne);p.value.scaleTo(h.value,de)},re=ce=>{if(ce.sourceEvent.type!=="mousemove"||!h.value||!p.value)return;const Ne=A.value*Math.max(1,c.value.zoom)*(e.inversePan?-1:1),pe={x:c.value.x-ce.sourceEvent.movementX*Ne,y:c.value.y-ce.sourceEvent.movementY*Ne},de=[[0,0],[u.value.width,u.value.height]],_e=ps.translate(pe.x,pe.y).scale(c.value.zoom),Se=p.value.constrain()(_e,de,d.value);p.value.transform(h.value,Se)},he=pA().wheelDelta(ce=>Al(ce)*(e.zoomStep/10)).on("zoom",e.pannable?re:()=>{}).on("zoom.wheel",e.zoomable?J:()=>{});K.call(he),z(()=>{K.on("zoom",null)})}},{flush:"post"});function v(z){const[K,J]=An(z);n("click",{event:z,position:{x:K,y:J}})}function I(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeClick(J),n("nodeClick",J)}function E(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeDoubleClick(J),n("nodeDblclick",J)}function w(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeMouseEnter(J),n("nodeMouseenter",J)}function $(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeMouseMove(J),n("nodeMousemove",J)}function D(z,K){const J={event:z,node:K,connectedEdges:qn([K],s.value)};m.miniMapNodeMouseLeave(J),n("nodeMouseleave",J)}return(z,K)=>(t.openBlock(),t.createBlock(t.unref(Ym),{position:z.position,class:t.normalizeClass(["vue-flow__minimap",{pannable:z.pannable,zoomable:z.zoomable}])},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{ref_key:"el",ref:b,width:f.value,height:y.value,viewBox:[M.value.x,M.value.y,M.value.width,M.value.height].join(" "),role:"img","aria-labelledby":`vue-flow__minimap-${t.unref(l)}`,onClick:v},[z.ariaLabel?(t.openBlock(),t.createElementBlock("title",{key:0,id:`vue-flow__minimap-${t.unref(l)}`},t.toDisplayString(z.ariaLabel),9,_A)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(g),J=>(t.openBlock(),t.createBlock(gA,{id:J.id,key:J.id,f:"",position:J.computedPosition,dimensions:J.dimensions,selected:J.selected,dragging:J.dragging,style:t.normalizeStyle(J.style),class:t.normalizeClass(x.value(J)),color:_.value(J),"border-radius":z.nodeBorderRadius,"stroke-color":N.value(J),"stroke-width":z.nodeStrokeWidth,"shape-rendering":t.unref(k),type:J.type,hidden:J.hidden,onClick:re=>I(re,J),onDblclick:re=>E(re,J),onMouseenter:re=>w(re,J),onMousemove:re=>$(re,J),onMouseleave:re=>D(re,J)},null,8,["id","position","dimensions","selected","dragging","style","class","color","border-radius","stroke-color","stroke-width","shape-rendering","type","hidden","onClick","onDblclick","onMouseenter","onMousemove","onMouseleave"]))),128)),t.createElementVNode("path",{class:"vue-flow__minimap-mask",d:B.value,fill:z.maskColor,stroke:z.maskStrokeColor,"stroke-width":z.maskStrokeWidth,"fill-rule":"evenodd"},null,8,kA)],8,bA))]),_:1},8,["position","class"]))}}),wA=["d"],vA=["cx","cy","onDblclick"],IA=["x","y","onPointerdown","onDblclick"],xA=Ke(t.defineComponent({inheritAttrs:!1,__name:"NoteConnectionEdge",props:{id:{},sourceNode:{},targetNode:{},data:{}},setup(e){const n=e,{screenToFlowCoordinate:o}=je(),i=t.inject(Wl),a=t.inject(eo,null),r=t.computed(()=>!!a&&a.editable.value),l=t.inject(Mo,null),s=t.computed(()=>!!l&&l.active.value&&(!l.relatedEntityIds.value.has(n.data.targetRef)||!l.relatedNoteIds.value.has(n.data.noteRef))),c=t.computed(()=>(i==null?void 0:i.points(n.id))??[]),d=t.ref(-1),u=t.ref({x:0,y:0}),m=t.computed(()=>c.value.map((R,A)=>A===d.value?u.value:R)),{source:h,target:p,sourceSide:g,targetSide:b}=jf({sourceNode:()=>n.sourceNode,targetNode:()=>n.targetNode,waypoints:()=>m.value}),f=t.computed(()=>(a==null?void 0:a.routingMode.value)==="orthogonal"?xf(h.value,g.value,m.value,p.value,b.value):Sf(h.value,m.value,p.value)),y=t.computed(()=>r.value?(a==null?void 0:a.routingMode.value)==="orthogonal"?Cf(h.value,g.value,m.value,p.value,b.value):Af(h.value,m.value,p.value).map((R,A)=>({point:R,segIndex:A})):[]),k=t.computed(()=>r.value?m.value:[]);function _(R,A){d.value=R,u.value={...c.value[R]},A.target.setPointerCapture(A.pointerId),A.stopPropagation()}function N(R){if(d.value<0)return;const A=o({x:R.clientX,y:R.clientY});u.value={x:A.x,y:A.y}}function x(R){var A,M;d.value>=0&&i&&i.movePoint(n.id,d.value,{...u.value}),d.value=-1,(M=(A=R.target).releasePointerCapture)==null||M.call(A,R.pointerId)}function T(R,A){A.stopPropagation(),i==null||i.removePoint(n.id,R)}function C(R,A){if(!i)return;const M=o({x:A.clientX,y:A.clientY});i.insertPoint(n.id,R,{x:M.x,y:M.y})}return(R,A)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",{d:f.value,fill:"none","stroke-width":"1.5","stroke-dasharray":"6 4",class:t.normalizeClass(["em-note-edge__path",{"is-dimmed":s.value}])},null,10,wA),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(M,B)=>(t.openBlock(),t.createElementBlock("circle",{key:`mid-${B}`,cx:M.point.x,cy:M.point.y,r:"4",class:t.normalizeClass(["em-note-edge__mid",{"is-dimmed":s.value}]),onDblclick:t.withModifiers(v=>C(M.segIndex,v),["stop"])},null,42,vA))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,(M,B)=>(t.openBlock(),t.createElementBlock("rect",{key:`wp-${B}`,x:M.x-5,y:M.y-5,width:"10",height:"10",rx:"2",class:t.normalizeClass(["em-note-edge__waypoint",{"is-dimmed":s.value}]),onPointerdown:v=>_(B,v),onPointermove:N,onPointerup:x,onDblclick:v=>T(B,v)},null,42,IA))),128))],64))}}),[["__scopeId","data-v-8515def1"]]),CA=["data-theme"],SA={key:0,class:"em-ctx__sep",role:"separator"},$A=["aria-label"],RA={class:"em-ctx__swatches-label","aria-hidden":"true"},AA={class:"em-ctx__chips",role:"none"},TA=["aria-checked","aria-label","title","onClick"],MA=["aria-checked","aria-label","title","onClick"],VA=["disabled","onClick"],BA={class:"em-ctx__icon"},DA={class:"em-ctx__caption"},LA=Ke(t.defineComponent({__name:"EmContextMenu",props:{locale:{}},setup(e,{expose:n}){const o=e,i=(_,N)=>Lt(o.locale??"ko",_,N),a=t.ref(!1),r=t.ref([]),l=t.ref(void 0),s=t.ref(null),c=t.reactive({x:0,y:0});let d=null;const u=8;async function m(_,N){var C,R;r.value=N,l.value=(C=_.target)!=null&&C.closest('[data-theme="dark"]')?"dark":void 0,d=document.activeElement,c.x=_.clientX,c.y=_.clientY,a.value=!0,window.addEventListener("keydown",f),window.addEventListener("resize",h),await t.nextTick();const x=s.value;if(!x)return;const T=x.getBoundingClientRect();c.x+T.width>window.innerWidth-u&&(c.x=Math.max(u,window.innerWidth-u-T.width)),c.y+T.height>window.innerHeight-u&&(c.y=Math.max(u,window.innerHeight-u-T.height)),(R=p()[0])==null||R.focus()}function h(){if(!a.value)return;a.value=!1,r.value=[],window.removeEventListener("keydown",f),window.removeEventListener("resize",h);const _=d;d=null,_!=null&&_.isConnected&&_.focus()}function p(){const _=s.value;if(!_)return[];const N=[];for(const x of Array.from(_.children))if(x.classList.contains("em-ctx__item"))x.disabled||N.push(x);else if(x.classList.contains("em-ctx__swatches")){const T=Array.from(x.querySelectorAll(".em-ctx__chip"));T.length&&N.push(T.find(C=>C===document.activeElement)??T[0])}return N}function g(_){var C;const N=p();if(!N.length)return;const x=N.indexOf(document.activeElement),T=x<0?_>0?0:N.length-1:(x+_+N.length)%N.length;(C=N[T])==null||C.focus()}function b(_){var C,R;const N=(C=document.activeElement)==null?void 0:C.closest(".em-ctx__swatches");if(!N)return!1;const x=Array.from(N.querySelectorAll(".em-ctx__chip")),T=x.indexOf(document.activeElement);return T<0?!1:((R=x[(T+_+x.length)%x.length])==null||R.focus(),!0)}function f(_){var N,x;switch(_.key){case"Escape":_.stopPropagation(),h();return;case"ArrowDown":_.preventDefault(),g(1);return;case"ArrowUp":_.preventDefault(),g(-1);return;case"ArrowRight":b(1)&&_.preventDefault();return;case"ArrowLeft":b(-1)&&_.preventDefault();return;case"Home":_.preventDefault(),(N=p()[0])==null||N.focus();return;case"End":{_.preventDefault();const T=p();(x=T[T.length-1])==null||x.focus();return}case"Tab":_.preventDefault(),g(_.shiftKey?-1:1)}}function y(_){_.disabled||(_.handler(),h())}function k(_,N){_.onPick(N),h()}return t.onBeforeUnmount(h),n({open:m,close:h}),(_,N)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[a.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"em-ctx-layer","data-theme":l.value},[t.createElementVNode("div",{class:"em-ctx__scrim",onPointerdown:h,onContextmenu:t.withModifiers(h,["prevent"])},null,32),t.createElementVNode("div",{ref_key:"menuEl",ref:s,class:"em-ctx",style:t.normalizeStyle({left:c.x+"px",top:c.y+"px"}),role:"menu",onContextmenu:N[0]||(N[0]=t.withModifiers(()=>{},["prevent"]))},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,(x,T)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:T},[x.type==="separator"?(t.openBlock(),t.createElementBlock("div",SA)):x.type==="swatches"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"em-ctx__swatches",role:"group","aria-label":x.caption},[t.createElementVNode("span",RA,t.toDisplayString(x.caption),1),t.createElementVNode("div",AA,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-ctx__chip em-ctx__chip--none",{"is-on":x.current===null}]),role:"menuitemradio","aria-checked":x.current===null,"aria-label":i("em.swatch.none"),title:i("em.swatch.none"),onClick:C=>k(x,null)},null,10,TA),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),C=>(t.openBlock(),t.createElementBlock("button",{key:C,type:"button",class:t.normalizeClass(["em-ctx__chip",{"is-on":x.current===C}]),style:t.normalizeStyle({background:t.unref(Ao)(C)}),role:"menuitemradio","aria-checked":x.current===C,"aria-label":i(t.unref(Zn)(C)),title:i(t.unref(Zn)(C)),onClick:R=>k(x,C)},null,14,MA))),128))])],8,$A)):(t.openBlock(),t.createElementBlock("button",{key:2,type:"button",class:t.normalizeClass(["em-ctx__item",{"is-danger":x.danger,"is-disabled":x.disabled}]),disabled:x.disabled,role:"menuitem",onClick:C=>y(x)},[t.createElementVNode("span",BA,[x.icon?(t.openBlock(),t.createBlock(Ae,{key:0,name:x.icon,size:15},null,8,["name"])):t.createCommentVNode("",!0)]),t.createElementVNode("span",DA,t.toDisplayString(x.caption),1)],10,VA))],64))),128))],36)],8,CA)):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-2f05239a"]]);function Op(e,n){return n?`${e}:${n}`:e}function Pp(e,n){var o;if(!e||typeof window>"u")return{};try{const i=(o=window.sessionStorage)==null?void 0:o.getItem(Op(e,n));if(!i)return{};const a=JSON.parse(i);if(!a||typeof a!="object"||Array.isArray(a))return{};const r={};for(const[l,s]of Object.entries(a))typeof s=="boolean"&&(r[l]=s);return r}catch{return{}}}function OA(e,n,o){var i,a;if(!(!e||typeof window>"u"))try{const r=Op(e,n);Object.keys(o).length?(a=window.sessionStorage)==null||a.setItem(r,JSON.stringify(o)):(i=window.sessionStorage)==null||i.removeItem(r)}catch{}}function zp(e){const n=()=>{var s;return(s=e.scope)==null?void 0:s.call(e)},o=t.ref(Pp(e.storageKey,n()));e.scope&&t.watch(()=>e.scope(),s=>o.value=Pp(e.storageKey,s)),t.watch(o,s=>OA(e.storageKey,n(),s),{deep:!0});const i=s=>o.value[s]??e.defaultCollapsed(s);function a(s){o.value={...o.value,[s]:!i(s)}}const r=t.computed(()=>!e.expandableKeys().some(s=>i(s)));function l(){const s=r.value,c={...o.value};for(const d of e.expandableKeys())c[d]=s;o.value=c}return{isCollapsed:i,toggle:a,toggleAll:l,allExpanded:r}}const ys=[".em-entity__grip",".em-entity__add",".em-entity__footer",".em-sel",".em-handle",".em-note-handle",".vue-flow__handle",".em-group__resize",".em-note__resize",".em-edge__waypoint",".em-edge__mid",".em-note-edge__waypoint",".em-note-edge__mid"].join(",");function Oo(e){const n=getComputedStyle(e);return!(n.display==="none"||n.visibility==="hidden"||parseFloat(n.opacity)===0)}function PA(e){return e.childElementCount>0?!1:(e.textContent??"").trim().length>0}function zA(e,n){const o=getComputedStyle(e),i={fill:o.color,fontSize:parseFloat(o.fontSize),fontFamily:o.fontFamily,fontWeight:o.fontWeight,fontStyle:o.fontStyle},a=document.createRange();a.selectNodeContents(e);const r=e.firstChild,l=a.getClientRects();if(!r||r.nodeType!==3||l.length<=1){const g=l.length?a.getBoundingClientRect():e.getBoundingClientRect();if(g.width===0&&g.height===0)return[];const b=n(g.left,g.top+g.height/2);return[{...i,x:b.x,y:b.y,text:(e.textContent??"").trim()}]}const s=r.textContent??"",c=[];let d="",u=null,m=0,h=0;const p=()=>{const g=d.trim();if(g){const b=n(m,(u+h)/2);c.push({...i,x:b.x,y:b.y,text:g})}d=""};for(let g=0;g<s.length;g++){a.setStart(r,g),a.setEnd(r,g+1);const b=a.getBoundingClientRect();u===null||Math.abs(b.top-u)>1?(p(),u=b.top,m=b.left,h=b.bottom,d=s[g]):(d+=s[g],h=Math.max(h,b.bottom))}return p(),c}function yr(e,n){const o=[];for(const i of e.querySelectorAll("*"))PA(i)&&(i.closest(ys)||Oo(i)&&o.push(...zA(i,n)));return o}function Ri(e){return Math.round(e*100)/100}function FA(e,n){const o=[];for(const i of e.querySelectorAll("svg.em-icon")){if(i.closest(ys)||!Oo(i))continue;const a=i.getBoundingClientRect();if(a.width===0||a.height===0)continue;const r=n(a.left,a.top),l=n(a.right,a.bottom),s=getComputedStyle(i),c=i.getAttribute("viewBox")??"0 0 24 24",d=parseFloat(s.strokeWidth)||1.75;o.push(`<svg x="${Ri(r.x)}" y="${Ri(r.y)}" width="${Ri(l.x-r.x)}" height="${Ri(l.y-r.y)}" viewBox="${c}" fill="none" stroke="${s.color}" stroke-width="${d}" stroke-linecap="round" stroke-linejoin="round">${i.innerHTML}</svg>`)}return o}function UA(e){const n=[];for(const o of e.querySelectorAll(".em-edge__marker")){if(!Oo(o))continue;const i=getComputedStyle(o),a=i.stroke,r=parseFloat(i.strokeWidth)||1.5,l=i.fill&&i.fill!=="none"?i.fill:"none",s=o.tagName.toLowerCase(),c=d=>Ri(parseFloat(o.getAttribute(d)??"0"));s==="line"?n.push(`<line x1="${c("x1")}" y1="${c("y1")}" x2="${c("x2")}" y2="${c("y2")}" stroke="${a}" stroke-width="${r}" stroke-linecap="round" />`):s==="circle"?n.push(`<circle cx="${c("cx")}" cy="${c("cy")}" r="${c("r")}" fill="none" stroke="${a}" stroke-width="${r}" />`):s==="path"&&n.push(`<path d="${o.getAttribute("d")}" fill="${l}" stroke="${a}" stroke-width="${r}" stroke-linejoin="round" />`)}return n}function Fp(e,n,o){const i=[];for(const a of e.querySelectorAll("*")){if(a===n||a.closest(ys)||!Oo(a))continue;const r=getComputedStyle(a),l=parseFloat(r.borderTopWidth);if(!l)continue;const s=a.getBoundingClientRect();if(s.width===0)continue;const c=o(s.left,s.top),d=o(s.right,s.top);i.push({x1:c.x,x2:d.x,y:c.y,stroke:r.borderTopColor,strokeWidth:l})}return i}function Ai(e,n){const o=e.getBoundingClientRect(),i=getComputedStyle(e),a=n(o.left,o.top),r=n(o.right,o.bottom),l=i.borderTopStyle==="dashed",s={tl:parseFloat(i.borderTopLeftRadius)||0,tr:parseFloat(i.borderTopRightRadius)||0,br:parseFloat(i.borderBottomRightRadius)||0,bl:parseFloat(i.borderBottomLeftRadius)||0};return{x:a.x,y:a.y,w:r.x-a.x,h:r.y-a.y,fill:i.backgroundColor,stroke:i.borderTopColor,strokeWidth:parseFloat(i.borderTopWidth)||void 0,strokeDasharray:l?"6 4":void 0,radius:s}}function gs(e,n){e.minX=Math.min(e.minX,n.x),e.minY=Math.min(e.minY,n.y),e.maxX=Math.max(e.maxX,n.x+n.w),e.maxY=Math.max(e.maxY,n.y+n.h)}function HA(e){const n=e.vueFlowRef.value;if(!n)throw new Error("캔버스가 렌더되지 않아 SVG로 내보낼 수 없습니다.");const o=(p,g)=>e.screenToFlowCoordinate({x:p,y:g}),i=[],a=[],r=[],l=[],s={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};for(const p of e.nodes.value){const g=n.querySelector(`.vue-flow__node[data-id="${CSS.escape(p.id)}"]`);if(!g||!Oo(g))continue;const b=g.firstElementChild;if(b)if(p.type==="group"){const f=Ai(b,o);gs(s,f),i.push({...f,texts:[]});const y=b.querySelector(".em-group__label");y&&i.push({...Ai(y,o),stroke:"none",texts:[]}),i.push({...f,fill:"none",stroke:"none",strokeWidth:void 0,strokeDasharray:void 0,radius:void 0,texts:yr(b,o)})}else if(p.type==="note"){const f={...Ai(b,o),texts:yr(b,o),lines:Fp(b,b,o)};gs(s,f),r.push(f)}else{const f=Ai(b,o);gs(s,f);const y=f.radius??{tl:0,tr:0};a.push({...f,stroke:"none",texts:[]});const k=b.querySelector(".em-entity__header");if(k){const _=Ai(k,o);a.push({x:f.x,y:f.y,w:f.w,h:_.y+_.h-f.y,fill:_.fill,stroke:"none",radius:{tl:y.tl,tr:y.tr,br:0,bl:0},texts:[]})}a.push({...f,fill:"none",stroke:"none",strokeWidth:void 0,strokeDasharray:void 0,radius:void 0,texts:yr(b,o),lines:Fp(b,b,o),icons:FA(b,o)}),a.push({...f,fill:"none",texts:[]})}}for(const p of n.querySelectorAll(".vue-flow__edge")){const g=p.querySelector("path.em-edge__path, path.em-note-edge__path");if(!g||!Oo(g))continue;const b=g.getAttribute("d");if(!b)continue;const f=getComputedStyle(g),y=f.strokeDasharray,k=UA(p);l.push({d:b,stroke:f.stroke,strokeWidth:parseFloat(f.strokeWidth)||1.5,strokeDasharray:y&&y!=="none"?y:void 0,labels:yr(p,o),markers:k.length?k:void 0})}const c=n.closest(".em-canvas")??n,d=getComputedStyle(c).backgroundColor,u=24;return{viewBox:Number.isFinite(s.minX)?{x:s.minX-u,y:s.minY-u,w:s.maxX-s.minX+u*2,h:s.maxY-s.minY+u*2}:{x:0,y:0,w:100,h:100},background:d,groups:i,edges:l,entities:a,notes:r}}function bs(e){return Qs(HA(e))}function Up(e,n){const o=URL.createObjectURL(e);try{const i=document.createElement("a");i.href=o,i.download=n,document.body.appendChild(i),i.click(),i.remove()}finally{URL.revokeObjectURL(o)}}function Hp(e,n="diagram.svg"){const o=bs(e);Up(new Blob([o],{type:"image/svg+xml;charset=utf-8"}),n)}function jA(e){var i,a;const n=Number((i=e.match(/width="([\d.]+)"/))==null?void 0:i[1]),o=Number((a=e.match(/height="([\d.]+)"/))==null?void 0:a[1]);return{w:n>0?n:1,h:o>0?o:1}}async function jp(e,n="diagram.png",o=2){const i=bs(e),{w:a,h:r}=jA(i),l=URL.createObjectURL(new Blob([i],{type:"image/svg+xml;charset=utf-8"}));try{const s=new Image;s.width=a,s.height=r,await new Promise((m,h)=>{s.onload=()=>m(),s.onerror=()=>h(new Error("SVG 이미지 로드 실패")),s.src=l});const c=document.createElement("canvas");c.width=Math.max(1,Math.round(a*o)),c.height=Math.max(1,Math.round(r*o));const d=c.getContext("2d");if(!d)throw new Error("2D 캔버스 컨텍스트를 얻을 수 없습니다");d.scale(o,o),d.drawImage(s,0,0,a,r);const u=await new Promise(m=>c.toBlob(m,"image/png"));if(!u)throw new Error("PNG 변환 실패");Up(u,n)}finally{URL.revokeObjectURL(l)}}const KA={class:"em-shortcuts"},GA={class:"em-shortcuts__list"},YA={class:"em-shortcuts__title"},qA={class:"em-shortcuts__keys"},WA={class:"em-shortcuts__kbd"},JA={key:0,class:"em-shortcuts__plus"},XA={class:"em-shortcuts__desc"},ZA={class:"em-shortcuts__actions"},Kp=Ke(t.defineComponent({__name:"ShortcutHelpModal",props:{locale:{}},setup(e){const n=e,o=te.useModalHandle(),i=(s,c)=>Lt(n.locale??"ko",s,c),r=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent)?"⌘":"Ctrl",l=t.computed(()=>[{title:i("em.shortcuts.groupEdit"),items:[{keys:[r,"Z"],desc:i("em.shortcuts.descUndo")},{keys:[r,"Shift","Z"],desc:i("em.shortcuts.descRedo")},{keys:[r,"C"],desc:i("em.shortcuts.descCopy")},{keys:[r,"V"],desc:i("em.shortcuts.descPaste")},{keys:["Delete"],desc:i("em.shortcuts.descDelete")}]},{title:i("em.shortcuts.groupMove"),items:[{keys:["←","↑","→","↓"],desc:i("em.shortcuts.descMove1")},{keys:["Shift",i("em.shortcuts.keyArrows")],desc:i("em.shortcuts.descMove10")},{keys:["↑","↓"],desc:i("em.shortcuts.descAttrFocus")},{keys:["Alt","↑","↓"],desc:i("em.shortcuts.descAttrReorder")}]},{title:i("em.shortcuts.groupExplorer"),items:[{keys:["/"],desc:i("em.shortcuts.descExplorerSearch")},{keys:[i("em.shortcuts.keyArrows")],desc:i("em.shortcuts.descExplorerNav")},{keys:["Enter"],desc:i("em.shortcuts.descExplorerSelect")},{keys:["F2"],desc:i("em.shortcuts.descExplorerDetail")}]},{title:i("em.shortcuts.groupOther"),items:[{keys:[r,"K"],desc:i("em.shortcuts.descCommandPalette")},{keys:[i("em.shortcuts.keyRightClick")],desc:i("em.shortcuts.descContextMenu")},{keys:["Enter"],desc:i("em.shortcuts.descInlineConfirm")},{keys:["Esc"],desc:i("em.shortcuts.descCloseEdit")},{keys:["?"],desc:i("em.shortcuts.descOpenHelp")}]}]);return(s,c)=>(t.openBlock(),t.createBlock(t.unref(te.BSModalFrame),{title:i("em.shortcuts.title")},{default:t.withCtx(()=>[t.createElementVNode("div",KA,[t.createElementVNode("div",GA,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,d=>(t.openBlock(),t.createElementBlock("section",{key:d.title,class:"em-shortcuts__group"},[t.createElementVNode("h4",YA,t.toDisplayString(d.title),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.items,u=>(t.openBlock(),t.createElementBlock("div",{key:u.desc,class:"em-shortcuts__row"},[t.createElementVNode("span",qA,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.keys,(m,h)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:m+h},[t.createElementVNode("kbd",WA,t.toDisplayString(m),1),h<u.keys.length-1?(t.openBlock(),t.createElementBlock("span",JA,"+")):t.createCommentVNode("",!0)],64))),128))]),t.createElementVNode("span",XA,t.toDisplayString(u.desc),1)]))),128))]))),128))]),t.createElementVNode("div",ZA,[t.createVNode(t.unref(te.BSButton),{variant:"text",caption:i("em.common.close"),onClick:c[0]||(c[0]=d=>t.unref(o).close())},null,8,["caption"])])])]),_:1},8,["title"]))}}),[["__scopeId","data-v-38f2450f"]]);function Po(...e){return e.filter(o=>!!o).join(" ").toLowerCase().trim()||void 0}function QA(e,n){const o=new Set,i=a=>{const r=!!a.matchText&&a.matchText.includes(n);let l=!1;for(const c of a.children)i(c)&&(l=!0);const s=r||l;return s&&o.add(a.key),s};return i(e),o}const eT=["aria-label"],tT=["aria-activedescendant","aria-label","placeholder"],nT={id:"em-cmdk-listbox",class:"em-cmdk__results",role:"listbox"},oT=["aria-label"],iT={class:"em-cmdk__section","aria-hidden":"true"},aT=["id","aria-selected","onMouseenter","onClick"],rT={class:"em-cmdk__label"},lT={key:0,class:"em-cmdk__tag"},sT={key:1,class:"em-cmdk__sub"},cT=["aria-label"],dT={class:"em-cmdk__section","aria-hidden":"true"},uT=["id","aria-selected","aria-disabled","onMouseenter","onClick"],mT={class:"em-cmdk__label"},fT={key:1,class:"em-cmdk__empty"},pT=Ke(t.defineComponent({__name:"CommandPalette",props:{controller:{}},emits:["close"],setup(e,{emit:n}){const o=e,i=n,a=o.controller,r=t.ref(""),l=t.ref(0),s=t.ref(null),c=t.computed(()=>a.userLanguage.value),d=t.computed(()=>{const x=c.value,T=a.state.logical.entities.map(R=>{var A,M,B,v,I,E;return{type:"goto",kind:"entity",id:R.modelId,label:((M=(A=R.table)==null?void 0:A.logicalName)==null?void 0:M[x])||R.name,sub:(B=R.table)==null?void 0:B.physicalName,match:Po(R.name,(I=(v=R.table)==null?void 0:v.logicalName)==null?void 0:I[x],(E=R.table)==null?void 0:E.physicalName)??""}}),C=a.state.logical.groups.map(R=>{var A,M,B,v;return{type:"goto",kind:"group",id:R.modelId,label:((A=R.name)==null?void 0:A[x])||((M=R.name)==null?void 0:M.ko)||R.packageName||a.t("em.cmd.groupTag"),tag:a.t("em.cmd.groupTag"),match:Po((B=R.name)==null?void 0:B[x],(v=R.name)==null?void 0:v.ko,R.packageName)??""}});return[...T,...C]}),u={LOGICAL:"em.displayMode.logical",PHYSICAL:"em.displayMode.physical",LOGICAL_PHYSICAL:"em.displayMode.logicalPhysical",CLASS:"em.displayMode.class"},m=t.computed(()=>{const x=[];a.editable.value&&(x.push({type:"action",id:"undo",label:a.t("em.toolbar.undo"),run:()=>a.undo(),disabled:!a.canUndo.value}),x.push({type:"action",id:"redo",label:a.t("em.toolbar.redo"),run:()=>a.redo(),disabled:!a.canRedo.value}),x.push({type:"action",id:"autolayout",label:a.t("em.palette.autoLayout"),run:()=>a.autoLayout()}),x.push({type:"action",id:"collapseAll",label:a.t("em.panel.collapseAll"),run:()=>a.collapseAll()}),x.push({type:"action",id:"expandAll",label:a.t("em.panel.expandAll"),run:()=>a.expandAll()})),x.push({type:"action",id:"grid",label:a.t("em.toolbar.grid"),run:()=>a.showGrid.value=!a.showGrid.value}),x.push({type:"action",id:"minimap",label:a.t("em.toolbar.minimap"),run:()=>a.showMinimap.value=!a.showMinimap.value}),x.push({type:"action",id:"routing",label:a.t("em.toolbar.routingToggle"),run:()=>a.routingMode.value=a.routingMode.value==="straight"?"orthogonal":"straight"});for(const T of["LOGICAL","PHYSICAL","LOGICAL_PHYSICAL","CLASS"])x.push({type:"action",id:`dm-${T}`,label:a.t(u[T]),run:()=>a.displayMode.value=T});return x});function h(x,T){return x.label.toLowerCase().includes(T)}const p=t.computed(()=>{const x=r.value.trim().toLowerCase();return x?d.value.filter(T=>T.match.includes(x)):d.value}),g=t.computed(()=>{const x=r.value.trim().toLowerCase();return x?m.value.filter(T=>h(T,x)):m.value}),b=t.computed(()=>[...p.value,...g.value]);t.watch([p,g],()=>{l.value=0});function f(x){return b.value.indexOf(x)}const y=x=>`em-cmdk-opt-${x}`,k=t.computed(()=>b.value[l.value]?y(l.value):void 0);t.watch(l,async()=>{var T;await t.nextTick();const x=k.value;x&&((T=document.getElementById(x))==null||T.scrollIntoView({block:"nearest"}))});function _(x){if(x.type==="goto")a.selection.value={kind:x.kind,id:x.id},a.requestFocus(x.id);else{if(x.disabled)return;x.run()}i("close")}function N(x){if(x.key==="Escape"){i("close"),x.preventDefault();return}if(x.key==="ArrowDown"){l.value=Math.min(l.value+1,b.value.length-1),x.preventDefault();return}if(x.key==="ArrowUp"){l.value=Math.max(l.value-1,0),x.preventDefault();return}if(x.key==="Enter"){const T=b.value[l.value];T&&_(T),x.preventDefault();return}x.key==="Tab"&&x.preventDefault()}return t.nextTick(()=>{var x;return(x=s.value)==null?void 0:x.focus()}),(x,T)=>(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createElementVNode("div",{class:"em-cmdk__backdrop",onPointerdown:T[1]||(T[1]=t.withModifiers(C=>i("close"),["self"]))},[t.createElementVNode("div",{class:"em-cmdk",role:"dialog","aria-modal":"true","aria-label":t.unref(a).t("em.cmd.title")},[t.withDirectives(t.createElementVNode("input",{ref_key:"inputEl",ref:s,"onUpdate:modelValue":T[0]||(T[0]=C=>r.value=C),class:"em-cmdk__input",type:"text",role:"combobox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off","aria-controls":"em-cmdk-listbox","aria-activedescendant":k.value,"aria-label":t.unref(a).t("em.cmd.placeholder"),placeholder:t.unref(a).t("em.cmd.placeholder"),onKeydown:N},null,40,tT),[[t.vModelText,r.value]]),t.createElementVNode("div",nT,[b.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[p.value.length?(t.openBlock(),t.createElementBlock("div",{key:0,role:"group","aria-label":t.unref(a).t("em.cmd.sectionGoto")},[t.createElementVNode("div",iT,t.toDisplayString(t.unref(a).t("em.cmd.sectionGoto")),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,C=>(t.openBlock(),t.createElementBlock("button",{id:y(f(C)),key:C.id,type:"button",tabindex:"-1",class:t.normalizeClass(["em-cmdk__item",{"is-active":f(C)===l.value}]),role:"option","aria-selected":f(C)===l.value,onMouseenter:R=>l.value=f(C),onClick:R=>_(C)},[t.createElementVNode("span",rT,t.toDisplayString(C.label),1),C.tag?(t.openBlock(),t.createElementBlock("span",lT,t.toDisplayString(C.tag),1)):C.sub?(t.openBlock(),t.createElementBlock("span",sT,t.toDisplayString(C.sub),1)):t.createCommentVNode("",!0)],42,aT))),128))],8,oT)):t.createCommentVNode("",!0),g.value.length?(t.openBlock(),t.createElementBlock("div",{key:1,role:"group","aria-label":t.unref(a).t("em.cmd.sectionActions")},[t.createElementVNode("div",dT,t.toDisplayString(t.unref(a).t("em.cmd.sectionActions")),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,C=>(t.openBlock(),t.createElementBlock("button",{id:y(f(C)),key:C.id,type:"button",tabindex:"-1",class:t.normalizeClass(["em-cmdk__item",{"is-active":f(C)===l.value,"is-disabled":C.disabled}]),role:"option","aria-selected":f(C)===l.value,"aria-disabled":C.disabled||void 0,onMouseenter:R=>l.value=f(C),onClick:R=>_(C)},[t.createElementVNode("span",mT,t.toDisplayString(C.label),1)],42,uT))),128))],8,cT)):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createElementBlock("div",fT,t.toDisplayString(t.unref(a).t("em.cmd.empty")),1))])],8,eT)],32)]))}}),[["__scopeId","data-v-fcf574c4"]]);function hT(e){return e?e.kind==="missing"?{titleKey:"em.conflict.lockedTitle",detailKey:"em.conflict.missingDetail"}:{titleKey:"em.conflict.lockedTitle",detailKey:"em.conflict.changedDetail"}:null}const yT={key:0,class:"em-canvas__empty","aria-hidden":"true"},gT={class:"em-canvas__empty-title"},bT=["innerHTML"],_T=["innerHTML"],kT=["innerHTML"],ET={key:1,class:"em-canvas__empty-title"},NT={key:0,class:"em-conflict-banner",role:"alert","aria-live":"assertive"},wT={class:"em-conflict-banner__body"},vT={class:"em-conflict-banner__title"},IT={class:"em-conflict-banner__detail"},xT={key:0,class:"em-toast",role:"status","aria-live":"polite"},_s="nc:",Gp=Ke(t.defineComponent({__name:"DiagramCanvas",props:{controller:{},diffMarks:{},embedCollapseStorageKey:{}},setup(e,{expose:n}){const o=e,i=o.controller,a=te.useModal(),r=t.ref(!1),l=t.ref(null);let s;function c(S){l.value=S,s&&clearTimeout(s),s=setTimeout(()=>l.value=null,3200)}t.watch(()=>i.notice.value,S=>{S&&c(S.text)}),t.onBeforeUnmount(()=>s&&clearTimeout(s));const d=t.computed(()=>{if(i.commandFailure.value)return{title:i.t("em.conflict.lockedTitle"),detail:i.t("em.conflict.commandFailedDetail")};const S=hT(i.opConflict.value);return S?{title:i.t(S.titleKey),detail:i.t(S.detailKey)}:null}),u=t.ref(!1),m=t.ref(!1),h={x:0,y:0};function p(S){h.x=S.clientX,h.y=S.clientY}const g=t.ref(null);t.provide(Wa,g);const b=t.ref(null);t.provide(uf,b);const f=t.ref(null),y=t.computed(()=>{const S=f.value,V=new Set;if(!S)return V;if(S.kind==="entity")V.add(S.id);else if(S.kind==="group"){const ee=i.resolved.value.groups.find(Z=>Z.group.modelId===S.id);for(const Z of(ee==null?void 0:ee.group.memberEntityRefs)??[])V.add(Z)}return V}),k=t.computed(()=>{const S=f.value,V=new Set(y.value),ee=new Set,Z=new Set;if(!S)return{related:V,edges:ee,notes:Z};if(S.kind==="note"){Z.add(S.id);for(const Me of i.resolved.value.noteConnections)Me.noteRef===S.id&&V.add(Me.targetRef);return{related:V,edges:ee,notes:Z}}const ve=y.value;if(!ve.size)return{related:V,edges:ee,notes:Z};for(const Me of i.resolved.value.associations){const{end1:ue,end2:Ve}=Me.association;(ve.has(ue.entityRef)||ve.has(Ve.entityRef))&&(ee.add(Me.association.modelId),V.add(ue.entityRef),V.add(Ve.entityRef))}for(const Me of i.resolved.value.noteConnections)V.has(Me.targetRef)&&Z.add(Me.noteRef);return{related:V,edges:ee,notes:Z}});t.provide(Mo,{source:f,active:t.computed(()=>f.value!==null),primaryEntityIds:y,relatedEntityIds:t.computed(()=>k.value.related),relatedEdgeIds:t.computed(()=>k.value.edges),relatedNoteIds:t.computed(()=>k.value.notes),hoverGroupId:t.computed(()=>{var S;return((S=f.value)==null?void 0:S.kind)==="group"?f.value.id:null}),setEntityHover:S=>{b.value||m.value||(f.value=S?{kind:"entity",id:S}:null)},setGroupHover:S=>{b.value||m.value||(f.value=S?{kind:"group",id:S}:null)},setNoteHover:S=>{b.value||m.value||(f.value=S?{kind:"note",id:S}:null)}}),t.provide(eo,i);const _=ax(),N=t.computed(()=>_(i.state.logical,i.embeddableCatalog.value));t.provide(pf,N);const x=zp({expandableKeys:()=>[],defaultCollapsed:lx,storageKey:o.embedCollapseStorageKey,scope:()=>i.state.layout.diagramId});t.provide(yf,{isCollapsed:x.isCollapsed,toggle:x.toggle}),t.provide(mf,{marks:t.toRef(o,"diffMarks")});function T(S,V){return`${_s}${S}:${V}`}function C(S){if(!S.startsWith(_s))return null;const[V,ee]=S.slice(_s.length).split(":");return V&&ee?{noteRef:V,targetRef:ee}:null}t.provide(Wl,{points:S=>{var ee,Z;const V=C(S);return V?((ee=i.resolved.value.noteConnections.find(ve=>ve.noteRef===V.noteRef&&ve.targetRef===V.targetRef))==null?void 0:ee.waypoints)??[]:((Z=i.resolved.value.associations.find(ve=>ve.association.modelId===S))==null?void 0:Z.waypoints)??[]},movePoint:(S,V,ee)=>{const Z=C(S);Z?i.moveNoteConnectionWaypoint(Z.noteRef,Z.targetRef,V,ee):i.moveWaypoint(S,V,ee)},insertPoint:(S,V,ee)=>{const Z=C(S);Z?i.addNoteConnectionWaypoint(Z.noteRef,Z.targetRef,V,ee):i.addWaypoint(S,V,ee)},removePoint:(S,V)=>{const ee=C(S);ee?i.removeNoteConnectionWaypoint(ee.noteRef,ee.targetRef,V):i.removeWaypoint(S,V)}});const R=je(),{nodes:A,edges:M,findNode:B,findEdge:v,addNodes:I,addEdges:E,removeNodes:w,removeEdges:$,fitView:D,setCenter:z,getViewport:K,screenToFlowCoordinate:J,getSelectedNodes:re,updateNodeInternals:he}=R,ce=t.ref(!1);async function Ne(S){ce.value=!0,await t.nextTick(),await new Promise(V=>requestAnimationFrame(()=>V(null)));try{return await S()}finally{ce.value=!1}}async function pe(){try{await Ne(()=>Hp(R))}catch(S){console.error("[entity-modeler] SVG export failed",S),c(i.t("em.canvas.exportFailed"))}}async function de(){try{await Ne(()=>jp(R))}catch(S){console.error("[entity-modeler] PNG export failed",S),c(i.t("em.canvas.exportFailed"))}}n({exportSvg:pe,exportPng:de,fitView:D});const _e=t.computed(()=>i.resolved.value.entities.length===0);function Se(){const S=K(),{width:V,height:ee}=R.dimensions.value;return{x:(V/2-S.x)/S.zoom,y:(ee/2-S.y)/S.zoom}}function me(){const S=Se();i.addEntity("NewEntity",{x:S.x,y:S.y})}function ye(){const S=Se();i.addNote("메모",{x:S.x,y:S.y})}function ie(S){for(const V of i.resolved.value.groups){const{location:ee,size:Z}=V.geo;if(S.x>=ee.x&&S.x<=ee.x+Z.width&&S.y>=ee.y&&S.y<=ee.y+Z.height)return V.group.modelId}return null}function se(S,V){return S.x===V.x&&S.y===V.y}function fe(S,V){return(S==null?void 0:S.width)===(V==null?void 0:V.width)&&(S==null?void 0:S.height)===(V==null?void 0:V.height)}function O(S,V){return S.entity===V.entity&&S.displayMode===V.displayMode&&S.collapsed===V.collapsed&&S.locked===V.locked&&S.groupRef===V.groupRef&&fe(S.size,V.size)&&S.style===V.style&&S.attributeStyles===V.attributeStyles&&S.operationStyles===V.operationStyles}function L(S,V){const ee=Object.keys(S);if(ee.length!==Object.keys(V).length)return!1;for(const Z of ee)if(Z==="geo"){const ve=S.geo,Me=V.geo;if(!se(ve.location,Me.location)||!fe(ve.size,Me.size))return!1}else if(S[Z]!==V[Z])return!1;return!0}function F(){const S=i.resolved.value,V=new Map(S.groups.map(ue=>[ue.group.modelId,ue.geo])),ee=new Set(S.groups.map(ue=>ue.group.modelId)),Z=new Set([...ee,...S.entities.map(ue=>ue.entity.modelId),...S.notes.map(ue=>ue.note.modelId)]);for(const ue of[...A.value])Z.has(ue.id)||w([ue.id]);for(const ue of S.groups){const Ve=ue.group.modelId,ze={width:`${ue.geo.size.width}px`,height:`${ue.geo.size.height}px`},Ue={group:ue.group,style:ue.style,locked:ue.locked},Fe=ue.locked?!1:void 0,Ye=B(Ve);if(Ye){se(Ye.position,ue.geo.location)||(Ye.position={...ue.geo.location});const pt=Ye.data;(pt.group!==Ue.group||pt.style!==Ue.style||pt.locked!==Ue.locked)&&(Ye.data=Ue);const at=Ye.style;((at==null?void 0:at.width)!==ze.width||(at==null?void 0:at.height)!==ze.height)&&(Ye.style=ze),Ye.draggable!==Fe&&(Ye.draggable=Fe)}else I([{id:Ve,type:"group",position:{...ue.geo.location},draggable:Fe,style:ze,data:Ue}])}for(const ue of S.entities){const Ve=ue.entity.modelId,ze=ue.groupRef&&ee.has(ue.groupRef)?ue.groupRef:void 0,Ue={entity:ue.entity,displayMode:i.displayMode.value,collapsed:ue.collapsed,locked:ue.locked,groupRef:ze,size:ue.geo.size,style:ue.style,attributeStyles:ue.attributeStyles,operationStyles:ue.operationStyles},Fe=ue.locked?!1:void 0,Ye=ue.locked?!1:void 0,pt=ze?V.get(ze):void 0,at=pt?{x:ue.geo.location.x-pt.location.x,y:ue.geo.location.y-pt.location.y}:{...ue.geo.location},Ge=B(Ve);Ge?(se(Ge.position,at)||(Ge.position=at),O(Ge.data,Ue)||(Ge.data=Ue),Ge.parentNode!==ze&&(Ge.parentNode=ze),Ge.draggable!==Fe&&(Ge.draggable=Fe),Ge.connectable!==Ye&&(Ge.connectable=Ye)):I([{id:Ve,type:"entity",position:at,parentNode:ze,draggable:Fe,connectable:Ye,data:Ue}])}for(const ue of S.notes){const Ve=ue.note,ze=Ve.modelId,Ue=ue.groupRef&&ee.has(ue.groupRef)?ue.groupRef:void 0,Fe={note:Ve,groupRef:Ue},Ye={width:`${Ve.geo.size.width}px`,height:`${Ve.geo.size.height}px`},pt=Ue?V.get(Ue):void 0,at=pt?{x:Ve.geo.location.x-pt.location.x,y:Ve.geo.location.y-pt.location.y}:{...Ve.geo.location},Ge=B(ze);if(Ge){se(Ge.position,at)||(Ge.position=at);const ao=Ge.data;(ao.groupRef!==Ue||!L(ao.note,Ve))&&(Ge.data=Fe);const bn=Ge.style;((bn==null?void 0:bn.width)!==Ye.width||(bn==null?void 0:bn.height)!==Ye.height)&&(Ge.style=Ye),Ge.parentNode!==Ue&&(Ge.parentNode=Ue)}else I([{id:ze,type:"note",position:at,parentNode:Ue,style:Ye,data:Fe}])}const ve=new Map(S.associations.map(ue=>[ue.association.modelId,ue])),Me=new Set(S.noteConnections.map(ue=>T(ue.noteRef,ue.targetRef)));for(const ue of[...M.value])!ve.has(ue.id)&&!Me.has(ue.id)&&$([ue.id]);for(const[ue,Ve]of ve){const ze={id:ue,type:"association",source:Ve.association.end1.entityRef,target:Ve.association.end2.entityRef,sourceHandle:Ve.sourceColumnRef?`r:${Ve.sourceColumnRef}`:void 0,targetHandle:Ve.targetColumnRef?`l:${Ve.targetColumnRef}`:void 0,data:{association:Ve.association,sourceColumnRef:Ve.sourceColumnRef,targetColumnRef:Ve.targetColumnRef}},Ue=v(ue);if(Ue){const Fe=Ue.data;(Fe.association!==ze.data.association||Fe.sourceColumnRef!==ze.data.sourceColumnRef||Fe.targetColumnRef!==ze.data.targetColumnRef)&&(Ue.data=ze.data),Ue.sourceHandle!==ze.sourceHandle&&(Ue.sourceHandle=ze.sourceHandle),Ue.targetHandle!==ze.targetHandle&&(Ue.targetHandle=ze.targetHandle)}else E([ze])}for(const ue of S.noteConnections){const Ve=T(ue.noteRef,ue.targetRef),ze={noteRef:ue.noteRef,targetRef:ue.targetRef};v(Ve)||E([{id:Ve,type:"note-connection",source:ue.noteRef,target:ue.targetRef,data:ze}])}}const Q=new Set;let Y=!1,ke=!1;const be=new Map;function Ce(S){const V=document.querySelector(`.vue-flow__node[data-id="${CSS.escape(S)}"]`);if(!V)return null;let ee=`${V.offsetHeight}`;for(const Z of V.querySelectorAll(".em-entity__row"))ee+=`|${Z.dataset.attr}:${Z.offsetTop}`;return ee}function Ie(){ke=!1;const S=Y;Y=!1;const V=[...Q];if(Q.clear(),S){he();for(const Z of A.value){const ve=Ce(Z.id);ve!==null&&be.set(Z.id,ve)}return}const ee=[];for(const Z of V){const ve=Ce(Z);if(ve===null){be.delete(Z);continue}be.get(Z)!==ve&&(be.set(Z,ve),ee.push(Z))}ee.length&&he(ee)}function U(S){if(S)for(const V of S)Q.add(V);else Y=!0;ke||(ke=!0,t.nextTick(()=>requestAnimationFrame(Ie)))}t.provide(ff,{mark:S=>U([S])});function H(){const S=re.value.map(ee=>ee.id);if(S.length)return S;const V=i.selection.value;return V&&(V.kind==="entity"||V.kind==="note"||V.kind==="group")?[V.id]:[]}function q(){return re.value.filter(S=>S.type==="entity").map(S=>S.id)}function xe(){return re.value.filter(S=>S.type==="group").map(S=>S.id)}function De(S){var V;return[...((V=i.state.logical.groups.find(ee=>ee.modelId===S))==null?void 0:V.memberEntityRefs)??[]]}function W(){const S=xe().flatMap(De);return[...new Set([...q(),...S])]}function ne(){return xe().length>0||q().length>1}function G(){ne()?i.copy(W()):i.copy()}async function P(S){if(!S.length)return;await t.nextTick();const V=re.value;V.length&&R.removeSelectedNodes(V);const ee=S.map(Z=>B(Z)).filter(Z=>!!Z);ee.length&&R.addSelectedNodes(ee)}function ae(S){if(ne()&&q().includes(S)){const V=W();return{caption:i.t("em.ctx.copyN",{n:V.length}),icon:"copy",handler:()=>i.copy(V)}}return{caption:i.t("em.ctx.copy"),icon:"copy",handler:()=>{i.selection.value={kind:"entity",id:S},i.copy()}}}function $e(S){var ve;const V=S.target;if(V&&(V.tagName==="INPUT"||V.tagName==="TEXTAREA"||V.isContentEditable))return;if(S.key==="?"){a.openModal({component:Kp,bind:{locale:i.uiLocale.value}}),S.preventDefault();return}if((S.metaKey||S.ctrlKey)&&S.key.toLowerCase()==="k"){r.value=!0,S.preventDefault();return}if(!i.editable.value){(S.metaKey||S.ctrlKey)&&S.key.toLowerCase()==="c"&&(G(),S.preventDefault());return}if(S.key==="Delete"||S.key==="Backspace"){i.deleteSelection()&&S.preventDefault();return}if(S.key==="ArrowUp"||S.key==="ArrowDown"||S.key==="ArrowLeft"||S.key==="ArrowRight"){if(((ve=i.selection.value)==null?void 0:ve.kind)==="attribute"){if(S.key==="ArrowUp"||S.key==="ArrowDown"){const ze=S.key==="ArrowDown"?1:-1;(S.altKey?i.nudgeSelectedAttributes(ze):i.moveAttributeFocus(ze))&&S.preventDefault()}return}const Me=S.shiftKey?10:1,ue=S.key==="ArrowLeft"?-Me:S.key==="ArrowRight"?Me:0,Ve=S.key==="ArrowUp"?-Me:S.key==="ArrowDown"?Me:0;i.nudgeNodes(H(),ue,Ve)&&S.preventDefault();return}if(!(S.metaKey||S.ctrlKey))return;const Z=S.key.toLowerCase();Z==="c"?(G(),S.preventDefault()):Z==="v"?(P(i.paste()),S.preventDefault()):Z==="z"&&(S.shiftKey?i.redo():i.undo(),S.preventDefault())}t.onMounted(async()=>{F(),await t.nextTick(),D(),U(),window.addEventListener("keydown",$e),window.addEventListener("pointerup",le),window.addEventListener("pointermove",p,{passive:!0})}),t.onBeforeUnmount(()=>{window.removeEventListener("keydown",$e),window.removeEventListener("pointerup",le),window.removeEventListener("pointermove",p)});function le(){g.value=null}function j(){m.value=!0,f.value=null}function Xe(){var Z;m.value=!1;const S=(Z=document.elementFromPoint(h.x,h.y))==null?void 0:Z.closest(".vue-flow__node"),V=S==null?void 0:S.dataset.id;if(!V){f.value=null;return}const ee=S.classList.contains("vue-flow__node-group")?"group":S.classList.contains("vue-flow__node-note")?"note":"entity";f.value={kind:ee,id:V}}t.watch([()=>i.resolved.value,()=>i.displayMode.value],F),t.watch(()=>i.resolved.value,S=>{const V=f.value;if(!V)return;(V.kind==="entity"?S.entities.some(Z=>Z.entity.modelId===V.id):V.kind==="group"?S.groups.some(Z=>Z.group.modelId===V.id):S.notes.some(Z=>Z.note.modelId===V.id))||(f.value=null)});function rt(S){const V=S.computedPosition??S.position,ee=S.dimensions??{width:0,height:0};return{x:V.x+ee.width/2,y:V.y+ee.height/2}}function He(S){const V=S.node;if(V){if(f.value=null,V.type==="group"){const ee=i.resolved.value.groups.find(Z=>Z.group.modelId===V.id);b.value=ee?{groupId:V.id,dx:V.position.x-ee.geo.location.x,dy:V.position.y-ee.geo.location.y}:null,g.value=null;return}if(V.type!=="entity"&&V.type!=="note"){g.value=null;return}g.value=ie(rt(V))}}function Pe(S){var Z;g.value=null,b.value=null;const V=(Z=S.nodes)!=null&&Z.length?S.nodes:[S.node],ee=V.filter(ve=>(ve==null?void 0:ve.type)==="group");if(ee.length){for(const ve of ee){if(!ve)continue;const Me=i.resolved.value.entities.filter(ue=>ue.groupRef===ve.id).map(ue=>{const Ve=B(ue.entity.modelId),ze=(Ve==null?void 0:Ve.computedPosition)??(Ve==null?void 0:Ve.position)??{x:0,y:0};return{id:ue.entity.modelId,location:{x:ze.x,y:ze.y}}});i.dragGroup(ve.id,{x:ve.position.x,y:ve.position.y},Me)}return}for(const ve of V){if(!ve||ve.type==="group")continue;const Me=ve.computedPosition??ve.position,ue=ve.dimensions??{width:0,height:0},Ve={x:Me.x+ue.width/2,y:Me.y+ue.height/2};ve.type==="note"?i.dropNote(ve.id,{x:Me.x,y:Me.y},ie(Ve)):i.dropEntity(ve.id,{x:Me.x,y:Me.y},ie(Ve))}}function Oe(S){var ze,Ue,Fe,Ye,pt;if(!i.editable.value||!S.source||!S.target)return;const V=((ze=B(S.source))==null?void 0:ze.type)==="note",ee=((Ue=B(S.target))==null?void 0:Ue.type)==="note";if(V||ee){if(V&&ee)return;const at=V?S.source:S.target,Ge=V?S.target:S.source;((Fe=B(Ge))==null?void 0:Fe.type)==="entity"&&i.addNoteConnection(at,Ge);return}const Z=at=>{var Ge;return(Ge=i.state.logical.entities.find(ao=>ao.modelId===at))==null?void 0:Ge.stereotype},ve=Z(S.source)==="JPA_EMBEDDABLE",Me=Z(S.target)==="JPA_EMBEDDABLE";if(ve||Me){if(ve&&Me)return;const at=ve?S.source:S.target,Ge=ve?S.target:S.source;i.addEmbedAssociation(Ge,at);return}const ue=(Ye=S.sourceHandle)!=null&&Ye.startsWith("r:")?S.sourceHandle.slice(2):void 0,Ve=(pt=S.targetHandle)!=null&&pt.startsWith("l:")?S.targetHandle.slice(2):void 0;i.addAssociation(S.source,S.target,ue,Ve)}const X=t.ref(null);function Nt(S,V){var Z;const ee=i.state.layout.entityLayouts.find(ve=>ve.entityRef===S);return _t((Z=ee==null?void 0:ee.attributeStyles)==null?void 0:Z[V])}function Et(S,V){var Z;const ee=i.state.layout.entityLayouts.find(ve=>ve.entityRef===S);return _t((Z=ee==null?void 0:ee.operationStyles)==null?void 0:Z[V])}function hn(S){var V;return _t((V=i.state.layout.groupLayouts.find(ee=>ee.groupRef===S))==null?void 0:V.style)}function yn(S){var V;return _t((V=i.state.layout.notes.find(ee=>ee.modelId===S))==null?void 0:V.style)}function Ee(S){var ve,Me;if(S.preventDefault(),!i.editable.value)return;const V=()=>J({x:S.clientX,y:S.clientY}),ee=[{caption:i.t("em.ctx.addEntity"),icon:"add-entity",handler:()=>{const ue=V();i.addEntity("NewEntity",{x:ue.x,y:ue.y})}},{caption:i.t("em.ctx.addNote"),icon:"note",handler:()=>{const ue=V();i.addNote("메모",{x:ue.x,y:ue.y})}},{caption:i.t("em.ctx.addGroup"),icon:"folder",handler:()=>{const ue=V();i.addEmptyGroup({x:ue.x,y:ue.y})}}],Z=(ve=i.clipboard.value)==null?void 0:ve.kind;(Z==="entity"||Z==="entities")&&ee.push({caption:i.t("em.ctx.paste"),icon:"clipboard",handler:()=>P(i.paste())}),i.resolved.value.entities.length>0&&ee.push({type:"separator"},{caption:i.t("em.panel.collapseAll"),icon:"collapse-all",handler:()=>i.collapseAll()},{caption:i.t("em.panel.expandAll"),icon:"expand-all",handler:()=>i.expandAll()}),(Me=X.value)==null||Me.open(S,ee)}function nt({event:S,node:V}){var ze,Ue,Fe,Ye,pt,at,Ge,ao,bn,Xp,Zp,Qp,eh,th,nh,oh,ih,ah,rh;const ee=S;if(ee.preventDefault(),!i.editable.value){if(V.type==="group"||V.type==="note")return;const qe=(Ue=(ze=ee.target)==null?void 0:ze.closest("[data-attr]"))==null?void 0:Ue.dataset.attr;if(qe){const lt=i.selection.value;(lt==null?void 0:lt.kind)==="attribute"&&lt.entityId===V.id&&lt.ids.includes(qe)||i.selectAttribute(V.id,qe);const _n=((Fe=i.selection.value)==null?void 0:Fe.kind)==="attribute"&&i.selection.value.entityId===V.id?[...i.selection.value.ids]:[qe];(Ye=X.value)==null||Ye.open(ee,[{caption:_n.length>1?i.t("em.ctx.copyN",{n:_n.length}):i.t("em.ctx.copy"),icon:"copy",handler:()=>i.copy()}]);return}(pt=X.value)==null||pt.open(ee,[{caption:i.t("em.ctx.editDetail"),icon:"pencil",handler:()=>Ga(a,i,V.id)},ae(V.id)]);return}if(V.type==="group"){const qe=i.isGroupLocked(V.id),lt=[];qe||lt.push({type:"swatches",caption:i.t("em.common.color"),current:hn(V.id),onPick:_n=>i.setGroupSwatch(V.id,_n)},{type:"separator"});const ht=ne()&&xe().includes(V.id)?W():De(V.id);ht.length&&lt.push({caption:i.t("em.ctx.copy"),icon:"copy",handler:()=>i.copy(ht)}),lt.push({caption:qe?i.t("em.panel.unlock"):i.t("em.ctx.lock"),icon:qe?"unlock":"lock",handler:()=>i.setGroupLocked(V.id,!qe)}),qe||lt.push({type:"separator"},{caption:i.t("em.ctx.ungroup"),icon:"trash",danger:!0,handler:()=>i.removeGroup(V.id)}),(at=X.value)==null||at.open(ee,lt);return}if(V.type==="note"){(Ge=X.value)==null||Ge.open(ee,[{type:"swatches",caption:i.t("em.common.color"),current:yn(V.id),onPick:qe=>i.setNoteSwatch(V.id,qe)},{type:"separator"},{caption:i.t("em.ctx.deleteNote"),icon:"trash",danger:!0,handler:()=>i.removeNote(V.id)}]);return}const Z=(bn=(ao=ee.target)==null?void 0:ao.closest("[data-attr]"))==null?void 0:bn.dataset.attr;if(Z){const qe=i.selection.value;(qe==null?void 0:qe.kind)==="attribute"&&qe.entityId===V.id&&qe.ids.includes(Z)||i.selectAttribute(V.id,Z);const ht=((Xp=i.selection.value)==null?void 0:Xp.kind)==="attribute"&&i.selection.value.entityId===V.id?[...i.selection.value.ids]:[Z];if(i.isEntityLocked(V.id)){(Zp=X.value)==null||Zp.open(ee,[{caption:ht.length>1?i.t("em.ctx.copyN",{n:ht.length}):i.t("em.ctx.copy"),icon:"copy",handler:()=>i.copy()}]);return}const _n=ht.length>1,ks=[{caption:i.t("em.ctx.addAttr"),icon:"field",handler:()=>i.addAttribute(V.id)},{type:"swatches",caption:_n?i.t("em.ctx.colorN",{n:ht.length}):i.t("em.common.color"),current:_n?null:Nt(V.id,Z),onPick:RB=>i.setAttributeSwatches(V.id,ht,RB)},{type:"separator"},{caption:_n?i.t("em.ctx.copyN",{n:ht.length}):i.t("em.ctx.copy"),icon:"copy",handler:()=>i.copy()}],Ti=i.clipboard.value;(Ti==null?void 0:Ti.kind)==="attribute"&&ks.push({caption:Ti.attributes.length>1?i.t("em.ctx.pasteAttrN",{n:Ti.attributes.length}):i.t("em.ctx.pasteAttr"),icon:"clipboard",handler:()=>{i.selection.value={kind:"entity",id:V.id},i.paste()}}),ks.push({type:"separator"},{caption:_n?i.t("em.ctx.deleteAttrN",{n:ht.length}):i.t("em.ctx.deleteAttr"),icon:"trash",danger:!0,handler:()=>i.removeAttributes(V.id,ht)}),(Qp=X.value)==null||Qp.open(ee,ks);return}const ve=(th=(eh=ee.target)==null?void 0:eh.closest("[data-op]"))==null?void 0:th.dataset.op;if(ve){if(i.isEntityLocked(V.id))return;(nh=X.value)==null||nh.open(ee,[{caption:i.t("em.ctx.addOperation"),icon:"method",handler:()=>i.addOperation(V.id)},{type:"swatches",caption:i.t("em.common.color"),current:Et(V.id,ve),onPick:qe=>i.setOperationSwatch(V.id,ve,qe)},{type:"separator"},{caption:i.t("em.ctx.deleteOperation"),icon:"trash",danger:!0,handler:()=>i.removeOperation(V.id,ve)}]);return}const Me=i.resolved.value.entities.find(qe=>qe.entity.modelId===V.id),ue=!!(Me!=null&&Me.locked),Ve=[{caption:ue?i.t("em.ctx.viewDetail"):i.t("em.ctx.editDetail"),icon:"pencil",handler:()=>Ga(a,i,V.id)}];if(!ue){Ve.push({type:"separator"},{caption:i.t("em.ctx.addAttr"),icon:"field",handler:()=>i.addAttribute(V.id)},{caption:i.t("em.ctx.addMethod"),icon:"method",handler:()=>i.addOperation(V.id)},{caption:i.t("em.ctx.groupInto"),icon:"folder",handler:()=>{const lt=re.value.filter(ht=>ht.type==="entity").map(ht=>ht.id);i.createGroup(lt.includes(V.id)&&lt.length?lt:[V.id])}},{caption:i.t("em.ctx.addSelfAssoc"),icon:"arrow-lr",handler:()=>i.addAssociation(V.id,V.id)});const qe=i.embeddableCatalog.value;if(qe.length){Ve.push({type:"separator"});for(const lt of qe){const ht=((oh=lt.label)==null?void 0:oh[i.userLanguage.value])??((ih=lt.label)==null?void 0:ih.ko)??((ah=lt.label)==null?void 0:ah.en)??lt.type;Ve.push({caption:i.t("em.ctx.addEmbeddableNamed",{label:ht}),icon:"link",handler:()=>i.addPredefinedEmbed(V.id,lt.type)})}}}if(Ve.push({type:"separator"}),Ve.push({caption:Me!=null&&Me.collapsed?i.t("em.panel.expand"):i.t("em.panel.collapse"),icon:Me!=null&&Me.collapsed?"expand-all":"collapse-all",handler:()=>i.setEntityCollapsed(V.id,!(Me!=null&&Me.collapsed))}),Me!=null&&Me.groupRef&&!ue&&Ve.push({caption:i.t("em.ctx.ungroupEntity"),icon:"folder",handler:()=>i.ungroupEntity(V.id)}),Ve.push({caption:ue?i.t("em.panel.unlock"):i.t("em.ctx.lock"),icon:ue?"unlock":"lock",handler:()=>i.setEntityLocked(V.id,!ue)}),Ve.push(ae(V.id)),!ue){const qe=i.clipboard.value;(qe==null?void 0:qe.kind)==="attribute"&&Ve.push({caption:qe.attributes.length>1?i.t("em.ctx.pasteAttrN",{n:qe.attributes.length}):i.t("em.ctx.pasteAttr"),icon:"clipboard",handler:()=>{i.selection.value={kind:"entity",id:V.id},i.paste()}}),Ve.push({type:"separator"}),Ve.push({caption:i.t("em.ctx.deleteEntity"),icon:"trash",danger:!0,handler:()=>i.removeEntity(V.id)})}(rh=X.value)==null||rh.open(ee,Ve)}function mt({event:S,edge:V}){var Me,ue;const ee=S;if(ee.preventDefault(),!i.editable.value)return;const Z=C(V.id);if(Z){(Me=X.value)==null||Me.open(ee,[{caption:i.t("em.ctx.clearWaypoints"),icon:"route",handler:()=>i.clearNoteConnectionWaypoints(Z.noteRef,Z.targetRef)},{type:"separator"},{caption:i.t("em.ctx.deleteConnection"),icon:"trash",danger:!0,handler:()=>i.removeNoteConnection(Z.noteRef,Z.targetRef)}]);return}const ve=[{caption:i.t("em.ctx.clearWaypoints"),icon:"route",handler:()=>i.clearWaypoints(V.id)}];i.isAssociationLocked(V.id)||ve.push({type:"separator"},{caption:i.t("em.ctx.deleteAssociation"),icon:"trash",danger:!0,handler:()=>i.removeAssociation(V.id)}),(ue=X.value)==null||ue.open(ee,ve)}function Ft(S){return S==="group"?"group":S==="note"?"note":"entity"}function Zt({node:S}){if(re.value.length>1){i.selection.value=null;return}i.selection.value={kind:Ft(S.type),id:S.id}}function Qt({nodes:S}){S.length>1&&(i.selection.value=null)}function we({edge:S}){const V=C(S.id);i.selection.value=V?{kind:"note",id:V.noteRef}:{kind:"association",id:S.id}}function et(S){const V=i.selection.value;return!!V&&V.kind!=="attribute"&&V.id===S.id}function ft(S){var V,ee;return et(S)?S.type==="group"?"color-mix(in srgb, var(--em-selection) 22%, transparent)":"var(--em-selection)":S.type==="note"?"var(--em-note-soft)":S.type==="group"?Wm(_t((V=S.data)==null?void 0:V.style),!0)??"var(--em-mm-group)":Wm(_t((ee=S.data)==null?void 0:ee.style))??"var(--em-mm-entity)"}function gn(S){return et(S)?"var(--em-selection)":S.type==="note"?"var(--em-note-accent)":S.type==="group"?"var(--em-node-border)":"var(--em-on-surface-muted)"}function ot(S,V){z(S,V,{zoom:K().zoom,duration:350})}t.watch(()=>i.focusRequest.value,S=>{if(!S)return;const V=B(S.id);if(!V)return;const ee=V.computedPosition??V.position,Z=V.dimensions??{width:0,height:0};ot(ee.x+Z.width/2,ee.y+Z.height/2)});function zo({position:S}){ot(S.x,S.y)}function Fo({node:S}){i.selection.value={kind:Ft(S.type),id:S.id};const V=S.computedPosition??S.position,ee=S.dimensions??{width:0,height:0};ot(V.x+ee.width/2,V.y+ee.height/2)}function oe({node:S}){D({nodes:[S.id],duration:350,maxZoom:1.2,padding:.6})}return(S,V)=>(t.openBlock(),t.createElementBlock("div",{tabindex:"-1",class:t.normalizeClass(["em-canvas",{"is-connecting":u.value,"is-panning":m.value}])},[t.createVNode(t.unref(BN),{"min-zoom":.2,"max-zoom":2,"only-render-visible-elements":!ce.value,"delete-key-code":null,"disable-keyboard-a11y":!0,"nodes-focusable":!1,"edges-focusable":!1,"nodes-draggable":t.unref(i).editable.value,"nodes-connectable":t.unref(i).editable.value,"connection-mode":t.unref(sn).Loose,"pan-on-scroll":"","zoom-on-scroll":!1,"zoom-on-pinch":!0,"zoom-on-double-click":!1,"zoom-activation-key-code":["Meta","Control"],onMoveStart:j,onMoveEnd:Xe,onConnect:Oe,onConnectStart:V[1]||(V[1]=ee=>u.value=!0),onConnectEnd:V[2]||(V[2]=ee=>u.value=!1),onNodeDrag:He,onNodeDragStop:Pe,onNodeClick:Zt,onEdgeClick:we,onSelectionChange:Qt,onPaneClick:V[3]||(V[3]=ee=>t.unref(i).selection.value=null),onPaneContextMenu:Ee,onNodeContextMenu:nt,onEdgeContextMenu:mt},{"node-group":t.withCtx(ee=>[t.createVNode(wf,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),"node-entity":t.withCtx(ee=>[t.createVNode(Nf,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),"node-note":t.withCtx(ee=>[t.createVNode(vf,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),"edge-association":t.withCtx(ee=>[t.createVNode(Kf,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),"edge-note-connection":t.withCtx(ee=>[t.createVNode(xA,t.normalizeProps(t.guardReactiveProps(ee)),null,16)]),default:t.withCtx(()=>[t.unref(i).showGrid.value?(t.openBlock(),t.createBlock(t.unref(pC),{key:0,gap:16,"pattern-color":"var(--em-border)"})):t.createCommentVNode("",!0),t.createVNode(t.unref(zC),{"show-interactive":!1,position:"bottom-left"},{default:t.withCtx(()=>[t.unref(i).editable.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(t.unref(to),{class:"em-palette__group-start",title:t.unref(i).t("em.ctx.addEntity"),onClick:me},{default:t.withCtx(()=>[t.createVNode(Ae,{name:"add-entity",size:14})]),_:1},8,["title"]),t.createVNode(t.unref(to),{title:t.unref(i).t("em.ctx.addNote"),onClick:ye},{default:t.withCtx(()=>[t.createVNode(Ae,{name:"note",size:14})]),_:1},8,["title"]),t.createVNode(t.unref(to),{title:t.unref(i).t("em.palette.autoLayout"),onClick:V[0]||(V[0]=ee=>t.unref(i).autoLayout())},{default:t.withCtx(()=>[t.createVNode(Ae,{name:"auto-layout",size:14})]),_:1},8,["title"])],64)):t.createCommentVNode("",!0)]),_:1}),t.unref(i).showMinimap.value?(t.openBlock(),t.createBlock(t.unref(NA),{key:1,pannable:"",width:224,height:160,"node-color":ft,"node-stroke-color":gn,"node-border-radius":4,"node-stroke-width":2,"mask-color":"var(--em-minimap-mask)","mask-stroke-color":"var(--em-accent)","mask-stroke-width":1.5,"mask-border-radius":4,"offset-scale":3,onClick:zo,onNodeClick:Fo,onNodeDblclick:oe})):t.createCommentVNode("",!0)]),_:1},8,["only-render-visible-elements","nodes-draggable","nodes-connectable","connection-mode"]),_e.value?(t.openBlock(),t.createElementBlock("div",yT,[t.unref(i).editable.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("p",gT,t.toDisplayString(t.unref(i).t("em.canvas.emptyTitle")),1),t.createElementVNode("p",{class:"em-canvas__empty-hint",innerHTML:t.unref(i).t("em.canvas.emptyHint")},null,8,bT),t.createElementVNode("p",{class:"em-canvas__empty-hint",innerHTML:t.unref(i).t("em.canvas.emptyConnectHint")},null,8,_T),t.createElementVNode("p",{class:"em-canvas__empty-hint em-canvas__empty-sub",innerHTML:t.unref(i).t("em.canvas.emptyShortcutHint")},null,8,kT)],64)):(t.openBlock(),t.createElementBlock("p",ET,t.toDisplayString(t.unref(i).t("em.canvas.emptyReadonly")),1))])):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(pT,{key:1,controller:t.unref(i),onClose:V[4]||(V[4]=ee=>r.value=!1)},null,8,["controller"])):t.createCommentVNode("",!0),t.createVNode(t.Transition,{name:"em-conflict-fade"},{default:t.withCtx(()=>[d.value?(t.openBlock(),t.createElementBlock("div",NT,[t.createVNode(Ae,{name:"alert-triangle",size:16,class:"em-conflict-banner__icon"}),t.createElementVNode("div",wT,[t.createElementVNode("strong",vT,t.toDisplayString(d.value.title),1),t.createElementVNode("span",IT,t.toDisplayString(d.value.detail),1)])])):t.createCommentVNode("",!0)]),_:1}),t.createVNode(LA,{ref_key:"menuRef",ref:X,locale:t.unref(i).uiLocale.value},null,8,["locale"]),(t.openBlock(),t.createBlock(t.Teleport,{to:"body"},[t.createVNode(t.Transition,{name:"em-toast-fade"},{default:t.withCtx(()=>[l.value?(t.openBlock(),t.createElementBlock("div",xT,t.toDisplayString(l.value),1)):t.createCommentVNode("",!0)]),_:1})]))],2))}}),[["__scopeId","data-v-03d6bf61"]]),CT={class:"em-explorer em-scroll-overlay"},ST={class:"em-explorer__search"},$T=["placeholder","aria-label"],RT=["aria-label","title"],AT={key:0,class:"em-explorer__empty"},TT=["aria-label"],MT=["data-key","aria-level","aria-posinset","aria-setsize","aria-expanded","aria-selected","tabindex","onClick","onDblclick","onFocus","onKeydown"],VT=["onClick"],BT=["title"],DT={class:"em-key-slot"},LT={class:"em-key-slot"},OT={class:"em-explorer__label"},PT={key:2,class:"em-explorer__sr"},Yp=Ke(t.defineComponent({__name:"DiagramExplorer",props:{controller:{},storageKey:{}},setup(e,{expose:n}){const o=e,i=o.controller,a=te.useModal(),r=t.computed(()=>{var _e,Se;const I=i.resolved.value,E=i.displayMode.value,w=i.userLanguage.value,$=me=>{var ye,ie,se;return Di(E,me.name,(ie=(ye=me.table)==null?void 0:ye.logicalName)==null?void 0:ie[w],(se=me.table)==null?void 0:se.physicalName,i.t("em.node.logicalMissing"))},D=E==="PHYSICAL"||E==="LOGICAL_PHYSICAL",z=me=>{const ye=me.attrType.startsWith("RELATION")&&me.dbAttrs.length>0;return{icon:me.attrType.startsWith("RELATION")?"link":"field",keyMarks:{pk:me.identifier,fk:ye&&D}}},K=me=>me.attrType.startsWith("EMBED")&&me.dbAttrs.length>0,J=E==="PHYSICAL"||E==="LOGICAL_PHYSICAL",re=me=>{if(me.attrType!=="EMBED_PREDEF")return me.dbAttrs;const ye=i.embeddableCatalog.value.find(ie=>ie.type===me.type);return ye?me.dbAttrs.map((ie,se)=>{const fe=ye.fields[se];return fe?{...ie,physicalName:ie.physicalName||fe.physicalName,logicalName:ie.logicalName??fe.logicalName,dataType:ie.dataType||fe.dataType,length:ie.length??fe.length}:ie}):me.dbAttrs},he=(me,ye)=>{var O,L,F,Q,Y,ke,be,Ce,Ie;const ie={entityId:ye,attrId:me.modelId};if(K(me)){const U=Sr(E,me);return{key:`attr:${me.modelId}`,label:me.name+(U?` : ${U}`:""),icon:"table",attrRef:ie,focusId:ye,matchText:Po(me.name,(L=(O=me.dbAttrs[0])==null?void 0:O.logicalName)==null?void 0:L[w],(F=me.dbAttrs[0])==null?void 0:F.physicalName),children:J?re(me).map(H=>{var q,xe;return{key:`attr:${me.modelId}:col:${H.modelId}`,label:Di(E,H.physicalName,(q=H.logicalName)==null?void 0:q[w],H.physicalName,i.t("em.node.logicalMissing"))+(H.dataType?` : ${H.dataType}`:""),icon:"field",attrRef:ie,focusId:ye,matchText:Po(H.physicalName,(xe=H.logicalName)==null?void 0:xe[w]),children:[]}}):[]}}const se=Cr(me,i.state.logical.associations),fe=Sr(E,me,se);return{key:`attr:${me.modelId}`,label:Di(E,me.name,(Y=(Q=me.dbAttrs[0])==null?void 0:Q.logicalName)==null?void 0:Y[w],(ke=me.dbAttrs[0])==null?void 0:ke.physicalName,i.t("em.node.logicalMissing"))+(fe?` : ${fe}`:""),...z(me),attrRef:ie,focusId:ye,matchText:Po(me.name,(Ce=(be=me.dbAttrs[0])==null?void 0:be.logicalName)==null?void 0:Ce[w],(Ie=me.dbAttrs[0])==null?void 0:Ie.physicalName),children:[]}},ce=me=>{var se,fe,O;const ye=me.entity,ie=[...ye.attributes].sort((L,F)=>L.order-F.order);return{key:`entity:${ye.modelId}`,label:$(ye),icon:"table",selectKind:"entity",selectId:ye.modelId,focusId:ye.modelId,matchText:Po(ye.name,(fe=(se=ye.table)==null?void 0:se.logicalName)==null?void 0:fe[w],(O=ye.table)==null?void 0:O.physicalName),children:ie.map(L=>he(L,ye.modelId))}},Ne=new Map,pe=[];for(const me of I.entities)if(me.groupRef){const ye=Ne.get(me.groupRef)??[];ye.push(me),Ne.set(me.groupRef,ye)}else pe.push(me);const de=[];for(const me of I.groups){const ye=me.group;de.push({key:`group:${ye.modelId}`,label:((_e=ye.name)==null?void 0:_e[w])||((Se=ye.name)==null?void 0:Se.ko)||ye.packageName||i.t("em.explorer.groupFallback"),icon:"folder",focusId:ye.modelId,children:(Ne.get(ye.modelId)??[]).map(ce)})}for(const me of pe)de.push(ce(me));if(I.associations.length){const me=new Map(I.entities.map(ye=>[ye.entity.modelId,$(ye.entity)]));de.push({key:"section:associations",label:i.t("em.explorer.associations",{n:I.associations.length}),icon:"arrow-lr",children:I.associations.map(ye=>{const ie=ye.association,se=me.get(ie.end1.entityRef)??ie.end1.entityRef,fe=me.get(ie.end2.entityRef)??ie.end2.entityRef;return{key:`assoc:${ie.modelId}`,label:`${se} — ${fe}`,icon:"arrow-lr",selectKind:"association",selectId:ie.modelId,children:[]}})})}return I.notes.length&&de.push({key:"section:notes",label:i.t("em.explorer.notes",{n:I.notes.length}),icon:"note",children:I.notes.map(({note:me})=>{var ye;return{key:`note:${me.modelId}`,label:((ye=me.memo.split(`
66
+ `)[0])==null?void 0:ye.slice(0,30))||i.t("em.explorer.emptyNote"),icon:"note",selectKind:"note",selectId:me.modelId,focusId:me.modelId,children:[]}})}),{key:"root",label:i.state.layout.name||i.t("em.explorer.diagram"),icon:"network",children:de}});function l(I){return I?I.pk&&I.fk?i.t("em.node.keyPfk"):I.pk?i.t("em.node.keyPk"):I.fk?i.t("em.node.keyFk"):"":""}const s=t.computed(()=>{const I=[],E=w=>{if(w.children.length){w.key!=="root"&&I.push(w.key);for(const $ of w.children)E($)}};return E(r.value),I}),c=I=>I.startsWith("entity:")||I==="section:associations",{isCollapsed:d,toggle:u,toggleAll:m,allExpanded:h}=zp({expandableKeys:()=>s.value,defaultCollapsed:c,storageKey:o.storageKey,scope:()=>i.state.layout.diagramId}),p=t.ref(""),g=t.ref(null),b=t.computed(()=>p.value.trim().length>0),f=t.computed(()=>{const I=[];if(b.value){const w=QA(r.value,p.value.trim().toLowerCase()),$=(D,z,K,J,re)=>{if(!w.has(D.key))return;I.push({node:D,depth:z,parentKey:K,posinset:J,setsize:re});const he=D.children.filter(ce=>w.has(ce.key));he.forEach((ce,Ne)=>$(ce,z+1,D.key,Ne+1,he.length))};return $(r.value,0,null,1,1),I}const E=(w,$,D,z,K)=>{I.push({node:w,depth:$,parentKey:D,posinset:z,setsize:K}),d(w.key)||w.children.forEach((J,re)=>E(J,$+1,w.key,re+1,w.children.length))};return E(r.value,0,null,1,1),I}),y=t.ref(null),k=t.ref(null),_=t.computed(()=>{var E;const I=f.value;return k.value&&I.some(w=>w.node.key===k.value)?k.value:((E=I[0])==null?void 0:E.node.key)??null}),N=I=>!b.value&&d(I);async function x(I){var E,w;I&&(k.value=I,await t.nextTick(),(w=(E=y.value)==null?void 0:E.querySelector(`[data-key="${I}"]`))==null||w.focus())}function T(I,E){var D,z,K,J,re;const w=f.value,$=w.findIndex(he=>he.node.key===E.node.key);switch(I.key){case"ArrowDown":I.preventDefault(),x((D=w[$+1])==null?void 0:D.node.key);return;case"ArrowUp":I.preventDefault(),x((z=w[$-1])==null?void 0:z.node.key);return;case"Home":I.preventDefault(),x((K=w[0])==null?void 0:K.node.key);return;case"End":I.preventDefault(),x((J=w[w.length-1])==null?void 0:J.node.key);return;case"ArrowRight":if(I.preventDefault(),!E.node.children.length)return;N(E.node.key)?u(E.node.key):x((re=w[$+1])==null?void 0:re.node.key);return;case"ArrowLeft":I.preventDefault(),E.node.children.length&&!N(E.node.key)?u(E.node.key):x(E.parentKey);return;case"Enter":case" ":I.preventDefault(),B(E.node,I);return;case"F2":I.preventDefault(),v(E.node)}}const C=t.computed(()=>b.value&&f.value.length<=1);function R(I){var $;if(I.key!=="/"||I.metaKey||I.ctrlKey||I.altKey||I.shiftKey)return;const E=I.target,w=E==null?void 0:E.tagName;w==="INPUT"||w==="TEXTAREA"||w==="SELECT"||E!=null&&E.isContentEditable||(I.preventDefault(),($=g.value)==null||$.focus())}t.onMounted(()=>window.addEventListener("keydown",R)),t.onBeforeUnmount(()=>window.removeEventListener("keydown",R)),n({toggleAll:m,allExpanded:h,hasExpandable:t.computed(()=>s.value.length>0)});function A(I){const E=i.selection.value;return I.attrRef?(E==null?void 0:E.kind)==="attribute"&&E.entityId===I.attrRef.entityId&&E.ids.includes(I.attrRef.attrId):!!E&&E.kind!=="attribute"&&!!I.selectId&&I.selectKind===E.kind&&I.selectId===E.id}function M(I){const E=i.selection.value;return I.selectKind==="entity"&&(E==null?void 0:E.kind)==="attribute"&&E.entityId===I.selectId}function B(I,E){if(I.attrRef){const w=E.shiftKey?"range":E.metaKey||E.ctrlKey?"toggle":"replace";i.selectAttribute(I.attrRef.entityId,I.attrRef.attrId,w)}else I.selectKind&&I.selectId&&(i.selection.value={kind:I.selectKind,id:I.selectId});I.focusId&&i.requestFocus(I.focusId)}function v(I){I.selectKind==="entity"&&I.selectId&&Ga(a,i,I.selectId)}return(I,E)=>(t.openBlock(),t.createElementBlock("section",CT,[t.createElementVNode("div",ST,[t.createVNode(Ae,{name:"search",size:14,class:"em-explorer__search-icon"}),t.withDirectives(t.createElementVNode("input",{ref_key:"searchInput",ref:g,"onUpdate:modelValue":E[0]||(E[0]=w=>p.value=w),class:"em-explorer__search-input",type:"text",placeholder:t.unref(i).t("em.explorer.searchPlaceholder"),"aria-label":t.unref(i).t("em.explorer.searchAria"),onKeydown:E[1]||(E[1]=t.withKeys(w=>p.value="",["esc"]))},null,40,$T),[[t.vModelText,p.value]]),p.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-explorer__search-clear","aria-label":t.unref(i).t("em.explorer.clearSearchAria"),title:t.unref(i).t("em.explorer.clearSearchTitle"),onClick:E[2]||(E[2]=w=>p.value="")},[t.createVNode(Ae,{name:"x",size:13})],8,RT)):t.createCommentVNode("",!0)]),C.value?(t.openBlock(),t.createElementBlock("p",AT,t.toDisplayString(t.unref(i).t("em.explorer.noMatches")),1)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"rowsEl",ref:y,class:"em-explorer__rows",role:"tree","aria-label":t.unref(i).t("em.explorer.treeAria")},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,w=>(t.openBlock(),t.createElementBlock("div",{key:w.node.key,class:t.normalizeClass(["em-explorer__row",{"is-active":A(w.node),"is-focus-parent":M(w.node),"is-selectable":!!w.node.selectKind||!!w.node.attrRef||!!w.node.focusId}]),"data-key":w.node.key,role:"treeitem","aria-level":w.depth+1,"aria-posinset":w.posinset,"aria-setsize":w.setsize,"aria-expanded":w.node.children.length?!N(w.node.key):void 0,"aria-selected":A(w.node),tabindex:w.node.key===_.value?0:-1,style:t.normalizeStyle({paddingLeft:4+w.depth*14+"px"}),onClick:$=>B(w.node,$),onDblclick:$=>v(w.node),onFocus:$=>k.value=w.node.key,onKeydown:$=>T($,w)},[t.createElementVNode("span",{class:t.normalizeClass(["em-explorer__chevron",{"is-leaf":!w.node.children.length,"is-open":!N(w.node.key)}]),onClick:t.withModifiers($=>w.node.children.length&&t.unref(u)(w.node.key),["stop"])},[w.node.children.length?(t.openBlock(),t.createBlock(Ae,{key:0,name:"chevron",size:14})):t.createCommentVNode("",!0)],10,VT),w.node.keyMarks?(t.openBlock(),t.createElementBlock("span",{key:0,class:"em-explorer__keys",title:l(w.node.keyMarks),"aria-hidden":"true"},[t.createElementVNode("span",DT,[w.node.keyMarks.pk?(t.openBlock(),t.createBlock(Ae,{key:0,name:"key",size:14,class:"em-key is-pk"})):w.node.keyMarks.fk?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Ae,{key:1,class:"em-explorer__icon",name:w.node.icon,size:14},null,8,["name"]))]),t.createElementVNode("span",LT,[w.node.keyMarks.fk?(t.openBlock(),t.createBlock(Ae,{key:0,name:"key",size:14,class:"em-key is-fk"})):t.createCommentVNode("",!0)])],8,BT)):(t.openBlock(),t.createBlock(Ae,{key:1,class:"em-explorer__icon",name:w.node.icon,size:15},null,8,["name"])),t.createElementVNode("span",OT,t.toDisplayString(w.node.label),1),l(w.node.keyMarks)?(t.openBlock(),t.createElementBlock("span",PT,t.toDisplayString(l(w.node.keyMarks)),1)):t.createCommentVNode("",!0)],46,MT))),128))],8,TT)]))}}),[["__scopeId","data-v-e5303c65"]]),zT={class:"em-text-export"},FT=["id","aria-selected","tabindex","onClick"],UT=["aria-labelledby"],HT={class:"em-text-export__actions"},jT=Ke(t.defineComponent({__name:"TextExportModal",props:{formats:{},title:{},locale:{}},setup(e){const n=e,o=te.useModalHandle(),i=(m,h)=>Lt(n.locale??"ko",m,h),a=t.ref(0);function r(){return n.formats[a.value]??n.formats[0]}const l=t.ref(null);async function s(m){var h,p;a.value=m,await t.nextTick(),(p=(h=l.value)==null?void 0:h.querySelectorAll('[role="tab"]')[m])==null||p.focus()}function c(m){const h=n.formats.length;h&&s((a.value+m+h)%h)}async function d(){try{await navigator.clipboard.writeText(r().content),te.showNotification(i("em.export.copied"),"info")}catch{te.showNotification(i("em.export.copyFailed"),"error")}}function u(){const m=r(),h=new Blob([m.content],{type:"text/plain;charset=utf-8"}),p=URL.createObjectURL(h);try{const g=document.createElement("a");g.href=p,g.download=m.filename,document.body.appendChild(g),g.click(),g.remove()}finally{URL.revokeObjectURL(p)}}return(m,h)=>(t.openBlock(),t.createBlock(t.unref(te.BSModalFrame),{title:n.title??i("em.export.title")},{default:t.withCtx(()=>[t.createElementVNode("div",zT,[n.formats.length>1?(t.openBlock(),t.createElementBlock("div",{key:0,ref_key:"tabsEl",ref:l,class:"em-text-export__tabs",role:"tablist"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.formats,(p,g)=>(t.openBlock(),t.createElementBlock("button",{id:`em-text-export-tab-${g}`,key:p.key,type:"button",role:"tab",class:t.normalizeClass(["em-text-export__tab",{"is-active":g===a.value}]),"aria-selected":g===a.value,"aria-controls":"em-text-export-panel",tabindex:g===a.value?0:-1,onClick:b=>a.value=g,onKeydown:[h[0]||(h[0]=t.withKeys(t.withModifiers(b=>c(-1),["prevent"]),["left"])),h[1]||(h[1]=t.withKeys(t.withModifiers(b=>c(1),["prevent"]),["right"])),h[2]||(h[2]=t.withKeys(t.withModifiers(b=>s(0),["prevent"]),["home"])),h[3]||(h[3]=t.withKeys(t.withModifiers(b=>s(n.formats.length-1),["prevent"]),["end"]))]},t.toDisplayString(p.label),43,FT))),128))],512)):t.createCommentVNode("",!0),t.createElementVNode("pre",{id:"em-text-export-panel",class:"em-text-export__pre",role:"tabpanel",tabindex:"0","aria-labelledby":n.formats.length>1?`em-text-export-tab-${a.value}`:void 0},t.toDisplayString(r().content),9,UT),t.createElementVNode("div",HT,[t.createVNode(t.unref(te.BSButton),{caption:i("em.export.copy"),onClick:d},null,8,["caption"]),t.createVNode(t.unref(te.BSButton),{caption:i("em.export.download"),onClick:u},null,8,["caption"]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:i("em.common.close"),onClick:h[4]||(h[4]=p=>t.unref(o).close())},null,8,["caption"])])])]),_:1},8,["title"]))}}),[["__scopeId","data-v-74551f98"]]),KT={class:"em-text-import"},GT=["aria-label"],YT=["aria-checked","tabindex","onClick"],qT=["placeholder"],WT={class:"em-text-import__status"},JT={class:"em-text-import__ok"},XT={key:0,class:"em-text-import__warn"},ZT={key:1,class:"em-text-import__err"},QT={key:2,class:"em-text-import__err"},e2={key:3,class:"em-text-import__err"},t2={class:"em-text-import__actions"},n2=Ke(t.defineComponent({__name:"TextImportModal",props:{onImport:{type:Function},locale:{}},setup(e){const n=e,o=te.useModalHandle(),i=(b,f)=>Lt(n.locale??"ko",b,f),a=t.ref(""),r=t.ref("auto"),l=[{key:"auto",labelKey:"em.import.formatAuto"},{key:"mermaid",labelKey:"em.import.formatMermaid"},{key:"ddl",labelKey:"em.import.formatDdl"},{key:"json",labelKey:"em.import.formatJson"}],s=t.ref(null);async function c(b){var y,k;const f=l[(b+l.length)%l.length];f&&(r.value=f.key,await t.nextTick(),(k=(y=s.value)==null?void 0:y.querySelectorAll('[role="radio"]')[l.indexOf(f)])==null||k.focus())}function d(b){c(l.findIndex(f=>f.key===r.value)+b)}function u(b){return b?b.startsWith("{")?"json":/\berdiagram\b/i.test(b)?"mermaid":/\bcreate\s+table\b/i.test(b)?"ddl":null:null}const m=t.computed(()=>r.value==="auto"?u(a.value.trim()):r.value),h=t.computed(()=>{const b=a.value.trim();if(!b)return{status:"empty"};const f=m.value;if(!f)return{status:"unknown"};try{let y,k=[];return f==="json"?y=Xs(b):f==="mermaid"?y=Us(b):(y=Gs(b),k=$r(b).warnings),y.logical.entities.length===0?{status:"emptyParse"}:{status:"ok",source:y,warnings:k}}catch(y){return{status:"error",message:y instanceof Error?y.message:String(y)}}}),p=t.computed(()=>h.value.status==="ok");function g(){const b=h.value;b.status!=="ok"||!b.source||(n.onImport(b.source),o.close())}return(b,f)=>(t.openBlock(),t.createBlock(t.unref(te.BSModalFrame),{title:i("em.import.title")},{default:t.withCtx(()=>[t.createElementVNode("div",KT,[t.createElementVNode("div",{ref_key:"fmtEl",ref:s,class:"em-text-import__formats",role:"radiogroup","aria-label":i("em.import.formatGroup")},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(l,y=>t.createElementVNode("button",{key:y.key,type:"button",role:"radio",class:t.normalizeClass(["em-text-import__fmt",{"is-active":y.key===r.value}]),"aria-checked":y.key===r.value,tabindex:y.key===r.value?0:-1,onClick:k=>r.value=y.key,onKeydown:[f[0]||(f[0]=t.withKeys(t.withModifiers(k=>d(-1),["prevent"]),["left"])),f[1]||(f[1]=t.withKeys(t.withModifiers(k=>d(1),["prevent"]),["right"])),f[2]||(f[2]=t.withKeys(t.withModifiers(k=>c(0),["prevent"]),["home"])),f[3]||(f[3]=t.withKeys(t.withModifiers(k=>c(l.length-1),["prevent"]),["end"]))]},t.toDisplayString(i(y.labelKey)),43,YT)),64))],8,GT),t.withDirectives(t.createElementVNode("textarea",{"onUpdate:modelValue":f[4]||(f[4]=y=>a.value=y),class:"em-text-import__input",placeholder:i("em.import.placeholder"),spellcheck:"false"},null,8,qT),[[t.vModelText,a.value]]),t.createElementVNode("div",WT,[h.value.status==="ok"&&h.value.source?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("span",JT,t.toDisplayString(i("em.import.detected",{format:i(`em.import.format${m.value==="json"?"Json":m.value==="ddl"?"Ddl":"Mermaid"}`)}))+" · "+t.toDisplayString(i("em.import.summary",{entities:h.value.source.logical.entities.length,relations:h.value.source.logical.associations.length})),1),h.value.warnings&&h.value.warnings.length?(t.openBlock(),t.createElementBlock("span",XT," ⚠ "+t.toDisplayString(i("em.import.warnings",{n:h.value.warnings.length})),1)):t.createCommentVNode("",!0)],64)):h.value.status==="error"?(t.openBlock(),t.createElementBlock("span",ZT,t.toDisplayString(i("em.import.error",{message:h.value.message??""})),1)):h.value.status==="unknown"?(t.openBlock(),t.createElementBlock("span",QT,t.toDisplayString(i("em.import.unknownFormat")),1)):h.value.status==="emptyParse"?(t.openBlock(),t.createElementBlock("span",e2,t.toDisplayString(i("em.import.emptyParse")),1)):t.createCommentVNode("",!0)]),t.createElementVNode("div",t2,[t.createVNode(t.unref(te.BSButton),{caption:i("em.import.confirm"),disabled:!p.value,onClick:g},null,8,["caption","disabled"]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:i("em.common.close"),onClick:f[5]||(f[5]=y=>t.unref(o).close())},null,8,["caption"])])])]),_:1},8,["title"]))}}),[["__scopeId","data-v-1059c939"]]),o2={class:"em-toolbar"},i2={class:"em-toolbar__mode"},qp=Ke(t.defineComponent({__name:"EditorToolbar",props:{controller:{},historyOpen:{type:Boolean}},emits:["exportSvg","exportPng","toggleHistory"],setup(e,{emit:n}){const i=e.controller,a=n,r=te.useModal(),l=[{v:"LOGICAL",labelKey:"em.displayMode.logical"},{v:"PHYSICAL",labelKey:"em.displayMode.physical"},{v:"LOGICAL_PHYSICAL",labelKey:"em.displayMode.logicalPhysical"},{v:"CLASS",labelKey:"em.displayMode.class"}],s=t.computed({get:()=>i.displayMode.value,set:g=>i.displayMode.value=g});function c(){i.routingMode.value=i.routingMode.value==="straight"?"orthogonal":"straight"}const d=t.computed(()=>{const g=i.resolved.value.entities;return g.length>0&&g.every(b=>b.collapsed)});function u(){d.value?i.expandAll():i.collapseAll()}function m(){const g=i.state.logical;r.openModal({component:jT,bind:{title:i.t("em.toolbar.exportText"),locale:i.uiLocale.value,formats:[{key:"text",label:i.t("em.export.formatText"),content:Ts(g,{embeddableCatalog:i.embeddableCatalog.value}),filename:"diagram.txt"},{key:"mermaid-er",label:i.t("em.export.formatMermaidEr"),content:Nr(g,"er"),filename:"diagram.er.mmd"},{key:"mermaid-class",label:i.t("em.export.formatMermaidClass"),content:Nr(g,"class"),filename:"diagram.class.mmd"},{key:"ddl",label:i.t("em.export.formatDdl"),content:Ys(g,"postgres",{embeddableCatalog:i.embeddableCatalog.value}),filename:"schema.sql"},{key:"json",label:i.t("em.export.formatJson"),content:Js(g,i.state.layout),filename:"diagram.json"}]}})}function h(){r.openModal({component:n2,bind:{locale:i.uiLocale.value,onImport:g=>{i.importEntities(g,g.logical.entities.map(b=>b.modelId))}}})}function p(){r.openModal({component:Kp,bind:{locale:i.uiLocale.value}})}return(g,b)=>(t.openBlock(),t.createElementBlock("div",o2,[t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.undo"),disabled:!t.unref(i).canUndo.value||!t.unref(i).editable.value,onClick:b[0]||(b[0]=f=>t.unref(i).undo())},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"undo",size:16})]),_:1},8,["tooltip","disabled"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.redo"),disabled:!t.unref(i).canRedo.value||!t.unref(i).editable.value,onClick:b[1]||(b[1]=f=>t.unref(i).redo())},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"redo",size:16})]),_:1},8,["tooltip","disabled"]),b[9]||(b[9]=t.createElementVNode("span",{class:"em-toolbar__sep"},null,-1)),t.createElementVNode("label",i2,[t.createTextVNode(t.toDisplayString(t.unref(i).t("em.toolbar.displayLabel"))+" ",1),t.createVNode(t.unref(te.BSSelect),{modelValue:s.value,"onUpdate:modelValue":b[2]||(b[2]=f=>s.value=f),items:l,"value-provider":f=>f.v,"label-provider":f=>t.unref(i).t(f.labelKey)},null,8,["modelValue","value-provider","label-provider"])]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(i).t(t.unref(i).routingMode.value==="orthogonal"?"em.toolbar.routingOrthogonal":"em.toolbar.routingStraight"),tooltip:t.unref(i).t("em.toolbar.routingToggle"),onClick:c},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"route",size:16})]),_:1},8,["caption","tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:t.normalizeClass(["em-toolbar__toggle",{"is-active":t.unref(i).showGrid.value}]),caption:t.unref(i).t("em.toolbar.grid"),tooltip:t.unref(i).t(t.unref(i).showGrid.value?"em.toolbar.gridOff":"em.toolbar.gridOn"),onClick:b[3]||(b[3]=f=>t.unref(i).showGrid.value=!t.unref(i).showGrid.value)},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"grid",size:16})]),_:1},8,["class","caption","tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:t.normalizeClass(["em-toolbar__toggle",{"is-active":t.unref(i).showMinimap.value}]),caption:t.unref(i).t("em.toolbar.minimap"),tooltip:t.unref(i).t(t.unref(i).showMinimap.value?"em.toolbar.minimapOff":"em.toolbar.minimapOn"),onClick:b[4]||(b[4]=f=>t.unref(i).showMinimap.value=!t.unref(i).showMinimap.value)},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"map",size:16})]),_:1},8,["class","caption","tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(i).t(d.value?"em.panel.expandAll":"em.panel.collapseAll"),disabled:!t.unref(i).editable.value,onClick:u},{left:t.withCtx(()=>[t.createVNode(Ae,{name:d.value?"expand-all":"collapse-all",size:16},null,8,["name"])]),_:1},8,["caption","disabled"]),b[10]||(b[10]=t.createElementVNode("span",{class:"em-toolbar__sep"},null,-1)),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.import"),disabled:!t.unref(i).editable.value,onClick:h},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"clipboard",size:16})]),_:1},8,["tooltip","disabled"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.exportText"),onClick:m},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"file-text",size:16})]),_:1},8,["tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.exportSvg"),onClick:b[5]||(b[5]=f=>a("exportSvg"))},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"image",size:16})]),_:1},8,["tooltip"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn",tooltip:t.unref(i).t("em.toolbar.exportPng"),onClick:b[6]||(b[6]=f=>a("exportPng"))},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"camera",size:16})]),_:1},8,["tooltip"]),b[11]||(b[11]=t.createElementVNode("span",{class:"em-toolbar__spacer"},null,-1)),t.unref(i).historyAvailable.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(t.unref(te.BSButton),{variant:"text",class:t.normalizeClass(["em-toolbar__toggle",{"is-active":e.historyOpen}]),caption:t.unref(i).t("em.toolbar.history"),tooltip:t.unref(i).t(e.historyOpen?"em.toolbar.historyClose":"em.toolbar.historyOpen"),onClick:b[7]||(b[7]=f=>a("toggleHistory"))},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"history",size:16})]),_:1},8,["class","caption","tooltip"]),b[8]||(b[8]=t.createElementVNode("span",{class:"em-toolbar__sep"},null,-1))],64)):t.createCommentVNode("",!0),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-toolbar__icon-btn em-toolbar__help",tooltip:t.unref(i).t("em.toolbar.shortcuts"),onClick:p},{left:t.withCtx(()=>[t.createVNode(Ae,{name:"help",size:16})]),_:1},8,["tooltip"])]))}}),[["__scopeId","data-v-e185de41"]]),a2=["title"],r2=["title"],l2=["disabled","aria-pressed"],s2=["disabled","aria-pressed"],c2=Ke(t.defineComponent({__name:"EditModeToggle",props:{editable:{type:Boolean},opMode:{type:Boolean},frozen:{type:Boolean},locale:{}},emits:["toggle"],setup(e,{emit:n}){const o=e,i=n,a=l=>Lt(o.locale??"ko",l);function r(l){o.frozen||!o.opMode||l!==o.editable&&i("toggle")}return(l,s)=>e.frozen?(t.openBlock(),t.createElementBlock("div",{key:0,class:"em-mode-toggle em-mode-frozen",role:"status",title:a("em.mode.frozenTitle")},[t.createVNode(Ae,{name:"lock",size:14}),t.createElementVNode("span",null,t.toDisplayString(a("em.mode.frozen")),1)],8,a2)):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["em-mode-toggle em-mode-segment",{"is-readonly":!e.opMode}]),role:"group",title:e.opMode?void 0:a("em.mode.readonlyTitle")},[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-seg",{"is-active":!e.editable}]),disabled:!e.opMode,"aria-pressed":!e.editable,onClick:s[0]||(s[0]=c=>r(!1))},[t.createVNode(Ae,{name:"eye",size:13}),t.createElementVNode("span",null,t.toDisplayString(a("em.mode.view")),1)],10,l2),t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-seg",{"is-active":e.editable}]),disabled:!e.opMode,"aria-pressed":e.editable,onClick:s[1]||(s[1]=c=>r(!0))},[t.createVNode(Ae,{name:"pencil",size:13}),t.createElementVNode("span",null,t.toDisplayString(a("em.mode.edit")),1)],10,s2)],10,r2))}}),[["__scopeId","data-v-2b5162b7"]]),d2=["disabled"],u2={class:"em-panel__sub"},m2={class:"em-nav"},f2={key:0,class:"em-nav__divider","aria-hidden":"true"},p2={key:1},h2=["onClick","onKeydown"],y2={class:"em-nav__name"},g2=["title"],b2={key:0,class:"em-panel__note"},_2=["data-attr-block"],k2={class:"em-attr__row"},E2=["title"],N2={key:0,class:"em-attr__row"},w2={key:1,class:"em-attr__navhint"},v2={key:0,class:"em-attr__navhint"},I2={class:"em-attr__row"},x2={class:"em-attr__row"},C2=["title"],S2={class:"em-attr__flags"},$2={class:"em-attr__pii"},R2={class:"em-attr__pii"},A2={key:1,class:"em-attr__pii"},T2={key:2,class:"em-attr__pii em-attr__codetop"},M2={class:"em-multilang"},V2={key:3,class:"em-embed-cols"},B2={class:"em-embed-col__label"},D2={class:"em-attr__row"},L2=["title"],O2=["title"],P2=["title"],z2={class:"em-attr__row"},F2={key:0,class:"em-embed-upd"},U2={key:1,class:"em-attr__navhint"},H2={class:"em-embed-upd"},j2={class:"em-embed-upd"},K2={class:"em-swatch__row em-attr__swatch"},G2=["title","onClick"],Y2=["title","onClick"],q2={key:0,class:"em-attr__swatch-hint"},W2=Ke(t.defineComponent({__name:"EntityColumnsSection",props:{controller:{},entityId:{}},setup(e){const n=e,o=n.controller,{entity:i,isEmbeddable:a,focusedAttrIds:r,personalInfoItems:l,piiLabel:s,idn:c,setAttr:d,isManagedFk:u,setNaturalId:m,setIdentifier:h,setTransient:p,dbLocked:g,fkDerived:b,fkOriginPhysical:f,typeValueOf:y,typeLabelOf:k,setAttrType:_,setAttrCustomType:N,setDb:x,scaleApplicable:T,scaleHint:C,setDbLogical:R,setAttrDescription:A,attrPiiValue:M,setAttrPii:B,predefinedCustomTypeCatalog:v,embeddableCatalog:I,predefinedLabel:E,groupCodeCatalog:w,attrGroupCodes:$,attrCodeItems:D,codeValueOf:z,codeLabelOf:K,setAttrGroupCode:J,setAttrCode:re,setAttrDefaultValue:he,isEmbedExpanded:ce,setDbAt:Ne,setDbLogicalAt:pe,embedColMeta:de,fixedDataType:_e,fixedLength:Se,fixedScale:me,updatableItems:ye,updatableLabel:ie,updatableValue:se,setUpdatableAt:fe,setUpdatable:O,insertableItems:L,insertableLabel:F,insertableValue:Q,setInsertableAt:Y,setInsertable:ke,sharedItems:be,sharedLabel:Ce,sharedValue:Ie,setSharedAt:U,isShared:H,sharedPhysical:q}=Qm(o,()=>n.entityId),xe=t.computed(()=>i.value?o.state.layout.entityLayouts.find(Pe=>Pe.entityRef===i.value.modelId)??null:null),De=t.computed(()=>{var Pe;return((Pe=i.value)==null?void 0:Pe.attributes.filter(Oe=>Oe.attrType!=="DIVIDER"))??[]}),W=t.computed(()=>{var Pe;return((Pe=i.value)==null?void 0:Pe.attributes)??[]}),ne=t.computed(()=>De.value.filter(Pe=>r.value.has(Pe.modelId)));function G(Pe){return{pk:Pe.identifier,fk:Pe.attrType.startsWith("RELATION")&&Pe.dbAttrs.length>0,required:Pe.notNull&&!Pe.identifier}}function P(Pe){const Oe=G(Pe),X=[Oe.pk&&"PK",Oe.fk&&"FK",Oe.required&&"NOT NULL"].filter(Boolean);return X.length?X.join(" · "):void 0}function ae(Pe,Oe){i.value&&o.selectAttribute(i.value.modelId,Pe.modelId,Oe.shiftKey?"range":Oe.metaKey||Oe.ctrlKey?"toggle":"replace")}function $e(Pe){var Oe,X;return _t((X=(Oe=xe.value)==null?void 0:Oe.attributeStyles)==null?void 0:X[Pe.modelId])}function le(Pe){return r.value.size>1&&r.value.has(Pe.modelId)}function j(Pe,Oe){if(!i.value)return;const X=le(Pe)?o.selectedAttrIds.value:[Pe.modelId];o.setAttributeSwatches(i.value.modelId,X,Oe)}const Xe=t.ref(void 0);function rt(Pe){if(!Pe||!i.value)return;const Oe=o.addPredefinedEmbed(i.value.modelId,Pe);Oe&&o.selectAttribute(i.value.modelId,Oe),Xe.value=void 0}function He(){if(!i.value)return;const Pe=o.addAttribute(i.value.modelId);Pe&&o.selectAttribute(i.value.modelId,Pe)}return(Pe,Oe)=>t.unref(i)?(t.openBlock(),t.createElementBlock("fieldset",{key:0,class:"em-section",disabled:!t.unref(o).editable.value},[t.createElementVNode("h4",u2,[t.createTextVNode(t.toDisplayString(t.unref(o).t("em.attr.section",{n:De.value.length}))+" ",1),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(o).t("em.common.add"),onClick:He},null,8,["caption"]),t.unref(I).length?(t.openBlock(),t.createBlock(t.unref(te.BSSelect),{key:0,width:"120px",placeholder:t.unref(o).t("em.attr.addEmbeddable"),"model-value":Xe.value,items:t.unref(I),"value-provider":X=>X.type,"label-provider":t.unref(E),"onUpdate:modelValue":rt},null,8,["placeholder","model-value","items","value-provider","label-provider"])):t.createCommentVNode("",!0)]),t.createElementVNode("ul",m2,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(W.value,X=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:X.modelId},[X.attrType==="DIVIDER"?(t.openBlock(),t.createElementBlock("li",f2,[...Oe[0]||(Oe[0]=[t.createElementVNode("hr",null,null,-1)])])):(t.openBlock(),t.createElementBlock("li",p2,[t.createElementVNode("div",{class:t.normalizeClass(["em-nav__item",{"is-selected":t.unref(r).has(X.modelId)}]),role:"button",tabindex:"0",onClick:Nt=>ae(X,Nt),onKeydown:[t.withKeys(t.withModifiers(Nt=>ae(X,Nt),["prevent"]),["enter"]),t.withKeys(t.withModifiers(Nt=>ae(X,Nt),["prevent"]),["space"])]},[t.createElementVNode("span",y2,t.toDisplayString(X.name||t.unref(o).t("em.attr.nameless")),1),t.createElementVNode("span",{class:"em-nav__marks",title:P(X)},[G(X).pk?(t.openBlock(),t.createBlock(Ae,{key:0,name:"key",size:12,class:"em-nav-key is-pk"})):G(X).required?(t.openBlock(),t.createBlock(Ae,{key:1,name:"asterisk",size:14,class:"em-nav-key is-required"})):t.createCommentVNode("",!0),G(X).fk?(t.openBlock(),t.createBlock(Ae,{key:2,name:"key",size:12,class:"em-nav-key is-fk"})):t.createCommentVNode("",!0)],8,g2)],42,h2)]))],64))),128))]),De.value.length&&!ne.value.length?(t.openBlock(),t.createElementBlock("p",b2,t.toDisplayString(t.unref(o).t("em.attr.selectHint")),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(ne.value,X=>{var Nt,Et,hn,yn,Ee,nt,mt,Ft,Zt,Qt;return t.openBlock(),t.createElementBlock("div",{key:X.modelId,class:t.normalizeClass(["em-attr",{"is-focused":t.unref(r).has(X.modelId)}]),"data-attr-block":X.modelId},[t.createElementVNode("div",k2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`attr-name-${X.modelId}`,width:"100%",placeholder:t.unref(o).t("em.attr.namePlaceholder"),"model-value":X.name,"onUpdate:modelValue":we=>t.unref(d)(X,{name:we})},null,8,["name","placeholder","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSSelect),{name:`attr-type-${X.modelId}`,width:"84px",placeholder:t.unref(o).t("em.attr.typePlaceholder"),disabled:X.attrType.startsWith("EMBED")||!!X.groupCode||X.attrType==="RELATION_REF"||t.unref(b)(X),items:t.unref(zs)(X.type,t.unref(v)),"value-provider":t.unref(y),"label-provider":t.unref(k),"model-value":X.type,"onUpdate:modelValue":we=>t.unref(_)(X,we)},null,8,["name","placeholder","disabled","items","value-provider","label-provider","model-value","onUpdate:modelValue"]),t.createElementVNode("span",{title:t.unref(u)(X)?t.unref(o).t("em.attr.fkDeleteHint"):void 0},[t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-del-btn",caption:"✕",onClick:we=>t.unref(o).removeAttribute(t.unref(i).modelId,X.modelId)},null,8,["onClick"])],8,E2)]),X.type===t.unref(en)&&!t.unref(b)(X)?(t.openBlock(),t.createElementBlock("div",N2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`attr-customtype-${X.modelId}`,width:"100%",placeholder:t.unref(o).t("em.attr.customTypePlaceholder"),"model-value":X.customType??"","onUpdate:modelValue":we=>t.unref(N)(X,we)},null,8,["name","placeholder","model-value","onUpdate:modelValue"])])):t.createCommentVNode("",!0),X.attrType==="RELATION_REF"?(t.openBlock(),t.createElementBlock("p",w2,t.toDisplayString(t.unref(o).t("em.attr.inverseNavHint")),1)):t.unref(ce)(X)?(t.openBlock(),t.createElementBlock("div",V2,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(X.dbAttrs,(we,et)=>{var ft,gn,ot,zo,Fo,oe,S,V;return t.openBlock(),t.createElementBlock("div",{key:we.modelId,class:"em-embed-col"},[t.createElementVNode("span",B2,t.toDisplayString(((ft=t.unref(de)(X,et))==null?void 0:ft.name)??((gn=t.unref(de)(X,et))==null?void 0:gn.physicalName)??t.unref(o).t("em.attr.colFallback",{n:et+1})),1),t.createElementVNode("div",D2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`embed-col-${we.modelId}`,width:"100%",disabled:t.unref(H)(we),placeholder:((ot=t.unref(de)(X,et))==null?void 0:ot.physicalName)??t.unref(o).t("em.attr.columnPlaceholder"),"model-value":t.unref(H)(we)?t.unref(q)(we):we.physicalName,"onUpdate:modelValue":ee=>t.unref(Ne)(X,et,{physicalName:ee})},null,8,["name","disabled","placeholder","model-value","onUpdate:modelValue"]),t.createElementVNode("span",{title:t.unref(o).t("em.attr.embedFixedHint")},[t.createVNode(t.unref(te.BSTextInput),{name:`embed-dtype-${we.modelId}`,width:"84px",disabled:"","model-value":t.unref(_e)(X,et)},null,8,["name","model-value"])],8,L2),t.createElementVNode("span",{title:t.unref(o).t("em.attr.embedFixedHint")},[t.createVNode(t.unref(te.BSNumberInput),{name:`embed-len-${we.modelId}`,width:"48px",disabled:"","model-value":t.unref(Se)(X,et)},null,8,["name","model-value"])],8,O2),t.createElementVNode("span",{title:t.unref(o).t("em.attr.embedFixedHint")},[t.createVNode(t.unref(te.BSNumberInput),{name:`embed-scale-${we.modelId}`,width:"48px",disabled:"","model-value":t.unref(me)(X,et)},null,8,["name","model-value"])],8,P2)]),t.createVNode(Qn,{controller:t.unref(o),"ref-id":we.modelId},null,8,["controller","ref-id"]),t.createElementVNode("div",z2,[t.createVNode(cn,{class:"grow",name:`embed-logical-${we.modelId}`,languages:t.unref(o).languages.value,"default-lang":t.unref(o).userLanguage.value,placeholder:((Fo=(zo=t.unref(de)(X,et))==null?void 0:zo.logicalName)==null?void 0:Fo[t.unref(o).userLanguage.value])??((S=(oe=t.unref(de)(X,et))==null?void 0:oe.logicalName)==null?void 0:S.ko)??t.unref(o).t("em.attr.logicalPlaceholder"),"model-value":we.logicalName,"onUpdate:modelValue":ee=>t.unref(pe)(X,et,ee)},null,8,["name","languages","default-lang","placeholder","model-value","onUpdate:modelValue"])]),(V=t.unref(de)(X,et))!=null&&V.shareable?(t.openBlock(),t.createElementBlock("label",F2,[t.createElementVNode("span",null,t.toDisplayString(t.unref(o).t("em.attr.currencyColumn")),1),t.createVNode(t.unref(te.BSSelect),{width:"110px","model-value":t.unref(Ie)(we),items:t.unref(be)(),"value-provider":t.unref(c),"label-provider":t.unref(Ce),"onUpdate:modelValue":ee=>ee&&t.unref(U)(X,et,ee)},null,8,["model-value","items","value-provider","label-provider","onUpdate:modelValue"])])):t.createCommentVNode("",!0),t.unref(H)(we)?(t.openBlock(),t.createElementBlock("p",U2,t.toDisplayString(t.unref(o).t("em.attr.embedSharedHint")),1)):t.createCommentVNode("",!0),t.createElementVNode("label",H2,[Oe[3]||(Oe[3]=t.createElementVNode("span",null,"insertable",-1)),t.createVNode(t.unref(te.BSSelect),{width:"110px",disabled:t.unref(H)(we),"model-value":t.unref(H)(we)?"false":t.unref(Q)(we),items:t.unref(L),"value-provider":t.unref(c),"label-provider":t.unref(F),"onUpdate:modelValue":ee=>ee&&t.unref(Y)(X,et,ee)},null,8,["disabled","model-value","items","value-provider","label-provider","onUpdate:modelValue"])]),t.createElementVNode("label",j2,[Oe[4]||(Oe[4]=t.createElementVNode("span",null,"updatable",-1)),t.createVNode(t.unref(te.BSSelect),{width:"110px",disabled:t.unref(H)(we),"model-value":t.unref(H)(we)?"false":t.unref(se)(we),items:t.unref(ye),"value-provider":t.unref(c),"label-provider":t.unref(ie),"onUpdate:modelValue":ee=>ee&&t.unref(fe)(X,et,ee)},null,8,["disabled","model-value","items","value-provider","label-provider","onUpdate:modelValue"])])])}),128))])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.unref(b)(X)?(t.openBlock(),t.createElementBlock("p",v2,t.toDisplayString(t.unref(o).t("em.attr.fkDerivedNote")),1)):t.createCommentVNode("",!0),t.createElementVNode("div",I2,[t.createVNode(cn,{class:"grow",name:`attr-logical-${X.modelId}`,languages:t.unref(o).languages.value,"default-lang":t.unref(o).userLanguage.value,placeholder:t.unref(o).t("em.attr.logicalPlaceholder"),"model-value":(Nt=X.dbAttrs[0])==null?void 0:Nt.logicalName,"onUpdate:modelValue":we=>t.unref(R)(X,we)},null,8,["name","languages","default-lang","placeholder","model-value","onUpdate:modelValue"])]),t.createElementVNode("div",x2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`attr-col-${X.modelId}`,width:"100%",placeholder:t.unref(f)(X)??t.unref(o).t("em.attr.columnPlaceholder"),disabled:t.unref(g)(X),"model-value":((Et=X.dbAttrs[0])==null?void 0:Et.physicalName)??"","onUpdate:modelValue":we=>t.unref(x)(X,{physicalName:we})},null,8,["name","placeholder","disabled","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSSelect),{name:`attr-dtype-${X.modelId}`,width:"84px",placeholder:"dataType",disabled:t.unref(g)(X)||t.unref(b)(X),items:t.unref(Ls)(((hn=X.dbAttrs[0])==null?void 0:hn.dataType)??"",t.unref(o).selectableDataTypes.value),"value-provider":t.unref(c),"label-provider":t.unref(vr),"model-value":((yn=X.dbAttrs[0])==null?void 0:yn.dataType)??"","onUpdate:modelValue":we=>we&&t.unref(x)(X,{dataType:we})},null,8,["name","disabled","items","value-provider","label-provider","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSNumberInput),{name:`attr-len-${X.modelId}`,width:"48px",placeholder:"len",disabled:t.unref(g)(X)||t.unref(b)(X),"model-value":(Ee=X.dbAttrs[0])==null?void 0:Ee.length,"onUpdate:modelValue":we=>t.unref(x)(X,{length:we||void 0})},null,8,["name","disabled","model-value","onUpdate:modelValue"]),t.createElementVNode("span",{title:t.unref(C)(X)},[t.createVNode(t.unref(te.BSNumberInput),{name:`attr-scale-${X.modelId}`,width:"48px",placeholder:"scale",disabled:t.unref(g)(X)||t.unref(b)(X)||!t.unref(T)(X),"model-value":(nt=X.dbAttrs[0])==null?void 0:nt.scale,"onUpdate:modelValue":we=>t.unref(x)(X,{scale:we||void 0})},null,8,["name","disabled","model-value","onUpdate:modelValue"])],8,C2)]),t.createVNode(Qn,{controller:t.unref(o),"ref-id":(mt=X.dbAttrs[0])==null?void 0:mt.modelId},null,8,["controller","ref-id"]),t.createElementVNode("div",S2,[t.createVNode(t.unref(te.BSCheckbox),{name:`attr-pk-${X.modelId}`,label:"Primary Key","model-value":X.identifier,disabled:t.unref(a)||t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(h)(X,we)},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-nn-${X.modelId}`,label:"Not Null","model-value":X.notNull,disabled:t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(d)(X,{notNull:we})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-uq-${X.modelId}`,label:"Unique","model-value":!!((Ft=X.dbAttrs[0])!=null&&Ft.unique),disabled:t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(x)(X,{unique:we})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-ai-${X.modelId}`,label:"Auto Increment","model-value":!!((Zt=X.dbAttrs[0])!=null&&Zt.autoIncrement),disabled:t.unref(g)(X)||t.unref(b)(X)||!X.identifier,"onUpdate:modelValue":we=>t.unref(x)(X,{autoIncrement:we})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-tr-${X.modelId}`,label:"@Transient","model-value":!!X.transient,disabled:X.identifier||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(p)(X,we)},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-nid-${X.modelId}`,label:"@NaturalId","model-value":!!X.naturalId,disabled:X.identifier||t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(m)(X,we)},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{class:"em-attr__flag-sub",name:`attr-nidm-${X.modelId}`,label:"mutable","model-value":!!X.naturalIdMutable,disabled:t.unref(g)(X)||!X.naturalId,"onUpdate:modelValue":we=>t.unref(d)(X,{naturalIdMutable:we||void 0})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`attr-mv-${X.modelId}`,label:"Multi-Value (Set)","model-value":!!((Qt=X.dbAttrs[0])!=null&&Qt.multiValue),disabled:t.unref(g)(X)||t.unref(b)(X),"onUpdate:modelValue":we=>t.unref(x)(X,{multiValue:we||void 0})},null,8,["name","model-value","disabled","onUpdate:modelValue"])]),t.createElementVNode("label",$2,[Oe[1]||(Oe[1]=t.createElementVNode("span",null,"insertable",-1)),t.createVNode(t.unref(te.BSSelect),{width:"100%",disabled:t.unref(g)(X),"model-value":t.unref(Q)(X.dbAttrs[0]),items:t.unref(L),"value-provider":t.unref(c),"label-provider":t.unref(F),"onUpdate:modelValue":we=>we&&t.unref(ke)(X,we)},null,8,["disabled","model-value","items","value-provider","label-provider","onUpdate:modelValue"])]),t.createElementVNode("label",R2,[Oe[2]||(Oe[2]=t.createElementVNode("span",null,"updatable",-1)),t.createVNode(t.unref(te.BSSelect),{width:"100%",disabled:t.unref(g)(X),"model-value":t.unref(se)(X.dbAttrs[0]),items:t.unref(ye),"value-provider":t.unref(c),"label-provider":t.unref(ie),"onUpdate:modelValue":we=>we&&t.unref(O)(X,we)},null,8,["disabled","model-value","items","value-provider","label-provider","onUpdate:modelValue"])]),t.unref(b)(X)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("label",A2,[t.createElementVNode("span",null,t.toDisplayString(t.unref(o).t("em.attr.pii")),1),t.createVNode(t.unref(te.BSSelect),{width:"100%","model-value":t.unref(M)(X),items:t.unref(l),"value-provider":t.unref(c),"label-provider":t.unref(s),"onUpdate:modelValue":we=>we&&t.unref(B)(X,we)},null,8,["model-value","items","value-provider","label-provider","onUpdate:modelValue"])])),t.unref(w).length&&!t.unref(b)(X)?(t.openBlock(),t.createElementBlock("label",T2,[t.createElementVNode("span",null,t.toDisplayString(t.unref(o).t("em.attr.codeGroup")),1),t.createVNode(af,{"model-value":X.groupCode,items:t.unref(w),locale:t.unref(o).uiLocale.value,"onUpdate:modelValue":we=>t.unref(J)(X,we)},null,8,["model-value","items","locale","onUpdate:modelValue"])])):t.createCommentVNode("",!0),t.unref(b)(X)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("label",{key:3,class:t.normalizeClass(["em-attr__pii",{"em-attr__codetop":!t.unref(w).length}])},[t.createElementVNode("span",null,t.toDisplayString(t.unref(o).t("em.attr.defaultValue")),1),t.unref($)(X).length?(t.openBlock(),t.createBlock(t.unref(te.BSSelect),{key:0,width:"100%","model-value":X.defaultValue??"none",items:t.unref(D)(X),"value-provider":t.unref(z),"label-provider":t.unref(K),"onUpdate:modelValue":we=>we&&t.unref(re)(X,we)},null,8,["model-value","items","value-provider","label-provider","onUpdate:modelValue"])):(t.openBlock(),t.createBlock(t.unref(te.BSTextInput),{key:1,name:`attr-default-${X.modelId}`,width:"100%",placeholder:t.unref(o).t("em.attr.defaultValue"),"model-value":X.defaultValue??"","onUpdate:modelValue":we=>t.unref(he)(X,we)},null,8,["name","placeholder","model-value","onUpdate:modelValue"]))],2)),t.createElementVNode("fieldset",M2,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(o).t("em.common.description")),1),t.createVNode(cn,{multiline:"",name:`attr-desc-${X.modelId}`,languages:t.unref(o).languages.value,"default-lang":t.unref(o).userLanguage.value,"model-value":X.description,"onUpdate:modelValue":we=>t.unref(A)(X,we)},null,8,["name","languages","default-lang","model-value","onUpdate:modelValue"])])],64)),t.createElementVNode("div",K2,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-swatch__chip em-swatch__none",{"is-on":$e(X)===null}]),title:t.unref(o).t("em.swatch.none"),onClick:we=>j(X,null)},"∅",10,G2),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),we=>(t.openBlock(),t.createElementBlock("button",{key:we,type:"button",class:t.normalizeClass(["em-swatch__chip",{"is-on":$e(X)===we}]),style:t.normalizeStyle({background:t.unref(Ao)(we)}),title:t.unref(o).t(t.unref(Zn)(we)),onClick:et=>j(X,we)},null,14,Y2))),128)),le(X)?(t.openBlock(),t.createElementBlock("span",q2,t.toDisplayString(t.unref(o).t("em.attr.batchHint",{n:t.unref(r).size})),1)):t.createCommentVNode("",!0)])],10,_2)}),128))],8,d2)):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-2c47fef2"]]),J2=["disabled"],X2={class:"em-panel__sub-label"},Z2={class:"em-attr__row"},Q2={class:"em-field em-idx-params"},eM=["value","placeholder","onChange"],tM=Ke(t.defineComponent({__name:"EntityIndexSection",props:{controller:{},entityId:{},collapsible:{type:Boolean},collapsed:{type:Boolean}},emits:["toggle"],setup(e,{emit:n}){const o=e,i=n,a=o.controller,r=t.computed(()=>a.state.logical.entities.find(N=>N.modelId===o.entityId)??null),l=t.computed(()=>r.value?Uo(r.value,a.superClassCatalog.value):[]),s=t.computed(()=>{var N;return[...(((N=r.value)==null?void 0:N.attributes)??[]).filter(x=>x.dbAttrs.length>0).map(x=>({value:x.modelId,label:x.name})),...l.value.map(x=>({value:x.modelId,label:a.t("em.index.inherited",{field:x.field})}))]}),c=t.computed(()=>{var N;return Mn(((N=r.value)==null?void 0:N.attributes)??[])}),d=N=>c.value.canon(N);function u(N,x){var A;const T=new Set(N.columns.filter((M,B)=>B!==x).map(M=>d(M.columnRef))),C=s.value.filter(M=>!T.has(d(M.value))),R=(A=N.columns[x])==null?void 0:A.columnRef;return R&&!C.some(M=>M.value===R)&&C.push({value:R,label:m(R)}),C}function m(N){var C,R;const x=(C=r.value)==null?void 0:C.attributes.find(A=>A.modelId===N);if(x)return x.name;const T=(R=r.value)==null?void 0:R.attributes.flatMap(A=>A.dbAttrs).find(A=>A.modelId===N);return(T==null?void 0:T.physicalName)||N}function h(N){const x=new Set(N.columns.map(T=>d(T.columnRef)));return s.value.filter(T=>!x.has(d(T.value)))}function p(){var x;if(!r.value)return;const N=s.value[0];a.addIndex(r.value.modelId,{modelId:Be(),name:`idx_${(((x=r.value.indexes)==null?void 0:x.length)??0)+1}`,unique:!1,columns:N?[{columnRef:N.value,descending:!1}]:[]})}function g(N,x){r.value&&a.updateIndex(r.value.modelId,N,x)}function b(N){const x=h(N)[0];x&&g(N.modelId,{columns:[...N.columns,{columnRef:x.value,descending:!1}]})}function f(N,x,T){g(N.modelId,{columns:N.columns.map((C,R)=>R===x?{...C,columnRef:T}:C)})}function y(N,x,T){g(N.modelId,{columns:N.columns.map((C,R)=>R===x?{...C,descending:T}:C)})}function k(N,x){g(N.modelId,{columns:N.columns.filter((T,C)=>C!==x)})}function _(N,x){g(N.modelId,{parameters:x.trim()===""?void 0:x})}return(N,x)=>{var T;return r.value?(t.openBlock(),t.createElementBlock("fieldset",{key:0,class:"em-section em-idx-section",disabled:!t.unref(a).editable.value},[t.createElementVNode("h4",{class:t.normalizeClass(["em-panel__sub",{"em-panel__sub--toggle":e.collapsible}]),onClick:x[0]||(x[0]=C=>e.collapsible&&i("toggle"))},[t.createElementVNode("span",X2,[e.collapsible?(t.openBlock(),t.createBlock(Ae,{key:0,name:"chevron",size:13,class:t.normalizeClass(["em-sub-caret",{"is-open":!e.collapsed}])},null,8,["class"])):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(t.unref(a).t("em.index.section",{n:((T=r.value.indexes)==null?void 0:T.length)??0})),1)]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(a).t("em.common.add"),onClick:t.withModifiers(p,["stop"])},null,8,["caption"])],2),!e.collapsible||!e.collapsed?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(r.value.indexes??[],C=>(t.openBlock(),t.createElementBlock("div",{key:C.modelId,class:"em-attr"},[t.createElementVNode("div",Z2,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`idx-name-${C.modelId}`,width:"100%",placeholder:t.unref(a).t("em.index.namePlaceholder"),"model-value":C.name,"onUpdate:modelValue":R=>g(C.modelId,{name:R})},null,8,["name","placeholder","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`idx-uq-${C.modelId}`,class:"em-check",label:"UQ","model-value":C.unique,"onUpdate:modelValue":R=>g(C.modelId,{unique:R})},null,8,["name","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-del-btn",caption:"✕",onClick:R=>t.unref(a).removeIndex(r.value.modelId,C.modelId)},null,8,["onClick"])]),t.createVNode(Qn,{controller:t.unref(a),"ref-id":C.modelId},null,8,["controller","ref-id"]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(C.columns,(R,A)=>(t.openBlock(),t.createElementBlock("div",{key:A,class:"em-attr__row"},[t.createVNode(t.unref(te.BSSelect),{class:"grow","model-value":R.columnRef,items:u(C,A),"value-provider":M=>M.value,"label-provider":M=>M.label,"onUpdate:modelValue":M=>M&&f(C,A,M)},null,8,["model-value","items","value-provider","label-provider","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSCheckbox),{name:`idx-${C.modelId}-desc-${A}`,class:"em-check",label:"DESC","model-value":R.descending,"onUpdate:modelValue":M=>y(C,A,M)},null,8,["name","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:"−",onClick:M=>k(C,A)},null,8,["onClick"])]))),128)),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(a).t("em.index.addColumn"),disabled:!h(C).length,onClick:R=>b(C)},null,8,["caption","disabled","onClick"]),t.createElementVNode("label",Q2,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a).t("em.index.condition")),1),t.createElementVNode("textarea",{class:"em-textarea",value:C.parameters??"",rows:"2",placeholder:t.unref(a).t("em.index.conditionPlaceholder"),onChange:R=>_(C,R.target.value)},null,40,eM)])]))),128)):t.createCommentVNode("",!0)],8,J2)):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-c4c86cbe"]]),nM=["disabled"],oM={class:"em-panel__sub-label"},iM={class:"em-attr__row"},aM={class:"em-attr__row"},rM={class:"em-multilang"},lM={class:"em-attr__pii"},sM={class:"em-swatch__row em-attr__swatch"},cM=["title","onClick"],dM=["title","onClick"],uM=Ke(t.defineComponent({__name:"EntityOperationsSection",props:{controller:{},entityId:{},collapsible:{type:Boolean},collapsed:{type:Boolean}},emits:["toggle"],setup(e,{emit:n}){const o=e,i=n,a=o.controller,r=te.useModal(),l=t.computed(()=>a.state.logical.entities.find(_=>_.modelId===o.entityId)??null),s=t.computed(()=>l.value?a.state.layout.entityLayouts.find(_=>_.entityRef===l.value.modelId)??null:null),c=["PUBLIC","PROTECTED","PACKAGE","PRIVATE"],d=["none","PASSWORD","SOCIAL_SECURITY_NO","PASSPORT_NO","ALIEN_REGISTRATION_NO","DRIVERS_LICENSE_NO","BIOMETRICS","CREDITCARD_NO","ACCOUNT_NO","MEMBERSHIP_CARD_NO","ID","NAME","DATE_OF_BIRTH","PHONE_NO","EMAIL_ADDRESS","ADDRESS","IP_ADDRESS"];function u(_){return _==="none"?a.t("em.common.noneParen"):_}const m=_=>_;function h(_,N){l.value&&a.updateOperation(l.value.modelId,_.modelId,N)}function p(_,N){h(_,{description:Object.keys(N).length?N:void 0})}function g(_){return _.personalInfoAttributeType??"none"}function b(_,N){h(_,{personalInfoAttributeType:N==="none"?void 0:N})}function f(_){var N,x;return _t((x=(N=s.value)==null?void 0:N.operationStyles)==null?void 0:x[_.modelId])}function y(_,N){l.value&&a.setOperationSwatch(l.value.modelId,_.modelId,N)}function k(_){r.openModal({component:lf,bind:{operationName:_.name,sourceCode:_.sourceCode??"",locale:a.uiLocale.value,onSave:N=>h(_,{sourceCode:N})}})}return(_,N)=>{var x;return l.value?(t.openBlock(),t.createElementBlock("fieldset",{key:0,class:"em-section",disabled:!t.unref(a).editable.value},[t.createElementVNode("h4",{class:t.normalizeClass(["em-panel__sub",{"em-panel__sub--toggle":e.collapsible}]),onClick:N[1]||(N[1]=T=>e.collapsible&&i("toggle"))},[t.createElementVNode("span",oM,[e.collapsible?(t.openBlock(),t.createBlock(Ae,{key:0,name:"chevron",size:13,class:t.normalizeClass(["em-sub-caret",{"is-open":!e.collapsed}])},null,8,["class"])):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(t.unref(a).t("em.op.section",{n:((x=l.value.operations)==null?void 0:x.length)??0})),1)]),t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(a).t("em.common.add"),onClick:N[0]||(N[0]=t.withModifiers(T=>t.unref(a).addOperation(l.value.modelId),["stop"]))},null,8,["caption"])],2),!e.collapsible||!e.collapsed?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(l.value.operations??[],T=>(t.openBlock(),t.createElementBlock("div",{key:T.modelId,class:"em-attr"},[t.createElementVNode("div",iM,[t.createVNode(t.unref(te.BSTextInput),{class:"grow",name:`op-name-${T.modelId}`,width:"100%",placeholder:t.unref(a).t("em.op.namePlaceholder"),"model-value":T.name,"onUpdate:modelValue":C=>h(T,{name:C})},null,8,["name","placeholder","model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSSelect),{width:"96px","model-value":T.visibility??"PACKAGE",items:c,"value-provider":m,"label-provider":m,"onUpdate:modelValue":C=>C&&h(T,{visibility:C})},null,8,["model-value","onUpdate:modelValue"]),t.createVNode(t.unref(te.BSButton),{variant:"text",class:"em-del-btn",caption:"✕",onClick:C=>t.unref(a).removeOperation(l.value.modelId,T.modelId)},null,8,["onClick"])]),t.createElementVNode("div",aM,[t.createVNode(t.unref(te.BSButton),{variant:"text",caption:t.unref(a).t(T.sourceCode?"em.op.editBodyDirty":"em.op.editBody"),onClick:C=>k(T)},null,8,["caption","onClick"])]),t.createElementVNode("fieldset",rM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(a).t("em.common.description")),1),t.createVNode(cn,{multiline:"",name:`op-desc-${T.modelId}`,languages:t.unref(a).languages.value,"default-lang":t.unref(a).userLanguage.value,"model-value":T.description,"onUpdate:modelValue":C=>p(T,C)},null,8,["name","languages","default-lang","model-value","onUpdate:modelValue"])]),t.createElementVNode("label",lM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a).t("em.attr.pii")),1),t.createVNode(t.unref(te.BSSelect),{width:"100%","model-value":g(T),items:d,"value-provider":m,"label-provider":u,"onUpdate:modelValue":C=>C&&b(T,C)},null,8,["model-value","onUpdate:modelValue"])]),t.createElementVNode("div",sM,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-swatch__chip em-swatch__none",{"is-on":f(T)===null}]),title:t.unref(a).t("em.swatch.none"),onClick:C=>y(T,null)},"∅",10,cM),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),C=>(t.openBlock(),t.createElementBlock("button",{key:C,type:"button",class:t.normalizeClass(["em-swatch__chip",{"is-on":f(T)===C}]),style:t.normalizeStyle({background:t.unref(Ao)(C)}),title:t.unref(a).t(t.unref(Zn)(C)),onClick:R=>y(T,C)},null,14,dM))),128))])]))),128)):t.createCommentVNode("",!0)],8,nM)):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-04208206"]]),mM=["title"],fM={class:"em-panel__head"},pM={class:"em-panel__head-row"},hM=["title"],yM={class:"em-panel__context"},gM={key:0,class:"em-panel__lock"},bM=["disabled"],_M={key:0,class:"em-panel__note"},kM={key:1,class:"em-panel__note"},EM={key:2,class:"em-jpa"},NM={class:"em-field"},wM={class:"em-field"},vM={class:"em-field"},IM={key:0,class:"em-field"},xM={class:"em-panel__note"},CM={class:"em-panel__sub"},SM={class:"em-field"},$M={class:"em-field"},RM={class:"em-jpa"},AM={key:0,class:"em-panel__note"},TM={key:1,class:"em-panel__note"},MM={class:"em-jpa"},VM={class:"em-field"},BM={key:0,class:"em-panel__note"},DM={class:"em-field"},LM={class:"em-multilang"},OM={class:"em-field"},PM=["value"],zM={class:"em-field"},FM={class:"em-swatch"},UM={class:"em-swatch__row"},HM=["title"],jM=["title","onClick"],KM={class:"em-panel__note"},GM={class:"em-field"},YM=["value"],qM={class:"em-swatch"},WM={class:"em-swatch__row"},JM=["title"],XM=["title","onClick"],Wp=Ke(t.defineComponent({__name:"PropertyPanel",props:{controller:{},width:{},resizing:{type:Boolean},startResize:{type:Function}},emits:["collapse"],setup(e,{expose:n,emit:o}){const i=e,a=o,r=t.ref(null);n({focusCollapse:()=>{var U;return(U=r.value)==null?void 0:U.focus()}});const l=i.controller,s=t.computed(()=>l.selection.value),c=t.computed(()=>l.inspectedEntityId.value),d=t.computed(()=>{const U=c.value;return U?l.state.logical.entities.find(H=>H.modelId===U)??null:null}),u=t.computed(()=>{const U=s.value;if((U==null?void 0:U.kind)==="association")return l.isAssociationLocked(U.id);const H=c.value;return!!H&&l.isEntityLocked(H)}),m=t.computed(()=>{var U;return((U=l.selectedAttr.value)==null?void 0:U.attrId)??null}),h=t.computed(()=>new Set(l.selectedAttrIds.value)),p=t.computed(()=>m.value!==null),g=t.ref({});t.watch(p,()=>{g.value={}});function b(U){return g.value[U]??p.value}function f(U){g.value={...g.value,[U]:!b(U)}}const y=t.computed(()=>{var q;const U=d.value;if(!U)return l.t("em.entity.fallback");const H=(q=U.table)==null?void 0:q.physicalName;return H?`${U.name} (${H})`:U.name}),k=t.computed(()=>{const U=s.value;return(U==null?void 0:U.kind)==="association"?l.state.logical.associations.find(H=>H.modelId===U.id)??null:null}),_=t.computed(()=>{const U=s.value;return(U==null?void 0:U.kind)==="group"?l.state.logical.groups.find(H=>H.modelId===U.id)??null:null}),N=t.computed(()=>{const U=s.value;return(U==null?void 0:U.kind)==="note"?l.state.layout.notes.find(H=>H.modelId===U.id)??null:null}),x=t.computed(()=>{var H,q;const U=(H=_.value)==null?void 0:H.name;return(U==null?void 0:U[l.userLanguage.value])||(U==null?void 0:U.ko)||(U==null?void 0:U.en)||(U==null?void 0:U.ja)||(U==null?void 0:U.zh)||((q=_.value)==null?void 0:q.packageName)||l.t("em.group.fallback")}),T=t.computed(()=>{if(d.value){const U=h.value.size;if(U>1)return l.t("em.inspector.ctxEntityAttrs",{name:d.value.name,n:U});if(m.value){const H=d.value.attributes.find(q=>q.modelId===m.value);return(H==null?void 0:H.attrType)==="DIVIDER"?l.t("em.inspector.ctxEntityDivider",{name:d.value.name}):l.t("em.inspector.ctxEntityAttr",{name:d.value.name,attr:(H==null?void 0:H.name)??""})}return l.t("em.inspector.ctxEntity",{name:d.value.name})}if(k.value){const U=H=>{var q;return((q=l.state.logical.entities.find(xe=>xe.modelId===H))==null?void 0:q.name)??H};return l.t("em.inspector.ctxAssoc",{a:U(k.value.end1.entityRef),b:U(k.value.end2.entityRef)})}return _.value?l.t("em.inspector.ctxGroup",{name:x.value}):N.value?l.t("em.inspector.ctxNote"):l.t("em.inspector.ctxNone")}),C=["NO_INSTANCE_OR_ONE_INSTANCE","EXACTLY_ONE_INSTANCE","ZERO_OR_MORE_INSTANCES","ONE_OR_MORE_INSTANCES"],R=["EXACTLY_ONE_INSTANCE","NO_INSTANCE_OR_ONE_INSTANCE","ZERO_OR_MORE_INSTANCES"],A={EXACTLY_ONE_INSTANCE:"em.embed.card1",NO_INSTANCE_OR_ONE_INSTANCE:"em.embed.card01",ZERO_OR_MORE_INSTANCES:"em.embed.card0N"},M=U=>{const H=A[U];return H?l.t(H):U},B=U=>{var H;return((H=l.state.logical.entities.find(q=>q.modelId===U))==null?void 0:H.name)??U},v=["ALL","PERSIST","MERGE","REMOVE","REFRESH","DETACH"],I=["LIST","SET"],E=["inherit","LAZY","EAGER"],w=U=>U;function $(U){return U==="inherit"?l.t("em.common.inherit"):U}const D=t.computed(()=>!!k.value&&k.value.end1.entityRef===k.value.end2.entityRef);function z(U,H){k.value&&l.updateAssociationEnd(k.value.modelId,U,H)}function K(U){return ie.value?U:U==="end1"?"end2":"end1"}function J(U){var De;const H=(De=k.value)==null?void 0:De[U];if(!(H!=null&&H.attributeRef))return;const q=l.state.logical.entities.find(W=>W.modelId===H.entityRef),xe=q==null?void 0:q.attributes.find(W=>W.modelId===H.attributeRef);return xe&&(xe.attrType==="RELATION_OWN"||xe.attrType==="RELATION_REF")?xe.name:void 0}function re(U,H){var xe;const q=(xe=k.value)==null?void 0:xe[U];q!=null&&q.attributeRef&&l.updateAttribute(q.entityRef,q.attributeRef,{name:H})}function he(U){var W;const H=J(U);if(H!==void 0)return H;const q=(W=k.value)==null?void 0:W[U];if(q!=null&&q.navFieldNameHint)return q.navFieldNameHint;const xe=U==="end1"?"end2":"end1",De=l.state.logical.entities.find(ne=>{var G;return ne.modelId===((G=k.value)==null?void 0:G[xe].entityRef)});return De?Fi(De.name,Pi(k.value[xe].multiplicity)):""}function ce(U){return!!ie.value||J(U)!==void 0}function Ne(U){k.value&&!D.value&&l.setAssociationIdentifying(k.value.modelId,U)}function pe(U){var H,q,xe;return!!((xe=(q=(H=k.value)==null?void 0:H[U].jpa)==null?void 0:q.cascadeTypes)!=null&&xe.includes("ALL"))}function de(U,H,q){var W,ne;const xe=(W=k.value)==null?void 0:W[U];if(H==="ALL"&&q){z(U,{jpa:{...xe==null?void 0:xe.jpa,cascadeTypes:["ALL"]}});return}const De=new Set(((ne=xe==null?void 0:xe.jpa)==null?void 0:ne.cascadeTypes)??[]);q?De.add(H):De.delete(H),z(U,{jpa:{...xe==null?void 0:xe.jpa,cascadeTypes:[...De]}})}function _e(U,H){var xe;const q=(xe=k.value)==null?void 0:xe[U];z(U,{jpa:{...q==null?void 0:q.jpa,...H}})}function Se(U){var H,q;return((q=(H=k.value)==null?void 0:H[U].jpa)==null?void 0:q.fetchType)??"inherit"}function me(U,H){_e(U,{fetchType:H==="inherit"?void 0:H})}function ye(U){var q;const H=(q=k.value)==null?void 0:q[U==="end1"?"end2":"end1"];return(H==null?void 0:H.multiplicity)==="ZERO_OR_MORE_INSTANCES"||(H==null?void 0:H.multiplicity)==="ONE_OR_MORE_INSTANCES"}const ie=t.computed(()=>{const U=k.value;if(!U)return null;for(const H of l.state.logical.entities){const q=H.attributes.find(ne=>{var G;return((G=ne.embedded)==null?void 0:G.associationRef)===U.modelId&&ne.attrType==="EMBED_OWN"});if(!q)continue;const xe=U.end2.entityRef===q.embedded.embeddableRef?"end2":"end1",De=U[xe].multiplicity,W=U[xe].jpa;return{which:xe,cardinality:De,isCollection:De==="ZERO_OR_MORE_INSTANCES"||De==="ONE_OR_MORE_INSTANCES",collectionType:(W==null?void 0:W.collectionType)??"LIST",collectionTable:(W==null?void 0:W.collectionTable)??"",orderColumn:(W==null?void 0:W.orderColumn)??""}}return null});function se(U){k.value&&l.setEmbedCardinality(k.value.modelId,U)}function fe(U){const H=ie.value;H&&_e(H.which,U==="SET"?{collectionType:"SET",orderColumn:void 0}:{collectionType:"LIST"})}function O(U){const H=ie.value;H&&_e(H.which,{collectionTable:U.trim()||void 0})}function L(U){const H=ie.value;H&&_e(H.which,{orderColumn:U.trim()||void 0})}function F(U){_.value&&l.updateGroup(_.value.modelId,U)}function Q(U,H){var q;F({name:{...(q=_.value)==null?void 0:q.name,[U]:H}})}const Y=t.computed(()=>{var U;return _.value?_t((U=l.state.layout.groupLayouts.find(H=>H.groupRef===_.value.modelId))==null?void 0:U.style):null});function ke(U){_.value&&l.setGroupSwatch(_.value.modelId,U)}function be(U){N.value&&l.setNoteMemo(N.value.modelId,U)}const Ce=t.computed(()=>{var U;return _t((U=N.value)==null?void 0:U.style)});function Ie(U){N.value&&l.setNoteSwatch(N.value.modelId,U)}return(U,H)=>(t.openBlock(),t.createElementBlock("aside",{class:"em-panel",style:t.normalizeStyle({width:e.width+"px"})},[t.createElementVNode("div",{class:t.normalizeClass(["em-resize-handle em-resize-handle--left",{"is-dragging":e.resizing}]),title:t.unref(l).t("em.panel.resizeWidth"),onPointerdown:H[0]||(H[0]=(...q)=>e.startResize&&e.startResize(...q))},null,42,mM),t.createElementVNode("header",fM,[t.createElementVNode("div",pM,[H[14]||(H[14]=t.createElementVNode("h3",{class:"em-panel__title"},"Inspector",-1)),t.createElementVNode("button",{ref_key:"collapseBtn",ref:r,type:"button",class:"em-panel__btn",title:t.unref(l).t("em.panel.collapse"),onClick:H[1]||(H[1]=q=>a("collapse"))},[t.createVNode(Ae,{name:"panel-right-close",size:16})],8,hM)]),t.createElementVNode("p",yM,t.toDisplayString(T.value),1),u.value&&c.value?(t.openBlock(),t.createElementBlock("div",gM,[t.createVNode(Ae,{name:"lock",size:13}),t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.panel.lockedBanner")),1),t.unref(l).editable.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-panel__unlock",onClick:H[2]||(H[2]=q=>t.unref(l).setEntityLocked(c.value,!1))},t.toDisplayString(t.unref(l).t("em.panel.unlock")),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)]),t.createElementVNode("fieldset",{class:"em-panel__body em-scroll-overlay",disabled:!t.unref(l).editable.value||u.value},[d.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(Xm,{controller:t.unref(l),"entity-id":d.value.modelId,collapsible:"",collapsed:b("basics"),title:y.value,onToggle:H[3]||(H[3]=q=>f("basics"))},null,8,["controller","entity-id","collapsed","title"]),t.createVNode(W2,{controller:t.unref(l),"entity-id":d.value.modelId},null,8,["controller","entity-id"]),t.createVNode(tM,{controller:t.unref(l),"entity-id":d.value.modelId,collapsible:"",collapsed:b("index"),onToggle:H[4]||(H[4]=q=>f("index"))},null,8,["controller","entity-id","collapsed"]),t.createVNode(uM,{controller:t.unref(l),"entity-id":d.value.modelId,collapsible:"",collapsed:b("ops"),onToggle:H[5]||(H[5]=q=>f("ops"))},null,8,["controller","entity-id","collapsed"])],64)):t.createCommentVNode("",!0),k.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(t.unref(te.BSCheckbox),{name:"assoc-identifying",class:"em-check",label:t.unref(l).t("em.assoc.identifying"),"model-value":!!k.value.identifying,disabled:D.value||!!ie.value,"onUpdate:modelValue":Ne},null,8,["label","model-value","disabled"]),D.value?(t.openBlock(),t.createElementBlock("p",_M,t.toDisplayString(t.unref(l).t("em.assoc.selfNoIdentifying")),1)):ie.value?(t.openBlock(),t.createElementBlock("p",kM,t.toDisplayString(t.unref(l).t("em.assoc.embedNoIdentifying")),1)):t.createCommentVNode("",!0),ie.value?(t.openBlock(),t.createElementBlock("fieldset",EM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.embed.legend")),1),t.createElementVNode("label",NM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.embed.cardinality")),1),t.createVNode(t.unref(te.BSSelect),{"model-value":ie.value.cardinality,items:R,"value-provider":w,"label-provider":M,"onUpdate:modelValue":H[6]||(H[6]=q=>q&&se(q))},null,8,["model-value"])]),ie.value.isCollection?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("label",wM,[H[15]||(H[15]=t.createElementVNode("span",null,"collectionType",-1)),t.createVNode(t.unref(te.BSSelect),{"model-value":ie.value.collectionType,items:I,"value-provider":w,"label-provider":w,"onUpdate:modelValue":H[7]||(H[7]=q=>q&&fe(q))},null,8,["model-value"])]),t.createElementVNode("label",vM,[H[16]||(H[16]=t.createElementVNode("span",null,"collectionTable",-1)),t.createVNode(t.unref(te.BSTextInput),{name:"embed-coll-table",width:"100%",placeholder:t.unref(l).t("em.embed.collectionTablePlaceholder"),"model-value":ie.value.collectionTable,"onUpdate:modelValue":O},null,8,["placeholder","model-value"])]),ie.value.collectionType==="LIST"?(t.openBlock(),t.createElementBlock("label",IM,[H[17]||(H[17]=t.createElementVNode("span",null,"orderColumn",-1)),t.createVNode(t.unref(te.BSTextInput),{name:"embed-order-col",width:"100%",placeholder:t.unref(l).t("em.embed.orderColumnPlaceholder"),"model-value":ie.value.orderColumn,"onUpdate:modelValue":L},null,8,["placeholder","model-value"])])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0),t.createElementVNode("p",xM,t.toDisplayString(t.unref(l).t("em.embed.ownerFixedNote")),1)])):t.createCommentVNode("",!0),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(["end1","end2"],q=>{var xe,De,W;return t.withDirectives(t.createElementVNode("div",{key:q,class:"em-end"},[t.createElementVNode("h4",CM,t.toDisplayString(q)+" → "+t.toDisplayString(B(k.value[q].entityRef)),1),ie.value?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("label",SM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.assoc.multiplicity")),1),t.createVNode(t.unref(te.BSSelect),{"model-value":k.value[q].multiplicity,items:C,"value-provider":w,"label-provider":t.unref(zi),"onUpdate:modelValue":ne=>z(q,{multiplicity:ne})},null,8,["model-value","label-provider","onUpdate:modelValue"])]),t.createVNode(t.unref(te.BSCheckbox),{name:`${K(q)}-navigable`,class:"em-check",label:"navigable",title:K(q)==="end2"?t.unref(l).t("em.assoc.ownerNavFixed"):void 0,disabled:K(q)==="end2","model-value":K(q)==="end2"?!0:k.value[K(q)].navigable,"onUpdate:modelValue":ne=>z(K(q),{navigable:ne})},null,8,["name","title","disabled","model-value","onUpdate:modelValue"]),t.createElementVNode("label",$M,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.assoc.navFieldName")),1),t.createVNode(t.unref(te.BSTextInput),{name:`${K(q)}-navname`,width:"100%",disabled:!ce(K(q)),placeholder:t.unref(l).t("em.attr.namePlaceholder"),"model-value":he(K(q)),"onUpdate:modelValue":ne=>re(K(q),ne)},null,8,["name","disabled","placeholder","model-value","onUpdate:modelValue"])]),t.createVNode(t.unref(te.BSCheckbox),{name:`${K(q)}-composition`,class:"em-check",label:"composition","model-value":k.value[K(q)].composition,"onUpdate:modelValue":ne=>z(K(q),{composition:ne})},null,8,["name","model-value","onUpdate:modelValue"])],64)),t.createElementVNode("fieldset",RM,[H[18]||(H[18]=t.createElementVNode("legend",null,"cascade",-1)),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(v,ne=>{var G,P;return t.createVNode(t.unref(te.BSCheckbox),{key:ne,name:`${K(q)}-cascade-${ne}`,class:"em-check",label:ne,"model-value":!!((P=(G=k.value[K(q)].jpa)==null?void 0:G.cascadeTypes)!=null&&P.includes(ne)),disabled:!ce(K(q))||ne!=="ALL"&&pe(K(q)),"onUpdate:modelValue":ae=>de(K(q),ne,ae)},null,8,["name","label","model-value","disabled","onUpdate:modelValue"])}),64)),ce(K(q))?pe(K(q))?(t.openBlock(),t.createElementBlock("p",TM,t.toDisplayString(t.unref(l).t("em.assoc.cascadeAllNote")),1)):t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("p",AM,t.toDisplayString(t.unref(l).t("em.assoc.navRequiredNote")),1))]),t.createElementVNode("fieldset",MM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.assoc.jpaDetails")),1),t.createElementVNode("label",VM,[H[19]||(H[19]=t.createElementVNode("span",null,"fetchType",-1)),t.createVNode(t.unref(te.BSSelect),{disabled:!ce(K(q)),"model-value":Se(K(q)),items:E,"value-provider":w,"label-provider":$,"onUpdate:modelValue":ne=>ne&&me(K(q),ne)},null,8,["disabled","model-value","onUpdate:modelValue"])]),t.createVNode(t.unref(te.BSCheckbox),{name:`${K(q)}-orphan`,class:"em-check",label:"orphanRemoval","model-value":!!((xe=k.value[K(q)].jpa)!=null&&xe.orphanRemoval),disabled:!ce(K(q))||ye(q),"onUpdate:modelValue":ne=>_e(K(q),{orphanRemoval:ne})},null,8,["name","model-value","disabled","onUpdate:modelValue"]),ye(q)&&((De=k.value[K(q)].jpa)!=null&&De.orphanRemoval)?(t.openBlock(),t.createElementBlock("p",BM,t.toDisplayString(t.unref(l).t("em.assoc.orphanRemovalNote")),1)):t.createCommentVNode("",!0),t.createElementVNode("label",DM,[H[20]||(H[20]=t.createElementVNode("span",null,"orderBy",-1)),t.createVNode(t.unref(te.BSTextInput),{name:`${K(q)}-orderby`,width:"100%",disabled:!ce(K(q)),placeholder:t.unref(l).t("em.assoc.orderByPlaceholder"),"model-value":((W=k.value[K(q)].jpa)==null?void 0:W.orderBy)??"","onUpdate:modelValue":ne=>_e(K(q),{orderBy:ne.trim()||void 0})},null,8,["name","disabled","placeholder","model-value","onUpdate:modelValue"])])])]),[[t.vShow,!ie.value||q===ie.value.which]])}),64))],64)):t.createCommentVNode("",!0),_.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createElementVNode("fieldset",LM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.group.nameLegend")),1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l).languages.value,q=>{var xe;return t.openBlock(),t.createElementBlock("label",{key:q,class:"em-lang"},[t.createElementVNode("span",null,t.toDisplayString(q),1),t.createVNode(t.unref(te.BSTextInput),{name:`grp-name-${q}`,width:"100%","model-value":((xe=_.value.name)==null?void 0:xe[q])??"","onUpdate:modelValue":De=>Q(q,De)},null,8,["name","model-value","onUpdate:modelValue"])])}),128))]),t.createElementVNode("label",OM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.common.description")),1),t.createElementVNode("textarea",{class:"em-textarea",value:_.value.description??"",rows:"3",onChange:H[8]||(H[8]=q=>F({description:q.target.value}))},null,40,PM)]),t.createElementVNode("label",zM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.entity.package")),1),t.createVNode(t.unref(te.BSTextInput),{name:"grp-package",width:"100%","model-value":_.value.packageName??"","onUpdate:modelValue":H[9]||(H[9]=q=>F({packageName:q}))},null,8,["model-value"])]),t.createVNode(t.unref(te.BSCheckbox),{name:"grp-exclude-ddl",class:"em-check",label:t.unref(l).t("em.group.excludeDDL"),"model-value":_.value.excludeDDLGeneration,"onUpdate:modelValue":H[10]||(H[10]=q=>F({excludeDDLGeneration:q}))},null,8,["label","model-value"]),t.createElementVNode("fieldset",FM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.common.color")),1),t.createElementVNode("div",UM,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-swatch__chip em-swatch__none",{"is-on":Y.value===null}]),title:t.unref(l).t("em.swatch.none"),onClick:H[11]||(H[11]=q=>ke(null))},"∅",10,HM),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),q=>(t.openBlock(),t.createElementBlock("button",{key:q,type:"button",class:t.normalizeClass(["em-swatch__chip",{"is-on":Y.value===q}]),style:t.normalizeStyle({background:t.unref(Ao)(q)}),title:t.unref(l).t(t.unref(Zn)(q)),onClick:xe=>ke(q)},null,14,jM))),128))])]),t.createElementVNode("p",KM,t.toDisplayString(t.unref(l).t("em.group.members",{n:_.value.memberEntityRefs.length})),1)],64)):t.createCommentVNode("",!0),N.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createElementVNode("label",GM,[t.createElementVNode("span",null,t.toDisplayString(t.unref(l).t("em.common.memo")),1),t.createElementVNode("textarea",{class:"em-textarea",value:N.value.memo,rows:"6",onChange:H[12]||(H[12]=q=>be(q.target.value))},null,40,YM)]),t.createElementVNode("fieldset",qM,[t.createElementVNode("legend",null,t.toDisplayString(t.unref(l).t("em.common.color")),1),t.createElementVNode("div",WM,[t.createElementVNode("button",{type:"button",class:t.normalizeClass(["em-swatch__chip em-swatch__none",{"is-on":Ce.value===null}]),title:t.unref(l).t("em.swatch.none"),onClick:H[13]||(H[13]=q=>Ie(null))},"∅",10,JM),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Xn),q=>(t.openBlock(),t.createElementBlock("button",{key:q,type:"button",class:t.normalizeClass(["em-swatch__chip",{"is-on":Ce.value===q}]),style:t.normalizeStyle({background:t.unref(Ao)(q)}),title:t.unref(l).t(t.unref(Zn)(q)),onClick:xe=>Ie(q)},null,14,XM))),128))])])],64)):t.createCommentVNode("",!0)],8,bM)],4))}}),[["__scopeId","data-v-d86b8a5b"]]),ZM=["title"],QM={class:"em-validation__title"},eV=["title","onClick"],tV={key:0,class:"em-validation__body"},nV={class:"em-validation__opt"},oV={key:0,class:"em-validation__empty"},iV={key:1,class:"em-validation__empty"},aV={key:2,class:"em-validation__list"},rV=["onClick"],lV={class:"em-validation__item-msg"},sV={key:0,class:"em-validation__item-entity"},cV=["title","onClick"],dV=["title"],uV=Ke(t.defineComponent({__name:"ValidationPanel",props:{controller:{},panelWidth:{},inspectorOpen:{type:Boolean,default:!0}},setup(e){const o=e.controller,i=t.computed(()=>o.issues.value),a=t.computed(()=>{const b=new Map;for(const f of o.state.logical.entities)b.set(f.modelId,f.name);return b});function r(b){const f=WN(b);if(!f)return null;const y=a.value.get(f);return y===void 0?null:y.trim()===""?o.t("em.validation.nameless"):y}const l={error:{order:0,icon:"alert-circle",labelKey:"em.validation.severityError"},warning:{order:1,icon:"alert-triangle",labelKey:"em.validation.severityWarning"},info:{order:2,icon:"info",labelKey:"em.validation.severityInfo"}},s=t.computed(()=>{const b={error:0,warning:0,info:0};for(const f of i.value)b[f.severity]++;return b}),c=t.ref({error:!0,warning:!0,info:!0}),d=t.computed(()=>i.value.filter(b=>c.value[b.severity]).slice().sort((b,f)=>l[b.severity].order-l[f.severity].order)),u=t.computed(()=>d.value.map(b=>({issue:b,entityName:r(b),message:Jm(o.t,b),category:YN(o.t,b.ruleId)}))),m=t.ref(!1);function h(b){c.value[b]=!c.value[b]}function p(b){if(!m.value){m.value=!0;return}h(b)}function g(b){b.targetRef&&o.requestFocus(b.targetRef)}return(b,f)=>(t.openBlock(),t.createElementBlock("section",{class:t.normalizeClass(["em-validation",{"is-open":m.value,"is-inspector-collapsed":!e.inspectorOpen}]),style:t.normalizeStyle(m.value||!e.inspectorOpen?void 0:{width:e.panelWidth+"px"})},[t.createElementVNode("header",{class:"em-validation__head",onClick:f[1]||(f[1]=y=>m.value=!m.value)},[t.createElementVNode("button",{type:"button",class:"em-validation__toggle",title:t.unref(o).t(m.value?"em.panel.collapse":"em.panel.expand")},[t.createVNode(Ae,{name:"chevron",size:14,class:t.normalizeClass([{"is-open":m.value},"em-validation__chevron"])},null,8,["class"]),t.createElementVNode("span",QM,t.toDisplayString(t.unref(o).t("em.validation.title")),1)],8,ZM),t.createElementVNode("div",{class:"em-validation__counts",onClick:f[0]||(f[0]=t.withModifiers(()=>{},["stop"]))},[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(["error","warning","info"],y=>t.createElementVNode("button",{key:y,type:"button",class:t.normalizeClass(["em-validation__count",[`is-${y}`,{"is-off":!c.value[y]}]]),title:m.value?t.unref(o).t(c.value[y]?"em.validation.hideSeverity":"em.validation.showSeverity",{label:t.unref(o).t(l[y].labelKey)}):t.unref(o).t("em.validation.expandPanel"),onClick:k=>p(y)},[t.createVNode(Ae,{name:l[y].icon,size:14},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(s.value[y]),1)],10,eV)),64))])]),m.value?(t.openBlock(),t.createElementBlock("div",tV,[t.createElementVNode("label",nV,[t.createVNode(t.unref(te.BSCheckbox),{name:"val-flag-norel",label:t.unref(o).t("em.validation.checkOrphanEntities"),"model-value":t.unref(o).flagEntitiesWithoutRelations.value,"onUpdate:modelValue":f[2]||(f[2]=y=>t.unref(o).flagEntitiesWithoutRelations.value=y)},null,8,["label","model-value"])]),i.value.length===0?(t.openBlock(),t.createElementBlock("p",oV,t.toDisplayString(t.unref(o).t("em.validation.noIssues")),1)):d.value.length===0?(t.openBlock(),t.createElementBlock("p",iV,t.toDisplayString(t.unref(o).t("em.validation.noVisibleIssues")),1)):(t.openBlock(),t.createElementBlock("ul",aV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,({issue:y,entityName:k,message:_,category:N},x)=>(t.openBlock(),t.createElementBlock("li",{key:`${y.ruleId}:${y.targetRef??"model"}:${x}`,class:t.normalizeClass(["em-validation__item",[`is-${y.severity}`,{"is-clickable":!!y.targetRef}]]),onClick:T=>g(y)},[t.createVNode(Ae,{name:l[y.severity].icon,size:15,class:"em-validation__item-icon"},null,8,["name"]),t.createElementVNode("span",lV,[k?(t.openBlock(),t.createElementBlock("span",sV,t.toDisplayString(k),1)):t.createCommentVNode("",!0),t.createTextVNode(" "+t.toDisplayString(_),1)]),t.unref(o).hasQuickFix(y)?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-validation__item-fix",title:t.unref(o).t("em.validation.quickFixTip"),onClick:t.withModifiers(T=>t.unref(o).applyQuickFix(y),["stop"])},t.toDisplayString(t.unref(o).t("em.validation.quickFix")),9,cV)):t.createCommentVNode("",!0),t.createElementVNode("span",{class:"em-validation__item-cat",title:y.ruleId},t.toDisplayString(N),9,dV)],10,rV))),128))]))])):t.createCommentVNode("",!0)],6))}}),[["__scopeId","data-v-251fd3f0"]]),mV={class:"em-history"},fV={class:"em-history__head"},pV={class:"em-history__title"},hV={class:"em-history__head-actions"},yV=["title","disabled"],gV=["title"],bV={class:"em-history__filters"},_V={class:"em-history__filter"},kV={class:"em-history__filters em-history__filters--period"},EV={class:"em-history__filter-label"},NV=["title","aria-label","max"],wV=["title","aria-label","min"],vV=["title"],IV={key:0,class:"em-history__diffbar"},xV={class:"em-history__diffbar-range"},CV={class:"em-history__diffbar-count"},SV={class:"em-history__body"},$V={key:0,class:"em-history__empty"},RV={key:1,class:"em-history__diff-list"},AV=["onClick"],TV={class:"em-history__action-head"},MV={class:"em-history__action-name"},VV={key:0,class:"em-history__fields"},BV={class:"em-history__fname"},DV={key:0,class:"em-history__old"},LV={class:"em-history__val"},OV={key:1,class:"em-history__empty"},PV={key:2,class:"em-history__empty is-error"},zV={key:3,class:"em-history__empty"},FV={key:4,class:"em-history__list"},UV=["onClick"],HV={class:"em-history__summary"},jV={class:"em-history__seq"},KV={class:"em-history__gmeta"},GV={class:"em-history__who"},YV={key:0,class:"em-history__time"},qV={key:1,class:"em-history__restored-from"},WV=["onClick"],JV={key:0,class:"em-history__detail"},XV={class:"em-history__action-head"},ZV={class:"em-history__action-name"},QV={key:0,class:"em-history__fields"},eB={class:"em-history__fname"},tB={key:0,class:"em-history__old"},nB={class:"em-history__val"},oB={class:"em-history__preview"},iB=["disabled"],aB={key:0,class:"em-history__diff-list is-preview"},rB={class:"em-history__action-head"},lB={class:"em-history__action-name"},sB={key:0,class:"em-history__fields"},cB={class:"em-history__fname"},dB={key:0,class:"em-history__old"},uB={class:"em-history__val"},mB={class:"em-history__confirm-row"},fB={class:"em-history__confirm-msg"},pB=["disabled","onClick"],hB=["disabled"],yB=["onClick"],gr=50,gB=Ke(t.defineComponent({__name:"HistoryPanel",props:{controller:{},open:{type:Boolean}},emits:["close","diffChange"],setup(e,{emit:n}){const o=e,i=n,a=o.controller,r=t.ref([]),l=t.ref(!1),s=t.ref(null),c=t.ref(!1),d=t.computed(()=>r.value.reduce((G,P)=>P.seq>G?P.seq:G,-1/0));async function u(G){if(a.historyTransport){l.value=!0,s.value=null;try{const P=!(G!=null&&G.full)&&r.value.length>0&&Number.isFinite(d.value),ae=await a.historyTransport(P?d.value:void 0);if(!P)r.value=ae;else if(ae.length){const $e=new Set(r.value.map(j=>j.seq)),le=ae.filter(j=>!$e.has(j.seq));le.length&&(r.value=[...r.value,...le])}c.value=!0}catch(P){s.value=P instanceof Error?P.message:a.t("em.history.loadError")}finally{l.value=!1}}}async function m(){await a.whenOpsSettled(),await u()}const h=t.ref(null),p=t.ref(null);t.watch(()=>o.open,G=>{G?m():(h.value=null,p.value=null)},{immediate:!0});let g=null;t.watch(()=>a.revision.value,()=>{o.open&&(g&&clearTimeout(g),g=setTimeout(()=>void m(),500))}),t.watch(()=>a.reloadRequest.value,()=>{o.open&&m()});const b=t.computed(()=>new Map(a.state.logical.entities.map(G=>[G.modelId,G]))),f=t.computed(()=>new Map(a.state.logical.associations.map(G=>[G.modelId,G]))),y=t.computed(()=>{const G=a.userLanguage.value;return new Map((a.state.logical.groups??[]).map(P=>{var ae,$e;return[P.modelId,P.packageName||((ae=P.name)==null?void 0:ae[G])||(($e=P.name)==null?void 0:$e.ko)||P.modelId]}))});function k(G){var le,j,Xe,rt,He,Pe,Oe;const P=f.value.get(G);if(!P)return a.t("em.history.assocFallback");if((le=P.description)!=null&&le.trim())return P.description.trim();const ae=(rt=(Xe=b.value.get((j=P.end1)==null?void 0:j.entityRef))==null?void 0:Xe.name)==null?void 0:rt.trim(),$e=(Oe=(Pe=b.value.get((He=P.end2)==null?void 0:He.entityRef))==null?void 0:Pe.name)==null?void 0:Oe.trim();return ae&&$e?`${ae}→${$e}`:a.t("em.history.assocFallback")}function _(G){var P,ae,$e,le;if(G.kind==="entity")return((ae=(P=b.value.get(G.ref))==null?void 0:P.name)==null?void 0:ae.trim())||a.t("em.attr.nameless");if(G.kind==="attribute"||G.kind==="operation"||G.kind==="index"){const j=G.entityRef?b.value.get(G.entityRef):void 0,rt=((G.kind==="attribute"?j==null?void 0:j.attributes:G.kind==="operation"?j==null?void 0:j.operations:j==null?void 0:j.indexes)??[]).find(Pe=>Pe.modelId===G.ref),He=($e=j==null?void 0:j.name)==null?void 0:$e.trim();return`${He?He+".":""}${((le=rt==null?void 0:rt.name)==null?void 0:le.trim())||G.ref}`}return G.kind==="association"?k(G.ref):G.kind==="associationEnd"?`${k(G.ref)}(${G.end})`:G.kind==="group"?a.t("em.history.groupSubject",{name:y.value.get(G.ref)??G.ref}):G.ref}const N={entity:"table",attribute:"field",operation:"method",index:"key",association:"link",associationEnd:"link",group:"folder"},x={add:"em.history.verbAdd",update:"em.history.verbUpdate",remove:"em.history.verbRemove"},T=t.ref("all"),C=[{v:"all",labelKey:"em.history.filterAll"},{v:"edit",labelKey:"em.history.kindEdit"},{v:"restore",labelKey:"em.history.kindRestore"}],R=t.computed({get:()=>T.value,set:G=>{G&&(T.value=G)}}),A=t.computed(()=>Yr(r.value)),M=t.computed(()=>A.value.length?A.value[0].seq:null),B=t.computed(()=>T.value==="all"?A.value:A.value.filter(G=>(G.kind??"edit")===T.value)),v=t.ref(gr),I=t.ref(""),E=t.ref(""),w=t.computed(()=>!!I.value||!!E.value);function $(){I.value="",E.value=""}const D=t.computed(()=>{const G=I.value?new Date(`${I.value}T00:00:00`).getTime():null,P=E.value?new Date(`${E.value}T23:59:59.999`).getTime():null;return G==null&&P==null?B.value:B.value.filter(ae=>{if(ae.ts==null)return!1;const $e=new Date(ae.ts).getTime();return!(isNaN($e)||G!=null&&$e<G||P!=null&&$e>P)})}),z=t.computed(()=>D.value.slice(0,v.value)),K=t.computed(()=>Math.max(0,D.value.length-v.value));function J(){v.value+=gr}t.watch([T,I,E],()=>{v.value=gr}),t.watch(()=>o.open,G=>{G&&(v.value=gr,$())});function re(G){return G===void 0?"—":G===null?a.t("em.history.emptyValue"):typeof G=="object"?JSON.stringify(G):String(G)}function he(G){const P=_(G.subject);if(G.verb==="add")return a.t("em.history.summaryAdd",{name:P});if(G.verb==="remove")return a.t("em.history.summaryRemove",{name:P});if(G.fields.length===1){const ae=G.fields[0];return`${P}.${ae.field} ${ae.oldValue!==void 0?re(ae.oldValue)+"→":""}${re(ae.value)}`}return a.t("em.history.summaryFields",{name:P,n:G.fields.length})}function ce(G){return G.actions.length===0?a.t("em.history.noChange"):G.actions.length===1?he(G.actions[0]):a.t("em.history.summaryMore",{summary:he(G.actions[0]),n:G.actions.length-1})}const Ne=t.ref(new Set);function pe(G){const P=new Set(Ne.value);P.has(G)?P.delete(G):P.add(G),Ne.value=P}function de(G){if(G==null)return"";const P=new Date(G);return isNaN(P.getTime())?String(G):P.toLocaleString()}function _e(G){const P=G.author,ae=G.origin;return P&&ae?`${P}(${ae})`:P||(ae?`(${ae})`:"—")}const Se=t.computed(()=>h.value==null?null:qr(r.value,{fromSeq:h.value,...p.value!=null?{toSeq:p.value}:{}}));t.watch(()=>Se.value?Ac(Se.value):null,G=>i("diffChange",G));function me(G){h.value=G,p.value=null,H.value=null}function ye(){h.value=null,p.value=null}const ie=t.computed(()=>A.value.map(G=>G.seq)),se=t.computed(()=>M.value??1/0),fe=t.computed(()=>p.value??se.value),O=t.computed(()=>p.value??se.value),L=t.computed(()=>ie.value.filter(G=>G<fe.value).map(G=>({v:G}))),F=t.computed(()=>ie.value.filter(G=>h.value!=null&&G>h.value).map(G=>({v:G})));function Q(G){G!=null&&(h.value=G,p.value!=null&&p.value<=G&&(p.value=null))}function Y(G){G!=null&&(p.value=G>=se.value?null:G)}function ke(G){return G>=se.value?a.t("em.history.diff.current"):`#${G}`}function be(G){return G.kind==="entity"?b.value.has(G.ref)?G.ref:null:(G.kind==="attribute"||G.kind==="operation"||G.kind==="index")&&G.entityRef?b.value.has(G.entityRef)?G.entityRef:null:G.kind==="group"&&y.value.has(G.ref)?G.ref:null}function Ce(G){const P=be(G);P&&a.requestFocus(P)}const Ie={added:"em.history.verbAdd",modified:"em.history.verbUpdate",removed:"em.history.verbRemove"},U={added:"add",modified:"update",removed:"remove"},H=t.ref(null),q=t.ref(!1),xe=t.computed(()=>H.value==null?null:qr(r.value,{fromSeq:H.value})),De=t.ref(!1);function W(G){H.value=G,De.value=!1}async function ne(G){q.value=!0;try{const P=await a.restoreToSeq(G);P.ok?(h.value=null,p.value=null):s.value=a.t("em.history.restoreFailed",{reason:P.reason??a.t("em.history.unknown")})}finally{q.value=!1,H.value=null}}return(G,P)=>(t.openBlock(),t.createBlock(t.Transition,{name:"em-history"},{default:t.withCtx(()=>{var ae,$e;return[t.withDirectives(t.createElementVNode("section",mV,[t.createElementVNode("header",fV,[t.createElementVNode("div",pV,[t.createVNode(Ae,{name:"undo",size:15}),t.createElementVNode("span",null,t.toDisplayString(t.unref(a).t("em.history.title")),1)]),t.createElementVNode("div",hV,[t.createElementVNode("button",{type:"button",class:"em-history__btn",title:t.unref(a).t("em.history.refresh"),disabled:l.value,onClick:P[0]||(P[0]=le=>u({full:!0}))},[t.createVNode(Ae,{name:"redo",size:15})],8,yV),t.createElementVNode("button",{type:"button",class:"em-history__btn",title:t.unref(a).t("em.common.close"),onClick:P[1]||(P[1]=le=>i("close"))},[t.createVNode(Ae,{name:"panel-close",size:15})],8,gV)])]),t.createElementVNode("div",bV,[t.createElementVNode("label",_V,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a).t("em.toolbar.displayLabel")),1),t.createVNode(t.unref(te.BSSelect),{modelValue:R.value,"onUpdate:modelValue":P[2]||(P[2]=le=>R.value=le),items:C,"value-provider":le=>le.v,"label-provider":le=>t.unref(a).t(le.labelKey)},null,8,["modelValue","value-provider","label-provider"])])]),t.createElementVNode("div",kV,[t.createElementVNode("span",EV,t.toDisplayString(t.unref(a).t("em.history.periodLabel")),1),t.withDirectives(t.createElementVNode("input",{type:"date",class:"em-history__date",title:t.unref(a).t("em.history.periodFrom"),"aria-label":t.unref(a).t("em.history.periodFrom"),max:E.value||void 0,"onUpdate:modelValue":P[3]||(P[3]=le=>I.value=le)},null,8,NV),[[t.vModelText,I.value]]),P[9]||(P[9]=t.createElementVNode("span",{class:"em-history__period-sep"},"~",-1)),t.withDirectives(t.createElementVNode("input",{type:"date",class:"em-history__date",title:t.unref(a).t("em.history.periodTo"),"aria-label":t.unref(a).t("em.history.periodTo"),min:I.value||void 0,"onUpdate:modelValue":P[4]||(P[4]=le=>E.value=le)},null,8,wV),[[t.vModelText,E.value]]),w.value?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-history__period-reset",title:t.unref(a).t("em.history.periodReset"),onClick:$},[t.createVNode(Ae,{name:"x",size:12})],8,vV)):t.createCommentVNode("",!0)]),h.value!=null?(t.openBlock(),t.createElementBlock("div",IV,[t.createElementVNode("div",xV,[t.createVNode(t.unref(te.BSSelect),{class:"em-history__range-sel","model-value":h.value??void 0,items:L.value,"value-provider":le=>le.v,"label-provider":le=>`#${le.v}`,"onUpdate:modelValue":P[5]||(P[5]=le=>Q(le??null))},null,8,["model-value","items","value-provider","label-provider"]),t.createVNode(Ae,{name:"arrow-lr",size:12,class:"em-history__diffbar-arrow"}),t.createVNode(t.unref(te.BSSelect),{class:"em-history__range-sel","model-value":O.value,items:F.value,"value-provider":le=>le.v,"label-provider":le=>ke(le.v),"onUpdate:modelValue":P[6]||(P[6]=le=>Y(le??null))},null,8,["model-value","items","value-provider","label-provider"])]),t.createElementVNode("span",CV,t.toDisplayString(t.unref(a).t("em.history.diff.count",{n:((ae=Se.value)==null?void 0:ae.entries.length)??0})),1),t.createElementVNode("button",{type:"button",class:"em-history__diffbar-exit",onClick:ye},t.toDisplayString(t.unref(a).t("em.history.diff.exit")),1)])):t.createCommentVNode("",!0),t.createElementVNode("div",SV,[h.value!=null?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[($e=Se.value)!=null&&$e.entries.length?(t.openBlock(),t.createElementBlock("ul",RV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Se.value.entries,(le,j)=>(t.openBlock(),t.createElementBlock("li",{key:j,class:t.normalizeClass(["em-history__diff-entry",{"is-focusable":!!be(le.subject)}]),onClick:Xe=>Ce(le.subject)},[t.createElementVNode("div",TV,[t.createVNode(Ae,{name:N[le.subject.kind],size:12},null,8,["name"]),t.createElementVNode("span",MV,t.toDisplayString(_(le.subject)),1),t.createElementVNode("span",{class:t.normalizeClass(["em-history__verb",`is-${U[le.verb]}`])},t.toDisplayString(t.unref(a).t(Ie[le.verb])),3)]),le.fields.length?(t.openBlock(),t.createElementBlock("ul",VV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(le.fields,(Xe,rt)=>(t.openBlock(),t.createElementBlock("li",{key:rt,class:"em-history__field"},[t.createElementVNode("span",BV,t.toDisplayString(Xe.field),1),Xe.oldValue!==void 0?(t.openBlock(),t.createElementBlock("span",DV,t.toDisplayString(re(Xe.oldValue)),1)):t.createCommentVNode("",!0),Xe.oldValue!==void 0?(t.openBlock(),t.createBlock(Ae,{key:1,name:"arrow-lr",size:10,class:"em-history__arrow"})):t.createCommentVNode("",!0),t.createElementVNode("span",LV,t.toDisplayString(re(Xe.value)),1)]))),128))])):t.createCommentVNode("",!0)],10,AV))),128))])):(t.openBlock(),t.createElementBlock("p",$V,t.toDisplayString(t.unref(a).t("em.history.diff.empty")),1))],64)):l.value&&!c.value?(t.openBlock(),t.createElementBlock("p",OV,t.toDisplayString(t.unref(a).t("em.history.loading")),1)):s.value?(t.openBlock(),t.createElementBlock("p",PV,t.toDisplayString(s.value),1)):D.value.length===0?(t.openBlock(),t.createElementBlock("p",zV,t.toDisplayString(c.value?t.unref(a).t("em.history.emptyLoaded"):t.unref(a).t("em.history.emptyNotLoaded")),1)):(t.openBlock(),t.createElementBlock("ul",FV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(z.value,le=>{var j,Xe,rt;return t.openBlock(),t.createElementBlock("li",{key:le.seq,class:t.normalizeClass(["em-history__group",[`is-${le.kind??"edit"}`]])},[t.createElementVNode("div",{class:"em-history__ghead",onClick:He=>pe(le.seq)},[t.createVNode(Ae,{name:"chevron",size:13,class:t.normalizeClass(["em-history__chevron",{"is-open":Ne.value.has(le.seq)}])},null,8,["class"]),t.createElementVNode("span",{class:t.normalizeClass(["em-history__kind",`is-${le.kind??"edit"}`])},t.toDisplayString(t.unref(a).t(le.kind==="restore"?"em.history.kindRestore":"em.history.kindEdit")),3),t.createElementVNode("span",HV,t.toDisplayString(ce(le)),1),t.createElementVNode("span",jV,"#"+t.toDisplayString(le.seq),1)],8,UV),t.createElementVNode("div",KV,[t.createElementVNode("span",GV,t.toDisplayString(_e(le)),1),le.ts?(t.openBlock(),t.createElementBlock("span",YV,t.toDisplayString(de(le.ts)),1)):t.createCommentVNode("",!0),le.kind==="restore"&&le.restoredFromSeq!=null?(t.openBlock(),t.createElementBlock("span",qV,"← #"+t.toDisplayString(le.restoredFromSeq),1)):t.createCommentVNode("",!0),le.seq!==M.value?(t.openBlock(),t.createElementBlock("button",{key:2,type:"button",class:"em-history__compare-btn",onClick:t.withModifiers(He=>me(le.seq),["stop"])},t.toDisplayString(t.unref(a).t("em.history.diff.compare")),9,WV)):t.createCommentVNode("",!0)]),Ne.value.has(le.seq)?(t.openBlock(),t.createElementBlock("div",JV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(le.actions,(He,Pe)=>(t.openBlock(),t.createElementBlock("div",{key:Pe,class:"em-history__action"},[t.createElementVNode("div",XV,[t.createVNode(Ae,{name:N[He.subject.kind],size:12},null,8,["name"]),t.createElementVNode("span",ZV,t.toDisplayString(_(He.subject)),1),t.createElementVNode("span",{class:t.normalizeClass(["em-history__verb",`is-${He.verb}`])},t.toDisplayString(t.unref(a).t(x[He.verb])),3)]),He.fields.length?(t.openBlock(),t.createElementBlock("ul",QV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(He.fields,(Oe,X)=>(t.openBlock(),t.createElementBlock("li",{key:X,class:"em-history__field"},[t.createElementVNode("span",eB,t.toDisplayString(Oe.field),1),Oe.oldValue!==void 0?(t.openBlock(),t.createElementBlock("span",tB,t.toDisplayString(re(Oe.oldValue)),1)):t.createCommentVNode("",!0),Oe.oldValue!==void 0?(t.openBlock(),t.createBlock(Ae,{key:1,name:"arrow-lr",size:10,class:"em-history__arrow"})):t.createCommentVNode("",!0),t.createElementVNode("span",nB,t.toDisplayString(re(Oe.value)),1)]))),128))])):t.createCommentVNode("",!0)]))),128))])):t.createCommentVNode("",!0),t.unref(a).restoreAvailable.value&&le.seq!==M.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["em-history__restore",{"is-confirming":H.value===le.seq}])},[H.value===le.seq?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("div",oB,[t.createElementVNode("button",{type:"button",class:"em-history__preview-toggle",disabled:!((j=xe.value)!=null&&j.entries.length),onClick:P[7]||(P[7]=He=>De.value=!De.value)},[t.createVNode(Ae,{name:"chevron",size:11,class:t.normalizeClass(["em-history__chevron",{"is-open":De.value}])},null,8,["class"]),t.createTextVNode(" "+t.toDisplayString((Xe=xe.value)!=null&&Xe.entries.length?t.unref(a).t("em.history.diff.restorePreview",{n:xe.value.entries.length}):t.unref(a).t("em.history.diff.restorePreviewNone")),1)],8,iB),De.value&&((rt=xe.value)!=null&&rt.entries.length)?(t.openBlock(),t.createElementBlock("ul",aB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(xe.value.entries,(He,Pe)=>(t.openBlock(),t.createElementBlock("li",{key:Pe,class:"em-history__diff-entry"},[t.createElementVNode("div",rB,[t.createVNode(Ae,{name:N[He.subject.kind],size:12},null,8,["name"]),t.createElementVNode("span",lB,t.toDisplayString(_(He.subject)),1),t.createElementVNode("span",{class:t.normalizeClass(["em-history__verb",`is-${U[He.verb]}`])},t.toDisplayString(t.unref(a).t(Ie[He.verb])),3)]),He.fields.length?(t.openBlock(),t.createElementBlock("ul",sB,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(He.fields,(Oe,X)=>(t.openBlock(),t.createElementBlock("li",{key:X,class:"em-history__field"},[t.createElementVNode("span",cB,t.toDisplayString(Oe.field),1),Oe.oldValue!==void 0?(t.openBlock(),t.createElementBlock("span",dB,t.toDisplayString(re(Oe.oldValue)),1)):t.createCommentVNode("",!0),Oe.oldValue!==void 0?(t.openBlock(),t.createBlock(Ae,{key:1,name:"arrow-lr",size:10,class:"em-history__arrow"})):t.createCommentVNode("",!0),t.createElementVNode("span",uB,t.toDisplayString(re(Oe.value)),1)]))),128))])):t.createCommentVNode("",!0)]))),128))])):t.createCommentVNode("",!0)]),t.createElementVNode("div",mB,[t.createElementVNode("span",fB,t.toDisplayString(t.unref(a).t("em.history.confirmRestore")),1),t.createElementVNode("button",{type:"button",class:"em-history__confirm-yes",disabled:q.value,onClick:He=>ne(le.seq)},t.toDisplayString(t.unref(a).t("em.history.doRestore")),9,pB),t.createElementVNode("button",{type:"button",class:"em-history__confirm-no",disabled:q.value,onClick:P[8]||(P[8]=He=>H.value=null)},t.toDisplayString(t.unref(a).t("em.history.cancel")),9,hB)])],64)):(t.openBlock(),t.createElementBlock("button",{key:1,type:"button",class:"em-history__restore-btn",onClick:He=>W(le.seq)},[t.createVNode(Ae,{name:"undo",size:12}),t.createTextVNode(" "+t.toDisplayString(t.unref(a).t("em.history.restoreToHere")),1)],8,yB))],2)):t.createCommentVNode("",!0)],2)}),128))])),h.value==null&&K.value>0?(t.openBlock(),t.createElementBlock("button",{key:5,type:"button",class:"em-history__load-more",onClick:J},t.toDisplayString(t.unref(a).t("em.history.loadMore",{n:K.value})),1)):t.createCommentVNode("",!0)])],512),[[t.vShow,e.open]])]}),_:1}))}}),[["__scopeId","data-v-471d6cf8"]]);function bB(e,n){if(!e||typeof window>"u"||!window.localStorage)return null;const o=window.localStorage.getItem(e),i=o==null?NaN:Number(o);return Number.isFinite(i)&&i>=n?i:null}function Jp(e){const n=t.ref(bB(e.storageKey,e.min)??e.initial),o=t.ref(!1);function i(a){a.preventDefault();const r=a.clientX,l=n.value;o.value=!0,document.body.style.cursor="col-resize",document.body.style.userSelect="none";const s=d=>{const u=e.edge==="left"?r-d.clientX:d.clientX-r;let m=l+u;m=Math.max(e.min,m),e.max!=null&&(m=Math.min(e.max,m)),n.value=m},c=()=>{window.removeEventListener("pointermove",s),window.removeEventListener("pointerup",c),document.body.style.cursor="",document.body.style.userSelect="",o.value=!1,e.storageKey&&typeof window<"u"&&window.localStorage&&window.localStorage.setItem(e.storageKey,String(n.value))};window.addEventListener("pointermove",s),window.addEventListener("pointerup",c)}return{width:n,dragging:o,startResize:i}}const _B={class:"em-modeler"},kB={class:"em-modeler__body"},EB={class:"em-drawer__inner"},NB={class:"em-drawer__head"},wB={class:"em-drawer__actions"},vB=["title"],IB=["title"],xB=["title"],CB=["title"],SB=["title"],$B=Ke(t.defineComponent({__name:"EntityModeler",props:{controller:{}},setup(e){const n=t.ref(!0),o=t.ref(!0),i=t.ref(null),a=t.ref(null),r=t.ref(null),l=t.ref(null);function s(N){t.nextTick(()=>{const x=N();x&&("focusCollapse"in x?x.focusCollapse():x.focus())})}function c(N){n.value=N,s(()=>N?i.value:a.value)}function d(N){o.value=N,s(()=>N?l.value:r.value)}const u=t.ref(!1),m=t.shallowRef(null),{width:h,dragging:p,startResize:g}=Jp({initial:260,min:260,max:560,edge:"right",storageKey:"em.explorerWidth"}),{width:b,dragging:f,startResize:y}=Jp({initial:320,min:320,max:640,edge:"left",storageKey:"em.panelWidth"}),k=t.ref(null),_=t.ref(null);return(N,x)=>{var T,C,R;return t.openBlock(),t.createElementBlock("div",_B,[t.createVNode(qp,{controller:e.controller,"history-open":u.value,onExportSvg:x[0]||(x[0]=A=>{var M;return(M=k.value)==null?void 0:M.exportSvg()}),onExportPng:x[1]||(x[1]=A=>{var M;return(M=k.value)==null?void 0:M.exportPng()}),onToggleHistory:x[2]||(x[2]=A=>u.value=!u.value)},null,8,["controller","history-open"]),t.createElementVNode("div",kB,[t.createElementVNode("aside",{class:t.normalizeClass(["em-drawer",{"is-collapsed":!n.value}]),style:t.normalizeStyle({width:t.unref(h)+"px"})},[t.createElementVNode("div",EB,[t.createElementVNode("header",NB,[x[11]||(x[11]=t.createElementVNode("span",null,"Diagram Explorer",-1)),t.createElementVNode("div",wB,[(T=_.value)!=null&&T.hasExpandable?(t.openBlock(),t.createElementBlock("button",{key:0,type:"button",class:"em-drawer__btn",title:e.controller.t((C=_.value)!=null&&C.allExpanded?"em.panel.collapseAll":"em.panel.expandAll"),onClick:x[3]||(x[3]=A=>{var M;return(M=_.value)==null?void 0:M.toggleAll()})},[t.createVNode(Ae,{name:(R=_.value)!=null&&R.allExpanded?"collapse-all":"expand-all",size:16},null,8,["name"])],8,vB)):t.createCommentVNode("",!0),t.createElementVNode("button",{ref_key:"explorerCollapseBtn",ref:i,type:"button",class:"em-drawer__btn",title:e.controller.t("em.panel.collapse"),onClick:x[4]||(x[4]=A=>c(!1))},[t.createVNode(Ae,{name:"panel-close",size:16})],8,IB)])]),t.createVNode(Yp,{ref_key:"explorer",ref:_,controller:e.controller,"storage-key":"em.explorerCollapsed"},null,8,["controller"])]),t.withDirectives(t.createElementVNode("div",{class:t.normalizeClass(["em-resize-handle em-resize-handle--right",{"is-dragging":t.unref(p)}]),title:e.controller.t("em.panel.resizeWidth"),onPointerdown:x[5]||(x[5]=(...A)=>t.unref(g)&&t.unref(g)(...A))},null,42,xB),[[t.vShow,n.value]])],6),t.createVNode(t.Transition,{name:"em-reopen"},{default:t.withCtx(()=>[t.withDirectives(t.createElementVNode("button",{type:"button",ref_key:"explorerReopenBtn",ref:a,class:"em-drawer__reopen",title:e.controller.t("em.panel.openNamed",{name:"Diagram Explorer"}),onClick:x[6]||(x[6]=A=>c(!0))},[t.createVNode(Ae,{name:"panel-open",size:18})],8,CB),[[t.vShow,!n.value]])]),_:1}),t.createElementVNode("div",{class:t.normalizeClass(["em-modeler__canvas",{"is-drawer-open":n.value,"is-resizing":t.unref(p),"is-inspector-collapsed":!o.value}]),style:t.normalizeStyle({"--em-drawer-shift":t.unref(h)-6+"px"})},[t.createVNode(Gp,{ref_key:"canvas",ref:k,controller:e.controller,"diff-marks":m.value,"embed-collapse-storage-key":"em.embedCollapsed"},null,8,["controller","diff-marks"])],6),t.withDirectives(t.createVNode(Wp,{ref_key:"inspectorRef",ref:l,controller:e.controller,width:t.unref(b),resizing:t.unref(f),"start-resize":t.unref(y),onCollapse:x[7]||(x[7]=A=>d(!1))},null,8,["controller","width","resizing","start-resize"]),[[t.vShow,o.value]]),t.createVNode(t.Transition,{name:"em-reopen"},{default:t.withCtx(()=>[t.withDirectives(t.createElementVNode("button",{type:"button",ref_key:"inspectorReopenBtn",ref:r,class:"em-panel__reopen",title:e.controller.t("em.panel.openNamed",{name:"Inspector"}),onClick:x[8]||(x[8]=A=>d(!0))},[t.createVNode(Ae,{name:"panel-right-open",size:18})],8,SB),[[t.vShow,!o.value]])]),_:1}),t.createVNode(gB,{controller:e.controller,open:u.value,onClose:x[9]||(x[9]=A=>u.value=!1),onDiffChange:x[10]||(x[10]=A=>m.value=A)},null,8,["controller","open"])]),t.createVNode(uV,{controller:e.controller,"panel-width":t.unref(b),"inspector-open":o.value},null,8,["controller","panel-width","inspector-open"])])}}}),[["__scopeId","data-v-1e5c0922"]]);ge.APPLY_MODEL_OPS_INPUT_SCHEMA=nb,ge.AssociationEdge=Kf,ge.CUSTOM_TYPE_VALUE=en,ge.CommandStack=Wr,ge.DEFAULT_JAVA_TYPE=xr,ge.DIAGRAM_JSON_FORMAT=Rr,ge.DIAGRAM_JSON_VERSION=Ar,ge.DiagramCanvas=Gp,ge.DiagramExplorer=Yp,ge.EDITOR=eo,ge.EditModeToggle=c2,ge.EditorToolbar=qp,ge.EntityModeler=$B,ge.EntityNode=Nf,ge.GROUP_CODE_ENUM_VALUE=co,ge.GroupNode=wf,ge.INHERITED_REF_PREFIX=Mi,ge.InvalidDiagramJsonError=Dn,ge.JAVA_TYPES=Ui,ge.NoteNode=vf,ge.OpSyncAdapter=Nd,ge.PHYSICAL_NAME_MAX_LENGTH=Yo,ge.PropertyPanel=Wp,ge.RevCache=Ed,ge.SELECTABLE_JAVA_TYPES=Ps,ge.SYMBOLIC_OP_KINDS=wd,ge.SYMBOLIC_OP_SCHEMA=Pd,ge.UI_LOCALES=Nw,ge.buildAgentBatch=ob,ge.buildDiagramSvg=bs,ge.buildDiffMarks=Ac,ge.collectSharedColumns=kn,ge.commands=mg,ge.computeAutoLayout=Ns,ge.createEditorController=ex,ge.defaultMermaidDialect=gh,ge.defaultSqlDialect=jh,ge.diagramToJson=Js,ge.displayLabel=Di,ge.emptyState=df,ge.entityModelToDdl=Ys,ge.entityModelToMermaid=Nr,ge.entityModelToText=Ts,ge.exportDiagramPng=jp,ge.exportDiagramSvg=Hp,ge.fromPersisted=Wd,ge.isGeneratable=uc,ge.isInheritedColumnRef=ro,ge.javaTypeLabel=uo,ge.makeInheritedColumnRef=Is,ge.mergeDiagram=Ic,ge.mermaidErToImportSource=Us,ge.migrateLegacyMoney=Fy,ge.multiplicityLabel=zi,ge.newId=Be,ge.packEntityBoxes=br,ge.parseDiagramJson=Xs,ge.parseInheritedColumnRef=_r,ge.parseMermaidEr=Fs,ge.parseSqlDdl=$r,ge.planHealBackfillOps=Lb,ge.projectActionLog=Yr,ge.projectEntityAudit=$c,ge.projectFieldAudit=En,ge.projectInheritedColumns=Uo,ge.projectSeqDiff=qr,ge.renderDiagramSvg=Qs,ge.resolveColumnPhysicalName=kr,ge.resolveDiagram=Es,ge.resolveEffectiveColumn=jo,ge.resolveQuickFix=Dr,ge.resolveSharedColumn=Vn,ge.resolveSymbolicOps=Lg,ge.restoreDeepEqual=Ln,ge.scaffoldEntityJava=yy,ge.sharedColumnScopeEntities=Er,ge.sqlDdlToImportSource=Gs,ge.stereotypeLabel=Ho,ge.synthesizeRestoreOps=Zy,ge.toPersisted=Vb,ge.toPersistedV2=Bb,ge.translate=Lt,ge.uiMessagesEn=ef,ge.uiMessagesJa=tf,ge.uiMessagesKo=nf,ge.validateModel=Wi,Object.defineProperty(ge,Symbol.toStringTag,{value:"Module"})}));