@stonecrop/atable 0.4.30 → 0.4.32

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,3 +1,3 @@
1
- (function(A,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("pinia")):typeof define=="function"&&define.amd?define(["exports","vue","pinia"],t):(A=typeof globalThis<"u"?globalThis:A||self,t(A["@stonecrop/atable"]={},A.Vue,A.pinia))})(this,function(A,t,lt){"use strict";var ze=document.createElement("style");ze.textContent=`@import"https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&display=swap";.atable-cell{border-radius:0;box-sizing:border-box;margin:0;outline:none;box-shadow:none;color:var(--sc-cell-text-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);border-spacing:0px;border-collapse:collapse;overflow:hidden;text-overflow:ellipsis;order:1;white-space:nowrap;max-width:40ch;border-top:1px solid var(--sc-row-border-color)}.atable-cell a{color:var(--sc-cell-text-color);text-decoration:none}.atable-cell:focus,.atable-cell:focus-within{background-color:var(--sc-focus-cell-background);outline-width:var(--sc-atable-cell-border-width);outline-style:solid;outline-offset:calc(var(--sc-atable-cell-border-width) * -1);outline-color:var(--sc-focus-cell-outline);box-shadow:none;overflow:hidden;text-wrap:nowrap;box-sizing:border-box}.cell-modified{font-weight:700;font-style:italic}.cell-modified-highlight{background-color:var(--sc-cell-changed-color)}.row-index{color:var(--sc-header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch;display:flex;align-items:center;justify-content:center}.expandable-row{border-top:1px solid var(--sc-row-border-color);height:var(--sc-atable-row-height)}.expandable-row>td:first-child{border-left:4px solid var(--sc-row-border-color)}.expanded-row{border-left:2px solid var(--sc-row-border-color)}.expandable-row:last-child{border-bottom:1px solid var(--sc-row-border-color)}.expanded-row-content{border-top:1px solid var(--sc-row-border-color);padding:1.5rem}.expandable-row.changed-row-gradient[data-v-5ad4bb41]:has(td.cell-modified){--cell-color-start: color-mix(in srgb, var(--sc-cell-changed-color), #fff 20%);--cell-color-end: color-mix(in srgb, var(--sc-cell-changed-color), #fff 60%);background:linear-gradient(90deg,var(--cell-color-start),var(--cell-color-end))}.aganttcell[data-v-52febd32]{background-color:#f9f9f9;width:100%;padding:0;height:100%}.gantt-container[data-v-52febd32]{position:relative;height:100%;background-color:#f0f0f0;border-radius:4px;overflow:visible}.gantt-bar[data-v-52febd32]{position:absolute;border-radius:4px;display:flex;align-items:center;justify-content:space-between;cursor:grab;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);transition:left .1s ease-out,width .1s ease-out;height:80%;top:50%;z-index:2;transform:translateY(-50%)}.gantt-bar[data-v-52febd32]:active{cursor:grabbing}.gantt-bar.is-dragging[data-v-52febd32]{z-index:10}.gantt-label[data-v-52febd32]{flex:1;text-align:center;font-size:12px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px;-webkit-user-select:none;user-select:none}.resize-handle[data-v-52febd32]{position:relative;width:12px;height:100%;cursor:ew-resize;display:flex;align-items:center;justify-content:center;z-index:0;background:#00000040}.left-resize-handle[data-v-52febd32]{border-right:1px solid rgba(0,0,0,.5)}.right-resize-handle[data-v-52febd32]{border-left:1px solid rgba(0,0,0,.5)}.handle-grip[data-v-52febd32]{width:4px;height:12px;border-radius:2px;background:#000c}.resize-handle[data-v-52febd32]:hover{background-color:#ffffff80}.vertical-indicator[data-v-52febd32]{position:absolute;width:2px;opacity:0;pointer-events:none;transition:opacity .2s ease;top:-100vh;height:100vh;z-index:5;background-color:var(--17bc2643)}.left-indicator[data-v-52febd32]{left:50%;transform:translate(-50%)}.right-indicator[data-v-52febd32]{right:50%;transform:translate(50%)}.resize-handle.is-dragging .vertical-indicator[data-v-52febd32]{opacity:.7}.gantt-container[data-v-52febd32]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-size:calc(100% / var(--0a8a9192)) 100%;background-image:linear-gradient(to right,rgba(0,0,0,.1) 1px,transparent 1px);pointer-events:none;z-index:1}.connection-handle[data-v-52febd32]{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;opacity:0;transition:opacity .2s ease;cursor:crosshair;z-index:15;display:flex;align-items:center;justify-content:center}.connection-handle.visible[data-v-52febd32]{opacity:1}.left-connection-handle[data-v-52febd32]{left:-16px}.right-connection-handle[data-v-52febd32]{right:-16px}.connection-dot[data-v-52febd32]{width:8px;height:8px;border-radius:50%;background-color:#2196f3;border:2px solid white;box-shadow:0 1px 3px #0000004d}.connection-handle:hover .connection-dot[data-v-52febd32]{background-color:#1976d2;transform:scale(1.2)}.connection-handle.is-dragging[data-v-52febd32]{opacity:1!important}.connection-handle.is-dragging .connection-dot[data-v-52febd32]{background-color:#1976d2;transform:scale(1.3);box-shadow:0 2px 8px #2196f366}.atable-row{background-color:#fff}.atable-row>td:first-child{border-left:4px solid var(--sc-row-border-color)}.list-index{color:var(--sc-header-text-color);font-weight:700;padding-left:var(--sc-atable-row-padding);padding-right:.5em;text-align:left;-webkit-user-select:none;user-select:none;width:7ch;text-overflow:ellipsis;overflow:hidden;box-sizing:border-box;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding)}.tree-index{color:var(--sc-header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch;box-sizing:border-box;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding)}.atable-row:has(td.cell-modified)>td.sticky-column,.atable-row:has(td.cell-modified)>th.sticky-column,.atable-row:has(td.cell-modified)>td.sticky-index,.atable-row:has(td.cell-modified)>th.sticky-index{background:var(--sc-cell-changed-color)}.atable-row.changed-row-gradient[data-v-c554ee0f]:has(td.cell-modified){--cell-color-start: color-mix(in srgb, var(--sc-cell-changed-color), #fff 20%);--cell-color-end: color-mix(in srgb, var(--sc-cell-changed-color), #fff 60%);background:linear-gradient(90deg,var(--cell-color-start),var(--cell-color-end))}.gantt-connection-overlay[data-v-955111b6]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.connection-path[data-v-955111b6]{transition:stroke-width .2s ease;pointer-events:auto;cursor:pointer;stroke-dasharray:5px;stroke:var(--sc-cell-text-color)}#arrowhead-marker polygon[data-v-955111b6]{fill:var(--sc-cell-text-color)}.animated-path[data-v-955111b6]{animation:animated-dash-955111b6 infinite 1.5s linear}.connection-path[data-v-955111b6]:hover{stroke-width:3px}.connection-hitbox[data-v-955111b6]{pointer-events:auto;cursor:pointer}@keyframes animated-dash-955111b6{0%{stroke-dashoffset:0px}to{stroke-dashoffset:-10px}}.atable-header-row th{padding-left:.5ch!important;font-weight:700;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);box-sizing:border-box;color:var(--sc-header-text-color);position:relative}#header-index{padding-left:var(--sc-atable-row-padding);box-sizing:border-box}.tree-index{padding-right:0}th{order:1}.list-expansion-index{width:2ch;margin-left:5px}:root{--sc-primary-color: #0098c9;--sc-primary-text-color: #ffffff;--sc-brand-color: #202a44;--sc-gray-5: #f2f2f2;--sc-gray-10: #e6e6e6;--sc-gray-20: #cccccc;--sc-gray-50: #808080;--sc-gray-60: #666666;--sc-gray-80: #333333;--sc-brand-danger: #e63c28;--sc-brand-success: #155724;--sc-brand-warning: #b99d3e;--sc-active-cell-background: #ffffff;--sc-active-cell-outline: #e6a92d;--sc-cell-border-color: #ffffff;--sc-cell-text-color: #3a3c41;--sc-focus-cell-background: #ffffff;--sc-focus-cell-outline: #000000;--sc-header-border-color: #ffffff;--sc-header-text-color: var(--sc-gray-20);--sc-row-border-color: var(--sc-gray-20);--sc-row-color-zebra-dark: #dddddd;--sc-row-color-zebra-light: #eeeeee;--sc-row-number-background-color: #ffffff;--sc-input-active-border-color: #000000;--sc-input-active-label-color: #000000;--sc-input-border-color: var(--sc-gray-20);--sc-input-label-color: var(--sc-gray-60);--sc-required-border: #e63c28;--sc-cell-changed-color: #d8edff;--sc-form-border: var(--sc-gray-5);--sc-form-background: #ffffff;--sc-input-field-background: #ffffff;--sc-input-field-disabled-background: var(--sc-gray-5);--sc-font-size: 10px;--sc-font-family: Arimo, Arial, sans-serif;--sc-table-font-size: 16px;--sc-atable-font-family: "Arimo", sans-serif;--sc-atable-row-padding: .125rem;--sc-atable-row-height: 1.5em;--sc-atable-cell-border-width: 2px;--sc-table-loading-color: 204, 204, 204;--sc-btn-border: #cccccc;--sc-btn-color: white;--sc-btn-hover: #f2f2f2;--sc-btn-label-color: black}.amodal{position:absolute;background-color:var(--sc-row-color-zebra-dark);z-index:5}.atable-container{position:relative}.sticky-index{position:sticky;left:0;z-index:10;order:0}.sticky-column,th.sticky-column,td.sticky-column,th.sticky-index,td.sticky-index{position:sticky;z-index:10;order:0;background:#fff}.sticky-column-edge,.atable th.sticky-column-edge{border-right:1px solid var(--sc-row-border-color)}[data-v-51a03d16]:root{--sc-primary-color: #0098c9;--sc-primary-text-color: #ffffff;--sc-brand-color: #202a44;--sc-gray-5: #f2f2f2;--sc-gray-10: #e6e6e6;--sc-gray-20: #cccccc;--sc-gray-50: #808080;--sc-gray-60: #666666;--sc-gray-80: #333333;--sc-brand-danger: #e63c28;--sc-brand-success: #155724;--sc-brand-warning: #b99d3e;--sc-active-cell-background: #ffffff;--sc-active-cell-outline: #e6a92d;--sc-cell-border-color: #ffffff;--sc-cell-text-color: #3a3c41;--sc-focus-cell-background: #ffffff;--sc-focus-cell-outline: #000000;--sc-header-border-color: #ffffff;--sc-header-text-color: var(--sc-gray-20);--sc-row-border-color: var(--sc-gray-20);--sc-row-color-zebra-dark: #dddddd;--sc-row-color-zebra-light: #eeeeee;--sc-row-number-background-color: #ffffff;--sc-input-active-border-color: #000000;--sc-input-active-label-color: #000000;--sc-input-border-color: var(--sc-gray-20);--sc-input-label-color: var(--sc-gray-60);--sc-required-border: #e63c28;--sc-cell-changed-color: #d8edff;--sc-form-border: var(--sc-gray-5);--sc-form-background: #ffffff;--sc-input-field-background: #ffffff;--sc-input-field-disabled-background: var(--sc-gray-5);--sc-font-size: 10px;--sc-font-family: Arimo, Arial, sans-serif;--sc-table-font-size: 16px;--sc-atable-font-family: "Arimo", sans-serif;--sc-atable-row-padding: .125rem;--sc-atable-row-height: 1.5em;--sc-atable-cell-border-width: 2px;--sc-table-loading-color: 204, 204, 204;--sc-btn-border: #cccccc;--sc-btn-color: white;--sc-btn-hover: #f2f2f2;--sc-btn-label-color: black}.atable[data-v-51a03d16]{position:relative;font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);border-collapse:collapse;box-sizing:border-box;table-layout:auto;width:auto;overflow:clip;height:1px}.atable th[data-v-51a03d16]{border-width:0px;border-style:solid;border-radius:0;padding-left:.5ch;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);color:var(--sc-gray-60);height:var(--sc-atable-row-height);font-weight:300;letter-spacing:.05rem;order:1;box-sizing:border-box}.atable th[data-v-51a03d16]:focus{outline:none}.atable[data-v-51a03d16]:tbody{overflow:hidden;position:relative}.atable[data-v-51a03d16]:tbody:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:transparent;z-index:100}.aloading[data-v-a930a25b]{width:100%;border-top:1px solid var(--sc-row-border-color);border-bottom:1px solid var(--sc-row-border-color);display:flex;background-color:#fff;border-left:4px solid var(--sc-row-border-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);align-items:center;box-sizing:border-box;background:var(--sc-focus-cell-background);overflow:hidden;position:relative}.aloading-bar[data-v-a930a25b]{width:100%;height:100%;position:absolute;left:-100%;top:0;background:linear-gradient(90deg,rgba(var(--sc-table-loading-color),0),rgba(var(--sc-table-loading-color),1),rgba(var(--sc-table-loading-color),0));animation:gradient-a930a25b infinite 2s;z-index:0}.aloading-header[data-v-a930a25b]{color:var(--sc-cell-text-color);font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);padding:0;margin:0;font-weight:400;z-index:1}.aloading-header[data-v-a930a25b]:after{content:"...";animation:ellipse-a930a25b 2s;animation-iteration-count:infinite}@keyframes gradient-a930a25b{0%{left:-100%}to{left:100%}}@keyframes ellipse-a930a25b{0%{content:""}20%{content:""}40%{content:"."}60%{content:".."}80%{content:"..."}}.aloading[data-v-e1165876]{width:100%;border-top:1px solid var(--sc-row-border-color);border-bottom:1px solid var(--sc-row-border-color);display:flex;background-color:#fff;border-left:4px solid var(--sc-row-border-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);align-items:center;box-sizing:border-box;background:var(--sc-focus-cell-background);overflow:hidden;position:relative}.aloading-bar[data-v-e1165876]{width:50%;height:3px;position:absolute;left:-100%;bottom:0;background:var(--sc-row-border-color);animation:bar-left-e1165876 infinite 2s;z-index:0}.aloading-header[data-v-e1165876]{color:var(--sc-cell-text-color);font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);padding:0;margin:0;font-weight:400;z-index:1}.aloading-header[data-v-e1165876]:after{content:"...";animation:ellipse-e1165876 2s;animation-iteration-count:infinite}@keyframes bar-left-e1165876{0%{left:-50%}to{left:100%}}@keyframes ellipse-e1165876{0%{content:""}20%{content:""}40%{content:"."}60%{content:".."}80%{content:"..."}}
2
- /*$vite$:1*/`,document.head.appendChild(ze);function ce(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}const rt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const it=e=>e!=null,st=Object.prototype.toString,ct=e=>st.call(e)==="[object Object]",dt=()=>{};function ee(e){return Array.isArray(e)?e:[e]}function ft(e,n,a){return t.watch(e,n,{...a,immediate:!0})}const j=rt?window:void 0;function U(e){var n;const a=t.toValue(e);return(n=a==null?void 0:a.$el)!=null?n:a}function Z(...e){const n=[],a=()=>{n.forEach(o=>o()),n.length=0},l=(o,r,u,m)=>(o.addEventListener(r,u,m),()=>o.removeEventListener(r,u,m)),i=t.computed(()=>{const o=ee(t.toValue(e[0])).filter(r=>r!=null);return o.every(r=>typeof r!="string")?o:void 0}),d=ft(()=>{var o,r;return[(r=(o=i.value)==null?void 0:o.map(u=>U(u)))!=null?r:[j].filter(u=>u!=null),ee(t.toValue(i.value?e[1]:e[0])),ee(t.unref(i.value?e[2]:e[1])),t.toValue(i.value?e[3]:e[2])]},([o,r,u,m])=>{if(a(),!(o!=null&&o.length)||!(r!=null&&r.length)||!(u!=null&&u.length))return;const w=ct(m)?{...m}:m;n.push(...o.flatMap(x=>r.flatMap(p=>u.map(C=>l(x,p,C,w)))))},{flush:"post"}),c=()=>{d(),a()};return ce(a),c}function ut(){const e=t.shallowRef(!1),n=t.getCurrentInstance();return n&&t.onMounted(()=>{e.value=!0},n),e}function mt(e){const n=ut();return t.computed(()=>(n.value,!!e()))}function gt(e,n,a={}){const{window:l=j,...i}=a;let d;const c=mt(()=>l&&"MutationObserver"in l),o=()=>{d&&(d.disconnect(),d=void 0)},r=t.computed(()=>{const x=t.toValue(e),p=ee(x).map(U).filter(it);return new Set(p)}),u=t.watch(()=>r.value,x=>{o(),c.value&&x.size&&(d=new MutationObserver(n),x.forEach(p=>d.observe(p,i)))},{immediate:!0,flush:"post"}),m=()=>d==null?void 0:d.takeRecords(),w=()=>{u(),o()};return ce(w),{isSupported:c,stop:w,takeRecords:m}}function pt(e,n,a={}){const{window:l=j,document:i=l==null?void 0:l.document,flush:d="sync"}=a;if(!l||!i)return dt;let c;const o=m=>{c==null||c(),c=m},r=t.watchEffect(()=>{const m=U(e);if(m){const{stop:w}=gt(i,x=>{x.map(p=>[...p.removedNodes]).flat().some(p=>p===m||p.contains(m))&&n(x)},{window:l,childList:!0,subtree:!0});o(w)}},{flush:d}),u=()=>{r(),o()};return ce(u),u}function ht(e={}){var n;const{window:a=j,deep:l=!0,triggerOnRemoval:i=!1}=e,d=(n=e.document)!=null?n:a==null?void 0:a.document,c=()=>{var u;let m=d==null?void 0:d.activeElement;if(l)for(;m!=null&&m.shadowRoot;)m=(u=m==null?void 0:m.shadowRoot)==null?void 0:u.activeElement;return m},o=t.shallowRef(),r=()=>{o.value=c()};if(a){const u={capture:!0,passive:!0};Z(a,"blur",m=>{m.relatedTarget===null&&r()},u),Z(a,"focus",r,u)}return i&&pt(o,r,{document:d}),r(),o}const bt="focusin",wt="focusout",vt=":focus-within";function xt(e,n={}){const{window:a=j}=n,l=t.computed(()=>U(e)),i=t.shallowRef(!1),d=t.computed(()=>i.value),c=ht(n);if(!a||!c.value)return{focused:d};const o={passive:!0};return Z(l,bt,()=>i.value=!0,o),Z(l,wt,()=>{var r,u,m;return i.value=(m=(u=(r=l.value)==null?void 0:r.matches)==null?void 0:u.call(r,vt))!=null?m:!1},o),{focused:d}}function yt(e,{window:n=j,scrollTarget:a}={}){const l=t.ref(!1),i=()=>{if(!n)return;const d=n.document,c=U(e);if(!c)l.value=!1;else{const o=c.getBoundingClientRect();l.value=o.top<=(n.innerHeight||d.documentElement.clientHeight)&&o.left<=(n.innerWidth||d.documentElement.clientWidth)&&o.bottom>=0&&o.right>=0}};return t.watch(()=>U(e),()=>i(),{immediate:!0,flush:"post"}),n&&Z(a||n,"scroll",i,{capture:!1,passive:!0}),l}const L=e=>{let n=yt(e).value;return n=n&&e.offsetHeight>0,n},P=e=>e.tabIndex>=0,Me=e=>{const n=e.target;return de(n)},de=e=>{var n;let a;if(e instanceof HTMLTableCellElement){const l=(n=e.parentElement)==null?void 0:n.previousElementSibling;if(l){const i=Array.from(l.children)[e.cellIndex];i&&(a=i)}}else if(e instanceof HTMLTableRowElement){const l=e.previousElementSibling;l&&(a=l)}return a&&(!P(a)||!L(a))?de(a):a},kt=e=>{var n;const a=e.target;let l;if(a instanceof HTMLTableCellElement){const i=(n=a.parentElement)==null?void 0:n.parentElement;if(i){const d=i.firstElementChild,c=d==null?void 0:d.children[a.cellIndex];c&&(l=c)}}else if(a instanceof HTMLTableRowElement){const i=a.parentElement;if(i){const d=i.firstElementChild;d&&(l=d)}}return l&&(!P(l)||!L(l))?fe(l):l},Ve=e=>{const n=e.target;return fe(n)},fe=e=>{var n;let a;if(e instanceof HTMLTableCellElement){const l=(n=e.parentElement)==null?void 0:n.nextElementSibling;if(l){const i=Array.from(l.children)[e.cellIndex];i&&(a=i)}}else if(e instanceof HTMLTableRowElement){const l=e.nextElementSibling;l&&(a=l)}return a&&(!P(a)||!L(a))?fe(a):a},Ct=e=>{var n;const a=e.target;let l;if(a instanceof HTMLTableCellElement){const i=(n=a.parentElement)==null?void 0:n.parentElement;if(i){const d=i.lastElementChild,c=d==null?void 0:d.children[a.cellIndex];c&&(l=c)}}else if(a instanceof HTMLTableRowElement){const i=a.parentElement;if(i){const d=i.lastElementChild;d&&(l=d)}}return l&&(!P(l)||!L(l))?de(l):l},Ae=e=>{const n=e.target;return ue(n)},ue=e=>{var n;let a;if(e.previousElementSibling)a=e.previousElementSibling;else{const l=(n=e.parentElement)==null?void 0:n.previousElementSibling;a=l==null?void 0:l.lastElementChild}return a&&(!P(a)||!L(a))?ue(a):a},Te=e=>{const n=e.target;return me(n)},me=e=>{var n;let a;if(e.nextElementSibling)a=e.nextElementSibling;else{const l=(n=e.parentElement)==null?void 0:n.nextElementSibling;a=l==null?void 0:l.firstElementChild}return a&&(!P(a)||!L(a))?me(a):a},De=e=>{const n=e.target.parentElement,a=n==null?void 0:n.firstElementChild;return a&&(!P(a)||!L(a))?me(a):a},Oe=e=>{const n=e.target.parentElement,a=n==null?void 0:n.lastElementChild;return a&&(!P(a)||!L(a))?ue(a):a},te=["alt","control","shift","meta"],Et={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right"},ge={"keydown.up":e=>{const n=Me(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.down":e=>{const n=Ve(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.left":e=>{const n=Ae(e);e.preventDefault(),e.stopPropagation(),n&&n.focus()},"keydown.right":e=>{const n=Te(e);e.preventDefault(),e.stopPropagation(),n&&n.focus()},"keydown.control.up":e=>{const n=kt(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.control.down":e=>{const n=Ct(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.control.left":e=>{const n=De(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.control.right":e=>{const n=Oe(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.end":e=>{const n=Oe(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const n=Ve(e);n&&n.focus()}},"keydown.shift.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const n=Me(e);n&&n.focus()}},"keydown.home":e=>{const n=De(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.tab":e=>{const n=Te(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.shift.tab":e=>{const n=Ae(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())}};function pe(e){const n=c=>{let o=null;return c.parent&&(typeof c.parent=="string"?o=document.querySelector(c.parent):c.parent instanceof HTMLElement?o=c.parent:o=c.parent.value),o},a=c=>{var o;const r=n(c);let u=[];if(typeof c.selectors=="string")u=r?Array.from(r.querySelectorAll(c.selectors)):Array.from(document.querySelectorAll(c.selectors));else if(Array.isArray(c.selectors))for(const m of c.selectors)m instanceof HTMLElement?u.push(m):u.push(m.$el);else if(c.selectors instanceof HTMLElement)u.push(c.selectors);else if((o=c.selectors)!=null&&o.value)if(Array.isArray(c.selectors.value))for(const m of c.selectors.value)m instanceof HTMLElement?u.push(m):u.push(m.$el);else u.push(c.selectors.value);return u},l=c=>{const o=n(c);let r=[];return c.selectors?r=a(c):o&&(r=Array.from(o.children).filter(u=>P(u)&&L(u))),r},i=c=>o=>{const r=Et[o.key]||o.key.toLowerCase();if(te.includes(r))return;const u=c.handlers||ge;for(const m of Object.keys(u)){const[w,...x]=m.split(".");if(w==="keydown"&&x.includes(r)){const p=u[m],C=x.filter(g=>te.includes(g)),y=te.some(g=>{const h=g.charAt(0).toUpperCase()+g.slice(1);return o.getModifierState(h)});if(C.length>0){if(y){for(const g of te)if(x.includes(g)){const h=g.charAt(0).toUpperCase()+g.slice(1);o.getModifierState(h)&&p(o)}}}else y||p(o)}}},d=[];t.onMounted(()=>{for(const c of e){const o=n(c),r=l(c),u=i(c),m=o?[o]:r;for(const w of m){const{focused:x}=xt(t.ref(w)),p=t.watch(x,C=>{C?w.addEventListener("keydown",u):w.removeEventListener("keydown",u)});d.push(p)}}}),t.onBeforeUnmount(()=>{for(const c of d)c()})}function q(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}const ne=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const It=e=>e!=null,St=Object.prototype.toString,He=e=>St.call(e)==="[object Object]",N=()=>{},he=Bt();function Bt(){var e,n;return ne&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((n=window==null?void 0:window.navigator)==null?void 0:n.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function $t(...e){if(e.length!==1)return t.toRef(...e);const n=e[0];return typeof n=="function"?t.readonly(t.customRef(()=>({get:n,set:N}))):t.ref(n)}function Rt(e,n){function a(...l){return new Promise((i,d)=>{Promise.resolve(e(()=>n.apply(this,l),{fn:n,thisArg:this,args:l})).then(i).catch(d)})}return a}function zt(e,n={}){let a,l,i=N;const d=r=>{clearTimeout(r),i(),i=N};let c;return r=>{const u=t.toValue(e),m=t.toValue(n.maxWait);return a&&d(a),u<=0||m!==void 0&&m<=0?(l&&(d(l),l=void 0),Promise.resolve(r())):new Promise((w,x)=>{i=n.rejectOnCancel?x:w,c=r,m&&!l&&(l=setTimeout(()=>{a&&d(a),l=void 0,w(c())},m)),a=setTimeout(()=>{l&&d(l),l=void 0,w(r())},u)})}}function X(e){return Array.isArray(e)?e:[e]}function Mt(e){return t.getCurrentInstance()}function Vt(e,n=200,a={}){return Rt(zt(n,a),e)}function At(e,n={}){if(!t.isRef(e))return t.toRefs(e);const a=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const l in e.value)a[l]=t.customRef(()=>({get(){return e.value[l]},set(i){var d;if((d=t.toValue(n.replaceRef))!=null?d:!0)if(Array.isArray(e.value)){const o=[...e.value];o[l]=i,e.value=o}else{const o={...e.value,[l]:i};Object.setPrototypeOf(o,Object.getPrototypeOf(e.value)),e.value=o}else e.value[l]=i}}));return a}function Tt(e,n=!0,a){Mt()?t.onMounted(e,a):n?e():t.nextTick(e)}function Le(e,n,a){return t.watch(e,n,{...a,immediate:!0})}const oe=ne?window:void 0;function J(e){var n;const a=t.toValue(e);return(n=a==null?void 0:a.$el)!=null?n:a}function Q(...e){const n=[],a=()=>{n.forEach(o=>o()),n.length=0},l=(o,r,u,m)=>(o.addEventListener(r,u,m),()=>o.removeEventListener(r,u,m)),i=t.computed(()=>{const o=X(t.toValue(e[0])).filter(r=>r!=null);return o.every(r=>typeof r!="string")?o:void 0}),d=Le(()=>{var o,r;return[(r=(o=i.value)==null?void 0:o.map(u=>J(u)))!=null?r:[oe].filter(u=>u!=null),X(t.toValue(i.value?e[1]:e[0])),X(t.unref(i.value?e[2]:e[1])),t.toValue(i.value?e[3]:e[2])]},([o,r,u,m])=>{if(a(),!(o!=null&&o.length)||!(r!=null&&r.length)||!(u!=null&&u.length))return;const w=He(m)?{...m}:m;n.push(...o.flatMap(x=>r.flatMap(p=>u.map(C=>l(x,p,C,w)))))},{flush:"post"}),c=()=>{d(),a()};return q(a),c}function Dt(){const e=t.shallowRef(!1),n=t.getCurrentInstance();return n&&t.onMounted(()=>{e.value=!0},n),e}function Pe(e){const n=Dt();return t.computed(()=>(n.value,!!e()))}function Ne(e,n,a={}){const{window:l=oe,...i}=a;let d;const c=Pe(()=>l&&"MutationObserver"in l),o=()=>{d&&(d.disconnect(),d=void 0)},r=t.computed(()=>{const x=t.toValue(e),p=X(x).map(J).filter(It);return new Set(p)}),u=t.watch(()=>r.value,x=>{o(),c.value&&x.size&&(d=new MutationObserver(n),x.forEach(p=>d.observe(p,i)))},{immediate:!0,flush:"post"}),m=()=>d==null?void 0:d.takeRecords(),w=()=>{u(),o()};return q(w),{isSupported:c,stop:w,takeRecords:m}}function be(e,n={}){var a;const{pointerTypes:l,preventDefault:i,stopPropagation:d,exact:c,onMove:o,onEnd:r,onStart:u,initialValue:m,axis:w="both",draggingElement:x=oe,containerElement:p,handle:C=e,buttons:y=[0]}=n,g=t.ref((a=t.toValue(m))!=null?a:{x:0,y:0}),h=t.ref(),v=S=>l?l.includes(S.pointerType):!0,I=S=>{t.toValue(i)&&S.preventDefault(),t.toValue(d)&&S.stopPropagation()},B=S=>{var M;if(!t.toValue(y).includes(S.button)||t.toValue(n.disabled)||!v(S)||t.toValue(c)&&S.target!==t.toValue(e))return;const O=t.toValue(p),H=(M=O==null?void 0:O.getBoundingClientRect)==null?void 0:M.call(O),V=t.toValue(e).getBoundingClientRect(),W={x:S.clientX-(O?V.left-H.left+O.scrollLeft:V.left),y:S.clientY-(O?V.top-H.top+O.scrollTop:V.top)};(u==null?void 0:u(W,S))!==!1&&(h.value=W,I(S))},D=S=>{if(t.toValue(n.disabled)||!v(S)||!h.value)return;const M=t.toValue(p),O=t.toValue(e).getBoundingClientRect();let{x:H,y:V}=g.value;(w==="x"||w==="both")&&(H=S.clientX-h.value.x,M&&(H=Math.min(Math.max(0,H),M.scrollWidth-O.width))),(w==="y"||w==="both")&&(V=S.clientY-h.value.y,M&&(V=Math.min(Math.max(0,V),M.scrollHeight-O.height))),g.value={x:H,y:V},o==null||o(g.value,S),I(S)},R=S=>{t.toValue(n.disabled)||!v(S)||h.value&&(h.value=void 0,r==null||r(g.value,S),I(S))};if(ne){const S=()=>{var M;return{capture:(M=n.capture)!=null?M:!0,passive:!t.toValue(i)}};Q(C,"pointerdown",B,S),Q(x,"pointermove",D,S),Q(x,"pointerup",R,S)}return{...At(g),position:g,isDragging:t.computed(()=>!!h.value),style:t.computed(()=>`left:${g.value.x}px;top:${g.value.y}px;`)}}function Ot(e,n,a={}){const{window:l=oe,...i}=a;let d;const c=Pe(()=>l&&"ResizeObserver"in l),o=()=>{d&&(d.disconnect(),d=void 0)},r=t.computed(()=>{const w=t.toValue(e);return Array.isArray(w)?w.map(x=>J(x)):[J(w)]}),u=t.watch(r,w=>{if(o(),c.value&&l){d=new ResizeObserver(n);for(const x of w)x&&d.observe(x,i)}},{immediate:!0,flush:"post"}),m=()=>{o(),u()};return q(m),{isSupported:c,stop:m}}function G(e,n={}){const{reset:a=!0,windowResize:l=!0,windowScroll:i=!0,immediate:d=!0,updateTiming:c="sync"}=n,o=t.shallowRef(0),r=t.shallowRef(0),u=t.shallowRef(0),m=t.shallowRef(0),w=t.shallowRef(0),x=t.shallowRef(0),p=t.shallowRef(0),C=t.shallowRef(0);function y(){const h=J(e);if(!h){a&&(o.value=0,r.value=0,u.value=0,m.value=0,w.value=0,x.value=0,p.value=0,C.value=0);return}const v=h.getBoundingClientRect();o.value=v.height,r.value=v.bottom,u.value=v.left,m.value=v.right,w.value=v.top,x.value=v.width,p.value=v.x,C.value=v.y}function g(){c==="sync"?y():c==="next-frame"&&requestAnimationFrame(()=>y())}return Ot(e,g),t.watch(()=>J(e),h=>!h&&g()),Ne(e,g,{attributeFilter:["style","class"]}),i&&Q("scroll",g,{capture:!0,passive:!0}),l&&Q("resize",g,{passive:!0}),Tt(()=>{d&&g()}),{height:o,bottom:r,left:u,right:m,top:w,width:x,x:p,y:C,update:g}}const Ht=e=>{const n=new DOMParser().parseFromString(e,"text/html");return Array.from(n.body.childNodes).some(a=>a.nodeType===1)},Lt=(e=8)=>Array.from({length:e},()=>Math.floor(Math.random()*16).toString(16)).join(""),Pt=["data-colindex","data-rowindex","data-editable","contenteditable","tabindex"],Nt=["innerHTML"],Wt={key:2},We=t.defineComponent({__name:"ACell",props:{colIndex:{},rowIndex:{},store:{},addNavigation:{type:[Boolean,Object],default:!0},tabIndex:{default:0},pinned:{type:Boolean,default:!1},debounce:{default:300}},setup(e,{expose:n}){const a=t.useTemplateRef("cell"),l=e.store.getCellData(e.colIndex,e.rowIndex),i=t.ref(""),d=t.ref(!1),c=e.store.columns[e.colIndex],o=e.store.rows[e.rowIndex],r=c.align||"center",u=c.width||"40ch",m=t.computed(()=>e.store.getCellDisplayValue(e.colIndex,e.rowIndex)),w=t.computed(()=>typeof m.value=="string"?Ht(m.value):!1),x=t.computed(()=>{var v;return{textAlign:r,width:u,fontWeight:d.value?"bold":"inherit",paddingLeft:e.store.getIndent(e.colIndex,(v=e.store.display[e.rowIndex])==null?void 0:v.indent)}}),p=t.computed(()=>({"sticky-column":e.pinned,"cell-modified":d.value})),C=()=>{const{left:v,bottom:I,width:B,height:D}=G(a);c.mask,c.modalComponent&&e.store.$patch(R=>{R.modal.visible=!0,R.modal.colIndex=e.colIndex,R.modal.rowIndex=e.rowIndex,R.modal.left=v,R.modal.bottom=I,R.modal.width=B,R.modal.height=D,R.modal.cell=a.value,typeof c.modalComponent=="function"?R.modal.component=c.modalComponent({table:R.table,row:o,column:c}):R.modal.component=c.modalComponent,R.modal.componentProps=c.modalComponentExtraProps})};if(e.addNavigation){let v={...ge,"keydown.f2":C,"keydown.alt.up":C,"keydown.alt.down":C,"keydown.alt.left":C,"keydown.alt.right":C};typeof e.addNavigation=="object"&&(v={...v,...e.addNavigation}),pe([{selectors:a,handlers:v}])}const y=()=>{a.value&&(i.value=a.value.textContent)},g=v=>{const I=v.target;I.textContent!==i.value&&(i.value=I.textContent,c.format?(d.value=I.textContent!==e.store.getFormattedValue(e.colIndex,e.rowIndex,l),e.store.setCellText(e.colIndex,e.rowIndex,I.textContent)):(d.value=I.textContent!==l,e.store.setCellData(e.colIndex,e.rowIndex,I.textContent)))},h=Vt(g,e.debounce);return n({currentData:i}),(v,I)=>(t.openBlock(),t.createElementBlock("td",{ref:"cell","data-colindex":v.colIndex,"data-rowindex":v.rowIndex,"data-editable":t.unref(c).edit,contenteditable:t.unref(c).edit,tabindex:v.tabIndex,spellcheck:!1,style:t.normalizeStyle(x.value),onFocus:y,onPaste:g,onInput:I[0]||(I[0]=(...B)=>t.unref(h)&&t.unref(h)(...B)),onClick:C,class:t.normalizeClass(["atable-cell",p.value])},[t.unref(c).cellComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(c).cellComponent),t.mergeProps({key:0,value:m.value},t.unref(c).cellComponentProps),null,16,["value"])):w.value?(t.openBlock(),t.createElementBlock("span",{key:1,innerHTML:m.value},null,8,Nt)):(t.openBlock(),t.createElementBlock("span",Wt,t.toDisplayString(m.value),1))],46,Pt))}}),Xt=["tabindex"],Gt=["tabindex"],Ft=["colspan"],Yt=t.defineComponent({__name:"AExpansionRow",props:{rowIndex:{},store:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object]}},setup(e){const n=t.useTemplateRef("rowEl"),a=t.computed(()=>e.store.display[e.rowIndex].expanded?"▼":"►");if(e.addNavigation){const l={"keydown.control.g":i=>{i.stopPropagation(),i.preventDefault(),e.store.toggleRowExpand(e.rowIndex)}};typeof e.addNavigation=="object"&&Object.assign(l,e.addNavigation),pe([{selectors:n,handlers:l}])}return(l,i)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("tr",t.mergeProps(l.$attrs,{ref:"rowEl",tabindex:l.tabIndex,class:"expandable-row"}),[t.createElementVNode("td",{tabIndex:-1,onClick:i[0]||(i[0]=d=>l.store.toggleRowExpand(l.rowIndex)),class:"row-index"},t.toDisplayString(a.value),1),t.renderSlot(l.$slots,"row",{},void 0,!0)],16,Xt),l.store.display[l.rowIndex].expanded?(t.openBlock(),t.createElementBlock("tr",{key:0,ref:"rowExpanded",tabindex:l.tabIndex,class:"expanded-row"},[t.createElementVNode("td",{tabIndex:-1,colspan:l.store.columns.length+1,class:"expanded-row-content"},[t.renderSlot(l.$slots,"content",{},void 0,!0)],8,Ft)],8,Gt)):t.createCommentVNode("",!0)],64))}}),F=(e,n)=>{const a=e.__vccOpts||e;for(const[l,i]of n)a[l]=i;return a},Xe=F(Yt,[["__scopeId","data-v-5ad4bb41"]]),jt=["colspan"],Ut={ref:"container",class:"gantt-container"},qt=["data-rowindex","data-colindex"],Jt={key:2,class:"gantt-label"},Zt=["x1","y1","x2","y2"],Ge=F(t.defineComponent({__name:"AGanttCell",props:{store:{},columnsCount:{},rowIndex:{},colIndex:{},start:{default:0},end:{},colspan:{default:1},label:{},color:{default:"#cccccc"}},emits:["connection:create"],setup(e,{expose:n,emit:a}){t.useCssVars(E=>({"17bc2643":i.value,"0a8a9192":E.colspan}));const l=a,i=t.ref(e.color.length>=6?e.color:"#cccccc"),d=`gantt-bar-row-${e.rowIndex}-col-${e.colIndex}`,c=t.useTemplateRef("container"),o=t.useTemplateRef("bar"),r=t.useTemplateRef("leftResizeHandle"),u=t.useTemplateRef("rightResizeHandle"),m=t.useTemplateRef("leftConnectionHandle"),w=t.useTemplateRef("rightConnectionHandle"),{width:x}=G(c),{left:p,right:C}=G(o),y=t.ref(e.start),g=t.ref(e.end||y.value+e.colspan),h=t.ref(!1),v=t.ref(!1),I=t.ref(!1),B=t.ref(!1),D=t.ref(!1),R=t.ref({startX:0,startY:0,endX:0,endY:0}),S=t.computed(()=>re.value||W.value||K.value),M=t.computed(()=>e.colspan>0?x.value/e.colspan:0),O=t.computed(()=>{const E=y.value/e.colspan*100,s=g.value/e.colspan*100;return{left:`${E}%`,width:`${s-E}%`,backgroundColor:i.value}}),H=t.computed(()=>({position:"fixed",top:0,left:0,width:"100vw",height:"100vh",pointerEvents:"none",zIndex:1e3})),V=t.ref({startX:0,startPos:0}),{isDragging:W}=be(r,{axis:"x",onStart:()=>_(p.value,y.value),onMove:({x:E})=>ie(E),onEnd:({x:E})=>Ie(E)}),{isDragging:K}=be(u,{axis:"x",onStart:()=>_(C.value,g.value),onMove:({x:E})=>se(E),onEnd:({x:E})=>Ke(E)}),{isDragging:re}=be(o,{exact:!0,axis:"x",onStart:()=>_(p.value,y.value),onMove:({x:E})=>_e(E),onEnd:({x:E})=>et(E)});t.onMounted(()=>{tt()}),t.onUnmounted(()=>{nt()});function _(E,s){o.value&&(o.value.style.transition="none"),V.value={startX:E,startPos:s}}function ie(E){if(!W.value||!o.value)return;const f=(E-V.value.startX)/M.value,b=Math.max(0,Math.min(g.value-1,V.value.startPos+f));o.value.style.left=`${b/e.colspan*100}%`,o.value.style.width=`${(g.value-b)/e.colspan*100}%`}function Ie(E){if(!o.value)return;const s=E-V.value.startX,f=Math.round(s/M.value),b=y.value,k=Math.max(0,Math.min(g.value-1,V.value.startPos+f));y.value=k,e.store.updateGanttBar({rowIndex:e.rowIndex,colIndex:e.colIndex,type:"resize",edge:"start",oldStart:b,newStart:k,end:g.value,delta:f,oldColspan:g.value-b,newColspan:g.value-k})}function se(E){if(!K.value||!o.value)return;const f=(E-V.value.startX)/M.value,b=Math.max(y.value+1,Math.min(e.columnsCount,V.value.startPos+f));o.value.style.width=`${(b-y.value)/e.colspan*100}%`}function Ke(E){if(!o.value)return;const s=E-V.value.startX,f=Math.round(s/M.value),b=g.value,k=Math.max(y.value+1,Math.min(e.columnsCount,V.value.startPos+f));g.value=k,e.store.updateGanttBar({rowIndex:e.rowIndex,colIndex:e.colIndex,type:"resize",edge:"end",oldEnd:b,newEnd:k,start:y.value,delta:f,oldColspan:b-y.value,newColspan:k-y.value})}function _e(E){if(!re.value||!o.value)return;const f=(E-V.value.startX)/M.value,b=g.value-y.value,k=Math.max(0,Math.min(V.value.startPos+f,e.columnsCount-b));o.value.style.left=`${k/e.colspan*100}%`}function et(E){if(!o.value)return;const s=E-V.value.startX,f=Math.round(s/M.value),b=g.value-y.value,k=y.value,$=g.value;let z=V.value.startPos+f,T=z+b;z<0?(z=0,T=b):T>e.columnsCount&&(T=e.columnsCount,z=T-b),y.value=z,g.value=T,e.store.updateGanttBar({rowIndex:e.rowIndex,colIndex:e.colIndex,type:"bar",oldStart:k,oldEnd:$,newStart:z,newEnd:T,delta:f,colspan:T-z})}function tt(){const{x:E,y:s}=G(o),{x:f,y:b}=G(m),{x:k,y:$}=G(w);e.store.registerGanttBar({id:d,rowIndex:e.rowIndex,colIndex:e.colIndex,startIndex:y,endIndex:g,color:i,label:e.label,position:{x:E,y:s}}),e.store.isDependencyGraphEnabled&&(e.store.registerConnectionHandle({id:`${d}-connection-left`,rowIndex:e.rowIndex,colIndex:e.colIndex,side:"left",position:{x:f,y:b},visible:h,barId:d}),e.store.registerConnectionHandle({id:`${d}-connection-right`,rowIndex:e.rowIndex,colIndex:e.colIndex,side:"right",position:{x:k,y:$},visible:v,barId:d}))}function nt(){e.store.unregisterGanttBar(d),e.store.isDependencyGraphEnabled&&(e.store.unregisterConnectionHandle(`${d}-connection-left`),e.store.unregisterConnectionHandle(`${d}-connection-right`))}function ot(){e.store.isDependencyGraphEnabled&&(h.value=!0,v.value=!0)}function Se(){!I.value&&!B.value&&(h.value=!1,v.value=!1)}function Be(E,s){s.preventDefault(),s.stopPropagation(),D.value=!0,E==="left"?I.value=!0:B.value=!0;const f=E==="left"?m.value:w.value;if(f){const $=f.getBoundingClientRect(),z=$.left+$.width/2,T=$.top+$.height/2;R.value={startX:z,startY:T,endX:z,endY:T}}const b=$=>{R.value.endX=$.clientX,R.value.endY=$.clientY},k=$=>{$e($,E),Re(b,k)};document.addEventListener("mousemove",b),document.addEventListener("mouseup",k)}function $e(E,s){const f=document.elementFromPoint(E.clientX,E.clientY),b=f==null?void 0:f.closest(".connection-handle");if(b&&b!==(s==="left"?m.value:w.value)){const k=b.closest(".gantt-bar");if(k){const $=parseInt(k.getAttribute("data-rowindex")||"0"),z=parseInt(k.getAttribute("data-colindex")||"0"),T=b.classList.contains("left-connection-handle")?"left":"right",In=`gantt-bar-row-${$}-col-${z}`,at=e.store.createConnection(`${d}-connection-${s}`,`${In}-connection-${T}`);at&&l("connection:create",at)}}}function Re(E,s){var f;D.value=!1,I.value=!1,B.value=!1,document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",s),(f=o.value)!=null&&f.matches(":hover")||Se()}return n({barStyle:O,cleanupConnectionDrag:Re,currentEnd:g,handleConnectionDrop:$e,isLeftConnectionDragging:I,isLeftConnectionVisible:h,isRightConnectionDragging:B,isRightConnectionVisible:v,showDragPreview:D}),(E,s)=>(t.openBlock(),t.createElementBlock("td",{class:"aganttcell",colspan:E.colspan},[t.createElementVNode("div",Ut,[t.createElementVNode("div",{ref:"bar","data-rowindex":E.rowIndex,"data-colindex":E.colIndex,class:t.normalizeClass(["gantt-bar",{"is-dragging":S.value}]),style:t.normalizeStyle(O.value),onMouseenter:ot,onMouseleave:Se},[E.store.isDependencyGraphEnabled?(t.openBlock(),t.createElementBlock("div",{key:0,ref:"leftConnectionHandle",class:t.normalizeClass(["connection-handle left-connection-handle",{visible:h.value,"is-dragging":I.value}]),onMousedown:s[0]||(s[0]=t.withModifiers(f=>Be("left",f),["stop"]))},s[2]||(s[2]=[t.createElementVNode("div",{class:"connection-dot"},null,-1)]),34)):t.createCommentVNode("",!0),E.store.isDependencyGraphEnabled?(t.openBlock(),t.createElementBlock("div",{key:1,ref:"rightConnectionHandle",class:t.normalizeClass(["connection-handle right-connection-handle",{visible:v.value,"is-dragging":B.value}]),onMousedown:s[1]||(s[1]=t.withModifiers(f=>Be("right",f),["stop"]))},s[3]||(s[3]=[t.createElementVNode("div",{class:"connection-dot"},null,-1)]),34)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref:"leftResizeHandle",class:t.normalizeClass(["resize-handle left-resize-handle",{"is-dragging":t.unref(W)}])},s[4]||(s[4]=[t.createElementVNode("div",{class:"handle-grip"},null,-1),t.createElementVNode("div",{class:"vertical-indicator left-indicator"},null,-1)]),2),E.label?(t.openBlock(),t.createElementBlock("label",Jt,t.toDisplayString(E.label),1)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref:"rightResizeHandle",class:t.normalizeClass(["resize-handle right-resize-handle",{"is-dragging":t.unref(K)}])},s[5]||(s[5]=[t.createElementVNode("div",{class:"handle-grip"},null,-1),t.createElementVNode("div",{class:"vertical-indicator right-indicator"},null,-1)]),2)],46,qt)],512),E.store.isDependencyGraphEnabled&&D.value?(t.openBlock(),t.createElementBlock("svg",{key:0,style:t.normalizeStyle(H.value)},[t.createElementVNode("line",{x1:R.value.startX,y1:R.value.startY,x2:R.value.endX,y2:R.value.endY,stroke:"#2196f3","stroke-width":"2","stroke-dasharray":"5,5"},null,8,Zt)],4)):t.createCommentVNode("",!0)],8,jt))}}),[["__scopeId","data-v-52febd32"]]),Qt=["tabindex"],we=F(t.defineComponent({__name:"ARow",props:{rowIndex:{},store:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object],default:!1}},setup(e){const n=t.useTemplateRef("rowEl"),a=t.computed(()=>e.store.isRowVisible(e.rowIndex)),l=t.computed(()=>e.store.getRowExpandSymbol(e.rowIndex));if(e.addNavigation){let i=ge;typeof e.addNavigation=="object"&&(i={...i,...e.addNavigation}),pe([{selectors:n,handlers:i}])}return(i,d)=>t.withDirectives((t.openBlock(),t.createElementBlock("tr",{ref:"rowEl",tabindex:i.tabIndex,class:"atable-row"},[i.store.config.view!=="uncounted"?t.renderSlot(i.$slots,"index",{key:0},()=>[i.store.config.view==="list"?(t.openBlock(),t.createElementBlock("td",{key:0,tabIndex:-1,class:t.normalizeClass(["list-index",i.store.hasPinnedColumns?"sticky-index":""])},t.toDisplayString(i.rowIndex+1),3)):i.store.isTreeView?(t.openBlock(),t.createElementBlock("td",{key:1,tabIndex:-1,class:t.normalizeClass(["tree-index",i.store.hasPinnedColumns?"sticky-index":""]),onClick:d[0]||(d[0]=c=>i.store.toggleRowExpand(i.rowIndex))},t.toDisplayString(l.value),3)):t.createCommentVNode("",!0)],!0):t.createCommentVNode("",!0),t.renderSlot(i.$slots,"default",{},void 0,!0)],8,Qt)),[[t.vShow,a.value]])}}),[["__scopeId","data-v-c554ee0f"]]),ve=ne?window:void 0;function Y(e){var n;const a=t.toValue(e);return(n=a==null?void 0:a.$el)!=null?n:a}function ae(...e){const n=[],a=()=>{n.forEach(o=>o()),n.length=0},l=(o,r,u,m)=>(o.addEventListener(r,u,m),()=>o.removeEventListener(r,u,m)),i=t.computed(()=>{const o=X(t.toValue(e[0])).filter(r=>r!=null);return o.every(r=>typeof r!="string")?o:void 0}),d=Le(()=>{var o,r;return[(r=(o=i.value)==null?void 0:o.map(u=>Y(u)))!=null?r:[ve].filter(u=>u!=null),X(t.toValue(i.value?e[1]:e[0])),X(t.unref(i.value?e[2]:e[1])),t.toValue(i.value?e[3]:e[2])]},([o,r,u,m])=>{if(a(),!(o!=null&&o.length)||!(r!=null&&r.length)||!(u!=null&&u.length))return;const w=He(m)?{...m}:m;n.push(...o.flatMap(x=>r.flatMap(p=>u.map(C=>l(x,p,C,w)))))},{flush:"post"}),c=()=>{d(),a()};return q(a),c}let Fe=!1;function Ye(e,n,a={}){const{window:l=ve,ignore:i=[],capture:d=!0,detectIframe:c=!1,controls:o=!1}=a;if(!l)return o?{stop:N,cancel:N,trigger:N}:N;if(he&&!Fe){Fe=!0;const g={passive:!0};Array.from(l.document.body.children).forEach(h=>h.addEventListener("click",N,g)),l.document.documentElement.addEventListener("click",N,g)}let r=!0;const u=g=>t.toValue(i).some(h=>{if(typeof h=="string")return Array.from(l.document.querySelectorAll(h)).some(v=>v===g.target||g.composedPath().includes(v));{const v=Y(h);return v&&(g.target===v||g.composedPath().includes(v))}});function m(g){const h=t.toValue(g);return h&&h.$.subTree.shapeFlag===16}function w(g,h){const v=t.toValue(g),I=v.$.subTree&&v.$.subTree.children;return I==null||!Array.isArray(I)?!1:I.some(B=>B.el===h.target||h.composedPath().includes(B.el))}const x=g=>{const h=Y(e);if(g.target!=null&&!(!(h instanceof Element)&&m(e)&&w(e,g))&&!(!h||h===g.target||g.composedPath().includes(h))){if("detail"in g&&g.detail===0&&(r=!u(g)),!r){r=!0;return}n(g)}};let p=!1;const C=[ae(l,"click",g=>{p||(p=!0,setTimeout(()=>{p=!1},0),x(g))},{passive:!0,capture:d}),ae(l,"pointerdown",g=>{const h=Y(e);r=!u(g)&&!!(h&&!g.composedPath().includes(h))},{passive:!0}),c&&ae(l,"blur",g=>{setTimeout(()=>{var h;const v=Y(e);((h=l.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(v!=null&&v.contains(l.document.activeElement))&&n(g)},0)},{passive:!0})].filter(Boolean),y=()=>C.forEach(g=>g());return o?{stop:y,cancel:()=>{r=!1},trigger:g=>{r=!0,x(g),r=!1}}:y}const xe=new WeakMap,Kt={mounted(e,n){const a=!n.modifiers.bubble;let l;if(typeof n.value=="function")l=Ye(e,n.value,{capture:a});else{const[i,d]=n.value;l=Ye(e,i,Object.assign({capture:a},d))}xe.set(e,l)},unmounted(e){const n=xe.get(e);n&&typeof n=="function"?n():n==null||n.stop(),xe.delete(e)}};function _t(){const e=t.shallowRef(!1),n=t.getCurrentInstance();return n&&t.onMounted(()=>{e.value=!0},n),e}function en(e){const n=_t();return t.computed(()=>(n.value,!!e()))}function je(e,n,a={}){const{window:l=ve,...i}=a;let d;const c=en(()=>l&&"ResizeObserver"in l),o=()=>{d&&(d.disconnect(),d=void 0)},r=t.computed(()=>{const w=t.toValue(e);return Array.isArray(w)?w.map(x=>Y(x)):[Y(w)]}),u=t.watch(r,w=>{if(o(),c.value&&l){d=new ResizeObserver(n);for(const x of w)x&&d.observe(x,i)}},{immediate:!0,flush:"post"}),m=()=>{o(),u()};return q(m),{isSupported:c,stop:m}}function ye(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}const tn={mounted(e,n){typeof n.value=="function"?je(e,n.value):je(e,...n.value)}};function Ue(e){const n=window.getComputedStyle(e);if(n.overflowX==="scroll"||n.overflowY==="scroll"||n.overflowX==="auto"&&e.clientWidth<e.scrollWidth||n.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const a=e.parentNode;return!a||a.tagName==="BODY"?!1:Ue(a)}}function nn(e){const n=e||window.event,a=n.target;return Ue(a)?!1:n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)}const ke=new WeakMap;function on(e,n=!1){const a=t.shallowRef(n);let l=null,i="";t.watch($t(e),o=>{const r=ye(t.toValue(o));if(r){const u=r;if(ke.get(u)||ke.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(i=u.style.overflow),u.style.overflow==="hidden")return a.value=!0;if(a.value)return u.style.overflow="hidden"}},{immediate:!0});const d=()=>{const o=ye(t.toValue(e));!o||a.value||(he&&(l=ae(o,"touchmove",r=>{nn(r)},{passive:!1})),o.style.overflow="hidden",a.value=!0)},c=()=>{const o=ye(t.toValue(e));!o||!a.value||(he&&(l==null||l()),o.style.overflow=i,ke.delete(o),a.value=!1)};return q(c),t.computed({get(){return a.value},set(o){o?d():c()}})}function an(){let e=!1;const n=t.shallowRef(!1);return(a,l)=>{if(n.value=l.value,e)return;e=!0;const i=on(a,l.value);t.watch(n,d=>i.value=d)}}an();const ln={class:"gantt-connection-overlay"},rn={class:"connection-svg",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:1}},sn=["d","stroke-width","onDblclick"],cn=["d","stroke","stroke-width","id","onDblclick"],dn=.25,le=16,fn=F(t.defineComponent({__name:"AGanttConnection",props:{store:{}},emits:["connection:delete"],setup(e,{emit:n}){const a=n,l=t.computed(()=>e.store.connectionPaths.filter(c=>{const o=e.store.ganttBars.find(u=>u.id===c.from.barId),r=e.store.ganttBars.find(u=>u.id===c.to.barId);return o&&r})),i=(c,o=!1)=>{const r=e.store.connectionHandles.find(M=>M.barId===c.from.barId&&M.side===c.from.side),u=e.store.connectionHandles.find(M=>M.barId===c.to.barId&&M.side===c.to.side);if(!r||!u)return"";const m=r.position.x+le/2,w=r.position.y+le/2,x=u.position.x+le/2,p=u.position.y+le/2,C=Math.abs(x-m),y=Math.max(C*dn,50),g=m+(c.from.side==="left"?-y:y),h=x+(c.to.side==="left"?-y:y),v={x:.5*m+.5*g,y:.5*w+.5*w},I={x:.5*g+.5*h,y:.5*w+.5*p},B={x:.5*h+.5*x,y:.5*p+.5*p},D={x:.5*v.x+.5*I.x,y:.5*v.y+.5*I.y},R={x:.5*I.x+.5*B.x,y:.5*I.y+.5*B.y},S={x:.5*D.x+.5*R.x,y:.5*D.y+.5*R.y};return`M ${m} ${w} Q ${g} ${w}, ${S.x} ${S.y} Q ${h} ${p}, ${x} ${p}`},d=c=>{e.store.deleteConnection(c.id)&&a("connection:delete",c)};return(c,o)=>(t.openBlock(),t.createElementBlock("div",ln,[(t.openBlock(),t.createElementBlock("svg",rn,[o[0]||(o[0]=t.createElementVNode("defs",null,[t.createElementVNode("path",{id:"arrowhead",d:"M 0 -7 L 20 0 L 0 7Z",stroke:"black","stroke-width":"1",fill:"currentColor"}),t.createElementVNode("marker",{id:"arrowhead-marker",markerWidth:"10",markerHeight:"7",refX:"5",refY:"3.5",orient:"auto",markerUnits:"strokeWidth"},[t.createElementVNode("polygon",{points:"0 0, 10 3.5, 0 7",fill:"currentColor"})])],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,r=>{var u;return t.openBlock(),t.createElementBlock("path",{key:`${r.id}-hitbox`,d:i(r),stroke:"transparent","stroke-width":(((u=r.style)==null?void 0:u.width)||2)+10,fill:"none",class:"connection-hitbox",onDblclick:m=>d(r)},null,40,sn)}),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,r=>{var u,m;return t.openBlock(),t.createElementBlock("path",{key:r.id,d:i(r),stroke:((u=r.style)==null?void 0:u.color)||"#666","stroke-width":((m=r.style)==null?void 0:m.width)||2,fill:"none","marker-mid":"url(#arrowhead-marker)",id:r.id,class:"connection-path animated-path",onDblclick:w=>d(r)},null,40,cn)}),128))]))]))}}),[["__scopeId","data-v-955111b6"]]),un={key:0},mn={class:"atable-header-row",tabindex:"-1"},gn=["data-colindex"],Ce=t.defineComponent({__name:"ATableHeader",props:{columns:{},store:{}},setup(e){const n=a=>{var l;for(const i of a){if(i.borderBoxSize.length===0)continue;const c=i.borderBoxSize[0].inlineSize,o=Number(i.target.dataset.colindex),r=(l=e.store.columns[o])==null?void 0:l.width;typeof r=="number"&&r!==c&&e.store.resizeColumn(o,c)}};return(a,l)=>a.columns.length?(t.openBlock(),t.createElementBlock("thead",un,[t.createElementVNode("tr",mn,[a.store.zeroColumn?(t.openBlock(),t.createElementBlock("th",{key:0,id:"header-index",class:t.normalizeClass([[a.store.hasPinnedColumns?"sticky-index":"",a.store.isTreeView?"tree-index":"",a.store.config.view==="list-expansion"?"list-expansion-index":""],"list-index"])},null,2)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.columns,(i,d)=>t.withDirectives((t.openBlock(),t.createElementBlock("th",{key:i.name,"data-colindex":d,tabindex:"-1",style:t.normalizeStyle(a.store.getHeaderCellStyle(i)),class:t.normalizeClass(i.pinned?"sticky-column":"")},[t.renderSlot(a.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(i.label||String.fromCharCode(d+97).toUpperCase()),1)])],14,gn)),[[t.unref(tn),n]])),128))])])):t.createCommentVNode("",!0)}}),Ee=t.defineComponent({__name:"ATableModal",props:{store:{}},setup(e){const n=t.useTemplateRef("amodal"),{width:a,height:l}=G(n),i=t.computed(()=>{var w,x,p,C;if(!(e.store.modal.height&&e.store.modal.width&&e.store.modal.left&&e.store.modal.bottom))return;const d=(w=e.store.modal.cell)==null?void 0:w.closest("table"),c=d.offsetHeight||0,o=d.offsetWidth||0;let r=((x=e.store.modal.cell)==null?void 0:x.offsetTop)||0;const u=((p=d.querySelector("thead"))==null?void 0:p.offsetHeight)||0;r+=u,r=r+l.value<c?r:r-(l.value+e.store.modal.height);let m=((C=e.store.modal.cell)==null?void 0:C.offsetLeft)||0;return m=m+a.value<=o?m:m-(a.value-e.store.modal.width),{left:`${m}px`,top:`${r}px`}});return(d,c)=>(t.openBlock(),t.createElementBlock("div",{class:"amodal",ref:"amodal",tabindex:"-1",onClick:c[0]||(c[0]=t.withModifiers(()=>{},["stop"])),onInput:c[1]||(c[1]=t.withModifiers(()=>{},["stop"])),style:t.normalizeStyle(i.value)},[t.renderSlot(d.$slots,"default")],36))}}),qe=e=>{const n=e.id||Lt();return lt.defineStore(`table-${n}`,()=>{const l=()=>{const s=[Object.assign({},{rowModified:!1})],f=new Set;for(let b=0;b<d.value.length;b++){const k=d.value[b];k.parent!==null&&k.parent!==void 0&&f.add(k.parent)}for(let b=0;b<d.value.length;b++){const k=d.value[b];s[b]={childrenOpen:!1,expanded:!1,indent:k.indent||0,isParent:f.has(b),isRoot:k.parent===null||k.parent===void 0,rowModified:!1,open:k.parent===null||k.parent===void 0,parent:k.parent}}return s},i=t.ref(e.columns),d=t.ref(e.rows),c=t.ref(e.config||{}),o=t.ref({}),r=t.ref({}),u=t.computed(()=>{const s={};for(const[f,b]of i.value.entries())for(const[k,$]of d.value.entries())s[`${f}:${k}`]=$[b.name];return s}),m=t.computed({get:()=>{const s=l();for(let f=0;f<s.length;f++)o.value[f]&&(s[f].rowModified=o.value[f]),r.value[f]&&(r.value[f].childrenOpen!==void 0&&(s[f].childrenOpen=r.value[f].childrenOpen),r.value[f].expanded!==void 0&&(s[f].expanded=r.value[f].expanded));if(v.value){const f=(b,k)=>{const $=k[b];if($.isRoot||$.parent===null||$.parent===void 0)return!0;const z=$.parent;return z<0||z>=k.length?!1:(k[z].childrenOpen||!1)&&f(z,k)};for(let b=0;b<s.length;b++)s[b].isRoot||(s[b].open=f(b,s))}return s},set:s=>{JSON.stringify(s)!==JSON.stringify(m.value)&&(m.value=s)}}),w=t.ref(e.modal||{visible:!1}),x=t.ref({}),p=t.ref([]),C=t.ref([]),y=t.ref([]),g=t.computed(()=>i.value.some(s=>s.pinned)),h=t.computed(()=>c.value.view==="gantt"||c.value.view==="tree-gantt"),v=t.computed(()=>c.value.view==="tree"||c.value.view==="tree-gantt"),I=t.computed(()=>c.value.dependencyGraph!==!1),B=t.computed(()=>`${Math.ceil(d.value.length/100+1)}ch`),D=t.computed(()=>c.value.view?["list","tree","tree-gantt","list-expansion"].includes(c.value.view):!1),R=(s,f)=>u.value[`${s}:${f}`],S=(s,f,b)=>{const k=`${s}:${f}`,$=i.value[s];u.value[k]!==b&&(o.value[f]=!0),u.value[k]=b,d.value[f]={...d.value[f],[$.name]:b}},M=s=>{d.value=s},O=(s,f,b)=>{const k=`${s}:${f}`;u.value[k]!==b&&(o.value[f]=!0,x.value[k]=b)},H=s=>{const f=i.value.indexOf(s)===i.value.length-1,b=c.value.fullWidth?s.resizable&&!f:s.resizable;return{width:s.width||"40ch",textAlign:s.align||"center",...b&&{resize:"horizontal",overflow:"hidden",whiteSpace:"nowrap"}}},V=(s,f)=>{if(s<0||s>=i.value.length)return;const k=Math.max(f,40);i.value[s]={...i.value[s],width:`${k}px`}},W=s=>{const f=d.value[s];return h.value&&f.gantt!==void 0},K=s=>!v.value||m.value[s].isRoot||m.value[s].open,re=s=>!v.value&&c.value.view!=="list-expansion"?"":v.value&&(m.value[s].isRoot||m.value[s].isParent)?m.value[s].childrenOpen?"▼":"►":c.value.view==="list-expansion"?m.value[s].expanded?"▼":"►":"",_=s=>{if(v.value){const f=r.value[s]||{},k=!(f.childrenOpen??m.value[s].childrenOpen);r.value[s]={...f,childrenOpen:k},k||ie(s)}else if(c.value.view==="list-expansion"){const f=r.value[s]||{},b=f.expanded??m.value[s].expanded;r.value[s]={...f,expanded:!b}}},ie=s=>{for(let f=0;f<d.value.length;f++)if(m.value[f].parent===s){const b=r.value[f]||{};r.value[f]={...b,childrenOpen:!1},ie(f)}},Ie=(s,f)=>{const b=R(s,f);return se(s,f,b)},se=(s,f,b)=>{const k=i.value[s],$=d.value[f],z=k.format;return z?typeof z=="function"?z(b,{table:u.value,row:$,column:k}):typeof z=="string"?Function(`"use strict";return (${z})`)()(b,{table:u.value,row:$,column:k}):b:b};return{columns:i,config:c,connectionHandles:C,connectionPaths:y,display:m,ganttBars:p,modal:w,rows:d,table:u,updates:x,hasPinnedColumns:g,isGanttView:h,isTreeView:v,isDependencyGraphEnabled:I,numberedRowWidth:B,zeroColumn:D,closeModal:s=>{var f;s.target instanceof Node&&(f=w.value.parent)!=null&&f.contains(s.target)||w.value.visible&&(w.value.visible=!1)},createConnection:(s,f,b)=>{const k=C.value.find(T=>T.id===s),$=C.value.find(T=>T.id===f);if(!k||!$)return console.warn("Cannot create connection: handle not found"),null;const z={id:`connection-${s}-${f}`,from:{barId:k.barId,side:k.side},to:{barId:$.barId,side:$.side},style:b==null?void 0:b.style,label:b==null?void 0:b.label};return y.value.push(z),z},deleteConnection:s=>{const f=y.value.findIndex(b=>b.id===s);return f>=0?(y.value.splice(f,1),!0):!1},getCellData:R,getCellDisplayValue:Ie,getConnectionsForBar:s=>y.value.filter(f=>f.from.barId===s||f.to.barId===s),getFormattedValue:se,getHandlesForBar:s=>C.value.filter(f=>f.barId===s),getHeaderCellStyle:H,getIndent:(s,f)=>f&&s===0&&f>0?`${f}ch`:"inherit",getRowExpandSymbol:re,isRowGantt:W,isRowVisible:K,registerConnectionHandle:s=>{const f=C.value.findIndex(b=>b.id===s.id);f>=0?C.value[f]=s:C.value.push(s)},registerGanttBar:s=>{const f=p.value.findIndex(b=>b.id===s.id);f>=0?p.value[f]=s:p.value.push(s)},resizeColumn:V,setCellData:S,setCellText:O,toggleRowExpand:_,unregisterConnectionHandle:s=>{const f=C.value.findIndex(b=>b.id===s);f>=0&&C.value.splice(f,1)},unregisterGanttBar:s=>{const f=p.value.findIndex(b=>b.id===s);f>=0&&p.value.splice(f,1)},updateGanttBar:s=>{var b;const f=(b=d.value[s.rowIndex])==null?void 0:b.gantt;f&&(s.type==="resize"?s.edge==="start"?(f.startIndex=s.newStart,f.endIndex=s.end,f.colspan=f.endIndex-f.startIndex):s.edge==="end"&&(f.startIndex=s.start,f.endIndex=s.newEnd,f.colspan=f.endIndex-f.startIndex):s.type==="bar"&&(f.startIndex=s.newStart,f.endIndex=s.newEnd,f.colspan=f.endIndex-f.startIndex))},updateRows:M}})()},pn={class:"atable-container",style:{position:"relative"}},Je=F(t.defineComponent({__name:"ATable",props:t.mergeModels({id:{},config:{default:()=>new Object}},{rows:{required:!0},rowsModifiers:{},columns:{required:!0},columnsModifiers:{}}),emits:t.mergeModels(["cellUpdate","gantt:drag","connection:event","columns:update"],["update:rows","update:columns"]),setup(e,{expose:n,emit:a}){const l=t.useModel(e,"rows"),i=t.useModel(e,"columns"),d=a,c=t.useTemplateRef("table"),o=qe({columns:i.value,rows:l.value,id:e.id,config:e.config});o.$onAction(({name:p,store:C,args:y,after:g})=>{if(p==="setCellData"||p==="setCellText"){const[h,v,I]=y,B=C.getCellData(h,v);g(()=>{l.value=[...C.rows],d("cellUpdate",{colIndex:h,rowIndex:v,newValue:I,oldValue:B})})}else if(p==="updateGanttBar"){const[h]=y;let v=!1;h.type==="resize"?v=h.oldColspan!==h.newColspan:h.type==="bar"&&(v=h.oldStart!==h.newStart||h.oldEnd!==h.newEnd),v&&g(()=>{d("gantt:drag",h)})}else p==="resizeColumn"&&g(()=>{i.value=[...C.columns],d("columns:update",[...C.columns])})}),t.watch(()=>l.value,p=>{JSON.stringify(p)!==JSON.stringify(o.rows)&&(o.rows=[...p])},{deep:!0}),t.watch(i,p=>{JSON.stringify(p)!==JSON.stringify(o.columns)&&(o.columns=[...p],d("columns:update",[...p]))},{deep:!0}),t.onMounted(()=>{i.value.some(p=>p.pinned)&&(u(),o.isTreeView&&Ne(c,u,{childList:!0,subtree:!0}))});const r=t.computed(()=>o.columns.filter(p=>p.pinned).length),u=()=>{const p=c.value,C=p==null?void 0:p.rows[0],y=p==null?void 0:p.rows[1],g=C?Array.from(C.cells):[];for(const[h,v]of g.entries()){const I=y==null?void 0:y.cells[h];I&&(v.style.width=`${I.offsetWidth}px`)}for(const h of(p==null?void 0:p.rows)||[]){let v=0;const I=[];for(const B of h.cells)(B.classList.contains("sticky-column")||B.classList.contains("sticky-index"))&&(B.style.left=`${v}px`,v+=B.offsetWidth,I.push(B));I.length>0&&I[I.length-1].classList.add("sticky-column-edge")}};window.addEventListener("keydown",p=>{if(p.key==="Escape"&&o.modal.visible){o.modal.visible=!1;const C=o.modal.parent;C&&t.nextTick().then(()=>{C.focus()})}});const m=p=>{var y;if(!p.gantt||r.value===0)return o.columns;const C=[];for(let g=0;g<r.value;g++){const h={...o.columns[g]};h.originalIndex=g,C.push(h)}return C.push({...o.columns[r.value],isGantt:!0,colspan:((y=p.gantt)==null?void 0:y.colspan)||o.columns.length-r.value,originalIndex:r.value,width:"auto"}),C},w=p=>{d("connection:event",{type:"create",connection:p})},x=p=>{d("connection:event",{type:"delete",connection:p})};return n({store:o,createConnection:o.createConnection,deleteConnection:o.deleteConnection,getConnectionsForBar:o.getConnectionsForBar,getHandlesForBar:o.getHandlesForBar}),(p,C)=>(t.openBlock(),t.createElementBlock("div",pn,[t.withDirectives((t.openBlock(),t.createElementBlock("table",{ref:"table",class:"atable",style:t.normalizeStyle({width:t.unref(o).config.fullWidth?"100%":"auto"})},[t.renderSlot(p.$slots,"header",{data:t.unref(o)},()=>[t.createVNode(Ce,{columns:t.unref(o).columns,store:t.unref(o)},null,8,["columns","store"])],!0),t.createElementVNode("tbody",null,[t.renderSlot(p.$slots,"body",{data:t.unref(o)},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o).rows,(y,g)=>(t.openBlock(),t.createBlock(we,{key:y.id,row:y,rowIndex:g,store:t.unref(o)},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m(y),(h,v)=>{var I,B,D;return t.openBlock(),t.createElementBlock(t.Fragment,{key:h.name},[h.isGantt?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(h.ganttComponent||"AGanttCell"),{key:0,store:t.unref(o),columnsCount:t.unref(o).columns.length-r.value,color:(I=y.gantt)==null?void 0:I.color,start:(B=y.gantt)==null?void 0:B.startIndex,end:(D=y.gantt)==null?void 0:D.endIndex,colspan:h.colspan,pinned:h.pinned,rowIndex:g,colIndex:h.originalIndex??v,style:t.normalizeStyle({textAlign:(h==null?void 0:h.align)||"center",minWidth:(h==null?void 0:h.width)||"40ch",width:t.unref(o).config.fullWidth?"auto":null}),"onConnection:create":w},null,40,["store","columnsCount","color","start","end","colspan","pinned","rowIndex","colIndex","style"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(h.cellComponent||"ACell"),{key:1,store:t.unref(o),pinned:h.pinned,rowIndex:g,colIndex:v,style:t.normalizeStyle({textAlign:(h==null?void 0:h.align)||"center",width:t.unref(o).config.fullWidth?"auto":null}),spellcheck:"false"},null,8,["store","pinned","rowIndex","colIndex","style"]))],64)}),128))]),_:2},1032,["row","rowIndex","store"]))),128))],!0)]),t.renderSlot(p.$slots,"footer",{data:t.unref(o)},void 0,!0),t.renderSlot(p.$slots,"modal",{data:t.unref(o)},()=>[t.withDirectives(t.createVNode(Ee,{store:t.unref(o)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(o).modal.component),t.mergeProps({key:`${t.unref(o).modal.rowIndex}:${t.unref(o).modal.colIndex}`,colIndex:t.unref(o).modal.colIndex,rowIndex:t.unref(o).modal.rowIndex,store:t.unref(o)},t.unref(o).modal.componentProps),null,16,["colIndex","rowIndex","store"]))]),_:1},8,["store"]),[[t.vShow,t.unref(o).modal.visible]])],!0)],4)),[[t.unref(Kt),t.unref(o).closeModal]]),t.unref(o).isGanttView&&t.unref(o).isDependencyGraphEnabled?(t.openBlock(),t.createBlock(fn,{key:0,store:t.unref(o),"onConnection:delete":x},null,8,["store"])):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-51a03d16"]]),hn={},bn={class:"aloading"},wn={class:"aloading-header"};function vn(e,n){return t.openBlock(),t.createElementBlock("div",bn,[t.createElementVNode("h2",wn,[t.renderSlot(e.$slots,"default",{},void 0,!0)]),n[0]||(n[0]=t.createElementVNode("div",{class:"aloading-bar"},null,-1))])}const Ze=F(hn,[["render",vn],["__scopeId","data-v-a930a25b"]]),xn={},yn={class:"aloading"},kn={class:"aloading-header"};function Cn(e,n){return t.openBlock(),t.createElementBlock("div",yn,[t.createElementVNode("h2",kn,[t.renderSlot(e.$slots,"default",{},void 0,!0)]),n[0]||(n[0]=t.createElementVNode("div",{class:"aloading-bar"},null,-1))])}const Qe=F(xn,[["render",Cn],["__scopeId","data-v-e1165876"]]);function En(e){e.component("ACell",We),e.component("AExpansionRow",Xe),e.component("AGanttCell",Ge),e.component("ARow",we),e.component("ATable",Je),e.component("ATableHeader",Ce),e.component("ATableLoading",Ze),e.component("ATableLoadingBar",Qe),e.component("ATableModal",Ee)}A.ACell=We,A.AExpansionRow=Xe,A.AGanttCell=Ge,A.ARow=we,A.ATable=Je,A.ATableHeader=Ce,A.ATableLoading=Ze,A.ATableLoadingBar=Qe,A.ATableModal=Ee,A.createTableStore=qe,A.install=En,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
1
+ (function(A,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("pinia")):typeof define=="function"&&define.amd?define(["exports","vue","pinia"],t):(A=typeof globalThis<"u"?globalThis:A||self,t(A["@stonecrop/atable"]={},A.Vue,A.pinia))})(this,function(A,t,lt){"use strict";var ze=document.createElement("style");ze.textContent=`@import"https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&display=swap";.atable-cell{border-radius:0;box-sizing:border-box;margin:0;outline:none;box-shadow:none;color:var(--sc-cell-text-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);border-spacing:0px;border-collapse:collapse;overflow:hidden;text-overflow:ellipsis;order:1;white-space:nowrap;max-width:40ch;border-top:1px solid var(--sc-row-border-color)}.atable-cell a{color:var(--sc-cell-text-color);text-decoration:none}.atable-cell:focus,.atable-cell:focus-within{background-color:var(--sc-focus-cell-background);outline-width:var(--sc-atable-cell-border-width);outline-style:solid;outline-offset:calc(var(--sc-atable-cell-border-width) * -1);outline-color:var(--sc-focus-cell-outline);box-shadow:none;overflow:hidden;text-wrap:nowrap;box-sizing:border-box}.cell-modified{font-weight:700;font-style:italic}.cell-modified-highlight{background-color:var(--sc-cell-changed-color)}.row-index{color:var(--sc-header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch;display:flex;align-items:center;justify-content:center}.expandable-row{border-top:1px solid var(--sc-row-border-color);height:var(--sc-atable-row-height)}.expandable-row>td:first-child{border-left:4px solid var(--sc-row-border-color)}.expanded-row{border-left:2px solid var(--sc-row-border-color)}.expandable-row:last-child{border-bottom:1px solid var(--sc-row-border-color)}.expanded-row-content{border-top:1px solid var(--sc-row-border-color);padding:1.5rem}.expandable-row.changed-row-gradient[data-v-5ad4bb41]:has(td.cell-modified){--cell-color-start: color-mix(in srgb, var(--sc-cell-changed-color), #fff 20%);--cell-color-end: color-mix(in srgb, var(--sc-cell-changed-color), #fff 60%);background:linear-gradient(90deg,var(--cell-color-start),var(--cell-color-end))}.aganttcell[data-v-52febd32]{background-color:#f9f9f9;width:100%;padding:0;height:100%}.gantt-container[data-v-52febd32]{position:relative;height:100%;background-color:#f0f0f0;border-radius:4px;overflow:visible}.gantt-bar[data-v-52febd32]{position:absolute;border-radius:4px;display:flex;align-items:center;justify-content:space-between;cursor:grab;box-sizing:border-box;border:1px solid rgba(0,0,0,.5);transition:left .1s ease-out,width .1s ease-out;height:80%;top:50%;z-index:2;transform:translateY(-50%)}.gantt-bar[data-v-52febd32]:active{cursor:grabbing}.gantt-bar.is-dragging[data-v-52febd32]{z-index:10}.gantt-label[data-v-52febd32]{flex:1;text-align:center;font-size:12px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px;-webkit-user-select:none;user-select:none}.resize-handle[data-v-52febd32]{position:relative;width:12px;height:100%;cursor:ew-resize;display:flex;align-items:center;justify-content:center;z-index:0;background:#00000040}.left-resize-handle[data-v-52febd32]{border-right:1px solid rgba(0,0,0,.5)}.right-resize-handle[data-v-52febd32]{border-left:1px solid rgba(0,0,0,.5)}.handle-grip[data-v-52febd32]{width:4px;height:12px;border-radius:2px;background:#000c}.resize-handle[data-v-52febd32]:hover{background-color:#ffffff80}.vertical-indicator[data-v-52febd32]{position:absolute;width:2px;opacity:0;pointer-events:none;transition:opacity .2s ease;top:-100vh;height:100vh;z-index:5;background-color:var(--17bc2643)}.left-indicator[data-v-52febd32]{left:50%;transform:translate(-50%)}.right-indicator[data-v-52febd32]{right:50%;transform:translate(50%)}.resize-handle.is-dragging .vertical-indicator[data-v-52febd32]{opacity:.7}.gantt-container[data-v-52febd32]:after{content:"";position:absolute;inset:0;background-size:calc(100% / var(--0a8a9192)) 100%;background-image:linear-gradient(to right,rgba(0,0,0,.1) 1px,transparent 1px);pointer-events:none;z-index:1}.connection-handle[data-v-52febd32]{position:absolute;top:50%;transform:translateY(-50%);width:16px;height:16px;opacity:0;transition:opacity .2s ease;cursor:crosshair;z-index:15;display:flex;align-items:center;justify-content:center}.connection-handle.visible[data-v-52febd32]{opacity:1}.left-connection-handle[data-v-52febd32]{left:-16px}.right-connection-handle[data-v-52febd32]{right:-16px}.connection-dot[data-v-52febd32]{width:8px;height:8px;border-radius:50%;background-color:#2196f3;border:2px solid white;box-shadow:0 1px 3px #0000004d}.connection-handle:hover .connection-dot[data-v-52febd32]{background-color:#1976d2;transform:scale(1.2)}.connection-handle.is-dragging[data-v-52febd32]{opacity:1!important}.connection-handle.is-dragging .connection-dot[data-v-52febd32]{background-color:#1976d2;transform:scale(1.3);box-shadow:0 2px 8px #2196f366}.atable-row{background-color:#fff}.atable-row>td:first-child{border-left:4px solid var(--sc-row-border-color)}.list-index{color:var(--sc-header-text-color);font-weight:700;padding-left:var(--sc-atable-row-padding);padding-right:.5em;text-align:left;-webkit-user-select:none;user-select:none;width:7ch;text-overflow:ellipsis;overflow:hidden;box-sizing:border-box;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding)}.tree-index{color:var(--sc-header-text-color);font-weight:700;text-align:center;-webkit-user-select:none;user-select:none;width:2ch;box-sizing:border-box;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding)}.atable-row:has(td.cell-modified)>td.sticky-column,.atable-row:has(td.cell-modified)>th.sticky-column,.atable-row:has(td.cell-modified)>td.sticky-index,.atable-row:has(td.cell-modified)>th.sticky-index{background:var(--sc-cell-changed-color)}.atable-row.changed-row-gradient[data-v-c554ee0f]:has(td.cell-modified){--cell-color-start: color-mix(in srgb, var(--sc-cell-changed-color), #fff 20%);--cell-color-end: color-mix(in srgb, var(--sc-cell-changed-color), #fff 60%);background:linear-gradient(90deg,var(--cell-color-start),var(--cell-color-end))}.gantt-connection-overlay[data-v-955111b6]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.connection-path[data-v-955111b6]{transition:stroke-width .2s ease;pointer-events:auto;cursor:pointer;stroke-dasharray:5px;stroke:var(--sc-cell-text-color)}#arrowhead-marker polygon[data-v-955111b6]{fill:var(--sc-cell-text-color)}.animated-path[data-v-955111b6]{animation:animated-dash-955111b6 infinite 1.5s linear}.connection-path[data-v-955111b6]:hover{stroke-width:3px}.connection-hitbox[data-v-955111b6]{pointer-events:auto;cursor:pointer}@keyframes animated-dash-955111b6{0%{stroke-dashoffset:0px}to{stroke-dashoffset:-10px}}.atable-header-row th{padding-left:.5ch!important;font-weight:700;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);box-sizing:border-box;color:var(--sc-header-text-color);position:relative}#header-index{padding-left:var(--sc-atable-row-padding);box-sizing:border-box}.tree-index{padding-right:0}th{order:1}.list-expansion-index{width:2ch;margin-left:5px}:root{--sc-primary-color: #0098c9;--sc-primary-text-color: #ffffff;--sc-brand-color: #202a44;--sc-gray-5: #f2f2f2;--sc-gray-10: #e6e6e6;--sc-gray-20: #cccccc;--sc-gray-50: #808080;--sc-gray-60: #666666;--sc-gray-80: #333333;--sc-brand-danger: #e63c28;--sc-brand-success: #155724;--sc-brand-warning: #b99d3e;--sc-active-cell-background: #ffffff;--sc-active-cell-outline: #e6a92d;--sc-cell-border-color: #ffffff;--sc-cell-text-color: #3a3c41;--sc-focus-cell-background: #ffffff;--sc-focus-cell-outline: #000000;--sc-header-border-color: #ffffff;--sc-header-text-color: var(--sc-gray-20);--sc-row-border-color: var(--sc-gray-20);--sc-row-color-zebra-dark: #dddddd;--sc-row-color-zebra-light: #eeeeee;--sc-row-number-background-color: #ffffff;--sc-input-active-border-color: #000000;--sc-input-active-label-color: #000000;--sc-input-border-color: var(--sc-gray-20);--sc-input-label-color: var(--sc-gray-60);--sc-required-border: #e63c28;--sc-cell-changed-color: #d8edff;--sc-form-border: var(--sc-gray-5);--sc-form-background: #ffffff;--sc-input-field-background: #ffffff;--sc-input-field-disabled-background: var(--sc-gray-5);--sc-font-size: 10px;--sc-font-family: Arimo, Arial, sans-serif;--sc-table-font-size: 16px;--sc-atable-font-family: "Arimo", sans-serif;--sc-atable-row-padding: .125rem;--sc-atable-row-height: 1.5em;--sc-atable-cell-border-width: 2px;--sc-table-loading-color: 204, 204, 204;--sc-btn-border: #cccccc;--sc-btn-color: white;--sc-btn-hover: #f2f2f2;--sc-btn-label-color: black}.amodal{position:absolute;background-color:var(--sc-row-color-zebra-dark);z-index:5}.atable-container{position:relative}.sticky-index{position:sticky;left:0;z-index:10;order:0}.sticky-column,th.sticky-column,td.sticky-column,th.sticky-index,td.sticky-index{position:sticky;z-index:10;order:0;background:#fff}.sticky-column-edge,.atable th.sticky-column-edge{border-right:1px solid var(--sc-row-border-color)}[data-v-51a03d16]:root{--sc-primary-color: #0098c9;--sc-primary-text-color: #ffffff;--sc-brand-color: #202a44;--sc-gray-5: #f2f2f2;--sc-gray-10: #e6e6e6;--sc-gray-20: #cccccc;--sc-gray-50: #808080;--sc-gray-60: #666666;--sc-gray-80: #333333;--sc-brand-danger: #e63c28;--sc-brand-success: #155724;--sc-brand-warning: #b99d3e;--sc-active-cell-background: #ffffff;--sc-active-cell-outline: #e6a92d;--sc-cell-border-color: #ffffff;--sc-cell-text-color: #3a3c41;--sc-focus-cell-background: #ffffff;--sc-focus-cell-outline: #000000;--sc-header-border-color: #ffffff;--sc-header-text-color: var(--sc-gray-20);--sc-row-border-color: var(--sc-gray-20);--sc-row-color-zebra-dark: #dddddd;--sc-row-color-zebra-light: #eeeeee;--sc-row-number-background-color: #ffffff;--sc-input-active-border-color: #000000;--sc-input-active-label-color: #000000;--sc-input-border-color: var(--sc-gray-20);--sc-input-label-color: var(--sc-gray-60);--sc-required-border: #e63c28;--sc-cell-changed-color: #d8edff;--sc-form-border: var(--sc-gray-5);--sc-form-background: #ffffff;--sc-input-field-background: #ffffff;--sc-input-field-disabled-background: var(--sc-gray-5);--sc-font-size: 10px;--sc-font-family: Arimo, Arial, sans-serif;--sc-table-font-size: 16px;--sc-atable-font-family: "Arimo", sans-serif;--sc-atable-row-padding: .125rem;--sc-atable-row-height: 1.5em;--sc-atable-cell-border-width: 2px;--sc-table-loading-color: 204, 204, 204;--sc-btn-border: #cccccc;--sc-btn-color: white;--sc-btn-hover: #f2f2f2;--sc-btn-label-color: black}.atable[data-v-51a03d16]{position:relative;font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);border-collapse:collapse;box-sizing:border-box;table-layout:auto;width:auto;overflow:clip;height:1px}.atable th[data-v-51a03d16]{border-width:0px;border-style:solid;border-radius:0;padding-left:.5ch;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);color:var(--sc-gray-60);height:var(--sc-atable-row-height);font-weight:300;letter-spacing:.05rem;order:1;box-sizing:border-box}.atable th[data-v-51a03d16]:focus{outline:none}.atable[data-v-51a03d16]:tbody{overflow:hidden;position:relative}.atable[data-v-51a03d16]:tbody:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:transparent;z-index:100}.aloading[data-v-a930a25b]{width:100%;border-top:1px solid var(--sc-row-border-color);border-bottom:1px solid var(--sc-row-border-color);display:flex;background-color:#fff;border-left:4px solid var(--sc-row-border-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);align-items:center;box-sizing:border-box;background:var(--sc-focus-cell-background);overflow:hidden;position:relative}.aloading-bar[data-v-a930a25b]{width:100%;height:100%;position:absolute;left:-100%;top:0;background:linear-gradient(90deg,rgba(var(--sc-table-loading-color),0),rgba(var(--sc-table-loading-color),1),rgba(var(--sc-table-loading-color),0));animation:gradient-a930a25b infinite 2s;z-index:0}.aloading-header[data-v-a930a25b]{color:var(--sc-cell-text-color);font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);padding:0;margin:0;font-weight:400;z-index:1}.aloading-header[data-v-a930a25b]:after{content:"...";animation:ellipse-a930a25b 2s;animation-iteration-count:infinite}@keyframes gradient-a930a25b{0%{left:-100%}to{left:100%}}@keyframes ellipse-a930a25b{0%{content:""}20%{content:""}40%{content:"."}60%{content:".."}80%{content:"..."}}.aloading[data-v-e1165876]{width:100%;border-top:1px solid var(--sc-row-border-color);border-bottom:1px solid var(--sc-row-border-color);display:flex;background-color:#fff;border-left:4px solid var(--sc-row-border-color);padding-left:.5ch!important;padding-right:.5ch;padding-top:var(--sc-atable-row-padding);padding-bottom:var(--sc-atable-row-padding);align-items:center;box-sizing:border-box;background:var(--sc-focus-cell-background);overflow:hidden;position:relative}.aloading-bar[data-v-e1165876]{width:50%;height:3px;position:absolute;left:-100%;bottom:0;background:var(--sc-row-border-color);animation:bar-left-e1165876 infinite 2s;z-index:0}.aloading-header[data-v-e1165876]{color:var(--sc-cell-text-color);font-family:var(--sc-atable-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--sc-table-font-size);padding:0;margin:0;font-weight:400;z-index:1}.aloading-header[data-v-e1165876]:after{content:"...";animation:ellipse-e1165876 2s;animation-iteration-count:infinite}@keyframes bar-left-e1165876{0%{left:-50%}to{left:100%}}@keyframes ellipse-e1165876{0%{content:""}20%{content:""}40%{content:"."}60%{content:".."}80%{content:"..."}}
2
+ /*$vite$:1*/`,document.head.appendChild(ze);function ce(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}const rt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const it=e=>e!=null,st=Object.prototype.toString,ct=e=>st.call(e)==="[object Object]",dt=()=>{};function ee(e){return Array.isArray(e)?e:[e]}function ft(e,n,a){return t.watch(e,n,{...a,immediate:!0})}const j=rt?window:void 0;function U(e){var n;const a=t.toValue(e);return(n=a?.$el)!=null?n:a}function Z(...e){const n=[],a=()=>{n.forEach(o=>o()),n.length=0},i=(o,l,u,m)=>(o.addEventListener(l,u,m),()=>o.removeEventListener(l,u,m)),c=t.computed(()=>{const o=ee(t.toValue(e[0])).filter(l=>l!=null);return o.every(l=>typeof l!="string")?o:void 0}),d=ft(()=>{var o,l;return[(l=(o=c.value)==null?void 0:o.map(u=>U(u)))!=null?l:[j].filter(u=>u!=null),ee(t.toValue(c.value?e[1]:e[0])),ee(t.unref(c.value?e[2]:e[1])),t.toValue(c.value?e[3]:e[2])]},([o,l,u,m])=>{if(a(),!o?.length||!l?.length||!u?.length)return;const x=ct(m)?{...m}:m;n.push(...o.flatMap(v=>l.flatMap(p=>u.map(C=>i(v,p,C,x)))))},{flush:"post"}),s=()=>{d(),a()};return ce(a),s}function ut(){const e=t.shallowRef(!1),n=t.getCurrentInstance();return n&&t.onMounted(()=>{e.value=!0},n),e}function mt(e){const n=ut();return t.computed(()=>(n.value,!!e()))}function gt(e,n,a={}){const{window:i=j,...c}=a;let d;const s=mt(()=>i&&"MutationObserver"in i),o=()=>{d&&(d.disconnect(),d=void 0)},l=t.computed(()=>{const v=t.toValue(e),p=ee(v).map(U).filter(it);return new Set(p)}),u=t.watch(()=>l.value,v=>{o(),s.value&&v.size&&(d=new MutationObserver(n),v.forEach(p=>d.observe(p,c)))},{immediate:!0,flush:"post"}),m=()=>d?.takeRecords(),x=()=>{u(),o()};return ce(x),{isSupported:s,stop:x,takeRecords:m}}function pt(e,n,a={}){const{window:i=j,document:c=i?.document,flush:d="sync"}=a;if(!i||!c)return dt;let s;const o=m=>{s?.(),s=m},l=t.watchEffect(()=>{const m=U(e);if(m){const{stop:x}=gt(c,v=>{v.map(p=>[...p.removedNodes]).flat().some(p=>p===m||p.contains(m))&&n(v)},{window:i,childList:!0,subtree:!0});o(x)}},{flush:d}),u=()=>{l(),o()};return ce(u),u}function ht(e={}){var n;const{window:a=j,deep:i=!0,triggerOnRemoval:c=!1}=e,d=(n=e.document)!=null?n:a?.document,s=()=>{var u;let m=d?.activeElement;if(i)for(;m?.shadowRoot;)m=(u=m?.shadowRoot)==null?void 0:u.activeElement;return m},o=t.shallowRef(),l=()=>{o.value=s()};if(a){const u={capture:!0,passive:!0};Z(a,"blur",m=>{m.relatedTarget===null&&l()},u),Z(a,"focus",l,u)}return c&&pt(o,l,{document:d}),l(),o}const bt="focusin",wt="focusout",xt=":focus-within";function vt(e,n={}){const{window:a=j}=n,i=t.computed(()=>U(e)),c=t.shallowRef(!1),d=t.computed(()=>c.value);if(!a||!ht(n).value)return{focused:d};const s={passive:!0};return Z(i,bt,()=>c.value=!0,s),Z(i,wt,()=>{var o,l,u;return c.value=(u=(l=(o=i.value)==null?void 0:o.matches)==null?void 0:l.call(o,xt))!=null?u:!1},s),{focused:d}}function yt(e,{window:n=j,scrollTarget:a}={}){const i=t.ref(!1),c=()=>{if(!n)return;const d=n.document,s=U(e);if(!s)i.value=!1;else{const o=s.getBoundingClientRect();i.value=o.top<=(n.innerHeight||d.documentElement.clientHeight)&&o.left<=(n.innerWidth||d.documentElement.clientWidth)&&o.bottom>=0&&o.right>=0}};return t.watch(()=>U(e),()=>c(),{immediate:!0,flush:"post"}),n&&Z(a||n,"scroll",c,{capture:!1,passive:!0}),i}const L=e=>{let n=yt(e).value;return n=n&&e.offsetHeight>0,n},P=e=>e.tabIndex>=0,Me=e=>{const n=e.target;return de(n)},de=e=>{let n;if(e instanceof HTMLTableCellElement){const a=e.parentElement?.previousElementSibling;if(a){const i=Array.from(a.children)[e.cellIndex];i&&(n=i)}}else if(e instanceof HTMLTableRowElement){const a=e.previousElementSibling;a&&(n=a)}return n&&(!P(n)||!L(n))?de(n):n},kt=e=>{const n=e.target;let a;if(n instanceof HTMLTableCellElement){const i=n.parentElement?.parentElement;if(i){const c=i.firstElementChild?.children[n.cellIndex];c&&(a=c)}}else if(n instanceof HTMLTableRowElement){const i=n.parentElement;if(i){const c=i.firstElementChild;c&&(a=c)}}return a&&(!P(a)||!L(a))?fe(a):a},Ve=e=>{const n=e.target;return fe(n)},fe=e=>{let n;if(e instanceof HTMLTableCellElement){const a=e.parentElement?.nextElementSibling;if(a){const i=Array.from(a.children)[e.cellIndex];i&&(n=i)}}else if(e instanceof HTMLTableRowElement){const a=e.nextElementSibling;a&&(n=a)}return n&&(!P(n)||!L(n))?fe(n):n},Ct=e=>{const n=e.target;let a;if(n instanceof HTMLTableCellElement){const i=n.parentElement?.parentElement;if(i){const c=i.lastElementChild?.children[n.cellIndex];c&&(a=c)}}else if(n instanceof HTMLTableRowElement){const i=n.parentElement;if(i){const c=i.lastElementChild;c&&(a=c)}}return a&&(!P(a)||!L(a))?de(a):a},Ae=e=>{const n=e.target;return ue(n)},ue=e=>{let n;return e.previousElementSibling?n=e.previousElementSibling:n=e.parentElement?.previousElementSibling?.lastElementChild,n&&(!P(n)||!L(n))?ue(n):n},Te=e=>{const n=e.target;return me(n)},me=e=>{let n;return e.nextElementSibling?n=e.nextElementSibling:n=e.parentElement?.nextElementSibling?.firstElementChild,n&&(!P(n)||!L(n))?me(n):n},De=e=>{const n=e.target.parentElement?.firstElementChild;return n&&(!P(n)||!L(n))?me(n):n},Oe=e=>{const n=e.target.parentElement?.lastElementChild;return n&&(!P(n)||!L(n))?ue(n):n},te=["alt","control","shift","meta"],Et={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right"},ge={"keydown.up":e=>{const n=Me(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.down":e=>{const n=Ve(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.left":e=>{const n=Ae(e);e.preventDefault(),e.stopPropagation(),n&&n.focus()},"keydown.right":e=>{const n=Te(e);e.preventDefault(),e.stopPropagation(),n&&n.focus()},"keydown.control.up":e=>{const n=kt(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.control.down":e=>{const n=Ct(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.control.left":e=>{const n=De(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.control.right":e=>{const n=Oe(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.end":e=>{const n=Oe(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const n=Ve(e);n&&n.focus()}},"keydown.shift.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const n=Me(e);n&&n.focus()}},"keydown.home":e=>{const n=De(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.tab":e=>{const n=Te(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())},"keydown.shift.tab":e=>{const n=Ae(e);n&&(e.preventDefault(),e.stopPropagation(),n.focus())}};function pe(e){const n=s=>{let o=null;return s.parent&&(typeof s.parent=="string"?o=document.querySelector(s.parent):s.parent instanceof HTMLElement?o=s.parent:o=s.parent.value),o},a=s=>{const o=n(s);let l=[];if(typeof s.selectors=="string")l=o?Array.from(o.querySelectorAll(s.selectors)):Array.from(document.querySelectorAll(s.selectors));else if(Array.isArray(s.selectors))for(const u of s.selectors)u instanceof HTMLElement?l.push(u):l.push(u.$el);else if(s.selectors instanceof HTMLElement)l.push(s.selectors);else if(s.selectors?.value)if(Array.isArray(s.selectors.value))for(const u of s.selectors.value)u instanceof HTMLElement?l.push(u):l.push(u.$el);else l.push(s.selectors.value);return l},i=s=>{const o=n(s);let l=[];return s.selectors?l=a(s):o&&(l=Array.from(o.children).filter(u=>P(u)&&L(u))),l},c=s=>o=>{const l=Et[o.key]||o.key.toLowerCase();if(te.includes(l))return;const u=s.handlers||ge;for(const m of Object.keys(u)){const[x,...v]=m.split(".");if(x==="keydown"&&v.includes(l)){const p=u[m],C=v.filter(g=>te.includes(g)),y=te.some(g=>{const h=g.charAt(0).toUpperCase()+g.slice(1);return o.getModifierState(h)});if(C.length>0){if(y){for(const g of te)if(v.includes(g)){const h=g.charAt(0).toUpperCase()+g.slice(1);o.getModifierState(h)&&p(o)}}}else y||p(o)}}},d=[];t.onMounted(()=>{for(const s of e){const o=n(s),l=i(s),u=c(s),m=o?[o]:l;for(const x of m){const{focused:v}=vt(t.ref(x)),p=t.watch(v,C=>{C?x.addEventListener("keydown",u):x.removeEventListener("keydown",u)});d.push(p)}}}),t.onBeforeUnmount(()=>{for(const s of d)s()})}function q(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}const ne=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const It=e=>e!=null,St=Object.prototype.toString,He=e=>St.call(e)==="[object Object]",N=()=>{},he=Bt();function Bt(){var e,n;return ne&&((e=window?.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((n=window?.navigator)==null?void 0:n.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function $t(...e){if(e.length!==1)return t.toRef(...e);const n=e[0];return typeof n=="function"?t.readonly(t.customRef(()=>({get:n,set:N}))):t.ref(n)}function Rt(e,n){function a(...i){return new Promise((c,d)=>{Promise.resolve(e(()=>n.apply(this,i),{fn:n,thisArg:this,args:i})).then(c).catch(d)})}return a}function zt(e,n={}){let a,i,c=N;const d=l=>{clearTimeout(l),c(),c=N};let s;return l=>{const u=t.toValue(e),m=t.toValue(n.maxWait);return a&&d(a),u<=0||m!==void 0&&m<=0?(i&&(d(i),i=void 0),Promise.resolve(l())):new Promise((x,v)=>{c=n.rejectOnCancel?v:x,s=l,m&&!i&&(i=setTimeout(()=>{a&&d(a),i=void 0,x(s())},m)),a=setTimeout(()=>{i&&d(i),i=void 0,x(l())},u)})}}function X(e){return Array.isArray(e)?e:[e]}function Mt(e){return t.getCurrentInstance()}function Vt(e,n=200,a={}){return Rt(zt(n,a),e)}function At(e,n={}){if(!t.isRef(e))return t.toRefs(e);const a=Array.isArray(e.value)?Array.from({length:e.value.length}):{};for(const i in e.value)a[i]=t.customRef(()=>({get(){return e.value[i]},set(c){var d;if((d=t.toValue(n.replaceRef))!=null?d:!0)if(Array.isArray(e.value)){const o=[...e.value];o[i]=c,e.value=o}else{const o={...e.value,[i]:c};Object.setPrototypeOf(o,Object.getPrototypeOf(e.value)),e.value=o}else e.value[i]=c}}));return a}function Tt(e,n=!0,a){Mt()?t.onMounted(e,a):n?e():t.nextTick(e)}function Le(e,n,a){return t.watch(e,n,{...a,immediate:!0})}const oe=ne?window:void 0;function J(e){var n;const a=t.toValue(e);return(n=a?.$el)!=null?n:a}function Q(...e){const n=[],a=()=>{n.forEach(o=>o()),n.length=0},i=(o,l,u,m)=>(o.addEventListener(l,u,m),()=>o.removeEventListener(l,u,m)),c=t.computed(()=>{const o=X(t.toValue(e[0])).filter(l=>l!=null);return o.every(l=>typeof l!="string")?o:void 0}),d=Le(()=>{var o,l;return[(l=(o=c.value)==null?void 0:o.map(u=>J(u)))!=null?l:[oe].filter(u=>u!=null),X(t.toValue(c.value?e[1]:e[0])),X(t.unref(c.value?e[2]:e[1])),t.toValue(c.value?e[3]:e[2])]},([o,l,u,m])=>{if(a(),!o?.length||!l?.length||!u?.length)return;const x=He(m)?{...m}:m;n.push(...o.flatMap(v=>l.flatMap(p=>u.map(C=>i(v,p,C,x)))))},{flush:"post"}),s=()=>{d(),a()};return q(a),s}function Dt(){const e=t.shallowRef(!1),n=t.getCurrentInstance();return n&&t.onMounted(()=>{e.value=!0},n),e}function Pe(e){const n=Dt();return t.computed(()=>(n.value,!!e()))}function Ne(e,n,a={}){const{window:i=oe,...c}=a;let d;const s=Pe(()=>i&&"MutationObserver"in i),o=()=>{d&&(d.disconnect(),d=void 0)},l=t.computed(()=>{const v=t.toValue(e),p=X(v).map(J).filter(It);return new Set(p)}),u=t.watch(()=>l.value,v=>{o(),s.value&&v.size&&(d=new MutationObserver(n),v.forEach(p=>d.observe(p,c)))},{immediate:!0,flush:"post"}),m=()=>d?.takeRecords(),x=()=>{u(),o()};return q(x),{isSupported:s,stop:x,takeRecords:m}}function be(e,n={}){var a;const{pointerTypes:i,preventDefault:c,stopPropagation:d,exact:s,onMove:o,onEnd:l,onStart:u,initialValue:m,axis:x="both",draggingElement:v=oe,containerElement:p,handle:C=e,buttons:y=[0]}=n,g=t.ref((a=t.toValue(m))!=null?a:{x:0,y:0}),h=t.ref(),w=S=>i?i.includes(S.pointerType):!0,I=S=>{t.toValue(c)&&S.preventDefault(),t.toValue(d)&&S.stopPropagation()},$=S=>{var M;if(!t.toValue(y).includes(S.button)||t.toValue(n.disabled)||!w(S)||t.toValue(s)&&S.target!==t.toValue(e))return;const D=t.toValue(p),H=(M=D?.getBoundingClientRect)==null?void 0:M.call(D),V=t.toValue(e).getBoundingClientRect(),W={x:S.clientX-(D?V.left-H.left+D.scrollLeft:V.left),y:S.clientY-(D?V.top-H.top+D.scrollTop:V.top)};u?.(W,S)!==!1&&(h.value=W,I(S))},O=S=>{if(t.toValue(n.disabled)||!w(S)||!h.value)return;const M=t.toValue(p),D=t.toValue(e).getBoundingClientRect();let{x:H,y:V}=g.value;(x==="x"||x==="both")&&(H=S.clientX-h.value.x,M&&(H=Math.min(Math.max(0,H),M.scrollWidth-D.width))),(x==="y"||x==="both")&&(V=S.clientY-h.value.y,M&&(V=Math.min(Math.max(0,V),M.scrollHeight-D.height))),g.value={x:H,y:V},o?.(g.value,S),I(S)},R=S=>{t.toValue(n.disabled)||!w(S)||h.value&&(h.value=void 0,l?.(g.value,S),I(S))};if(ne){const S=()=>{var M;return{capture:(M=n.capture)!=null?M:!0,passive:!t.toValue(c)}};Q(C,"pointerdown",$,S),Q(v,"pointermove",O,S),Q(v,"pointerup",R,S)}return{...At(g),position:g,isDragging:t.computed(()=>!!h.value),style:t.computed(()=>`left:${g.value.x}px;top:${g.value.y}px;`)}}function Ot(e,n,a={}){const{window:i=oe,...c}=a;let d;const s=Pe(()=>i&&"ResizeObserver"in i),o=()=>{d&&(d.disconnect(),d=void 0)},l=t.computed(()=>{const x=t.toValue(e);return Array.isArray(x)?x.map(v=>J(v)):[J(x)]}),u=t.watch(l,x=>{if(o(),s.value&&i){d=new ResizeObserver(n);for(const v of x)v&&d.observe(v,c)}},{immediate:!0,flush:"post"}),m=()=>{o(),u()};return q(m),{isSupported:s,stop:m}}function G(e,n={}){const{reset:a=!0,windowResize:i=!0,windowScroll:c=!0,immediate:d=!0,updateTiming:s="sync"}=n,o=t.shallowRef(0),l=t.shallowRef(0),u=t.shallowRef(0),m=t.shallowRef(0),x=t.shallowRef(0),v=t.shallowRef(0),p=t.shallowRef(0),C=t.shallowRef(0);function y(){const h=J(e);if(!h){a&&(o.value=0,l.value=0,u.value=0,m.value=0,x.value=0,v.value=0,p.value=0,C.value=0);return}const w=h.getBoundingClientRect();o.value=w.height,l.value=w.bottom,u.value=w.left,m.value=w.right,x.value=w.top,v.value=w.width,p.value=w.x,C.value=w.y}function g(){s==="sync"?y():s==="next-frame"&&requestAnimationFrame(()=>y())}return Ot(e,g),t.watch(()=>J(e),h=>!h&&g()),Ne(e,g,{attributeFilter:["style","class"]}),c&&Q("scroll",g,{capture:!0,passive:!0}),i&&Q("resize",g,{passive:!0}),Tt(()=>{d&&g()}),{height:o,bottom:l,left:u,right:m,top:x,width:v,x:p,y:C,update:g}}const Ht=e=>{const n=new DOMParser().parseFromString(e,"text/html");return Array.from(n.body.childNodes).some(a=>a.nodeType===1)},Lt=(e=8)=>Array.from({length:e},()=>Math.floor(Math.random()*16).toString(16)).join(""),Pt=["data-colindex","data-rowindex","data-editable","contenteditable","tabindex"],Nt=["innerHTML"],Wt={key:2},We=t.defineComponent({__name:"ACell",props:{colIndex:{},rowIndex:{},store:{},addNavigation:{type:[Boolean,Object],default:!0},tabIndex:{default:0},pinned:{type:Boolean,default:!1},debounce:{default:300}},setup(e,{expose:n}){const a=t.useTemplateRef("cell"),i=e.store.getCellData(e.colIndex,e.rowIndex),c=t.ref(""),d=t.ref(!1),s=e.store.columns[e.colIndex],o=e.store.rows[e.rowIndex],l=s.align||"center",u=s.width||"40ch",m=t.computed(()=>e.store.getCellDisplayValue(e.colIndex,e.rowIndex)),x=t.computed(()=>typeof m.value=="string"?Ht(m.value):!1),v=t.computed(()=>({textAlign:l,width:u,fontWeight:d.value?"bold":"inherit",paddingLeft:e.store.getIndent(e.colIndex,e.store.display[e.rowIndex]?.indent)})),p=t.computed(()=>({"sticky-column":e.pinned,"cell-modified":d.value})),C=()=>{const{left:w,bottom:I,width:$,height:O}=G(a);s.mask,s.modalComponent&&e.store.$patch(R=>{R.modal.visible=!0,R.modal.colIndex=e.colIndex,R.modal.rowIndex=e.rowIndex,R.modal.left=w,R.modal.bottom=I,R.modal.width=$,R.modal.height=O,R.modal.cell=a.value,typeof s.modalComponent=="function"?R.modal.component=s.modalComponent({table:R.table,row:o,column:s}):R.modal.component=s.modalComponent,R.modal.componentProps=s.modalComponentExtraProps})};if(e.addNavigation){let w={...ge,"keydown.f2":C,"keydown.alt.up":C,"keydown.alt.down":C,"keydown.alt.left":C,"keydown.alt.right":C};typeof e.addNavigation=="object"&&(w={...w,...e.addNavigation}),pe([{selectors:a,handlers:w}])}const y=()=>{a.value&&(c.value=a.value.textContent)},g=w=>{const I=w.target;I.textContent!==c.value&&(c.value=I.textContent,s.format?(d.value=I.textContent!==e.store.getFormattedValue(e.colIndex,e.rowIndex,i),e.store.setCellText(e.colIndex,e.rowIndex,I.textContent)):(d.value=I.textContent!==i,e.store.setCellData(e.colIndex,e.rowIndex,I.textContent)))},h=Vt(g,e.debounce);return n({currentData:c}),(w,I)=>(t.openBlock(),t.createElementBlock("td",{ref:"cell","data-colindex":w.colIndex,"data-rowindex":w.rowIndex,"data-editable":t.unref(s).edit,contenteditable:t.unref(s).edit,tabindex:w.tabIndex,spellcheck:!1,style:t.normalizeStyle(v.value),onFocus:y,onPaste:g,onInput:I[0]||(I[0]=(...$)=>t.unref(h)&&t.unref(h)(...$)),onClick:C,class:t.normalizeClass(["atable-cell",p.value])},[t.unref(s).cellComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s).cellComponent),t.mergeProps({key:0,value:m.value},t.unref(s).cellComponentProps),null,16,["value"])):x.value?(t.openBlock(),t.createElementBlock("span",{key:1,innerHTML:m.value},null,8,Nt)):(t.openBlock(),t.createElementBlock("span",Wt,t.toDisplayString(m.value),1))],46,Pt))}}),Xt=["tabindex"],Gt=["tabindex"],Ft=["colspan"],Yt=t.defineComponent({__name:"AExpansionRow",props:{rowIndex:{},store:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object]}},setup(e){const n=t.useTemplateRef("rowEl"),a=t.computed(()=>e.store.display[e.rowIndex].expanded?"▼":"►");if(e.addNavigation){const i={"keydown.control.g":c=>{c.stopPropagation(),c.preventDefault(),e.store.toggleRowExpand(e.rowIndex)}};typeof e.addNavigation=="object"&&Object.assign(i,e.addNavigation),pe([{selectors:n,handlers:i}])}return(i,c)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("tr",t.mergeProps(i.$attrs,{ref:"rowEl",tabindex:i.tabIndex,class:"expandable-row"}),[t.createElementVNode("td",{tabIndex:-1,onClick:c[0]||(c[0]=d=>i.store.toggleRowExpand(i.rowIndex)),class:"row-index"},t.toDisplayString(a.value),1),t.renderSlot(i.$slots,"row",{},void 0,!0)],16,Xt),i.store.display[i.rowIndex].expanded?(t.openBlock(),t.createElementBlock("tr",{key:0,ref:"rowExpanded",tabindex:i.tabIndex,class:"expanded-row"},[t.createElementVNode("td",{tabIndex:-1,colspan:i.store.columns.length+1,class:"expanded-row-content"},[t.renderSlot(i.$slots,"content",{},void 0,!0)],8,Ft)],8,Gt)):t.createCommentVNode("",!0)],64))}}),F=(e,n)=>{const a=e.__vccOpts||e;for(const[i,c]of n)a[i]=c;return a},Xe=F(Yt,[["__scopeId","data-v-5ad4bb41"]]),jt=["colspan"],Ut={ref:"container",class:"gantt-container"},qt=["data-rowindex","data-colindex"],Jt={key:2,class:"gantt-label"},Zt=["x1","y1","x2","y2"],Ge=F(t.defineComponent({__name:"AGanttCell",props:{store:{},columnsCount:{},rowIndex:{},colIndex:{},start:{default:0},end:{},colspan:{default:1},label:{},color:{default:"#cccccc"}},emits:["connection:create"],setup(e,{expose:n,emit:a}){t.useCssVars(E=>({"17bc2643":c.value,"0a8a9192":E.colspan}));const i=a,c=t.ref(e.color.length>=6?e.color:"#cccccc"),d=`gantt-bar-row-${e.rowIndex}-col-${e.colIndex}`,s=t.useTemplateRef("container"),o=t.useTemplateRef("bar"),l=t.useTemplateRef("leftResizeHandle"),u=t.useTemplateRef("rightResizeHandle"),m=t.useTemplateRef("leftConnectionHandle"),x=t.useTemplateRef("rightConnectionHandle"),{width:v}=G(s),{left:p,right:C}=G(o),y=t.ref(e.start),g=t.ref(e.end||y.value+e.colspan),h=t.ref(!1),w=t.ref(!1),I=t.ref(!1),$=t.ref(!1),O=t.ref(!1),R=t.ref({startX:0,startY:0,endX:0,endY:0}),S=t.computed(()=>re.value||W.value||K.value),M=t.computed(()=>e.colspan>0?v.value/e.colspan:0),D=t.computed(()=>{const E=y.value/e.colspan*100,r=g.value/e.colspan*100;return{left:`${E}%`,width:`${r-E}%`,backgroundColor:c.value}}),H=t.computed(()=>({position:"fixed",top:0,left:0,width:"100vw",height:"100vh",pointerEvents:"none",zIndex:1e3})),V=t.ref({startX:0,startPos:0}),{isDragging:W}=be(l,{axis:"x",onStart:()=>_(p.value,y.value),onMove:({x:E})=>ie(E),onEnd:({x:E})=>Ie(E)}),{isDragging:K}=be(u,{axis:"x",onStart:()=>_(C.value,g.value),onMove:({x:E})=>se(E),onEnd:({x:E})=>Ke(E)}),{isDragging:re}=be(o,{exact:!0,axis:"x",onStart:()=>_(p.value,y.value),onMove:({x:E})=>_e(E),onEnd:({x:E})=>et(E)});t.onMounted(()=>{tt()}),t.onUnmounted(()=>{nt()});function _(E,r){o.value&&(o.value.style.transition="none"),V.value={startX:E,startPos:r}}function ie(E){if(!W.value||!o.value)return;const f=(E-V.value.startX)/M.value,b=Math.max(0,Math.min(g.value-1,V.value.startPos+f));o.value.style.left=`${b/e.colspan*100}%`,o.value.style.width=`${(g.value-b)/e.colspan*100}%`}function Ie(E){if(!o.value)return;const r=E-V.value.startX,f=Math.round(r/M.value),b=y.value,k=Math.max(0,Math.min(g.value-1,V.value.startPos+f));y.value=k,e.store.updateGanttBar({rowIndex:e.rowIndex,colIndex:e.colIndex,type:"resize",edge:"start",oldStart:b,newStart:k,end:g.value,delta:f,oldColspan:g.value-b,newColspan:g.value-k})}function se(E){if(!K.value||!o.value)return;const f=(E-V.value.startX)/M.value,b=Math.max(y.value+1,Math.min(e.columnsCount,V.value.startPos+f));o.value.style.width=`${(b-y.value)/e.colspan*100}%`}function Ke(E){if(!o.value)return;const r=E-V.value.startX,f=Math.round(r/M.value),b=g.value,k=Math.max(y.value+1,Math.min(e.columnsCount,V.value.startPos+f));g.value=k,e.store.updateGanttBar({rowIndex:e.rowIndex,colIndex:e.colIndex,type:"resize",edge:"end",oldEnd:b,newEnd:k,start:y.value,delta:f,oldColspan:b-y.value,newColspan:k-y.value})}function _e(E){if(!re.value||!o.value)return;const f=(E-V.value.startX)/M.value,b=g.value-y.value,k=Math.max(0,Math.min(V.value.startPos+f,e.columnsCount-b));o.value.style.left=`${k/e.colspan*100}%`}function et(E){if(!o.value)return;const r=E-V.value.startX,f=Math.round(r/M.value),b=g.value-y.value,k=y.value,B=g.value;let z=V.value.startPos+f,T=z+b;z<0?(z=0,T=b):T>e.columnsCount&&(T=e.columnsCount,z=T-b),y.value=z,g.value=T,e.store.updateGanttBar({rowIndex:e.rowIndex,colIndex:e.colIndex,type:"bar",oldStart:k,oldEnd:B,newStart:z,newEnd:T,delta:f,colspan:T-z})}function tt(){const{x:E,y:r}=G(o),{x:f,y:b}=G(m),{x:k,y:B}=G(x);e.store.registerGanttBar({id:d,rowIndex:e.rowIndex,colIndex:e.colIndex,startIndex:y,endIndex:g,color:c,label:e.label,position:{x:E,y:r}}),e.store.isDependencyGraphEnabled&&(e.store.registerConnectionHandle({id:`${d}-connection-left`,rowIndex:e.rowIndex,colIndex:e.colIndex,side:"left",position:{x:f,y:b},visible:h,barId:d}),e.store.registerConnectionHandle({id:`${d}-connection-right`,rowIndex:e.rowIndex,colIndex:e.colIndex,side:"right",position:{x:k,y:B},visible:w,barId:d}))}function nt(){e.store.unregisterGanttBar(d),e.store.isDependencyGraphEnabled&&(e.store.unregisterConnectionHandle(`${d}-connection-left`),e.store.unregisterConnectionHandle(`${d}-connection-right`))}function ot(){e.store.isDependencyGraphEnabled&&(h.value=!0,w.value=!0)}function Se(){!I.value&&!$.value&&(h.value=!1,w.value=!1)}function Be(E,r){r.preventDefault(),r.stopPropagation(),O.value=!0,E==="left"?I.value=!0:$.value=!0;const f=E==="left"?m.value:x.value;if(f){const B=f.getBoundingClientRect(),z=B.left+B.width/2,T=B.top+B.height/2;R.value={startX:z,startY:T,endX:z,endY:T}}const b=B=>{R.value.endX=B.clientX,R.value.endY=B.clientY},k=B=>{$e(B,E),Re(b,k)};document.addEventListener("mousemove",b),document.addEventListener("mouseup",k)}function $e(E,r){const b=document.elementFromPoint(E.clientX,E.clientY)?.closest(".connection-handle");if(b&&b!==(r==="left"?m.value:x.value)){const k=b.closest(".gantt-bar");if(k){const B=parseInt(k.getAttribute("data-rowindex")||"0"),z=parseInt(k.getAttribute("data-colindex")||"0"),T=b.classList.contains("left-connection-handle")?"left":"right",In=`gantt-bar-row-${B}-col-${z}`,at=e.store.createConnection(`${d}-connection-${r}`,`${In}-connection-${T}`);at&&i("connection:create",at)}}}function Re(E,r){O.value=!1,I.value=!1,$.value=!1,document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",r),o.value?.matches(":hover")||Se()}return n({barStyle:D,cleanupConnectionDrag:Re,currentEnd:g,handleConnectionDrop:$e,isLeftConnectionDragging:I,isLeftConnectionVisible:h,isRightConnectionDragging:$,isRightConnectionVisible:w,showDragPreview:O}),(E,r)=>(t.openBlock(),t.createElementBlock("td",{class:"aganttcell",colspan:E.colspan},[t.createElementVNode("div",Ut,[t.createElementVNode("div",{ref:"bar","data-rowindex":E.rowIndex,"data-colindex":E.colIndex,class:t.normalizeClass(["gantt-bar",{"is-dragging":S.value}]),style:t.normalizeStyle(D.value),onMouseenter:ot,onMouseleave:Se},[E.store.isDependencyGraphEnabled?(t.openBlock(),t.createElementBlock("div",{key:0,ref:"leftConnectionHandle",class:t.normalizeClass(["connection-handle left-connection-handle",{visible:h.value,"is-dragging":I.value}]),onMousedown:r[0]||(r[0]=t.withModifiers(f=>Be("left",f),["stop"]))},r[2]||(r[2]=[t.createElementVNode("div",{class:"connection-dot"},null,-1)]),34)):t.createCommentVNode("",!0),E.store.isDependencyGraphEnabled?(t.openBlock(),t.createElementBlock("div",{key:1,ref:"rightConnectionHandle",class:t.normalizeClass(["connection-handle right-connection-handle",{visible:w.value,"is-dragging":$.value}]),onMousedown:r[1]||(r[1]=t.withModifiers(f=>Be("right",f),["stop"]))},r[3]||(r[3]=[t.createElementVNode("div",{class:"connection-dot"},null,-1)]),34)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref:"leftResizeHandle",class:t.normalizeClass(["resize-handle left-resize-handle",{"is-dragging":t.unref(W)}])},r[4]||(r[4]=[t.createElementVNode("div",{class:"handle-grip"},null,-1),t.createElementVNode("div",{class:"vertical-indicator left-indicator"},null,-1)]),2),E.label?(t.openBlock(),t.createElementBlock("label",Jt,t.toDisplayString(E.label),1)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref:"rightResizeHandle",class:t.normalizeClass(["resize-handle right-resize-handle",{"is-dragging":t.unref(K)}])},r[5]||(r[5]=[t.createElementVNode("div",{class:"handle-grip"},null,-1),t.createElementVNode("div",{class:"vertical-indicator right-indicator"},null,-1)]),2)],46,qt)],512),E.store.isDependencyGraphEnabled&&O.value?(t.openBlock(),t.createElementBlock("svg",{key:0,style:t.normalizeStyle(H.value)},[t.createElementVNode("line",{x1:R.value.startX,y1:R.value.startY,x2:R.value.endX,y2:R.value.endY,stroke:"#2196f3","stroke-width":"2","stroke-dasharray":"5,5"},null,8,Zt)],4)):t.createCommentVNode("",!0)],8,jt))}}),[["__scopeId","data-v-52febd32"]]),Qt=["tabindex"],we=F(t.defineComponent({__name:"ARow",props:{rowIndex:{},store:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object],default:!1}},setup(e){const n=t.useTemplateRef("rowEl"),a=t.computed(()=>e.store.isRowVisible(e.rowIndex)),i=t.computed(()=>e.store.getRowExpandSymbol(e.rowIndex));if(e.addNavigation){let c=ge;typeof e.addNavigation=="object"&&(c={...c,...e.addNavigation}),pe([{selectors:n,handlers:c}])}return(c,d)=>t.withDirectives((t.openBlock(),t.createElementBlock("tr",{ref:"rowEl",tabindex:c.tabIndex,class:"atable-row"},[c.store.config.view!=="uncounted"?t.renderSlot(c.$slots,"index",{key:0},()=>[c.store.config.view==="list"?(t.openBlock(),t.createElementBlock("td",{key:0,tabIndex:-1,class:t.normalizeClass(["list-index",c.store.hasPinnedColumns?"sticky-index":""])},t.toDisplayString(c.rowIndex+1),3)):c.store.isTreeView?(t.openBlock(),t.createElementBlock("td",{key:1,tabIndex:-1,class:t.normalizeClass(["tree-index",c.store.hasPinnedColumns?"sticky-index":""]),onClick:d[0]||(d[0]=s=>c.store.toggleRowExpand(c.rowIndex))},t.toDisplayString(i.value),3)):t.createCommentVNode("",!0)],!0):t.createCommentVNode("",!0),t.renderSlot(c.$slots,"default",{},void 0,!0)],8,Qt)),[[t.vShow,a.value]])}}),[["__scopeId","data-v-c554ee0f"]]),xe=ne?window:void 0;function Y(e){var n;const a=t.toValue(e);return(n=a?.$el)!=null?n:a}function ae(...e){const n=[],a=()=>{n.forEach(o=>o()),n.length=0},i=(o,l,u,m)=>(o.addEventListener(l,u,m),()=>o.removeEventListener(l,u,m)),c=t.computed(()=>{const o=X(t.toValue(e[0])).filter(l=>l!=null);return o.every(l=>typeof l!="string")?o:void 0}),d=Le(()=>{var o,l;return[(l=(o=c.value)==null?void 0:o.map(u=>Y(u)))!=null?l:[xe].filter(u=>u!=null),X(t.toValue(c.value?e[1]:e[0])),X(t.unref(c.value?e[2]:e[1])),t.toValue(c.value?e[3]:e[2])]},([o,l,u,m])=>{if(a(),!o?.length||!l?.length||!u?.length)return;const x=He(m)?{...m}:m;n.push(...o.flatMap(v=>l.flatMap(p=>u.map(C=>i(v,p,C,x)))))},{flush:"post"}),s=()=>{d(),a()};return q(a),s}let Fe=!1;function Ye(e,n,a={}){const{window:i=xe,ignore:c=[],capture:d=!0,detectIframe:s=!1,controls:o=!1}=a;if(!i)return o?{stop:N,cancel:N,trigger:N}:N;if(he&&!Fe){Fe=!0;const g={passive:!0};Array.from(i.document.body.children).forEach(h=>h.addEventListener("click",N,g)),i.document.documentElement.addEventListener("click",N,g)}let l=!0;const u=g=>t.toValue(c).some(h=>{if(typeof h=="string")return Array.from(i.document.querySelectorAll(h)).some(w=>w===g.target||g.composedPath().includes(w));{const w=Y(h);return w&&(g.target===w||g.composedPath().includes(w))}});function m(g){const h=t.toValue(g);return h&&h.$.subTree.shapeFlag===16}function x(g,h){const w=t.toValue(g),I=w.$.subTree&&w.$.subTree.children;return I==null||!Array.isArray(I)?!1:I.some($=>$.el===h.target||h.composedPath().includes($.el))}const v=g=>{const h=Y(e);if(g.target!=null&&!(!(h instanceof Element)&&m(e)&&x(e,g))&&!(!h||h===g.target||g.composedPath().includes(h))){if("detail"in g&&g.detail===0&&(l=!u(g)),!l){l=!0;return}n(g)}};let p=!1;const C=[ae(i,"click",g=>{p||(p=!0,setTimeout(()=>{p=!1},0),v(g))},{passive:!0,capture:d}),ae(i,"pointerdown",g=>{const h=Y(e);l=!u(g)&&!!(h&&!g.composedPath().includes(h))},{passive:!0}),s&&ae(i,"blur",g=>{setTimeout(()=>{var h;const w=Y(e);((h=i.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!w?.contains(i.document.activeElement)&&n(g)},0)},{passive:!0})].filter(Boolean),y=()=>C.forEach(g=>g());return o?{stop:y,cancel:()=>{l=!1},trigger:g=>{l=!0,v(g),l=!1}}:y}const ve=new WeakMap,Kt={mounted(e,n){const a=!n.modifiers.bubble;let i;if(typeof n.value=="function")i=Ye(e,n.value,{capture:a});else{const[c,d]=n.value;i=Ye(e,c,Object.assign({capture:a},d))}ve.set(e,i)},unmounted(e){const n=ve.get(e);n&&typeof n=="function"?n():n?.stop(),ve.delete(e)}};function _t(){const e=t.shallowRef(!1),n=t.getCurrentInstance();return n&&t.onMounted(()=>{e.value=!0},n),e}function en(e){const n=_t();return t.computed(()=>(n.value,!!e()))}function je(e,n,a={}){const{window:i=xe,...c}=a;let d;const s=en(()=>i&&"ResizeObserver"in i),o=()=>{d&&(d.disconnect(),d=void 0)},l=t.computed(()=>{const x=t.toValue(e);return Array.isArray(x)?x.map(v=>Y(v)):[Y(x)]}),u=t.watch(l,x=>{if(o(),s.value&&i){d=new ResizeObserver(n);for(const v of x)v&&d.observe(v,c)}},{immediate:!0,flush:"post"}),m=()=>{o(),u()};return q(m),{isSupported:s,stop:m}}function ye(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}const tn={mounted(e,n){typeof n.value=="function"?je(e,n.value):je(e,...n.value)}};function Ue(e){const n=window.getComputedStyle(e);if(n.overflowX==="scroll"||n.overflowY==="scroll"||n.overflowX==="auto"&&e.clientWidth<e.scrollWidth||n.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const a=e.parentNode;return!a||a.tagName==="BODY"?!1:Ue(a)}}function nn(e){const n=e||window.event,a=n.target;return Ue(a)?!1:n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)}const ke=new WeakMap;function on(e,n=!1){const a=t.shallowRef(n);let i=null,c="";t.watch($t(e),o=>{const l=ye(t.toValue(o));if(l){const u=l;if(ke.get(u)||ke.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(c=u.style.overflow),u.style.overflow==="hidden")return a.value=!0;if(a.value)return u.style.overflow="hidden"}},{immediate:!0});const d=()=>{const o=ye(t.toValue(e));!o||a.value||(he&&(i=ae(o,"touchmove",l=>{nn(l)},{passive:!1})),o.style.overflow="hidden",a.value=!0)},s=()=>{const o=ye(t.toValue(e));!o||!a.value||(he&&i?.(),o.style.overflow=c,ke.delete(o),a.value=!1)};return q(s),t.computed({get(){return a.value},set(o){o?d():s()}})}function an(){let e=!1;const n=t.shallowRef(!1);return(a,i)=>{if(n.value=i.value,e)return;e=!0;const c=on(a,i.value);t.watch(n,d=>c.value=d)}}an();const ln={class:"gantt-connection-overlay"},rn={class:"connection-svg",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:1}},sn=["d","stroke-width","onDblclick"],cn=["d","stroke","stroke-width","id","onDblclick"],dn=.25,le=16,fn=F(t.defineComponent({__name:"AGanttConnection",props:{store:{}},emits:["connection:delete"],setup(e,{emit:n}){const a=n,i=t.computed(()=>e.store.connectionPaths.filter(s=>{const o=e.store.ganttBars.find(u=>u.id===s.from.barId),l=e.store.ganttBars.find(u=>u.id===s.to.barId);return o&&l})),c=(s,o=!1)=>{const l=e.store.connectionHandles.find(M=>M.barId===s.from.barId&&M.side===s.from.side),u=e.store.connectionHandles.find(M=>M.barId===s.to.barId&&M.side===s.to.side);if(!l||!u)return"";const m=l.position.x+le/2,x=l.position.y+le/2,v=u.position.x+le/2,p=u.position.y+le/2,C=Math.abs(v-m),y=Math.max(C*dn,50),g=m+(s.from.side==="left"?-y:y),h=v+(s.to.side==="left"?-y:y),w={x:.5*m+.5*g,y:.5*x+.5*x},I={x:.5*g+.5*h,y:.5*x+.5*p},$={x:.5*h+.5*v,y:.5*p+.5*p},O={x:.5*w.x+.5*I.x,y:.5*w.y+.5*I.y},R={x:.5*I.x+.5*$.x,y:.5*I.y+.5*$.y},S={x:.5*O.x+.5*R.x,y:.5*O.y+.5*R.y};return`M ${m} ${x} Q ${g} ${x}, ${S.x} ${S.y} Q ${h} ${p}, ${v} ${p}`},d=s=>{e.store.deleteConnection(s.id)&&a("connection:delete",s)};return(s,o)=>(t.openBlock(),t.createElementBlock("div",ln,[(t.openBlock(),t.createElementBlock("svg",rn,[o[0]||(o[0]=t.createElementVNode("defs",null,[t.createElementVNode("path",{id:"arrowhead",d:"M 0 -7 L 20 0 L 0 7Z",stroke:"black","stroke-width":"1",fill:"currentColor"}),t.createElementVNode("marker",{id:"arrowhead-marker",markerWidth:"10",markerHeight:"7",refX:"5",refY:"3.5",orient:"auto",markerUnits:"strokeWidth"},[t.createElementVNode("polygon",{points:"0 0, 10 3.5, 0 7",fill:"currentColor"})])],-1)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.value,l=>(t.openBlock(),t.createElementBlock("path",{key:`${l.id}-hitbox`,d:c(l),stroke:"transparent","stroke-width":(l.style?.width||2)+10,fill:"none",class:"connection-hitbox",onDblclick:u=>d(l)},null,40,sn))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.value,l=>(t.openBlock(),t.createElementBlock("path",{key:l.id,d:c(l),stroke:l.style?.color||"#666","stroke-width":l.style?.width||2,fill:"none","marker-mid":"url(#arrowhead-marker)",id:l.id,class:"connection-path animated-path",onDblclick:u=>d(l)},null,40,cn))),128))]))]))}}),[["__scopeId","data-v-955111b6"]]),un={key:0},mn={class:"atable-header-row",tabindex:"-1"},gn=["data-colindex"],Ce=t.defineComponent({__name:"ATableHeader",props:{columns:{},store:{}},setup(e){const n=a=>{for(const i of a){if(i.borderBoxSize.length===0)continue;const d=i.borderBoxSize[0].inlineSize,s=Number(i.target.dataset.colindex),o=e.store.columns[s]?.width;typeof o=="number"&&o!==d&&e.store.resizeColumn(s,d)}};return(a,i)=>a.columns.length?(t.openBlock(),t.createElementBlock("thead",un,[t.createElementVNode("tr",mn,[a.store.zeroColumn?(t.openBlock(),t.createElementBlock("th",{key:0,id:"header-index",class:t.normalizeClass([[a.store.hasPinnedColumns?"sticky-index":"",a.store.isTreeView?"tree-index":"",a.store.config.view==="list-expansion"?"list-expansion-index":""],"list-index"])},null,2)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.columns,(c,d)=>t.withDirectives((t.openBlock(),t.createElementBlock("th",{key:c.name,"data-colindex":d,tabindex:"-1",style:t.normalizeStyle(a.store.getHeaderCellStyle(c)),class:t.normalizeClass(c.pinned?"sticky-column":"")},[t.renderSlot(a.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(c.label||String.fromCharCode(d+97).toUpperCase()),1)])],14,gn)),[[t.unref(tn),n]])),128))])])):t.createCommentVNode("",!0)}}),Ee=t.defineComponent({__name:"ATableModal",props:{store:{}},setup(e){const n=t.useTemplateRef("amodal"),{width:a,height:i}=G(n),c=t.computed(()=>{if(!(e.store.modal.height&&e.store.modal.width&&e.store.modal.left&&e.store.modal.bottom))return;const d=e.store.modal.cell?.closest("table"),s=d.offsetHeight||0,o=d.offsetWidth||0;let l=e.store.modal.cell?.offsetTop||0;const u=d.querySelector("thead")?.offsetHeight||0;l+=u,l=l+i.value<s?l:l-(i.value+e.store.modal.height);let m=e.store.modal.cell?.offsetLeft||0;return m=m+a.value<=o?m:m-(a.value-e.store.modal.width),{left:`${m}px`,top:`${l}px`}});return(d,s)=>(t.openBlock(),t.createElementBlock("div",{class:"amodal",ref:"amodal",tabindex:"-1",onClick:s[0]||(s[0]=t.withModifiers(()=>{},["stop"])),onInput:s[1]||(s[1]=t.withModifiers(()=>{},["stop"])),style:t.normalizeStyle(c.value)},[t.renderSlot(d.$slots,"default")],36))}}),qe=e=>{const n=e.id||Lt();return lt.defineStore(`table-${n}`,()=>{const i=()=>{const r=[Object.assign({},{rowModified:!1})],f=new Set;for(let b=0;b<d.value.length;b++){const k=d.value[b];k.parent!==null&&k.parent!==void 0&&f.add(k.parent)}for(let b=0;b<d.value.length;b++){const k=d.value[b];r[b]={childrenOpen:!1,expanded:!1,indent:k.indent||0,isParent:f.has(b),isRoot:k.parent===null||k.parent===void 0,rowModified:!1,open:k.parent===null||k.parent===void 0,parent:k.parent}}return r},c=t.ref(e.columns),d=t.ref(e.rows),s=t.ref(e.config||{}),o=t.ref({}),l=t.ref({}),u=t.computed(()=>{const r={};for(const[f,b]of c.value.entries())for(const[k,B]of d.value.entries())r[`${f}:${k}`]=B[b.name];return r}),m=t.computed({get:()=>{const r=i();for(let f=0;f<r.length;f++)o.value[f]&&(r[f].rowModified=o.value[f]),l.value[f]&&(l.value[f].childrenOpen!==void 0&&(r[f].childrenOpen=l.value[f].childrenOpen),l.value[f].expanded!==void 0&&(r[f].expanded=l.value[f].expanded));if(w.value){const f=(b,k)=>{const B=k[b];if(B.isRoot||B.parent===null||B.parent===void 0)return!0;const z=B.parent;return z<0||z>=k.length?!1:(k[z].childrenOpen||!1)&&f(z,k)};for(let b=0;b<r.length;b++)r[b].isRoot||(r[b].open=f(b,r))}return r},set:r=>{JSON.stringify(r)!==JSON.stringify(m.value)&&(m.value=r)}}),x=t.ref(e.modal||{visible:!1}),v=t.ref({}),p=t.ref([]),C=t.ref([]),y=t.ref([]),g=t.computed(()=>c.value.some(r=>r.pinned)),h=t.computed(()=>s.value.view==="gantt"||s.value.view==="tree-gantt"),w=t.computed(()=>s.value.view==="tree"||s.value.view==="tree-gantt"),I=t.computed(()=>s.value.dependencyGraph!==!1),$=t.computed(()=>`${Math.ceil(d.value.length/100+1)}ch`),O=t.computed(()=>s.value.view?["list","tree","tree-gantt","list-expansion"].includes(s.value.view):!1),R=(r,f)=>u.value[`${r}:${f}`],S=(r,f,b)=>{const k=`${r}:${f}`,B=c.value[r];u.value[k]!==b&&(o.value[f]=!0),u.value[k]=b,d.value[f]={...d.value[f],[B.name]:b}},M=r=>{d.value=r},D=(r,f,b)=>{const k=`${r}:${f}`;u.value[k]!==b&&(o.value[f]=!0,v.value[k]=b)},H=r=>{const f=c.value.indexOf(r)===c.value.length-1,b=s.value.fullWidth?r.resizable&&!f:r.resizable;return{width:r.width||"40ch",textAlign:r.align||"center",...b&&{resize:"horizontal",overflow:"hidden",whiteSpace:"nowrap"}}},V=(r,f)=>{if(r<0||r>=c.value.length)return;const k=Math.max(f,40);c.value[r]={...c.value[r],width:`${k}px`}},W=r=>{const f=d.value[r];return h.value&&f.gantt!==void 0},K=r=>!w.value||m.value[r].isRoot||m.value[r].open,re=r=>!w.value&&s.value.view!=="list-expansion"?"":w.value&&(m.value[r].isRoot||m.value[r].isParent)?m.value[r].childrenOpen?"▼":"►":s.value.view==="list-expansion"?m.value[r].expanded?"▼":"►":"",_=r=>{if(w.value){const f=l.value[r]||{},k=!(f.childrenOpen??m.value[r].childrenOpen);l.value[r]={...f,childrenOpen:k},k||ie(r)}else if(s.value.view==="list-expansion"){const f=l.value[r]||{},b=f.expanded??m.value[r].expanded;l.value[r]={...f,expanded:!b}}},ie=r=>{for(let f=0;f<d.value.length;f++)if(m.value[f].parent===r){const b=l.value[f]||{};l.value[f]={...b,childrenOpen:!1},ie(f)}},Ie=(r,f)=>{const b=R(r,f);return se(r,f,b)},se=(r,f,b)=>{const k=c.value[r],B=d.value[f],z=k.format;return z?typeof z=="function"?z(b,{table:u.value,row:B,column:k}):typeof z=="string"?Function(`"use strict";return (${z})`)()(b,{table:u.value,row:B,column:k}):b:b};return{columns:c,config:s,connectionHandles:C,connectionPaths:y,display:m,ganttBars:p,modal:x,rows:d,table:u,updates:v,hasPinnedColumns:g,isGanttView:h,isTreeView:w,isDependencyGraphEnabled:I,numberedRowWidth:$,zeroColumn:O,closeModal:r=>{r.target instanceof Node&&x.value.parent?.contains(r.target)||x.value.visible&&(x.value.visible=!1)},createConnection:(r,f,b)=>{const k=C.value.find(T=>T.id===r),B=C.value.find(T=>T.id===f);if(!k||!B)return console.warn("Cannot create connection: handle not found"),null;const z={id:`connection-${r}-${f}`,from:{barId:k.barId,side:k.side},to:{barId:B.barId,side:B.side},style:b?.style,label:b?.label};return y.value.push(z),z},deleteConnection:r=>{const f=y.value.findIndex(b=>b.id===r);return f>=0?(y.value.splice(f,1),!0):!1},getCellData:R,getCellDisplayValue:Ie,getConnectionsForBar:r=>y.value.filter(f=>f.from.barId===r||f.to.barId===r),getFormattedValue:se,getHandlesForBar:r=>C.value.filter(f=>f.barId===r),getHeaderCellStyle:H,getIndent:(r,f)=>f&&r===0&&f>0?`${f}ch`:"inherit",getRowExpandSymbol:re,isRowGantt:W,isRowVisible:K,registerConnectionHandle:r=>{const f=C.value.findIndex(b=>b.id===r.id);f>=0?C.value[f]=r:C.value.push(r)},registerGanttBar:r=>{const f=p.value.findIndex(b=>b.id===r.id);f>=0?p.value[f]=r:p.value.push(r)},resizeColumn:V,setCellData:S,setCellText:D,toggleRowExpand:_,unregisterConnectionHandle:r=>{const f=C.value.findIndex(b=>b.id===r);f>=0&&C.value.splice(f,1)},unregisterGanttBar:r=>{const f=p.value.findIndex(b=>b.id===r);f>=0&&p.value.splice(f,1)},updateGanttBar:r=>{const f=d.value[r.rowIndex]?.gantt;f&&(r.type==="resize"?r.edge==="start"?(f.startIndex=r.newStart,f.endIndex=r.end,f.colspan=f.endIndex-f.startIndex):r.edge==="end"&&(f.startIndex=r.start,f.endIndex=r.newEnd,f.colspan=f.endIndex-f.startIndex):r.type==="bar"&&(f.startIndex=r.newStart,f.endIndex=r.newEnd,f.colspan=f.endIndex-f.startIndex))},updateRows:M}})()},pn={class:"atable-container",style:{position:"relative"}},Je=F(t.defineComponent({__name:"ATable",props:t.mergeModels({id:{},config:{default:()=>new Object}},{rows:{required:!0},rowsModifiers:{},columns:{required:!0},columnsModifiers:{}}),emits:t.mergeModels(["cellUpdate","gantt:drag","connection:event","columns:update"],["update:rows","update:columns"]),setup(e,{expose:n,emit:a}){const i=t.useModel(e,"rows"),c=t.useModel(e,"columns"),d=a,s=t.useTemplateRef("table"),o=qe({columns:c.value,rows:i.value,id:e.id,config:e.config});o.$onAction(({name:p,store:C,args:y,after:g})=>{if(p==="setCellData"||p==="setCellText"){const[h,w,I]=y,$=C.getCellData(h,w);g(()=>{i.value=[...C.rows],d("cellUpdate",{colIndex:h,rowIndex:w,newValue:I,oldValue:$})})}else if(p==="updateGanttBar"){const[h]=y;let w=!1;h.type==="resize"?w=h.oldColspan!==h.newColspan:h.type==="bar"&&(w=h.oldStart!==h.newStart||h.oldEnd!==h.newEnd),w&&g(()=>{d("gantt:drag",h)})}else p==="resizeColumn"&&g(()=>{c.value=[...C.columns],d("columns:update",[...C.columns])})}),t.watch(()=>i.value,p=>{JSON.stringify(p)!==JSON.stringify(o.rows)&&(o.rows=[...p])},{deep:!0}),t.watch(c,p=>{JSON.stringify(p)!==JSON.stringify(o.columns)&&(o.columns=[...p],d("columns:update",[...p]))},{deep:!0}),t.onMounted(()=>{c.value.some(p=>p.pinned)&&(u(),o.isTreeView&&Ne(s,u,{childList:!0,subtree:!0}))});const l=t.computed(()=>o.columns.filter(p=>p.pinned).length),u=()=>{const p=s.value,C=p?.rows[0],y=p?.rows[1],g=C?Array.from(C.cells):[];for(const[h,w]of g.entries()){const I=y?.cells[h];I&&(w.style.width=`${I.offsetWidth}px`)}for(const h of p?.rows||[]){let w=0;const I=[];for(const $ of h.cells)($.classList.contains("sticky-column")||$.classList.contains("sticky-index"))&&($.style.left=`${w}px`,w+=$.offsetWidth,I.push($));I.length>0&&I[I.length-1].classList.add("sticky-column-edge")}};window.addEventListener("keydown",p=>{if(p.key==="Escape"&&o.modal.visible){o.modal.visible=!1;const C=o.modal.parent;C&&t.nextTick().then(()=>{C.focus()})}});const m=p=>{if(!p.gantt||l.value===0)return o.columns;const C=[];for(let y=0;y<l.value;y++){const g={...o.columns[y]};g.originalIndex=y,C.push(g)}return C.push({...o.columns[l.value],isGantt:!0,colspan:p.gantt?.colspan||o.columns.length-l.value,originalIndex:l.value,width:"auto"}),C},x=p=>{d("connection:event",{type:"create",connection:p})},v=p=>{d("connection:event",{type:"delete",connection:p})};return n({store:o,createConnection:o.createConnection,deleteConnection:o.deleteConnection,getConnectionsForBar:o.getConnectionsForBar,getHandlesForBar:o.getHandlesForBar}),(p,C)=>(t.openBlock(),t.createElementBlock("div",pn,[t.withDirectives((t.openBlock(),t.createElementBlock("table",{ref:"table",class:"atable",style:t.normalizeStyle({width:t.unref(o).config.fullWidth?"100%":"auto"})},[t.renderSlot(p.$slots,"header",{data:t.unref(o)},()=>[t.createVNode(Ce,{columns:t.unref(o).columns,store:t.unref(o)},null,8,["columns","store"])],!0),t.createElementVNode("tbody",null,[t.renderSlot(p.$slots,"body",{data:t.unref(o)},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o).rows,(y,g)=>(t.openBlock(),t.createBlock(we,{key:y.id,row:y,rowIndex:g,store:t.unref(o)},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m(y),(h,w)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:h.name},[h.isGantt?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(h.ganttComponent||"AGanttCell"),{key:0,store:t.unref(o),columnsCount:t.unref(o).columns.length-l.value,color:y.gantt?.color,start:y.gantt?.startIndex,end:y.gantt?.endIndex,colspan:h.colspan,pinned:h.pinned,rowIndex:g,colIndex:h.originalIndex??w,style:t.normalizeStyle({textAlign:h?.align||"center",minWidth:h?.width||"40ch",width:t.unref(o).config.fullWidth?"auto":null}),"onConnection:create":x},null,40,["store","columnsCount","color","start","end","colspan","pinned","rowIndex","colIndex","style"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(h.cellComponent||"ACell"),{key:1,store:t.unref(o),pinned:h.pinned,rowIndex:g,colIndex:w,style:t.normalizeStyle({textAlign:h?.align||"center",width:t.unref(o).config.fullWidth?"auto":null}),spellcheck:"false"},null,8,["store","pinned","rowIndex","colIndex","style"]))],64))),128))]),_:2},1032,["row","rowIndex","store"]))),128))],!0)]),t.renderSlot(p.$slots,"footer",{data:t.unref(o)},void 0,!0),t.renderSlot(p.$slots,"modal",{data:t.unref(o)},()=>[t.withDirectives(t.createVNode(Ee,{store:t.unref(o)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(o).modal.component),t.mergeProps({key:`${t.unref(o).modal.rowIndex}:${t.unref(o).modal.colIndex}`,colIndex:t.unref(o).modal.colIndex,rowIndex:t.unref(o).modal.rowIndex,store:t.unref(o)},t.unref(o).modal.componentProps),null,16,["colIndex","rowIndex","store"]))]),_:1},8,["store"]),[[t.vShow,t.unref(o).modal.visible]])],!0)],4)),[[t.unref(Kt),t.unref(o).closeModal]]),t.unref(o).isGanttView&&t.unref(o).isDependencyGraphEnabled?(t.openBlock(),t.createBlock(fn,{key:0,store:t.unref(o),"onConnection:delete":v},null,8,["store"])):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-51a03d16"]]),hn={},bn={class:"aloading"},wn={class:"aloading-header"};function xn(e,n){return t.openBlock(),t.createElementBlock("div",bn,[t.createElementVNode("h2",wn,[t.renderSlot(e.$slots,"default",{},void 0,!0)]),n[0]||(n[0]=t.createElementVNode("div",{class:"aloading-bar"},null,-1))])}const Ze=F(hn,[["render",xn],["__scopeId","data-v-a930a25b"]]),vn={},yn={class:"aloading"},kn={class:"aloading-header"};function Cn(e,n){return t.openBlock(),t.createElementBlock("div",yn,[t.createElementVNode("h2",kn,[t.renderSlot(e.$slots,"default",{},void 0,!0)]),n[0]||(n[0]=t.createElementVNode("div",{class:"aloading-bar"},null,-1))])}const Qe=F(vn,[["render",Cn],["__scopeId","data-v-e1165876"]]);function En(e){e.component("ACell",We),e.component("AExpansionRow",Xe),e.component("AGanttCell",Ge),e.component("ARow",we),e.component("ATable",Je),e.component("ATableHeader",Ce),e.component("ATableLoading",Ze),e.component("ATableLoadingBar",Qe),e.component("ATableModal",Ee)}A.ACell=We,A.AExpansionRow=Xe,A.AGanttCell=Ge,A.ARow=we,A.ATable=Je,A.ATableHeader=Ce,A.ATableLoading=Ze,A.ATableLoadingBar=Qe,A.ATableModal=Ee,A.createTableStore=qe,A.install=En,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
3
3
  //# sourceMappingURL=atable.umd.cjs.map