@oneclick.dev/cms-core-modules 0.0.122 → 0.0.123

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.
Files changed (72) hide show
  1. package/dist/{ContentEditor-CoJjsV-m.js → ContentEditor-C-Wm48ai.js} +63 -59
  2. package/dist/{ContentEditor-DIwqplfB.mjs → ContentEditor-MDGolnIP.mjs} +27596 -26138
  3. package/dist/{NewReservationDialog.vue_vue_type_script_setup_true_lang-bZidw6RT.mjs → NewReservationDialog.vue_vue_type_script_setup_true_lang-8I_Z9cD_.mjs} +530 -530
  4. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BVE_uURZ.js +1 -0
  5. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-BdFa-xNf.mjs +3566 -0
  6. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-DzPOadcU.js +925 -0
  7. package/dist/TableCalculationWidget-CkQPrVUd.js +59 -0
  8. package/dist/TableCalculationWidget-CrqcLGfU.mjs +254 -0
  9. package/dist/TableDataWidget-7qvC3Egd.js +1 -0
  10. package/dist/TableDataWidget-DMTSoGRO.mjs +121 -0
  11. package/dist/TableOverviewCard-AFq-puJs.js +1 -0
  12. package/dist/TableOverviewCard-Ci0d4o4w.mjs +391 -0
  13. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-CBn-Oxl9.mjs +534 -0
  14. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C_Lv-SmJ.js +1 -0
  15. package/dist/TableRowActionCard-BhdnnPaq.mjs +266 -0
  16. package/dist/TableRowActionCard-IzB6tNN-.js +1 -0
  17. package/dist/TableView-BkwoKREo.js +4 -0
  18. package/dist/TableView-C4Zyp8d7.mjs +8228 -0
  19. package/dist/{agenda-BCKDYOeF.mjs → agenda-DWdbWUbb.mjs} +10 -9
  20. package/dist/agenda-r9Gl85GL.js +1 -0
  21. package/dist/dateRangePresets-B-l5b_wR.mjs +48 -0
  22. package/dist/dateRangePresets-CPWqst_x.js +1 -0
  23. package/dist/fuse-Deb-Iq39.mjs +1473 -0
  24. package/dist/fuse-_CGUd5Zq.js +1 -0
  25. package/dist/{index-DU3Ib10Z.mjs → index-B_qaX29C.mjs} +7 -6
  26. package/dist/{index-Bk3yLv_G.js → index-yHLT6gaZ.js} +3 -3
  27. package/dist/index.cjs.js +1 -1
  28. package/dist/index.mjs +419 -109
  29. package/dist/{orders-CElKNc1v.mjs → orders-BfTLIm7U.mjs} +10 -9
  30. package/dist/orders-DUa2PVoa.js +1 -0
  31. package/dist/reports-ChCsd1Gk.mjs +1107 -0
  32. package/dist/reports-DmJPm8uP.js +158 -0
  33. package/dist/row-item-C1dUyimV.mjs +204 -0
  34. package/dist/row-item-Cyo3m3MZ.js +1 -0
  35. package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +9 -3
  36. package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +2 -0
  37. package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +4 -2
  38. package/dist/src/appointments/components/edit/dashboard/BookingsList.vue.d.ts +9 -3
  39. package/dist/src/appointments/pages/edit/orders.vue.d.ts +9 -3
  40. package/dist/src/appointments/pages/edit/reports.vue.d.ts +229 -1
  41. package/dist/src/table/chat-components/TableCalculationWidget.vue.d.ts +15 -0
  42. package/dist/src/table/chat-components/TableDataWidget.vue.d.ts +15 -0
  43. package/dist/src/table/chat-components/TableOverviewCard.vue.d.ts +61 -0
  44. package/dist/src/table/chat-components/TableResultView.vue.d.ts +48 -0
  45. package/dist/src/table/chat-components/TableRowActionCard.vue.d.ts +15 -0
  46. package/dist/src/table/components/filters/DialogTableFilterOptionItem.vue.d.ts +16 -0
  47. package/dist/src/table/components/filters/NumberComparisonFilter.vue.d.ts +12 -0
  48. package/dist/src/table/components/filters/NumberComparisonFilterSettings.vue.d.ts +12 -0
  49. package/dist/src/table/components/filters/NumberRangeFilter.vue.d.ts +12 -0
  50. package/dist/src/table/components/filters/NumberRangeFilterSettings.vue.d.ts +12 -0
  51. package/dist/src/table/components/filters/filter-utils.d.ts +14 -0
  52. package/dist/src/table/composables/useTableAgentTools.d.ts +33 -0
  53. package/dist/src/table/index.d.ts +339 -0
  54. package/dist/src/table/tool-sandbox.d.ts +13 -0
  55. package/dist/src/table/tool-utils.d.ts +11 -0
  56. package/dist/src/table/tools.d.ts +333 -1
  57. package/dist/src/table/types.d.ts +79 -0
  58. package/dist/tool-sandbox-DdkMLkDK.mjs +182 -0
  59. package/dist/tool-sandbox-DoF1PsyS.js +115 -0
  60. package/dist/useTableAgentTools-D5mzGf3A.js +1 -0
  61. package/dist/useTableAgentTools-DcN3kYRL.mjs +131 -0
  62. package/package.json +17 -17
  63. package/src/table/tools.ts +304 -1
  64. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BdZbcubW.js +0 -1
  65. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-BYSeUW_V.js +0 -925
  66. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-DwAUYR8p.mjs +0 -5021
  67. package/dist/TableView-Ctnep-Qu.mjs +0 -6247
  68. package/dist/TableView-DJqyJL9L.js +0 -4
  69. package/dist/agenda-B54F8cEr.js +0 -1
  70. package/dist/orders-BMosTk6r.js +0 -1
  71. package/dist/reports-BQT_GZzU.js +0 -158
  72. package/dist/reports-DksZCTOw.mjs +0 -837
@@ -1,4 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),Y=require("@oneclick.dev/cms-kit"),Q=require("./utils-Yd6F5mea.js"),j=require("lucide-vue-next"),dt=require("@oneclick.dev/cms-kit/components"),ct=require("./interpolation-CHn59tIC.js"),pe=require("@oneclick.dev/cms-kit/flow-builder"),pt=require("@formkit/drag-and-drop"),gt=require("./index-CxETuRsG.js"),J=require("./DateFormatter-CSAbE3BC.js"),mt=require("./_plugin-vue_export-helper-BHFhmbuH.js");function de(t,l){return typeof t=="function"?t(l):t}function Z(t,l){return n=>{l.setState(o=>({...o,[t]:de(n,o[t])}))}}function ke(t){return t instanceof Function}function ft(t){return Array.isArray(t)&&t.every(l=>typeof l=="number")}function vt(t,l){const n=[],o=r=>{r.forEach(a=>{n.push(a);const u=l(a);u!=null&&u.length&&o(u)})};return o(t),n}function I(t,l,n){let o=[],r;return a=>{let u;n.key&&n.debug&&(u=Date.now());const s=t(a);if(!(s.length!==o.length||s.some((f,w)=>o[w]!==f)))return r;o=s;let g;if(n.key&&n.debug&&(g=Date.now()),r=l(...s),n==null||n.onChange==null||n.onChange(r),n.key&&n.debug&&n!=null&&n.debug()){const f=Math.round((Date.now()-u)*100)/100,w=Math.round((Date.now()-g)*100)/100,p=w/16,i=(c,m)=>{for(c=String(c);c.length<m;)c=" "+c;return c};console.info(`%c⏱ ${i(w,5)} /${i(f,5)} ms`,`
2
- font-size: .6rem;
3
- font-weight: bold;
4
- color: hsl(${Math.max(0,Math.min(120-120*p,120))}deg 100% 31%);`,n?.key)}return r}}function A(t,l,n,o){return{debug:()=>{var r;return(r=t?.debugAll)!=null?r:t[l]},key:process.env.NODE_ENV==="development"&&n,onChange:o}}function Ct(t,l,n,o){const r=()=>{var u;return(u=a.getValue())!=null?u:t.options.renderFallbackValue},a={id:`${l.id}_${n.id}`,row:l,column:n,getValue:()=>l.getValue(o),renderValue:r,getContext:I(()=>[t,n,l,a],(u,s,d,g)=>({table:u,column:s,row:d,cell:g,getValue:g.getValue,renderValue:g.renderValue}),A(t.options,"debugCells","cell.getContext"))};return t._features.forEach(u=>{u.createCell==null||u.createCell(a,n,l,t)},{}),a}function xt(t,l,n,o){var r,a;const s={...t._getDefaultColumnDef(),...l},d=s.accessorKey;let g=(r=(a=s.id)!=null?a:d?typeof String.prototype.replaceAll=="function"?d.replaceAll(".","_"):d.replace(/\./g,"_"):void 0)!=null?r:typeof s.header=="string"?s.header:void 0,f;if(s.accessorFn?f=s.accessorFn:d&&(d.includes(".")?f=p=>{let i=p;for(const m of d.split(".")){var c;i=(c=i)==null?void 0:c[m],process.env.NODE_ENV!=="production"&&i===void 0&&console.warn(`"${m}" in deeply nested key "${d}" returned undefined.`)}return i}:f=p=>p[s.accessorKey]),!g)throw process.env.NODE_ENV!=="production"?new Error(s.accessorFn?"Columns require an id when using an accessorFn":"Columns require an id when using a non-string header"):new Error;let w={id:`${String(g)}`,accessorFn:f,parent:o,depth:n,columnDef:s,columns:[],getFlatColumns:I(()=>[!0],()=>{var p;return[w,...(p=w.columns)==null?void 0:p.flatMap(i=>i.getFlatColumns())]},A(t.options,"debugColumns","column.getFlatColumns")),getLeafColumns:I(()=>[t._getOrderColumnsFn()],p=>{var i;if((i=w.columns)!=null&&i.length){let c=w.columns.flatMap(m=>m.getLeafColumns());return p(c)}return[w]},A(t.options,"debugColumns","column.getLeafColumns"))};for(const p of t._features)p.createColumn==null||p.createColumn(w,t);return w}const W="debugHeaders";function Ye(t,l,n){var o;let a={id:(o=n.id)!=null?o:l.id,column:l,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],s=d=>{d.subHeaders&&d.subHeaders.length&&d.subHeaders.map(s),u.push(d)};return s(a),u},getContext:()=>({table:t,header:a,column:l})};return t._features.forEach(u=>{u.createHeader==null||u.createHeader(a,t)}),a}const wt={createTable:t=>{t.getHeaderGroups=I(()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right],(l,n,o,r)=>{var a,u;const s=(a=o?.map(w=>n.find(p=>p.id===w)).filter(Boolean))!=null?a:[],d=(u=r?.map(w=>n.find(p=>p.id===w)).filter(Boolean))!=null?u:[],g=n.filter(w=>!(o!=null&&o.includes(w.id))&&!(r!=null&&r.includes(w.id)));return Se(l,[...s,...g,...d],t)},A(t.options,W,"getHeaderGroups")),t.getCenterHeaderGroups=I(()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right],(l,n,o,r)=>(n=n.filter(a=>!(o!=null&&o.includes(a.id))&&!(r!=null&&r.includes(a.id))),Se(l,n,t,"center")),A(t.options,W,"getCenterHeaderGroups")),t.getLeftHeaderGroups=I(()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left],(l,n,o)=>{var r;const a=(r=o?.map(u=>n.find(s=>s.id===u)).filter(Boolean))!=null?r:[];return Se(l,a,t,"left")},A(t.options,W,"getLeftHeaderGroups")),t.getRightHeaderGroups=I(()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.right],(l,n,o)=>{var r;const a=(r=o?.map(u=>n.find(s=>s.id===u)).filter(Boolean))!=null?r:[];return Se(l,a,t,"right")},A(t.options,W,"getRightHeaderGroups")),t.getFooterGroups=I(()=>[t.getHeaderGroups()],l=>[...l].reverse(),A(t.options,W,"getFooterGroups")),t.getLeftFooterGroups=I(()=>[t.getLeftHeaderGroups()],l=>[...l].reverse(),A(t.options,W,"getLeftFooterGroups")),t.getCenterFooterGroups=I(()=>[t.getCenterHeaderGroups()],l=>[...l].reverse(),A(t.options,W,"getCenterFooterGroups")),t.getRightFooterGroups=I(()=>[t.getRightHeaderGroups()],l=>[...l].reverse(),A(t.options,W,"getRightFooterGroups")),t.getFlatHeaders=I(()=>[t.getHeaderGroups()],l=>l.map(n=>n.headers).flat(),A(t.options,W,"getFlatHeaders")),t.getLeftFlatHeaders=I(()=>[t.getLeftHeaderGroups()],l=>l.map(n=>n.headers).flat(),A(t.options,W,"getLeftFlatHeaders")),t.getCenterFlatHeaders=I(()=>[t.getCenterHeaderGroups()],l=>l.map(n=>n.headers).flat(),A(t.options,W,"getCenterFlatHeaders")),t.getRightFlatHeaders=I(()=>[t.getRightHeaderGroups()],l=>l.map(n=>n.headers).flat(),A(t.options,W,"getRightFlatHeaders")),t.getCenterLeafHeaders=I(()=>[t.getCenterFlatHeaders()],l=>l.filter(n=>{var o;return!((o=n.subHeaders)!=null&&o.length)}),A(t.options,W,"getCenterLeafHeaders")),t.getLeftLeafHeaders=I(()=>[t.getLeftFlatHeaders()],l=>l.filter(n=>{var o;return!((o=n.subHeaders)!=null&&o.length)}),A(t.options,W,"getLeftLeafHeaders")),t.getRightLeafHeaders=I(()=>[t.getRightFlatHeaders()],l=>l.filter(n=>{var o;return!((o=n.subHeaders)!=null&&o.length)}),A(t.options,W,"getRightLeafHeaders")),t.getLeafHeaders=I(()=>[t.getLeftHeaderGroups(),t.getCenterHeaderGroups(),t.getRightHeaderGroups()],(l,n,o)=>{var r,a,u,s,d,g;return[...(r=(a=l[0])==null?void 0:a.headers)!=null?r:[],...(u=(s=n[0])==null?void 0:s.headers)!=null?u:[],...(d=(g=o[0])==null?void 0:g.headers)!=null?d:[]].map(f=>f.getLeafHeaders()).flat()},A(t.options,W,"getLeafHeaders"))}};function Se(t,l,n,o){var r,a;let u=0;const s=function(p,i){i===void 0&&(i=1),u=Math.max(u,i),p.filter(c=>c.getIsVisible()).forEach(c=>{var m;(m=c.columns)!=null&&m.length&&s(c.columns,i+1)},0)};s(t);let d=[];const g=(p,i)=>{const c={depth:i,id:[o,`${i}`].filter(Boolean).join("_"),headers:[]},m=[];p.forEach(k=>{const C=[...m].reverse()[0],S=k.column.depth===c.depth;let V,h=!1;if(S&&k.column.parent?V=k.column.parent:(V=k.column,h=!0),C&&C?.column===V)C.subHeaders.push(k);else{const b=Ye(n,V,{id:[o,i,V.id,k?.id].filter(Boolean).join("_"),isPlaceholder:h,placeholderId:h?`${m.filter(R=>R.column===V).length}`:void 0,depth:i,index:m.length});b.subHeaders.push(k),m.push(b)}c.headers.push(k),k.headerGroup=c}),d.push(c),i>0&&g(m,i-1)},f=l.map((p,i)=>Ye(n,p,{depth:u,index:i}));g(f,u-1),d.reverse();const w=p=>p.filter(c=>c.column.getIsVisible()).map(c=>{let m=0,k=0,C=[0];c.subHeaders&&c.subHeaders.length?(C=[],w(c.subHeaders).forEach(V=>{let{colSpan:h,rowSpan:b}=V;m+=h,C.push(b)})):m=1;const S=Math.min(...C);return k=k+S,c.colSpan=m,c.rowSpan=k,{colSpan:m,rowSpan:k}});return w((r=(a=d[0])==null?void 0:a.headers)!=null?r:[]),d}const Oe=(t,l,n,o,r,a,u)=>{let s={id:l,index:o,original:n,depth:r,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:d=>{if(s._valuesCache.hasOwnProperty(d))return s._valuesCache[d];const g=t.getColumn(d);if(g!=null&&g.accessorFn)return s._valuesCache[d]=g.accessorFn(s.original,o),s._valuesCache[d]},getUniqueValues:d=>{if(s._uniqueValuesCache.hasOwnProperty(d))return s._uniqueValuesCache[d];const g=t.getColumn(d);if(g!=null&&g.accessorFn)return g.columnDef.getUniqueValues?(s._uniqueValuesCache[d]=g.columnDef.getUniqueValues(s.original,o),s._uniqueValuesCache[d]):(s._uniqueValuesCache[d]=[s.getValue(d)],s._uniqueValuesCache[d])},renderValue:d=>{var g;return(g=s.getValue(d))!=null?g:t.options.renderFallbackValue},subRows:[],getLeafRows:()=>vt(s.subRows,d=>d.subRows),getParentRow:()=>s.parentId?t.getRow(s.parentId,!0):void 0,getParentRows:()=>{let d=[],g=s;for(;;){const f=g.getParentRow();if(!f)break;d.push(f),g=f}return d.reverse()},getAllCells:I(()=>[t.getAllLeafColumns()],d=>d.map(g=>Ct(t,s,g,g.id)),A(t.options,"debugRows","getAllCells")),_getAllCellsByColumnId:I(()=>[s.getAllCells()],d=>d.reduce((g,f)=>(g[f.column.id]=f,g),{}),A(t.options,"debugRows","getAllCellsByColumnId"))};for(let d=0;d<t._features.length;d++){const g=t._features[d];g==null||g.createRow==null||g.createRow(s,t)}return s},Vt={createColumn:(t,l)=>{t._getFacetedRowModel=l.options.getFacetedRowModel&&l.options.getFacetedRowModel(l,t.id),t.getFacetedRowModel=()=>t._getFacetedRowModel?t._getFacetedRowModel():l.getPreFilteredRowModel(),t._getFacetedUniqueValues=l.options.getFacetedUniqueValues&&l.options.getFacetedUniqueValues(l,t.id),t.getFacetedUniqueValues=()=>t._getFacetedUniqueValues?t._getFacetedUniqueValues():new Map,t._getFacetedMinMaxValues=l.options.getFacetedMinMaxValues&&l.options.getFacetedMinMaxValues(l,t.id),t.getFacetedMinMaxValues=()=>{if(t._getFacetedMinMaxValues)return t._getFacetedMinMaxValues()}}},Ze=(t,l,n)=>{var o,r;const a=n==null||(o=n.toString())==null?void 0:o.toLowerCase();return!!(!((r=t.getValue(l))==null||(r=r.toString())==null||(r=r.toLowerCase())==null)&&r.includes(a))};Ze.autoRemove=t=>te(t);const et=(t,l,n)=>{var o;return!!(!((o=t.getValue(l))==null||(o=o.toString())==null)&&o.includes(n))};et.autoRemove=t=>te(t);const tt=(t,l,n)=>{var o;return((o=t.getValue(l))==null||(o=o.toString())==null?void 0:o.toLowerCase())===n?.toLowerCase()};tt.autoRemove=t=>te(t);const ot=(t,l,n)=>{var o;return(o=t.getValue(l))==null?void 0:o.includes(n)};ot.autoRemove=t=>te(t);const nt=(t,l,n)=>!n.some(o=>{var r;return!((r=t.getValue(l))!=null&&r.includes(o))});nt.autoRemove=t=>te(t)||!(t!=null&&t.length);const lt=(t,l,n)=>n.some(o=>{var r;return(r=t.getValue(l))==null?void 0:r.includes(o)});lt.autoRemove=t=>te(t)||!(t!=null&&t.length);const rt=(t,l,n)=>t.getValue(l)===n;rt.autoRemove=t=>te(t);const at=(t,l,n)=>t.getValue(l)==n;at.autoRemove=t=>te(t);const Ge=(t,l,n)=>{let[o,r]=n;const a=t.getValue(l);return a>=o&&a<=r};Ge.resolveFilterValue=t=>{let[l,n]=t,o=typeof l!="number"?parseFloat(l):l,r=typeof n!="number"?parseFloat(n):n,a=l===null||Number.isNaN(o)?-1/0:o,u=n===null||Number.isNaN(r)?1/0:r;if(a>u){const s=a;a=u,u=s}return[a,u]};Ge.autoRemove=t=>te(t)||te(t[0])&&te(t[1]);const ae={includesString:Ze,includesStringSensitive:et,equalsString:tt,arrIncludes:ot,arrIncludesAll:nt,arrIncludesSome:lt,equals:rt,weakEquals:at,inNumberRange:Ge};function te(t){return t==null||t===""}const ht={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:t=>({columnFilters:[],...t}),getDefaultOptions:t=>({onColumnFiltersChange:Z("columnFilters",t),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(t,l)=>{t.getAutoFilterFn=()=>{const n=l.getCoreRowModel().flatRows[0],o=n?.getValue(t.id);return typeof o=="string"?ae.includesString:typeof o=="number"?ae.inNumberRange:typeof o=="boolean"||o!==null&&typeof o=="object"?ae.equals:Array.isArray(o)?ae.arrIncludes:ae.weakEquals},t.getFilterFn=()=>{var n,o;return ke(t.columnDef.filterFn)?t.columnDef.filterFn:t.columnDef.filterFn==="auto"?t.getAutoFilterFn():(n=(o=l.options.filterFns)==null?void 0:o[t.columnDef.filterFn])!=null?n:ae[t.columnDef.filterFn]},t.getCanFilter=()=>{var n,o,r;return((n=t.columnDef.enableColumnFilter)!=null?n:!0)&&((o=l.options.enableColumnFilters)!=null?o:!0)&&((r=l.options.enableFilters)!=null?r:!0)&&!!t.accessorFn},t.getIsFiltered=()=>t.getFilterIndex()>-1,t.getFilterValue=()=>{var n;return(n=l.getState().columnFilters)==null||(n=n.find(o=>o.id===t.id))==null?void 0:n.value},t.getFilterIndex=()=>{var n,o;return(n=(o=l.getState().columnFilters)==null?void 0:o.findIndex(r=>r.id===t.id))!=null?n:-1},t.setFilterValue=n=>{l.setColumnFilters(o=>{const r=t.getFilterFn(),a=o?.find(f=>f.id===t.id),u=de(n,a?a.value:void 0);if(Ke(r,u,t)){var s;return(s=o?.filter(f=>f.id!==t.id))!=null?s:[]}const d={id:t.id,value:u};if(a){var g;return(g=o?.map(f=>f.id===t.id?d:f))!=null?g:[]}return o!=null&&o.length?[...o,d]:[d]})}},createRow:(t,l)=>{t.columnFilters={},t.columnFiltersMeta={}},createTable:t=>{t.setColumnFilters=l=>{const n=t.getAllLeafColumns(),o=r=>{var a;return(a=de(l,r))==null?void 0:a.filter(u=>{const s=n.find(d=>d.id===u.id);if(s){const d=s.getFilterFn();if(Ke(d,u.value,s))return!1}return!0})};t.options.onColumnFiltersChange==null||t.options.onColumnFiltersChange(o)},t.resetColumnFilters=l=>{var n,o;t.setColumnFilters(l?[]:(n=(o=t.initialState)==null?void 0:o.columnFilters)!=null?n:[])},t.getPreFilteredRowModel=()=>t.getCoreRowModel(),t.getFilteredRowModel=()=>(!t._getFilteredRowModel&&t.options.getFilteredRowModel&&(t._getFilteredRowModel=t.options.getFilteredRowModel(t)),t.options.manualFiltering||!t._getFilteredRowModel?t.getPreFilteredRowModel():t._getFilteredRowModel())}};function Ke(t,l,n){return(t&&t.autoRemove?t.autoRemove(l,n):!1)||typeof l>"u"||typeof l=="string"&&!l}const yt=(t,l,n)=>n.reduce((o,r)=>{const a=r.getValue(t);return o+(typeof a=="number"?a:0)},0),St=(t,l,n)=>{let o;return n.forEach(r=>{const a=r.getValue(t);a!=null&&(o>a||o===void 0&&a>=a)&&(o=a)}),o},_t=(t,l,n)=>{let o;return n.forEach(r=>{const a=r.getValue(t);a!=null&&(o<a||o===void 0&&a>=a)&&(o=a)}),o},Nt=(t,l,n)=>{let o,r;return n.forEach(a=>{const u=a.getValue(t);u!=null&&(o===void 0?u>=u&&(o=r=u):(o>u&&(o=u),r<u&&(r=u)))}),[o,r]},bt=(t,l)=>{let n=0,o=0;if(l.forEach(r=>{let a=r.getValue(t);a!=null&&(a=+a)>=a&&(++n,o+=a)}),n)return o/n},kt=(t,l)=>{if(!l.length)return;const n=l.map(a=>a.getValue(t));if(!ft(n))return;if(n.length===1)return n[0];const o=Math.floor(n.length/2),r=n.sort((a,u)=>a-u);return n.length%2!==0?r[o]:(r[o-1]+r[o])/2},Rt=(t,l)=>Array.from(new Set(l.map(n=>n.getValue(t))).values()),Dt=(t,l)=>new Set(l.map(n=>n.getValue(t))).size,Ft=(t,l)=>l.length,Fe={sum:yt,min:St,max:_t,extent:Nt,mean:bt,median:kt,unique:Rt,uniqueCount:Dt,count:Ft},$t={getDefaultColumnDef:()=>({aggregatedCell:t=>{var l,n;return(l=(n=t.getValue())==null||n.toString==null?void 0:n.toString())!=null?l:null},aggregationFn:"auto"}),getInitialState:t=>({grouping:[],...t}),getDefaultOptions:t=>({onGroupingChange:Z("grouping",t),groupedColumnMode:"reorder"}),createColumn:(t,l)=>{t.toggleGrouping=()=>{l.setGrouping(n=>n!=null&&n.includes(t.id)?n.filter(o=>o!==t.id):[...n??[],t.id])},t.getCanGroup=()=>{var n,o;return((n=t.columnDef.enableGrouping)!=null?n:!0)&&((o=l.options.enableGrouping)!=null?o:!0)&&(!!t.accessorFn||!!t.columnDef.getGroupingValue)},t.getIsGrouped=()=>{var n;return(n=l.getState().grouping)==null?void 0:n.includes(t.id)},t.getGroupedIndex=()=>{var n;return(n=l.getState().grouping)==null?void 0:n.indexOf(t.id)},t.getToggleGroupingHandler=()=>{const n=t.getCanGroup();return()=>{n&&t.toggleGrouping()}},t.getAutoAggregationFn=()=>{const n=l.getCoreRowModel().flatRows[0],o=n?.getValue(t.id);if(typeof o=="number")return Fe.sum;if(Object.prototype.toString.call(o)==="[object Date]")return Fe.extent},t.getAggregationFn=()=>{var n,o;if(!t)throw new Error;return ke(t.columnDef.aggregationFn)?t.columnDef.aggregationFn:t.columnDef.aggregationFn==="auto"?t.getAutoAggregationFn():(n=(o=l.options.aggregationFns)==null?void 0:o[t.columnDef.aggregationFn])!=null?n:Fe[t.columnDef.aggregationFn]}},createTable:t=>{t.setGrouping=l=>t.options.onGroupingChange==null?void 0:t.options.onGroupingChange(l),t.resetGrouping=l=>{var n,o;t.setGrouping(l?[]:(n=(o=t.initialState)==null?void 0:o.grouping)!=null?n:[])},t.getPreGroupedRowModel=()=>t.getFilteredRowModel(),t.getGroupedRowModel=()=>(!t._getGroupedRowModel&&t.options.getGroupedRowModel&&(t._getGroupedRowModel=t.options.getGroupedRowModel(t)),t.options.manualGrouping||!t._getGroupedRowModel?t.getPreGroupedRowModel():t._getGroupedRowModel())},createRow:(t,l)=>{t.getIsGrouped=()=>!!t.groupingColumnId,t.getGroupingValue=n=>{if(t._groupingValuesCache.hasOwnProperty(n))return t._groupingValuesCache[n];const o=l.getColumn(n);return o!=null&&o.columnDef.getGroupingValue?(t._groupingValuesCache[n]=o.columnDef.getGroupingValue(t.original),t._groupingValuesCache[n]):t.getValue(n)},t._groupingValuesCache={}},createCell:(t,l,n,o)=>{t.getIsGrouped=()=>l.getIsGrouped()&&l.id===n.groupingColumnId,t.getIsPlaceholder=()=>!t.getIsGrouped()&&l.getIsGrouped(),t.getIsAggregated=()=>{var r;return!t.getIsGrouped()&&!t.getIsPlaceholder()&&!!((r=n.subRows)!=null&&r.length)}}};function Tt(t,l,n){if(!(l!=null&&l.length)||!n)return t;const o=t.filter(a=>!l.includes(a.id));return n==="remove"?o:[...l.map(a=>t.find(u=>u.id===a)).filter(Boolean),...o]}const Et={getInitialState:t=>({columnOrder:[],...t}),getDefaultOptions:t=>({onColumnOrderChange:Z("columnOrder",t)}),createColumn:(t,l)=>{t.getIndex=I(n=>[ye(l,n)],n=>n.findIndex(o=>o.id===t.id),A(l.options,"debugColumns","getIndex")),t.getIsFirstColumn=n=>{var o;return((o=ye(l,n)[0])==null?void 0:o.id)===t.id},t.getIsLastColumn=n=>{var o;const r=ye(l,n);return((o=r[r.length-1])==null?void 0:o.id)===t.id}},createTable:t=>{t.setColumnOrder=l=>t.options.onColumnOrderChange==null?void 0:t.options.onColumnOrderChange(l),t.resetColumnOrder=l=>{var n;t.setColumnOrder(l?[]:(n=t.initialState.columnOrder)!=null?n:[])},t._getOrderColumnsFn=I(()=>[t.getState().columnOrder,t.getState().grouping,t.options.groupedColumnMode],(l,n,o)=>r=>{let a=[];if(!(l!=null&&l.length))a=r;else{const u=[...l],s=[...r];for(;s.length&&u.length;){const d=u.shift(),g=s.findIndex(f=>f.id===d);g>-1&&a.push(s.splice(g,1)[0])}a=[...a,...s]}return Tt(a,n,o)},A(t.options,"debugTable","_getOrderColumnsFn"))}},$e=()=>({left:[],right:[]}),Bt={getInitialState:t=>({columnPinning:$e(),...t}),getDefaultOptions:t=>({onColumnPinningChange:Z("columnPinning",t)}),createColumn:(t,l)=>{t.pin=n=>{const o=t.getLeafColumns().map(r=>r.id).filter(Boolean);l.setColumnPinning(r=>{var a,u;if(n==="right"){var s,d;return{left:((s=r?.left)!=null?s:[]).filter(w=>!(o!=null&&o.includes(w))),right:[...((d=r?.right)!=null?d:[]).filter(w=>!(o!=null&&o.includes(w))),...o]}}if(n==="left"){var g,f;return{left:[...((g=r?.left)!=null?g:[]).filter(w=>!(o!=null&&o.includes(w))),...o],right:((f=r?.right)!=null?f:[]).filter(w=>!(o!=null&&o.includes(w)))}}return{left:((a=r?.left)!=null?a:[]).filter(w=>!(o!=null&&o.includes(w))),right:((u=r?.right)!=null?u:[]).filter(w=>!(o!=null&&o.includes(w)))}})},t.getCanPin=()=>t.getLeafColumns().some(o=>{var r,a,u;return((r=o.columnDef.enablePinning)!=null?r:!0)&&((a=(u=l.options.enableColumnPinning)!=null?u:l.options.enablePinning)!=null?a:!0)}),t.getIsPinned=()=>{const n=t.getLeafColumns().map(s=>s.id),{left:o,right:r}=l.getState().columnPinning,a=n.some(s=>o?.includes(s)),u=n.some(s=>r?.includes(s));return a?"left":u?"right":!1},t.getPinnedIndex=()=>{var n,o;const r=t.getIsPinned();return r?(n=(o=l.getState().columnPinning)==null||(o=o[r])==null?void 0:o.indexOf(t.id))!=null?n:-1:0}},createRow:(t,l)=>{t.getCenterVisibleCells=I(()=>[t._getAllVisibleCells(),l.getState().columnPinning.left,l.getState().columnPinning.right],(n,o,r)=>{const a=[...o??[],...r??[]];return n.filter(u=>!a.includes(u.column.id))},A(l.options,"debugRows","getCenterVisibleCells")),t.getLeftVisibleCells=I(()=>[t._getAllVisibleCells(),l.getState().columnPinning.left],(n,o)=>(o??[]).map(a=>n.find(u=>u.column.id===a)).filter(Boolean).map(a=>({...a,position:"left"})),A(l.options,"debugRows","getLeftVisibleCells")),t.getRightVisibleCells=I(()=>[t._getAllVisibleCells(),l.getState().columnPinning.right],(n,o)=>(o??[]).map(a=>n.find(u=>u.column.id===a)).filter(Boolean).map(a=>({...a,position:"right"})),A(l.options,"debugRows","getRightVisibleCells"))},createTable:t=>{t.setColumnPinning=l=>t.options.onColumnPinningChange==null?void 0:t.options.onColumnPinningChange(l),t.resetColumnPinning=l=>{var n,o;return t.setColumnPinning(l?$e():(n=(o=t.initialState)==null?void 0:o.columnPinning)!=null?n:$e())},t.getIsSomeColumnsPinned=l=>{var n;const o=t.getState().columnPinning;if(!l){var r,a;return!!((r=o.left)!=null&&r.length||(a=o.right)!=null&&a.length)}return!!((n=o[l])!=null&&n.length)},t.getLeftLeafColumns=I(()=>[t.getAllLeafColumns(),t.getState().columnPinning.left],(l,n)=>(n??[]).map(o=>l.find(r=>r.id===o)).filter(Boolean),A(t.options,"debugColumns","getLeftLeafColumns")),t.getRightLeafColumns=I(()=>[t.getAllLeafColumns(),t.getState().columnPinning.right],(l,n)=>(n??[]).map(o=>l.find(r=>r.id===o)).filter(Boolean),A(t.options,"debugColumns","getRightLeafColumns")),t.getCenterLeafColumns=I(()=>[t.getAllLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right],(l,n,o)=>{const r=[...n??[],...o??[]];return l.filter(a=>!r.includes(a.id))},A(t.options,"debugColumns","getCenterLeafColumns"))}};function Mt(t){return t||(typeof document<"u"?document:null)}const _e={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Te=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Pt={getDefaultColumnDef:()=>_e,getInitialState:t=>({columnSizing:{},columnSizingInfo:Te(),...t}),getDefaultOptions:t=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Z("columnSizing",t),onColumnSizingInfoChange:Z("columnSizingInfo",t)}),createColumn:(t,l)=>{t.getSize=()=>{var n,o,r;const a=l.getState().columnSizing[t.id];return Math.min(Math.max((n=t.columnDef.minSize)!=null?n:_e.minSize,(o=a??t.columnDef.size)!=null?o:_e.size),(r=t.columnDef.maxSize)!=null?r:_e.maxSize)},t.getStart=I(n=>[n,ye(l,n),l.getState().columnSizing],(n,o)=>o.slice(0,t.getIndex(n)).reduce((r,a)=>r+a.getSize(),0),A(l.options,"debugColumns","getStart")),t.getAfter=I(n=>[n,ye(l,n),l.getState().columnSizing],(n,o)=>o.slice(t.getIndex(n)+1).reduce((r,a)=>r+a.getSize(),0),A(l.options,"debugColumns","getAfter")),t.resetSize=()=>{l.setColumnSizing(n=>{let{[t.id]:o,...r}=n;return r})},t.getCanResize=()=>{var n,o;return((n=t.columnDef.enableResizing)!=null?n:!0)&&((o=l.options.enableColumnResizing)!=null?o:!0)},t.getIsResizing=()=>l.getState().columnSizingInfo.isResizingColumn===t.id},createHeader:(t,l)=>{t.getSize=()=>{let n=0;const o=r=>{if(r.subHeaders.length)r.subHeaders.forEach(o);else{var a;n+=(a=r.column.getSize())!=null?a:0}};return o(t),n},t.getStart=()=>{if(t.index>0){const n=t.headerGroup.headers[t.index-1];return n.getStart()+n.getSize()}return 0},t.getResizeHandler=n=>{const o=l.getColumn(t.column.id),r=o?.getCanResize();return a=>{if(!o||!r||(a.persist==null||a.persist(),Ee(a)&&a.touches&&a.touches.length>1))return;const u=t.getSize(),s=t?t.getLeafHeaders().map(C=>[C.column.id,C.column.getSize()]):[[o.id,o.getSize()]],d=Ee(a)?Math.round(a.touches[0].clientX):a.clientX,g={},f=(C,S)=>{typeof S=="number"&&(l.setColumnSizingInfo(V=>{var h,b;const R=l.options.columnResizeDirection==="rtl"?-1:1,x=(S-((h=V?.startOffset)!=null?h:0))*R,T=Math.max(x/((b=V?.startSize)!=null?b:0),-.999999);return V.columnSizingStart.forEach(P=>{let[B,N]=P;g[B]=Math.round(Math.max(N+N*T,0)*100)/100}),{...V,deltaOffset:x,deltaPercentage:T}}),(l.options.columnResizeMode==="onChange"||C==="end")&&l.setColumnSizing(V=>({...V,...g})))},w=C=>f("move",C),p=C=>{f("end",C),l.setColumnSizingInfo(S=>({...S,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},i=Mt(n),c={moveHandler:C=>w(C.clientX),upHandler:C=>{i?.removeEventListener("mousemove",c.moveHandler),i?.removeEventListener("mouseup",c.upHandler),p(C.clientX)}},m={moveHandler:C=>(C.cancelable&&(C.preventDefault(),C.stopPropagation()),w(C.touches[0].clientX),!1),upHandler:C=>{var S;i?.removeEventListener("touchmove",m.moveHandler),i?.removeEventListener("touchend",m.upHandler),C.cancelable&&(C.preventDefault(),C.stopPropagation()),p((S=C.touches[0])==null?void 0:S.clientX)}},k=It()?{passive:!1}:!1;Ee(a)?(i?.addEventListener("touchmove",m.moveHandler,k),i?.addEventListener("touchend",m.upHandler,k)):(i?.addEventListener("mousemove",c.moveHandler,k),i?.addEventListener("mouseup",c.upHandler,k)),l.setColumnSizingInfo(C=>({...C,startOffset:d,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:o.id}))}}},createTable:t=>{t.setColumnSizing=l=>t.options.onColumnSizingChange==null?void 0:t.options.onColumnSizingChange(l),t.setColumnSizingInfo=l=>t.options.onColumnSizingInfoChange==null?void 0:t.options.onColumnSizingInfoChange(l),t.resetColumnSizing=l=>{var n;t.setColumnSizing(l?{}:(n=t.initialState.columnSizing)!=null?n:{})},t.resetHeaderSizeInfo=l=>{var n;t.setColumnSizingInfo(l?Te():(n=t.initialState.columnSizingInfo)!=null?n:Te())},t.getTotalSize=()=>{var l,n;return(l=(n=t.getHeaderGroups()[0])==null?void 0:n.headers.reduce((o,r)=>o+r.getSize(),0))!=null?l:0},t.getLeftTotalSize=()=>{var l,n;return(l=(n=t.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((o,r)=>o+r.getSize(),0))!=null?l:0},t.getCenterTotalSize=()=>{var l,n;return(l=(n=t.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((o,r)=>o+r.getSize(),0))!=null?l:0},t.getRightTotalSize=()=>{var l,n;return(l=(n=t.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((o,r)=>o+r.getSize(),0))!=null?l:0}}};let Ne=null;function It(){if(typeof Ne=="boolean")return Ne;let t=!1;try{const l={get passive(){return t=!0,!1}},n=()=>{};window.addEventListener("test",n,l),window.removeEventListener("test",n)}catch{t=!1}return Ne=t,Ne}function Ee(t){return t.type==="touchstart"}const At={getInitialState:t=>({columnVisibility:{},...t}),getDefaultOptions:t=>({onColumnVisibilityChange:Z("columnVisibility",t)}),createColumn:(t,l)=>{t.toggleVisibility=n=>{t.getCanHide()&&l.setColumnVisibility(o=>({...o,[t.id]:n??!t.getIsVisible()}))},t.getIsVisible=()=>{var n,o;const r=t.columns;return(n=r.length?r.some(a=>a.getIsVisible()):(o=l.getState().columnVisibility)==null?void 0:o[t.id])!=null?n:!0},t.getCanHide=()=>{var n,o;return((n=t.columnDef.enableHiding)!=null?n:!0)&&((o=l.options.enableHiding)!=null?o:!0)},t.getToggleVisibilityHandler=()=>n=>{t.toggleVisibility==null||t.toggleVisibility(n.target.checked)}},createRow:(t,l)=>{t._getAllVisibleCells=I(()=>[t.getAllCells(),l.getState().columnVisibility],n=>n.filter(o=>o.column.getIsVisible()),A(l.options,"debugRows","_getAllVisibleCells")),t.getVisibleCells=I(()=>[t.getLeftVisibleCells(),t.getCenterVisibleCells(),t.getRightVisibleCells()],(n,o,r)=>[...n,...o,...r],A(l.options,"debugRows","getVisibleCells"))},createTable:t=>{const l=(n,o)=>I(()=>[o(),o().filter(r=>r.getIsVisible()).map(r=>r.id).join("_")],r=>r.filter(a=>a.getIsVisible==null?void 0:a.getIsVisible()),A(t.options,"debugColumns",n));t.getVisibleFlatColumns=l("getVisibleFlatColumns",()=>t.getAllFlatColumns()),t.getVisibleLeafColumns=l("getVisibleLeafColumns",()=>t.getAllLeafColumns()),t.getLeftVisibleLeafColumns=l("getLeftVisibleLeafColumns",()=>t.getLeftLeafColumns()),t.getRightVisibleLeafColumns=l("getRightVisibleLeafColumns",()=>t.getRightLeafColumns()),t.getCenterVisibleLeafColumns=l("getCenterVisibleLeafColumns",()=>t.getCenterLeafColumns()),t.setColumnVisibility=n=>t.options.onColumnVisibilityChange==null?void 0:t.options.onColumnVisibilityChange(n),t.resetColumnVisibility=n=>{var o;t.setColumnVisibility(n?{}:(o=t.initialState.columnVisibility)!=null?o:{})},t.toggleAllColumnsVisible=n=>{var o;n=(o=n)!=null?o:!t.getIsAllColumnsVisible(),t.setColumnVisibility(t.getAllLeafColumns().reduce((r,a)=>({...r,[a.id]:n||!(a.getCanHide!=null&&a.getCanHide())}),{}))},t.getIsAllColumnsVisible=()=>!t.getAllLeafColumns().some(n=>!(n.getIsVisible!=null&&n.getIsVisible())),t.getIsSomeColumnsVisible=()=>t.getAllLeafColumns().some(n=>n.getIsVisible==null?void 0:n.getIsVisible()),t.getToggleAllColumnsVisibilityHandler=()=>n=>{var o;t.toggleAllColumnsVisible((o=n.target)==null?void 0:o.checked)}}};function ye(t,l){return l?l==="center"?t.getCenterVisibleLeafColumns():l==="left"?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns()}const Lt={createTable:t=>{t._getGlobalFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,"__global__"),t.getGlobalFacetedRowModel=()=>t.options.manualFiltering||!t._getGlobalFacetedRowModel?t.getPreFilteredRowModel():t._getGlobalFacetedRowModel(),t._getGlobalFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,"__global__"),t.getGlobalFacetedUniqueValues=()=>t._getGlobalFacetedUniqueValues?t._getGlobalFacetedUniqueValues():new Map,t._getGlobalFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,"__global__"),t.getGlobalFacetedMinMaxValues=()=>{if(t._getGlobalFacetedMinMaxValues)return t._getGlobalFacetedMinMaxValues()}}},zt={getInitialState:t=>({globalFilter:void 0,...t}),getDefaultOptions:t=>({onGlobalFilterChange:Z("globalFilter",t),globalFilterFn:"auto",getColumnCanGlobalFilter:l=>{var n;const o=(n=t.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[l.id])==null?void 0:n.getValue();return typeof o=="string"||typeof o=="number"}}),createColumn:(t,l)=>{t.getCanGlobalFilter=()=>{var n,o,r,a;return((n=t.columnDef.enableGlobalFilter)!=null?n:!0)&&((o=l.options.enableGlobalFilter)!=null?o:!0)&&((r=l.options.enableFilters)!=null?r:!0)&&((a=l.options.getColumnCanGlobalFilter==null?void 0:l.options.getColumnCanGlobalFilter(t))!=null?a:!0)&&!!t.accessorFn}},createTable:t=>{t.getGlobalAutoFilterFn=()=>ae.includesString,t.getGlobalFilterFn=()=>{var l,n;const{globalFilterFn:o}=t.options;return ke(o)?o:o==="auto"?t.getGlobalAutoFilterFn():(l=(n=t.options.filterFns)==null?void 0:n[o])!=null?l:ae[o]},t.setGlobalFilter=l=>{t.options.onGlobalFilterChange==null||t.options.onGlobalFilterChange(l)},t.resetGlobalFilter=l=>{t.setGlobalFilter(l?void 0:t.initialState.globalFilter)}}},Ht={getInitialState:t=>({expanded:{},...t}),getDefaultOptions:t=>({onExpandedChange:Z("expanded",t),paginateExpandedRows:!0}),createTable:t=>{let l=!1,n=!1;t._autoResetExpanded=()=>{var o,r;if(!l){t._queue(()=>{l=!0});return}if((o=(r=t.options.autoResetAll)!=null?r:t.options.autoResetExpanded)!=null?o:!t.options.manualExpanding){if(n)return;n=!0,t._queue(()=>{t.resetExpanded(),n=!1})}},t.setExpanded=o=>t.options.onExpandedChange==null?void 0:t.options.onExpandedChange(o),t.toggleAllRowsExpanded=o=>{o??!t.getIsAllRowsExpanded()?t.setExpanded(!0):t.setExpanded({})},t.resetExpanded=o=>{var r,a;t.setExpanded(o?{}:(r=(a=t.initialState)==null?void 0:a.expanded)!=null?r:{})},t.getCanSomeRowsExpand=()=>t.getPrePaginationRowModel().flatRows.some(o=>o.getCanExpand()),t.getToggleAllRowsExpandedHandler=()=>o=>{o.persist==null||o.persist(),t.toggleAllRowsExpanded()},t.getIsSomeRowsExpanded=()=>{const o=t.getState().expanded;return o===!0||Object.values(o).some(Boolean)},t.getIsAllRowsExpanded=()=>{const o=t.getState().expanded;return typeof o=="boolean"?o===!0:!(!Object.keys(o).length||t.getRowModel().flatRows.some(r=>!r.getIsExpanded()))},t.getExpandedDepth=()=>{let o=0;return(t.getState().expanded===!0?Object.keys(t.getRowModel().rowsById):Object.keys(t.getState().expanded)).forEach(a=>{const u=a.split(".");o=Math.max(o,u.length)}),o},t.getPreExpandedRowModel=()=>t.getSortedRowModel(),t.getExpandedRowModel=()=>(!t._getExpandedRowModel&&t.options.getExpandedRowModel&&(t._getExpandedRowModel=t.options.getExpandedRowModel(t)),t.options.manualExpanding||!t._getExpandedRowModel?t.getPreExpandedRowModel():t._getExpandedRowModel())},createRow:(t,l)=>{t.toggleExpanded=n=>{l.setExpanded(o=>{var r;const a=o===!0?!0:!!(o!=null&&o[t.id]);let u={};if(o===!0?Object.keys(l.getRowModel().rowsById).forEach(s=>{u[s]=!0}):u=o,n=(r=n)!=null?r:!a,!a&&n)return{...u,[t.id]:!0};if(a&&!n){const{[t.id]:s,...d}=u;return d}return o})},t.getIsExpanded=()=>{var n;const o=l.getState().expanded;return!!((n=l.options.getIsRowExpanded==null?void 0:l.options.getIsRowExpanded(t))!=null?n:o===!0||o?.[t.id])},t.getCanExpand=()=>{var n,o,r;return(n=l.options.getRowCanExpand==null?void 0:l.options.getRowCanExpand(t))!=null?n:((o=l.options.enableExpanding)!=null?o:!0)&&!!((r=t.subRows)!=null&&r.length)},t.getIsAllParentsExpanded=()=>{let n=!0,o=t;for(;n&&o.parentId;)o=l.getRow(o.parentId,!0),n=o.getIsExpanded();return n},t.getToggleExpandedHandler=()=>{const n=t.getCanExpand();return()=>{n&&t.toggleExpanded()}}}},Ae=0,Le=10,Be=()=>({pageIndex:Ae,pageSize:Le}),Ut={getInitialState:t=>({...t,pagination:{...Be(),...t?.pagination}}),getDefaultOptions:t=>({onPaginationChange:Z("pagination",t)}),createTable:t=>{let l=!1,n=!1;t._autoResetPageIndex=()=>{var o,r;if(!l){t._queue(()=>{l=!0});return}if((o=(r=t.options.autoResetAll)!=null?r:t.options.autoResetPageIndex)!=null?o:!t.options.manualPagination){if(n)return;n=!0,t._queue(()=>{t.resetPageIndex(),n=!1})}},t.setPagination=o=>{const r=a=>de(o,a);return t.options.onPaginationChange==null?void 0:t.options.onPaginationChange(r)},t.resetPagination=o=>{var r;t.setPagination(o?Be():(r=t.initialState.pagination)!=null?r:Be())},t.setPageIndex=o=>{t.setPagination(r=>{let a=de(o,r.pageIndex);const u=typeof t.options.pageCount>"u"||t.options.pageCount===-1?Number.MAX_SAFE_INTEGER:t.options.pageCount-1;return a=Math.max(0,Math.min(a,u)),{...r,pageIndex:a}})},t.resetPageIndex=o=>{var r,a;t.setPageIndex(o?Ae:(r=(a=t.initialState)==null||(a=a.pagination)==null?void 0:a.pageIndex)!=null?r:Ae)},t.resetPageSize=o=>{var r,a;t.setPageSize(o?Le:(r=(a=t.initialState)==null||(a=a.pagination)==null?void 0:a.pageSize)!=null?r:Le)},t.setPageSize=o=>{t.setPagination(r=>{const a=Math.max(1,de(o,r.pageSize)),u=r.pageSize*r.pageIndex,s=Math.floor(u/a);return{...r,pageIndex:s,pageSize:a}})},t.setPageCount=o=>t.setPagination(r=>{var a;let u=de(o,(a=t.options.pageCount)!=null?a:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...r,pageCount:u}}),t.getPageOptions=I(()=>[t.getPageCount()],o=>{let r=[];return o&&o>0&&(r=[...new Array(o)].fill(null).map((a,u)=>u)),r},A(t.options,"debugTable","getPageOptions")),t.getCanPreviousPage=()=>t.getState().pagination.pageIndex>0,t.getCanNextPage=()=>{const{pageIndex:o}=t.getState().pagination,r=t.getPageCount();return r===-1?!0:r===0?!1:o<r-1},t.previousPage=()=>t.setPageIndex(o=>o-1),t.nextPage=()=>t.setPageIndex(o=>o+1),t.firstPage=()=>t.setPageIndex(0),t.lastPage=()=>t.setPageIndex(t.getPageCount()-1),t.getPrePaginationRowModel=()=>t.getExpandedRowModel(),t.getPaginationRowModel=()=>(!t._getPaginationRowModel&&t.options.getPaginationRowModel&&(t._getPaginationRowModel=t.options.getPaginationRowModel(t)),t.options.manualPagination||!t._getPaginationRowModel?t.getPrePaginationRowModel():t._getPaginationRowModel()),t.getPageCount=()=>{var o;return(o=t.options.pageCount)!=null?o:Math.ceil(t.getRowCount()/t.getState().pagination.pageSize)},t.getRowCount=()=>{var o;return(o=t.options.rowCount)!=null?o:t.getPrePaginationRowModel().rows.length}}},Me=()=>({top:[],bottom:[]}),Ot={getInitialState:t=>({rowPinning:Me(),...t}),getDefaultOptions:t=>({onRowPinningChange:Z("rowPinning",t)}),createRow:(t,l)=>{t.pin=(n,o,r)=>{const a=o?t.getLeafRows().map(d=>{let{id:g}=d;return g}):[],u=r?t.getParentRows().map(d=>{let{id:g}=d;return g}):[],s=new Set([...u,t.id,...a]);l.setRowPinning(d=>{var g,f;if(n==="bottom"){var w,p;return{top:((w=d?.top)!=null?w:[]).filter(m=>!(s!=null&&s.has(m))),bottom:[...((p=d?.bottom)!=null?p:[]).filter(m=>!(s!=null&&s.has(m))),...Array.from(s)]}}if(n==="top"){var i,c;return{top:[...((i=d?.top)!=null?i:[]).filter(m=>!(s!=null&&s.has(m))),...Array.from(s)],bottom:((c=d?.bottom)!=null?c:[]).filter(m=>!(s!=null&&s.has(m)))}}return{top:((g=d?.top)!=null?g:[]).filter(m=>!(s!=null&&s.has(m))),bottom:((f=d?.bottom)!=null?f:[]).filter(m=>!(s!=null&&s.has(m)))}})},t.getCanPin=()=>{var n;const{enableRowPinning:o,enablePinning:r}=l.options;return typeof o=="function"?o(t):(n=o??r)!=null?n:!0},t.getIsPinned=()=>{const n=[t.id],{top:o,bottom:r}=l.getState().rowPinning,a=n.some(s=>o?.includes(s)),u=n.some(s=>r?.includes(s));return a?"top":u?"bottom":!1},t.getPinnedIndex=()=>{var n,o;const r=t.getIsPinned();if(!r)return-1;const a=(n=r==="top"?l.getTopRows():l.getBottomRows())==null?void 0:n.map(u=>{let{id:s}=u;return s});return(o=a?.indexOf(t.id))!=null?o:-1}},createTable:t=>{t.setRowPinning=l=>t.options.onRowPinningChange==null?void 0:t.options.onRowPinningChange(l),t.resetRowPinning=l=>{var n,o;return t.setRowPinning(l?Me():(n=(o=t.initialState)==null?void 0:o.rowPinning)!=null?n:Me())},t.getIsSomeRowsPinned=l=>{var n;const o=t.getState().rowPinning;if(!l){var r,a;return!!((r=o.top)!=null&&r.length||(a=o.bottom)!=null&&a.length)}return!!((n=o[l])!=null&&n.length)},t._getPinnedRows=(l,n,o)=>{var r;return((r=t.options.keepPinnedRows)==null||r?(n??[]).map(u=>{const s=t.getRow(u,!0);return s.getIsAllParentsExpanded()?s:null}):(n??[]).map(u=>l.find(s=>s.id===u))).filter(Boolean).map(u=>({...u,position:o}))},t.getTopRows=I(()=>[t.getRowModel().rows,t.getState().rowPinning.top],(l,n)=>t._getPinnedRows(l,n,"top"),A(t.options,"debugRows","getTopRows")),t.getBottomRows=I(()=>[t.getRowModel().rows,t.getState().rowPinning.bottom],(l,n)=>t._getPinnedRows(l,n,"bottom"),A(t.options,"debugRows","getBottomRows")),t.getCenterRows=I(()=>[t.getRowModel().rows,t.getState().rowPinning.top,t.getState().rowPinning.bottom],(l,n,o)=>{const r=new Set([...n??[],...o??[]]);return l.filter(a=>!r.has(a.id))},A(t.options,"debugRows","getCenterRows"))}},Gt={getInitialState:t=>({rowSelection:{},...t}),getDefaultOptions:t=>({onRowSelectionChange:Z("rowSelection",t),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:t=>{t.setRowSelection=l=>t.options.onRowSelectionChange==null?void 0:t.options.onRowSelectionChange(l),t.resetRowSelection=l=>{var n;return t.setRowSelection(l?{}:(n=t.initialState.rowSelection)!=null?n:{})},t.toggleAllRowsSelected=l=>{t.setRowSelection(n=>{l=typeof l<"u"?l:!t.getIsAllRowsSelected();const o={...n},r=t.getPreGroupedRowModel().flatRows;return l?r.forEach(a=>{a.getCanSelect()&&(o[a.id]=!0)}):r.forEach(a=>{delete o[a.id]}),o})},t.toggleAllPageRowsSelected=l=>t.setRowSelection(n=>{const o=typeof l<"u"?l:!t.getIsAllPageRowsSelected(),r={...n};return t.getRowModel().rows.forEach(a=>{ze(r,a.id,o,!0,t)}),r}),t.getPreSelectedRowModel=()=>t.getCoreRowModel(),t.getSelectedRowModel=I(()=>[t.getState().rowSelection,t.getCoreRowModel()],(l,n)=>Object.keys(l).length?Pe(t,n):{rows:[],flatRows:[],rowsById:{}},A(t.options,"debugTable","getSelectedRowModel")),t.getFilteredSelectedRowModel=I(()=>[t.getState().rowSelection,t.getFilteredRowModel()],(l,n)=>Object.keys(l).length?Pe(t,n):{rows:[],flatRows:[],rowsById:{}},A(t.options,"debugTable","getFilteredSelectedRowModel")),t.getGroupedSelectedRowModel=I(()=>[t.getState().rowSelection,t.getSortedRowModel()],(l,n)=>Object.keys(l).length?Pe(t,n):{rows:[],flatRows:[],rowsById:{}},A(t.options,"debugTable","getGroupedSelectedRowModel")),t.getIsAllRowsSelected=()=>{const l=t.getFilteredRowModel().flatRows,{rowSelection:n}=t.getState();let o=!!(l.length&&Object.keys(n).length);return o&&l.some(r=>r.getCanSelect()&&!n[r.id])&&(o=!1),o},t.getIsAllPageRowsSelected=()=>{const l=t.getPaginationRowModel().flatRows.filter(r=>r.getCanSelect()),{rowSelection:n}=t.getState();let o=!!l.length;return o&&l.some(r=>!n[r.id])&&(o=!1),o},t.getIsSomeRowsSelected=()=>{var l;const n=Object.keys((l=t.getState().rowSelection)!=null?l:{}).length;return n>0&&n<t.getFilteredRowModel().flatRows.length},t.getIsSomePageRowsSelected=()=>{const l=t.getPaginationRowModel().flatRows;return t.getIsAllPageRowsSelected()?!1:l.filter(n=>n.getCanSelect()).some(n=>n.getIsSelected()||n.getIsSomeSelected())},t.getToggleAllRowsSelectedHandler=()=>l=>{t.toggleAllRowsSelected(l.target.checked)},t.getToggleAllPageRowsSelectedHandler=()=>l=>{t.toggleAllPageRowsSelected(l.target.checked)}},createRow:(t,l)=>{t.toggleSelected=(n,o)=>{const r=t.getIsSelected();l.setRowSelection(a=>{var u;if(n=typeof n<"u"?n:!r,t.getCanSelect()&&r===n)return a;const s={...a};return ze(s,t.id,n,(u=o?.selectChildren)!=null?u:!0,l),s})},t.getIsSelected=()=>{const{rowSelection:n}=l.getState();return je(t,n)},t.getIsSomeSelected=()=>{const{rowSelection:n}=l.getState();return He(t,n)==="some"},t.getIsAllSubRowsSelected=()=>{const{rowSelection:n}=l.getState();return He(t,n)==="all"},t.getCanSelect=()=>{var n;return typeof l.options.enableRowSelection=="function"?l.options.enableRowSelection(t):(n=l.options.enableRowSelection)!=null?n:!0},t.getCanSelectSubRows=()=>{var n;return typeof l.options.enableSubRowSelection=="function"?l.options.enableSubRowSelection(t):(n=l.options.enableSubRowSelection)!=null?n:!0},t.getCanMultiSelect=()=>{var n;return typeof l.options.enableMultiRowSelection=="function"?l.options.enableMultiRowSelection(t):(n=l.options.enableMultiRowSelection)!=null?n:!0},t.getToggleSelectedHandler=()=>{const n=t.getCanSelect();return o=>{var r;n&&t.toggleSelected((r=o.target)==null?void 0:r.checked)}}}},ze=(t,l,n,o,r)=>{var a;const u=r.getRow(l,!0);n?(u.getCanMultiSelect()||Object.keys(t).forEach(s=>delete t[s]),u.getCanSelect()&&(t[l]=!0)):delete t[l],o&&(a=u.subRows)!=null&&a.length&&u.getCanSelectSubRows()&&u.subRows.forEach(s=>ze(t,s.id,n,o,r))};function Pe(t,l){const n=t.getState().rowSelection,o=[],r={},a=function(u,s){return u.map(d=>{var g;const f=je(d,n);if(f&&(o.push(d),r[d.id]=d),(g=d.subRows)!=null&&g.length&&(d={...d,subRows:a(d.subRows)}),f)return d}).filter(Boolean)};return{rows:a(l.rows),flatRows:o,rowsById:r}}function je(t,l){var n;return(n=l[t.id])!=null?n:!1}function He(t,l,n){var o;if(!((o=t.subRows)!=null&&o.length))return!1;let r=!0,a=!1;return t.subRows.forEach(u=>{if(!(a&&!r)&&(u.getCanSelect()&&(je(u,l)?a=!0:r=!1),u.subRows&&u.subRows.length)){const s=He(u,l);s==="all"?a=!0:(s==="some"&&(a=!0),r=!1)}}),r?"all":a?"some":!1}const Ue=/([0-9]+)/gm,jt=(t,l,n)=>it(ce(t.getValue(n)).toLowerCase(),ce(l.getValue(n)).toLowerCase()),qt=(t,l,n)=>it(ce(t.getValue(n)),ce(l.getValue(n))),Yt=(t,l,n)=>qe(ce(t.getValue(n)).toLowerCase(),ce(l.getValue(n)).toLowerCase()),Kt=(t,l,n)=>qe(ce(t.getValue(n)),ce(l.getValue(n))),Xt=(t,l,n)=>{const o=t.getValue(n),r=l.getValue(n);return o>r?1:o<r?-1:0},Jt=(t,l,n)=>qe(t.getValue(n),l.getValue(n));function qe(t,l){return t===l?0:t>l?1:-1}function ce(t){return typeof t=="number"?isNaN(t)||t===1/0||t===-1/0?"":String(t):typeof t=="string"?t:""}function it(t,l){const n=t.split(Ue).filter(Boolean),o=l.split(Ue).filter(Boolean);for(;n.length&&o.length;){const r=n.shift(),a=o.shift(),u=parseInt(r,10),s=parseInt(a,10),d=[u,s].sort();if(isNaN(d[0])){if(r>a)return 1;if(a>r)return-1;continue}if(isNaN(d[1]))return isNaN(u)?-1:1;if(u>s)return 1;if(s>u)return-1}return n.length-o.length}const Ve={alphanumeric:jt,alphanumericCaseSensitive:qt,text:Yt,textCaseSensitive:Kt,datetime:Xt,basic:Jt},Wt={getInitialState:t=>({sorting:[],...t}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:t=>({onSortingChange:Z("sorting",t),isMultiSortEvent:l=>l.shiftKey}),createColumn:(t,l)=>{t.getAutoSortingFn=()=>{const n=l.getFilteredRowModel().flatRows.slice(10);let o=!1;for(const r of n){const a=r?.getValue(t.id);if(Object.prototype.toString.call(a)==="[object Date]")return Ve.datetime;if(typeof a=="string"&&(o=!0,a.split(Ue).length>1))return Ve.alphanumeric}return o?Ve.text:Ve.basic},t.getAutoSortDir=()=>{const n=l.getFilteredRowModel().flatRows[0];return typeof n?.getValue(t.id)=="string"?"asc":"desc"},t.getSortingFn=()=>{var n,o;if(!t)throw new Error;return ke(t.columnDef.sortingFn)?t.columnDef.sortingFn:t.columnDef.sortingFn==="auto"?t.getAutoSortingFn():(n=(o=l.options.sortingFns)==null?void 0:o[t.columnDef.sortingFn])!=null?n:Ve[t.columnDef.sortingFn]},t.toggleSorting=(n,o)=>{const r=t.getNextSortingOrder(),a=typeof n<"u"&&n!==null;l.setSorting(u=>{const s=u?.find(i=>i.id===t.id),d=u?.findIndex(i=>i.id===t.id);let g=[],f,w=a?n:r==="desc";if(u!=null&&u.length&&t.getCanMultiSort()&&o?s?f="toggle":f="add":u!=null&&u.length&&d!==u.length-1?f="replace":s?f="toggle":f="replace",f==="toggle"&&(a||r||(f="remove")),f==="add"){var p;g=[...u,{id:t.id,desc:w}],g.splice(0,g.length-((p=l.options.maxMultiSortColCount)!=null?p:Number.MAX_SAFE_INTEGER))}else f==="toggle"?g=u.map(i=>i.id===t.id?{...i,desc:w}:i):f==="remove"?g=u.filter(i=>i.id!==t.id):g=[{id:t.id,desc:w}];return g})},t.getFirstSortDir=()=>{var n,o;return((n=(o=t.columnDef.sortDescFirst)!=null?o:l.options.sortDescFirst)!=null?n:t.getAutoSortDir()==="desc")?"desc":"asc"},t.getNextSortingOrder=n=>{var o,r;const a=t.getFirstSortDir(),u=t.getIsSorted();return u?u!==a&&((o=l.options.enableSortingRemoval)==null||o)&&(!(n&&(r=l.options.enableMultiRemove)!=null)||r)?!1:u==="desc"?"asc":"desc":a},t.getCanSort=()=>{var n,o;return((n=t.columnDef.enableSorting)!=null?n:!0)&&((o=l.options.enableSorting)!=null?o:!0)&&!!t.accessorFn},t.getCanMultiSort=()=>{var n,o;return(n=(o=t.columnDef.enableMultiSort)!=null?o:l.options.enableMultiSort)!=null?n:!!t.accessorFn},t.getIsSorted=()=>{var n;const o=(n=l.getState().sorting)==null?void 0:n.find(r=>r.id===t.id);return o?o.desc?"desc":"asc":!1},t.getSortIndex=()=>{var n,o;return(n=(o=l.getState().sorting)==null?void 0:o.findIndex(r=>r.id===t.id))!=null?n:-1},t.clearSorting=()=>{l.setSorting(n=>n!=null&&n.length?n.filter(o=>o.id!==t.id):[])},t.getToggleSortingHandler=()=>{const n=t.getCanSort();return o=>{n&&(o.persist==null||o.persist(),t.toggleSorting==null||t.toggleSorting(void 0,t.getCanMultiSort()?l.options.isMultiSortEvent==null?void 0:l.options.isMultiSortEvent(o):!1))}}},createTable:t=>{t.setSorting=l=>t.options.onSortingChange==null?void 0:t.options.onSortingChange(l),t.resetSorting=l=>{var n,o;t.setSorting(l?[]:(n=(o=t.initialState)==null?void 0:o.sorting)!=null?n:[])},t.getPreSortedRowModel=()=>t.getGroupedRowModel(),t.getSortedRowModel=()=>(!t._getSortedRowModel&&t.options.getSortedRowModel&&(t._getSortedRowModel=t.options.getSortedRowModel(t)),t.options.manualSorting||!t._getSortedRowModel?t.getPreSortedRowModel():t._getSortedRowModel())}},Qt=[wt,At,Et,Bt,Vt,ht,Lt,zt,Wt,$t,Ht,Ut,Ot,Gt,Pt];function Zt(t){var l,n;process.env.NODE_ENV!=="production"&&(t.debugAll||t.debugTable)&&console.info("Creating Table Instance...");const o=[...Qt,...(l=t._features)!=null?l:[]];let r={_features:o};const a=r._features.reduce((p,i)=>Object.assign(p,i.getDefaultOptions==null?void 0:i.getDefaultOptions(r)),{}),u=p=>r.options.mergeOptions?r.options.mergeOptions(a,p):{...a,...p};let d={...{},...(n=t.initialState)!=null?n:{}};r._features.forEach(p=>{var i;d=(i=p.getInitialState==null?void 0:p.getInitialState(d))!=null?i:d});const g=[];let f=!1;const w={_features:o,options:{...a,...t},initialState:d,_queue:p=>{g.push(p),f||(f=!0,Promise.resolve().then(()=>{for(;g.length;)g.shift()();f=!1}).catch(i=>setTimeout(()=>{throw i})))},reset:()=>{r.setState(r.initialState)},setOptions:p=>{const i=de(p,r.options);r.options=u(i)},getState:()=>r.options.state,setState:p=>{r.options.onStateChange==null||r.options.onStateChange(p)},_getRowId:(p,i,c)=>{var m;return(m=r.options.getRowId==null?void 0:r.options.getRowId(p,i,c))!=null?m:`${c?[c.id,i].join("."):i}`},getCoreRowModel:()=>(r._getCoreRowModel||(r._getCoreRowModel=r.options.getCoreRowModel(r)),r._getCoreRowModel()),getRowModel:()=>r.getPaginationRowModel(),getRow:(p,i)=>{let c=(i?r.getPrePaginationRowModel():r.getRowModel()).rowsById[p];if(!c&&(c=r.getCoreRowModel().rowsById[p],!c))throw process.env.NODE_ENV!=="production"?new Error(`getRow could not find row with ID: ${p}`):new Error;return c},_getDefaultColumnDef:I(()=>[r.options.defaultColumn],p=>{var i;return p=(i=p)!=null?i:{},{header:c=>{const m=c.header.column.columnDef;return m.accessorKey?m.accessorKey:m.accessorFn?m.id:null},cell:c=>{var m,k;return(m=(k=c.renderValue())==null||k.toString==null?void 0:k.toString())!=null?m:null},...r._features.reduce((c,m)=>Object.assign(c,m.getDefaultColumnDef==null?void 0:m.getDefaultColumnDef()),{}),...p}},A(t,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>r.options.columns,getAllColumns:I(()=>[r._getColumnDefs()],p=>{const i=function(c,m,k){return k===void 0&&(k=0),c.map(C=>{const S=xt(r,C,k,m),V=C;return S.columns=V.columns?i(V.columns,S,k+1):[],S})};return i(p)},A(t,"debugColumns","getAllColumns")),getAllFlatColumns:I(()=>[r.getAllColumns()],p=>p.flatMap(i=>i.getFlatColumns()),A(t,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:I(()=>[r.getAllFlatColumns()],p=>p.reduce((i,c)=>(i[c.id]=c,i),{}),A(t,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:I(()=>[r.getAllColumns(),r._getOrderColumnsFn()],(p,i)=>{let c=p.flatMap(m=>m.getLeafColumns());return i(c)},A(t,"debugColumns","getAllLeafColumns")),getColumn:p=>{const i=r._getAllFlatColumnsById()[p];return process.env.NODE_ENV!=="production"&&!i&&console.error(`[Table] Column with id '${p}' does not exist.`),i}};Object.assign(r,w);for(let p=0;p<r._features.length;p++){const i=r._features[p];i==null||i.createTable==null||i.createTable(r)}return r}function eo(){return t=>I(()=>[t.options.data],l=>{const n={rows:[],flatRows:[],rowsById:{}},o=function(r,a,u){a===void 0&&(a=0);const s=[];for(let g=0;g<r.length;g++){const f=Oe(t,t._getRowId(r[g],g,u),r[g],g,a,void 0,u?.id);if(n.flatRows.push(f),n.rowsById[f.id]=f,s.push(f),t.options.getSubRows){var d;f.originalSubRows=t.options.getSubRows(r[g],g),(d=f.originalSubRows)!=null&&d.length&&(f.subRows=o(f.originalSubRows,a+1,f))}}return s};return n.rows=o(l),n},A(t.options,"debugTable","getRowModel",()=>t._autoResetPageIndex()))}function to(){return t=>I(()=>[t.getState().expanded,t.getPreExpandedRowModel(),t.options.paginateExpandedRows],(l,n,o)=>!n.rows.length||l!==!0&&!Object.keys(l??{}).length||!o?n:st(n),A(t.options,"debugTable","getExpandedRowModel"))}function st(t){const l=[],n=o=>{var r;l.push(o),(r=o.subRows)!=null&&r.length&&o.getIsExpanded()&&o.subRows.forEach(n)};return t.rows.forEach(n),{rows:l,flatRows:t.flatRows,rowsById:t.rowsById}}function oo(t,l,n){return n.options.filterFromLeafRows?no(t,l,n):lo(t,l,n)}function no(t,l,n){var o;const r=[],a={},u=(o=n.options.maxLeafRowFilterDepth)!=null?o:100,s=function(d,g){g===void 0&&(g=0);const f=[];for(let p=0;p<d.length;p++){var w;let i=d[p];const c=Oe(n,i.id,i.original,i.index,i.depth,void 0,i.parentId);if(c.columnFilters=i.columnFilters,(w=i.subRows)!=null&&w.length&&g<u){if(c.subRows=s(i.subRows,g+1),i=c,l(i)&&!c.subRows.length){f.push(i),a[i.id]=i,r.push(i);continue}if(l(i)||c.subRows.length){f.push(i),a[i.id]=i,r.push(i);continue}}else i=c,l(i)&&(f.push(i),a[i.id]=i,r.push(i))}return f};return{rows:s(t),flatRows:r,rowsById:a}}function lo(t,l,n){var o;const r=[],a={},u=(o=n.options.maxLeafRowFilterDepth)!=null?o:100,s=function(d,g){g===void 0&&(g=0);const f=[];for(let p=0;p<d.length;p++){let i=d[p];if(l(i)){var w;if((w=i.subRows)!=null&&w.length&&g<u){const m=Oe(n,i.id,i.original,i.index,i.depth,void 0,i.parentId);m.subRows=s(i.subRows,g+1),i=m}f.push(i),r.push(i),a[i.id]=i}}return f};return{rows:s(t),flatRows:r,rowsById:a}}function ro(){return t=>I(()=>[t.getPreFilteredRowModel(),t.getState().columnFilters,t.getState().globalFilter],(l,n,o)=>{if(!l.rows.length||!(n!=null&&n.length)&&!o){for(let p=0;p<l.flatRows.length;p++)l.flatRows[p].columnFilters={},l.flatRows[p].columnFiltersMeta={};return l}const r=[],a=[];(n??[]).forEach(p=>{var i;const c=t.getColumn(p.id);if(!c)return;const m=c.getFilterFn();if(!m){process.env.NODE_ENV!=="production"&&console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${c.id}.`);return}r.push({id:p.id,filterFn:m,resolvedValue:(i=m.resolveFilterValue==null?void 0:m.resolveFilterValue(p.value))!=null?i:p.value})});const u=(n??[]).map(p=>p.id),s=t.getGlobalFilterFn(),d=t.getAllLeafColumns().filter(p=>p.getCanGlobalFilter());o&&s&&d.length&&(u.push("__global__"),d.forEach(p=>{var i;a.push({id:p.id,filterFn:s,resolvedValue:(i=s.resolveFilterValue==null?void 0:s.resolveFilterValue(o))!=null?i:o})}));let g,f;for(let p=0;p<l.flatRows.length;p++){const i=l.flatRows[p];if(i.columnFilters={},r.length)for(let c=0;c<r.length;c++){g=r[c];const m=g.id;i.columnFilters[m]=g.filterFn(i,m,g.resolvedValue,k=>{i.columnFiltersMeta[m]=k})}if(a.length){for(let c=0;c<a.length;c++){f=a[c];const m=f.id;if(f.filterFn(i,m,f.resolvedValue,k=>{i.columnFiltersMeta[m]=k})){i.columnFilters.__global__=!0;break}}i.columnFilters.__global__!==!0&&(i.columnFilters.__global__=!1)}}const w=p=>{for(let i=0;i<u.length;i++)if(p.columnFilters[u[i]]===!1)return!1;return!0};return oo(l.rows,w,t)},A(t.options,"debugTable","getFilteredRowModel",()=>t._autoResetPageIndex()))}function ao(t){return l=>I(()=>[l.getState().pagination,l.getPrePaginationRowModel(),l.options.paginateExpandedRows?void 0:l.getState().expanded],(n,o)=>{if(!o.rows.length)return o;const{pageSize:r,pageIndex:a}=n;let{rows:u,flatRows:s,rowsById:d}=o;const g=r*a,f=g+r;u=u.slice(g,f);let w;l.options.paginateExpandedRows?w={rows:u,flatRows:s,rowsById:d}:w=st({rows:u,flatRows:s,rowsById:d}),w.flatRows=[];const p=i=>{w.flatRows.push(i),i.subRows.length&&i.subRows.forEach(p)};return w.rows.forEach(p),w},A(l.options,"debugTable","getPaginationRowModel"))}function io(){return t=>I(()=>[t.getState().sorting,t.getPreSortedRowModel()],(l,n)=>{if(!n.rows.length||!(l!=null&&l.length))return n;const o=t.getState().sorting,r=[],a=o.filter(d=>{var g;return(g=t.getColumn(d.id))==null?void 0:g.getCanSort()}),u={};a.forEach(d=>{const g=t.getColumn(d.id);g&&(u[d.id]={sortUndefined:g.columnDef.sortUndefined,invertSorting:g.columnDef.invertSorting,sortingFn:g.getSortingFn()})});const s=d=>{const g=d.map(f=>({...f}));return g.sort((f,w)=>{for(let i=0;i<a.length;i+=1){var p;const c=a[i],m=u[c.id],k=m.sortUndefined,C=(p=c?.desc)!=null?p:!1;let S=0;if(k){const V=f.getValue(c.id),h=w.getValue(c.id),b=V===void 0,R=h===void 0;if(b||R){if(k==="first")return b?-1:1;if(k==="last")return b?1:-1;S=b&&R?0:b?k:-k}}if(S===0&&(S=m.sortingFn(f,w,c.id)),S!==0)return C&&(S*=-1),m.invertSorting&&(S*=-1),S}return f.index-w.index}),g.forEach(f=>{var w;r.push(f),(w=f.subRows)!=null&&w.length&&(f.subRows=s(f.subRows))}),g};return{rows:s(n.rows),flatRows:r,rowsById:n.rowsById}},A(t.options,"debugTable","getSortedRowModel",()=>t._autoResetPageIndex()))}function be(){return!0}const so=Symbol("merge-proxy"),uo={get(t,l,n){return l===so?n:t.get(l)},has(t,l){return t.has(l)},set:be,deleteProperty:be,getOwnPropertyDescriptor(t,l){return{configurable:!0,enumerable:!0,get(){return t.get(l)},set:be,deleteProperty:be}},ownKeys(t){return t.keys()}};function Ie(t){return"value"in t?t.value:t}function he(){for(var t=arguments.length,l=new Array(t),n=0;n<t;n++)l[n]=arguments[n];return new Proxy({get(o){for(let r=l.length-1;r>=0;r--){const a=Ie(l[r])[o];if(a!==void 0)return a}},has(o){for(let r=l.length-1;r>=0;r--)if(o in Ie(l[r]))return!0;return!1},keys(){const o=[];for(let r=0;r<l.length;r++)o.push(...Object.keys(Ie(l[r])));return[...Array.from(new Set(o))]}},uo)}const Xe=e.defineComponent({props:["render","props"],setup:t=>()=>typeof t.render=="function"||typeof t.render=="object"?e.h(t.render,t.props):t.render});function Je(t){return he(t,{data:e.unref(t.data)})}function co(t){const l=e.isRef(t.data),n=he({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(a,u){return l?{...a,...u}:he(a,u)}},l?Je(t):t),o=Zt(n);if(l){const a=e.shallowRef(t.data);e.watch(a,()=>{o.setState(u=>({...u,data:a.value}))},{immediate:!0})}const r=e.ref(o.initialState);return e.watchEffect(()=>{o.setOptions(a=>{var u;const s=new Proxy({},{get:(d,g)=>r.value[g]});return he(a,l?Je(t):t,{state:he(s,(u=t.state)!=null?u:{}),onStateChange:d=>{d instanceof Function?r.value=d(r.value):r.value=d,t.onStateChange==null||t.onStateChange(d)}})})}),o}const po={key:0,class:"flex flex-wrap items-center justify-between w-full gap-4 pl-2"},go={class:"flex-1 text-sm text-muted-foreground whitespace-nowrap"},mo={class:"flex items-center space-x-4 @2xl:space-x-8"},fo={class:"items-center space-x-2 hidden @xl:flex"},vo={class:"flex w-[100px] items-center justify-start text-sm font-medium"},Co={class:"flex items-center gap-x-2"},xo={class:"w-full items-center space-x-2 flex @xl:hidden pl-2"},wo=e.defineComponent({__name:"DataTablePagination",props:{table:{}},setup(t){const l=e.inject("sortMode");return(n,o)=>{const r=e.resolveComponent("SelectValue"),a=e.resolveComponent("SelectTrigger"),u=e.resolveComponent("SelectItem"),s=e.resolveComponent("SelectContent"),d=e.resolveComponent("Select"),g=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(l)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",po,[e.createElementVNode("div",go,e.toDisplayString(t.table.getFilteredSelectedRowModel().rows.length)+" of "+e.toDisplayString(t.table.getFilteredRowModel().rows.length)+" row(s) selected. ",1),e.createElementVNode("div",mo,[e.createElementVNode("div",fo,[o[4]||(o[4]=e.createElementVNode("p",{class:"text-sm font-medium"}," Rows per page ",-1)),e.createVNode(d,{"model-value":`${t.table.getState().pagination.pageSize}`,"onUpdate:modelValue":t.table.setPageSize},{default:e.withCtx(()=>[e.createVNode(a,{class:"h-8 w-[70px]"},{default:e.withCtx(()=>[e.createVNode(r,{placeholder:`${t.table.getState().pagination.pageSize}`},null,8,["placeholder"])]),_:1}),e.createVNode(s,{side:"top"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30,40,50],f=>e.createVNode(u,{key:f,value:`${f}`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("div",vo," Page "+e.toDisplayString(t.table.getState().pagination.pageIndex+1)+" of "+e.toDisplayString(t.table.getPageCount()),1),e.createElementVNode("div",Co,[e.createVNode(g,{variant:"outline",class:"hidden size-8 p-0 lg:flex",disabled:!t.table.getCanPreviousPage(),onClick:o[0]||(o[0]=f=>t.table.setPageIndex(0))},{default:e.withCtx(()=>[o[5]||(o[5]=e.createElementVNode("span",{class:"sr-only"},"Go to first page",-1)),e.createVNode(e.unref(j.ChevronsLeft),{class:"size-4"})]),_:1},8,["disabled"]),e.createVNode(g,{variant:"outline",class:"size-8 p-0",disabled:!t.table.getCanPreviousPage(),onClick:o[1]||(o[1]=f=>t.table.previousPage())},{default:e.withCtx(()=>[o[6]||(o[6]=e.createElementVNode("span",{class:"sr-only"},"Go to previous page",-1)),e.createVNode(e.unref(j.ChevronLeft),{class:"size-4"})]),_:1},8,["disabled"]),e.createVNode(g,{variant:"outline",class:"size-8 p-0",disabled:!t.table.getCanNextPage(),onClick:o[2]||(o[2]=f=>t.table.nextPage())},{default:e.withCtx(()=>[o[7]||(o[7]=e.createElementVNode("span",{class:"sr-only"},"Go to next page",-1)),e.createVNode(e.unref(j.ChevronRight),{class:"size-4"})]),_:1},8,["disabled"]),e.createVNode(g,{variant:"outline",class:"hidden size-8 p-0 lg:flex",disabled:!t.table.getCanNextPage(),onClick:o[3]||(o[3]=f=>t.table.setPageIndex(t.table.getPageCount()-1))},{default:e.withCtx(()=>[o[8]||(o[8]=e.createElementVNode("span",{class:"sr-only"},"Go to last page",-1)),e.createVNode(e.unref(j.ChevronsRight),{class:"size-4"})]),_:1},8,["disabled"])])])])),e.createElementVNode("div",xo,[o[9]||(o[9]=e.createElementVNode("p",{class:"text-sm font-medium"}," Rows per page ",-1)),e.createVNode(d,{"model-value":`${t.table.getState().pagination.pageSize}`,"onUpdate:modelValue":t.table.setPageSize},{default:e.withCtx(()=>[e.createVNode(a,{class:"h-8 w-[70px]"},{default:e.withCtx(()=>[e.createVNode(r,{placeholder:`${t.table.getState().pagination.pageSize}`},null,8,["placeholder"])]),_:1}),e.createVNode(s,{side:"top"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30,40,50],f=>e.createVNode(u,{key:f,value:`${f}`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["model-value","onUpdate:modelValue"])])],64)}}}),Vo={class:"w-full"},ho={class:"grid gap-2 mb-4"},yo={key:0,class:"mt-4"},So={class:"my-4"},_o={class:"flex items-center justify-between gap-2"},No=e.defineComponent({__name:"TableRowEditor",props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],setup(t,{emit:l}){const n=t,o=e.inject("allAvailableVariables",[]),r=l,a=e.computed({get:()=>n.modelValue,set:u=>{r("update:modelValue",u)}});return(u,s)=>{const d=e.resolveComponent("SelectValue"),g=e.resolveComponent("SelectTrigger"),f=e.resolveComponent("SelectItem"),w=e.resolveComponent("SelectGroup"),p=e.resolveComponent("SelectContent"),i=e.resolveComponent("Select"),c=e.resolveComponent("CodeEditor"),m=e.resolveComponent("Switch");return e.openBlock(),e.createElementBlock("div",Vo,[s[11]||(s[11]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mb-4"}," Performs visual row actions. Actual data changes must be handled in your connected flows. ",-1)),e.createElementVNode("div",ho,[s[7]||(s[7]=e.createElementVNode("p",{class:"text-sm font-semibold"},"Method",-1)),e.createVNode(i,{modelValue:a.value.data.method,"onUpdate:modelValue":s[0]||(s[0]=k=>a.value.data.method=k)},{default:e.withCtx(()=>[e.createVNode(g,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(d,{placeholder:"Select a method"})]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(f,{value:"CREATE"},{default:e.withCtx(()=>[...s[4]||(s[4]=[e.createTextVNode("Create new row",-1)])]),_:1}),e.createVNode(f,{value:"UPDATE"},{default:e.withCtx(()=>[...s[5]||(s[5]=[e.createTextVNode("Update row",-1)])]),_:1}),e.createVNode(f,{value:"REMOVE"},{default:e.withCtx(()=>[...s[6]||(s[6]=[e.createTextVNode("Remove row",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),a.value.data.method==="CREATE"?(e.openBlock(),e.createElementBlock("div",yo,[e.createVNode(c,{modelValue:a.value.data.returnValueFn,"onUpdate:modelValue":s[1]||(s[1]=k=>a.value.data.returnValueFn=k),variables:e.unref(o),placeholder:"return ...",class:"mb-1"},null,8,["modelValue","variables"]),s[8]||(s[8]=e.createElementVNode("p",{class:"text-xs text-stone-500"},[e.createTextVNode("Just make sure you "),e.createElementVNode("b",null,"return"),e.createTextVNode(" a value")],-1))])):a.value.data.method==="UPDATE"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",So,[e.createVNode(c,{modelValue:a.value.data.returnValueFn,"onUpdate:modelValue":s[2]||(s[2]=k=>a.value.data.returnValueFn=k),variables:e.unref(o),placeholder:"return ...",class:"mb-1"},null,8,["modelValue","variables"]),s[9]||(s[9]=e.createElementVNode("p",{class:"text-xs text-stone-500"},[e.createTextVNode("Just make sure you "),e.createElementVNode("b",null,"return"),e.createTextVNode(" a value")],-1))]),e.createElementVNode("div",_o,[s[10]||(s[10]=e.createElementVNode("label",{class:"text-sm font-semibold select-none",for:"return-data"},"Merge data",-1)),e.createVNode(m,{modelValue:a.value.data.mergeData,"onUpdate:modelValue":s[3]||(s[3]=k=>a.value.data.mergeData=k),id:"return-data"},null,8,["modelValue"])])],64)):e.createCommentVNode("",!0)])}}}),bo={class:"flex items-center gap-2"},ko={key:0},Ro={key:1},Do={key:2},Fo={key:3,class:"opacity-50"},$o={__name:"TableRowNode",props:pe.nodeProps,setup(t){return(l,n)=>(e.openBlock(),e.createBlock(e.unref(pe.NodeToolbarWrapper),{nodeId:l.id,toolbarVisible:l.data.toolbarVisible,toolbarPosition:l.data.toolbarPosition},{default:e.withCtx(()=>[e.createVNode(e.unref(pe.Handle),{type:"target",position:e.unref(pe.Position).Left},null,8,["position"]),e.createElementVNode("div",bo,[e.createElementVNode("div",{class:e.normalizeClass(["size-8 text-white rounded-xl flex items-center justify-center",`${l.data.method?"bg-blue-500":"bg-gray-600 opacity-50"}`])},[e.createVNode(e.unref(j.Table2),{class:"size-5"})],2),e.createElementVNode("div",null,[l.data.method==="CREATE"?(e.openBlock(),e.createElementBlock("span",ko,"Table: Create row")):l.data.method==="UPDATE"?(e.openBlock(),e.createElementBlock("span",Ro,"Table: Update row")):l.data.method==="REMOVE"?(e.openBlock(),e.createElementBlock("span",Do,"Table: Remove row")):(e.openBlock(),e.createElementBlock("span",Fo,"Select a table method"))])]),e.createVNode(e.unref(pe.NodeContextMenu),{nodeId:l.id},null,8,["nodeId"]),e.createVNode(e.unref(pe.Handle),{type:"source",id:"success",position:e.unref(pe.Position).Right},null,8,["position"])]),_:1},8,["nodeId","toolbarVisible","toolbarPosition"]))}};function Re(t={}){const{tableRowActions:l}=t;return{type:{label:"Table row action",value:"table-row-action",icon:e.markRaw(j.Table2),buttonClass:"bg-gray-800 text-white"},editor:e.markRaw(No),node:e.markRaw($o),async processFunction(n,{node:o}){if(!l){console.warn("[table-row-action] No tableRowActions provided, ignoring action.");return}let r=To(o.data.returnValueFn,n);switch(o.data.method){case"CREATE":if(!l.create){console.warn("[table-row-action] No create handler provided, ignoring action.");return}return l.create(r),{finishedTableAction:!0};case"UPDATE":if(!l.update){console.warn("[table-row-action] No update handler provided, ignoring action.");return}return l.update(n.tableActiveRowIndex,r,o.data.mergeData||!1),{finishedTableAction:!0};case"REMOVE":if(!l.remove){console.warn("[table-row-action] No remove handler provided, ignoring action.");return}return l.remove(n.tableActiveRowIndex),{finishedTableAction:!0};default:return}}}}const To=(t,l={})=>{var n=document.createElement("iframe");document.body.appendChild(n);var o=n.contentWindow?.Function;if(document.body.removeChild(n),!o)throw new Error("Unable to create sandboxed function.");return o(...Object.keys(l),"'use strict';"+t)(...Object.values(l))},We=e.defineComponent({__name:"DataTableAction",props:{action:{},row:{}},setup(t){const l=t,n=e.inject("data",e.ref([])),o=e.inject("isPerformingDataTableAction",e.ref(!1)),{runFlow:r}=Y.useFlowBuilder(),a=e.computed(()=>j.icons[l.action.icon]),u=e.computed(()=>l.action.visible?[!0,"true"].includes(ct.interpolateTemplateFromVariableContext(l.action.visible,[{name:"item",value:{data:{...l.row.original}},type:"object"},...Object.entries(l.row.original).map(([d,g])=>({name:d,value:g,type:typeof g}))])):!0),s=async()=>{o.value=!0,await r(l.action.flow,[{name:"item",value:{data:{...l.row.original}},type:"object"},{name:"tableActiveRowIndex",type:"number",value:l.row.index}],[],[Re({tableRowActions:{create:d=>{n.value=[...n.value,d]},update:(d,g,f)=>{n.value=n.value.map((w,p)=>p!==d?w:f?{...w,...g}:g)},remove:d=>{n.value=n.value.filter((g,f)=>f!==d)}}})]),o.value=!1};return(d,g)=>{const f=e.resolveComponent("Button"),w=e.resolveComponent("TooltipTrigger"),p=e.resolveComponent("TooltipContent"),i=e.resolveComponent("Tooltip");return u.value?(e.openBlock(),e.createBlock(i,{key:0},{default:e.withCtx(()=>[e.createVNode(w,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(f,{variant:"ghost",size:"icon",onClick:g[0]||(g[0]=e.withModifiers(c=>s(),["stop"])),class:e.normalizeClass(["size-5",{"opacity-50":e.unref(o)}]),"data-title":t.action.label,disabled:e.unref(o)},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value)))]),_:1},8,["data-title","disabled","class"])]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(t.action.label),1)]),_:1})]),_:1})):e.createCommentVNode("",!0)}}}),Eo={class:"mx-auto w-full max-w-sm mt-8 px-4 overflow-y-auto"},Bo={key:0,class:"flex flex-col gap-1.5 mb-6 px-1"},Mo={class:"text-muted-foreground text-sm shrink-0"},Po=["src","alt"],Io={class:"text-muted-foreground text-sm shrink-0"},Ao=["href"],Lo={class:"text-muted-foreground text-sm shrink-0"},zo=["href"],Ho={class:"text-muted-foreground text-sm shrink-0"},Uo=["href"],Oo={class:"text-muted-foreground text-sm shrink-0"},Go={class:"text-sm"},jo={class:"w-full flex flex-col gap-2 mb-4"},qo=["innerHTML"],Yo=e.defineComponent({__name:"DataTableMobileRowActionDrawer",setup(t,{expose:l}){const{formatCurrency:n}=Y.useProjectSettings(),o=e.inject("columns",e.ref([])),r=e.ref(!1),a=e.ref([]),u=e.ref(null),s=e.computed(()=>o.value?.filter(p=>p.visible)||[]),d=(p,i)=>{if(p)return i.includes(".")?i.split(".").reduce((c,m)=>c?.[m],p):p[i]},g=(p,i)=>{if(i.type==="array-counter")return Array.isArray(p)?p.length:p==null?0:"";if(p==null)return"";if(i.type==="number")return isNaN(p)?p:parseFloat(p)?.toFixed(2)?.replace(".00","");if(i.type==="datetime")return new Date(p)?.toLocaleString()??"";if(i.type==="currency")return n(p);if(i.type==="boolean")return p?"Yes":"No";if(i.type==="array")return Array.isArray(p)?p.join(", "):"";if(i.type==="html"){const c=document.createElement("div");c.innerHTML=p||"";const m=c.innerText||c.textContent||"";return m.length>100?m.substring(0,100)+"...":m}return String(p)};e.watch(r,p=>{p||(a.value=[],u.value=null)});const f=(p,i,c=!1)=>{if(!Q.isMobile()&&!c)return;a.value=[],u.value=i||null;let m=[];r.value=!0,p.target.closest('[data-slot="table-row"]')?.querySelectorAll(".data-table-row-actions button").forEach(C=>{m.push({label:C.getAttribute("data-title")||"",icon:C.querySelector("svg")?.outerHTML||"",onClick:()=>C.click()})}),a.value=m},w=p=>{p.onClick(),r.value=!1};return l({onRowClick:f}),(p,i)=>{const c=e.resolveComponent("Button"),m=e.resolveComponent("DrawerClose"),k=e.resolveComponent("DrawerContent"),C=e.resolveComponent("Drawer");return e.openBlock(),e.createBlock(C,{open:r.value,"onUpdate:open":i[0]||(i[0]=S=>r.value=S)},{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createElementVNode("div",Eo,[u.value&&s.value.length>0?(e.openBlock(),e.createElementBlock("div",Bo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,S=>(e.openBlock(),e.createElementBlock("div",{key:S.id,class:"flex items-start gap-2 min-w-0"},[S.type==="image"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",Mo,e.toDisplayString(S.label)+":",1),d(u.value,S.property)?(e.openBlock(),e.createElementBlock("img",{key:0,src:d(u.value,S.property),alt:S.label,class:"size-16 object-cover rounded"},null,8,Po)):e.createCommentVNode("",!0)],64)):S.type==="URL"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",Io,e.toDisplayString(S.label)+":",1),e.createElementVNode("a",{href:d(u.value,S.property),target:"_blank",class:"text-primary text-sm break-all"},e.toDisplayString(d(u.value,S.property)),9,Ao)],64)):S.type==="email"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("span",Lo,e.toDisplayString(S.label)+":",1),e.createElementVNode("a",{href:`mailto:${d(u.value,S.property)}`,class:"text-primary text-sm break-all"},e.toDisplayString(d(u.value,S.property)),9,zo)],64)):S.type==="phone"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("span",Ho,e.toDisplayString(S.label)+":",1),e.createElementVNode("a",{href:`tel:${d(u.value,S.property)}`,class:"text-primary text-sm"},e.toDisplayString(d(u.value,S.property)),9,Uo)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createElementVNode("span",Oo,e.toDisplayString(S.label)+":",1),e.createElementVNode("span",Go,e.toDisplayString(g(d(u.value,S.property),S)),1)],64))]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",jo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,S=>(e.openBlock(),e.createBlock(c,{variant:"outline",class:"w-full h-11 border-none bg-foreground! text-background! rounded-lg",key:S,onClick:V=>w(S)},{default:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:S.icon},null,8,qo),e.createTextVNode(" "+e.toDisplayString(S.label),1)]),_:2},1032,["onClick"]))),128))]),e.createVNode(m,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(c,{variant:"outline",class:"w-full mb-8 h-11 shadow-none! border-none! active:bg-black/5 dark:active:bg-white/5! rounded-lg"},{default:e.withCtx(()=>[...i[1]||(i[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1})]),_:1})])]),_:1})]),_:1},8,["open"])}}}),Ko=["onClick"],Xo={class:"flex flex-col gap-0.5 flex-1 min-w-0"},Jo={class:"text-muted-foreground text-sm shrink-0"},Wo=["src","alt"],Qo={class:"text-muted-foreground text-sm shrink-0"},Zo=["href"],en={class:"text-muted-foreground text-sm shrink-0"},tn=["href"],on={class:"text-muted-foreground text-sm shrink-0"},nn=["href"],ln={class:"text-muted-foreground text-sm shrink-0"},rn={class:"text-muted-foreground text-sm shrink-0"},an={class:"text-sm truncate"},sn={key:0,class:"data-table-row-actions hidden"},un={key:1,class:"px-4 py-6 text-center text-muted-foreground"},dn={key:0,class:"flex items-center justify-center font-medium border-x border-primary bg-primary/10 -my-[7px] h-[34px] cursor-grab"},cn=e.defineComponent({__name:"DataTable",setup(t,{expose:l}){const{Button:n,Checkbox:o,Tooltip:r,TooltipContent:a,TooltipTrigger:u}=dt,{$dragAndDrop:s}=useNuxtApp(),{formatCurrency:d}=Y.useProjectSettings(),g=e.inject("integrationId",e.ref("")),f=e.inject("resourcePath",e.ref("")),w=e.inject("table"),p=e.inject("data"),i=e.inject("columns"),c=e.inject("sortMode",e.ref(!1)),m=e.inject("sortModeProperty",e.ref("")),k=e.inject("filters",e.ref([])),C=e.inject("itemActions",e.ref([])),S=e.inject("isPerformingDataTableAction",e.ref(!1)),V=e.useTemplateRef("mobileActionDrawer"),h=(y,v)=>v.includes(".")?v.split(".").reduce(($,_)=>$?.[_],y):y[v],b=e.computed(()=>i.value?.filter(y=>y.visible&&y.showInCompactMode)||[]),R=y=>Array.isArray(y)?y.length:y==null?0:"",x=y=>Array.isArray(y)?y:[],T=y=>{if(y==null)return"Empty";if(y instanceof Date)return y.toLocaleString();if(["string","number","boolean","bigint"].includes(typeof y))return String(y);if(typeof y=="object"){const v=["label","name","title","value","id"].find($=>{const _=y?.[$];return _!=null&&typeof _!="object"});if(v)return String(y[v]);try{return JSON.stringify(y)??String(y)}catch{return String(y)}}return String(y)},P=y=>{const v=`${y.length} ${y.length===1?"item":"items"}`,$=y.slice(0,5),_=Math.max(y.length-$.length,0);return e.h("div",{class:"w-64 max-w-[calc(100vw-2rem)]"},[e.h("div",{class:"mb-2 border-b border-white/15 pb-1.5 text-xs font-medium dark:border-gray-800/15"},v),$.length?e.h("div",{class:"flex flex-col gap-1"},[...$.map((F,z)=>e.h("div",{key:z,class:"flex items-start gap-2 rounded-sm py-0.5"},[e.h("span",{class:"w-4 shrink-0 pt-px text-right text-[10px] tabular-nums opacity-60"},z+1),e.h("span",{class:"min-w-0 flex-1 break-words leading-snug"},T(F))])),_?e.h("div",{class:"mt-1 border-t border-white/15 pt-1.5 text-xs opacity-70 dark:border-gray-800/15"},`+ ${_} more`):null]):e.h("div",{class:"text-xs opacity-70"},"No items")])},B=(y,v=!1)=>e.h(v?"button":"span",{...v?{type:"button",onClick:$=>$.stopPropagation(),onPointerdown:$=>$.stopPropagation(),onKeydown:$=>{($.key==="Enter"||$.key===" ")&&$.stopPropagation()}}:{},class:"inline-flex h-6 min-w-6 items-center justify-center rounded-md border border-border/70 bg-muted/50 px-2 text-sm font-medium tabular-nums transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"},y),N=(y,v=!0)=>{const $=R(y),_=x(y);return $===""?e.h("div",{},""):v?e.h(r,{},{default:()=>[e.h(u,{asChild:!0},{default:()=>B($,!0)}),e.h(a,{side:"top",sideOffset:8},{default:()=>P(_)})]}):B($)},H=y=>N(y.value,y.showPreview!==!1),O=(y,v)=>{if(v.type==="array-counter")return R(y);if(y==null)return"";if(v.type==="number")return isNaN(y)?y:parseFloat(y)?.toFixed(2)?.replace(".00","");if(v.type==="datetime")return new Date(y)?.toLocaleString()??"";if(v.type==="date")return"waza";if(v.type==="currency")return d(y);if(v.type==="boolean")return y?"Yes":"No";if(v.type==="array")return Array.isArray(y)?y.join(", "):"";if(v.type==="html"){const $=document.createElement("div");$.innerHTML=y||"";const _=$.innerText||$.textContent||"";return _.length>100?_.substring(0,100)+"...":_}return String(y)},D=(y,v)=>{V.value?.onRowClick(y,v,!0)},M=y=>y==null?"":Array.isArray(y)?y.map(M).filter(Boolean).join(" "):typeof y=="boolean"?y?"true yes":"false no":y instanceof Date?y.toISOString().toLowerCase():typeof y=="object"?"":String(y).toLowerCase(),G=e.computed(()=>(i.value??[]).filter(y=>y.visible&&y.property).map(y=>y.property)),X=y=>G.value.map(v=>M(h(y,v))).filter(Boolean).join(" "),oe=e.computed(()=>{let y=[];return c.value?y.push({id:"drag-handle",enableSorting:!1,enableHiding:!1,header:"",cell:()=>e.h("div",{class:"row-drag-handle cursor-grab text-gray-400"},[e.h("svg",{xmlns:"http://www.w3.org/2000/svg",class:"size-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 10h16M4 14h16"})])])}):y.push({id:"select",header:({table:v})=>e.h(o,{modelValue:v.getIsAllPageRowsSelected()||v.getIsSomePageRowsSelected()&&"indeterminate","onUpdate:modelValue":$=>v.toggleAllPageRowsSelected(!!$),ariaLabel:"Select all",class:"border-ring",onClick:$=>$.stopPropagation(),onPointerdown:$=>$.stopPropagation(),onKeydown:$=>{($.key===" "||$.key==="Enter")&&$.stopPropagation()}}),cell:({row:v})=>e.h(o,{class:"border-ring",modelValue:v.getIsSelected(),"onUpdate:modelValue":$=>v.toggleSelected(!!$),ariaLabel:"Select row",onClick:$=>$.stopPropagation(),onPointerdown:$=>$.stopPropagation(),onKeydown:$=>{($.key===" "||$.key==="Enter")&&$.stopPropagation()}}),enableSorting:!1,enableHiding:!1}),i.value?.forEach(v=>{let $=!!k.value.find(_=>_.property===v.property);v.visible&&(v.type==="text"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:({column:_})=>e.h(n,{variant:"ghost",disabled:c.value,onClick:()=>_.toggleSorting(_.getIsSorted()==="asc")},()=>[v.label,e.h(j.ArrowUpDown,{class:"ml-2 size-4"})]),cell:({row:_})=>e.h("div",{class:"max-w-xs line-clamp-3 whitespace-normal break-words select-text"},_.getValue(v.property)),...$?{enableColumnFilter:!0,filterFn:(_,F,z)=>{if(!Array.isArray(z)||z.length===0)return!0;const we=_.getValue(F);return z.includes(we)}}:{}}):v.type==="number"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:({column:_})=>e.h(n,{variant:"ghost",disabled:c.value,onClick:()=>_.toggleSorting(_.getIsSorted()==="asc")},()=>[v.label,e.h(j.ArrowUpDown,{class:"ml-2 size-4"})]),cell:({row:_})=>e.h("div",{class:""},_.getValue(v.property)===void 0||typeof _.getValue(v.property)=="string"&&_.getValue(v.property).trim()===""?"":isNaN(_.getValue(v.property))?_.getValue(v.property):parseFloat(_.getValue(v.property))?.toFixed(2)?.replace(".00",""))}):v.type==="date"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>e.h("div",{class:""},new Date(_.getValue(v.property))?.toLocaleDateString()??"")}):v.type==="datetime"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>e.h("div",{class:""},new Date(_.getValue(v.property))?.toLocaleString()??"")}):v.type==="boolean"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>e.h(o,{modelValue:_.getValue(v.property),disabled:!0,class:"border-ring disabled:cursor-default disabled:opacity-100"})}):v.type==="URL"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>e.h("a",{href:_.getValue(v.property),target:"_blank",class:"text-primary",onClick:F=>F.stopPropagation(),onPointerdown:F=>F.stopPropagation(),onKeydown:F=>{(F.key==="Enter"||F.key===" ")&&F.stopPropagation()}},_.getValue(v.property))}):v.type==="email"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>e.h("a",{href:`mailto:${_.getValue(v.property)}`,class:"text-primary",onClick:F=>F.stopPropagation(),onPointerdown:F=>F.stopPropagation(),onKeydown:F=>{(F.key==="Enter"||F.key===" ")&&F.stopPropagation()}},_.getValue(v.property))}):v.type==="phone"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>e.h("a",{href:`tel:${_.getValue(v.property)}`,class:"text-primary",onClick:F=>F.stopPropagation(),onPointerdown:F=>F.stopPropagation(),onKeydown:F=>{(F.key==="Enter"||F.key===" ")&&F.stopPropagation()}},_.getValue(v.property))}):v.type==="currency"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>e.h("div",{class:""},d(_.getValue(v.property)))}):v.type==="image"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>_.getValue(v.property)?e.h("img",{src:_.getValue(v.property),alt:v.label,class:"size-16 object-cover"}):""}):v.type==="array"?y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>{const F=_.getValue(v.property);return Array.isArray(F)?e.h("div",{},F.map((z,we)=>e.h("div",{key:we},z.toString()))):e.h("div",{},"")}}):v.type==="array-counter"?y.push({id:v.property,accessorFn:_=>{const F=h(_,v.property);return Array.isArray(F)?F.length:F==null?0:void 0},header:({column:_})=>e.h(n,{variant:"ghost",disabled:c.value,onClick:()=>_.toggleSorting(_.getIsSorted()==="asc")},()=>[v.label,e.h(j.ArrowUpDown,{class:"ml-2 size-4"})]),cell:({row:_})=>e.h(H,{value:h(_.original,v.property),showPreview:v.showArrayPreview!==!1})}):v.type==="html"&&y.push({id:v.property,accessorFn:_=>v.property.includes(".")?v.property.split(".").reduce((F,z)=>F?.[z],_):_[v.property],header:v.label,cell:({row:_})=>{let F=document.createElement("div");F.innerHTML=_.getValue(v.property)||"";const z=F.innerText||F.textContent||"";return e.h("div",{class:"",innerHTML:z.length>100?z.substring(0,100)+"...":z})}}))}),C.value.length>0&&y.push({id:"actions",enableHiding:!1,cell:({row:v})=>e.h("div",{class:"data-table-row-actions flex items-center justify-center gap-2"},C.value.map($=>e.h(We,{action:$,row:v})))}),y}),re=e.ref(""),ie=e.ref([]),L=e.ref([]),K=e.ref({}),ge=e.ref({}),me=e.ref({}),fe=e.ref(new Map),ne=e.ref({pageIndex:0,pageSize:10});e.watch([p,G],()=>{const y=new Map;for(const v of p?.value??[])v&&typeof v=="object"&&y.set(v,X(v));fe.value=y},{immediate:!0,deep:!0});const ve=e.reactive({get data(){return p?.value??[]},get columns(){return oe.value},enableGlobalFilter:!0,autoResetPageIndex:!1,getGlobalFilter(){return re.value},onGlobalFilterChange(y){Q.valueUpdater(y,re)},globalFilterFn:(y,v,$)=>{const _=M($).trim();return _?(fe.value.get(y.original)??X(y.original)).includes(_):!0},getCoreRowModel:eo(),getPaginationRowModel:ao(),getSortedRowModel:io(),getFilteredRowModel:ro(),getExpandedRowModel:to(),onSortingChange:y=>Q.valueUpdater(y,ie),onColumnFiltersChange:y=>Q.valueUpdater(y,L),onColumnVisibilityChange:y=>Q.valueUpdater(y,K),onRowSelectionChange:y=>Q.valueUpdater(y,ge),onExpandedChange:y=>Q.valueUpdater(y,me),onPaginationChange:y=>Q.valueUpdater(y,ne),state:{get sorting(){return ie.value},get columnFilters(){return L.value},get columnVisibility(){return K.value},get rowSelection(){return ge.value},get expanded(){return me.value},get pagination(){return ne.value},get globalFilter(){return re.value}}}),Ce=co(ve);w&&(w.value=Ce),e.watch(c,y=>{y?De():ne.value={pageIndex:ue.value,pageSize:E.value}});const[xe,se]=s([],{plugins:[pt.animations()]}),E=e.ref(10),ue=e.ref(0),De=()=>{E.value=ne.value.pageSize,ue.value=ne.value.pageIndex,ne.value={pageIndex:0,pageSize:1e4},se.value=(p?.value??[]).slice().sort((y,v)=>{const $=y[m.value]??0,_=v[m.value]??0;return $-_}).map((y,v)=>({id:y.id,index:v,original:{...y,[m.value]:v},getVisibleCells:()=>w?.value?.getRowModel().rows?.find($=>$.original.id===y.id)?.getVisibleCells()}))};return l({saveSortMode:async()=>{const{update:y}=Y.useFirebaseIntegration(g.value);p.value.forEach(v=>{v[m.value]!==se.value.findIndex($=>$.id===v.id)&&(v[m.value]=se.value.findIndex($=>$.id===v.id),y(f.value,v.id,{[m.value]:v[m.value]}))})}}),(y,v)=>{const $=e.resolveComponent("TableHead"),_=e.resolveComponent("TableRow"),F=e.resolveComponent("TableHeader"),z=e.resolveComponent("TableCell"),we=e.resolveComponent("TableBody"),ut=e.resolveComponent("Table");return e.openBlock(),e.createElementBlock(e.Fragment,null,[b.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["@md:hidden -mx-[17px] w-[calc(100%+34px)] bg-background dark:bg-input/30 border-y divide-y",{"cursor-wait":e.unref(S)}])},[e.unref(w).getRowModel().rows?.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(w).getRowModel().rows,q=>(e.openBlock(),e.createElementBlock("div",{key:q.id,"data-slot":"table-row",class:"flex items-center px-4 py-2.5 active:bg-muted/50 transition-colors",onClick:U=>D(U,q.original)},[e.createElementVNode("div",Xo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,U=>(e.openBlock(),e.createElementBlock("div",{key:U.id,class:"flex items-center gap-2 min-w-0"},[U.type==="image"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",Jo,e.toDisplayString(U.label)+":",1),h(q.original,U.property)?(e.openBlock(),e.createElementBlock("img",{key:0,src:h(q.original,U.property),alt:U.label,class:"size-10 object-cover rounded"},null,8,Wo)):e.createCommentVNode("",!0)],64)):U.type==="URL"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",Qo,e.toDisplayString(U.label)+":",1),e.createElementVNode("a",{href:h(q.original,U.property),target:"_blank",class:"text-primary text-sm truncate",onClick:v[0]||(v[0]=e.withModifiers(()=>{},["stop"]))},e.toDisplayString(h(q.original,U.property)),9,Zo)],64)):U.type==="email"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("span",en,e.toDisplayString(U.label)+":",1),e.createElementVNode("a",{href:`mailto:${h(q.original,U.property)}`,class:"text-primary text-sm truncate",onClick:v[1]||(v[1]=e.withModifiers(()=>{},["stop"]))},e.toDisplayString(h(q.original,U.property)),9,tn)],64)):U.type==="phone"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("span",on,e.toDisplayString(U.label)+":",1),e.createElementVNode("a",{href:`tel:${h(q.original,U.property)}`,class:"text-primary text-sm truncate",onClick:v[2]||(v[2]=e.withModifiers(()=>{},["stop"]))},e.toDisplayString(h(q.original,U.property)),9,nn)],64)):U.type==="array-counter"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createElementVNode("span",ln,e.toDisplayString(U.label)+":",1),e.createVNode(H,{value:h(q.original,U.property),"show-preview":U.showArrayPreview!==!1},null,8,["value","show-preview"])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[e.createElementVNode("span",rn,e.toDisplayString(U.label)+":",1),e.createElementVNode("span",an,e.toDisplayString(O(h(q.original,U.property),U)),1)],64))]))),128))]),e.createVNode(e.unref(j.ChevronRight),{class:"size-4 text-muted-foreground/50 shrink-0 ml-2"}),e.unref(C).length>0?(e.openBlock(),e.createElementBlock("div",sn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(C),U=>(e.openBlock(),e.createBlock(We,{key:U.id,action:U,row:q},null,8,["action","row"]))),128))])):e.createCommentVNode("",!0)],8,Ko))),128)):(e.openBlock(),e.createElementBlock("div",un," No results. "))],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["border bg-background dark:bg-input/30 shadow-xs shadow-xs -mx-[17px] w-[calc(100%+34px)] @md:mx-0 @md:w-full @md:rounded-md",[{"cursor-wait":e.unref(S)},b.value.length>0?"hidden @md:block":""]])},[e.createVNode(ut,null,{default:e.withCtx(()=>[e.createVNode(F,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w).getHeaderGroups(),q=>(e.openBlock(),e.createBlock(_,{key:q.id},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(q.headers,U=>(e.openBlock(),e.createBlock($,{key:U.id},{default:e.withCtx(()=>[U.isPlaceholder?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(Xe),{key:0,render:U.column.columnDef.header,props:U.getContext()},null,8,["render","props"])),e.unref(i)?.find(le=>le.property===U.column.columnDef.id)?.showInfoButton?(e.openBlock(),e.createBlock(e.unref(r),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(u),{"as-child":""},{default:e.withCtx(()=>[e.createVNode(e.unref(j.Info),{class:"size-4 inline mx-2 -mt-0.5"})]),_:1}),e.createVNode(e.unref(a),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)?.find(le=>le.property===U.column.columnDef.id)?.infoTooltipText),1)]),_:2},1024)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1024))),128))]),_:2},1024))),128))]),_:1}),e.createVNode(we,{ref_key:"dragContainer",ref:xe},{default:e.withCtx(()=>[e.unref(w).getRowModel().rows?.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(c)?e.unref(se):e.unref(w).getRowModel().rows,(q,U)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:q.id},[e.createVNode(_,{"data-state":!e.unref(c)&&q.getIsSelected()&&"selected",class:"group/row",onClick:le=>e.unref(V).onRowClick(le,q.original)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(q.getVisibleCells(),le=>(e.openBlock(),e.createBlock(z,{key:le.id},{default:e.withCtx(()=>[e.unref(c)&&le.column.id===e.unref(m)?(e.openBlock(),e.createElementBlock("span",dn,e.toDisplayString(U),1)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(c)?"opacity-50 group-hover/row:opacity-100":"")},[e.createVNode(e.unref(Xe),{render:le.column.columnDef.cell,props:le.getContext()},null,8,["render","props"])],2))]),_:2},1024))),128))]),_:2},1032,["data-state","onClick"]),!e.unref(c)&&q.getIsExpanded()?(e.openBlock(),e.createBlock(_,{key:0},{default:e.withCtx(()=>[e.createVNode(z,{colspan:q.getAllCells().length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(JSON.stringify(q.original)),1)]),_:2},1032,["colspan"])]),_:2},1024)):e.createCommentVNode("",!0)],64))),128)):(e.openBlock(),e.createBlock(_,{key:1},{default:e.withCtx(()=>[e.createVNode(z,{colspan:999,class:"h-24 text-center"},{default:e.withCtx(()=>[...v[3]||(v[3]=[e.createTextVNode(" No results. ",-1)])]),_:1})]),_:1}))]),_:1},512)]),_:1})],2),e.createVNode(wo,{table:e.unref(w)},null,8,["table"]),e.createVNode(Yo,{ref_key:"mobileActionDrawer",ref:V},null,512)],64)}}}),pn={class:"grid grid-cols-3 gap-2 mb-2 py-2"},gn={class:"flex flex-col items-start gap-1.5"},mn={class:"flex flex-col items-start gap-1.5"},fn={class:"flex flex-col gap-1.5"},vn={key:0,class:"flex flex-col gap-2 mb-4"},Cn={class:"flex flex-col gap-1.5"},xn={class:"flex flex-col items-start gap-1.5 col-span-4"},wn={class:"flex flex-col items-start gap-1.5 col-span-4"},Vn=e.defineComponent({__name:"StatDialog",emits:["statAdded","statEdited","statRemoved"],setup(t,{expose:l,emit:n}){const o=n,r=e.inject("columns"),a=e.ref(!1),u=e.ref("add"),s=e.ref(null),d=e.reactive({label:"",method:"",field:"",conditions:[]}),g=c=>{u.value=c?"edit":"add",s.value=c??null,d.label=c?.label??"",d.method=c?.method??"",d.field=c?.field??"",d.conditions=c?.conditions??[],a.value=!0},f=()=>{let c=crypto.randomUUID();d.conditions.push({id:c,field:"",condition:"==",value:""})},w=c=>{d.conditions=d.conditions.filter(m=>m.id!==c)},p=()=>{u.value==="add"?o("statAdded",d):o("statEdited",{...d,id:s.value.id}),a.value=!1},i=()=>{o("statRemoved",s.value),a.value=!1};return l({openDialog:g}),(c,m)=>{const k=e.resolveComponent("DialogTitle"),C=e.resolveComponent("DialogDescription"),S=e.resolveComponent("DialogHeader"),V=e.resolveComponent("Label"),h=e.resolveComponent("Input"),b=e.resolveComponent("SelectValue"),R=e.resolveComponent("SelectTrigger"),x=e.resolveComponent("SelectItem"),T=e.resolveComponent("SelectContent"),P=e.resolveComponent("Select"),B=e.resolveComponent("ComboboxTrigger"),N=e.resolveComponent("ComboboxInput"),H=e.resolveComponent("ComboboxAnchor"),O=e.resolveComponent("ComboboxItem"),D=e.resolveComponent("ComboboxGroup"),M=e.resolveComponent("ComboboxList"),G=e.resolveComponent("Combobox"),X=e.resolveComponent("Button"),oe=e.resolveComponent("DialogFooter"),re=e.resolveComponent("DialogScrollContent"),ie=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(ie,{open:a.value,"onUpdate:open":m[4]||(m[4]=L=>a.value=L)},{default:e.withCtx(()=>[e.createVNode(re,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value==="add"?"Add Stat":"Edit Stat"),1)]),_:1}),e.createVNode(C,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value==="add"?"Add a new stat for this table.":"Edit the selected stat."),1)]),_:1})]),_:1}),e.createElementVNode("div",pn,[e.createElementVNode("div",gn,[e.createVNode(V,{for:"stat_dialog_label",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...m[5]||(m[5]=[e.createTextVNode("Label",-1)])]),_:1}),e.createVNode(h,{id:"stat_dialog_label",modelValue:d.label,"onUpdate:modelValue":m[0]||(m[0]=L=>d.label=L)},null,8,["modelValue"])]),e.createElementVNode("div",mn,[e.createVNode(V,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...m[6]||(m[6]=[e.createTextVNode("Method",-1)])]),_:1}),e.createVNode(P,{modelValue:d.method,"onUpdate:modelValue":m[1]||(m[1]=L=>d.method=L)},{default:e.withCtx(()=>[e.createVNode(R,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(b,{placeholder:"Select a method"})]),_:1}),e.createVNode(T,null,{default:e.withCtx(()=>[e.createVNode(x,{value:"count"},{default:e.withCtx(()=>[...m[7]||(m[7]=[e.createTextVNode("Row count",-1)])]),_:1}),e.createVNode(x,{value:"sum"},{default:e.withCtx(()=>[...m[8]||(m[8]=[e.createTextVNode("Sum",-1)])]),_:1}),e.createVNode(x,{value:"average"},{default:e.withCtx(()=>[...m[9]||(m[9]=[e.createTextVNode("Average",-1)])]),_:1}),e.createVNode(x,{value:"min"},{default:e.withCtx(()=>[...m[10]||(m[10]=[e.createTextVNode("Min (lowest value)",-1)])]),_:1}),e.createVNode(x,{value:"max"},{default:e.withCtx(()=>[...m[11]||(m[11]=[e.createTextVNode("Max (highest value)",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),d.method!=="count"?(e.openBlock(),e.createBlock(G,{key:0,by:"label",class:"w-full",resetSearchTermOnBlur:!1,resetSearchTermOnSelect:!0,modelValue:d.field,"onUpdate:modelValue":m[3]||(m[3]=L=>d.field=L)},{default:e.withCtx(()=>[e.createVNode(H,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",fn,[e.createVNode(B,null,{default:e.withCtx(()=>[e.createVNode(V,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...m[12]||(m[12]=[e.createTextVNode("Field",-1)])]),_:1})]),_:1}),e.createVNode(N,{modelValue:d.field,"onUpdate:modelValue":m[2]||(m[2]=L=>d.field=L),hideIcon:"",class:"w-full"},null,8,["modelValue"])])]),_:1}),e.createVNode(M,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(D,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),L=>(e.openBlock(),e.createBlock(O,{key:L.property,value:L.property,onSelect:()=>{d.field=L.property}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(L.property)+" ",1),d.field===L.property?(e.openBlock(),e.createBlock(e.unref(j.Check),{key:0,class:e.normalizeClass(e.unref(Q.classNames)("ml-auto size-4"))},null,8,["class"])):e.createCommentVNode("",!0)]),_:2},1032,["value","onSelect"]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.createVNode(V,{class:"mb-1"},{default:e.withCtx(()=>[...m[13]||(m[13]=[e.createTextVNode("Conditions",-1)])]),_:1}),m[25]||(m[25]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mb-2"}," Only rows that match the conditions will be included in the calculation of the stat. ",-1)),d.conditions?.length>0?(e.openBlock(),e.createElementBlock("div",vn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.conditions,L=>(e.openBlock(),e.createElementBlock("div",{key:L.id,class:"grid grid-cols-13 gap-2"},[e.createVNode(G,{by:"label",class:"col-span-4",resetSearchTermOnBlur:!1,resetSearchTermOnSelect:!0,modelValue:L.field,"onUpdate:modelValue":K=>L.field=K},{default:e.withCtx(()=>[e.createVNode(H,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",Cn,[e.createVNode(B,null,{default:e.withCtx(()=>[e.createVNode(V,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...m[14]||(m[14]=[e.createTextVNode("Field",-1)])]),_:1})]),_:1}),e.createVNode(N,{modelValue:L.field,"onUpdate:modelValue":K=>L.field=K,hideIcon:"",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])])]),_:2},1024),e.createVNode(M,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(D,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),K=>(e.openBlock(),e.createBlock(O,{key:K.property,value:K.property,onSelect:()=>{L.field=K.property}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(K.property)+" ",1),L.field===K.property?(e.openBlock(),e.createBlock(e.unref(j.Check),{key:0,class:e.normalizeClass(e.unref(Q.classNames)("ml-auto size-4"))},null,8,["class"])):e.createCommentVNode("",!0)]),_:2},1032,["value","onSelect"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"]),e.createElementVNode("div",xn,[e.createVNode(V,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...m[15]||(m[15]=[e.createTextVNode("Condition",-1)])]),_:1}),e.createVNode(P,{modelValue:L.condition,"onUpdate:modelValue":K=>L.condition=K},{default:e.withCtx(()=>[e.createVNode(R,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(b,{placeholder:"Select a condition"})]),_:1}),e.createVNode(T,null,{default:e.withCtx(()=>[e.createVNode(x,{value:"=="},{default:e.withCtx(()=>[...m[16]||(m[16]=[e.createTextVNode("(==) Is equal to",-1)])]),_:1}),e.createVNode(x,{value:"!="},{default:e.withCtx(()=>[...m[17]||(m[17]=[e.createTextVNode("(!=) Is not equal to",-1)])]),_:1}),e.createVNode(x,{value:">"},{default:e.withCtx(()=>[...m[18]||(m[18]=[e.createTextVNode("(>) Is greater than",-1)])]),_:1}),e.createVNode(x,{value:"<"},{default:e.withCtx(()=>[...m[19]||(m[19]=[e.createTextVNode("(<) Is less than",-1)])]),_:1}),e.createVNode(x,{value:">="},{default:e.withCtx(()=>[...m[20]||(m[20]=[e.createTextVNode("(>=) Is greater than or equal to",-1)])]),_:1}),e.createVNode(x,{value:"<="},{default:e.withCtx(()=>[...m[21]||(m[21]=[e.createTextVNode("(<=) Is less than or equal to",-1)])]),_:1}),e.createVNode(x,{value:"in"},{default:e.withCtx(()=>[...m[22]||(m[22]=[e.createTextVNode("(in) Equal to any of the following",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",wn,[e.createVNode(V,{class:"text-xs text-muted-foreground",for:L.id+"_value"},{default:e.withCtx(()=>[...m[23]||(m[23]=[e.createTextVNode("Value",-1)])]),_:1},8,["for"]),e.createVNode(h,{modelValue:L.value,"onUpdate:modelValue":K=>L.value=K,class:"w-full",id:L.id+"_value"},null,8,["modelValue","onUpdate:modelValue","id"])]),e.createVNode(X,{variant:"ghost",size:"icon",class:"rounded-xl self-end col-span-1",onClick:K=>w(L.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(j.Trash2),{class:"size-4"})]),_:1},8,["onClick"])]))),128))])):e.createCommentVNode("",!0),e.createVNode(X,{variant:"outline",onClick:f},{default:e.withCtx(()=>[e.createVNode(e.unref(j.Plus),{class:"size-4"}),m[24]||(m[24]=e.createTextVNode(" Add Condition ",-1))]),_:1})]),e.createVNode(oe,null,{default:e.withCtx(()=>[u.value==="edit"?(e.openBlock(),e.createBlock(X,{key:0,variant:"destructive",onClick:i},{default:e.withCtx(()=>[...m[26]||(m[26]=[e.createTextVNode(" Remove Stat ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(X,{onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value==="add"?"Add Stat":"Save changes"),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),hn={class:"flex flex-wrap gap-2 mb-4"},yn=["onClick"],Sn={class:"text-2xl font-bold"},_n={class:"text-xs text-muted-foreground truncate w-full text-center"},Nn=e.defineComponent({__name:"Stats",setup(t){const l=e.inject("data"),{isAdmin:n}=Y.useModulePermissions(),{getModuleData:o,setModuleData:r}=Y.useModuleStorage(),a=e.ref(),u=e.ref([]),s=V=>{let h=crypto.randomUUID();(!u.value||u?.value?.length===0)&&(u.value=[]),u.value.push({...V,id:h}),r("stats",u.value)},d=V=>{u.value=u.value.map(h=>h.id===V.id?V:h),r("stats",u.value)},g=V=>{u.value=u.value.filter(h=>h.id!==V),r("stats",u.value)},f=V=>{switch(V.method){case"count":return p(V.conditions);case"sum":return i(V.field,V.conditions);case"average":return c(V.field,V.conditions);case"min":return m(V.field,V.conditions);case"max":return k(V.field,V.conditions);default:return""}},w=V=>{if(V){let h=parseFloat(V).toFixed(2).split(".");return h[0]=h[0].replace(/\B(?=(\d{3})+(?!\d))/g," "),!h[1]||h[1]=="00"?h[0]:h.join(".")}return"..."},p=V=>S(V)?.length,i=(V,h)=>{let b=0;return S(h).forEach(R=>{b+=parseFloat(C(R,V))?parseFloat(String(C(R,V)).replace(",",".")):C(R,V)===!0?1:0}),b.toFixed(2).slice(-2)=="00"?b.toFixed(0):b.toFixed(2)},c=(V,h)=>{let b=0,R=0;if(S(h).forEach(x=>{parseFloat(C(x,V))&&(b+=parseFloat(String(C(x,V)).replace(",",".")),R+=1)}),R>0){const x=b/R;return x.toFixed(2).slice(-2)=="00"?x.toFixed(0):x.toFixed(2)}return"..."},m=(V,h)=>{let b=S(h)[0][V];return S(h).forEach(R=>{C(R,V)<b&&(b=C(R,V))}),b},k=(V,h)=>{let b=S(h)[0][V];return S(h).forEach(R=>{parseFloat(C(R,V))&&C(R,V)>b&&(b=C(R,V))}),parseFloat(String(b).replace(",",".")).toFixed(2)},C=(V,h)=>{if(!V||!h)return;const[b,...R]=h.split(".");return R?.length?C(V[b],R.join(".")):V[h]??""},S=V=>{let h=[...l.value];if(Array.isArray(V))for(let b=0;b<V?.length;b++)V[b].condition=="=="?h=h.filter(R=>V[b].value?.split(",").indexOf(R[V[b].field])!=-1):V[b].condition=="!="?h=h.filter(R=>V[b].value?.split(",").indexOf(R[V[b].field])==-1):V[b].condition==">"?h=h.filter(R=>R[V[b].field]>V[b].value):V[b].condition==">="?h=h.filter(R=>R[V[b].field]>=V[b].value):V[b].condition=="<"?h=h.filter(R=>R[V[b].field]<V[b].value):V[b].condition=="<="?h=h.filter(R=>R[V[b].field]<=V[b].value):V[b].condition=="in"&&(h=h.filter(R=>V[b].value?.indexOf(String(R[V[b].field]))!=-1));return h};return e.onMounted(async()=>{u.value=await o("stats")||[]}),(V,h)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",hn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,b=>(e.openBlock(),e.createElementBlock("div",{key:b.label,class:e.normalizeClass(["flex flex-col items-center justify-center size-24 p-4 border rounded-md",e.unref(n)()?"hover:bg-muted cursor-pointer":""]),onClick:R=>e.unref(n)()?a.value.openDialog(b):null},[e.createElementVNode("span",Sn,e.toDisplayString(e.unref(l)?.length>0?w(f(b)):"..."),1),e.createElementVNode("span",_n,e.toDisplayString(b.label),1)],10,yn))),128)),e.unref(n)()?(e.openBlock(),e.createElementBlock("div",{key:0,class:"flex flex-col items-center justify-center size-24 p-4 border rounded-md hover:bg-muted cursor-pointer",onClick:h[0]||(h[0]=b=>a.value.openDialog())},[e.createVNode(e.unref(j.Plus),{class:"size-8 text-primary"})])):e.createCommentVNode("",!0)]),e.createVNode(Vn,{ref_key:"statDialog",ref:a,onStatAdded:h[1]||(h[1]=b=>s(b)),onStatEdited:h[2]||(h[2]=b=>d(b)),onStatRemoved:h[3]||(h[3]=b=>g(b))},null,512)],64))}}),bn={class:"grid gap-4 p-4 bg-muted/20 rounded-lg"},kn={class:"grid grid-cols-5 items-center gap-4"},Rn={class:"grid grid-cols-5 items-center gap-4"},Dn={class:"grid grid-cols-5 items-center gap-4"},Fn={class:"grid grid-cols-5 items-center gap-4"},$n={class:"grid grid-cols-5 items-center gap-4"},Tn={key:0,class:"grid grid-cols-5 items-center gap-4"},En={class:"grid grid-cols-5 items-center gap-4"},Bn={key:1,class:"grid grid-cols-5 items-center gap-4"},Mn={class:"grid grid-cols-5 items-center gap-4"},Pn=e.defineComponent({__name:"DialogTableColumnItem",props:{column:{type:Object,required:!0}},setup(t){const l=t;return e.watch(()=>l.column.type,n=>{n==="array-counter"&&l.column.showArrayPreview===void 0&&(l.column.showArrayPreview=!0)},{immediate:!0}),(n,o)=>{const r=e.resolveComponent("AccordionTrigger"),a=e.resolveComponent("Label"),u=e.resolveComponent("Input"),s=e.resolveComponent("Checkbox"),d=e.resolveComponent("SelectValue"),g=e.resolveComponent("SelectTrigger"),f=e.resolveComponent("SelectLabel"),w=e.resolveComponent("SelectItem"),p=e.resolveComponent("SelectGroup"),i=e.resolveComponent("SelectContent"),c=e.resolveComponent("Select"),m=e.resolveComponent("Button"),k=e.resolveComponent("AccordionContent"),C=e.resolveComponent("AccordionItem");return e.openBlock(),e.createBlock(C,{value:t.column.id},{default:e.withCtx(()=>[e.createVNode(r,{class:e.normalizeClass({"line-through hover:line-through text-red-400":t.column._remove})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.column.label),1)]),_:1},8,["class"]),e.createVNode(k,null,{default:e.withCtx(()=>[e.createElementVNode("div",bn,[e.createElementVNode("div",{class:e.normalizeClass(["grid gap-4",{"opacity-40 pointer-events-none":t.column._remove}])},[e.createElementVNode("div",kn,[e.createVNode(a,{for:"property",class:"text-right col-span-2"},{default:e.withCtx(()=>[...o[10]||(o[10]=[e.createTextVNode(" Property ",-1)])]),_:1}),e.createVNode(u,{id:"property",class:"col-span-3",modelValue:t.column.property,"onUpdate:modelValue":o[0]||(o[0]=S=>t.column.property=S),tabindex:t.column._remove?-1:0},null,8,["modelValue","tabindex"])]),e.createElementVNode("div",Rn,[e.createVNode(a,{for:"label",class:"text-right col-span-2"},{default:e.withCtx(()=>[...o[11]||(o[11]=[e.createTextVNode(" Label ",-1)])]),_:1}),e.createVNode(u,{id:"label",class:"col-span-3",modelValue:t.column.label,"onUpdate:modelValue":o[1]||(o[1]=S=>t.column.label=S),tabindex:t.column._remove?-1:0},null,8,["modelValue","tabindex"])]),e.createElementVNode("div",Dn,[e.createVNode(a,{for:"visible",class:"text-right col-span-2"},{default:e.withCtx(()=>[...o[12]||(o[12]=[e.createTextVNode(" Visible ",-1)])]),_:1}),e.createVNode(s,{id:"visible",class:"col-span-3 border-ring",modelValue:t.column.visible,"onUpdate:modelValue":o[2]||(o[2]=S=>t.column.visible=S),tabindex:t.column._remove?-1:0},null,8,["modelValue","tabindex"])]),e.createElementVNode("div",Fn,[e.createVNode(a,{for:"type",class:"text-right col-span-2"},{default:e.withCtx(()=>[...o[13]||(o[13]=[e.createTextVNode(" Type ",-1)])]),_:1}),e.createVNode(c,{modelValue:t.column.type,"onUpdate:modelValue":o[3]||(o[3]=S=>t.column.type=S)},{default:e.withCtx(()=>[e.createVNode(g,{class:"w-[180px]",tabindex:t.column._remove?-1:0},{default:e.withCtx(()=>[e.createVNode(d,{placeholder:"Select a type"})]),_:1},8,["tabindex"]),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[...o[14]||(o[14]=[e.createTextVNode("Types",-1)])]),_:1}),e.createVNode(w,{value:"text"},{default:e.withCtx(()=>[...o[15]||(o[15]=[e.createTextVNode(" Text ",-1)])]),_:1}),e.createVNode(w,{value:"number"},{default:e.withCtx(()=>[...o[16]||(o[16]=[e.createTextVNode(" Number ",-1)])]),_:1}),e.createVNode(w,{value:"date"},{default:e.withCtx(()=>[...o[17]||(o[17]=[e.createTextVNode(" Date ",-1)])]),_:1}),e.createVNode(w,{value:"datetime"},{default:e.withCtx(()=>[...o[18]||(o[18]=[e.createTextVNode(" Datetime ",-1)])]),_:1}),e.createVNode(w,{value:"boolean"},{default:e.withCtx(()=>[...o[19]||(o[19]=[e.createTextVNode(" Boolean ",-1)])]),_:1}),e.createVNode(w,{value:"URL"},{default:e.withCtx(()=>[...o[20]||(o[20]=[e.createTextVNode(" URL ",-1)])]),_:1}),e.createVNode(w,{value:"email"},{default:e.withCtx(()=>[...o[21]||(o[21]=[e.createTextVNode(" Email ",-1)])]),_:1}),e.createVNode(w,{value:"phone"},{default:e.withCtx(()=>[...o[22]||(o[22]=[e.createTextVNode(" Phone ",-1)])]),_:1}),e.createVNode(w,{value:"currency"},{default:e.withCtx(()=>[...o[23]||(o[23]=[e.createTextVNode(" Currency ",-1)])]),_:1}),e.createVNode(w,{value:"image"},{default:e.withCtx(()=>[...o[24]||(o[24]=[e.createTextVNode(" Image ",-1)])]),_:1}),e.createVNode(w,{value:"array"},{default:e.withCtx(()=>[...o[25]||(o[25]=[e.createTextVNode(" Array ",-1)])]),_:1}),e.createVNode(w,{value:"array-counter"},{default:e.withCtx(()=>[...o[26]||(o[26]=[e.createTextVNode(" Array counter ",-1)])]),_:1}),e.createVNode(w,{value:"html"},{default:e.withCtx(()=>[...o[27]||(o[27]=[e.createTextVNode(" HTML (innerText) ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),e.createElementVNode("div",$n,[e.createVNode(a,{for:"showInCompactMode",class:"text-right col-span-2"},{default:e.withCtx(()=>[...o[28]||(o[28]=[e.createTextVNode(" Show in compact mode ",-1)])]),_:1}),e.createVNode(s,{id:"showInCompactMode",class:"col-span-3 border-ring",modelValue:t.column.showInCompactMode,"onUpdate:modelValue":o[4]||(o[4]=S=>t.column.showInCompactMode=S),tabindex:t.column._remove?-1:0},null,8,["modelValue","tabindex"])]),t.column.type==="array-counter"?(e.openBlock(),e.createElementBlock("div",Tn,[e.createVNode(a,{for:"showArrayPreview",class:"text-right col-span-2"},{default:e.withCtx(()=>[...o[29]||(o[29]=[e.createTextVNode(" Show array preview ",-1)])]),_:1}),e.createVNode(s,{id:"showArrayPreview",class:"col-span-3 border-ring",modelValue:t.column.showArrayPreview,"onUpdate:modelValue":o[5]||(o[5]=S=>t.column.showArrayPreview=S),tabindex:t.column._remove?-1:0},null,8,["modelValue","tabindex"])])):e.createCommentVNode("",!0),e.createElementVNode("div",En,[e.createVNode(a,{for:"showInfoButton",class:"text-right col-span-2"},{default:e.withCtx(()=>[...o[30]||(o[30]=[e.createTextVNode(" Show info button ",-1)])]),_:1}),e.createVNode(s,{id:"showInfoButton",class:"col-span-3 border-ring",modelValue:t.column.showInfoButton,"onUpdate:modelValue":o[6]||(o[6]=S=>t.column.showInfoButton=S),tabindex:t.column._remove?-1:0},null,8,["modelValue","tabindex"])]),t.column.showInfoButton?(e.openBlock(),e.createElementBlock("div",Bn,[e.createVNode(a,{for:"infoTooltipText",class:"text-right col-span-2"},{default:e.withCtx(()=>[...o[31]||(o[31]=[e.createTextVNode(" Info tooltip text ",-1)])]),_:1}),e.createVNode(u,{id:"infoTooltipText",class:"col-span-3",modelValue:t.column.infoTooltipText,"onUpdate:modelValue":o[7]||(o[7]=S=>t.column.infoTooltipText=S),tabindex:t.column._remove?-1:0},null,8,["modelValue","tabindex"])])):e.createCommentVNode("",!0)],2),e.createElementVNode("div",Mn,[e.createVNode(a,{class:"text-right col-span-2"},{default:e.withCtx(()=>[...o[32]||(o[32]=[e.createTextVNode(" Delete column? ",-1)])]),_:1}),t.column._remove?(e.openBlock(),e.createBlock(m,{key:1,class:"col-span-3",variant:"outline",onClick:o[9]||(o[9]=S=>t.column._remove=!1)},{default:e.withCtx(()=>[...o[34]||(o[34]=[e.createTextVNode("Undo delete",-1)])]),_:1})):(e.openBlock(),e.createBlock(m,{key:0,class:"col-span-3",variant:"destructive",onClick:o[8]||(o[8]=S=>t.column._remove=!0)},{default:e.withCtx(()=>[...o[33]||(o[33]=[e.createTextVNode("Delete column",-1)])]),_:1}))])])]),_:1})]),_:1},8,["value"])}}}),In={class:"flex flex-col items-start gap-4 py-4"},An={key:0,class:"flex flex-col gap-2 w-full"},Ln={class:"flex flex-wrap gap-2"},zn=["onClick"],Hn={class:"text-muted-foreground"},Un={class:"grid gap-4"},On={class:"grid grid-cols-5 items-center gap-4"},Gn={class:"grid grid-cols-5 items-center gap-4"},jn={class:"grid grid-cols-5 items-center gap-4"},qn={class:"grid grid-cols-5 items-center gap-4"},Yn={class:"grid grid-cols-5 items-center gap-4"},Kn={key:0,class:"grid grid-cols-5 items-center gap-4"},Xn={class:"grid grid-cols-5 items-center gap-4"},Jn={key:1,class:"grid grid-cols-5 items-center gap-4"},Wn={class:"flex justify-end gap-2"},Qn={class:"absolute left-0 top-0 bottom-0 flex flex-col justify-center gap-1 z-10 opacity-0 group-hover:opacity-100 transition-opacity"},Zn=e.defineComponent({__name:"ColumnEditorDialog",props:{open:{type:Boolean,default:null},onSelect:{type:Function,required:!0},onOpenChange:{type:Function,required:!0}},emits:["update:open"],setup(t,{emit:l}){const{setModuleData:n}=Y.useModuleStorage(),o=t,r=l,a=e.inject("columns"),u=e.inject("data"),s=e.ref([]),d={email:"email",phone:"phone",tel:"phone",mobile:"phone",image:"image",photo:"image",avatar:"image",thumbnail:"image",logo:"image",picture:"image",url:"URL",link:"URL",website:"URL",href:"URL",price:"currency",amount:"currency",cost:"currency",total:"currency",revenue:"currency",salary:"currency",fee:"currency"},g=R=>{const x=R.filter(D=>D!=null&&D!=="");if(!x.length)return"text";if(x.every(D=>typeof D=="boolean"))return"boolean";if(x.every(D=>Array.isArray(D)))return"array";if(x.every(D=>typeof D=="number"))return"number";const T=x.filter(D=>typeof D=="string");if(!T.length)return"text";const P=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,B=/^\+?[\d\s\-().]{7,}$/,N=/^https?:\/\//,H=/\.(png|jpe?g|gif|webp|svg|avif)(\?.*)?$/i,O=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?/;return T.every(D=>P.test(D))?"email":T.every(D=>H.test(D))?"image":T.every(D=>N.test(D))?"URL":T.every(D=>O.test(D))?T.some(D=>D.includes("T"))?"datetime":"date":T.every(D=>!isNaN(Number(D))&&D.trim()!=="")?"number":T.every(D=>B.test(D))?"phone":"text"},f=(R,x)=>{const T=R.toLowerCase();for(const[P,B]of Object.entries(d))if(T===P||T.endsWith(P)||T.startsWith(P))return B;return T.includes("date")||T==="createdat"||T==="updatedat"||T==="timestamp"?"datetime":g(x)},w=R=>R.replace(/([A-Z])/g," $1").replace(/[_-]/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,x=>x.toUpperCase()),p=e.computed(()=>{const R=u?.value??[];if(!R.length)return[];const x=new Set(s.value.map(P=>P.property)),T=new Set;for(const P of R)P&&typeof P=="object"&&Object.keys(P).forEach(B=>T.add(B));return Array.from(T).filter(P=>!x.has(P)).map(P=>{const B=R.map(N=>N?.[P]);return{property:P,label:w(P),type:f(P,B),visible:!0,showInCompactMode:!1,showInfoButton:!1,infoTooltipText:""}})}),i=e.computed({get(){return o.open},set(R){r("update:open",R)}});e.watch(i,async(R,x)=>{R&&!x&&(s.value=a.value?JSON.parse(JSON.stringify(a.value)).map(T=>({...T,...T.type==="array-counter"?{showArrayPreview:T.showArrayPreview??!0}:{}})):[])});const c=e.reactive({property:"",label:"",visible:!0,type:"text",showInCompactMode:!1,showInfoButton:!1,infoTooltipText:"",showArrayPreview:!0}),m=e.ref(!1),k=()=>{m.value=!1,c.property="",c.label="",c.visible=!0,c.type="text",c.showInCompactMode=!1,c.showInfoButton=!1,c.infoTooltipText="",c.showArrayPreview=!0},C=R=>{s.value||(s.value=[]),s.value.push({...R,id:crypto.randomUUID()})},S=()=>{s.value||(s.value=[]);let R=crypto.randomUUID();const x={...c};x.type!=="array-counter"&&delete x.showArrayPreview,s.value.push({...x,id:R}),k()},V=R=>{if(R>0){const x=s.value[R];s.value[R]=s.value[R-1],s.value[R-1]=x}},h=R=>{if(R<s.value.length-1){const x=s.value[R];s.value[R]=s.value[R+1],s.value[R+1]=x}},b=()=>{s.value=s.value.filter(R=>!R._remove),n("columns",s.value),a.value=s.value,k(),i.value=!1};return(R,x)=>{const T=e.resolveComponent("DropdownMenuItem"),P=e.resolveComponent("DialogTrigger"),B=e.resolveComponent("DialogTitle"),N=e.resolveComponent("DialogDescription"),H=e.resolveComponent("DialogHeader"),O=e.resolveComponent("Button"),D=e.resolveComponent("PopoverTrigger"),M=e.resolveComponent("Label"),G=e.resolveComponent("Input"),X=e.resolveComponent("Checkbox"),oe=e.resolveComponent("SelectValue"),re=e.resolveComponent("SelectTrigger"),ie=e.resolveComponent("SelectLabel"),L=e.resolveComponent("SelectItem"),K=e.resolveComponent("SelectGroup"),ge=e.resolveComponent("SelectContent"),me=e.resolveComponent("Select"),fe=e.resolveComponent("PopoverContent"),ne=e.resolveComponent("Popover"),ve=e.resolveComponent("Accordion"),Ce=e.resolveComponent("DialogFooter"),xe=e.resolveComponent("DialogScrollContent"),se=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(se,{open:i.value,"onUpdate:open":[x[10]||(x[10]=E=>i.value=E),t.onOpenChange]},{default:e.withCtx(()=>[e.createVNode(P,{asChild:""},{default:e.withCtx(()=>[e.createVNode(T,{onSelect:x[0]||(x[0]=E=>{E.preventDefault(),t.onSelect&&t.onSelect(),i.value=!0})},{default:e.withCtx(()=>[...x[11]||(x[11]=[e.createElementVNode("span",{class:"text-primary"},"Edit columns",-1)])]),_:1})]),_:1}),e.createVNode(xe,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(H,null,{default:e.withCtx(()=>[e.createVNode(B,null,{default:e.withCtx(()=>[...x[12]||(x[12]=[e.createTextVNode("Edit columns",-1)])]),_:1}),e.createVNode(N,null,{default:e.withCtx(()=>[...x[13]||(x[13]=[e.createTextVNode(" Define all columns for this table. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",In,[p.value.length?(e.openBlock(),e.createElementBlock("div",An,[x[14]||(x[14]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Suggested columns from your data",-1)),e.createElementVNode("div",Ln,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,E=>(e.openBlock(),e.createElementBlock("button",{key:E.property,type:"button",class:"inline-flex items-center gap-1.5 rounded-full border px-3 py-1 text-xs font-medium transition-colors hover:bg-accent hover:text-accent-foreground cursor-pointer",onClick:ue=>C(E)},[e.createTextVNode(e.toDisplayString(E.label)+" ",1),e.createElementVNode("span",Hn,e.toDisplayString(E.type),1)],8,zn))),128))])])):e.createCommentVNode("",!0),e.createVNode(ne,{open:m.value,"onUpdate:open":x[9]||(x[9]=E=>m.value=E)},{default:e.withCtx(()=>[e.createVNode(D,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(O,{variant:"outline"},{default:e.withCtx(()=>[e.createVNode(e.unref(j.Plus),{class:"mr-2 size-4"}),x[15]||(x[15]=e.createTextVNode(" Add column ",-1))]),_:1})]),_:1}),e.createVNode(fe,{class:"w-96"},{default:e.withCtx(()=>[e.createElementVNode("div",Un,[e.createElementVNode("div",On,[e.createVNode(M,{for:"property",class:"text-right col-span-2"},{default:e.withCtx(()=>[...x[16]||(x[16]=[e.createTextVNode(" Property ",-1)])]),_:1}),e.createVNode(G,{id:"property",class:"col-span-3",modelValue:c.property,"onUpdate:modelValue":x[1]||(x[1]=E=>c.property=E)},null,8,["modelValue"])]),e.createElementVNode("div",Gn,[e.createVNode(M,{for:"label",class:"text-right col-span-2"},{default:e.withCtx(()=>[...x[17]||(x[17]=[e.createTextVNode(" Label ",-1)])]),_:1}),e.createVNode(G,{id:"label",class:"col-span-3",modelValue:c.label,"onUpdate:modelValue":x[2]||(x[2]=E=>c.label=E)},null,8,["modelValue"])]),e.createElementVNode("div",jn,[e.createVNode(M,{for:"visible",class:"text-right col-span-2"},{default:e.withCtx(()=>[...x[18]||(x[18]=[e.createTextVNode(" Visible ",-1)])]),_:1}),e.createVNode(X,{id:"visible",class:"col-span-3 border-ring",modelValue:c.visible,"onUpdate:modelValue":x[3]||(x[3]=E=>c.visible=E)},null,8,["modelValue"])]),e.createElementVNode("div",qn,[e.createVNode(M,{for:"type",class:"text-right col-span-2"},{default:e.withCtx(()=>[...x[19]||(x[19]=[e.createTextVNode(" Type ",-1)])]),_:1}),e.createVNode(me,{modelValue:c.type,"onUpdate:modelValue":x[4]||(x[4]=E=>c.type=E)},{default:e.withCtx(()=>[e.createVNode(re,{class:"w-[180px]"},{default:e.withCtx(()=>[e.createVNode(oe,{placeholder:"Select a type"})]),_:1}),e.createVNode(ge,null,{default:e.withCtx(()=>[e.createVNode(K,null,{default:e.withCtx(()=>[e.createVNode(ie,null,{default:e.withCtx(()=>[...x[20]||(x[20]=[e.createTextVNode("Types",-1)])]),_:1}),e.createVNode(L,{value:"text"},{default:e.withCtx(()=>[...x[21]||(x[21]=[e.createTextVNode(" Text ",-1)])]),_:1}),e.createVNode(L,{value:"number"},{default:e.withCtx(()=>[...x[22]||(x[22]=[e.createTextVNode(" Number ",-1)])]),_:1}),e.createVNode(L,{value:"date"},{default:e.withCtx(()=>[...x[23]||(x[23]=[e.createTextVNode(" Date ",-1)])]),_:1}),e.createVNode(L,{value:"datetime"},{default:e.withCtx(()=>[...x[24]||(x[24]=[e.createTextVNode(" Datetime ",-1)])]),_:1}),e.createVNode(L,{value:"boolean"},{default:e.withCtx(()=>[...x[25]||(x[25]=[e.createTextVNode(" Boolean ",-1)])]),_:1}),e.createVNode(L,{value:"URL"},{default:e.withCtx(()=>[...x[26]||(x[26]=[e.createTextVNode(" URL ",-1)])]),_:1}),e.createVNode(L,{value:"email"},{default:e.withCtx(()=>[...x[27]||(x[27]=[e.createTextVNode(" Email ",-1)])]),_:1}),e.createVNode(L,{value:"phone"},{default:e.withCtx(()=>[...x[28]||(x[28]=[e.createTextVNode(" Phone ",-1)])]),_:1}),e.createVNode(L,{value:"currency"},{default:e.withCtx(()=>[...x[29]||(x[29]=[e.createTextVNode(" Currency ",-1)])]),_:1}),e.createVNode(L,{value:"image"},{default:e.withCtx(()=>[...x[30]||(x[30]=[e.createTextVNode(" Image ",-1)])]),_:1}),e.createVNode(L,{value:"array"},{default:e.withCtx(()=>[...x[31]||(x[31]=[e.createTextVNode(" Array ",-1)])]),_:1}),e.createVNode(L,{value:"array-counter"},{default:e.withCtx(()=>[...x[32]||(x[32]=[e.createTextVNode(" Array counter ",-1)])]),_:1}),e.createVNode(L,{value:"html"},{default:e.withCtx(()=>[...x[33]||(x[33]=[e.createTextVNode(" HTML (innerText) ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),e.createElementVNode("div",Yn,[e.createVNode(M,{for:"showInCompactMode",class:"text-right col-span-2"},{default:e.withCtx(()=>[...x[34]||(x[34]=[e.createTextVNode(" Show in compact mode ",-1)])]),_:1}),e.createVNode(X,{id:"showInCompactMode",class:"col-span-3 border-ring",modelValue:c.showInCompactMode,"onUpdate:modelValue":x[5]||(x[5]=E=>c.showInCompactMode=E)},null,8,["modelValue"])]),c.type==="array-counter"?(e.openBlock(),e.createElementBlock("div",Kn,[e.createVNode(M,{for:"showArrayPreview",class:"text-right col-span-2"},{default:e.withCtx(()=>[...x[35]||(x[35]=[e.createTextVNode(" Show array preview ",-1)])]),_:1}),e.createVNode(X,{id:"showArrayPreview",class:"col-span-3 border-ring",modelValue:c.showArrayPreview,"onUpdate:modelValue":x[6]||(x[6]=E=>c.showArrayPreview=E)},null,8,["modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Xn,[e.createVNode(M,{for:"showInfoButton",class:"text-right col-span-2"},{default:e.withCtx(()=>[...x[36]||(x[36]=[e.createTextVNode(" Show info button ",-1)])]),_:1}),e.createVNode(X,{id:"showInfoButton",class:"col-span-3 border-ring",modelValue:c.showInfoButton,"onUpdate:modelValue":x[7]||(x[7]=E=>c.showInfoButton=E)},null,8,["modelValue"])]),c.showInfoButton?(e.openBlock(),e.createElementBlock("div",Jn,[e.createVNode(M,{for:"infoTooltipText",class:"text-right col-span-2"},{default:e.withCtx(()=>[...x[37]||(x[37]=[e.createTextVNode(" Info tooltip text ",-1)])]),_:1}),e.createVNode(G,{id:"infoTooltipText",class:"col-span-3",modelValue:c.infoTooltipText,"onUpdate:modelValue":x[8]||(x[8]=E=>c.infoTooltipText=E)},null,8,["modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Wn,[e.createVNode(O,{variant:"outline",onClick:k},{default:e.withCtx(()=>[...x[38]||(x[38]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(O,{onClick:S,disabled:!c.property},{default:e.withCtx(()=>[...x[39]||(x[39]=[e.createTextVNode(" Add column ",-1)])]),_:1},8,["disabled"])])])]),_:1})]),_:1},8,["open"])]),e.createVNode(ve,{type:"single",collapsible:"",class:"w-full"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(E,ue)=>(e.openBlock(),e.createElementBlock("div",{key:E.id,class:"relative group"},[e.createElementVNode("div",Qn,[e.createVNode(O,{variant:"ghost",size:"icon",class:"h-6 w-6",onClick:De=>V(ue),disabled:ue===0},{default:e.withCtx(()=>[e.createVNode(e.unref(j.ChevronUp),{class:"h-4 w-4"})]),_:1},8,["onClick","disabled"]),e.createVNode(O,{variant:"ghost",size:"icon",class:"h-6 w-6",onClick:De=>h(ue),disabled:ue===s.value.length-1},{default:e.withCtx(()=>[e.createVNode(e.unref(j.ChevronDown),{class:"h-4 w-4"})]),_:1},8,["onClick","disabled"])]),e.createVNode(Pn,{column:E,class:"pl-10"},null,8,["column"])]))),128))]),_:1}),e.createVNode(Ce,null,{default:e.withCtx(()=>[e.createVNode(O,{onClick:b},{default:e.withCtx(()=>[...x[40]||(x[40]=[e.createTextVNode(" Save changes ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open","onUpdate:open"])}}}),el=e.defineComponent({__name:"ColumnDropdown",setup(t){const{isAdmin:l}=Y.useModulePermissions(),n=e.inject("columns"),o=e.ref(null),r=e.ref(null),a=e.ref(!1),u=e.ref(!1),s=()=>{r.value=o.value},d=f=>{u.value=f,f||(a.value=!1)},g=f=>{a.value=f};return(f,w)=>{const p=e.resolveComponent("Button"),i=e.resolveComponent("DropdownMenuTrigger"),c=e.resolveComponent("DropdownMenuSeparator"),m=e.resolveComponent("DropdownMenuCheckboxItem"),k=e.resolveComponent("DropdownMenuContent"),C=e.resolveComponent("DropdownMenu");return e.openBlock(),e.createBlock(C,{open:a.value,"onUpdate:open":g},{default:e.withCtx(()=>[e.createVNode(i,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(p,{variant:"outline",class:"ml-auto"},{default:e.withCtx(()=>[w[3]||(w[3]=e.createTextVNode(" Columns ",-1)),e.createVNode(e.unref(j.ChevronDown),{class:"ml-2 size-4"})]),_:1})]),_:1}),e.createVNode(k,{align:"end",onCloseAutoFocus:w[2]||(w[2]=S=>{S.preventDefault()})},{default:e.withCtx(()=>[e.unref(l)()?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(Zn,{open:u.value,"onUpdate:open":w[0]||(w[0]=S=>u.value=S),onSelect:s,onOpenChange:d},null,8,["open"]),e.unref(n)?.length>0?(e.openBlock(),e.createBlock(c,{key:0})):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),S=>(e.openBlock(),e.createBlock(m,{key:S.id,class:"capitalize","model-value":S.visible,"onUpdate:modelValue":V=>{S.visible=V},onSelect:w[1]||(w[1]=V=>{V.preventDefault()})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.label),1)]),_:2},1032,["model-value","onUpdate:modelValue"]))),128))]),_:1})]),_:1},8,["open"])}}}),tl=e.defineComponent({__name:"Search",setup(t){const l=e.inject("table"),n=e.inject("sortMode"),o=e.ref("");let r;return e.watch(()=>l?.value?.getState().globalFilter??"",a=>{const u=typeof a=="string"?a:"";u!==o.value&&(o.value=u)},{immediate:!0}),e.watch(o,a=>{r&&clearTimeout(r),r=setTimeout(()=>{l?.value?.setGlobalFilter(a)},80)}),e.onBeforeUnmount(()=>{r&&clearTimeout(r)}),(a,u)=>{const s=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col items-start gap-1",e.unref(n)?"opacity-50 pointer-events-none":""])},[e.createVNode(s,{class:"min-w-48 max-w-48",placeholder:"Search...","model-value":o.value,"onUpdate:modelValue":u[0]||(u[0]=d=>o.value=typeof d=="string"?d:""),disabled:e.unref(n)},null,8,["model-value","disabled"])],2)}}}),ol={class:"flex flex-col items-start gap-4 py-4"},nl={class:"flex flex-col gap-1.5"},ll={class:"flex items-center gap-2 w-full justify-between"},rl={class:"flex items-center gap-2 ml-auto"},al=e.defineComponent({__name:"SortModeSettingsDialog",props:{savedField:{type:String,default:""}},emits:["saved"],setup(t,{emit:l}){const{isAdmin:n}=Y.useModulePermissions(),o=l,r=t,a=p=>{s.value=p},u=e.inject("columns"),s=e.ref(!1),d=e.ref("");e.watch(s,p=>{p&&(d.value=r.savedField??"")});const g=()=>{o("saved",{field:""}),f()},f=()=>{s.value=!1},w=()=>{o("saved",{field:d.value}),f()};return(p,i)=>{const c=e.resolveComponent("DialogTrigger"),m=e.resolveComponent("DialogTitle"),k=e.resolveComponent("DialogDescription"),C=e.resolveComponent("DialogHeader"),S=e.resolveComponent("Label"),V=e.resolveComponent("ComboboxTrigger"),h=e.resolveComponent("ComboboxInput"),b=e.resolveComponent("ComboboxAnchor"),R=e.resolveComponent("ComboboxItem"),x=e.resolveComponent("ComboboxGroup"),T=e.resolveComponent("ComboboxList"),P=e.resolveComponent("Combobox"),B=e.resolveComponent("Button"),N=e.resolveComponent("DialogFooter"),H=e.resolveComponent("DialogScrollContent"),O=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(O,{open:s.value,"onUpdate:open":[i[3]||(i[3]=D=>s.value=D),a]},{default:e.withCtx(()=>[e.createVNode(c,{asChild:""},{default:e.withCtx(()=>[e.unref(n)()?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-xs text-primary hover:underline",onClick:i[0]||(i[0]=D=>s.value=!0)},"Settings")):e.createCommentVNode("",!0)]),_:1}),e.createVNode(H,{class:"sm:max-w-lg"},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[...i[4]||(i[4]=[e.createTextVNode("Sort mode settings",-1)])]),_:1}),e.createVNode(k,null,{default:e.withCtx(()=>[...i[5]||(i[5]=[e.createTextVNode(" Select the property (of type number) to sort by. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",ol,[e.createVNode(P,{by:"label",class:"w-full",resetSearchTermOnBlur:!1,resetSearchTermOnSelect:!0,modelValue:d.value,"onUpdate:modelValue":i[2]||(i[2]=D=>d.value=D)},{default:e.withCtx(()=>[e.createVNode(b,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",nl,[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(S,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...i[6]||(i[6]=[e.createTextVNode("Field",-1)])]),_:1})]),_:1}),e.createVNode(h,{modelValue:d.value,"onUpdate:modelValue":i[1]||(i[1]=D=>d.value=D),hideIcon:"",class:"w-full"},null,8,["modelValue"])])]),_:1}),e.createVNode(T,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),D=>(e.openBlock(),e.createBlock(R,{key:D.property,value:D.property,onSelect:M=>d.value=D.property},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(D.property)+" ",1),d.value===D.property?(e.openBlock(),e.createBlock(e.unref(j.Check),{key:0,class:e.normalizeClass(e.unref(Q.classNames)("ml-auto size-4"))},null,8,["class"])):e.createCommentVNode("",!0)]),_:2},1032,["value","onSelect"]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),e.createVNode(N,null,{default:e.withCtx(()=>[e.createElementVNode("div",ll,[r.savedField?(e.openBlock(),e.createBlock(B,{key:0,variant:"outline",onClick:g},{default:e.withCtx(()=>[...i[7]||(i[7]=[e.createTextVNode(" Disable sort-mode ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",rl,[e.createVNode(B,{variant:"outline",onClick:f},{default:e.withCtx(()=>[...i[8]||(i[8]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(B,{onClick:w},{default:e.withCtx(()=>[...i[9]||(i[9]=[e.createTextVNode(" Save changes ",-1)])]),_:1})])])]),_:1})]),_:1})]),_:1},8,["open"])}}}),il={class:"flex flex-col items-start gap-1"},sl={key:1,class:"flex items-center gap-2"},ul=e.defineComponent({__name:"SortMode",setup(t){const{getModuleData:l,setModuleData:n}=Y.useModuleStorage(),{isAdmin:o}=Y.useModulePermissions(),r=e.inject("table"),a=e.inject("data"),u=e.inject("sortMode",e.ref(!1)),s=e.inject("sortModeProperty",e.ref("")),d=e.inject("saveSortMode",()=>{}),g=c=>{s.value=c.field,n("sortMode",c)};e.onMounted(async()=>{let c=await l("sortMode");s.value=c?.field??""});const f=e.ref(0),w=()=>{u.value=!0,f.value=r?.value?.getState().pagination.pageSize,r?.value?.setPageSize(a.value.length)},p=()=>{u.value=!1,r?.value?.setPageSize(f.value)},i=()=>{d()};return(c,m)=>{const k=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",il,[(e.unref(s)||e.unref(o)())&&!e.unref(u)?(e.openBlock(),e.createBlock(k,{key:0,variant:"outline",disabled:!e.unref(s),onClick:w},{default:e.withCtx(()=>[e.createVNode(e.unref(j.ArrowUpDown),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(e.unref(u)?"Save order":"Reorder rows"),1)]),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.unref(u)?(e.openBlock(),e.createElementBlock("div",sl,[e.createVNode(k,{variant:"outline",size:"icon",onClick:p},{default:e.withCtx(()=>[e.createVNode(e.unref(j.X),{class:"size-4"})]),_:1}),e.createVNode(k,{onClick:i},{default:e.withCtx(()=>[...m[0]||(m[0]=[e.createTextVNode(" Save order ",-1)])]),_:1})])):e.createCommentVNode("",!0),e.createVNode(al,{onSaved:g,"saved-field":e.unref(s)},null,8,["saved-field"])])}}});function ee(t){return new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().slice(0,10)}function Qe(){const t=new Date,l=ee(t);return{today:[l],yesterday:[ee(new Date(t.getFullYear(),t.getMonth(),t.getDate()-1))],last7days:[ee(new Date(t.getFullYear(),t.getMonth(),t.getDate()-6)),l],lastMonth:[ee(new Date(t.getFullYear(),t.getMonth()-1,t.getDate())),l],last6months:[ee(new Date(t.getFullYear(),t.getMonth()-6,t.getDate())),l],lastYear:[ee(new Date(t.getFullYear()-1,t.getMonth(),t.getDate())),l],tomorrow:[ee(new Date(t.getFullYear(),t.getMonth(),t.getDate()+1))],next7days:[l,ee(new Date(t.getFullYear(),t.getMonth(),t.getDate()+6))],nextMonth:[l,ee(new Date(t.getFullYear(),t.getMonth()+1,t.getDate()))],next6months:[l,ee(new Date(t.getFullYear(),t.getMonth()+6,t.getDate()))],nextYear:[l,ee(new Date(t.getFullYear()+1,t.getMonth(),t.getDate()))]}}const dl=["disabled"],cl={class:"flex flex-col items-start gap-4 py-4"},pl={class:"flex flex-col gap-1.5"},gl={class:"flex items-center gap-2 w-full justify-between"},ml={class:"flex items-center gap-2 ml-auto"},fl=e.defineComponent({__name:"DateRangeSettingsDialog",props:{savedDefaultDate:{type:String,default:""}},emits:["saved"],setup(t,{emit:l}){const{isAdmin:n}=Y.useModulePermissions(),o=l,r=t,a=p=>{s.value=p},u=e.inject("sortMode"),s=e.ref(!1),d=e.ref("");e.watch(s,p=>{p&&(d.value=r.savedDefaultDate??"")});const g=()=>{o("saved",""),f()},f=()=>{s.value=!1},w=()=>{o("saved",d.value),f()};return(p,i)=>{const c=e.resolveComponent("DialogTrigger"),m=e.resolveComponent("DialogTitle"),k=e.resolveComponent("DialogHeader"),C=e.resolveComponent("Label"),S=e.resolveComponent("SelectValue"),V=e.resolveComponent("SelectTrigger"),h=e.resolveComponent("SelectItem"),b=e.resolveComponent("SelectLabel"),R=e.resolveComponent("SelectGroup"),x=e.resolveComponent("SelectContent"),T=e.resolveComponent("Select"),P=e.resolveComponent("Button"),B=e.resolveComponent("DialogFooter"),N=e.resolveComponent("DialogScrollContent"),H=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(H,{open:s.value,"onUpdate:open":[i[2]||(i[2]=O=>s.value=O),a]},{default:e.withCtx(()=>[e.createVNode(c,{asChild:""},{default:e.withCtx(()=>[e.unref(n)()?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-xs text-primary hover:underline",disabled:e.unref(u),onClick:i[0]||(i[0]=O=>s.value=!0)},"Settings",8,dl)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(N,{class:"sm:max-w-lg"},{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[...i[3]||(i[3]=[e.createTextVNode("Date range filter settings",-1)])]),_:1})]),_:1}),e.createElementVNode("div",cl,[e.createElementVNode("div",pl,[e.createVNode(C,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...i[4]||(i[4]=[e.createTextVNode("Default date",-1)])]),_:1}),e.createVNode(T,{modelValue:d.value,"onUpdate:modelValue":i[1]||(i[1]=O=>d.value=O)},{default:e.withCtx(()=>[e.createVNode(V,{class:"w-[180px]"},{default:e.withCtx(()=>[e.createVNode(S,{placeholder:"Select a preset"})]),_:1}),e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(R,null,{default:e.withCtx(()=>[e.createVNode(h,{value:"today"},{default:e.withCtx(()=>[...i[5]||(i[5]=[e.createTextVNode(" Today ",-1)])]),_:1}),e.createVNode(b,null,{default:e.withCtx(()=>[...i[6]||(i[6]=[e.createTextVNode("Past",-1)])]),_:1}),e.createVNode(h,{value:"yesterday"},{default:e.withCtx(()=>[...i[7]||(i[7]=[e.createTextVNode(" 1 day ago ",-1)])]),_:1}),e.createVNode(h,{value:"last7days"},{default:e.withCtx(()=>[...i[8]||(i[8]=[e.createTextVNode(" Last 7 days ",-1)])]),_:1}),e.createVNode(h,{value:"lastMonth"},{default:e.withCtx(()=>[...i[9]||(i[9]=[e.createTextVNode(" Last 30 days ",-1)])]),_:1}),e.createVNode(h,{value:"last6months"},{default:e.withCtx(()=>[...i[10]||(i[10]=[e.createTextVNode(" Last 6 months ",-1)])]),_:1}),e.createVNode(h,{value:"lastYear"},{default:e.withCtx(()=>[...i[11]||(i[11]=[e.createTextVNode(" Last 12 months ",-1)])]),_:1}),e.createVNode(b,null,{default:e.withCtx(()=>[...i[12]||(i[12]=[e.createTextVNode("Future",-1)])]),_:1}),e.createVNode(h,{value:"tomorrow"},{default:e.withCtx(()=>[...i[13]||(i[13]=[e.createTextVNode(" In 1 day ",-1)])]),_:1}),e.createVNode(h,{value:"next7days"},{default:e.withCtx(()=>[...i[14]||(i[14]=[e.createTextVNode(" Next 7 days ",-1)])]),_:1}),e.createVNode(h,{value:"nextMonth"},{default:e.withCtx(()=>[...i[15]||(i[15]=[e.createTextVNode(" Next 30 days ",-1)])]),_:1}),e.createVNode(h,{value:"next6months"},{default:e.withCtx(()=>[...i[16]||(i[16]=[e.createTextVNode(" Next 6 months ",-1)])]),_:1}),e.createVNode(h,{value:"nextYear"},{default:e.withCtx(()=>[...i[17]||(i[17]=[e.createTextVNode(" Next 12 months ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])]),e.createVNode(B,null,{default:e.withCtx(()=>[e.createElementVNode("div",gl,[r.savedDefaultDate?(e.openBlock(),e.createBlock(P,{key:0,variant:"outline",onClick:g},{default:e.withCtx(()=>[...i[18]||(i[18]=[e.createTextVNode(" Disable date range filter ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",ml,[e.createVNode(P,{variant:"outline",onClick:f},{default:e.withCtx(()=>[...i[19]||(i[19]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(P,{onClick:w},{default:e.withCtx(()=>[...i[20]||(i[20]=[e.createTextVNode(" Save changes ",-1)])]),_:1})])])]),_:1})]),_:1})]),_:1},8,["open"])}}}),vl={class:"flex justify-between w-full p-3 pt-0"},Cl={class:"flex gap-2"},xl={class:"w-full mx-auto"},wl={class:"flex justify-center mb-1 w-full px-4"},Vl=e.defineComponent({__name:"DateRangeFilter",setup(t){const{getModuleData:l,setModuleData:n}=Y.useModuleStorage(),{isAdmin:o}=Y.useModulePermissions(),r=e.inject("sortMode"),a=e.inject("dateRangeFilter"),u=e.inject("getTableData",()=>{}),s=new J.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"medium"}),d=e.ref({start:J.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),end:J.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2())}),g=e.ref(!1),f=e.ref(""),{width:w}=gt.useWindowSize(),p=e.computed(()=>w.value<640),i=e.ref(!1),c=e.ref({start:void 0,end:void 0}),m=B=>{f.value=B,n("dateRangeFilter",{defaultDate:B})},k=B=>{if(!B)return;const N=Qe()?.[B],H=N[0].split("-")?.map(D=>parseInt(D)),O=N[1]?N[1].split("-")?.map(D=>parseInt(D)):[];d.value={start:new J.$35ea8db9cb2ccb90$export$99faa760c7908e4f(H[0],H[1],H[2]),end:O.length>0?new J.$35ea8db9cb2ccb90$export$99faa760c7908e4f(O[0],O[1],O[2]):new J.$35ea8db9cb2ccb90$export$99faa760c7908e4f(H[0],H[1],H[2])}},C=B=>{S(B),P()},S=B=>{const N=Qe()?.[B],H=N[0].split("-")?.map(D=>parseInt(D)),O=N[1]?N[1].split("-")?.map(D=>parseInt(D)):[];c.value={start:new J.$35ea8db9cb2ccb90$export$99faa760c7908e4f(H[0],H[1],H[2]),end:O.length>0?new J.$35ea8db9cb2ccb90$export$99faa760c7908e4f(O[0],O[1],O[2]):new J.$35ea8db9cb2ccb90$export$99faa760c7908e4f(H[0],H[1],H[2])}},V=B=>{const N=B.target.value;N!=="-1"&&(S(N),B.target.value="-1")},h=()=>{d.value={start:c.value.start,end:c.value.end??c.value.start},i.value=!1;const B=d.value.end.toDate(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2());B.setHours(23,59,59,999),a.value=[d.value.start.toDate(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),B],u()},b=()=>{c.value={start:d.value.start,end:d.value.end},i.value=!0},R=()=>{c.value={start:d.value.start,end:d.value.end},g.value=!0},x=e.computed(()=>{if(!c.value.start)return"Pick a date";const B=s.format(c.value.start.toDate(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()));return!c.value.end||c.value.start.toString()===c.value.end.toString()?B:`${B} - ${s.format(c.value.end.toDate(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()))}`}),T=e.computed(()=>{if(!d.value.start)return"";const B=s.format(d.value.start.toDate(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()));return!d.value.end||d.value.start.toString()===d.value.end.toString()?B:`${B} - ${s.format(d.value.end.toDate(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()))}`}),P=()=>{g.value=!1,d.value={start:c.value.start,end:c.value.end??c.value.start};const B=d.value.end.toDate(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2());B.setHours(23,59,59,999),a.value=[d.value.start.toDate(J.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),B],u()};return e.onMounted(async()=>{const B=await l("dateRangeFilter");f.value=B?.defaultDate??"",f.value?(k(f.value),c.value={start:d.value.start,end:d.value.end},P()):u()}),(B,N)=>{const H=e.resolveComponent("Button"),O=e.resolveComponent("PopoverTrigger"),D=e.resolveComponent("RangeCalendar"),M=e.resolveComponent("DropdownMenuTrigger"),G=e.resolveComponent("DropdownMenuItem"),X=e.resolveComponent("DropdownMenuSeparator"),oe=e.resolveComponent("DropdownMenuLabel"),re=e.resolveComponent("DropdownMenuGroup"),ie=e.resolveComponent("DropdownMenuContent"),L=e.resolveComponent("DropdownMenu"),K=e.resolveComponent("PopoverContent"),ge=e.resolveComponent("Popover"),me=e.resolveComponent("DrawerTrigger"),fe=e.resolveComponent("DrawerTitle"),ne=e.resolveComponent("DrawerHeader"),ve=e.resolveComponent("DrawerClose"),Ce=e.resolveComponent("DrawerFooter"),xe=e.resolveComponent("DrawerContent"),se=e.resolveComponent("Drawer");return f.value||e.unref(o)()?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex flex-col items-start gap-1",e.unref(r)?"opacity-50 pointer-events-none":""])},[p.value?(e.openBlock(),e.createBlock(se,{key:1,open:i.value,"onUpdate:open":N[17]||(N[17]=E=>i.value=E)},{default:e.withCtx(()=>[e.createVNode(me,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(H,{variant:"outline",class:e.normalizeClass(e.unref(Q.classNames)("w-[280px] justify-start text-left font-normal",!d.value&&"text-muted-foreground")),disabled:e.unref(r)||!f.value,onClick:b},{default:e.withCtx(()=>[e.createVNode(e.unref(j.CalendarIcon),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(T.value||"Pick a date"),1)]),_:1},8,["class","disabled"])]),_:1}),e.createVNode(xe,null,{default:e.withCtx(()=>[e.createElementVNode("div",xl,[e.createVNode(ne,null,{default:e.withCtx(()=>[e.createVNode(fe,{class:"text-center"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.value),1)]),_:1})]),_:1}),e.createElementVNode("div",wl,[e.createElementVNode("select",{class:"border px-2 py-1.5 rounded-md text-sm",onChange:V},[...N[34]||(N[34]=[e.createElementVNode("option",{value:"-1"},"Select Preset",-1),e.createElementVNode("optgroup",{label:"Past"},[e.createElementVNode("option",{value:"today"},"Today"),e.createElementVNode("option",{value:"yesterday"},"Yesterday"),e.createElementVNode("option",{value:"last7days"},"7 days"),e.createElementVNode("option",{value:"lastMonth"},"30 days"),e.createElementVNode("option",{value:"last6months"},"6 months"),e.createElementVNode("option",{value:"lastYear"},"1 year")],-1),e.createElementVNode("optgroup",{label:"Future"},[e.createElementVNode("option",{value:"tomorrow"},"Tomorrow"),e.createElementVNode("option",{value:"next7days"},"7 days"),e.createElementVNode("option",{value:"nextMonth"},"30 days"),e.createElementVNode("option",{value:"next6months"},"6 months"),e.createElementVNode("option",{value:"nextYear"},"1 year")],-1)])],32)]),e.createVNode(D,{modelValue:c.value,"onUpdate:modelValue":N[15]||(N[15]=E=>c.value=E),"initial-focus":"","number-of-months":1,class:"mobile-date-range-calendar","onUpdate:startValue":N[16]||(N[16]=E=>c.value.start=E)},null,8,["modelValue"]),e.createVNode(Ce,null,{default:e.withCtx(()=>[e.createVNode(H,{onClick:h},{default:e.withCtx(()=>[...N[35]||(N[35]=[e.createTextVNode("Apply",-1)])]),_:1}),e.createVNode(ve,null,{default:e.withCtx(()=>[e.createVNode(H,{variant:"outline",class:"w-full"},{default:e.withCtx(()=>[...N[36]||(N[36]=[e.createTextVNode("Cancel",-1)])]),_:1})]),_:1})]),_:1})])]),_:1})]),_:1},8,["open"])):(e.openBlock(),e.createBlock(ge,{key:0,open:g.value,"onUpdate:open":N[14]||(N[14]=E=>{E?R():g.value=!1})},{default:e.withCtx(()=>[e.createVNode(O,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(H,{variant:"outline",class:e.normalizeClass(e.unref(Q.classNames)("w-[280px] justify-start text-left font-normal",!d.value&&"text-muted-foreground")),disabled:e.unref(r)||!f.value},{default:e.withCtx(()=>[e.createVNode(e.unref(j.CalendarIcon),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(T.value||"Pick a date"),1)]),_:1},8,["class","disabled"])]),_:1}),e.createVNode(K,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(D,{modelValue:c.value,"onUpdate:modelValue":N[0]||(N[0]=E=>c.value=E),"initial-focus":"","number-of-months":2,"onUpdate:startValue":N[1]||(N[1]=E=>c.value.start=E)},null,8,["modelValue"]),e.createElementVNode("div",vl,[e.createVNode(L,null,{default:e.withCtx(()=>[e.createVNode(M,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(H,{variant:"outline"},{default:e.withCtx(()=>[...N[18]||(N[18]=[e.createTextVNode(" Presets ",-1)])]),_:1})]),_:1}),e.createVNode(ie,{class:"w-56"},{default:e.withCtx(()=>[e.createVNode(re,null,{default:e.withCtx(()=>[e.createVNode(G,{onClick:N[2]||(N[2]=E=>C("today"))},{default:e.withCtx(()=>[...N[19]||(N[19]=[e.createTextVNode(" Today ",-1)])]),_:1}),e.createVNode(X),e.createVNode(oe,null,{default:e.withCtx(()=>[...N[20]||(N[20]=[e.createTextVNode("Past",-1)])]),_:1}),e.createVNode(G,{onClick:N[3]||(N[3]=E=>C("yesterday"))},{default:e.withCtx(()=>[...N[21]||(N[21]=[e.createTextVNode(" 1 day ago ",-1)])]),_:1}),e.createVNode(G,{onClick:N[4]||(N[4]=E=>C("last7days"))},{default:e.withCtx(()=>[...N[22]||(N[22]=[e.createTextVNode(" Last 7 days ",-1)])]),_:1}),e.createVNode(G,{onClick:N[5]||(N[5]=E=>C("lastMonth"))},{default:e.withCtx(()=>[...N[23]||(N[23]=[e.createTextVNode(" Last 30 days ",-1)])]),_:1}),e.createVNode(G,{onClick:N[6]||(N[6]=E=>C("last6months"))},{default:e.withCtx(()=>[...N[24]||(N[24]=[e.createTextVNode(" Last 6 months ",-1)])]),_:1}),e.createVNode(G,{onClick:N[7]||(N[7]=E=>C("lastYear"))},{default:e.withCtx(()=>[...N[25]||(N[25]=[e.createTextVNode(" Last 12 months ",-1)])]),_:1}),e.createVNode(X),e.createVNode(oe,null,{default:e.withCtx(()=>[...N[26]||(N[26]=[e.createTextVNode("Future",-1)])]),_:1}),e.createVNode(G,{onClick:N[8]||(N[8]=E=>C("tomorrow"))},{default:e.withCtx(()=>[...N[27]||(N[27]=[e.createTextVNode(" In 1 day ",-1)])]),_:1}),e.createVNode(G,{onClick:N[9]||(N[9]=E=>C("next7days"))},{default:e.withCtx(()=>[...N[28]||(N[28]=[e.createTextVNode(" Next 7 days ",-1)])]),_:1}),e.createVNode(G,{onClick:N[10]||(N[10]=E=>C("nextMonth"))},{default:e.withCtx(()=>[...N[29]||(N[29]=[e.createTextVNode(" Next 30 days ",-1)])]),_:1}),e.createVNode(G,{onClick:N[11]||(N[11]=E=>C("next6months"))},{default:e.withCtx(()=>[...N[30]||(N[30]=[e.createTextVNode(" Next 6 months ",-1)])]),_:1}),e.createVNode(G,{onClick:N[12]||(N[12]=E=>C("nextYear"))},{default:e.withCtx(()=>[...N[31]||(N[31]=[e.createTextVNode(" Next 12 months ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),e.createElementVNode("div",Cl,[e.createVNode(H,{variant:"outline",onClick:N[13]||(N[13]=E=>g.value=!1)},{default:e.withCtx(()=>[...N[32]||(N[32]=[e.createTextVNode("Cancel",-1)])]),_:1}),e.createVNode(H,{onClick:P},{default:e.withCtx(()=>[...N[33]||(N[33]=[e.createTextVNode("Apply",-1)])]),_:1})])])]),_:1})]),_:1},8,["open"])),e.createVNode(fl,{onSaved:m,"saved-default-date":f.value},null,8,["saved-default-date"])],2)):e.createCommentVNode("",!0)}}}),hl=mt._export_sfc(Vl,[["__scopeId","data-v-665639f4"]]),yl={class:"grid grid-cols-3 gap-2 mb-2 py-2"},Sl={class:"flex flex-col items-start gap-1.5"},_l={class:"flex flex-col items-start gap-1.5"},Nl={class:"grid gap-4"},bl={class:"grid grid-cols-4 items-center gap-4"},kl={class:"grid grid-cols-4 items-center gap-4"},Rl={class:"grid grid-cols-4 items-center gap-4"},Dl={class:"flex justify-end gap-2"},Fl=e.defineComponent({__name:"FilterDialog",emits:["filterAdded","filterEdited","filterRemoved"],setup(t,{expose:l,emit:n}){const o=n;e.inject("columns");const r=e.ref(!1),a=e.ref("add"),u=e.ref(null),s=e.ref(!1),d=e.reactive({label:"",property:"",options:[]}),g=e.reactive({value:"",label:"",checked:!1}),f=k=>{a.value=k?"edit":"add",u.value=k??null,d.label=k?.label??"",d.property=k?.property??"",d.options=k?.options??[],r.value=!0},w=()=>{let k=crypto.randomUUID();d.options.push({id:k,value:g.value,label:g.label,checked:g.checked}),g.value="",g.label="",g.checked=!1},p=k=>{d.options=d.options.filter(C=>C.id!==k)},i=()=>{a.value==="add"?o("filterAdded",d):o("filterEdited",{...d,id:u.value.id}),r.value=!1},c=()=>{s.value=!1},m=()=>{o("filterRemoved",u.value.id),r.value=!1};return l({openDialog:f}),(k,C)=>{const S=e.resolveComponent("DialogTitle"),V=e.resolveComponent("DialogDescription"),h=e.resolveComponent("DialogHeader"),b=e.resolveComponent("Label"),R=e.resolveComponent("Input"),x=e.resolveComponent("Button"),T=e.resolveComponent("PopoverTrigger"),P=e.resolveComponent("Checkbox"),B=e.resolveComponent("PopoverContent"),N=e.resolveComponent("Popover"),H=e.resolveComponent("DialogFooter"),O=e.resolveComponent("DialogScrollContent"),D=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(D,{open:r.value,"onUpdate:open":C[6]||(C[6]=M=>r.value=M)},{default:e.withCtx(()=>[e.createVNode(O,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Filter":"Edit Filter"),1)]),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add a new filter for this table.":"Edit the selected filter."),1)]),_:1})]),_:1}),e.createElementVNode("div",yl,[e.createElementVNode("div",Sl,[e.createVNode(b,{for:"filter_dialog_label",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...C[7]||(C[7]=[e.createTextVNode("Label",-1)])]),_:1}),e.createVNode(R,{id:"filter_dialog_label",modelValue:d.label,"onUpdate:modelValue":C[0]||(C[0]=M=>d.label=M)},null,8,["modelValue"])]),e.createElementVNode("div",_l,[e.createVNode(b,{for:"filter_dialog_property",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...C[8]||(C[8]=[e.createTextVNode("Property",-1)])]),_:1}),e.createVNode(R,{id:"filter_dialog_property",modelValue:d.property,"onUpdate:modelValue":C[1]||(C[1]=M=>d.property=M)},null,8,["modelValue"])])]),e.createElementVNode("div",null,[e.createVNode(b,{class:"mb-1"},{default:e.withCtx(()=>[...C[9]||(C[9]=[e.createTextVNode("Options",-1)])]),_:1}),C[16]||(C[16]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mb-2"}," Define all options for this filter. ",-1)),e.createVNode(N,{open:s.value,"onUpdate:open":C[5]||(C[5]=M=>s.value=M)},{default:e.withCtx(()=>[e.createVNode(T,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(x,{variant:"outline"},{default:e.withCtx(()=>[e.createVNode(e.unref(j.Plus),{class:"mr-2 size-4"}),C[10]||(C[10]=e.createTextVNode(" Add option ",-1))]),_:1})]),_:1}),e.createVNode(B,{class:"w-80"},{default:e.withCtx(()=>[e.createElementVNode("div",Nl,[e.createElementVNode("div",bl,[e.createVNode(b,{for:"value",class:"text-right"},{default:e.withCtx(()=>[...C[11]||(C[11]=[e.createTextVNode(" Value ",-1)])]),_:1}),e.createVNode(R,{id:"value",class:"col-span-3",modelValue:g.value,"onUpdate:modelValue":C[2]||(C[2]=M=>g.value=M)},null,8,["modelValue"])]),e.createElementVNode("div",kl,[e.createVNode(b,{for:"label",class:"text-right"},{default:e.withCtx(()=>[...C[12]||(C[12]=[e.createTextVNode(" Label ",-1)])]),_:1}),e.createVNode(R,{id:"label",class:"col-span-3",modelValue:g.label,"onUpdate:modelValue":C[3]||(C[3]=M=>g.label=M)},null,8,["modelValue"])]),e.createElementVNode("div",Rl,[e.createVNode(b,{for:"checked",class:"text-right"},{default:e.withCtx(()=>[...C[13]||(C[13]=[e.createTextVNode(" Checked by default ",-1)])]),_:1}),e.createVNode(P,{id:"checked",class:"col-span-3 border-ring",modelValue:g.checked,"onUpdate:modelValue":C[4]||(C[4]=M=>g.checked=M)},null,8,["modelValue"])]),e.createElementVNode("div",Dl,[e.createVNode(x,{variant:"outline",onClick:c},{default:e.withCtx(()=>[...C[14]||(C[14]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(x,{onClick:w},{default:e.withCtx(()=>[...C[15]||(C[15]=[e.createTextVNode(" Add option ",-1)])]),_:1})])])]),_:1})]),_:1},8,["open"])]),e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options,M=>(e.openBlock(),e.createElementBlock("div",{key:M.id,class:"grid grid-cols-4 items-center gap-4"},[e.createVNode(b,{for:"value",class:"text-right"},{default:e.withCtx(()=>[...C[17]||(C[17]=[e.createTextVNode(" Value ",-1)])]),_:1}),e.createVNode(R,{id:"value",class:"col-span-3",modelValue:M.value,"onUpdate:modelValue":G=>M.value=G},null,8,["modelValue","onUpdate:modelValue"]),e.createVNode(x,{variant:"destructive",onClick:G=>p(M.id)},{default:e.withCtx(()=>[...C[18]||(C[18]=[e.createTextVNode(" Remove ",-1)])]),_:1},8,["onClick"])]))),128))]),e.createVNode(H,null,{default:e.withCtx(()=>[a.value==="edit"?(e.openBlock(),e.createBlock(x,{key:0,variant:"destructive",onClick:m},{default:e.withCtx(()=>[...C[19]||(C[19]=[e.createTextVNode(" Remove Filter ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(x,{onClick:i},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Filter":"Save changes"),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),$l={class:"flex flex-wrap gap-2 mb-4"},Tl={class:"truncate w-full text-left font-medium"},El=["onClick"],Bl=e.defineComponent({__name:"Filters",setup(t){const l=e.inject("table"),n=e.inject("data"),o=e.inject("filters",e.ref([])),{getModuleData:r,setModuleData:a}=Y.useModuleStorage(),{isAdmin:u}=Y.useModulePermissions(),s=e.ref(),d=e.ref(!1),g=()=>{d.value||!l.value||!o.value?.length||!n.value?.length||!o.value.every(c=>l.value.getColumn(c.property))||(d.value=!0,o.value.forEach(c=>{const m=c.options?.filter(k=>k.checked).map(k=>k.value);l.value.getColumn(c.property)?.setFilterValue(m?.length?m:void 0)}))},f=i=>{let c=crypto.randomUUID();(!o.value||o?.value?.length===0)&&(o.value=[]),o.value.push({...i,id:c}),a("filters",o.value)},w=i=>{o.value=o.value.map(c=>c.id===i.id?i:c),a("filters",o.value)},p=i=>{o.value=o.value.filter(c=>c.id!==i),a("filters",o.value)};return e.watch(()=>n.value?.length,i=>{i&&i>0&&e.nextTick(()=>g())}),e.watch(()=>l.value,()=>{e.nextTick(()=>g())}),e.onMounted(async()=>{o.value=await r("filters")||[],e.nextTick(()=>g())}),(i,c)=>{const m=e.resolveComponent("Button"),k=e.resolveComponent("DropdownMenuTrigger"),C=e.resolveComponent("DropdownMenuCheckboxItem"),S=e.resolveComponent("DropdownMenuContent"),V=e.resolveComponent("DropdownMenu");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",$l,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),h=>(e.openBlock(),e.createElementBlock("div",{key:h.id,class:"flex flex-col items-start gap-1"},[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(k,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(m,{variant:"outline",class:"w-[180px] flex items-center justify-between"},{default:e.withCtx(()=>[e.createElementVNode("span",Tl,e.toDisplayString(h.label?h.label:"Filter by "+h.property),1),e.createVNode(e.unref(j.ChevronDown),{class:"size-4"})]),_:2},1024)]),_:2},1024),e.createVNode(S,{align:"start",onCloseAutoFocus:c[1]||(c[1]=b=>{b.preventDefault()})},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.options,b=>(e.openBlock(),e.createBlock(C,{key:b.id,"model-value":b.checked,"onUpdate:modelValue":R=>{b.checked=R;const x=h.options?.filter(T=>T.checked).map(T=>T.value);e.unref(l)?.getColumn(h.property)?.setFilterValue(x?.length?x:void 0)},onSelect:c[0]||(c[0]=R=>{R.preventDefault()})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(b.label),1)]),_:2},1032,["model-value","onUpdate:modelValue"]))),128))]),_:2},1024)]),_:2},1024),e.unref(u)()?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-xs text-primary hover:underline",onClick:b=>s.value.openDialog(h)},"Settings",8,El)):e.createCommentVNode("",!0)]))),128)),e.unref(u)()?(e.openBlock(),e.createBlock(m,{key:0,variant:"outline",class:"border-dashed",onClick:c[2]||(c[2]=h=>s.value.openDialog())},{default:e.withCtx(()=>[e.createVNode(e.unref(j.Plus),{class:"size-4"}),c[6]||(c[6]=e.createTextVNode(" Add filter ",-1))]),_:1})):e.createCommentVNode("",!0)]),e.createVNode(Fl,{ref_key:"filterDialog",ref:s,onFilterAdded:c[3]||(c[3]=h=>f(h)),onFilterEdited:c[4]||(c[4]=h=>w(h)),onFilterRemoved:c[5]||(c[5]=h=>p(h))},null,512)],64)}}}),Ml={class:"grid grid-cols-2 gap-2 mb-2 py-2"},Pl={class:"flex flex-col items-start gap-1.5"},Il={class:"flex flex-col items-start gap-1.5"},Al={class:"flex flex-col items-start gap-1.5 col-span-2"},Ll=e.defineComponent({__name:"ActionDialog",emits:["actionAdded","actionEdited","actionRemoved"],setup(t,{expose:l,emit:n}){const o=n,r=e.ref(!1),a=e.ref("add"),u=e.ref(null),s=e.reactive({label:"",icon:"",visible:"true",flow:{}}),d=w=>{a.value=w?"edit":"add",u.value=w??null,s.label=w?.label??"",s.icon=w?.icon??"",s.visible=w?.visible??"true",s.flow=w?.flow??{},r.value=!0},g=()=>{a.value==="add"?o("actionAdded",s):o("actionEdited",{...s,id:u.value.id}),r.value=!1},f=()=>{o("actionRemoved",u.value.id),r.value=!1};return l({openDialog:d}),(w,p)=>{const i=e.resolveComponent("DialogTitle"),c=e.resolveComponent("DialogDescription"),m=e.resolveComponent("DialogHeader"),k=e.resolveComponent("Label"),C=e.resolveComponent("Input"),S=e.resolveComponent("LucideIconPicker"),V=e.resolveComponent("Sandbox"),h=e.resolveComponent("FlowBuilderSelect"),b=e.resolveComponent("Button"),R=e.resolveComponent("DialogFooter"),x=e.resolveComponent("DialogScrollContent"),T=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(T,{open:r.value,"onUpdate:open":p[4]||(p[4]=P=>r.value=P)},{default:e.withCtx(()=>[e.createVNode(x,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Action":"Edit Action"),1)]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add a new row item action.":"Edit the selected row item action."),1)]),_:1})]),_:1}),e.createElementVNode("div",Ml,[e.createElementVNode("div",Pl,[e.createVNode(k,{for:"action_dialog_label",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...p[5]||(p[5]=[e.createTextVNode("Label",-1)])]),_:1}),e.createVNode(C,{id:"action_dialog_label",modelValue:s.label,"onUpdate:modelValue":p[0]||(p[0]=P=>s.label=P)},null,8,["modelValue"])]),e.createElementVNode("div",Il,[e.createVNode(k,{for:"action_dialog_icon",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...p[6]||(p[6]=[e.createTextVNode("Icon",-1)])]),_:1}),e.createVNode(S,{modelValue:s.icon,"onUpdate:modelValue":p[1]||(p[1]=P=>s.icon=P)},null,8,["modelValue"])]),e.createElementVNode("div",Al,[e.createVNode(k,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...p[7]||(p[7]=[e.createTextVNode("Visible",-1)])]),_:1}),e.createVNode(V,{modelValue:s.visible,"onUpdate:modelValue":p[2]||(p[2]=P=>s.visible=P),variables:[],placeholder:"true",class:"w-full max-h-[200px]"},null,8,["modelValue"])])]),e.createVNode(h,{modelValue:s.flow,"onUpdate:modelValue":p[3]||(p[3]=P=>s.flow=P),variables:[{name:"item",type:"object",value:{data:{}},info:"The row item, access it with item.data"}],"flow-builder-extensions":[e.unref(Re)()]},null,8,["modelValue","flow-builder-extensions"]),e.createVNode(R,null,{default:e.withCtx(()=>[a.value==="edit"?(e.openBlock(),e.createBlock(b,{key:0,variant:"destructive",onClick:f},{default:e.withCtx(()=>[...p[8]||(p[8]=[e.createTextVNode(" Remove Action ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(b,{onClick:g},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Action":"Save changes"),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),zl={class:"grid gap-4 py-4"},Hl=e.defineComponent({__name:"Actions",setup(t){const{setModuleData:l}=Y.useModuleStorage(),{isAdmin:n}=Y.useModulePermissions(),o=e.ref(),r=e.inject("itemActions",e.ref([])),a=d=>{let g=crypto.randomUUID();(!r.value||r?.value?.length===0)&&(r.value=[]),r.value.push({...d,id:g}),l("itemActions",r.value)},u=d=>{r.value=r.value.map(g=>g.id===d.id?d:g),l("itemActions",r.value)},s=d=>{r.value=r.value.filter(g=>g.id!==d),l("itemActions",r.value)};return(d,g)=>{const f=e.resolveComponent("Button"),w=e.resolveComponent("DialogTrigger"),p=e.resolveComponent("DialogTitle"),i=e.resolveComponent("DialogDescription"),c=e.resolveComponent("DialogHeader"),m=e.resolveComponent("DialogContent"),k=e.resolveComponent("Dialog");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(n)()?(e.openBlock(),e.createBlock(k,{key:0},{default:e.withCtx(()=>[e.createVNode(w,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(f,{variant:"outline",class:"text-primary hover:text-primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(j.MousePointerClick),{class:"size-4"}),g[4]||(g[4]=e.createTextVNode(" Edit item actions ",-1))]),_:1})]),_:1}),e.createVNode(m,{class:"sm:max-w-[425px]"},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[...g[5]||(g[5]=[e.createTextVNode("Edit item actions",-1)])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[...g[6]||(g[6]=[e.createTextVNode(" Edit the item actions for this table. ",-1)])]),_:1})]),_:1}),e.createVNode(f,{onClick:g[0]||(g[0]=C=>o.value.openDialog())},{default:e.withCtx(()=>[e.createVNode(e.unref(j.Plus),{class:"size-4"}),g[7]||(g[7]=e.createTextVNode(" Add action ",-1))]),_:1}),e.createElementVNode("div",zl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),C=>(e.openBlock(),e.createBlock(f,{key:C.id,onClick:S=>o.value.openDialog(C),variant:"outline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(j.icons)[C.icon]))),e.createTextVNode(" "+e.toDisplayString(C.label),1)]),_:2},1032,["onClick"]))),128))])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(Ll,{ref_key:"actionDialog",ref:o,onActionAdded:g[1]||(g[1]=C=>a(C)),onActionEdited:g[2]||(g[2]=C=>u(C)),onActionRemoved:g[3]||(g[3]=C=>s(C))},null,512)],64)}}}),Ul={class:"grid grid-cols-2 gap-2 mb-2 py-2"},Ol={class:"flex flex-col items-start gap-1.5"},Gl={class:"flex flex-col items-start gap-1.5"},jl=e.defineComponent({__name:"CtaActionDialog",setup(t,{expose:l}){const{setModuleData:n}=Y.useModuleStorage(),o=e.inject("ctaButtonSettings",e.ref({})),r=e.ref(!1),a=e.ref("add"),u=e.ref(null),s=e.reactive({label:"",icon:"",flow:{}}),d=()=>{let w=o?.value?.enabled?o?.value:null;a.value=w?"edit":"add",u.value=w??null,s.label=w?.label??"",s.icon=w?.icon??"",s.flow=w?.flow??{},r.value=!0},g=()=>{o.value={label:s.label,icon:s.icon,flow:s.flow,enabled:!0},n("ctaButtonSettings",o.value),r.value=!1},f=()=>{o.value={label:"",icon:"",flow:{},enabled:!1},n("ctaButtonSettings",o.value),r.value=!1};return l({openDialog:d}),(w,p)=>{const i=e.resolveComponent("DialogTitle"),c=e.resolveComponent("DialogDescription"),m=e.resolveComponent("DialogHeader"),k=e.resolveComponent("Label"),C=e.resolveComponent("Input"),S=e.resolveComponent("LucideIconPicker"),V=e.resolveComponent("FlowBuilderSelect"),h=e.resolveComponent("Button"),b=e.resolveComponent("DialogFooter"),R=e.resolveComponent("DialogScrollContent"),x=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(x,{open:r.value,"onUpdate:open":p[3]||(p[3]=T=>r.value=T)},{default:e.withCtx(()=>[e.createVNode(R,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Primary Button":"Edit Primary Button"),1)]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[...p[4]||(p[4]=[e.createTextVNode(" Configure the main action button for this table module, like “+ New Item”. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",Ul,[e.createElementVNode("div",Ol,[e.createVNode(k,{for:"action_dialog_label",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...p[5]||(p[5]=[e.createTextVNode("Label",-1)])]),_:1}),e.createVNode(C,{id:"action_dialog_label",modelValue:s.label,"onUpdate:modelValue":p[0]||(p[0]=T=>s.label=T)},null,8,["modelValue"])]),e.createElementVNode("div",Gl,[e.createVNode(k,{for:"action_dialog_icon",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...p[6]||(p[6]=[e.createTextVNode("Icon",-1)])]),_:1}),e.createVNode(S,{modelValue:s.icon,"onUpdate:modelValue":p[1]||(p[1]=T=>s.icon=T)},null,8,["modelValue"])])]),e.createVNode(V,{modelValue:s.flow,"onUpdate:modelValue":p[2]||(p[2]=T=>s.flow=T),allAvailableVariables:[],"flow-builder-extensions":[e.unref(Re)()]},null,8,["modelValue","flow-builder-extensions"]),e.createVNode(b,null,{default:e.withCtx(()=>[a.value==="edit"?(e.openBlock(),e.createBlock(h,{key:0,variant:"destructive",onClick:f},{default:e.withCtx(()=>[...p[7]||(p[7]=[e.createTextVNode(" Remove Button ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(h,{onClick:g},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Button":"Save Changes"),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),ql={class:"@container relative"},Yl={ref:"container",class:"flex flex-col items-start gap-4 w-full mt-12 mb-8"},Kl={class:"w-full flex flex-wrap gap-2 items-start"},Xl={class:"w-full flex gap-2 items-start justify-between"},Jl={class:"flex gap-2"},Wl={key:1,class:"flex flex-col items-start gap-1"},Ql=e.defineComponent({__name:"TableView",props:{config:{type:Object,required:!0}},setup(t){const l=t,n=Y.useModuleRoute(),{isAdmin:o}=Y.useModulePermissions(),{getModuleData:r}=Y.useModuleStorage(),{runFlow:a}=Y.useFlowBuilder();Y.useModuleBreadcrumbs(()=>[]);const u=e.ref(),s=e.ref(),d=e.ref([]),g=e.ref([]),f=e.ref(),w=e.ref(!1),p=e.ref(""),i=e.ref(),c=e.ref([]),m=e.ref([]),k=e.ref(!1),C=e.ref(null),S=e.ref(null),V=e.computed(()=>l.config?.getItems?.integration),h=e.computed(()=>j.icons[C.value?.icon]),b=async()=>{S.value=await r("dateRangeFilter")},R=async()=>S.value!==null?S.value:await r("dateRangeFilter"),x=async()=>{const D=await R();let M;return D&&(M={name:"dateRangeFilter",type:"dateRangeFilter",value:{from:i.value?.[0],to:i.value?.[1]}}),[...Object.entries(n.query).map(([X,oe])=>({name:B(X),type:"routeQueryParam",value:oe??null}))||[],M].filter(Boolean)},T=async()=>{let D=l.config?.getItems?JSON.parse(JSON.stringify(l.config?.getItems)):null;if(!D)return;const M=await x(),G=await a(D,M);d.value=G||[]},P=async()=>{g.value=await r("columns"),m.value=await r("itemActions")||[],C.value=await r("ctaButtonSettings")||{}};function B(D){return D.replace(/-([a-z])/g,(M,G)=>G.toUpperCase())}const N=()=>{s.value.saveSortMode(),w.value=!1},H=async()=>{const D=new Date().getTime(),M=await x();console.log("got context in ",new Date().getTime()-D,"ms"),await a(C.value.flow,M,[],[Re({tableRowActions:{create:G=>{d.value=[...d.value,G]}}})])},O=()=>{Q.downloadJSONAsCSV(d.value,"data.csv")};return e.onMounted(()=>{P(),b()}),e.provide("data",d),e.provide("columns",g),e.provide("table",f),e.provide("sortMode",w),e.provide("sortModeProperty",p),e.provide("dateRangeFilter",i),e.provide("filters",c),e.provide("itemActions",m),e.provide("isPerformingDataTableAction",k),e.provide("ctaButtonSettings",C),e.provide("integrationId",V),e.provide("getTableData",T),e.provide("saveSortMode",N),(D,M)=>{const G=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",ql,[e.createElementVNode("div",Yl,[e.createVNode(Nn),e.createElementVNode("div",Kl,[e.createVNode(tl),e.createVNode(hl),e.createVNode(ul),e.createVNode(el)]),e.createElementVNode("div",Xl,[e.createVNode(Bl),e.createElementVNode("div",Jl,[e.unref(o)()?(e.openBlock(),e.createBlock(Hl,{key:0})):e.createCommentVNode("",!0),C.value?.enabled?(e.openBlock(),e.createElementBlock("div",Wl,[e.createVNode(G,{onClick:H,disabled:k.value},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value),{class:"size-4"})),e.createTextVNode(" "+e.toDisplayString(C.value?.label),1)]),_:1},8,["disabled"]),e.unref(o)()?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-xs text-primary hover:underline",onClick:M[0]||(M[0]=X=>u.value.openDialog())},"Settings")):e.createCommentVNode("",!0)])):C.value&&e.unref(o)()?(e.openBlock(),e.createBlock(G,{key:2,variant:"outline",class:"border-primary dark:border-primary border-dashed text-primary dark:text-primary",onClick:M[1]||(M[1]=X=>u.value.openDialog())},{default:e.withCtx(()=>[e.createVNode(e.unref(j.Plus),{class:"size-4"}),M[2]||(M[2]=e.createTextVNode(" Set primary button ",-1))]),_:1})):e.createCommentVNode("",!0)])]),e.createVNode(cn,{ref_key:"tableRef",ref:s},null,512),e.createVNode(G,{onClick:O},{default:e.withCtx(()=>[...M[3]||(M[3]=[e.createTextVNode(" Download data ",-1)])]),_:1})],512)]),e.createVNode(jl,{ref_key:"ctaActionDialog",ref:u},null,512)],64)}}});exports.default=Ql;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),H=require("./DateFormatter-CSAbE3BC.js"),z=require("lucide-vue-next"),oe=require("./EditLayout.vue_vue_type_script_setup_true_lang-D1b9_iiN.js"),F=require("@oneclick.dev/cms-kit"),X=require("./OrderDetailDialog.vue_vue_type_script_setup_true_lang-BYSeUW_V.js"),ne=require("./_plugin-vue_export-helper-BHFhmbuH.js"),ae=require("./NewReservationDialog.vue_vue_type_script_setup_true_lang-BdZbcubW.js"),se=require("./index-CxETuRsG.js"),re={class:"mb-6"},le={class:"flex items-end gap-px h-24 bg-muted/30 rounded-lg p-2 overflow-visible"},ie=["onClick"],ce={class:"absolute -top-8 left-1/2 -translate-x-1/2 bg-popover border shadow-md rounded px-2 py-1 text-xs whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none z-10"},de={class:"font-medium"},ue={class:"text-muted-foreground"},me={class:"w-full flex-1 flex items-end justify-center"},pe={key:1,class:"text-[10px] mt-1"},fe={key:0,class:"mt-2 text-sm text-muted-foreground flex items-center gap-2"},ve={class:"font-medium text-foreground"},ge={class:"font-medium text-foreground"},he=e.defineComponent({__name:"TimelineChart",props:{timeSlots:{},slotStats:{},selectedTimeSlot:{},maxSpots:{}},emits:["select","clear"],setup(d,{emit:b}){const h=b,w=o=>{h("select",o)},B=()=>{h("clear")};return(o,i)=>{const c=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",re,[i[2]||(i[2]=e.createElementVNode("h3",{class:"font-semibold text-sm mb-2"},"Timeline",-1)),e.createElementVNode("div",le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.timeSlots,n=>(e.openBlock(),e.createElementBlock("div",{key:n.startTime,class:"flex-1 min-w-0 flex flex-col items-center cursor-pointer group h-full relative",onClick:x=>w(n.startTime)},[e.createElementVNode("div",ce,[e.createElementVNode("div",de,e.toDisplayString(n.startTime),1),e.createElementVNode("div",ue,e.toDisplayString(d.slotStats[n.startTime]?.spots||0)+" spots",1)]),e.createElementVNode("div",me,[e.createElementVNode("div",{class:e.normalizeClass(["w-full transition-all duration-200",[d.selectedTimeSlot===n.startTime?"bg-primary":d.slotStats[n.startTime]?.spots>0?"bg-primary/60 group-hover:bg-primary/80":"bg-muted-foreground/20 group-hover:bg-muted-foreground/30"]]),style:e.normalizeStyle({height:d.slotStats[n.startTime]?.spots>0?`${d.slotStats[n.startTime].spots/d.maxSpots*100}%`:"2px",minHeight:d.slotStats[n.startTime]?.spots>0?"4px":"2px"})},null,6)]),n.startTime.endsWith(":00")?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["text-[10px] text-muted-foreground mt-1 transition-colors truncate",{"text-primary font-medium":d.selectedTimeSlot===n.startTime}])},e.toDisplayString(n.label),3)):(e.openBlock(),e.createElementBlock("span",pe," "))],8,ie))),128))]),d.selectedTimeSlot?(e.openBlock(),e.createElementBlock("div",fe,[e.createVNode(c,{variant:"ghost",size:"icon",class:"h-6 w-6 p-0",onClick:B},{default:e.withCtx(()=>[e.createVNode(e.unref(z.X),{size:14})]),_:1}),e.createElementVNode("span",null,[i[0]||(i[0]=e.createTextVNode(" Showing ",-1)),e.createElementVNode("span",ve,e.toDisplayString(d.slotStats[d.selectedTimeSlot]?.bookings||0),1),i[1]||(i[1]=e.createTextVNode(" bookings at ",-1)),e.createElementVNode("span",ge,e.toDisplayString(d.selectedTimeSlot),1)])])):e.createCommentVNode("",!0)])}}}),xe={class:"flex items-center justify-between mb-3"},ye={class:"font-semibold"},ke={key:0,class:"text-muted-foreground font-normal"},be={class:"relative mb-3"},_e={key:0,class:"flex items-center justify-center py-8"},Ne={key:1,class:"text-center py-8 text-muted-foreground"},we={key:2,class:"space-y-2 max-h-80 overflow-y-auto"},Ee=["onClick"],Se={class:"flex items-start justify-between"},Ve={class:"flex-1"},Ce={class:"font-medium"},De={class:"text-sm text-muted-foreground"},Be={class:"text-sm text-muted-foreground"},$e={class:"flex items-center gap-4"},Te={class:"flex items-center gap-2 mt-1 text-xs text-muted-foreground"},ze={class:"flex items-center gap-2 mt-1 text-xs text-muted-foreground"},Ie={class:"text-right"},Me={key:0,class:"inline-block px-2 py-1 text-xs rounded-full bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},Ae={key:1,class:"inline-block px-2 py-1 text-xs rounded-full bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"},Le={key:2,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},je={key:3,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},Re={key:4,class:"inline-block px-2 py-1 text-xs rounded-full bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400"},Pe={key:5,class:"text-sm font-medium mt-1"},Oe=e.defineComponent({__name:"BookingsList",props:{agendaData:{},resources:{},orders:{},filteredOrders:{},isLoading:{type:Boolean},selectedTimeSlot:{},searchQuery:{}},emits:["update:searchQuery","refresh"],setup(d,{emit:b}){const h=d,{params:w}=F.useModuleRoute(),B=e.computed(()=>w.value?.id??w.id??h.agendaData?.id??""),{metadataSchema:o}=X.useAgendaMetadataSchema(B),i=e.computed(()=>{const m=Array.isArray(h.resources)?h.resources:[],u=Array.isArray(h.agendaData?.resources)?h.agendaData.resources:[],S=[...m,...u],r=new Set;return S.filter(t=>{const a=t?.id;return!a||r.has(String(a))?!1:(r.add(String(a)),!0)})}),c=b,{config:n}=F.useModule(),x=F.useFirebaseIntegration(n.project),f=e.ref(null),T=e.ref(null),V=m=>{c("update:searchQuery",m)},_=()=>{c("update:searchQuery","")},I=()=>{c("refresh")},C=(m,u)=>{const S=m.id||m.orderId||u.orderId||"",r=i.value.find(t=>String(t.id)===String(u.resourceId));return{customerInfo:m.customerInfo,amountDue:m.amountDue,amountPaid:m.amountPaid,status:m.status,reservationStatus:u.status,subtotal:m.subtotal,total:m.total,discount:m.discount,id:S,res_id:u.id,resourceId:u.resourceId,spots:u.spots,date:u.date,createdAt:m.createdAt,startTime:u.timeslot?.startTime,endTime:u.timeslot?.endTime,reservationPrice:u.totalPrice,reservationBasePrice:u.basePrice,reservationAddOnsPrice:u.addOnsPrice,orderReservationCount:Array.isArray(m.reservations)?m.reservations.length:void 0,adjustments:m.adjustments||[],reservationAdjustments:u.adjustments||[],pricingOptionId:u.pricingOptionId,pricingOption:u.pricingOption,resourceName:r?.name,resourceColor:r?.color,metadata:m.metadata||{},reservationMetadata:u.metadata||{},refundStatus:u.refundStatus,refundedAt:u.refundedAt,refundedAmount:u.refundedAmount,refunds:Array.isArray(u.refunds)?u.refunds:[]}},D=async()=>{await e.nextTick(),await new Promise(m=>{if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>m());return}m()})},M=async m=>{if(!m)return;const u=await x.get(n.reservationsCollection,m);if(!u)return;const S={...u,id:u.id||m},r=(S.reservations||[]).map(t=>C(S,t));r.length&&(await D(),T.value?.openDialog({id:S.id,customerInfo:S.customerInfo,status:S.status,createdAt:S.createdAt,metadata:S.metadata||{},reservations:r,adjustments:S.adjustments||[],totalPrice:typeof S.total=="number"?S.total:r.reduce((t,a)=>t+(a.reservationPrice||0),0),totalSpots:r.reduce((t,a)=>t+(a.spots||0),0)}))},q=async m=>{await D(),f.value?.openDialog(m)},R=m=>m.orderReservationCount===1&&typeof m.total=="number"?m.total:typeof m.reservationPrice=="number"?m.reservationPrice:null,U=m=>{const u=R(m);return u===null?null:`€${u.toFixed(2)}`};return(m,u)=>{const S=e.resolveComponent("Input"),r=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",xe,[e.createElementVNode("h3",ye,[u[2]||(u[2]=e.createTextVNode(" Bookings ",-1)),d.selectedTimeSlot||d.searchQuery?(e.openBlock(),e.createElementBlock("span",ke," ("+e.toDisplayString(d.filteredOrders.length)+" of "+e.toDisplayString(d.orders.length)+") ",1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",be,[e.createVNode(e.unref(z.Search),{size:16,class:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),e.createVNode(S,{"model-value":d.searchQuery,placeholder:"Search by name, email, or phone...",class:"pl-9 pr-9","onUpdate:modelValue":V},null,8,["model-value"]),d.searchQuery?(e.openBlock(),e.createBlock(r,{key:0,variant:"ghost",size:"icon",class:"absolute right-1 top-1/2 -translate-y-1/2 h-7 w-7",onClick:_},{default:e.withCtx(()=>[e.createVNode(e.unref(z.X),{size:14})]),_:1})):e.createCommentVNode("",!0)]),d.isLoading?(e.openBlock(),e.createElementBlock("div",_e,[...u[3]||(u[3]=[e.createElementVNode("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"},null,-1)])])):d.filteredOrders.length===0?(e.openBlock(),e.createElementBlock("div",Ne,e.toDisplayString(d.selectedTimeSlot?"No bookings for this time slot":"No bookings for this event"),1)):(e.openBlock(),e.createElementBlock("div",we,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.filteredOrders,t=>(e.openBlock(),e.createElementBlock("div",{key:t.res_id||t.id,class:"p-3 border rounded-lg hover:bg-muted/50 transition-colors",onClick:a=>f.value?.openDialog(t)},[e.createElementVNode("div",Se,[e.createElementVNode("div",Ve,[e.createElementVNode("div",Ce,e.toDisplayString(t.customerInfo.firstName+" "+t.customerInfo.lastName||"Unknown Customer"),1),e.createElementVNode("div",De,e.toDisplayString(t.customerInfo.email),1),e.createElementVNode("div",Be,e.toDisplayString(t.customerInfo.phone),1),e.createElementVNode("div",$e,[e.createElementVNode("div",Te,[e.createVNode(e.unref(z.Clock),{size:12}),e.createElementVNode("span",null,e.toDisplayString(t.startTime)+" - "+e.toDisplayString(t.endTime),1)]),e.createElementVNode("div",ze,[e.createVNode(e.unref(z.Users),{size:12}),e.createElementVNode("span",null,e.toDisplayString(t.spots),1)])]),e.createVNode(X._sfc_main,{metadata:{...t.metadata,...t.reservationMetadata},schema:e.unref(o),"display-filter":["highlight","badge"],compact:"",class:"mt-1"},null,8,["metadata","schema"])]),e.createElementVNode("div",Ie,[t.reservationStatus==="needs_approval"?(e.openBlock(),e.createElementBlock("span",Me,"Needs Approval")):t.reservationStatus==="approved"?(e.openBlock(),e.createElementBlock("span",Ae,"Approved")):t.reservationStatus==="rejected"?(e.openBlock(),e.createElementBlock("span",Le,"Rejected")):t.reservationStatus==="cancelled"?(e.openBlock(),e.createElementBlock("span",je,"Cancelled")):(e.openBlock(),e.createElementBlock("span",Re,"Pending")),U(t)?(e.openBlock(),e.createElementBlock("div",Pe,e.toDisplayString(U(t)),1)):e.createCommentVNode("",!0)])])],8,Ee))),128))])),e.createVNode(X._sfc_main$1,{ref_key:"reservationDetailDialog",ref:f,"agenda-data":d.agendaData,resources:d.resources,"show-order-link":"",onCancelled:I,onConfirmed:I,onRejected:I,onTransferred:I,onOpenOrder:u[0]||(u[0]=t=>M(t))},null,8,["agenda-data","resources"]),e.createVNode(X._sfc_main$2,{ref_key:"orderDetailDialog",ref:T,"agenda-data":d.agendaData,resources:d.resources,onOpenReservation:u[1]||(u[1]=t=>q(t))},null,8,["agenda-data","resources"])])}}}),Fe={class:"flex items-center gap-4 mt-2 text-sm"},Ue={class:"flex items-center gap-1"},qe={key:0,class:"flex items-center gap-1"},He={class:"flex items-center gap-1"},Qe={class:"py-4"},We=e.defineComponent({__name:"EventDialog",props:{agendaData:{},resources:{default:()=>[]}},setup(d,{expose:b}){const h=d,{config:w}=F.useModule(),{params:B}=F.useModuleRoute(),o=F.useFirebaseIntegration(w.project),i=e.ref(!1),c=e.ref(null),n=e.ref([]),x=e.ref(!1),f=e.ref(null),T=e.ref("");e.provide("event",c);const V=e.computed(()=>{if(!c.value)return[];const r=c.value.resource?.interval||60,t=[],[a,N]=c.value.startTime.split(":").map(Number),[j,L]=c.value.endTime.split(":").map(Number),y=a*60+N,k=j*60+L;for(let v=y;v<k;v+=r){const l=Math.floor(v/60),p=v%60,E=Math.min(v+r,k),g=Math.floor(E/60),$=E%60,A=`${l.toString().padStart(2,"0")}:${p.toString().padStart(2,"0")}`,s=`${g.toString().padStart(2,"0")}:${$.toString().padStart(2,"0")}`;t.push({startTime:A,endTime:s,label:A})}return t}),_=r=>{const t=r.getFullYear(),a=String(r.getMonth()+1).padStart(2,"0"),N=String(r.getDate()).padStart(2,"0");return`${t}-${a}-${N}`},I=e.computed(()=>{const r={};return V.value.forEach(t=>{r[t.startTime]={bookings:0,spots:0,orders:[]}}),n.value.forEach(t=>{V.value.forEach(a=>{t.startTime<a.endTime&&t.endTime>a.startTime&&(r[a.startTime].bookings++,r[a.startTime].spots+=t.spots||0,r[a.startTime].orders.push(t))})}),r}),C=e.computed(()=>Math.max(1,...Object.values(I.value).map(r=>r.spots))),D=e.computed(()=>{let r=n.value;return f.value&&(r=I.value[f.value]?.orders||[]),T.value.trim()&&(r=new X.Fuse(r,{keys:["customerInfo.firstName","customerInfo.lastName","customerInfo.email","customerInfo.phone"],threshold:.3,ignoreLocation:!0}).search(T.value).map(a=>a.item)),r}),M=e.computed(()=>({spots:n.value.reduce((r,t)=>r+(t.spots||0),0),bookings:n.value.length})),q=r=>{f.value===r?f.value=null:f.value=r},R=()=>{f.value=null},U=async r=>{i.value=!0,c.value=r,f.value=null,T.value="",await m()},m=async()=>{if(c.value){x.value=!0,n.value=[];try{const r=B.value.id,t=_(new Date(c.value.date)),a=c.value.resourceId||c.value.resource?.id,N=new Set;if(a?N.add(`${a}_${t}`):h.resources?.forEach(y=>{N.add(`${y.id}_${t}`)}),N.size===0){n.value=[];return}const j=await o.find(w.reservationsCollection,{filters:[{field:"agendaId",operator:"==",value:r},{field:"status",operator:"==",value:"confirmed"},{field:"flattenedReservationDates",operator:"array-contains-any",value:Array.from(N)}]});let L=[];j.forEach(y=>{(y.reservations?.filter(v=>v.date!==t?!1:a?v.resourceId===a:!0)||[]).forEach(v=>{const l=h.resources.find(E=>E.id===v.resourceId),p=y.id||y.orderId||v.orderId||"";(v.status==="approved"||v.status==="needs_approval")&&L.push({customerInfo:y.customerInfo,amountDue:y.amountDue,amountPaid:y.amountPaid,status:y.status,reservationStatus:v.status,subtotal:y.subtotal,total:y.total,discount:y.discount,id:p,res_id:v.id,resourceId:v.resourceId,spots:v.spots,date:t,createdAt:y.createdAt,startTime:v.timeslot?.startTime,endTime:v.timeslot?.endTime,reservationPrice:v.totalPrice,reservationBasePrice:v.basePrice,reservationAddOnsPrice:v.addOnsPrice,orderReservationCount:Array.isArray(y.reservations)?y.reservations.length:void 0,adjustments:y.adjustments||[],reservationAdjustments:v.adjustments||[],pricingOptionId:v.pricingOptionId,pricingOption:v.pricingOption,resourceName:l?.name,resourceColor:l?.color,metadata:y.metadata||{},reservationMetadata:v.metadata||{},refundStatus:v.refundStatus,refundedAt:v.refundedAt,refundedAmount:v.refundedAmount,refunds:Array.isArray(v.refunds)?v.refunds:[]})})}),n.value=L.sort((y,k)=>y.startTime?.localeCompare(k.startTime||"")||0)}catch(r){console.error("Error loading orders:",r),n.value=[]}finally{x.value=!1}}},u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],S=["January","February","March","April","May","June","July","August","September","October","November","December"];return b({openDialog:U}),(r,t)=>{const a=e.resolveComponent("DialogTitle"),N=e.resolveComponent("DialogDescription"),j=e.resolveComponent("DialogHeader"),L=e.resolveComponent("Button"),y=e.resolveComponent("DialogFooter"),k=e.resolveComponent("DialogScrollContent"),v=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(v,{open:i.value,"onUpdate:open":t[2]||(t[2]=l=>i.value=l)},{default:e.withCtx(()=>[e.createVNode(k,{class:"sm:max-w-3xl"},{default:e.withCtx(()=>[e.createVNode(j,null,{default:e.withCtx(()=>[c.value?.date?(e.openBlock(),e.createBlock(a,{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u[new Date(c.value.date).getUTCDay()])+" "+e.toDisplayString(S[new Date(c.value.date).getUTCMonth()])+" "+e.toDisplayString(new Date(c.value.date).getUTCDate())+", "+e.toDisplayString(new Date(c.value.date).getUTCFullYear()),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(N,null,{default:e.withCtx(()=>[e.createElementVNode("div",Fe,[e.createElementVNode("div",Ue,[e.createVNode(e.unref(z.Clock),{size:14}),e.createElementVNode("span",null,e.toDisplayString(c.value?.startTime)+" – "+e.toDisplayString(c.value?.endTime),1)]),c.value?.resource?(e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("div",{class:"w-4 h-4 rounded-full",style:e.normalizeStyle({backgroundColor:c.value.resource.color||"#6b7280"})},null,4),e.createElementVNode("span",null,e.toDisplayString(c.value.resource.name),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",He,[e.createVNode(e.unref(z.Users),{size:14}),e.createElementVNode("span",null,e.toDisplayString(M.value.spots)+" spots in "+e.toDisplayString(M.value.bookings)+" reservations",1)])])]),_:1})]),_:1}),e.createElementVNode("div",Qe,[V.value.length>1?(e.openBlock(),e.createBlock(he,{key:0,"time-slots":V.value,"slot-stats":I.value,"selected-time-slot":f.value,"max-spots":C.value,onSelect:q,onClear:R,tabindex:"0"},null,8,["time-slots","slot-stats","selected-time-slot","max-spots"])):e.createCommentVNode("",!0),e.createVNode(Oe,{"agenda-data":d.agendaData,resources:d.resources,orders:n.value,"filtered-orders":D.value,"is-loading":x.value,"selected-time-slot":f.value,"search-query":T.value,"onUpdate:searchQuery":t[0]||(t[0]=l=>T.value=l),onRefresh:m},null,8,["agenda-data","resources","orders","filtered-orders","is-loading","selected-time-slot","search-query"])]),e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(L,{variant:"outline",onClick:t[1]||(t[1]=l=>i.value=!1)},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode("Close",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),Xe={class:"flex-1 border-r shadow-sm overflow-hidden min-h-[1536px]"},Ye={class:"relative h-full min-h-[1536px]"},Je={class:"divide-y divide-input/80 h-full flex flex-col min-h-[1536px] border-y border-input/80"},Ke={class:"absolute inset-0 pointer-events-none"},Ge={class:"relative mr-1 @md:mr-3 h-full ml-0.5 @md:ml-2"},Ze=["onClick"],et={key:0,class:"absolute bottom-0 left-0 right-0 h-1 bg-black/20"},tt={class:"flex items-start justify-between gap-2 mb-1"},ot={class:"font-semibold text-xs @md:text-sm leading-tight line-clamp-1 flex-1"},nt={class:"flex items-center gap-1 shrink-0"},at=["title"],st={class:"font-medium"},J=e.defineComponent({__name:"EventTimeline",props:{agendaData:{},date:{},events:{},firstDay:{type:Boolean,default:!1},resources:{default:()=>[]}},setup(d){const b=d,h=e.ref(null),w=i=>{const[c,n]=i.split(":").map(Number);return c*60+n};e.computed(()=>!b.events||!b.resources?[]:b.resources.map(i=>{const n=b.events.filter(x=>x.resourceId===i.id).map(x=>{const f=w(x.startTime),V=w(x.endTime)-f,_=f/1440*100,I=V/1440*100,C=(x.bookings??0)>0,D=x.maxBookings?(x.bookings??0)/x.maxBookings*100:0;return{...x,top:`${_}%`,height:`${I}%`,color:x.resource?.color||"#3b82f6",hasBookings:C,fillPercentage:D,isSmall:V<60}});return{resource:i,events:n}}));const B=e.computed(()=>b.events?b.events.map(i=>{const c=w(i.startTime),x=w(i.endTime)-c,f=c/1440*100,T=x/1440*100,V=(i.bookings??0)>0,_=i.maxBookings?(i.bookings??0)/i.maxBookings*100:0;return{...i,top:`${f}%`,height:`${T}%`,color:i.resource?.color||"#3b82f6",hasBookings:V,fillPercentage:_,isSmall:x<60}}):[]),o=Array.from({length:24},(i,c)=>({hour:c,label:`${c.toString().padStart(2,"0")}:00`}));return(i,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Xe,[e.createElementVNode("div",Ye,[e.createElementVNode("div",Je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),n=>(e.openBlock(),e.createElementBlock("div",{key:n.hour,class:"flex-1 flex transition-all duration-200"},[...c[0]||(c[0]=[e.createElementVNode("div",{class:"flex-1 relative"},[e.createElementVNode("div",{class:"absolute top-1/2 left-0 right-0 border-t border-dashed border-input/50"})],-1)])]))),128))]),e.createElementVNode("div",Ke,[e.createElementVNode("div",Ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,n=>(e.openBlock(),e.createElementBlock("div",{key:n.id,style:e.normalizeStyle({top:n.top,height:n.height,opacity:n.hasBookings?"1":"0.5"}),class:"event-card absolute left-0.5 right-0.5 @md:left-2 @md:right-2 rounded-lg pointer-events-auto cursor-pointer group/event transition-all duration-200 hover:shadow-xl overflow-hidden",onClick:x=>h.value?.openDialog(n)},[e.createElementVNode("div",{style:e.normalizeStyle({backgroundColor:n.color}),class:"absolute inset-0 shadow-lg"},[n.maxBookings?(e.openBlock(),e.createElementBlock("div",et,[e.createElementVNode("div",{class:"h-full bg-white/40 transition-all duration-300",style:e.normalizeStyle({width:`${n.fillPercentage}%`})},null,4)])):e.createCommentVNode("",!0)],4),e.createElementVNode("div",{class:e.normalizeClass(["relative h-full p-1.5 @md:p-3 flex flex-col",`${n.hasBookings?"text-white":"text-gray-600 dark:text-gray-100"}`])},[e.createElementVNode("div",tt,[e.createElementVNode("h3",ot,e.toDisplayString(n.title),1),e.createElementVNode("div",nt,[n.resource?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-5 h-5 @md:w-6 @md:h-6 rounded-full flex items-center justify-center text-[10px] @md:text-xs font-bold bg-white/30 backdrop-blur-sm text-white border border-white/40",title:n.resource.name},e.toDisplayString(n.resource.avatarLabel||n.resource.name.charAt(0).toUpperCase()),9,at)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-0.5 @md:gap-1 px-1.5 @md:px-2 py-0.5 rounded-full text-[10px] @md:text-xs font-medium",n.hasBookings?"bg-white text-black backdrop-blur-sm":"bg-black/10 backdrop-blur-sm"])},[e.createVNode(e.unref(z.Users),{size:12}),e.createElementVNode("span",null,e.toDisplayString(n.bookings),1)],2)])]),e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-1 @md:gap-2 text-[10px] @md:text-xs opacity-90 mt-auto",{"-translate-x-1 -translate-y-2 scale-80 origin-[0_0]":n.isSmall}])},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-1 px-1 @md:px-2 py-0.5 rounded backdrop-blur-sm",{"bg-black/10":!n.isSmall}])},[e.createVNode(e.unref(z.Clock),{size:10}),e.createElementVNode("span",st,e.toDisplayString(n.startTime)+" – "+e.toDisplayString(n.endTime),1)],2)],2)],2),c[1]||(c[1]=e.createElementVNode("div",{class:"absolute inset-0 border-2 border-white/0 group-hover/event:border-white/30 rounded-lg transition-colors duration-200 pointer-events-none"},null,-1))],12,Ze))),128))])])])]),e.createVNode(We,{"agenda-data":d.agendaData,resources:d.resources,ref_key:"eventDialog",ref:h},null,8,["agenda-data","resources"])],64))}}),rt={class:"sticky left-0 mt-auto z-10 divide-y divide-border/50 h-full flex flex-col min-h-[1536px] bg-input"},lt={class:"flex-shrink-0 text-[10px] @md:text-xs font-medium text-muted-foreground px-1.5 @md:px-3 pb-3 border-r border-border/50 w-10 @md:w-14"},it={class:"flex items-center gap-1.5"},K=e.defineComponent({__name:"Event24hSidebar",setup(d){const b=Array.from({length:24},(h,w)=>({hour:w,label:`${w.toString().padStart(2,"0")}:00`}));return(h,w)=>(e.openBlock(),e.createElementBlock("div",rt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),B=>(e.openBlock(),e.createElementBlock("div",{key:B.hour,class:"flex-1 flex transition-all duration-200"},[e.createElementVNode("div",lt,[e.createElementVNode("div",it,[e.createElementVNode("span",{class:e.normalizeClass({"-translate-y-1/2":B.hour!==0})},e.toDisplayString(B.label),3)])])]))),128))]))}}),ct={class:"absolute top-0 w-full pointer-events-none"},dt={key:0,class:"absolute -right-2 -top-0.5 px-2 py-0.5 bg-red-500 text-white text-xs font-medium rounded shadow-lg"},G=e.defineComponent({__name:"EventTimeIndicator",props:{currentDate:{type:Object,required:!1}},setup(d){const b=e.ref(Date.now());let h;e.onMounted(()=>{h=window.setInterval(()=>{b.value=Date.now()},1e3)}),e.onUnmounted(()=>{h&&clearInterval(h)});const w=e.computed(()=>{const o=new Date(b.value);return`${(o.getHours()*60+o.getMinutes()+o.getSeconds()/60)/1440*100}%`}),B=e.computed(()=>new Date(b.value).getFullYear()+"-"+(new Date(b.value).getMonth()+1).toString().padStart(2,"0")+"-"+new Date(b.value).getDate().toString().padStart(2,"0"));return(o,i)=>(e.openBlock(),e.createElementBlock("div",ct,[e.createElementVNode("div",{class:"absolute left-0 right-0 h-0.5 bg-red-500 z-30 pointer-events-none transition-[top] duration-300 ease-linear",style:e.normalizeStyle({top:w.value})},[i[0]||(i[0]=e.createElementVNode("div",{class:"absolute -left-2 -top-1.5 w-3 h-3 bg-red-500 rounded-full shadow-lg shadow-red-500/50"},null,-1)),d.currentDate&&d.currentDate==B.value?(e.openBlock(),e.createElementBlock("div",dt," Now ")):e.createCommentVNode("",!0)],4)]))}}),ut={key:0,class:"relative flex flex-1 min-w-0 bg-card"},mt={key:1,class:"flex-1 min-w-0 relative min-h-[1616px] @md:min-h-[1658px] bg-card"},pt={key:0,class:"absolute top-0 right-0 z-10 px-3 py-1.5 bg-primary/90 text-primary-foreground text-xs font-medium rounded-bl-lg shadow-lg backdrop-blur-sm flex items-center gap-1.5 animate-pulse-subtle"},ft={class:"flex pb-4 min-w-[200px]"},vt=["onClick"],gt={key:0,class:"absolute top-2 right-2 flex items-center gap-1 px-2 py-0.5 bg-primary/20 backdrop-blur-sm rounded-full border border-primary/30"},ht={class:"text-xs text-muted-foreground font-medium group-hover:text-foreground/70 transition-colors"},xt={key:0,class:"absolute bottom-0 left-0 w-full h-1 bg-orange-500"},yt=e.defineComponent({__name:"EventView",props:{agendaData:{default:()=>({})}},setup(d){const b=e.inject("activeDate",e.ref(H.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(H.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()))),h=e.inject("viewMode",e.ref(1)),w=e.inject("events",e.ref([])),B=e.inject("resources",e.ref([])),o=e.ref(null),i=e.ref(!1),c=e.ref(!1);e.computed(()=>B.value.length>1);const n=e.computed(()=>{const t=[],a=b.value;for(let N=0;N<h.value;N++)t.push(a.add({days:N}));return t}),x=(t,a)=>{const N=`${t.year}-${String(t.month).padStart(2,"0")}-${String(t.day).padStart(2,"0")}`;return w.value?.filter(j=>j.date===N)||[]},f=t=>{const a=H.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(H.$14e0f24ef4ac5c92$export$aa8b41735afcabd2());return t.year===a.year&&t.month===a.month&&t.day===a.day},T=t=>{b.value=t,h.value=1};let V=null,_=null;const I=()=>{o.value&&(D(),o.value.scrollBy({left:-300,behavior:"smooth"}),_=window.setTimeout(()=>{V=window.setInterval(()=>{o.value&&o.value.scrollBy({left:-20,behavior:"auto"})},50)},300))},C=()=>{o.value&&(D(),o.value.scrollBy({left:300,behavior:"smooth"}),_=window.setTimeout(()=>{V=window.setInterval(()=>{o.value&&o.value.scrollBy({left:20,behavior:"auto"})},50)},300))},D=()=>{_&&(clearTimeout(_),_=null),V&&(clearInterval(V),V=null)},M=()=>{if(!o.value)return;const{scrollLeft:t,scrollWidth:a,clientWidth:N}=o.value;i.value=t>10,c.value=t<a-N-10},q=t=>{o.value&&Math.abs(t.deltaY)>Math.abs(t.deltaX)&&(t.preventDefault(),o.value.scrollBy({left:t.deltaY,behavior:"auto"}))},R=e.ref(!1),U=e.ref(0),m=e.ref(0),u=t=>{!o.value||h.value===1||t.target.closest(".event-card")||(R.value=!0,U.value=t.pageX,m.value=o.value.scrollLeft,o.value.style.userSelect="none",t.preventDefault())},S=t=>{if(!R.value||!o.value)return;const a=t.pageX,N=(U.value-a)*1.2;o.value.scrollLeft=m.value+N},r=()=>{o.value&&(R.value=!1,o.value.style.userSelect="")};return e.onMounted(()=>{o.value&&(o.value.addEventListener("scroll",M),o.value.addEventListener("wheel",q,{passive:!1}),e.nextTick(()=>{M(),setTimeout(M,50),setTimeout(M,150),setTimeout(M,300),setTimeout(M,500)})),document.addEventListener("mousemove",S),document.addEventListener("mouseup",r)}),e.onBeforeUnmount(()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",r)}),e.watch(h,()=>{h.value>1?e.nextTick(()=>{setTimeout(()=>{if(!o.value)return;const{scrollWidth:t,clientWidth:a}=o.value;t>a&&(c.value=!0,i.value=!1)},100)}):o.value&&(o.value.style.cursor="")}),e.onUnmounted(()=>{D(),o.value&&(o.value.removeEventListener("scroll",M),o.value.removeEventListener("wheel",q))}),(t,a)=>{const N=e.resolveComponent("Button"),j=e.resolveComponent("TooltipTrigger"),L=e.resolveComponent("TooltipContent"),y=e.resolveComponent("Tooltip");return e.unref(h)===1?(e.openBlock(),e.createElementBlock("div",ut,[e.createVNode(K),e.createVNode(G,{class:"h-full","current-date":e.unref(b)},null,8,["current-date"]),e.createVNode(J,{"agenda-data":d.agendaData,date:e.unref(b),events:x(e.unref(b)),resources:e.unref(B)},null,8,["agenda-data","date","events","resources"])])):(e.openBlock(),e.createElementBlock("div",mt,[e.unref(h)===7?(e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(e.unref(z.ChevronLeft),{size:12}),a[0]||(a[0]=e.createElementVNode("span",null,"Scroll to view all days",-1)),e.createVNode(e.unref(z.ChevronRight),{size:12})])):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createBlock(N,{key:1,variant:"outline",size:"icon",onMousedown:I,onMouseup:D,onMouseleave:D,onTouchstart:I,onTouchend:D,class:"sticky top-1/2 left-2 -translate-y-1/2 z-40 h-10 w-10 rounded-full shadow-lg bg-background/95 backdrop-blur-sm hover:bg-background border-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(z.ChevronLeft),{size:20})]),_:1})):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createBlock(N,{key:2,variant:"outline",size:"icon",onMousedown:C,onMouseup:D,onMouseleave:D,onTouchstart:C,onTouchend:D,class:"sticky top-1/2 right-2 -translate-y-1/2 z-40 h-10 w-10 rounded-full shadow-lg bg-background/95 backdrop-blur-sm hover:bg-background border-2 float-right"},{default:e.withCtx(()=>[e.createVNode(e.unref(z.ChevronRight),{size:20})]),_:1})):e.createCommentVNode("",!0),e.createVNode(G,{class:"h-[calc(100%-122px)] mt-[80px] @md:h-[calc(100%-164px)] @md:mt-[122px]"}),e.createElementVNode("div",{class:e.normalizeClass(["absolute right-0 top-0 bottom-0 w-8 bg-gradient-to-l from-background to-transparent z-10 pointer-events-none transition-opacity duration-300",c.value?"opacity-100":"opacity-0"])},null,2),e.createElementVNode("div",{ref_key:"scrollContainer",ref:o,class:"absolute inset-0 overflow-x-auto overflow-y-hidden",onScroll:M,onMousedown:u},[e.createElementVNode("div",ft,[e.createVNode(K),a[5]||(a[5]=e.createElementVNode("div",{class:"absolute w-10 @md:w-14 h-[125px] bg-input"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(k,v)=>(e.openBlock(),e.createElementBlock("div",{key:k.toString(),class:e.normalizeClass(["flex-shrink-0",{"min-w-[200px] w-[33.33%]":e.unref(h)===3,"min-w-[280px]":e.unref(h)===7}])},[e.createElementVNode("div",{onClick:l=>T(k),class:e.normalizeClass(["relative p-3 border cursor-pointer transition-all duration-200 group relative",f(k)?"bg-gradient-to-br from-primary/10 to-primary/5 border-primary/30 hover:from-primary/20 hover:to-primary/10 hover:border-primary/50 hover:shadow-md":"bg-gradient-to-br from-muted/50 to-muted/30 border-border hover:from-accent/50 hover:to-accent/30 hover:border-accent-foreground/20 hover:shadow-md"])},[f(k)?(e.openBlock(),e.createElementBlock("div",gt,[...a[1]||(a[1]=[e.createElementVNode("div",{class:"w-1.5 h-1.5 bg-primary rounded-full animate-pulse"},null,-1),e.createElementVNode("span",{class:"text-[9px] font-bold text-primary uppercase tracking-wide"},"Today",-1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["text-xs font-semibold uppercase tracking-wider transition-colors",f(k)?"text-primary group-hover:text-primary/80":"text-muted-foreground group-hover:text-foreground"])},e.toDisplayString(new Date(k.year,k.month-1,k.day).toLocaleDateString("en-US",{weekday:"short"})),3),e.createElementVNode("div",{class:e.normalizeClass(["text-2xl font-bold transition-colors",f(k)?"text-foreground":"text-foreground group-hover:text-primary"])},e.toDisplayString(k.day),3),e.createElementVNode("div",ht,e.toDisplayString(new Date(k.year,k.month-1,k.day).toLocaleDateString("en-US",{month:"long",year:"numeric"})),1),a[4]||(a[4]=e.createElementVNode("div",{class:"mt-2 pt-2 border-t border-border/0 group-hover:border-border/50 transition-all"},[e.createElementVNode("div",{class:"text-[10px] text-muted-foreground/0 group-hover:text-muted-foreground/100 uppercase tracking-wide transition-all"}," Click to view ")],-1)),e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(j,{"as-child":""},{default:e.withCtx(()=>[x(k).filter(l=>l.isException).length>0?(e.openBlock(),e.createBlock(e.unref(z.Asterisk),{key:0,class:"absolute top-3 right-3 size-4 text-orange-500"})):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(L,null,{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createElementVNode("p",null," This day has exceptions applied to it. ",-1)])]),_:1})]),_:2},1024),e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(j,{"as-child":""},{default:e.withCtx(()=>[x(k).filter(l=>l.isException).length>0?(e.openBlock(),e.createElementBlock("div",xt)):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(L,null,{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createElementVNode("p",null," This day has exceptions applied to it. ",-1)])]),_:1})]),_:2},1024)],10,vt),e.createVNode(J,{"agenda-data":d.agendaData,date:k,events:x(k),resources:e.unref(B)},null,8,["agenda-data","date","events","resources"])],2))),128))])],544)]))}}}),kt=ne._export_sfc(yt,[["__scopeId","data-v-a0b50ec2"]]),bt={class:"flex items-center justify-between @sm:justify-start gap-4"},_t={class:"flex flex-col"},Nt={class:"flex items-center gap-2"},wt={class:"text-lg @sm:text-2xl font-bold tracking-tight truncate"},Et={class:"text-xs @sm:text-sm text-muted-foreground ml-7 truncate"},St={class:"flex @sm:items-center justify-between flex-col @sm:flex-row @5xl:justify-end gap-2"},Vt={class:"flex items-center gap-1 @5xl:mr-2"},Ct={key:0,class:"flex items-center gap-2 px-1 overflow-x-auto pb-2 -mx-1 scrollbar-hide"},Dt=["onClick"],Bt={class:"flex gap-2 @md:gap-4"},$t={class:"hidden @md:flex flex-shrink-0 flex-col gap-4"},Tt={key:0,class:"rounded-md border p-3 bg-card"},zt={class:"space-y-1"},It=["onClick"],Mt={class:"min-w-0 flex-1"},At={class:"text-sm font-medium truncate"},Lt={key:0,class:"pt-2 mt-2 border-t"},jt={key:0,class:"mt-1 space-y-1"},Rt={class:"min-w-0 flex-1"},Pt={class:"text-sm font-medium truncate text-muted-foreground"},Ot=e.defineComponent({__name:"agenda",setup(d){const{hasPermission:b}=F.useModulePermissions(),{params:h}=F.useModuleRoute(),{config:w}=F.useModule(),B=F.useFirebaseIntegration(w.project),o=e.ref(H.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(H.$14e0f24ef4ac5c92$export$aa8b41735afcabd2())),i=e.ref(1),c=e.useTemplateRef("container"),{width:n}=se.useElementSize(c),x=e.computed(()=>n.value<640);e.watch(x,l=>{l&&i.value!==1&&(i.value=1)},{immediate:!0});const f=e.ref(null),T=e.ref(new Map),V=e.computed(()=>f.value?.resources||[]),_=e.computed(()=>V.value.filter(l=>l.isActive)),I=e.computed(()=>V.value.filter(l=>!l.isActive)),C=e.ref(null),D=e.ref(!1);e.watch(_,l=>{l.length>0&&!C.value&&(C.value=l[0].id)},{immediate:!0});const M=e.computed(()=>{if(!C.value)return _.value.length>0?[_.value[0]]:[];const l=_.value.find(p=>p.id===C.value);return l?[l]:_.value.length>0?[_.value[0]]:[]}),q=e.computed(()=>f.value?.pricingOptions?.find(p=>p.isDefault)?.duration||30),R=l=>{C.value=l};e.watch(o,()=>{k()});const U=e.computed(()=>{const l=o.value,p=new Date(l.year,l.month-1,l.day),E=p.toLocaleDateString("en-US",{weekday:"long"}).toUpperCase(),g=l.day,$=p.toLocaleDateString("en-US",{month:"short"}).toUpperCase();return{dayName:E,day:g,monthName:$,full:`${E} ${g} ${$}`}}),m=()=>{o.value=o.value.subtract({days:i.value})},u=()=>{o.value=o.value.add({days:i.value})},S=()=>{o.value=H.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(H.$14e0f24ef4ac5c92$export$aa8b41735afcabd2())},r=l=>{const[p,E]=l.split(":").map(Number);return p*60+E},t=(l,p)=>(f.value?.exceptions||[]).find(g=>p>=g.startDate&&p<=g.endDate?g.resourceIds===null?!0:g.resourceIds?.includes(l):!1)||null,a=(l,p,E)=>{const g=t(l.id,E);if(g)return g.isClosed?[]:g.timeslots.map(s=>({startTime:s.startTime,endTime:s.endTime,isException:!0}));const $=p.getDay(),A=l.openingHours?.[$]||[];return A.length===0?[]:A.map(s=>({startTime:s.start,endTime:s.end,isException:!1}))},N=(l,p,E,g)=>{if(!f.value)return 0;const $=T.value.get(p);return $?$.filter(s=>s.resourceId===l).reduce((s,P)=>{const O=r(P.startTime),Q=r(P.endTime),W=r(E),Y=r(g);return O<Y&&Q>W?s+(P.reserved||0):s},0):0},j=e.computed(()=>{if(!f.value)return[];T.value.size;let l=[],p=[];for(let g=0;g<i.value;g++){const $=o.value.add({days:g});p.push($)}const E=M.value.length>0?M.value:[];return E.length===0?[]:(p.forEach(g=>{let $=new Date(g.year,g.month-1,g.day);const A=`${g.year}-${String(g.month).padStart(2,"0")}-${String(g.day).padStart(2,"0")}`;E.forEach(s=>{const P=a(s,$,A);l=l.concat(P.map((O,Q)=>{const W=N(s.id,A,O.startTime,O.endTime);return{id:`block-${A}-${s.id}-${Q}`,title:f.value.serviceName,date:A,startTime:O.startTime,endTime:O.endTime,theme:s.color||"#3b82f6",bookings:W,maxBookings:s.capacity,isException:O.isException||!1,resourceId:s.id,resource:s,interval:s.interval||30,serviceDuration:q.value}}))})}),l)});let L=null;const y=async()=>{L||(L=B.get(w.agendaCollection,h.value.id).then(l=>{f.value=l}).finally(()=>{L=null})),await L},k=async()=>{if(f.value||await y(),!f.value)return;const l=h.value.id,p=o.value;T.value.clear();const E=[];for(let g=0;g<i.value;g++){const $=p.add({days:g}),A=`${$.year}-${String($.month).padStart(2,"0")}-${String($.day).padStart(2,"0")}`,s=`${l}_${A}`;E.push(B.get(w.reservedSpotsCollection,s).then(P=>{if(P){const O=[];for(const Q of _.value){const W=P?.[Q.id]||{};Object.entries(W).forEach(([Y,Z])=>{const[ee,te]=Y.split("-");O.push({resourceId:Q.id,startTime:ee,endTime:te,reserved:Z})})}T.value.set(A,O)}}).catch(()=>{}))}await Promise.all(E)};return(async()=>(await y(),await k()))(),e.watch(i,()=>{k()}),e.provide("agendaData",f),e.provide("activeDate",o),e.provide("viewMode",i),e.provide("events",j),e.provide("resources",M),e.provide("allResources",_),(l,p)=>{const E=e.resolveComponent("Button"),g=e.resolveComponent("SegmentedControlButton"),$=e.resolveComponent("SegmentedControl"),A=e.resolveComponent("Calendar");return e.openBlock(),e.createBlock(oe._sfc_main,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:c,class:"flex flex-col gap-2 @md:gap-4 w-full"},[e.createElementVNode("div",{class:e.normalizeClass(["flex flex-col @5xl:flex-row @5xl:items-center @5xl:justify-between gap-3 px-1",(x.value,"")])},[e.createElementVNode("div",bt,[e.createElementVNode("div",_t,[e.createElementVNode("div",Nt,[e.createVNode(e.unref(z.CalendarDays),{size:20,class:"text-primary flex-shrink-0"}),e.createElementVNode("h2",wt,e.toDisplayString(U.value.full),1)]),e.createElementVNode("p",Et,e.toDisplayString(f.value?.serviceName),1)])]),e.createElementVNode("div",St,[e.createElementVNode("div",Vt,[e.createVNode(E,{variant:"outline",size:"icon",class:"size-8 @sm:size-9",onClick:m},{default:e.withCtx(()=>[e.createVNode(e.unref(z.ChevronLeft),{size:16})]),_:1}),e.createVNode(E,{variant:"outline",size:"sm",class:"h-8 @sm:h-9 px-2 @sm:px-3 text-xs @sm:text-sm",onClick:S},{default:e.withCtx(()=>[...p[3]||(p[3]=[e.createTextVNode(" Today ",-1)])]),_:1}),e.createVNode(E,{variant:"outline",size:"icon",class:"size-8 @sm:size-9",onClick:u},{default:e.withCtx(()=>[e.createVNode(e.unref(z.ChevronRight),{size:16})]),_:1})]),x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock($,{key:0,modelValue:i.value,"onUpdate:modelValue":p[0]||(p[0]=s=>i.value=s)},{default:e.withCtx(()=>[e.createVNode(g,{value:1},{default:e.withCtx(()=>[...p[4]||(p[4]=[e.createElementVNode("span",{class:"whitespace-nowrap"},"1 Day",-1)])]),_:1}),e.createVNode(g,{value:3},{default:e.withCtx(()=>[...p[5]||(p[5]=[e.createElementVNode("span",{class:"whitespace-nowrap"},"3 Days",-1)])]),_:1}),e.createVNode(g,{value:7},{default:e.withCtx(()=>[...p[6]||(p[6]=[e.createElementVNode("span",{class:"whitespace-nowrap"},"7 Days",-1)])]),_:1})]),_:1},8,["modelValue"])),e.unref(b)("manage-reservations")?(e.openBlock(),e.createBlock(ae._sfc_main,{key:1,"agenda-data":f.value},null,8,["agenda-data"])):e.createCommentVNode("",!0)])],2),x.value&&_.value.length>0?(e.openBlock(),e.createElementBlock("div",Ct,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,s=>(e.openBlock(),e.createElementBlock("button",{key:s.id,class:e.normalizeClass(["flex items-center gap-2 px-3 py-1.5 rounded-full border text-sm whitespace-nowrap transition-colors flex-shrink-0",{"bg-primary text-primary-foreground border-primary":C.value===s.id,"bg-background hover:bg-muted":C.value!==s.id}]),onClick:P=>R(s.id)},[e.createElementVNode("div",{class:"size-5 rounded-full flex items-center justify-center text-white text-[10px] font-medium",style:e.normalizeStyle({backgroundColor:C.value===s.id?"rgba(255,255,255,0.3)":s.color||"#6b7280"})},e.toDisplayString(s.avatarLabel||s.name.charAt(0).toUpperCase()),5),e.createElementVNode("span",null,e.toDisplayString(s.name),1)],10,Dt))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Bt,[e.createElementVNode("div",$t,[e.createVNode(A,{modelValue:o.value,"onUpdate:modelValue":p[1]||(p[1]=s=>o.value=s),"weekday-format":"short",class:"rounded-md border bg-card"},null,8,["modelValue"]),V.value.length>0?(e.openBlock(),e.createElementBlock("div",Tt,[p[7]||(p[7]=e.createElementVNode("div",{class:"flex items-center justify-between mb-3"},[e.createElementVNode("span",{class:"text-sm font-medium"},"Resources")],-1)),e.createElementVNode("div",zt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s.id,class:e.normalizeClass(["flex items-center gap-2 p-2 rounded-md hover:bg-muted cursor-pointer transition-colors",{"bg-muted ring-2 ring-primary/20":C.value===s.id,"opacity-50":C.value&&C.value!==s.id}]),onClick:P=>R(s.id)},[e.createElementVNode("div",{class:"size-7 rounded-full flex items-center justify-center text-white text-xs font-medium flex-shrink-0",style:e.normalizeStyle({backgroundColor:s.color||"#6b7280"})},e.toDisplayString(s.avatarLabel||s.name.charAt(0).toUpperCase()),5),e.createElementVNode("div",Mt,[e.createElementVNode("div",At,e.toDisplayString(s.name),1)]),e.createElementVNode("div",{class:e.normalizeClass(["size-2 rounded-full flex-shrink-0",C.value===s.id?"bg-primary":"bg-muted-foreground/30"])},null,2)],10,It))),128)),I.value.length>0?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("button",{class:"flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground w-full py-1 transition-colors",onClick:p[2]||(p[2]=s=>D.value=!D.value)},[e.createVNode(e.unref(z.ChevronRight),{size:14,class:e.normalizeClass(["transition-transform",{"rotate-90":D.value}])},null,8,["class"]),e.createElementVNode("span",null,"Inactive ("+e.toDisplayString(I.value.length)+")",1)]),D.value?(e.openBlock(),e.createElementBlock("div",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s.id,class:"flex items-center gap-2 p-2 rounded-md opacity-50"},[e.createElementVNode("div",{class:"size-7 rounded-full flex items-center justify-center text-white text-xs font-medium flex-shrink-0 grayscale",style:e.normalizeStyle({backgroundColor:s.color||"#6b7280"})},e.toDisplayString(s.avatarLabel||s.name.charAt(0).toUpperCase()),5),e.createElementVNode("div",Rt,[e.createElementVNode("div",Pt,e.toDisplayString(s.name),1)])]))),128))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),e.createVNode(kt,{"agenda-data":f.value},null,8,["agenda-data"])])],512)]),_:1})}}});exports.default=Ot;