(function(g,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("ag-grid-community")):typeof define=="function"&&define.amd?define(["exports","vue","ag-grid-community"],t):(g=typeof globalThis<"u"?globalThis:g||self,t(g.AgGridVue={},g.Vue,g.agGrid))})(this,function(g,t,u){"use strict";var j=Object.defineProperty;var q=(g,t,u)=>t in g?j(g,t,{enumerable:!0,configurable:!0,writable:!0,value:u}):g[t]=u;var m=(g,t,u)=>q(g,typeof t!="symbol"?t+"":t,u);const B=class B{static getComponentDefinition(n,o){let e;return typeof n=="string"?e=this.searchForComponentInstance(o,n):e={extends:t.defineComponent({...n})},e||u._error(114,{component:n}),e.extends?(e.extends.setup&&(e.setup=e.extends.setup),e.extends.props=this.addParamsToProps(e.extends.props)):e.props=this.addParamsToProps(e.props),e}static addParamsToProps(n){return!n||Array.isArray(n)&&n.indexOf("params")===-1?n=["params",...n||[]]:typeof n=="object"&&!n.params&&(n.params={type:Object}),n}static createAndMountComponent(n,o,e,p){const l=B.getComponentDefinition(n,e);if(!l)return;const{vNode:r,destroy:a,el:i}=this.mount(l,{params:Object.freeze(o)},e,p||{});return{componentInstance:r.component.proxy,element:i,destroy:a}}static mount(n,o,e,p){let l=t.createVNode(n,o);l.appContext={...e.appContext,provides:p};let r=document.createDocumentFragment();return t.render(l,r),{vNode:l,destroy:()=>{r&&t.render(null,r),r=null,l=null},el:r}}static searchForComponentInstance(n,o,e=10,p=!1){let l=this.componentCache.get(n);if(l){const d=l.get(o);if(d!==void 0)return d}let r=null,a=0,i=n.parent;for(;!r&&i&&i.components&&++a{let o;const e=()=>{window.clearTimeout(o),o=window.setTimeout(c,n)};return e.cancel=()=>{window.clearTimeout(o)},e};function G(c){if(!c||typeof c!="object"||Array.isArray(c))return!1;const n=Object.getPrototypeOf(c);return n!==null&&n!==Object.prototype}function R(c){if(c==null||typeof c!="object")return c;const n=new WeakSet,o=e=>{if(e==null||typeof e!="object")return e;if(t.isRef(e))return o(e.value);if(t.isReactive(e)||t.isProxy(e))return o(t.toRaw(e));if(G(e))return t.toRaw(e);if(Array.isArray(e)){let r=!1;for(let a=0;ao(a)):e}if(n.has(e))return e;n.add(e);const p=Object.keys(e),l={};for(let r=0;rs!="gridOptions").forEach(s=>{const v=F[s];v&&t.watch(v,(y,h)=>{(s==="rowData"&&!S.value||s!=="rowData")&&M(s,y),s==="rowData"&&(S.value=!1)},D.has(s)?void 0:{deep:!0})});const w=new Set(["rowDataUpdated","cellValueChanged","rowValueChanged"]),T=t.useModel(c,"modelValue"),b=t.shallowRef(!1),S=t.shallowRef(!1),z=o;t.watch(T,(s,v)=>{r.value&&(S.value||(b.value=!0,M("rowData",R(s),R(v))),S.value=!1)},{deep:!0});const O=I(()=>{S.value=!0,z("update:modelValue",_())},10),P=t.getCurrentInstance(),W=s=>{var v,y;i.value&&w.has(s)&&(y=(v=P==null?void 0:P.vnode)==null?void 0:v.props)!=null&&y["onUpdate:modelValue"]&&O()},N=()=>T.value||e.rowData||e.gridOptions.rowData,_=()=>{const s=[];return l==null||l.value.forEachLeafNode(v=>{s.push(v.data)}),s},x=s=>v=>{if(a.value)return;v==="gridReady"&&(i.value=!0);const y=u.ALWAYS_SYNC_GLOBAL_EVENTS.has(v);y&&!s||!y&&s||w.has(v)&&(!b.value&&r.value&&W(v),b.value=!1)},M=(s,v,y)=>{if(r.value){let h=v;s==="rowData"&&h!=null&&(h=R(h)),d[s]=h,C||(C=!0,queueMicrotask(()=>{C=!1,!a.value&&l.value&&u._processOnChange(d,l.value),d={}}))}},U=()=>Object.create(t.getCurrentInstance().provides);return t.onMounted(()=>{u._registerModule(u.RowApiModule,void 0,!0);const s=new A(t.getCurrentInstance(),U()),v={globalListener:x(),globalSyncListener:x(!0),frameworkOverrides:new k(t.getCurrentInstance()),providedBeanInstances:{frameworkCompWrapper:s},modules:e.modules},y=t.markRaw(u._combineAttributesAndGridOptions(R(e.gridOptions),e,[...u._GET_ALL_GRID_OPTIONS(),...Object.values(u._PUBLIC_EVENT_HANDLERS_MAP)])),h=N();h!==void 0&&(b.value=!0,y.rowData=R(h)),l.value=u.createGrid(p.value,y,v),r.value=!0}),t.onUnmounted(()=>{var s;r.value&&(O.cancel(),(s=l==null?void 0:l.value)==null||s.destroy(),a.value=!0)}),n({api:l}),(s,v)=>(t.openBlock(),t.createElementBlock("div",V,null,512))}});g.AgGridVue=L,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});