@stonecrop/atable 0.4.2 → 0.4.3
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.d.ts +6 -0
- package/dist/atable.js +251 -231
- package/dist/atable.js.map +1 -1
- package/dist/atable.umd.cjs +2 -2
- package/dist/atable.umd.cjs.map +1 -1
- package/dist/index.js +5 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/ATableLoading.vue +86 -0
- package/src/components/ATableLoadingBar.vue +81 -0
- package/src/index.ts +5 -1
package/dist/atable.umd.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
`,document.head.appendChild(le);function ae(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function j(e){return typeof e=="function"?e():t.unref(e)}const Ae=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ie=e=>e!=null,Te=Object.prototype.toString,Me=e=>Te.call(e)==="[object Object]",$e=()=>{},O=Ae?window:void 0;function L(e){var o;const n=j(e);return(o=n==null?void 0:n.$el)!=null?o:n}function z(...e){let o,n,r,c;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,c]=e,o=O):[o,n,r,c]=e,!o)return $e;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],l=()=>{i.forEach(d=>d()),i.length=0},a=(d,f,m,p)=>(d.addEventListener(f,m,p),()=>d.removeEventListener(f,m,p)),u=t.watch(()=>[L(o),j(c)],([d,f])=>{if(l(),!d)return;const m=Me(f)?{...f}:f;i.push(...n.flatMap(p=>r.map(y=>a(d,p,y,m))))},{immediate:!0,flush:"post"}),s=()=>{u(),l()};return ae(s),s}function Re(){const e=t.ref(!1),o=t.getCurrentInstance();return o&&t.onMounted(()=>{e.value=!0},o),e}function Be(e){const o=Re();return t.computed(()=>(o.value,!!e()))}function Oe(e,o,n={}){const{window:r=O,...c}=n;let i;const l=Be(()=>r&&"MutationObserver"in r),a=()=>{i&&(i.disconnect(),i=void 0)},u=t.computed(()=>{const m=j(e),p=(Array.isArray(m)?m:[m]).map(L).filter(Ie);return new Set(p)}),s=t.watch(()=>u.value,m=>{a(),l.value&&m.size&&(i=new MutationObserver(o),m.forEach(p=>i.observe(p,c)))},{immediate:!0,flush:"post"}),d=()=>i==null?void 0:i.takeRecords(),f=()=>{s(),a()};return ae(f),{isSupported:l,stop:f,takeRecords:d}}function Le(e={}){var o;const{window:n=O,deep:r=!0,triggerOnRemoval:c=!1}=e,i=(o=e.document)!=null?o:n==null?void 0:n.document,l=()=>{var s;let d=i==null?void 0:i.activeElement;if(r)for(;d!=null&&d.shadowRoot;)d=(s=d==null?void 0:d.shadowRoot)==null?void 0:s.activeElement;return d},a=t.ref(),u=()=>{a.value=l()};return n&&(z(n,"blur",s=>{s.relatedTarget===null&&u()},!0),z(n,"focus",u,!0)),c&&Oe(i,s=>{s.filter(d=>d.removedNodes.length).map(d=>Array.from(d.removedNodes)).flat().forEach(d=>{d===a.value&&u()})},{childList:!0,subtree:!0}),u(),a}const ze="focusin",De="focusout";function Pe(e,o={}){const{window:n=O}=o,r=t.computed(()=>L(e)),c=t.ref(!1),i=t.computed(()=>c.value),l=Le(o);return!n||!l.value?{focused:i}:(z(r,ze,()=>c.value=!0),z(r,De,()=>c.value=!1),{focused:i})}function We(e,{window:o=O,scrollTarget:n}={}){const r=t.ref(!1),c=()=>{if(!o)return;const i=o.document,l=L(e);if(!l)r.value=!1;else{const a=l.getBoundingClientRect();r.value=a.top<=(o.innerHeight||i.documentElement.clientHeight)&&a.left<=(o.innerWidth||i.documentElement.clientWidth)&&a.bottom>=0&&a.right>=0}};return t.watch(()=>L(e),()=>c(),{immediate:!0,flush:"post"}),o&&z(n||o,"scroll",c,{capture:!1,passive:!0}),r}const T=e=>{let o=We(e).value;return o=o&&e.offsetHeight>0,o},M=e=>e.tabIndex>=0,se=e=>{const o=e.target;return F(o)},F=e=>{var o;let n;if(e instanceof HTMLTableCellElement){const r=(o=e.parentElement)==null?void 0:o.previousElementSibling;if(r){const c=Array.from(r.children)[e.cellIndex];c&&(n=c)}}else if(e instanceof HTMLTableRowElement){const r=e.previousElementSibling;r&&(n=r)}return n&&(!M(n)||!T(n))?F(n):n},He=e=>{var o;const n=e.target;let r;if(n instanceof HTMLTableCellElement){const c=(o=n.parentElement)==null?void 0:o.parentElement;if(c){const i=c.firstElementChild,l=i==null?void 0:i.children[n.cellIndex];l&&(r=l)}}else if(n instanceof HTMLTableRowElement){const c=n.parentElement;if(c){const i=c.firstElementChild;i&&(r=i)}}return r&&(!M(r)||!T(r))?q(r):r},ce=e=>{const o=e.target;return q(o)},q=e=>{var o;let n;if(e instanceof HTMLTableCellElement){const r=(o=e.parentElement)==null?void 0:o.nextElementSibling;if(r){const c=Array.from(r.children)[e.cellIndex];c&&(n=c)}}else if(e instanceof HTMLTableRowElement){const r=e.nextElementSibling;r&&(n=r)}return n&&(!M(n)||!T(n))?q(n):n},Ne=e=>{var o;const n=e.target;let r;if(n instanceof HTMLTableCellElement){const c=(o=n.parentElement)==null?void 0:o.parentElement;if(c){const i=c.lastElementChild,l=i==null?void 0:i.children[n.cellIndex];l&&(r=l)}}else if(n instanceof HTMLTableRowElement){const c=n.parentElement;if(c){const i=c.lastElementChild;i&&(r=i)}}return r&&(!M(r)||!T(r))?F(r):r},ie=e=>{const o=e.target;return Y(o)},Y=e=>{var o;let n;if(e.previousElementSibling)n=e.previousElementSibling;else{const r=(o=e.parentElement)==null?void 0:o.previousElementSibling;n=r==null?void 0:r.lastElementChild}return n&&(!M(n)||!T(n))?Y(n):n},de=e=>{const o=e.target;return U(o)},U=e=>{var o;let n;if(e.nextElementSibling)n=e.nextElementSibling;else{const r=(o=e.parentElement)==null?void 0:o.nextElementSibling;n=r==null?void 0:r.firstElementChild}return n&&(!M(n)||!T(n))?U(n):n},fe=e=>{const o=e.target.parentElement,n=o==null?void 0:o.firstElementChild;return n&&(!M(n)||!T(n))?U(n):n},ue=e=>{const o=e.target.parentElement,n=o==null?void 0:o.lastElementChild;return n&&(!M(n)||!T(n))?Y(n):n},H=["alt","control","shift","meta"],Ve={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right"},X={"keydown.up":e=>{const o=se(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.down":e=>{const o=ce(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.left":e=>{const o=ie(e);e.preventDefault(),e.stopPropagation(),o&&o.focus()},"keydown.right":e=>{const o=de(e);e.preventDefault(),e.stopPropagation(),o&&o.focus()},"keydown.control.up":e=>{const o=He(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.control.down":e=>{const o=Ne(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.control.left":e=>{const o=fe(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.control.right":e=>{const o=ue(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.end":e=>{const o=ue(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const o=ce(e);o&&o.focus()}},"keydown.shift.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const o=se(e);o&&o.focus()}},"keydown.home":e=>{const o=fe(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.tab":e=>{const o=de(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.shift.tab":e=>{const o=ie(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())}};function G(e){const o=l=>{let a=null;return l.parent&&(typeof l.parent=="string"?a=document.querySelector(l.parent):l.parent instanceof HTMLElement?a=l.parent:a=l.parent.value),a},n=l=>{var a;const u=o(l);let s=[];if(typeof l.selectors=="string")s=u?Array.from(u.querySelectorAll(l.selectors)):Array.from(document.querySelectorAll(l.selectors));else if(Array.isArray(l.selectors))for(const d of l.selectors)d instanceof HTMLElement?s.push(d):s.push(d.$el);else if(l.selectors instanceof HTMLElement)s.push(l.selectors);else if((a=l.selectors)!=null&&a.value)if(Array.isArray(l.selectors.value))for(const d of l.selectors.value)d instanceof HTMLElement?s.push(d):s.push(d.$el);else s.push(l.selectors.value);return s},r=l=>{const a=o(l);let u=[];return l.selectors?u=n(l):a&&(u=Array.from(a.children).filter(s=>M(s)&&T(s))),u},c=l=>a=>{const u=Ve[a.key]||a.key.toLowerCase();if(H.includes(u))return;const s=l.handlers||X;for(const d of Object.keys(s)){const[f,...m]=d.split(".");if(f==="keydown"&&m.includes(u)){const p=s[d],y=m.filter(b=>H.includes(b)),g=H.some(b=>{const w=b.charAt(0).toUpperCase()+b.slice(1);return a.getModifierState(w)});if(y.length>0){if(g){for(const b of H)if(m.includes(b)){const w=b.charAt(0).toUpperCase()+b.slice(1);a.getModifierState(w)&&p(a)}}}else g||p(a)}}},i=[];t.onMounted(()=>{for(const l of e){const a=o(l),u=r(l),s=c(l),d=a?[a]:u;for(const f of d){const{focused:m}=Pe(t.ref(f)),p=t.watch(m,y=>{y?f.addEventListener("keydown",s):f.removeEventListener("keydown",s)});i.push(p)}}}),t.onBeforeUnmount(()=>{for(const l of i)l()})}function D(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function I(e){return typeof e=="function"?e():t.unref(e)}const J=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const je=e=>e!=null,Fe=Object.prototype.toString,me=e=>Fe.call(e)==="[object Object]",$=()=>{},Q=qe();function qe(){var e,o;return J&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((o=window==null?void 0:window.navigator)==null?void 0:o.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Ye(e){return t.getCurrentInstance()}function Ue(...e){if(e.length!==1)return t.toRef(...e);const o=e[0];return typeof o=="function"?t.readonly(t.customRef(()=>({get:o,set:$}))):t.ref(o)}function Xe(e,o=!0,n){Ye()?t.onMounted(e,n):o?e():t.nextTick(e)}const N=J?window:void 0;function R(e){var o;const n=I(e);return(o=n==null?void 0:n.$el)!=null?o:n}function Z(...e){let o,n,r,c;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,c]=e,o=N):[o,n,r,c]=e,!o)return $;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],l=()=>{i.forEach(d=>d()),i.length=0},a=(d,f,m,p)=>(d.addEventListener(f,m,p),()=>d.removeEventListener(f,m,p)),u=t.watch(()=>[R(o),I(c)],([d,f])=>{if(l(),!d)return;const m=me(f)?{...f}:f;i.push(...n.flatMap(p=>r.map(y=>a(d,p,y,m))))},{immediate:!0,flush:"post"}),s=()=>{u(),l()};return D(s),s}function Ge(){const e=t.ref(!1),o=t.getCurrentInstance();return o&&t.onMounted(()=>{e.value=!0},o),e}function pe(e){const o=Ge();return t.computed(()=>(o.value,!!e()))}function be(e,o,n={}){const{window:r=N,...c}=n;let i;const l=pe(()=>r&&"MutationObserver"in r),a=()=>{i&&(i.disconnect(),i=void 0)},u=t.computed(()=>{const m=I(e),p=(Array.isArray(m)?m:[m]).map(R).filter(je);return new Set(p)}),s=t.watch(()=>u.value,m=>{a(),l.value&&m.size&&(i=new MutationObserver(o),m.forEach(p=>i.observe(p,c)))},{immediate:!0,flush:"post"}),d=()=>i==null?void 0:i.takeRecords(),f=()=>{s(),a()};return D(f),{isSupported:l,stop:f,takeRecords:d}}function Je(e,o,n={}){const{window:r=N,...c}=n;let i;const l=pe(()=>r&&"ResizeObserver"in r),a=()=>{i&&(i.disconnect(),i=void 0)},u=t.computed(()=>{const f=I(e);return Array.isArray(f)?f.map(m=>R(m)):[R(f)]}),s=t.watch(u,f=>{if(a(),l.value&&r){i=new ResizeObserver(o);for(const m of f)m&&i.observe(m,c)}},{immediate:!0,flush:"post"}),d=()=>{a(),s()};return D(d),{isSupported:l,stop:d}}function ge(e,o={}){const{reset:n=!0,windowResize:r=!0,windowScroll:c=!0,immediate:i=!0,updateTiming:l="sync"}=o,a=t.ref(0),u=t.ref(0),s=t.ref(0),d=t.ref(0),f=t.ref(0),m=t.ref(0),p=t.ref(0),y=t.ref(0);function g(){const w=R(e);if(!w){n&&(a.value=0,u.value=0,s.value=0,d.value=0,f.value=0,m.value=0,p.value=0,y.value=0);return}const k=w.getBoundingClientRect();a.value=k.height,u.value=k.bottom,s.value=k.left,d.value=k.right,f.value=k.top,m.value=k.width,p.value=k.x,y.value=k.y}function b(){l==="sync"?g():l==="next-frame"&&requestAnimationFrame(()=>g())}return Je(e,b),t.watch(()=>R(e),w=>!w&&b()),be(e,b,{attributeFilter:["style","class"]}),c&&Z("scroll",b,{capture:!0,passive:!0}),r&&Z("resize",b,{passive:!0}),Xe(()=>{i&&b()}),{height:a,bottom:u,left:s,right:d,top:f,width:m,x:p,y,update:b}}function Qe(e={}){const{window:o=N,behavior:n="auto"}=e;if(!o)return{x:t.ref(0),y:t.ref(0)};const r=t.ref(o.scrollX),c=t.ref(o.scrollY),i=t.computed({get(){return r.value},set(a){scrollTo({left:a,behavior:n})}}),l=t.computed({get(){return c.value},set(a){scrollTo({top:a,behavior:n})}});return Z(o,"scroll",()=>{r.value=o.scrollX,c.value=o.scrollY},{capture:!1,passive:!0}),{x:i,y:l}}const Ze=e=>{const o=new DOMParser().parseFromString(e,"text/html");return Array.from(o.body.childNodes).some(n=>n.nodeType===1)},Ke=(e=8)=>Array.from({length:e},()=>Math.floor(Math.random()*16).toString(16)).join(""),_e=["data-colindex","data-rowindex","data-editable","contenteditable","tabindex"],et=["innerHTML"],tt={key:2},K=t.defineComponent({__name:"ACell",props:{colIndex:{},rowIndex:{},store:{},addNavigation:{type:[Boolean,Object],default:!0},tabIndex:{default:0},pinned:{type:Boolean}},emits:["cellInput"],setup(e,{emit:o}){const n=o,r=t.useTemplateRef("cell"),c=e.store.getCellData(e.colIndex,e.rowIndex),i=t.ref(""),l=t.ref(!1),a=e.store.columns[e.colIndex],u=e.store.rows[e.rowIndex],s=a.align||"center",d=a.width||"40ch",f=t.computed(()=>e.store.getCellDisplayValue(e.colIndex,e.rowIndex)),m=t.computed(()=>typeof f.value=="string"?Ze(f.value):!1),p=t.computed(()=>{var w;return{textAlign:s,width:d,backgroundColor:l.value?"var(--sc-cell-changed-color)":"inherit",fontWeight:l.value?"bold":"inherit",paddingLeft:e.store.getIndent(e.colIndex,(w=e.store.display[e.rowIndex])==null?void 0:w.indent)}}),y=()=>{const{left:w,bottom:k,width:B,height:re}=ge(r);a.mask,a.modalComponent&&e.store.$patch(A=>{A.modal.visible=!0,A.modal.colIndex=e.colIndex,A.modal.rowIndex=e.rowIndex,A.modal.left=w,A.modal.bottom=k,A.modal.width=B,A.modal.height=re,typeof a.modalComponent=="function"?A.modal.component=a.modalComponent({table:A.table,row:u,column:a}):A.modal.component=a.modalComponent,A.modal.componentProps=a.modalComponentExtraProps})};if(e.addNavigation){let w={...X,"keydown.f2":y,"keydown.alt.up":y,"keydown.alt.down":y,"keydown.alt.left":y,"keydown.alt.right":y};typeof e.addNavigation=="object"&&(w={...w,...e.addNavigation}),G([{selectors:r,handlers:w}])}const g=()=>{r.value&&(i.value=r.value.textContent)},b=w=>{const k=w.target;k.textContent!==i.value&&(n("cellInput",e.colIndex,e.rowIndex,k.textContent,i.value),i.value=k.textContent,a.format?(l.value=k.textContent!==e.store.getFormattedValue(e.colIndex,e.rowIndex,c),e.store.setCellText(e.colIndex,e.rowIndex,k.textContent)):(l.value=k.textContent!==c,e.store.setCellData(e.colIndex,e.rowIndex,k.textContent)))};return(w,k)=>(t.openBlock(),t.createElementBlock("td",{ref:"cell","data-colindex":w.colIndex,"data-rowindex":w.rowIndex,"data-editable":t.unref(a).edit,contenteditable:t.unref(a).edit,tabindex:w.tabIndex,spellcheck:!1,style:t.normalizeStyle(p.value),onFocus:g,onPaste:b,onInput:b,onClick:y,class:t.normalizeClass(["atable-cell",w.pinned?"sticky-column":""])},[t.unref(a).cellComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(a).cellComponent),t.mergeProps({key:0,value:f.value},t.unref(a).cellComponentProps),null,16,["value"])):m.value?(t.openBlock(),t.createElementBlock("span",{key:1,innerHTML:f.value},null,8,et)):(t.openBlock(),t.createElementBlock("span",tt,t.toDisplayString(f.value),1))],46,_e))}}),ot=["tabindex"],nt=["tabindex"],rt=["colspan"],he=t.defineComponent({__name:"AExpansionRow",props:{rowIndex:{},store:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object]}},setup(e){const o=t.useTemplateRef("rowEl"),n=t.computed(()=>e.store.display[e.rowIndex].expanded?"▼":"►");if(e.addNavigation){const r={"keydown.control.g":c=>{c.stopPropagation(),c.preventDefault(),e.store.toggleRowExpand(e.rowIndex)}};typeof e.addNavigation=="object"&&Object.assign(r,e.addNavigation),G([{selectors:o,handlers:r}])}return(r,c)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("tr",t.mergeProps(r.$attrs,{ref:"rowEl",tabindex:r.tabIndex,class:"expandable-row"}),[t.createElementVNode("td",{tabIndex:-1,onClick:c[0]||(c[0]=i=>r.store.toggleRowExpand(r.rowIndex)),class:"row-index"},t.toDisplayString(n.value),1),t.renderSlot(r.$slots,"row")],16,ot),r.store.display[r.rowIndex].expanded?(t.openBlock(),t.createElementBlock("tr",{key:0,ref:"rowExpanded",tabindex:r.tabIndex,class:"expanded-row"},[t.createElementVNode("td",{tabIndex:-1,colspan:r.store.columns.length+1,class:"expanded-row-content"},[t.renderSlot(r.$slots,"content")],8,rt)],8,nt)):t.createCommentVNode("",!0)],64))}}),lt=["tabindex"],_=t.defineComponent({__name:"ARow",props:{rowIndex:{},store:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object],default:!1}},setup(e){const o=t.useTemplateRef("rowEl"),n=t.computed(()=>e.store.isRowVisible(e.rowIndex)),r=t.computed(()=>e.store.getRowExpandSymbol(e.rowIndex));if(e.addNavigation){let c=X;typeof e.addNavigation=="object"&&(c={...c,...e.addNavigation}),G([{selectors:o,handlers:c}])}return(c,i)=>t.withDirectives((t.openBlock(),t.createElementBlock("tr",{ref:"rowEl",tabindex:c.tabIndex,class:"table-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.config.view==="tree"?(t.openBlock(),t.createElementBlock("td",{key:1,tabIndex:-1,class:t.normalizeClass(["tree-index",c.store.hasPinnedColumns?"sticky-index":""]),onClick:i[0]||(i[0]=l=>c.store.toggleRowExpand(c.rowIndex))},t.toDisplayString(r.value),3)):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(c.$slots,"default")],8,lt)),[[t.vShow,n.value]])}}),we=J?window:void 0;function P(e){var o;const n=I(e);return(o=n==null?void 0:n.$el)!=null?o:n}function V(...e){let o,n,r,c;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,c]=e,o=we):[o,n,r,c]=e,!o)return $;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],l=()=>{i.forEach(d=>d()),i.length=0},a=(d,f,m,p)=>(d.addEventListener(f,m,p),()=>d.removeEventListener(f,m,p)),u=t.watch(()=>[P(o),I(c)],([d,f])=>{if(l(),!d)return;const m=me(f)?{...f}:f;i.push(...n.flatMap(p=>r.map(y=>a(d,p,y,m))))},{immediate:!0,flush:"post"}),s=()=>{u(),l()};return D(s),s}let ye=!1;function xe(e,o,n={}){const{window:r=we,ignore:c=[],capture:i=!0,detectIframe:l=!1}=n;if(!r)return $;Q&&!ye&&(ye=!0,Array.from(r.document.body.children).forEach(g=>g.addEventListener("click",$)),r.document.documentElement.addEventListener("click",$));let a=!0;const u=g=>I(c).some(b=>{if(typeof b=="string")return Array.from(r.document.querySelectorAll(b)).some(w=>w===g.target||g.composedPath().includes(w));{const w=P(b);return w&&(g.target===w||g.composedPath().includes(w))}});function s(g){const b=I(g);return b&&b.$.subTree.shapeFlag===16}function d(g,b){const w=I(g),k=w.$.subTree&&w.$.subTree.children;return k==null||!Array.isArray(k)?!1:k.some(B=>B.el===b.target||b.composedPath().includes(B.el))}const f=g=>{const b=P(e);if(g.target!=null&&!(!(b instanceof Element)&&s(e)&&d(e,g))&&!(!b||b===g.target||g.composedPath().includes(b))){if(g.detail===0&&(a=!u(g)),!a){a=!0;return}o(g)}};let m=!1;const p=[V(r,"click",g=>{m||(m=!0,setTimeout(()=>{m=!1},0),f(g))},{passive:!0,capture:i}),V(r,"pointerdown",g=>{const b=P(e);a=!u(g)&&!!(b&&!g.composedPath().includes(b))},{passive:!0}),l&&V(r,"blur",g=>{setTimeout(()=>{var b;const w=P(e);((b=r.document.activeElement)==null?void 0:b.tagName)==="IFRAME"&&!(w!=null&&w.contains(r.document.activeElement))&&o(g)},0)})].filter(Boolean);return()=>p.forEach(g=>g())}const at={mounted(e,o){const n=!o.modifiers.bubble;if(typeof o.value=="function")e.__onClickOutside_stop=xe(e,o.value,{capture:n});else{const[r,c]=o.value;e.__onClickOutside_stop=xe(e,r,Object.assign({capture:n},c))}},unmounted(e){e.__onClickOutside_stop()}};function ee(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function ke(e){const o=window.getComputedStyle(e);if(o.overflowX==="scroll"||o.overflowY==="scroll"||o.overflowX==="auto"&&e.clientWidth<e.scrollWidth||o.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!n||n.tagName==="BODY"?!1:ke(n)}}function st(e){const o=e||window.event,n=o.target;return ke(n)?!1:o.touches.length>1?!0:(o.preventDefault&&o.preventDefault(),!1)}const te=new WeakMap;function ct(e,o=!1){const n=t.ref(o);let r=null,c="";t.watch(Ue(e),a=>{const u=ee(I(a));if(u){const s=u;if(te.get(s)||te.set(s,s.style.overflow),s.style.overflow!=="hidden"&&(c=s.style.overflow),s.style.overflow==="hidden")return n.value=!0;if(n.value)return s.style.overflow="hidden"}},{immediate:!0});const i=()=>{const a=ee(I(e));!a||n.value||(Q&&(r=V(a,"touchmove",u=>{st(u)},{passive:!1})),a.style.overflow="hidden",n.value=!0)},l=()=>{const a=ee(I(e));!a||!n.value||(Q&&(r==null||r()),a.style.overflow=c,te.delete(a),n.value=!1)};return D(l),t.computed({get(){return n.value},set(a){a?i():l()}})}function it(){let e=!1;const o=t.ref(!1);return(n,r)=>{if(o.value=r.value,e)return;e=!0;const c=ct(n,r.value);t.watch(o,i=>c.value=i)}}it();const dt={key:0,id:"resizable"},ft={class:"atable-header-row",tabindex:"-1"},oe=t.defineComponent({__name:"ATableHeader",props:{columns:{},store:{}},setup(e){return(o,n)=>o.columns.length?(t.openBlock(),t.createElementBlock("thead",dt,[t.createElementVNode("tr",ft,[o.store.zeroColumn?(t.openBlock(),t.createElementBlock("th",{key:0,id:"header-index",class:t.normalizeClass([[o.store.hasPinnedColumns?"sticky-index":"",o.store.config.view==="tree"?"tree-index":"",o.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(o.columns,(r,c)=>(t.openBlock(),t.createElementBlock("th",{key:r.name,tabindex:"-1",style:t.normalizeStyle(o.store.getHeaderCellStyle(r)),class:t.normalizeClass(r.pinned?"sticky-column":"")},[t.renderSlot(o.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(r.label||String.fromCharCode(c+97).toUpperCase()),1)])],6))),128))])])):t.createCommentVNode("",!0)}}),ne=t.defineComponent({__name:"ATableModal",props:{store:{}},setup(e){const o=t.useTemplateRef("amodal"),{width:n,height:r}=ge(o),{y:c}=Qe(),i=t.computed(()=>{if(!(e.store.modal.height&&e.store.modal.width&&e.store.modal.left&&e.store.modal.bottom))return;const a=document.body,u=document.documentElement,s=Math.max(a.scrollHeight,a.offsetHeight,u.clientHeight,u.scrollHeight,u.offsetHeight),d=Math.max(a.scrollWidth,a.offsetWidth,u.clientWidth,u.scrollWidth,u.offsetWidth),f=e.store.modal.bottom+r.value+c.value<=s?e.store.modal.bottom:e.store.modal.bottom-r.value-e.store.modal.height;return{left:`${e.store.modal.left+n.value<=d?e.store.modal.left:e.store.modal.left-(n.value-e.store.modal.width)}px`,top:`${f}px`}}),l=a=>{a.stopPropagation()};return(a,u)=>(t.openBlock(),t.createElementBlock("div",{class:"amodal",ref:"amodal",tabindex:"-1",onClick:l,onInput:l,style:t.normalizeStyle(i.value)},[t.renderSlot(a.$slots,"default")],36))}}),ve=e=>{const o=e.id||Ke();return Se.defineStore(`table-${o}`,()=>{const r=()=>{const h={};for(const[x,v]of i.value.entries())for(const[E,S]of l.value.entries())h[`${x}:${E}`]=S[v.name];return h},c=h=>{const x=[Object.assign({},{rowModified:!1})];if(h&&"0:0"in h)return h;const v=new Set;for(let E=l.value.length-1;E>=0;E--){const S=l.value[E];S.parent&&v.add(S.parent),x[E]={childrenOpen:!1,expanded:!1,indent:S.indent||0,isParent:v.has(E),isRoot:S.parent===null||S.parent===void 0,rowModified:!1,open:S.parent===null||S.parent===void 0,parent:S.parent}}return x},i=t.ref(e.columns),l=t.ref(e.rows),a=t.ref(e.config||{}),u=t.ref(e.table||r()),s=t.ref(c(e.display)),d=t.ref(e.modal||{visible:!1}),f=t.ref({}),m=t.computed(()=>i.value.some(h=>h.pinned)),p=t.computed(()=>`${Math.ceil(l.value.length/100+1)}ch`),y=t.computed(()=>a.value.view?["list","tree","list-expansion"].includes(a.value.view):!1),g=(h,x)=>u.value[`${h}:${x}`],b=(h,x,v)=>{const E=`${h}:${x}`,S=i.value[h];u.value[E]!==v&&(s.value[x].rowModified=!0),u.value[E]=v,l.value[x][S.name]=v},w=(h,x,v)=>{const E=`${h}:${x}`;u.value[E]!==v&&(s.value[x].rowModified=!0,f.value[E]=v)},k=h=>({minWidth:h.width||"40ch",textAlign:h.align||"center",width:a.value.fullWidth?"auto":void 0}),B=h=>a.value.view!=="tree"||s.value[h].isRoot||s.value[h].open,re=h=>a.value.view!=="tree"?"":s.value[h].isRoot||s.value[h].isParent?s.value[h].childrenOpen?"-":"+":"",A=h=>{if(a.value.view==="tree"){s.value[h].childrenOpen=!s.value[h].childrenOpen;for(let x=l.value.length-1;x>=0;x--)s.value[x].parent===h&&(s.value[x].open=!s.value[x].open,s.value[x].childrenOpen&&A(x))}else a.value.view==="list-expansion"&&(s.value[h].expanded=!s.value[h].expanded)},mt=(h,x)=>{const v=g(h,x);return Ce(h,x,v)},Ce=(h,x,v)=>{const E=i.value[h],S=l.value[x],W=E.format;return W?typeof W=="function"?W(v,{table:u.value,row:S,column:E}):typeof W=="string"?Function(`"use strict";return (${W})`)()(v,{table:u.value,row:S,column:E}):v:v};return{columns:i,config:a,display:s,modal:d,rows:l,table:u,updates:f,hasPinnedColumns:m,numberedRowWidth:p,zeroColumn:y,closeModal:h=>{var x;h.target instanceof Node&&(x=d.value.parent)!=null&&x.contains(h.target)||d.value.visible&&(d.value.visible=!1)},getCellData:g,getCellDisplayValue:mt,getFormattedValue:Ce,getHeaderCellStyle:k,getIndent:(h,x)=>x&&h===0&&x>0?`${x}ch`:"inherit",getRowExpandSymbol:re,isRowVisible:B,setCellData:b,setCellText:w,toggleRowExpand:A}})()},Ee=((e,o)=>{const n=e.__vccOpts||e;for(const[r,c]of o)n[r]=c;return n})(t.defineComponent({__name:"ATable",props:{id:{},modelValue:{},columns:{},rows:{default:()=>[]},config:{default:()=>new Object}},emits:["update:modelValue","cellUpdate"],setup(e,{expose:o,emit:n}){const r=n,c=t.useTemplateRef("table"),i=e.modelValue?e.modelValue:e.rows,l=ve({columns:e.columns,rows:i,id:e.id,config:e.config});l.$onAction(({name:s,store:d,args:f,after:m})=>{if(s==="setCellData"){const[p,y,g]=f,b=d.getCellData(p,y);m(()=>{r("cellUpdate",p,y,g,b)})}}),t.watch(()=>l.rows,s=>{r("update:modelValue",s)},{deep:!0}),t.onMounted(()=>{e.columns.some(s=>s.pinned)&&(u(),l.config.view==="tree"&&be(c,u,{childList:!0,subtree:!0}))});const a=(s,d,f,m)=>{r("cellUpdate",s,d,f,m)},u=()=>{const s=c.value,d=s==null?void 0:s.rows[0],f=s==null?void 0:s.rows[1],m=d?Array.from(d.cells):[];for(const[p,y]of m.entries()){const g=f==null?void 0:f.cells[p];g&&(y.style.width=`${g.offsetWidth}px`)}for(const p of(s==null?void 0:s.rows)||[]){let y=0;const g=[];for(const b of p.cells)(b.classList.contains("sticky-column")||b.classList.contains("sticky-index"))&&(b.style.left=`${y}px`,y+=b.offsetWidth,g.push(b));g.length>0&&g[g.length-1].classList.add("sticky-column-edge")}};return window.addEventListener("keydown",s=>{if(s.key==="Escape"&&l.modal.visible){l.modal.visible=!1;const d=l.modal.parent;d&&t.nextTick().then(()=>{d.focus()})}}),o({store:l}),(s,d)=>t.withDirectives((t.openBlock(),t.createElementBlock("table",{ref:"table",class:"atable",style:t.normalizeStyle({width:t.unref(l).config.fullWidth?"100%":"auto"})},[t.renderSlot(s.$slots,"header",{data:t.unref(l)},()=>[t.createVNode(oe,{columns:t.unref(l).columns,store:t.unref(l)},null,8,["columns","store"])],!0),t.createElementVNode("tbody",null,[t.renderSlot(s.$slots,"body",{data:t.unref(l)},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l).rows,(f,m)=>(t.openBlock(),t.createBlock(_,{key:f.id,row:f,rowIndex:m,store:t.unref(l)},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l).columns,(p,y)=>(t.openBlock(),t.createBlock(K,{key:p.name,store:t.unref(l),col:p,spellcheck:"false",pinned:p.pinned,rowIndex:m,colIndex:y,component:p.cellComponent,style:t.normalizeStyle({textAlign:(p==null?void 0:p.align)||"center",minWidth:(p==null?void 0:p.width)||"40ch",width:t.unref(l).config.fullWidth?"auto":null}),onCellInput:a},null,8,["store","col","pinned","rowIndex","colIndex","component","style"]))),128))]),_:2},1032,["row","rowIndex","store"]))),128))],!0)]),t.renderSlot(s.$slots,"footer",{data:t.unref(l)},void 0,!0),t.renderSlot(s.$slots,"modal",{data:t.unref(l)},()=>[t.withDirectives(t.createVNode(ne,{store:t.unref(l)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(l).modal.component),t.mergeProps({key:`${t.unref(l).modal.rowIndex}:${t.unref(l).modal.colIndex}`,colIndex:t.unref(l).modal.colIndex,rowIndex:t.unref(l).modal.rowIndex,store:t.unref(l)},t.unref(l).modal.componentProps),null,16,["colIndex","rowIndex","store"]))]),_:1},8,["store"]),[[t.vShow,t.unref(l).modal.visible]])],!0)],4)),[[t.unref(at),t.unref(l).closeModal]])}}),[["__scopeId","data-v-bd5101d3"]]);function ut(e){e.component("ACell",K),e.component("AExpansionRow",he),e.component("ARow",_),e.component("ATable",Ee),e.component("ATableHeader",oe),e.component("ATableModal",ne)}C.ACell=K,C.AExpansionRow=he,C.ARow=_,C.ATable=Ee,C.ATableHeader=oe,C.ATableModal=ne,C.createTableStore=ve,C.install=ut,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(E,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("pinia")):typeof define=="function"&&define.amd?define(["exports","vue","pinia"],t):(E=typeof globalThis<"u"?globalThis:E||self,t(E["@stonecrop/atable"]={},E.Vue,E.pinia))})(this,function(E,t,Te){"use strict";var ae=document.createElement("style");ae.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);display:flex}.expandable-row>td:first-child{border-left:4px solid var(--sc-row-border-color)}.expanded-row{display:flex;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}.table-row{border-top:1px solid var(--sc-row-border-color);display:flex;background-color:#fff}.table-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-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-changed-color: #d8edff;--sc-form-border: var(--sc-gray-20);--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:fixed;background-color:var(--sc-row-color-zebra-dark);z-index:1000}.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-bd5101d3]: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-20);--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-bd5101d3]{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}.atable th[data-v-bd5101d3]{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-bd5101d3]:focus{outline:none}.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
|
+
`,document.head.appendChild(ae);function se(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function j(e){return typeof e=="function"?e():t.unref(e)}const $e=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Me=e=>e!=null,Be=Object.prototype.toString,ze=e=>Be.call(e)==="[object Object]",Re=()=>{},R=$e?window:void 0;function L(e){var o;const n=j(e);return(o=n==null?void 0:n.$el)!=null?o:n}function O(...e){let o,n,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,i]=e,o=R):[o,n,r,i]=e,!o)return Re;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const c=[],l=()=>{c.forEach(d=>d()),c.length=0},a=(d,f,m,p)=>(d.addEventListener(f,m,p),()=>d.removeEventListener(f,m,p)),u=t.watch(()=>[L(o),j(i)],([d,f])=>{if(l(),!d)return;const m=ze(f)?{...f}:f;c.push(...n.flatMap(p=>r.map(y=>a(d,p,y,m))))},{immediate:!0,flush:"post"}),s=()=>{u(),l()};return se(s),s}function Le(){const e=t.ref(!1),o=t.getCurrentInstance();return o&&t.onMounted(()=>{e.value=!0},o),e}function Oe(e){const o=Le();return t.computed(()=>(o.value,!!e()))}function De(e,o,n={}){const{window:r=R,...i}=n;let c;const l=Oe(()=>r&&"MutationObserver"in r),a=()=>{c&&(c.disconnect(),c=void 0)},u=t.computed(()=>{const m=j(e),p=(Array.isArray(m)?m:[m]).map(L).filter(Me);return new Set(p)}),s=t.watch(()=>u.value,m=>{a(),l.value&&m.size&&(c=new MutationObserver(o),m.forEach(p=>c.observe(p,i)))},{immediate:!0,flush:"post"}),d=()=>c==null?void 0:c.takeRecords(),f=()=>{s(),a()};return se(f),{isSupported:l,stop:f,takeRecords:d}}function Pe(e={}){var o;const{window:n=R,deep:r=!0,triggerOnRemoval:i=!1}=e,c=(o=e.document)!=null?o:n==null?void 0:n.document,l=()=>{var s;let d=c==null?void 0:c.activeElement;if(r)for(;d!=null&&d.shadowRoot;)d=(s=d==null?void 0:d.shadowRoot)==null?void 0:s.activeElement;return d},a=t.ref(),u=()=>{a.value=l()};return n&&(O(n,"blur",s=>{s.relatedTarget===null&&u()},!0),O(n,"focus",u,!0)),i&&De(c,s=>{s.filter(d=>d.removedNodes.length).map(d=>Array.from(d.removedNodes)).flat().forEach(d=>{d===a.value&&u()})},{childList:!0,subtree:!0}),u(),a}const Ne="focusin",We="focusout";function He(e,o={}){const{window:n=R}=o,r=t.computed(()=>L(e)),i=t.ref(!1),c=t.computed(()=>i.value),l=Pe(o);return!n||!l.value?{focused:c}:(O(r,Ne,()=>i.value=!0),O(r,We,()=>i.value=!1),{focused:c})}function Ve(e,{window:o=R,scrollTarget:n}={}){const r=t.ref(!1),i=()=>{if(!o)return;const c=o.document,l=L(e);if(!l)r.value=!1;else{const a=l.getBoundingClientRect();r.value=a.top<=(o.innerHeight||c.documentElement.clientHeight)&&a.left<=(o.innerWidth||c.documentElement.clientWidth)&&a.bottom>=0&&a.right>=0}};return t.watch(()=>L(e),()=>i(),{immediate:!0,flush:"post"}),o&&O(n||o,"scroll",i,{capture:!1,passive:!0}),r}const T=e=>{let o=Ve(e).value;return o=o&&e.offsetHeight>0,o},$=e=>e.tabIndex>=0,ie=e=>{const o=e.target;return F(o)},F=e=>{var o;let n;if(e instanceof HTMLTableCellElement){const r=(o=e.parentElement)==null?void 0:o.previousElementSibling;if(r){const i=Array.from(r.children)[e.cellIndex];i&&(n=i)}}else if(e instanceof HTMLTableRowElement){const r=e.previousElementSibling;r&&(n=r)}return n&&(!$(n)||!T(n))?F(n):n},je=e=>{var o;const n=e.target;let r;if(n instanceof HTMLTableCellElement){const i=(o=n.parentElement)==null?void 0:o.parentElement;if(i){const c=i.firstElementChild,l=c==null?void 0:c.children[n.cellIndex];l&&(r=l)}}else if(n instanceof HTMLTableRowElement){const i=n.parentElement;if(i){const c=i.firstElementChild;c&&(r=c)}}return r&&(!$(r)||!T(r))?q(r):r},ce=e=>{const o=e.target;return q(o)},q=e=>{var o;let n;if(e instanceof HTMLTableCellElement){const r=(o=e.parentElement)==null?void 0:o.nextElementSibling;if(r){const i=Array.from(r.children)[e.cellIndex];i&&(n=i)}}else if(e instanceof HTMLTableRowElement){const r=e.nextElementSibling;r&&(n=r)}return n&&(!$(n)||!T(n))?q(n):n},Fe=e=>{var o;const n=e.target;let r;if(n instanceof HTMLTableCellElement){const i=(o=n.parentElement)==null?void 0:o.parentElement;if(i){const c=i.lastElementChild,l=c==null?void 0:c.children[n.cellIndex];l&&(r=l)}}else if(n instanceof HTMLTableRowElement){const i=n.parentElement;if(i){const c=i.lastElementChild;c&&(r=c)}}return r&&(!$(r)||!T(r))?F(r):r},de=e=>{const o=e.target;return Y(o)},Y=e=>{var o;let n;if(e.previousElementSibling)n=e.previousElementSibling;else{const r=(o=e.parentElement)==null?void 0:o.previousElementSibling;n=r==null?void 0:r.lastElementChild}return n&&(!$(n)||!T(n))?Y(n):n},fe=e=>{const o=e.target;return U(o)},U=e=>{var o;let n;if(e.nextElementSibling)n=e.nextElementSibling;else{const r=(o=e.parentElement)==null?void 0:o.nextElementSibling;n=r==null?void 0:r.firstElementChild}return n&&(!$(n)||!T(n))?U(n):n},ue=e=>{const o=e.target.parentElement,n=o==null?void 0:o.firstElementChild;return n&&(!$(n)||!T(n))?U(n):n},me=e=>{const o=e.target.parentElement,n=o==null?void 0:o.lastElementChild;return n&&(!$(n)||!T(n))?Y(n):n},W=["alt","control","shift","meta"],qe={ArrowUp:"up",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right"},X={"keydown.up":e=>{const o=ie(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.down":e=>{const o=ce(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.left":e=>{const o=de(e);e.preventDefault(),e.stopPropagation(),o&&o.focus()},"keydown.right":e=>{const o=fe(e);e.preventDefault(),e.stopPropagation(),o&&o.focus()},"keydown.control.up":e=>{const o=je(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.control.down":e=>{const o=Fe(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.control.left":e=>{const o=ue(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.control.right":e=>{const o=me(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.end":e=>{const o=me(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const o=ce(e);o&&o.focus()}},"keydown.shift.enter":e=>{if(e.target instanceof HTMLTableCellElement){e.preventDefault(),e.stopPropagation();const o=ie(e);o&&o.focus()}},"keydown.home":e=>{const o=ue(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.tab":e=>{const o=fe(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())},"keydown.shift.tab":e=>{const o=de(e);o&&(e.preventDefault(),e.stopPropagation(),o.focus())}};function G(e){const o=l=>{let a=null;return l.parent&&(typeof l.parent=="string"?a=document.querySelector(l.parent):l.parent instanceof HTMLElement?a=l.parent:a=l.parent.value),a},n=l=>{var a;const u=o(l);let s=[];if(typeof l.selectors=="string")s=u?Array.from(u.querySelectorAll(l.selectors)):Array.from(document.querySelectorAll(l.selectors));else if(Array.isArray(l.selectors))for(const d of l.selectors)d instanceof HTMLElement?s.push(d):s.push(d.$el);else if(l.selectors instanceof HTMLElement)s.push(l.selectors);else if((a=l.selectors)!=null&&a.value)if(Array.isArray(l.selectors.value))for(const d of l.selectors.value)d instanceof HTMLElement?s.push(d):s.push(d.$el);else s.push(l.selectors.value);return s},r=l=>{const a=o(l);let u=[];return l.selectors?u=n(l):a&&(u=Array.from(a.children).filter(s=>$(s)&&T(s))),u},i=l=>a=>{const u=qe[a.key]||a.key.toLowerCase();if(W.includes(u))return;const s=l.handlers||X;for(const d of Object.keys(s)){const[f,...m]=d.split(".");if(f==="keydown"&&m.includes(u)){const p=s[d],y=m.filter(b=>W.includes(b)),g=W.some(b=>{const w=b.charAt(0).toUpperCase()+b.slice(1);return a.getModifierState(w)});if(y.length>0){if(g){for(const b of W)if(m.includes(b)){const w=b.charAt(0).toUpperCase()+b.slice(1);a.getModifierState(w)&&p(a)}}}else g||p(a)}}},c=[];t.onMounted(()=>{for(const l of e){const a=o(l),u=r(l),s=i(l),d=a?[a]:u;for(const f of d){const{focused:m}=He(t.ref(f)),p=t.watch(m,y=>{y?f.addEventListener("keydown",s):f.removeEventListener("keydown",s)});c.push(p)}}}),t.onBeforeUnmount(()=>{for(const l of c)l()})}function D(e){return t.getCurrentScope()?(t.onScopeDispose(e),!0):!1}function I(e){return typeof e=="function"?e():t.unref(e)}const J=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ye=e=>e!=null,Ue=Object.prototype.toString,pe=e=>Ue.call(e)==="[object Object]",M=()=>{},Q=Xe();function Xe(){var e,o;return J&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((o=window==null?void 0:window.navigator)==null?void 0:o.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Ge(e){return t.getCurrentInstance()}function Je(...e){if(e.length!==1)return t.toRef(...e);const o=e[0];return typeof o=="function"?t.readonly(t.customRef(()=>({get:o,set:M}))):t.ref(o)}function Qe(e,o=!0,n){Ge()?t.onMounted(e,n):o?e():t.nextTick(e)}const H=J?window:void 0;function B(e){var o;const n=I(e);return(o=n==null?void 0:n.$el)!=null?o:n}function Z(...e){let o,n,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,i]=e,o=H):[o,n,r,i]=e,!o)return M;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const c=[],l=()=>{c.forEach(d=>d()),c.length=0},a=(d,f,m,p)=>(d.addEventListener(f,m,p),()=>d.removeEventListener(f,m,p)),u=t.watch(()=>[B(o),I(i)],([d,f])=>{if(l(),!d)return;const m=pe(f)?{...f}:f;c.push(...n.flatMap(p=>r.map(y=>a(d,p,y,m))))},{immediate:!0,flush:"post"}),s=()=>{u(),l()};return D(s),s}function Ze(){const e=t.ref(!1),o=t.getCurrentInstance();return o&&t.onMounted(()=>{e.value=!0},o),e}function be(e){const o=Ze();return t.computed(()=>(o.value,!!e()))}function ge(e,o,n={}){const{window:r=H,...i}=n;let c;const l=be(()=>r&&"MutationObserver"in r),a=()=>{c&&(c.disconnect(),c=void 0)},u=t.computed(()=>{const m=I(e),p=(Array.isArray(m)?m:[m]).map(B).filter(Ye);return new Set(p)}),s=t.watch(()=>u.value,m=>{a(),l.value&&m.size&&(c=new MutationObserver(o),m.forEach(p=>c.observe(p,i)))},{immediate:!0,flush:"post"}),d=()=>c==null?void 0:c.takeRecords(),f=()=>{s(),a()};return D(f),{isSupported:l,stop:f,takeRecords:d}}function Ke(e,o,n={}){const{window:r=H,...i}=n;let c;const l=be(()=>r&&"ResizeObserver"in r),a=()=>{c&&(c.disconnect(),c=void 0)},u=t.computed(()=>{const f=I(e);return Array.isArray(f)?f.map(m=>B(m)):[B(f)]}),s=t.watch(u,f=>{if(a(),l.value&&r){c=new ResizeObserver(o);for(const m of f)m&&c.observe(m,i)}},{immediate:!0,flush:"post"}),d=()=>{a(),s()};return D(d),{isSupported:l,stop:d}}function he(e,o={}){const{reset:n=!0,windowResize:r=!0,windowScroll:i=!0,immediate:c=!0,updateTiming:l="sync"}=o,a=t.ref(0),u=t.ref(0),s=t.ref(0),d=t.ref(0),f=t.ref(0),m=t.ref(0),p=t.ref(0),y=t.ref(0);function g(){const w=B(e);if(!w){n&&(a.value=0,u.value=0,s.value=0,d.value=0,f.value=0,m.value=0,p.value=0,y.value=0);return}const v=w.getBoundingClientRect();a.value=v.height,u.value=v.bottom,s.value=v.left,d.value=v.right,f.value=v.top,m.value=v.width,p.value=v.x,y.value=v.y}function b(){l==="sync"?g():l==="next-frame"&&requestAnimationFrame(()=>g())}return Ke(e,b),t.watch(()=>B(e),w=>!w&&b()),ge(e,b,{attributeFilter:["style","class"]}),i&&Z("scroll",b,{capture:!0,passive:!0}),r&&Z("resize",b,{passive:!0}),Qe(()=>{c&&b()}),{height:a,bottom:u,left:s,right:d,top:f,width:m,x:p,y,update:b}}function _e(e={}){const{window:o=H,behavior:n="auto"}=e;if(!o)return{x:t.ref(0),y:t.ref(0)};const r=t.ref(o.scrollX),i=t.ref(o.scrollY),c=t.computed({get(){return r.value},set(a){scrollTo({left:a,behavior:n})}}),l=t.computed({get(){return i.value},set(a){scrollTo({top:a,behavior:n})}});return Z(o,"scroll",()=>{r.value=o.scrollX,i.value=o.scrollY},{capture:!1,passive:!0}),{x:c,y:l}}const et=e=>{const o=new DOMParser().parseFromString(e,"text/html");return Array.from(o.body.childNodes).some(n=>n.nodeType===1)},tt=(e=8)=>Array.from({length:e},()=>Math.floor(Math.random()*16).toString(16)).join(""),ot=["data-colindex","data-rowindex","data-editable","contenteditable","tabindex"],nt=["innerHTML"],rt={key:2},K=t.defineComponent({__name:"ACell",props:{colIndex:{},rowIndex:{},store:{},addNavigation:{type:[Boolean,Object],default:!0},tabIndex:{default:0},pinned:{type:Boolean}},emits:["cellInput"],setup(e,{emit:o}){const n=o,r=t.useTemplateRef("cell"),i=e.store.getCellData(e.colIndex,e.rowIndex),c=t.ref(""),l=t.ref(!1),a=e.store.columns[e.colIndex],u=e.store.rows[e.rowIndex],s=a.align||"center",d=a.width||"40ch",f=t.computed(()=>e.store.getCellDisplayValue(e.colIndex,e.rowIndex)),m=t.computed(()=>typeof f.value=="string"?et(f.value):!1),p=t.computed(()=>{var w;return{textAlign:s,width:d,backgroundColor:l.value?"var(--sc-cell-changed-color)":"inherit",fontWeight:l.value?"bold":"inherit",paddingLeft:e.store.getIndent(e.colIndex,(w=e.store.display[e.rowIndex])==null?void 0:w.indent)}}),y=()=>{const{left:w,bottom:v,width:z,height:le}=he(r);a.mask,a.modalComponent&&e.store.$patch(S=>{S.modal.visible=!0,S.modal.colIndex=e.colIndex,S.modal.rowIndex=e.rowIndex,S.modal.left=w,S.modal.bottom=v,S.modal.width=z,S.modal.height=le,typeof a.modalComponent=="function"?S.modal.component=a.modalComponent({table:S.table,row:u,column:a}):S.modal.component=a.modalComponent,S.modal.componentProps=a.modalComponentExtraProps})};if(e.addNavigation){let w={...X,"keydown.f2":y,"keydown.alt.up":y,"keydown.alt.down":y,"keydown.alt.left":y,"keydown.alt.right":y};typeof e.addNavigation=="object"&&(w={...w,...e.addNavigation}),G([{selectors:r,handlers:w}])}const g=()=>{r.value&&(c.value=r.value.textContent)},b=w=>{const v=w.target;v.textContent!==c.value&&(n("cellInput",e.colIndex,e.rowIndex,v.textContent,c.value),c.value=v.textContent,a.format?(l.value=v.textContent!==e.store.getFormattedValue(e.colIndex,e.rowIndex,i),e.store.setCellText(e.colIndex,e.rowIndex,v.textContent)):(l.value=v.textContent!==i,e.store.setCellData(e.colIndex,e.rowIndex,v.textContent)))};return(w,v)=>(t.openBlock(),t.createElementBlock("td",{ref:"cell","data-colindex":w.colIndex,"data-rowindex":w.rowIndex,"data-editable":t.unref(a).edit,contenteditable:t.unref(a).edit,tabindex:w.tabIndex,spellcheck:!1,style:t.normalizeStyle(p.value),onFocus:g,onPaste:b,onInput:b,onClick:y,class:t.normalizeClass(["atable-cell",w.pinned?"sticky-column":""])},[t.unref(a).cellComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(a).cellComponent),t.mergeProps({key:0,value:f.value},t.unref(a).cellComponentProps),null,16,["value"])):m.value?(t.openBlock(),t.createElementBlock("span",{key:1,innerHTML:f.value},null,8,nt)):(t.openBlock(),t.createElementBlock("span",rt,t.toDisplayString(f.value),1))],46,ot))}}),lt=["tabindex"],at=["tabindex"],st=["colspan"],we=t.defineComponent({__name:"AExpansionRow",props:{rowIndex:{},store:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object]}},setup(e){const o=t.useTemplateRef("rowEl"),n=t.computed(()=>e.store.display[e.rowIndex].expanded?"▼":"►");if(e.addNavigation){const r={"keydown.control.g":i=>{i.stopPropagation(),i.preventDefault(),e.store.toggleRowExpand(e.rowIndex)}};typeof e.addNavigation=="object"&&Object.assign(r,e.addNavigation),G([{selectors:o,handlers:r}])}return(r,i)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("tr",t.mergeProps(r.$attrs,{ref:"rowEl",tabindex:r.tabIndex,class:"expandable-row"}),[t.createElementVNode("td",{tabIndex:-1,onClick:i[0]||(i[0]=c=>r.store.toggleRowExpand(r.rowIndex)),class:"row-index"},t.toDisplayString(n.value),1),t.renderSlot(r.$slots,"row")],16,lt),r.store.display[r.rowIndex].expanded?(t.openBlock(),t.createElementBlock("tr",{key:0,ref:"rowExpanded",tabindex:r.tabIndex,class:"expanded-row"},[t.createElementVNode("td",{tabIndex:-1,colspan:r.store.columns.length+1,class:"expanded-row-content"},[t.renderSlot(r.$slots,"content")],8,st)],8,at)):t.createCommentVNode("",!0)],64))}}),it=["tabindex"],_=t.defineComponent({__name:"ARow",props:{rowIndex:{},store:{},tabIndex:{default:()=>-1},addNavigation:{type:[Boolean,Object],default:!1}},setup(e){const o=t.useTemplateRef("rowEl"),n=t.computed(()=>e.store.isRowVisible(e.rowIndex)),r=t.computed(()=>e.store.getRowExpandSymbol(e.rowIndex));if(e.addNavigation){let i=X;typeof e.addNavigation=="object"&&(i={...i,...e.addNavigation}),G([{selectors:o,handlers:i}])}return(i,c)=>t.withDirectives((t.openBlock(),t.createElementBlock("tr",{ref:"rowEl",tabindex:i.tabIndex,class:"table-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.config.view==="tree"?(t.openBlock(),t.createElementBlock("td",{key:1,tabIndex:-1,class:t.normalizeClass(["tree-index",i.store.hasPinnedColumns?"sticky-index":""]),onClick:c[0]||(c[0]=l=>i.store.toggleRowExpand(i.rowIndex))},t.toDisplayString(r.value),3)):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(i.$slots,"default")],8,it)),[[t.vShow,n.value]])}}),ye=J?window:void 0;function P(e){var o;const n=I(e);return(o=n==null?void 0:n.$el)!=null?o:n}function V(...e){let o,n,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,i]=e,o=ye):[o,n,r,i]=e,!o)return M;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const c=[],l=()=>{c.forEach(d=>d()),c.length=0},a=(d,f,m,p)=>(d.addEventListener(f,m,p),()=>d.removeEventListener(f,m,p)),u=t.watch(()=>[P(o),I(i)],([d,f])=>{if(l(),!d)return;const m=pe(f)?{...f}:f;c.push(...n.flatMap(p=>r.map(y=>a(d,p,y,m))))},{immediate:!0,flush:"post"}),s=()=>{u(),l()};return D(s),s}let xe=!1;function ve(e,o,n={}){const{window:r=ye,ignore:i=[],capture:c=!0,detectIframe:l=!1}=n;if(!r)return M;Q&&!xe&&(xe=!0,Array.from(r.document.body.children).forEach(g=>g.addEventListener("click",M)),r.document.documentElement.addEventListener("click",M));let a=!0;const u=g=>I(i).some(b=>{if(typeof b=="string")return Array.from(r.document.querySelectorAll(b)).some(w=>w===g.target||g.composedPath().includes(w));{const w=P(b);return w&&(g.target===w||g.composedPath().includes(w))}});function s(g){const b=I(g);return b&&b.$.subTree.shapeFlag===16}function d(g,b){const w=I(g),v=w.$.subTree&&w.$.subTree.children;return v==null||!Array.isArray(v)?!1:v.some(z=>z.el===b.target||b.composedPath().includes(z.el))}const f=g=>{const b=P(e);if(g.target!=null&&!(!(b instanceof Element)&&s(e)&&d(e,g))&&!(!b||b===g.target||g.composedPath().includes(b))){if(g.detail===0&&(a=!u(g)),!a){a=!0;return}o(g)}};let m=!1;const p=[V(r,"click",g=>{m||(m=!0,setTimeout(()=>{m=!1},0),f(g))},{passive:!0,capture:c}),V(r,"pointerdown",g=>{const b=P(e);a=!u(g)&&!!(b&&!g.composedPath().includes(b))},{passive:!0}),l&&V(r,"blur",g=>{setTimeout(()=>{var b;const w=P(e);((b=r.document.activeElement)==null?void 0:b.tagName)==="IFRAME"&&!(w!=null&&w.contains(r.document.activeElement))&&o(g)},0)})].filter(Boolean);return()=>p.forEach(g=>g())}const ct={mounted(e,o){const n=!o.modifiers.bubble;if(typeof o.value=="function")e.__onClickOutside_stop=ve(e,o.value,{capture:n});else{const[r,i]=o.value;e.__onClickOutside_stop=ve(e,r,Object.assign({capture:n},i))}},unmounted(e){e.__onClickOutside_stop()}};function ee(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function ke(e){const o=window.getComputedStyle(e);if(o.overflowX==="scroll"||o.overflowY==="scroll"||o.overflowX==="auto"&&e.clientWidth<e.scrollWidth||o.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!n||n.tagName==="BODY"?!1:ke(n)}}function dt(e){const o=e||window.event,n=o.target;return ke(n)?!1:o.touches.length>1?!0:(o.preventDefault&&o.preventDefault(),!1)}const te=new WeakMap;function ft(e,o=!1){const n=t.ref(o);let r=null,i="";t.watch(Je(e),a=>{const u=ee(I(a));if(u){const s=u;if(te.get(s)||te.set(s,s.style.overflow),s.style.overflow!=="hidden"&&(i=s.style.overflow),s.style.overflow==="hidden")return n.value=!0;if(n.value)return s.style.overflow="hidden"}},{immediate:!0});const c=()=>{const a=ee(I(e));!a||n.value||(Q&&(r=V(a,"touchmove",u=>{dt(u)},{passive:!1})),a.style.overflow="hidden",n.value=!0)},l=()=>{const a=ee(I(e));!a||!n.value||(Q&&(r==null||r()),a.style.overflow=i,te.delete(a),n.value=!1)};return D(l),t.computed({get(){return n.value},set(a){a?c():l()}})}function ut(){let e=!1;const o=t.ref(!1);return(n,r)=>{if(o.value=r.value,e)return;e=!0;const i=ft(n,r.value);t.watch(o,c=>i.value=c)}}ut();const mt={key:0,id:"resizable"},pt={class:"atable-header-row",tabindex:"-1"},oe=t.defineComponent({__name:"ATableHeader",props:{columns:{},store:{}},setup(e){return(o,n)=>o.columns.length?(t.openBlock(),t.createElementBlock("thead",mt,[t.createElementVNode("tr",pt,[o.store.zeroColumn?(t.openBlock(),t.createElementBlock("th",{key:0,id:"header-index",class:t.normalizeClass([[o.store.hasPinnedColumns?"sticky-index":"",o.store.config.view==="tree"?"tree-index":"",o.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(o.columns,(r,i)=>(t.openBlock(),t.createElementBlock("th",{key:r.name,tabindex:"-1",style:t.normalizeStyle(o.store.getHeaderCellStyle(r)),class:t.normalizeClass(r.pinned?"sticky-column":"")},[t.renderSlot(o.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(r.label||String.fromCharCode(i+97).toUpperCase()),1)])],6))),128))])])):t.createCommentVNode("",!0)}}),ne=t.defineComponent({__name:"ATableModal",props:{store:{}},setup(e){const o=t.useTemplateRef("amodal"),{width:n,height:r}=he(o),{y:i}=_e(),c=t.computed(()=>{if(!(e.store.modal.height&&e.store.modal.width&&e.store.modal.left&&e.store.modal.bottom))return;const a=document.body,u=document.documentElement,s=Math.max(a.scrollHeight,a.offsetHeight,u.clientHeight,u.scrollHeight,u.offsetHeight),d=Math.max(a.scrollWidth,a.offsetWidth,u.clientWidth,u.scrollWidth,u.offsetWidth),f=e.store.modal.bottom+r.value+i.value<=s?e.store.modal.bottom:e.store.modal.bottom-r.value-e.store.modal.height;return{left:`${e.store.modal.left+n.value<=d?e.store.modal.left:e.store.modal.left-(n.value-e.store.modal.width)}px`,top:`${f}px`}}),l=a=>{a.stopPropagation()};return(a,u)=>(t.openBlock(),t.createElementBlock("div",{class:"amodal",ref:"amodal",tabindex:"-1",onClick:l,onInput:l,style:t.normalizeStyle(c.value)},[t.renderSlot(a.$slots,"default")],36))}}),Ee=e=>{const o=e.id||tt();return Te.defineStore(`table-${o}`,()=>{const r=()=>{const h={};for(const[x,k]of c.value.entries())for(const[C,A]of l.value.entries())h[`${x}:${C}`]=A[k.name];return h},i=h=>{const x=[Object.assign({},{rowModified:!1})];if(h&&"0:0"in h)return h;const k=new Set;for(let C=l.value.length-1;C>=0;C--){const A=l.value[C];A.parent&&k.add(A.parent),x[C]={childrenOpen:!1,expanded:!1,indent:A.indent||0,isParent:k.has(C),isRoot:A.parent===null||A.parent===void 0,rowModified:!1,open:A.parent===null||A.parent===void 0,parent:A.parent}}return x},c=t.ref(e.columns),l=t.ref(e.rows),a=t.ref(e.config||{}),u=t.ref(e.table||r()),s=t.ref(i(e.display)),d=t.ref(e.modal||{visible:!1}),f=t.ref({}),m=t.computed(()=>c.value.some(h=>h.pinned)),p=t.computed(()=>`${Math.ceil(l.value.length/100+1)}ch`),y=t.computed(()=>a.value.view?["list","tree","list-expansion"].includes(a.value.view):!1),g=(h,x)=>u.value[`${h}:${x}`],b=(h,x,k)=>{const C=`${h}:${x}`,A=c.value[h];u.value[C]!==k&&(s.value[x].rowModified=!0),u.value[C]=k,l.value[x][A.name]=k},w=(h,x,k)=>{const C=`${h}:${x}`;u.value[C]!==k&&(s.value[x].rowModified=!0,f.value[C]=k)},v=h=>({minWidth:h.width||"40ch",textAlign:h.align||"center",width:a.value.fullWidth?"auto":void 0}),z=h=>a.value.view!=="tree"||s.value[h].isRoot||s.value[h].open,le=h=>a.value.view!=="tree"?"":s.value[h].isRoot||s.value[h].isParent?s.value[h].childrenOpen?"-":"+":"",S=h=>{if(a.value.view==="tree"){s.value[h].childrenOpen=!s.value[h].childrenOpen;for(let x=l.value.length-1;x>=0;x--)s.value[x].parent===h&&(s.value[x].open=!s.value[x].open,s.value[x].childrenOpen&&S(x))}else a.value.view==="list-expansion"&&(s.value[h].expanded=!s.value[h].expanded)},At=(h,x)=>{const k=g(h,x);return Ie(h,x,k)},Ie=(h,x,k)=>{const C=c.value[h],A=l.value[x],N=C.format;return N?typeof N=="function"?N(k,{table:u.value,row:A,column:C}):typeof N=="string"?Function(`"use strict";return (${N})`)()(k,{table:u.value,row:A,column:C}):k:k};return{columns:c,config:a,display:s,modal:d,rows:l,table:u,updates:f,hasPinnedColumns:m,numberedRowWidth:p,zeroColumn:y,closeModal:h=>{var x;h.target instanceof Node&&(x=d.value.parent)!=null&&x.contains(h.target)||d.value.visible&&(d.value.visible=!1)},getCellData:g,getCellDisplayValue:At,getFormattedValue:Ie,getHeaderCellStyle:v,getIndent:(h,x)=>x&&h===0&&x>0?`${x}ch`:"inherit",getRowExpandSymbol:le,isRowVisible:z,setCellData:b,setCellText:w,toggleRowExpand:S}})()},bt=t.defineComponent({__name:"ATable",props:{id:{},modelValue:{},columns:{},rows:{default:()=>[]},config:{default:()=>new Object}},emits:["update:modelValue","cellUpdate"],setup(e,{expose:o,emit:n}){const r=n,i=t.useTemplateRef("table"),c=e.modelValue?e.modelValue:e.rows,l=Ee({columns:e.columns,rows:c,id:e.id,config:e.config});l.$onAction(({name:s,store:d,args:f,after:m})=>{if(s==="setCellData"){const[p,y,g]=f,b=d.getCellData(p,y);m(()=>{r("cellUpdate",p,y,g,b)})}}),t.watch(()=>l.rows,s=>{r("update:modelValue",s)},{deep:!0}),t.onMounted(()=>{e.columns.some(s=>s.pinned)&&(u(),l.config.view==="tree"&&ge(i,u,{childList:!0,subtree:!0}))});const a=(s,d,f,m)=>{r("cellUpdate",s,d,f,m)},u=()=>{const s=i.value,d=s==null?void 0:s.rows[0],f=s==null?void 0:s.rows[1],m=d?Array.from(d.cells):[];for(const[p,y]of m.entries()){const g=f==null?void 0:f.cells[p];g&&(y.style.width=`${g.offsetWidth}px`)}for(const p of(s==null?void 0:s.rows)||[]){let y=0;const g=[];for(const b of p.cells)(b.classList.contains("sticky-column")||b.classList.contains("sticky-index"))&&(b.style.left=`${y}px`,y+=b.offsetWidth,g.push(b));g.length>0&&g[g.length-1].classList.add("sticky-column-edge")}};return window.addEventListener("keydown",s=>{if(s.key==="Escape"&&l.modal.visible){l.modal.visible=!1;const d=l.modal.parent;d&&t.nextTick().then(()=>{d.focus()})}}),o({store:l}),(s,d)=>t.withDirectives((t.openBlock(),t.createElementBlock("table",{ref:"table",class:"atable",style:t.normalizeStyle({width:t.unref(l).config.fullWidth?"100%":"auto"})},[t.renderSlot(s.$slots,"header",{data:t.unref(l)},()=>[t.createVNode(oe,{columns:t.unref(l).columns,store:t.unref(l)},null,8,["columns","store"])],!0),t.createElementVNode("tbody",null,[t.renderSlot(s.$slots,"body",{data:t.unref(l)},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l).rows,(f,m)=>(t.openBlock(),t.createBlock(_,{key:f.id,row:f,rowIndex:m,store:t.unref(l)},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l).columns,(p,y)=>(t.openBlock(),t.createBlock(K,{key:p.name,store:t.unref(l),col:p,spellcheck:"false",pinned:p.pinned,rowIndex:m,colIndex:y,component:p.cellComponent,style:t.normalizeStyle({textAlign:(p==null?void 0:p.align)||"center",minWidth:(p==null?void 0:p.width)||"40ch",width:t.unref(l).config.fullWidth?"auto":null}),onCellInput:a},null,8,["store","col","pinned","rowIndex","colIndex","component","style"]))),128))]),_:2},1032,["row","rowIndex","store"]))),128))],!0)]),t.renderSlot(s.$slots,"footer",{data:t.unref(l)},void 0,!0),t.renderSlot(s.$slots,"modal",{data:t.unref(l)},()=>[t.withDirectives(t.createVNode(ne,{store:t.unref(l)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(l).modal.component),t.mergeProps({key:`${t.unref(l).modal.rowIndex}:${t.unref(l).modal.colIndex}`,colIndex:t.unref(l).modal.colIndex,rowIndex:t.unref(l).modal.rowIndex,store:t.unref(l)},t.unref(l).modal.componentProps),null,16,["colIndex","rowIndex","store"]))]),_:1},8,["store"]),[[t.vShow,t.unref(l).modal.visible]])],!0)],4)),[[t.unref(ct),t.unref(l).closeModal]])}}),re=(e,o)=>{const n=e.__vccOpts||e;for(const[r,i]of o)n[r]=i;return n},Ce=re(bt,[["__scopeId","data-v-bd5101d3"]]),gt={},ht={class:"aloading"},wt={class:"aloading-header"};function yt(e,o){return t.openBlock(),t.createElementBlock("div",ht,[t.createElementVNode("h2",wt,[t.renderSlot(e.$slots,"default",{},void 0,!0)]),o[0]||(o[0]=t.createElementVNode("div",{class:"aloading-bar"},null,-1))])}const Ae=re(gt,[["render",yt],["__scopeId","data-v-a930a25b"]]),xt={},vt={class:"aloading"},kt={class:"aloading-header"};function Et(e,o){return t.openBlock(),t.createElementBlock("div",vt,[t.createElementVNode("h2",kt,[t.renderSlot(e.$slots,"default",{},void 0,!0)]),o[0]||(o[0]=t.createElementVNode("div",{class:"aloading-bar"},null,-1))])}const Se=re(xt,[["render",Et],["__scopeId","data-v-e1165876"]]);function Ct(e){e.component("ACell",K),e.component("AExpansionRow",we),e.component("ARow",_),e.component("ATable",Ce),e.component("ATableHeader",oe),e.component("ATableLoading",Ae),e.component("ATableLoadingBar",Se),e.component("ATableModal",ne)}E.ACell=K,E.AExpansionRow=we,E.ARow=_,E.ATable=Ce,E.ATableHeader=oe,E.ATableLoading=Ae,E.ATableLoadingBar=Se,E.ATableModal=ne,E.createTableStore=Ee,E.install=Ct,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})});
|
|
3
3
|
//# sourceMappingURL=atable.umd.cjs.map
|