@stonecrop/atable 0.2.61 → 0.2.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/index.css +1 -1
- package/dist/atable.js +380 -380
- package/dist/atable.js.map +1 -1
- package/dist/atable.umd.cjs +2 -2
- package/dist/atable.umd.cjs.map +1 -1
- package/package.json +3 -3
- package/src/components/ATable.vue +2 -0
package/dist/atable.umd.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
`,document.head.appendChild(A);function ee(e){return o.getCurrentScope()?(o.onScopeDispose(e),!0):!1}function P(e){return typeof e=="function"?e():o.unref(e)}const xe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ke=e=>e!=null,Ee=Object.prototype.toString,ve=e=>Ee.call(e)==="[object Object]",Ce=()=>{},T=xe?window:void 0;function D(e){var t;const n=P(e);return(t=n==null?void 0:n.$el)!=null?t:n}function O(...e){let t,n,l,a;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,l,a]=e,t=T):[t,n,l,a]=e,!t)return Ce;Array.isArray(n)||(n=[n]),Array.isArray(l)||(l=[l]);const r=[],c=()=>{r.forEach(u=>u()),r.length=0},i=(u,m,d,p)=>(u.addEventListener(m,d,p),()=>u.removeEventListener(m,d,p)),f=o.watch(()=>[D(t),P(a)],([u,m])=>{if(c(),!u)return;const d=ve(m)?{...m}:m;r.push(...n.flatMap(p=>l.map(b=>i(u,p,b,d))))},{immediate:!0,flush:"post"}),s=()=>{f(),c()};return ee(s),s}function Se(){const e=o.ref(!1),t=o.getCurrentInstance();return t&&o.onMounted(()=>{e.value=!0},t),e}function Ae(e){const t=Se();return o.computed(()=>(t.value,!!e()))}function Ie(e,t,n={}){const{window:l=T,...a}=n;let r;const c=Ae(()=>l&&"MutationObserver"in l),i=()=>{r&&(r.disconnect(),r=void 0)},f=o.computed(()=>{const d=P(e),p=(Array.isArray(d)?d:[d]).map(D).filter(ke);return new Set(p)}),s=o.watch(()=>f.value,d=>{i(),c.value&&d.size&&(r=new MutationObserver(t),d.forEach(p=>r.observe(p,a)))},{immediate:!0,flush:"post"}),u=()=>r==null?void 0:r.takeRecords(),m=()=>{s(),i()};return ee(m),{isSupported:c,stop:m,takeRecords:u}}function Te(e={}){var t;const{window:n=T,deep:l=!0,triggerOnRemoval:a=!1}=e,r=(t=e.document)!=null?t:n==null?void 0:n.document,c=()=>{var s;let u=r==null?void 0:r.activeElement;if(l)for(;u!=null&&u.shadowRoot;)u=(s=u==null?void 0:u.shadowRoot)==null?void 0:s.activeElement;return u},i=o.ref(),f=()=>{i.value=c()};return n&&(O(n,"blur",s=>{s.relatedTarget===null&&f()},!0),O(n,"focus",f,!0)),a&&Ie(r,s=>{s.filter(u=>u.removedNodes.length).map(u=>Array.from(u.removedNodes)).flat().forEach(u=>{u===i.value&&f()})},{childList:!0,subtree:!0}),f(),i}const De="focusin",Oe="focusout";function Me(e,t={}){const{window:n=T}=t,l=o.computed(()=>D(e)),a=o.ref(!1),r=o.computed(()=>a.value),c=Te(t);return!n||!c.value?{focused:r}:(O(l,De,()=>a.value=!0),O(l,Oe,()=>a.value=!1),{focused:r})}function Be(e,{window:t=T,scrollTarget:n}={}){const l=o.ref(!1),a=()=>{if(!t)return;const r=t.document,c=D(e);if(!c)l.value=!1;else{const i=c.getBoundingClientRect();l.value=i.top<=(t.innerHeight||r.documentElement.clientHeight)&&i.left<=(t.innerWidth||r.documentElement.clientWidth)&&i.bottom>=0&&i.right>=0}};return o.watch(()=>D(e),()=>a(),{immediate:!0,flush:"post"}),t&&O(n||t,"scroll",a,{capture:!1,passive:!0}),l}const v=e=>{let t=Be(e).value;return t=t&&e.offsetHeight>0,t},C=e=>e.tabIndex>=0,te=e=>{const t=e.target;return N(t)},N=e=>{var t;let n;if(e instanceof HTMLTableCellElement){const l=(t=e.parentElement)==null?void 0:t.previousElementSibling;if(l){const a=Array.from(l.children)[e.cellIndex];a&&(n=a)}}else if(e instanceof HTMLTableRowElement){const l=e.previousElementSibling;l&&(n=l)}return n&&(!C(n)||!v(n))?N(n):n},$e=e=>{var t;const n=e.target;let l;if(n instanceof HTMLTableCellElement){const a=(t=n.parentElement)==null?void 0:t.parentElement;if(a){const r=a.firstElementChild.children[n.cellIndex];r&&(l=r)}}else if(n instanceof HTMLTableRowElement){const a=n.parentElement;if(a){const r=a.firstElementChild;r&&(l=r)}}return l&&(!C(l)||!v(l))?j(l):l},oe=e=>{const t=e.target;return j(t)},j=e=>{var t;let n;if(e instanceof HTMLTableCellElement){const l=(t=e.parentElement)==null?void 0:t.nextElementSibling;if(l){const a=Array.from(l.children)[e.cellIndex];a&&(n=a)}}else if(e instanceof HTMLTableRowElement){const l=e.nextElementSibling;l&&(n=l)}return n&&(!C(n)||!v(n))?j(n):n},Re=e=>{var t;const n=e.target;let l;if(n instanceof HTMLTableCellElement){const a=(t=n.parentElement)==null?void 0:t.parentElement;if(a){const r=a.lastElementChild.children[n.cellIndex];r&&(l=r)}}else if(n instanceof HTMLTableRowElement){const a=n.parentElement;if(a){const r=a.lastElementChild;r&&(l=r)}}return l&&(!C(l)||!v(l))?N(l):l},ne=e=>{const t=e.target;return W(t)},W=e=>{var t;let n;if(e.previousElementSibling)n=e.previousElementSibling;else{const l=(t=e.parentElement)==null?void 0:t.previousElementSibling;n=l==null?void 0:l.lastElementChild}return n&&(!C(n)||!v(n))?W(n):n},re=e=>{const t=e.target;return H(t)},H=e=>{var t;let n;if(e.nextElementSibling)n=e.nextElementSibling;else{const l=(t=e.parentElement)==null?void 0:t.nextElementSibling;n=l==null?void 0:l.firstElementChild}return n&&(!C(n)||!v(n))?H(n):n},le=e=>{const t=e.target.parentElement.firstElementChild;return t&&(!C(t)||!v(t))?H(t):t},ae=e=>{const t=e.target.parentElement.lastElementChild;return t&&(!C(t)||!v(t))?W(t):t},R=["alt","control","shift","meta"],Le={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right"},V={"keydown.up":e=>{const t=te(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.down":e=>{const t=oe(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.left":e=>{const t=ne(e);e.preventDefault(),e.stopPropagation(),t&&t.focus()},"keydown.right":e=>{const t=re(e);e.preventDefault(),e.stopPropagation(),t&&t.focus()},"keydown.control.up":e=>{const t=$e(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.control.down":e=>{const t=Re(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.control.left":e=>{const t=le(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.control.right":e=>{const t=ae(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.end":e=>{const t=ae(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const t=oe(e);t&&t.focus()}},"keydown.shift.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const t=te(e);t&&t.focus()}},"keydown.home":e=>{const t=le(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.tab":e=>{const t=re(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.shift.tab":e=>{const t=ne(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())}};function F(e){const t=c=>{let i=null;return c.parent&&(typeof c.parent=="string"?i=document.querySelector(c.parent):c.parent instanceof HTMLElement?i=c.parent:i=c.parent.value),i},n=c=>{const i=t(c);let f=[];if(typeof c.selectors=="string")f=i?Array.from(i.querySelectorAll(c.selectors)):Array.from(document.querySelectorAll(c.selectors));else if(Array.isArray(c.selectors))for(const s of c.selectors)s instanceof HTMLElement?f.push(s):f.push(s.$el);else if(c.selectors instanceof HTMLElement)f.push(c.selectors);else if(Array.isArray(c.selectors.value))for(const s of c.selectors.value)s instanceof HTMLElement?f.push(s):f.push(s.$el);else f.push(c.selectors.value);return f},l=c=>{const i=t(c);let f=[];return c.selectors?f=n(c):i&&(f=Array.from(i.children).filter(s=>C(s)&&v(s))),f},a=c=>i=>{const f=Le[i.key]||i.key.toLowerCase();if(R.includes(f))return;const s=c.handlers||V;for(const u of Object.keys(s)){const[m,...d]=u.split(".");if(m==="keydown"&&d.includes(f)){const p=s[u],b=d.filter(g=>R.includes(g)),y=R.some(g=>{const x=g.charAt(0).toUpperCase()+g.slice(1);return i.getModifierState(x)});if(b.length>0){if(y){for(const g of R)if(d.includes(g)){const x=g.charAt(0).toUpperCase()+g.slice(1);i.getModifierState(x)&&p(i)}}}else y||p(i)}}},r=[];o.onMounted(()=>{for(const c of e){const i=t(c),f=l(c),s=a(c),u=i?[i]:f;for(const m of u){const{focused:d}=Me(o.ref(m)),p=o.watch(d,b=>{b?m.addEventListener("keydown",s):m.removeEventListener("keydown",s)});r.push(p)}}}),o.onBeforeUnmount(()=>{for(const c of r)c()})}function q(e){return o.getCurrentScope()?(o.onScopeDispose(e),!0):!1}function L(e){return typeof e=="function"?e():o.unref(e)}const ze=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Pe=e=>e!=null,Ne=Object.prototype.toString,je=e=>Ne.call(e)==="[object Object]",We=()=>{};function He(e){return o.getCurrentInstance()}function Ve(e,t=!0,n){He()?o.onMounted(e,n):t?e():o.nextTick(e)}const G=ze?window:void 0;function I(e){var t;const n=L(e);return(t=n==null?void 0:n.$el)!=null?t:n}function ie(...e){let t,n,l,a;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,l,a]=e,t=G):[t,n,l,a]=e,!t)return We;Array.isArray(n)||(n=[n]),Array.isArray(l)||(l=[l]);const r=[],c=()=>{r.forEach(u=>u()),r.length=0},i=(u,m,d,p)=>(u.addEventListener(m,d,p),()=>u.removeEventListener(m,d,p)),f=o.watch(()=>[I(t),L(a)],([u,m])=>{if(c(),!u)return;const d=je(m)?{...m}:m;r.push(...n.flatMap(p=>l.map(b=>i(u,p,b,d))))},{immediate:!0,flush:"post"}),s=()=>{f(),c()};return q(s),s}function Fe(){const e=o.ref(!1),t=o.getCurrentInstance();return t&&o.onMounted(()=>{e.value=!0},t),e}function se(e){const t=Fe();return o.computed(()=>(t.value,!!e()))}function ce(e,t,n={}){const{window:l=G,...a}=n;let r;const c=se(()=>l&&"MutationObserver"in l),i=()=>{r&&(r.disconnect(),r=void 0)},f=o.computed(()=>{const d=L(e),p=(Array.isArray(d)?d:[d]).map(I).filter(Pe);return new Set(p)}),s=o.watch(()=>f.value,d=>{i(),c.value&&d.size&&(r=new MutationObserver(t),d.forEach(p=>r.observe(p,a)))},{immediate:!0,flush:"post"}),u=()=>r==null?void 0:r.takeRecords(),m=()=>{s(),i()};return q(m),{isSupported:c,stop:m,takeRecords:u}}function qe(e,t,n={}){const{window:l=G,...a}=n;let r;const c=se(()=>l&&"ResizeObserver"in l),i=()=>{r&&(r.disconnect(),r=void 0)},f=o.computed(()=>{const m=L(e);return Array.isArray(m)?m.map(d=>I(d)):[I(m)]}),s=o.watch(f,m=>{if(i(),c.value&&l){r=new ResizeObserver(t);for(const d of m)d&&r.observe(d,a)}},{immediate:!0,flush:"post"}),u=()=>{i(),s()};return q(u),{isSupported:c,stop:u}}function Ge(e,t={}){const{reset:n=!0,windowResize:l=!0,windowScroll:a=!0,immediate:r=!0,updateTiming:c="sync"}=t,i=o.ref(0),f=o.ref(0),s=o.ref(0),u=o.ref(0),m=o.ref(0),d=o.ref(0),p=o.ref(0),b=o.ref(0);function y(){const x=I(e);if(!x){n&&(i.value=0,f.value=0,s.value=0,u.value=0,m.value=0,d.value=0,p.value=0,b.value=0);return}const k=x.getBoundingClientRect();i.value=k.height,f.value=k.bottom,s.value=k.left,u.value=k.right,m.value=k.top,d.value=k.width,p.value=k.x,b.value=k.y}function g(){c==="sync"?y():c==="next-frame"&&requestAnimationFrame(()=>y())}return qe(e,g),o.watch(()=>I(e),x=>!x&&g()),ce(e,g,{attributeFilter:["style","class"]}),a&&ie("scroll",g,{capture:!0,passive:!0}),l&&ie("resize",g,{passive:!0}),Ve(()=>{r&&g()}),{height:i,bottom:f,left:s,right:u,top:m,width:d,x:p,y:b,update:g}}const Ue=e=>{const t=new DOMParser().parseFromString(e,"text/html");return Array.from(t.body.childNodes).some(n=>n.nodeType===1)},Ye=["data-colindex","data-rowindex","data-editable","contenteditable","tabindex"],Xe=["innerHTML"],Je={key:2},U=o.defineComponent({__name:"ACell",props:{colIndex:{},rowIndex:{},tableid:{},addNavigation:{type:[Boolean,Object],default:!0},tabIndex:{default:0},pinned:{type:Boolean}},setup(e){const t=o.inject(e.tableid),n=o.useTemplateRef("cell"),{bottom:l,left:a}=Ge(n),r=t.cellData(e.colIndex,e.rowIndex),c=o.ref(""),i=o.ref(!1),f=t.table,s=t.columns[e.colIndex],u=t.rows[e.rowIndex],m=s.align||"center",d=s.width||"40ch",p=o.computed(()=>typeof y.value=="string"?Ue(y.value):!1),b=o.computed(()=>{var h;return{textAlign:m,width:d,backgroundColor:i.value?"var(--sc-cell-modified)":"inherit",fontWeight:i.value?"bold":"inherit",paddingLeft:ft(e.colIndex,(h=t.display[e.rowIndex])==null?void 0:h.indent)}}),y=o.computed(()=>{const h=t.cellData(e.colIndex,e.rowIndex);return g(h)}),g=h=>{const E=s.format;return E?typeof E=="function"?E(h,{table:f,row:u,column:s}):typeof E=="string"?Function(`"use strict";return (${E})`)()(h,{table:f,row:u,column:s}):h:h},x=()=>{s.mask,s.modalComponent&&(t.modal.visible=!0,t.modal.colIndex=e.colIndex,t.modal.rowIndex=e.rowIndex,t.modal.parent=n.value,t.modal.top=l.value,t.modal.left=a.value,t.modal.width=d,typeof s.modalComponent=="function"?t.modal.component=s.modalComponent({table:f,row:u,column:s}):t.modal.component=s.modalComponent,t.modal.componentProps=s.modalComponentExtraProps)};if(e.addNavigation){let h={...V,"keydown.f2":x,"keydown.alt.up":x,"keydown.alt.down":x,"keydown.alt.left":x,"keydown.alt.right":x};typeof e.addNavigation=="object"&&(h={...h,...e.addNavigation}),F([{selectors:n,handlers:h}])}const k=()=>{n.value&&(c.value=n.value.textContent)},_=()=>{n.value&&(s.format?i.value=n.value.textContent!==g(r):i.value=n.value.textContent!==r,n.value.textContent!==c.value&&(c.value=n.value.textContent,n.value.dispatchEvent(new Event("change")),s.format||t.setCellData(e.rowIndex,e.colIndex,c.value)))},ft=(h,E)=>E&&h===0&&E>0?`${E}ch`:"inherit";return(h,E)=>(o.openBlock(),o.createElementBlock("td",{ref:"cell","data-colindex":h.colIndex,"data-rowindex":h.rowIndex,"data-editable":o.unref(s).edit,contenteditable:o.unref(s).edit,tabindex:h.tabIndex,spellcheck:!1,style:o.normalizeStyle(b.value),onFocus:k,onPaste:_,onBlur:_,onInput:_,onClick:x,onMousedown:x,class:o.normalizeClass(["atable-cell",h.pinned?"sticky-column":""])},[o.unref(s).cellComponent?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(o.unref(s).cellComponent),o.mergeProps({key:0,value:y.value},o.unref(s).cellComponentProps),null,16,["value"])):p.value?(o.openBlock(),o.createElementBlock("span",{key:1,innerHTML:y.value},null,8,Xe)):(o.openBlock(),o.createElementBlock("span",Je,o.toDisplayString(y.value),1))],46,Ye))}}),Qe=["tabindex"],Ze=["tabindex"],Ke=["colspan"],de=o.defineComponent({__name:"AExpansionRow",props:{rowIndex:{},tableid:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object]}},setup(e){const t=o.inject(e.tableid),n=o.useTemplateRef("rowEl"),l=o.computed(()=>t.display[e.rowIndex].expanded?"▼":"►");if(e.addNavigation){const a={"keydown.control.g":r=>{r.stopPropagation(),r.preventDefault(),t.toggleRowExpand(e.rowIndex)}};typeof e.addNavigation=="object"&&Object.assign(a,e.addNavigation),F([{selectors:n,handlers:a}])}return(a,r)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createElementVNode("tr",o.mergeProps(a.$attrs,{ref:"rowEl",tabindex:a.tabIndex,class:"expandable-row"}),[o.createElementVNode("td",{tabIndex:-1,onClick:r[0]||(r[0]=c=>o.unref(t).toggleRowExpand(a.rowIndex)),class:"row-index"},o.toDisplayString(l.value),1),o.renderSlot(a.$slots,"row")],16,Qe),o.unref(t).display[a.rowIndex].expanded?(o.openBlock(),o.createElementBlock("tr",{key:0,ref:"rowExpanded",tabindex:a.tabIndex,class:"expanded-row"},[o.createElementVNode("td",{tabIndex:-1,colspan:o.unref(t).columns.length+1,class:"expanded-row-content"},[o.renderSlot(a.$slots,"content")],8,Ke)],8,Ze)):o.createCommentVNode("",!0)],64))}}),_e=["tabindex"],Y=o.defineComponent({__name:"ARow",props:{rowIndex:{},tableid:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object],default:!1}},setup(e){const t=o.inject(e.tableid),n=o.useTemplateRef("rowEl"),l=o.computed(()=>t.columns.some(i=>i.pinned)),a=o.computed(()=>t.config.view!=="tree"||t.display[e.rowIndex].isRoot||t.display[e.rowIndex].open),r=o.computed(()=>t.config.view!=="tree"?"":t.display[e.rowIndex].isRoot||t.display[e.rowIndex].isParent?t.display[e.rowIndex].childrenOpen?"-":"+":""),c=i=>{t.toggleRowExpand(i)};if(e.addNavigation){let i=V;typeof e.addNavigation=="object"&&(i={...i,...e.addNavigation}),F([{selectors:n,handlers:i}])}return(i,f)=>o.withDirectives((o.openBlock(),o.createElementBlock("tr",{ref:"rowEl",tabindex:i.tabIndex,class:"table-row"},[o.unref(t).config.view!=="uncounted"?o.renderSlot(i.$slots,"index",{key:0},()=>[o.unref(t).config.view==="list"?(o.openBlock(),o.createElementBlock("td",{key:0,tabIndex:-1,class:o.normalizeClass(["list-index",l.value?"sticky-index":""])},o.toDisplayString(i.rowIndex+1),3)):o.unref(t).config.view==="tree"?(o.openBlock(),o.createElementBlock("td",{key:1,tabIndex:-1,class:o.normalizeClass(["tree-index",l.value?"sticky-index":""]),onClick:f[0]||(f[0]=s=>c(i.rowIndex))},o.toDisplayString(r.value),3)):o.createCommentVNode("",!0)]):o.createCommentVNode("",!0),o.renderSlot(i.$slots,"default")],8,_e)),[[o.vShow,a.value]])}});function fe(e){return o.getCurrentScope()?(o.onScopeDispose(e),!0):!1}function M(e){return typeof e=="function"?e():o.unref(e)}const ue=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const et=Object.prototype.toString,tt=e=>et.call(e)==="[object Object]",B=()=>{},X=ot();function ot(){var e,t;return ue&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}const pe={mounted:"mounted",updated:"updated",unmounted:"unmounted"};function nt(...e){if(e.length!==1)return o.toRef(...e);const t=e[0];return typeof t=="function"?o.readonly(o.customRef(()=>({get:t,set:B}))):o.ref(t)}function $(e){var t;const n=M(e);return(t=n==null?void 0:n.$el)!=null?t:n}const me=ue?window:void 0;function z(...e){let t,n,l,a;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,l,a]=e,t=me):[t,n,l,a]=e,!t)return B;Array.isArray(n)||(n=[n]),Array.isArray(l)||(l=[l]);const r=[],c=()=>{r.forEach(u=>u()),r.length=0},i=(u,m,d,p)=>(u.addEventListener(m,d,p),()=>u.removeEventListener(m,d,p)),f=o.watch(()=>[$(t),M(a)],([u,m])=>{if(c(),!u)return;const d=tt(m)?{...m}:m;r.push(...n.flatMap(p=>l.map(b=>i(u,p,b,d))))},{immediate:!0,flush:"post"}),s=()=>{f(),c()};return fe(s),s}let be=!1;function we(e,t,n={}){const{window:l=me,ignore:a=[],capture:r=!0,detectIframe:c=!1}=n;if(!l)return B;X&&!be&&(be=!0,Array.from(l.document.body.children).forEach(d=>d.addEventListener("click",B)),l.document.documentElement.addEventListener("click",B));let i=!0;const f=d=>a.some(p=>{if(typeof p=="string")return Array.from(l.document.querySelectorAll(p)).some(b=>b===d.target||d.composedPath().includes(b));{const b=$(p);return b&&(d.target===b||d.composedPath().includes(b))}}),u=[z(l,"click",d=>{const p=$(e);if(!(!p||p===d.target||d.composedPath().includes(p))){if(d.detail===0&&(i=!f(d)),!i){i=!0;return}t(d)}},{passive:!0,capture:r}),z(l,"pointerdown",d=>{const p=$(e);i=!f(d)&&!!(p&&!d.composedPath().includes(p))},{passive:!0}),c&&z(l,"blur",d=>{setTimeout(()=>{var p;const b=$(e);((p=l.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!(b!=null&&b.contains(l.document.activeElement))&&t(d)},0)})].filter(Boolean);return()=>u.forEach(d=>d())}const rt={[pe.mounted](e,t){const n=!t.modifiers.bubble;if(typeof t.value=="function")e.__onClickOutside_stop=we(e,t.value,{capture:n});else{const[l,a]=t.value;e.__onClickOutside_stop=we(e,l,Object.assign({capture:n},a))}},[pe.unmounted](e){e.__onClickOutside_stop()}};function J(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function he(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth<e.scrollWidth||t.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!n||n.tagName==="BODY"?!1:he(n)}}function lt(e){const t=e||window.event,n=t.target;return he(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Q=new WeakMap;function at(e,t=!1){const n=o.ref(t);let l=null,a="";o.watch(nt(e),i=>{const f=J(M(i));if(f){const s=f;if(Q.get(s)||Q.set(s,s.style.overflow),s.style.overflow!=="hidden"&&(a=s.style.overflow),s.style.overflow==="hidden")return n.value=!0;if(n.value)return s.style.overflow="hidden"}},{immediate:!0});const r=()=>{const i=J(M(e));!i||n.value||(X&&(l=z(i,"touchmove",f=>{lt(f)},{passive:!1})),i.style.overflow="hidden",n.value=!0)},c=()=>{const i=J(M(e));!i||!n.value||(X&&(l==null||l()),i.style.overflow=a,Q.delete(i),n.value=!1)};return fe(c),o.computed({get(){return n.value},set(i){i?r():c()}})}function it(){let e=!1;const t=o.ref(!1);return(n,l)=>{if(t.value=l.value,e)return;e=!0;const a=at(n,l.value);o.watch(t,r=>a.value=r)}}it();class ge{constructor(t,n,l,a,r,c){S(this,"id");S(this,"rows");S(this,"columns");S(this,"config");S(this,"table");S(this,"display");S(this,"modal");this.id=t||crypto.randomUUID(),this.rows=l,this.columns=o.reactive(n),this.config=o.reactive(a),this.table=r||o.reactive(this.createTableObject()),this.display=this.createDisplayObject(c),this.modal=o.reactive({visible:!1})}createTableObject(){const t={};for(const[n,l]of this.columns.entries())for(const[a,r]of this.rows.entries())t[`${n}:${a}`]=r[l.name];return t}createDisplayObject(t){const n=[Object.assign({},{rowModified:!1})];if(t&&"0:0"in t)return t;const l=new Set;for(let a=this.rows.length-1;a>=0;a--){const r=this.rows[a];r.parent&&l.add(r.parent),n[a]={childrenOpen:!1,expanded:!1,indent:r.indent||null,isParent:l.has(a),isRoot:r.parent===null||r.parent===void 0,rowModified:!1,open:r.parent===null||r.parent===void 0,parent:r.parent}}return o.reactive(n)}get zeroColumn(){return["list","tree","list-expansion"].includes(this.config.view)}get numberedRowWidth(){return o.computed(()=>String(Math.ceil(this.rows.length/100)+1)+"ch")}cellData(t,n){return this.table[`${t}:${n}`]}setCellData(t,n,l){const a=`${n}:${t}`,r=this.columns[n];return this.table[a]!==l&&(this.display[t].rowModified=!0),this.table[a]=l,this.rows[t][r.name]=l,this.table[a]}toggleRowExpand(t){if(this.config.view==="tree"){this.display[t].childrenOpen=!this.display[t].childrenOpen;for(let n=this.rows.length-1;n>=0;n--)this.display[n].parent===t&&(this.display[n].open=!this.display[n].open,this.display[n].childrenOpen&&this.toggleRowExpand(n))}else this.config.view==="list-expansion"&&(this.display[t].expanded=!this.display[t].expanded)}}const st={key:0,id:"resizable"},ct={class:"atable-header-row",tabindex:"-1"},Z=o.defineComponent({__name:"ATableHeader",props:{columns:{},tableid:{}},setup(e){const t=o.inject(e.tableid),n=o.computed(()=>t.columns.some(a=>a.pinned)),l=a=>({minWidth:a.width||"40ch",textAlign:a.align||"center",width:t.config.fullWidth?"auto":null});return(a,r)=>a.columns.length?(o.openBlock(),o.createElementBlock("thead",st,[o.createElementVNode("tr",ct,[o.unref(t).zeroColumn?(o.openBlock(),o.createElementBlock("th",{key:0,id:"header-index",class:o.normalizeClass([[n.value?"sticky-index":"",o.unref(t).config.view==="tree"?"tree-index":"",o.unref(t).config.view==="list-expansion"?"list-expansion-index":""],"list-index"])},null,2)):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(a.columns,(c,i)=>(o.openBlock(),o.createElementBlock("th",{key:c.name,tabindex:"-1",style:o.normalizeStyle(l(c)),class:o.normalizeClass(c.pinned?"sticky-column":"")},[o.renderSlot(a.$slots,"default",{},()=>[o.createTextVNode(o.toDisplayString(c.label||String.fromCharCode(i+97).toUpperCase()),1)])],6))),128))])])):o.createCommentVNode("",!0)}}),K=o.defineComponent({__name:"ATableModal",props:{colIndex:{},rowIndex:{},tableid:{}},setup(e){const t=n=>{n.stopPropagation()};return(n,l)=>(o.openBlock(),o.createElementBlock("div",{class:"amodal",tabindex:"-1",onClick:t,onInput:t},[o.renderSlot(n.$slots,"default")],32))}}),ye=((e,t)=>{const n=e.__vccOpts||e;for(const[l,a]of t)n[l]=a;return n})(o.defineComponent({__name:"ATable",props:{id:{},modelValue:{},columns:{},rows:{default:()=>[]},config:{default:()=>new Object}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,l=o.useTemplateRef("table"),a=e.modelValue?e.modelValue:e.rows,r=new ge(e.id,e.columns,a,e.config);o.provide(r.id,r),o.watch(()=>r.rows,f=>{n("update:modelValue",f)},{deep:!0}),o.onMounted(()=>{e.columns.some(f=>f.pinned)&&(c(),r.config.view==="tree"&&ce(l,c,{childList:!0,subtree:!0}))});const c=()=>{const f=l.value,s=f.rows[0],u=f.rows[1],m=s?Array.from(s.cells):[];for(const[d,p]of m.entries()){const b=u.cells[d];b&&(p.style.width=`${b.offsetWidth}px`)}for(const d of f.rows){let p=0;const b=[];for(const y of d.cells)(y.classList.contains("sticky-column")||y.classList.contains("sticky-index"))&&(y.style.left=`${p}px`,p+=y.offsetWidth,b.push(y));b.length>0&&b[b.length-1].classList.add("sticky-column-edge")}},i=f=>{var s;f.target instanceof Node&&(s=r.modal.parent)!=null&&s.contains(f.target)||r.modal.visible&&(r.modal.visible=!1)};return window.addEventListener("keydown",f=>{if(f.key==="Escape"&&r.modal.visible){r.modal.visible=!1;const s=r.modal.parent;s&&o.nextTick().then(()=>{s.focus()})}}),(f,s)=>o.withDirectives((o.openBlock(),o.createElementBlock("table",{ref:"table",class:"atable",style:o.normalizeStyle({width:o.unref(r).config.fullWidth?"100%":"auto"})},[o.renderSlot(f.$slots,"header",{data:o.unref(r)},()=>[o.createVNode(Z,{columns:o.unref(r).columns,tableid:o.unref(r).id},null,8,["columns","tableid"])],!0),o.createElementVNode("tbody",null,[o.renderSlot(f.$slots,"body",{data:o.unref(r)},()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(r).rows,(u,m)=>(o.openBlock(),o.createBlock(Y,{key:u.id,row:u,rowIndex:m,tableid:o.unref(r).id},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(r).columns,(d,p)=>(o.openBlock(),o.createBlock(U,{key:d.name,tableid:o.unref(r).id,col:d,spellcheck:"false",pinned:d.pinned,rowIndex:m,colIndex:p,component:d.cellComponent,style:o.normalizeStyle({textAlign:(d==null?void 0:d.align)||"center",minWidth:(d==null?void 0:d.width)||"40ch",width:o.unref(r).config.fullWidth?"auto":null})},null,8,["tableid","col","pinned","rowIndex","colIndex","component","style"]))),128))]),_:2},1032,["row","rowIndex","tableid"]))),128))],!0)]),o.renderSlot(f.$slots,"footer",{data:o.unref(r)},void 0,!0),o.renderSlot(f.$slots,"modal",{data:o.unref(r)},()=>[o.withDirectives(o.createVNode(K,{colIndex:o.unref(r).modal.colIndex,rowIndex:o.unref(r).modal.rowIndex,tableid:o.unref(r).id,style:o.normalizeStyle({left:o.unref(r).modal.left+"px",top:o.unref(r).modal.top+"px",maxWidth:o.unref(r).modal.width+"px"})},{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(o.unref(r).modal.component),o.mergeProps({key:`${o.unref(r).modal.rowIndex}:${o.unref(r).modal.colIndex}`,colIndex:o.unref(r).modal.colIndex,rowIndex:o.unref(r).modal.rowIndex,tableid:o.unref(r).id},o.unref(r).modal.componentProps),null,16,["colIndex","rowIndex","tableid"]))]),_:1},8,["colIndex","rowIndex","tableid","style"]),[[o.vShow,o.unref(r).modal.visible]])],!0)],4)),[[o.unref(rt),i]])}}),[["__scopeId","data-v-5fc77917"]]);function dt(e){e.component("ACell",U),e.component("AExpansionRow",de),e.component("ARow",Y),e.component("ATable",ye),e.component("ATableHeader",Z),e.component("ATableModal",K)}w.ACell=U,w.AExpansionRow=de,w.ARow=Y,w.ATable=ye,w.ATableHeader=Z,w.ATableModal=K,w.TableDataStore=ge,w.install=dt,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(h,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],o):(h=typeof globalThis<"u"?globalThis:h||self,o(h["@stonecrop/atable"]={},h.Vue))})(this,function(h,o){"use strict";var ut=Object.defineProperty;var pt=(h,o,A)=>o in h?ut(h,o,{enumerable:!0,configurable:!0,writable:!0,value:A}):h[o]=A;var S=(h,o,A)=>pt(h,typeof o!="symbol"?o+"":o,A);var A=document.createElement("style");A.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}.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}.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);border-left:4px solid var(--sc-row-border-color);display:flex}.expanded-row{border-bottom:1px solid var(--sc-row-border-color);border-top:1px solid var(--sc-row-border-color)}.expanded-row-content{border-bottom:1px solid var(--sc-row-border-color);border-top:1px solid var(--sc-row-border-color);padding:1.5rem}.table-row{border-top:1px solid var(--sc-row-border-color);display:flex;background-color:#fff}.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-header-row{display:flex}.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)}#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-modified: #ffffb1;--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: 5px;--sc-atable-row-height: 1.5em;--sc-atable-cell-border-width: 2px;--sc-btn-border: #cccccc;--sc-btn-color: white;--sc-btn-hover: #f2f2f2;--sc-btn-label-color: black}.amodal{position:fixed;background-color:var(--sc-row-color-zebra-dark);z-index:100}.sticky-index{position:sticky;left:0;z-index:1;order:0}.sticky-column,th.sticky-column,td.sticky-column,th.sticky-index,td.sticky-index{position:sticky;z-index:1;order:0;background:#fff}.sticky-column-edge,.atable th.sticky-column-edge{border-right:1px solid var(--sc-row-border-color);border-right-width:1px}[data-v-183c4dd3]: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-modified: #ffffb1;--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: 5px;--sc-atable-row-height: 1.5em;--sc-atable-cell-border-width: 2px;--sc-btn-border: #cccccc;--sc-btn-color: white;--sc-btn-hover: #f2f2f2;--sc-btn-label-color: black}.atable[data-v-183c4dd3]{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}.atable th[data-v-183c4dd3]{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-183c4dd3]:focus{outline:none}
|
|
2
|
+
`,document.head.appendChild(A);function ee(e){return o.getCurrentScope()?(o.onScopeDispose(e),!0):!1}function P(e){return typeof e=="function"?e():o.unref(e)}const xe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ke=e=>e!=null,Ee=Object.prototype.toString,ve=e=>Ee.call(e)==="[object Object]",Ce=()=>{},T=xe?window:void 0;function D(e){var t;const n=P(e);return(t=n==null?void 0:n.$el)!=null?t:n}function O(...e){let t,n,r,a;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,a]=e,t=T):[t,n,r,a]=e,!t)return Ce;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],l=()=>{i.forEach(f=>f()),i.length=0},c=(f,m,d,u)=>(f.addEventListener(m,d,u),()=>f.removeEventListener(m,d,u)),p=o.watch(()=>[D(t),P(a)],([f,m])=>{if(l(),!f)return;const d=ve(m)?{...m}:m;i.push(...n.flatMap(u=>r.map(b=>c(f,u,b,d))))},{immediate:!0,flush:"post"}),s=()=>{p(),l()};return ee(s),s}function Se(){const e=o.ref(!1),t=o.getCurrentInstance();return t&&o.onMounted(()=>{e.value=!0},t),e}function Ae(e){const t=Se();return o.computed(()=>(t.value,!!e()))}function Ie(e,t,n={}){const{window:r=T,...a}=n;let i;const l=Ae(()=>r&&"MutationObserver"in r),c=()=>{i&&(i.disconnect(),i=void 0)},p=o.computed(()=>{const d=P(e),u=(Array.isArray(d)?d:[d]).map(D).filter(ke);return new Set(u)}),s=o.watch(()=>p.value,d=>{c(),l.value&&d.size&&(i=new MutationObserver(t),d.forEach(u=>i.observe(u,a)))},{immediate:!0,flush:"post"}),f=()=>i==null?void 0:i.takeRecords(),m=()=>{s(),c()};return ee(m),{isSupported:l,stop:m,takeRecords:f}}function Te(e={}){var t;const{window:n=T,deep:r=!0,triggerOnRemoval:a=!1}=e,i=(t=e.document)!=null?t:n==null?void 0:n.document,l=()=>{var s;let f=i==null?void 0:i.activeElement;if(r)for(;f!=null&&f.shadowRoot;)f=(s=f==null?void 0:f.shadowRoot)==null?void 0:s.activeElement;return f},c=o.ref(),p=()=>{c.value=l()};return n&&(O(n,"blur",s=>{s.relatedTarget===null&&p()},!0),O(n,"focus",p,!0)),a&&Ie(i,s=>{s.filter(f=>f.removedNodes.length).map(f=>Array.from(f.removedNodes)).flat().forEach(f=>{f===c.value&&p()})},{childList:!0,subtree:!0}),p(),c}const De="focusin",Oe="focusout";function Me(e,t={}){const{window:n=T}=t,r=o.computed(()=>D(e)),a=o.ref(!1),i=o.computed(()=>a.value),l=Te(t);return!n||!l.value?{focused:i}:(O(r,De,()=>a.value=!0),O(r,Oe,()=>a.value=!1),{focused:i})}function Be(e,{window:t=T,scrollTarget:n}={}){const r=o.ref(!1),a=()=>{if(!t)return;const i=t.document,l=D(e);if(!l)r.value=!1;else{const c=l.getBoundingClientRect();r.value=c.top<=(t.innerHeight||i.documentElement.clientHeight)&&c.left<=(t.innerWidth||i.documentElement.clientWidth)&&c.bottom>=0&&c.right>=0}};return o.watch(()=>D(e),()=>a(),{immediate:!0,flush:"post"}),t&&O(n||t,"scroll",a,{capture:!1,passive:!0}),r}const v=e=>{let t=Be(e).value;return t=t&&e.offsetHeight>0,t},C=e=>e.tabIndex>=0,te=e=>{const t=e.target;return N(t)},N=e=>{var t;let n;if(e instanceof HTMLTableCellElement){const r=(t=e.parentElement)==null?void 0:t.previousElementSibling;if(r){const a=Array.from(r.children)[e.cellIndex];a&&(n=a)}}else if(e instanceof HTMLTableRowElement){const r=e.previousElementSibling;r&&(n=r)}return n&&(!C(n)||!v(n))?N(n):n},$e=e=>{var t;const n=e.target;let r;if(n instanceof HTMLTableCellElement){const a=(t=n.parentElement)==null?void 0:t.parentElement;if(a){const i=a.firstElementChild.children[n.cellIndex];i&&(r=i)}}else if(n instanceof HTMLTableRowElement){const a=n.parentElement;if(a){const i=a.firstElementChild;i&&(r=i)}}return r&&(!C(r)||!v(r))?j(r):r},oe=e=>{const t=e.target;return j(t)},j=e=>{var t;let n;if(e instanceof HTMLTableCellElement){const r=(t=e.parentElement)==null?void 0:t.nextElementSibling;if(r){const a=Array.from(r.children)[e.cellIndex];a&&(n=a)}}else if(e instanceof HTMLTableRowElement){const r=e.nextElementSibling;r&&(n=r)}return n&&(!C(n)||!v(n))?j(n):n},Re=e=>{var t;const n=e.target;let r;if(n instanceof HTMLTableCellElement){const a=(t=n.parentElement)==null?void 0:t.parentElement;if(a){const i=a.lastElementChild.children[n.cellIndex];i&&(r=i)}}else if(n instanceof HTMLTableRowElement){const a=n.parentElement;if(a){const i=a.lastElementChild;i&&(r=i)}}return r&&(!C(r)||!v(r))?N(r):r},ne=e=>{const t=e.target;return W(t)},W=e=>{var t;let n;if(e.previousElementSibling)n=e.previousElementSibling;else{const r=(t=e.parentElement)==null?void 0:t.previousElementSibling;n=r==null?void 0:r.lastElementChild}return n&&(!C(n)||!v(n))?W(n):n},re=e=>{const t=e.target;return H(t)},H=e=>{var t;let n;if(e.nextElementSibling)n=e.nextElementSibling;else{const r=(t=e.parentElement)==null?void 0:t.nextElementSibling;n=r==null?void 0:r.firstElementChild}return n&&(!C(n)||!v(n))?H(n):n},le=e=>{const t=e.target.parentElement.firstElementChild;return t&&(!C(t)||!v(t))?H(t):t},ae=e=>{const t=e.target.parentElement.lastElementChild;return t&&(!C(t)||!v(t))?W(t):t},R=["alt","control","shift","meta"],Le={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right"},V={"keydown.up":e=>{const t=te(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.down":e=>{const t=oe(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.left":e=>{const t=ne(e);e.preventDefault(),e.stopPropagation(),t&&t.focus()},"keydown.right":e=>{const t=re(e);e.preventDefault(),e.stopPropagation(),t&&t.focus()},"keydown.control.up":e=>{const t=$e(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.control.down":e=>{const t=Re(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.control.left":e=>{const t=le(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.control.right":e=>{const t=ae(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.end":e=>{const t=ae(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const t=oe(e);t&&t.focus()}},"keydown.shift.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const t=te(e);t&&t.focus()}},"keydown.home":e=>{const t=le(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.tab":e=>{const t=re(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())},"keydown.shift.tab":e=>{const t=ne(e);t&&(e.preventDefault(),e.stopPropagation(),t.focus())}};function F(e){const t=l=>{let c=null;return l.parent&&(typeof l.parent=="string"?c=document.querySelector(l.parent):l.parent instanceof HTMLElement?c=l.parent:c=l.parent.value),c},n=l=>{const c=t(l);let p=[];if(typeof l.selectors=="string")p=c?Array.from(c.querySelectorAll(l.selectors)):Array.from(document.querySelectorAll(l.selectors));else if(Array.isArray(l.selectors))for(const s of l.selectors)s instanceof HTMLElement?p.push(s):p.push(s.$el);else if(l.selectors instanceof HTMLElement)p.push(l.selectors);else if(Array.isArray(l.selectors.value))for(const s of l.selectors.value)s instanceof HTMLElement?p.push(s):p.push(s.$el);else p.push(l.selectors.value);return p},r=l=>{const c=t(l);let p=[];return l.selectors?p=n(l):c&&(p=Array.from(c.children).filter(s=>C(s)&&v(s))),p},a=l=>c=>{const p=Le[c.key]||c.key.toLowerCase();if(R.includes(p))return;const s=l.handlers||V;for(const f of Object.keys(s)){const[m,...d]=f.split(".");if(m==="keydown"&&d.includes(p)){const u=s[f],b=d.filter(w=>R.includes(w)),y=R.some(w=>{const x=w.charAt(0).toUpperCase()+w.slice(1);return c.getModifierState(x)});if(b.length>0){if(y){for(const w of R)if(d.includes(w)){const x=w.charAt(0).toUpperCase()+w.slice(1);c.getModifierState(x)&&u(c)}}}else y||u(c)}}},i=[];o.onMounted(()=>{for(const l of e){const c=t(l),p=r(l),s=a(l),f=c?[c]:p;for(const m of f){const{focused:d}=Me(o.ref(m)),u=o.watch(d,b=>{b?m.addEventListener("keydown",s):m.removeEventListener("keydown",s)});i.push(u)}}}),o.onBeforeUnmount(()=>{for(const l of i)l()})}function q(e){return o.getCurrentScope()?(o.onScopeDispose(e),!0):!1}function L(e){return typeof e=="function"?e():o.unref(e)}const ze=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Pe=e=>e!=null,Ne=Object.prototype.toString,je=e=>Ne.call(e)==="[object Object]",We=()=>{};function He(e){return o.getCurrentInstance()}function Ve(e,t=!0,n){He()?o.onMounted(e,n):t?e():o.nextTick(e)}const G=ze?window:void 0;function I(e){var t;const n=L(e);return(t=n==null?void 0:n.$el)!=null?t:n}function ie(...e){let t,n,r,a;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,a]=e,t=G):[t,n,r,a]=e,!t)return We;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],l=()=>{i.forEach(f=>f()),i.length=0},c=(f,m,d,u)=>(f.addEventListener(m,d,u),()=>f.removeEventListener(m,d,u)),p=o.watch(()=>[I(t),L(a)],([f,m])=>{if(l(),!f)return;const d=je(m)?{...m}:m;i.push(...n.flatMap(u=>r.map(b=>c(f,u,b,d))))},{immediate:!0,flush:"post"}),s=()=>{p(),l()};return q(s),s}function Fe(){const e=o.ref(!1),t=o.getCurrentInstance();return t&&o.onMounted(()=>{e.value=!0},t),e}function se(e){const t=Fe();return o.computed(()=>(t.value,!!e()))}function ce(e,t,n={}){const{window:r=G,...a}=n;let i;const l=se(()=>r&&"MutationObserver"in r),c=()=>{i&&(i.disconnect(),i=void 0)},p=o.computed(()=>{const d=L(e),u=(Array.isArray(d)?d:[d]).map(I).filter(Pe);return new Set(u)}),s=o.watch(()=>p.value,d=>{c(),l.value&&d.size&&(i=new MutationObserver(t),d.forEach(u=>i.observe(u,a)))},{immediate:!0,flush:"post"}),f=()=>i==null?void 0:i.takeRecords(),m=()=>{s(),c()};return q(m),{isSupported:l,stop:m,takeRecords:f}}function qe(e,t,n={}){const{window:r=G,...a}=n;let i;const l=se(()=>r&&"ResizeObserver"in r),c=()=>{i&&(i.disconnect(),i=void 0)},p=o.computed(()=>{const m=L(e);return Array.isArray(m)?m.map(d=>I(d)):[I(m)]}),s=o.watch(p,m=>{if(c(),l.value&&r){i=new ResizeObserver(t);for(const d of m)d&&i.observe(d,a)}},{immediate:!0,flush:"post"}),f=()=>{c(),s()};return q(f),{isSupported:l,stop:f}}function Ge(e,t={}){const{reset:n=!0,windowResize:r=!0,windowScroll:a=!0,immediate:i=!0,updateTiming:l="sync"}=t,c=o.ref(0),p=o.ref(0),s=o.ref(0),f=o.ref(0),m=o.ref(0),d=o.ref(0),u=o.ref(0),b=o.ref(0);function y(){const x=I(e);if(!x){n&&(c.value=0,p.value=0,s.value=0,f.value=0,m.value=0,d.value=0,u.value=0,b.value=0);return}const k=x.getBoundingClientRect();c.value=k.height,p.value=k.bottom,s.value=k.left,f.value=k.right,m.value=k.top,d.value=k.width,u.value=k.x,b.value=k.y}function w(){l==="sync"?y():l==="next-frame"&&requestAnimationFrame(()=>y())}return qe(e,w),o.watch(()=>I(e),x=>!x&&w()),ce(e,w,{attributeFilter:["style","class"]}),a&&ie("scroll",w,{capture:!0,passive:!0}),r&&ie("resize",w,{passive:!0}),Ve(()=>{i&&w()}),{height:c,bottom:p,left:s,right:f,top:m,width:d,x:u,y:b,update:w}}const Ue=e=>{const t=new DOMParser().parseFromString(e,"text/html");return Array.from(t.body.childNodes).some(n=>n.nodeType===1)},Ye=["data-colindex","data-rowindex","data-editable","contenteditable","tabindex"],Xe=["innerHTML"],Je={key:2},U=o.defineComponent({__name:"ACell",props:{colIndex:{},rowIndex:{},tableid:{},addNavigation:{type:[Boolean,Object],default:!0},tabIndex:{default:0},pinned:{type:Boolean}},setup(e){const t=o.inject(e.tableid),n=o.useTemplateRef("cell"),{bottom:r,left:a}=Ge(n),i=t.cellData(e.colIndex,e.rowIndex),l=o.ref(""),c=o.ref(!1),p=t.table,s=t.columns[e.colIndex],f=t.rows[e.rowIndex],m=s.align||"center",d=s.width||"40ch",u=o.computed(()=>typeof y.value=="string"?Ue(y.value):!1),b=o.computed(()=>{var g;return{textAlign:m,width:d,backgroundColor:c.value?"var(--sc-cell-modified)":"inherit",fontWeight:c.value?"bold":"inherit",paddingLeft:ft(e.colIndex,(g=t.display[e.rowIndex])==null?void 0:g.indent)}}),y=o.computed(()=>{const g=t.cellData(e.colIndex,e.rowIndex);return w(g)}),w=g=>{const E=s.format;return E?typeof E=="function"?E(g,{table:p,row:f,column:s}):typeof E=="string"?Function(`"use strict";return (${E})`)()(g,{table:p,row:f,column:s}):g:g},x=()=>{s.mask,s.modalComponent&&(t.modal.visible=!0,t.modal.colIndex=e.colIndex,t.modal.rowIndex=e.rowIndex,t.modal.parent=n.value,t.modal.top=r.value,t.modal.left=a.value,t.modal.width=d,typeof s.modalComponent=="function"?t.modal.component=s.modalComponent({table:p,row:f,column:s}):t.modal.component=s.modalComponent,t.modal.componentProps=s.modalComponentExtraProps)};if(e.addNavigation){let g={...V,"keydown.f2":x,"keydown.alt.up":x,"keydown.alt.down":x,"keydown.alt.left":x,"keydown.alt.right":x};typeof e.addNavigation=="object"&&(g={...g,...e.addNavigation}),F([{selectors:n,handlers:g}])}const k=()=>{n.value&&(l.value=n.value.textContent)},_=()=>{n.value&&(s.format?c.value=n.value.textContent!==w(i):c.value=n.value.textContent!==i,n.value.textContent!==l.value&&(l.value=n.value.textContent,n.value.dispatchEvent(new Event("change")),s.format||t.setCellData(e.rowIndex,e.colIndex,l.value)))},ft=(g,E)=>E&&g===0&&E>0?`${E}ch`:"inherit";return(g,E)=>(o.openBlock(),o.createElementBlock("td",{ref:"cell","data-colindex":g.colIndex,"data-rowindex":g.rowIndex,"data-editable":o.unref(s).edit,contenteditable:o.unref(s).edit,tabindex:g.tabIndex,spellcheck:!1,style:o.normalizeStyle(b.value),onFocus:k,onPaste:_,onBlur:_,onInput:_,onClick:x,onMousedown:x,class:o.normalizeClass(["atable-cell",g.pinned?"sticky-column":""])},[o.unref(s).cellComponent?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(o.unref(s).cellComponent),o.mergeProps({key:0,value:y.value},o.unref(s).cellComponentProps),null,16,["value"])):u.value?(o.openBlock(),o.createElementBlock("span",{key:1,innerHTML:y.value},null,8,Xe)):(o.openBlock(),o.createElementBlock("span",Je,o.toDisplayString(y.value),1))],46,Ye))}}),Qe=["tabindex"],Ze=["tabindex"],Ke=["colspan"],de=o.defineComponent({__name:"AExpansionRow",props:{rowIndex:{},tableid:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object]}},setup(e){const t=o.inject(e.tableid),n=o.useTemplateRef("rowEl"),r=o.computed(()=>t.display[e.rowIndex].expanded?"▼":"►");if(e.addNavigation){const a={"keydown.control.g":i=>{i.stopPropagation(),i.preventDefault(),t.toggleRowExpand(e.rowIndex)}};typeof e.addNavigation=="object"&&Object.assign(a,e.addNavigation),F([{selectors:n,handlers:a}])}return(a,i)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createElementVNode("tr",o.mergeProps(a.$attrs,{ref:"rowEl",tabindex:a.tabIndex,class:"expandable-row"}),[o.createElementVNode("td",{tabIndex:-1,onClick:i[0]||(i[0]=l=>o.unref(t).toggleRowExpand(a.rowIndex)),class:"row-index"},o.toDisplayString(r.value),1),o.renderSlot(a.$slots,"row")],16,Qe),o.unref(t).display[a.rowIndex].expanded?(o.openBlock(),o.createElementBlock("tr",{key:0,ref:"rowExpanded",tabindex:a.tabIndex,class:"expanded-row"},[o.createElementVNode("td",{tabIndex:-1,colspan:o.unref(t).columns.length+1,class:"expanded-row-content"},[o.renderSlot(a.$slots,"content")],8,Ke)],8,Ze)):o.createCommentVNode("",!0)],64))}}),_e=["tabindex"],Y=o.defineComponent({__name:"ARow",props:{rowIndex:{},tableid:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object],default:!1}},setup(e){const t=o.inject(e.tableid),n=o.useTemplateRef("rowEl"),r=o.computed(()=>t.columns.some(c=>c.pinned)),a=o.computed(()=>t.config.view!=="tree"||t.display[e.rowIndex].isRoot||t.display[e.rowIndex].open),i=o.computed(()=>t.config.view!=="tree"?"":t.display[e.rowIndex].isRoot||t.display[e.rowIndex].isParent?t.display[e.rowIndex].childrenOpen?"-":"+":""),l=c=>{t.toggleRowExpand(c)};if(e.addNavigation){let c=V;typeof e.addNavigation=="object"&&(c={...c,...e.addNavigation}),F([{selectors:n,handlers:c}])}return(c,p)=>o.withDirectives((o.openBlock(),o.createElementBlock("tr",{ref:"rowEl",tabindex:c.tabIndex,class:"table-row"},[o.unref(t).config.view!=="uncounted"?o.renderSlot(c.$slots,"index",{key:0},()=>[o.unref(t).config.view==="list"?(o.openBlock(),o.createElementBlock("td",{key:0,tabIndex:-1,class:o.normalizeClass(["list-index",r.value?"sticky-index":""])},o.toDisplayString(c.rowIndex+1),3)):o.unref(t).config.view==="tree"?(o.openBlock(),o.createElementBlock("td",{key:1,tabIndex:-1,class:o.normalizeClass(["tree-index",r.value?"sticky-index":""]),onClick:p[0]||(p[0]=s=>l(c.rowIndex))},o.toDisplayString(i.value),3)):o.createCommentVNode("",!0)]):o.createCommentVNode("",!0),o.renderSlot(c.$slots,"default")],8,_e)),[[o.vShow,a.value]])}});function fe(e){return o.getCurrentScope()?(o.onScopeDispose(e),!0):!1}function M(e){return typeof e=="function"?e():o.unref(e)}const ue=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const et=Object.prototype.toString,tt=e=>et.call(e)==="[object Object]",B=()=>{},X=ot();function ot(){var e,t;return ue&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}const pe={mounted:"mounted",updated:"updated",unmounted:"unmounted"};function nt(...e){if(e.length!==1)return o.toRef(...e);const t=e[0];return typeof t=="function"?o.readonly(o.customRef(()=>({get:t,set:B}))):o.ref(t)}function $(e){var t;const n=M(e);return(t=n==null?void 0:n.$el)!=null?t:n}const me=ue?window:void 0;function z(...e){let t,n,r,a;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,a]=e,t=me):[t,n,r,a]=e,!t)return B;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],l=()=>{i.forEach(f=>f()),i.length=0},c=(f,m,d,u)=>(f.addEventListener(m,d,u),()=>f.removeEventListener(m,d,u)),p=o.watch(()=>[$(t),M(a)],([f,m])=>{if(l(),!f)return;const d=tt(m)?{...m}:m;i.push(...n.flatMap(u=>r.map(b=>c(f,u,b,d))))},{immediate:!0,flush:"post"}),s=()=>{p(),l()};return fe(s),s}let be=!1;function we(e,t,n={}){const{window:r=me,ignore:a=[],capture:i=!0,detectIframe:l=!1}=n;if(!r)return B;X&&!be&&(be=!0,Array.from(r.document.body.children).forEach(d=>d.addEventListener("click",B)),r.document.documentElement.addEventListener("click",B));let c=!0;const p=d=>a.some(u=>{if(typeof u=="string")return Array.from(r.document.querySelectorAll(u)).some(b=>b===d.target||d.composedPath().includes(b));{const b=$(u);return b&&(d.target===b||d.composedPath().includes(b))}}),f=[z(r,"click",d=>{const u=$(e);if(!(!u||u===d.target||d.composedPath().includes(u))){if(d.detail===0&&(c=!p(d)),!c){c=!0;return}t(d)}},{passive:!0,capture:i}),z(r,"pointerdown",d=>{const u=$(e);c=!p(d)&&!!(u&&!d.composedPath().includes(u))},{passive:!0}),l&&z(r,"blur",d=>{setTimeout(()=>{var u;const b=$(e);((u=r.document.activeElement)==null?void 0:u.tagName)==="IFRAME"&&!(b!=null&&b.contains(r.document.activeElement))&&t(d)},0)})].filter(Boolean);return()=>f.forEach(d=>d())}const rt={[pe.mounted](e,t){const n=!t.modifiers.bubble;if(typeof t.value=="function")e.__onClickOutside_stop=we(e,t.value,{capture:n});else{const[r,a]=t.value;e.__onClickOutside_stop=we(e,r,Object.assign({capture:n},a))}},[pe.unmounted](e){e.__onClickOutside_stop()}};function J(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function he(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth<e.scrollWidth||t.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!n||n.tagName==="BODY"?!1:he(n)}}function lt(e){const t=e||window.event,n=t.target;return he(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Q=new WeakMap;function at(e,t=!1){const n=o.ref(t);let r=null,a="";o.watch(nt(e),c=>{const p=J(M(c));if(p){const s=p;if(Q.get(s)||Q.set(s,s.style.overflow),s.style.overflow!=="hidden"&&(a=s.style.overflow),s.style.overflow==="hidden")return n.value=!0;if(n.value)return s.style.overflow="hidden"}},{immediate:!0});const i=()=>{const c=J(M(e));!c||n.value||(X&&(r=z(c,"touchmove",p=>{lt(p)},{passive:!1})),c.style.overflow="hidden",n.value=!0)},l=()=>{const c=J(M(e));!c||!n.value||(X&&(r==null||r()),c.style.overflow=a,Q.delete(c),n.value=!1)};return fe(l),o.computed({get(){return n.value},set(c){c?i():l()}})}function it(){let e=!1;const t=o.ref(!1);return(n,r)=>{if(t.value=r.value,e)return;e=!0;const a=at(n,r.value);o.watch(t,i=>a.value=i)}}it();class ge{constructor(t,n,r,a,i,l){S(this,"id");S(this,"rows");S(this,"columns");S(this,"config");S(this,"table");S(this,"display");S(this,"modal");this.id=t||crypto.randomUUID(),this.rows=r,this.columns=o.reactive(n),this.config=o.reactive(a),this.table=i||o.reactive(this.createTableObject()),this.display=this.createDisplayObject(l),this.modal=o.reactive({visible:!1})}createTableObject(){const t={};for(const[n,r]of this.columns.entries())for(const[a,i]of this.rows.entries())t[`${n}:${a}`]=i[r.name];return t}createDisplayObject(t){const n=[Object.assign({},{rowModified:!1})];if(t&&"0:0"in t)return t;const r=new Set;for(let a=this.rows.length-1;a>=0;a--){const i=this.rows[a];i.parent&&r.add(i.parent),n[a]={childrenOpen:!1,expanded:!1,indent:i.indent||null,isParent:r.has(a),isRoot:i.parent===null||i.parent===void 0,rowModified:!1,open:i.parent===null||i.parent===void 0,parent:i.parent}}return o.reactive(n)}get zeroColumn(){return["list","tree","list-expansion"].includes(this.config.view)}get numberedRowWidth(){return o.computed(()=>String(Math.ceil(this.rows.length/100)+1)+"ch")}cellData(t,n){return this.table[`${t}:${n}`]}setCellData(t,n,r){const a=`${n}:${t}`,i=this.columns[n];return this.table[a]!==r&&(this.display[t].rowModified=!0),this.table[a]=r,this.rows[t][i.name]=r,this.table[a]}toggleRowExpand(t){if(this.config.view==="tree"){this.display[t].childrenOpen=!this.display[t].childrenOpen;for(let n=this.rows.length-1;n>=0;n--)this.display[n].parent===t&&(this.display[n].open=!this.display[n].open,this.display[n].childrenOpen&&this.toggleRowExpand(n))}else this.config.view==="list-expansion"&&(this.display[t].expanded=!this.display[t].expanded)}}const st={key:0,id:"resizable"},ct={class:"atable-header-row",tabindex:"-1"},Z=o.defineComponent({__name:"ATableHeader",props:{columns:{},tableid:{}},setup(e){const t=o.inject(e.tableid),n=o.computed(()=>t.columns.some(a=>a.pinned)),r=a=>({minWidth:a.width||"40ch",textAlign:a.align||"center",width:t.config.fullWidth?"auto":null});return(a,i)=>a.columns.length?(o.openBlock(),o.createElementBlock("thead",st,[o.createElementVNode("tr",ct,[o.unref(t).zeroColumn?(o.openBlock(),o.createElementBlock("th",{key:0,id:"header-index",class:o.normalizeClass([[n.value?"sticky-index":"",o.unref(t).config.view==="tree"?"tree-index":"",o.unref(t).config.view==="list-expansion"?"list-expansion-index":""],"list-index"])},null,2)):o.createCommentVNode("",!0),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(a.columns,(l,c)=>(o.openBlock(),o.createElementBlock("th",{key:l.name,tabindex:"-1",style:o.normalizeStyle(r(l)),class:o.normalizeClass(l.pinned?"sticky-column":"")},[o.renderSlot(a.$slots,"default",{},()=>[o.createTextVNode(o.toDisplayString(l.label||String.fromCharCode(c+97).toUpperCase()),1)])],6))),128))])])):o.createCommentVNode("",!0)}}),K=o.defineComponent({__name:"ATableModal",props:{colIndex:{},rowIndex:{},tableid:{}},setup(e){const t=n=>{n.stopPropagation()};return(n,r)=>(o.openBlock(),o.createElementBlock("div",{class:"amodal",tabindex:"-1",onClick:t,onInput:t},[o.renderSlot(n.$slots,"default")],32))}}),ye=((e,t)=>{const n=e.__vccOpts||e;for(const[r,a]of t)n[r]=a;return n})(o.defineComponent({__name:"ATable",props:{id:{},modelValue:{},columns:{},rows:{default:()=>[]},config:{default:()=>new Object}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const r=n,a=o.useTemplateRef("table"),i=e.modelValue?e.modelValue:e.rows,l=new ge(e.id,e.columns,i,e.config);o.provide(l.id,l),o.watch(()=>l.rows,s=>{r("update:modelValue",s)},{deep:!0}),o.onMounted(()=>{e.columns.some(s=>s.pinned)&&(c(),l.config.view==="tree"&&ce(a,c,{childList:!0,subtree:!0}))});const c=()=>{const s=a.value,f=s.rows[0],m=s.rows[1],d=f?Array.from(f.cells):[];for(const[u,b]of d.entries()){const y=m.cells[u];y&&(b.style.width=`${y.offsetWidth}px`)}for(const u of s.rows){let b=0;const y=[];for(const w of u.cells)(w.classList.contains("sticky-column")||w.classList.contains("sticky-index"))&&(w.style.left=`${b}px`,b+=w.offsetWidth,y.push(w));y.length>0&&y[y.length-1].classList.add("sticky-column-edge")}},p=s=>{var f;s.target instanceof Node&&(f=l.modal.parent)!=null&&f.contains(s.target)||l.modal.visible&&(l.modal.visible=!1)};return window.addEventListener("keydown",s=>{if(s.key==="Escape"&&l.modal.visible){l.modal.visible=!1;const f=l.modal.parent;f&&o.nextTick().then(()=>{f.focus()})}}),t({tableData:l}),(s,f)=>o.withDirectives((o.openBlock(),o.createElementBlock("table",{ref:"table",class:"atable",style:o.normalizeStyle({width:o.unref(l).config.fullWidth?"100%":"auto"})},[o.renderSlot(s.$slots,"header",{data:o.unref(l)},()=>[o.createVNode(Z,{columns:o.unref(l).columns,tableid:o.unref(l).id},null,8,["columns","tableid"])],!0),o.createElementVNode("tbody",null,[o.renderSlot(s.$slots,"body",{data:o.unref(l)},()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(l).rows,(m,d)=>(o.openBlock(),o.createBlock(Y,{key:m.id,row:m,rowIndex:d,tableid:o.unref(l).id},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(l).columns,(u,b)=>(o.openBlock(),o.createBlock(U,{key:u.name,tableid:o.unref(l).id,col:u,spellcheck:"false",pinned:u.pinned,rowIndex:d,colIndex:b,component:u.cellComponent,style:o.normalizeStyle({textAlign:(u==null?void 0:u.align)||"center",minWidth:(u==null?void 0:u.width)||"40ch",width:o.unref(l).config.fullWidth?"auto":null})},null,8,["tableid","col","pinned","rowIndex","colIndex","component","style"]))),128))]),_:2},1032,["row","rowIndex","tableid"]))),128))],!0)]),o.renderSlot(s.$slots,"footer",{data:o.unref(l)},void 0,!0),o.renderSlot(s.$slots,"modal",{data:o.unref(l)},()=>[o.withDirectives(o.createVNode(K,{colIndex:o.unref(l).modal.colIndex,rowIndex:o.unref(l).modal.rowIndex,tableid:o.unref(l).id,style:o.normalizeStyle({left:o.unref(l).modal.left+"px",top:o.unref(l).modal.top+"px",maxWidth:o.unref(l).modal.width+"px"})},{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(o.unref(l).modal.component),o.mergeProps({key:`${o.unref(l).modal.rowIndex}:${o.unref(l).modal.colIndex}`,colIndex:o.unref(l).modal.colIndex,rowIndex:o.unref(l).modal.rowIndex,tableid:o.unref(l).id},o.unref(l).modal.componentProps),null,16,["colIndex","rowIndex","tableid"]))]),_:1},8,["colIndex","rowIndex","tableid","style"]),[[o.vShow,o.unref(l).modal.visible]])],!0)],4)),[[o.unref(rt),p]])}}),[["__scopeId","data-v-183c4dd3"]]);function dt(e){e.component("ACell",U),e.component("AExpansionRow",de),e.component("ARow",Y),e.component("ATable",ye),e.component("ATableHeader",Z),e.component("ATableModal",K)}h.ACell=U,h.AExpansionRow=de,h.ARow=Y,h.ATable=ye,h.ATableHeader=Z,h.ATableModal=K,h.TableDataStore=ge,h.install=dt,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
|
|
3
3
|
//# sourceMappingURL=atable.umd.cjs.map
|