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

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 (223) hide show
  1. package/dist/AppointmentListTable-CWzbwqR-.js +1 -0
  2. package/dist/AppointmentListTable-DoZuBstk.mjs +270 -0
  3. package/dist/ContentEditor-BlNbqkAz.js +324 -0
  4. package/dist/{ContentEditor-MDGolnIP.mjs → ContentEditor-D754iLJS.mjs} +7985 -26820
  5. package/dist/{Detail-Dk8E6_uF.mjs → Detail-BOxWQ1QQ.mjs} +15 -14
  6. package/dist/{Detail-Cn9Bk0u0.mjs → Detail-BfKW0uZE.mjs} +26 -25
  7. package/dist/Detail-DFVu2F38.mjs +11 -0
  8. package/dist/Detail-DJea_fCd.js +1 -0
  9. package/dist/Detail-DPJacXfm.js +1 -0
  10. package/dist/Detail-DSLZ7_bM.js +1 -0
  11. package/dist/Detail-DUGThL9Y.js +1 -0
  12. package/dist/{Detail-B_scnidb.mjs → Detail-D_LlEeHu.mjs} +35 -34
  13. package/dist/Editor-D4evcdhv.mjs +768 -0
  14. package/dist/Editor-gLLtuJbY.js +1 -0
  15. package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-BjKpsqT9.js +1 -0
  16. package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-D5v5AhLe.mjs +76 -0
  17. package/dist/Knowledge-B66vxz--.js +1 -0
  18. package/dist/Knowledge-BnMTTuJ7.mjs +742 -0
  19. package/dist/Overview-0hFXiuYo.js +1 -0
  20. package/dist/Overview-BE4uYPx0.mjs +745 -0
  21. package/dist/Overview-BTx5LF4J.js +1 -0
  22. package/dist/Overview-CCu2PHai.mjs +289 -0
  23. package/dist/Overview-CQRpFhbJ.mjs +286 -0
  24. package/dist/Overview-CTs7sX4d.js +1 -0
  25. package/dist/Overview-Cj89XXKN.js +1 -0
  26. package/dist/Overview-D2u-leeO.js +1 -0
  27. package/dist/Overview-D_2wozCG.mjs +1733 -0
  28. package/dist/Overview-D_c18mbR.mjs +248 -0
  29. package/dist/Overview-Dffo-zH4.mjs +11 -0
  30. package/dist/Overview-g4Rcj245.js +1 -0
  31. package/dist/{TableCalculationWidget-CrqcLGfU.mjs → TableCalculationWidget-B_LFoOYm.mjs} +3 -3
  32. package/dist/{TableCalculationWidget-CkQPrVUd.js → TableCalculationWidget-CahOIcbk.js} +1 -1
  33. package/dist/TableDataWidget-BwqWFH4A.js +1 -0
  34. package/dist/TableDataWidget-RsVxcDsL.mjs +112 -0
  35. package/dist/TableOverviewCard-BPWCqo56.js +1 -0
  36. package/dist/{TableOverviewCard-Ci0d4o4w.mjs → TableOverviewCard-D667DDag.mjs} +113 -127
  37. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C3XiOXgb.js +1 -0
  38. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-sp0TLio0.mjs +547 -0
  39. package/dist/{TableRowActionCard-BhdnnPaq.mjs → TableRowActionCard-BPYJ-Kjy.mjs} +95 -101
  40. package/dist/TableRowActionCard-Bnqj1YIe.js +1 -0
  41. package/dist/TableView-CwhZ9YN2.js +4 -0
  42. package/dist/TableView-DX9PKS8N.mjs +9673 -0
  43. package/dist/TemplateBuilder.vue_vue_type_script_setup_true_lang-BgDdzbLe.js +1 -0
  44. package/dist/TemplateBuilder.vue_vue_type_script_setup_true_lang-D85V4nrQ.mjs +2886 -0
  45. package/dist/Test-CzmOmi53.mjs +447 -0
  46. package/dist/Test-USDtNFY1.js +1 -0
  47. package/dist/UserDetail-DpUL3mhk.mjs +1483 -0
  48. package/dist/UserDetail-KRIfxaYd.js +1 -0
  49. package/dist/cms-core-modules.css +1 -1
  50. package/dist/dateRangePresets-CaPVagHY.mjs +453 -0
  51. package/dist/dateRangePresets-gxQCiZ6c.js +1 -0
  52. package/dist/index-6hZ6MYY6.js +1 -0
  53. package/dist/index-BVmmicu3.mjs +14 -0
  54. package/dist/index-CQuN5rKx.js +1 -0
  55. package/dist/index-ChHD_1Cf.js +144 -0
  56. package/dist/index-CnDGeInm.js +1 -0
  57. package/dist/index-CqDTc5Ig.mjs +20 -0
  58. package/dist/index-CvV4nVWI.js +1 -0
  59. package/dist/index-CyvvAdt4.js +1 -0
  60. package/dist/index-DH2z0W_w.mjs +19012 -0
  61. package/dist/index-DIRD7t5_.mjs +20 -0
  62. package/dist/index-DZKzj48V.mjs +17 -0
  63. package/dist/index-OJuBYR60.mjs +57 -0
  64. package/dist/index.cjs.js +1 -1
  65. package/dist/index.mjs +480 -103
  66. package/dist/orders-C_sz8J9b.js +1 -0
  67. package/dist/{orders-BfTLIm7U.mjs → orders-Cgdggzvx.mjs} +84 -84
  68. package/dist/server-handlers.cjs.js +1 -1
  69. package/dist/server-handlers.mjs +2696 -605
  70. package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +3 -0
  71. package/dist/src/appointments/index.d.ts +93 -3
  72. package/dist/src/appointments/reservation-summary.d.ts +48 -0
  73. package/dist/src/appointments/server.d.ts +1 -0
  74. package/dist/src/appointments/tools.d.ts +93 -3
  75. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.d.ts +1 -1
  76. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.d.ts +7 -0
  77. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.d.ts +7 -0
  78. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/resizeHistory.d.ts +9 -0
  79. package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +3 -1
  80. package/dist/src/filezone/config.d.ts +31 -0
  81. package/dist/src/filezone/index.d.ts +43 -0
  82. package/dist/src/filezone/index.vue.d.ts +2 -0
  83. package/dist/src/filezone/metadata.d.ts +2 -0
  84. package/dist/src/filezone/pages/Overview.vue.d.ts +4 -0
  85. package/dist/src/filezone/permissions.d.ts +5 -0
  86. package/dist/src/filezone/routes.d.ts +5 -0
  87. package/dist/src/filezone/server.d.ts +36 -0
  88. package/dist/src/firebaseAuthManager/components/DeleteUserDialog.vue.d.ts +25 -0
  89. package/dist/src/firebaseAuthManager/components/ReasonActionDialog.vue.d.ts +23 -0
  90. package/dist/src/firebaseAuthManager/components/UserStatusBadge.vue.d.ts +5 -0
  91. package/dist/src/firebaseAuthManager/config.d.ts +151 -0
  92. package/dist/src/firebaseAuthManager/index.d.ts +163 -0
  93. package/dist/src/firebaseAuthManager/index.vue.d.ts +14 -0
  94. package/dist/src/firebaseAuthManager/metadata.d.ts +2 -0
  95. package/dist/src/firebaseAuthManager/pages/Overview.vue.d.ts +2 -0
  96. package/dist/src/firebaseAuthManager/pages/UserDetail.vue.d.ts +2 -0
  97. package/dist/src/firebaseAuthManager/permissions.d.ts +5 -0
  98. package/dist/src/firebaseAuthManager/routes.d.ts +5 -0
  99. package/dist/src/firebaseAuthManager/server.d.ts +162 -0
  100. package/dist/src/firebaseAuthManager/types.d.ts +84 -0
  101. package/dist/src/formBuilder/components/FormPreviewDialog.vue.d.ts +12 -0
  102. package/dist/src/formBuilder/components/FormStatusBadge.vue.d.ts +9 -0
  103. package/dist/src/formBuilder/config.d.ts +31 -0
  104. package/dist/src/formBuilder/index.d.ts +44 -0
  105. package/dist/src/formBuilder/index.vue.d.ts +14 -0
  106. package/dist/src/formBuilder/lib/forms.d.ts +11 -0
  107. package/dist/src/formBuilder/metadata.d.ts +2 -0
  108. package/dist/src/formBuilder/pages/Editor.vue.d.ts +2 -0
  109. package/dist/src/formBuilder/pages/Overview.vue.d.ts +2 -0
  110. package/dist/src/formBuilder/permissions.d.ts +5 -0
  111. package/dist/src/formBuilder/routes.d.ts +5 -0
  112. package/dist/src/formBuilder/server.d.ts +87 -0
  113. package/dist/src/formBuilder/tools.d.ts +1 -0
  114. package/dist/src/formBuilder/types.d.ts +46 -0
  115. package/dist/src/helpbot/composables/useHelpbotApi.d.ts +18 -0
  116. package/dist/src/helpbot/config.d.ts +17 -0
  117. package/dist/src/helpbot/index.d.ts +29 -0
  118. package/dist/src/helpbot/index.vue.d.ts +2 -0
  119. package/dist/src/helpbot/metadata.d.ts +2 -0
  120. package/dist/src/helpbot/pages/Knowledge.vue.d.ts +4 -0
  121. package/dist/src/helpbot/pages/Overview.vue.d.ts +2 -0
  122. package/dist/src/helpbot/pages/Test.vue.d.ts +4 -0
  123. package/dist/src/helpbot/permissions.d.ts +5 -0
  124. package/dist/src/helpbot/routes.d.ts +5 -0
  125. package/dist/src/helpbot/types.d.ts +42 -0
  126. package/dist/src/index.d.ts +5 -0
  127. package/dist/src/mailTemplates/builder-types.d.ts +40 -0
  128. package/dist/src/mailTemplates/components/BlockRenderer.vue.d.ts +24 -0
  129. package/dist/src/mailTemplates/components/DesignPanel.vue.d.ts +13 -0
  130. package/dist/src/mailTemplates/components/EmailCanvas.vue.d.ts +44 -0
  131. package/dist/src/mailTemplates/components/RichTextEditor.vue.d.ts +10 -0
  132. package/dist/src/mailTemplates/components/RightSidebar.vue.d.ts +18 -0
  133. package/dist/src/mailTemplates/components/SettingsPanel.vue.d.ts +15 -0
  134. package/dist/src/mailTemplates/components/TemplateBuilder.vue.d.ts +2 -0
  135. package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +19 -1
  136. package/dist/src/mailTemplates/components/rich-text.d.ts +6 -0
  137. package/dist/src/mailTemplates/config.d.ts +10 -4
  138. package/dist/src/mailTemplates/defaults.d.ts +10 -0
  139. package/dist/src/mailTemplates/editor-state.d.ts +21 -0
  140. package/dist/src/mailTemplates/index.d.ts +11 -5
  141. package/dist/src/mailTemplates/index.vue.d.ts +2 -4
  142. package/dist/src/mailTemplates/metadata.d.ts +1 -1
  143. package/dist/src/mailTemplates/pages/Detail.vue.d.ts +1 -13
  144. package/dist/src/mailTemplates/pages/Overview.vue.d.ts +1 -13
  145. package/dist/src/mailTemplates/server.d.ts +23 -0
  146. package/dist/src/server-handlers.d.ts +6 -0
  147. package/dist/src/table/badge-filter-utils.d.ts +8 -0
  148. package/dist/src/table/chat-components/TableOverviewCard.vue.d.ts +2 -7
  149. package/dist/src/table/chat-components/TableResultView.vue.d.ts +3 -7
  150. package/dist/src/table/components/TableDisplayCell.vue.d.ts +8 -0
  151. package/dist/src/table/components/columns/BadgeColumnSettings.vue.d.ts +9 -0
  152. package/dist/src/table/components/columns/ColumnColorSelect.vue.d.ts +11 -0
  153. package/dist/src/table/components/columns/ColumnDisplaySettings.vue.d.ts +9 -0
  154. package/dist/src/table/components/columns/ColumnTypeSelect.vue.d.ts +11 -0
  155. package/dist/src/table/components/columns/ColumnValueSourceInput.vue.d.ts +15 -0
  156. package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +8 -11
  157. package/dist/src/table/components/columns/ProgressColumnSettings.vue.d.ts +8 -0
  158. package/dist/src/table/components/stats/StatDialog.vue.d.ts +6 -10
  159. package/dist/src/table/components/stats/Stats.vue.d.ts +9 -15
  160. package/dist/src/table/composables/useTableClock.d.ts +4 -0
  161. package/dist/src/table/display-utils.d.ts +35 -0
  162. package/dist/src/table/row-value.d.ts +1 -0
  163. package/dist/src/table/stat-utils.d.ts +9 -0
  164. package/dist/src/table/tool-utils.d.ts +1 -1
  165. package/dist/src/table/types.d.ts +54 -1
  166. package/dist/src/whatsappBusiness/analytics.d.ts +4 -0
  167. package/dist/src/whatsappBusiness/components/AccountPanel.vue.d.ts +2 -0
  168. package/dist/src/whatsappBusiness/components/InsightsPanel.vue.d.ts +5 -0
  169. package/dist/src/whatsappBusiness/components/TemplateDialog.vue.d.ts +14 -0
  170. package/dist/src/whatsappBusiness/components/TemplatesPanel.vue.d.ts +5 -0
  171. package/dist/src/whatsappBusiness/components/presentation.d.ts +4 -0
  172. package/dist/src/whatsappBusiness/config.d.ts +51 -0
  173. package/dist/src/whatsappBusiness/connection.d.ts +77 -0
  174. package/dist/src/whatsappBusiness/index.d.ts +63 -0
  175. package/dist/src/whatsappBusiness/index.vue.d.ts +5 -0
  176. package/dist/src/whatsappBusiness/metadata.d.ts +2 -0
  177. package/dist/src/whatsappBusiness/pages/Overview.vue.d.ts +2 -0
  178. package/dist/src/whatsappBusiness/permissions.d.ts +5 -0
  179. package/dist/src/whatsappBusiness/provider.d.ts +21 -0
  180. package/dist/src/whatsappBusiness/routes.d.ts +5 -0
  181. package/dist/src/whatsappBusiness/server.d.ts +14 -0
  182. package/dist/src/whatsappBusiness/templates.d.ts +94 -0
  183. package/dist/src/whatsappBusiness/types.d.ts +162 -0
  184. package/dist/{tool-sandbox-DoF1PsyS.js → tool-sandbox-BSkKdH7V.js} +1 -1
  185. package/dist/{tool-sandbox-DdkMLkDK.mjs → tool-sandbox-DU9b1B7v.mjs} +1 -1
  186. package/dist/types-9N-DKxNj.mjs +250 -0
  187. package/dist/types-B5MifmeF.mjs +2696 -0
  188. package/dist/types-Cem0vPo_.js +1 -0
  189. package/dist/types-D5dgTskW.js +1 -0
  190. package/dist/useHelpbotApi-BIIungOh.js +1 -0
  191. package/dist/useHelpbotApi-HC9JSiSn.mjs +229 -0
  192. package/dist/{useTableAgentTools-D5mzGf3A.js → useTableAgentTools-BrUot49I.js} +1 -1
  193. package/dist/{useTableAgentTools-DcN3kYRL.mjs → useTableAgentTools-r5InEI4p.mjs} +8 -8
  194. package/dist/vee-validate-zod-CWZwNTWE.js +1 -0
  195. package/dist/vee-validate-zod-D0WaDgDZ.mjs +1780 -0
  196. package/package.json +2 -2
  197. package/src/appointments/tools.ts +52 -2
  198. package/src/formBuilder/tools.ts +1 -0
  199. package/dist/AppointmentListTable-DZJNmTMb.mjs +0 -177
  200. package/dist/AppointmentListTable-Dieu9US_.js +0 -1
  201. package/dist/ContentEditor-C-Wm48ai.js +0 -467
  202. package/dist/Detail-BCUUNWvp.js +0 -1
  203. package/dist/Detail-Byk781b4.mjs +0 -26
  204. package/dist/Detail-DGg_xXZc.js +0 -1
  205. package/dist/Detail-Sc2qZdxj.js +0 -1
  206. package/dist/Detail-mvSGbnFU.js +0 -1
  207. package/dist/Overview-BDlBCUI_.js +0 -1
  208. package/dist/Overview-Su8ZUbMs.mjs +0 -26
  209. package/dist/TableDataWidget-7qvC3Egd.js +0 -1
  210. package/dist/TableDataWidget-DMTSoGRO.mjs +0 -121
  211. package/dist/TableOverviewCard-AFq-puJs.js +0 -1
  212. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-CBn-Oxl9.mjs +0 -534
  213. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C_Lv-SmJ.js +0 -1
  214. package/dist/TableRowActionCard-IzB6tNN-.js +0 -1
  215. package/dist/TableView-BkwoKREo.js +0 -4
  216. package/dist/TableView-C4Zyp8d7.mjs +0 -8228
  217. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +0 -1
  218. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-Cmovy7kk.mjs +0 -40
  219. package/dist/dateRangePresets-B-l5b_wR.mjs +0 -48
  220. package/dist/dateRangePresets-CPWqst_x.js +0 -1
  221. package/dist/orders-DUa2PVoa.js +0 -1
  222. package/dist/vee-validate-zod-SjDT8X35.mjs +0 -4404
  223. package/dist/vee-validate-zod-VCmLnrtQ.js +0 -1
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ue=require("@oneclick.dev/cms-kit"),ge=require("./utils-Yd6F5mea.js"),Z=require("lucide-vue-next"),Ot=require("@oneclick.dev/cms-kit/components"),Ut=require("./interpolation-CHn59tIC.js"),Ie=require("./row-item-Cyo3m3MZ.js"),h=require("./dateRangePresets-gxQCiZ6c.js"),zt=require("@formkit/drag-and-drop"),vt=require("./_plugin-vue_export-helper-BHFhmbuH.js"),Ht=require("./index-CxETuRsG.js"),ce=require("./DateFormatter-CSAbE3BC.js");function ye(t,l){return typeof t=="function"?t(l):t}function xe(t,l){return o=>{l.setState(r=>({...r,[t]:ye(o,r[t])}))}}function Pe(t){return t instanceof Function}function jt(t){return Array.isArray(t)&&t.every(l=>typeof l=="number")}function Gt(t,l){const o=[],r=n=>{n.forEach(a=>{o.push(a);const u=l(a);u!=null&&u.length&&r(u)})};return r(t),o}function q(t,l,o){let r=[],n;return a=>{let u;o.key&&o.debug&&(u=Date.now());const i=t(a);if(!(i.length!==r.length||i.some((g,m)=>r[m]!==g)))return n;r=i;let c;if(o.key&&o.debug&&(c=Date.now()),n=l(...i),o==null||o.onChange==null||o.onChange(n),o.key&&o.debug&&o!=null&&o.debug()){const g=Math.round((Date.now()-u)*100)/100,m=Math.round((Date.now()-c)*100)/100,p=m/16,d=(f,x)=>{for(f=String(f);f.length<x;)f=" "+f;return f};console.info(`%c⏱ ${d(m,5)} /${d(g,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%);`,o?.key)}return n}}function K(t,l,o,r){return{debug:()=>{var n;return(n=t?.debugAll)!=null?n:t[l]},key:process.env.NODE_ENV==="development"&&o,onChange:r}}function qt(t,l,o,r){const n=()=>{var u;return(u=a.getValue())!=null?u:t.options.renderFallbackValue},a={id:`${l.id}_${o.id}`,row:l,column:o,getValue:()=>l.getValue(r),renderValue:n,getContext:q(()=>[t,o,l,a],(u,i,s,c)=>({table:u,column:i,row:s,cell:c,getValue:c.getValue,renderValue:c.renderValue}),K(t.options,"debugCells","cell.getContext"))};return t._features.forEach(u=>{u.createCell==null||u.createCell(a,o,l,t)},{}),a}function Kt(t,l,o,r){var n,a;const i={...t._getDefaultColumnDef(),...l},s=i.accessorKey;let c=(n=(a=i.id)!=null?a:s?typeof String.prototype.replaceAll=="function"?s.replaceAll(".","_"):s.replace(/\./g,"_"):void 0)!=null?n:typeof i.header=="string"?i.header:void 0,g;if(i.accessorFn?g=i.accessorFn:s&&(s.includes(".")?g=p=>{let d=p;for(const x of s.split(".")){var f;d=(f=d)==null?void 0:f[x],process.env.NODE_ENV!=="production"&&d===void 0&&console.warn(`"${x}" in deeply nested key "${s}" returned undefined.`)}return d}:g=p=>p[i.accessorKey]),!c)throw process.env.NODE_ENV!=="production"?new Error(i.accessorFn?"Columns require an id when using an accessorFn":"Columns require an id when using a non-string header"):new Error;let m={id:`${String(c)}`,accessorFn:g,parent:r,depth:o,columnDef:i,columns:[],getFlatColumns:q(()=>[!0],()=>{var p;return[m,...(p=m.columns)==null?void 0:p.flatMap(d=>d.getFlatColumns())]},K(t.options,"debugColumns","column.getFlatColumns")),getLeafColumns:q(()=>[t._getOrderColumnsFn()],p=>{var d;if((d=m.columns)!=null&&d.length){let f=m.columns.flatMap(x=>x.getLeafColumns());return p(f)}return[m]},K(t.options,"debugColumns","column.getLeafColumns"))};for(const p of t._features)p.createColumn==null||p.createColumn(m,t);return m}const fe="debugHeaders";function st(t,l,o){var r;let a={id:(r=o.id)!=null?r:l.id,column:l,index:o.index,isPlaceholder:!!o.isPlaceholder,placeholderId:o.placeholderId,depth:o.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const u=[],i=s=>{s.subHeaders&&s.subHeaders.length&&s.subHeaders.map(i),u.push(s)};return i(a),u},getContext:()=>({table:t,header:a,column:l})};return t._features.forEach(u=>{u.createHeader==null||u.createHeader(a,t)}),a}const Yt={createTable:t=>{t.getHeaderGroups=q(()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right],(l,o,r,n)=>{var a,u;const i=(a=r?.map(m=>o.find(p=>p.id===m)).filter(Boolean))!=null?a:[],s=(u=n?.map(m=>o.find(p=>p.id===m)).filter(Boolean))!=null?u:[],c=o.filter(m=>!(r!=null&&r.includes(m.id))&&!(n!=null&&n.includes(m.id)));return Re(l,[...i,...c,...s],t)},K(t.options,fe,"getHeaderGroups")),t.getCenterHeaderGroups=q(()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right],(l,o,r,n)=>(o=o.filter(a=>!(r!=null&&r.includes(a.id))&&!(n!=null&&n.includes(a.id))),Re(l,o,t,"center")),K(t.options,fe,"getCenterHeaderGroups")),t.getLeftHeaderGroups=q(()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.left],(l,o,r)=>{var n;const a=(n=r?.map(u=>o.find(i=>i.id===u)).filter(Boolean))!=null?n:[];return Re(l,a,t,"left")},K(t.options,fe,"getLeftHeaderGroups")),t.getRightHeaderGroups=q(()=>[t.getAllColumns(),t.getVisibleLeafColumns(),t.getState().columnPinning.right],(l,o,r)=>{var n;const a=(n=r?.map(u=>o.find(i=>i.id===u)).filter(Boolean))!=null?n:[];return Re(l,a,t,"right")},K(t.options,fe,"getRightHeaderGroups")),t.getFooterGroups=q(()=>[t.getHeaderGroups()],l=>[...l].reverse(),K(t.options,fe,"getFooterGroups")),t.getLeftFooterGroups=q(()=>[t.getLeftHeaderGroups()],l=>[...l].reverse(),K(t.options,fe,"getLeftFooterGroups")),t.getCenterFooterGroups=q(()=>[t.getCenterHeaderGroups()],l=>[...l].reverse(),K(t.options,fe,"getCenterFooterGroups")),t.getRightFooterGroups=q(()=>[t.getRightHeaderGroups()],l=>[...l].reverse(),K(t.options,fe,"getRightFooterGroups")),t.getFlatHeaders=q(()=>[t.getHeaderGroups()],l=>l.map(o=>o.headers).flat(),K(t.options,fe,"getFlatHeaders")),t.getLeftFlatHeaders=q(()=>[t.getLeftHeaderGroups()],l=>l.map(o=>o.headers).flat(),K(t.options,fe,"getLeftFlatHeaders")),t.getCenterFlatHeaders=q(()=>[t.getCenterHeaderGroups()],l=>l.map(o=>o.headers).flat(),K(t.options,fe,"getCenterFlatHeaders")),t.getRightFlatHeaders=q(()=>[t.getRightHeaderGroups()],l=>l.map(o=>o.headers).flat(),K(t.options,fe,"getRightFlatHeaders")),t.getCenterLeafHeaders=q(()=>[t.getCenterFlatHeaders()],l=>l.filter(o=>{var r;return!((r=o.subHeaders)!=null&&r.length)}),K(t.options,fe,"getCenterLeafHeaders")),t.getLeftLeafHeaders=q(()=>[t.getLeftFlatHeaders()],l=>l.filter(o=>{var r;return!((r=o.subHeaders)!=null&&r.length)}),K(t.options,fe,"getLeftLeafHeaders")),t.getRightLeafHeaders=q(()=>[t.getRightFlatHeaders()],l=>l.filter(o=>{var r;return!((r=o.subHeaders)!=null&&r.length)}),K(t.options,fe,"getRightLeafHeaders")),t.getLeafHeaders=q(()=>[t.getLeftHeaderGroups(),t.getCenterHeaderGroups(),t.getRightHeaderGroups()],(l,o,r)=>{var n,a,u,i,s,c;return[...(n=(a=l[0])==null?void 0:a.headers)!=null?n:[],...(u=(i=o[0])==null?void 0:i.headers)!=null?u:[],...(s=(c=r[0])==null?void 0:c.headers)!=null?s:[]].map(g=>g.getLeafHeaders()).flat()},K(t.options,fe,"getLeafHeaders"))}};function Re(t,l,o,r){var n,a;let u=0;const i=function(p,d){d===void 0&&(d=1),u=Math.max(u,d),p.filter(f=>f.getIsVisible()).forEach(f=>{var x;(x=f.columns)!=null&&x.length&&i(f.columns,d+1)},0)};i(t);let s=[];const c=(p,d)=>{const f={depth:d,id:[r,`${d}`].filter(Boolean).join("_"),headers:[]},x=[];p.forEach(B=>{const C=[...x].reverse()[0],v=B.column.depth===f.depth;let $,M=!1;if(v&&B.column.parent?$=B.column.parent:($=B.column,M=!0),C&&C?.column===$)C.subHeaders.push(B);else{const D=st(o,$,{id:[r,d,$.id,B?.id].filter(Boolean).join("_"),isPlaceholder:M,placeholderId:M?`${x.filter(k=>k.column===$).length}`:void 0,depth:d,index:x.length});D.subHeaders.push(B),x.push(D)}f.headers.push(B),B.headerGroup=f}),s.push(f),d>0&&c(x,d-1)},g=l.map((p,d)=>st(o,p,{depth:u,index:d}));c(g,u-1),s.reverse();const m=p=>p.filter(f=>f.column.getIsVisible()).map(f=>{let x=0,B=0,C=[0];f.subHeaders&&f.subHeaders.length?(C=[],m(f.subHeaders).forEach($=>{let{colSpan:M,rowSpan:D}=$;x+=M,C.push(D)})):x=1;const v=Math.min(...C);return B=B+v,f.colSpan=x,f.rowSpan=B,{colSpan:x,rowSpan:B}});return m((n=(a=s[0])==null?void 0:a.headers)!=null?n:[]),s}const tt=(t,l,o,r,n,a,u)=>{let i={id:l,index:r,original:o,depth:n,parentId:u,_valuesCache:{},_uniqueValuesCache:{},getValue:s=>{if(i._valuesCache.hasOwnProperty(s))return i._valuesCache[s];const c=t.getColumn(s);if(c!=null&&c.accessorFn)return i._valuesCache[s]=c.accessorFn(i.original,r),i._valuesCache[s]},getUniqueValues:s=>{if(i._uniqueValuesCache.hasOwnProperty(s))return i._uniqueValuesCache[s];const c=t.getColumn(s);if(c!=null&&c.accessorFn)return c.columnDef.getUniqueValues?(i._uniqueValuesCache[s]=c.columnDef.getUniqueValues(i.original,r),i._uniqueValuesCache[s]):(i._uniqueValuesCache[s]=[i.getValue(s)],i._uniqueValuesCache[s])},renderValue:s=>{var c;return(c=i.getValue(s))!=null?c:t.options.renderFallbackValue},subRows:[],getLeafRows:()=>Gt(i.subRows,s=>s.subRows),getParentRow:()=>i.parentId?t.getRow(i.parentId,!0):void 0,getParentRows:()=>{let s=[],c=i;for(;;){const g=c.getParentRow();if(!g)break;s.push(g),c=g}return s.reverse()},getAllCells:q(()=>[t.getAllLeafColumns()],s=>s.map(c=>qt(t,i,c,c.id)),K(t.options,"debugRows","getAllCells")),_getAllCellsByColumnId:q(()=>[i.getAllCells()],s=>s.reduce((c,g)=>(c[g.column.id]=g,c),{}),K(t.options,"debugRows","getAllCellsByColumnId"))};for(let s=0;s<t._features.length;s++){const c=t._features[s];c==null||c.createRow==null||c.createRow(i,t)}return i},Xt={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()}}},xt=(t,l,o)=>{var r,n;const a=o==null||(r=o.toString())==null?void 0:r.toLowerCase();return!!(!((n=t.getValue(l))==null||(n=n.toString())==null||(n=n.toLowerCase())==null)&&n.includes(a))};xt.autoRemove=t=>Ce(t);const Ct=(t,l,o)=>{var r;return!!(!((r=t.getValue(l))==null||(r=r.toString())==null)&&r.includes(o))};Ct.autoRemove=t=>Ce(t);const Vt=(t,l,o)=>{var r;return((r=t.getValue(l))==null||(r=r.toString())==null?void 0:r.toLowerCase())===o?.toLowerCase()};Vt.autoRemove=t=>Ce(t);const wt=(t,l,o)=>{var r;return(r=t.getValue(l))==null?void 0:r.includes(o)};wt.autoRemove=t=>Ce(t);const yt=(t,l,o)=>!o.some(r=>{var n;return!((n=t.getValue(l))!=null&&n.includes(r))});yt.autoRemove=t=>Ce(t)||!(t!=null&&t.length);const ht=(t,l,o)=>o.some(r=>{var n;return(n=t.getValue(l))==null?void 0:n.includes(r)});ht.autoRemove=t=>Ce(t)||!(t!=null&&t.length);const Nt=(t,l,o)=>t.getValue(l)===o;Nt.autoRemove=t=>Ce(t);const St=(t,l,o)=>t.getValue(l)==o;St.autoRemove=t=>Ce(t);const ot=(t,l,o)=>{let[r,n]=o;const a=t.getValue(l);return a>=r&&a<=n};ot.resolveFilterValue=t=>{let[l,o]=t,r=typeof l!="number"?parseFloat(l):l,n=typeof o!="number"?parseFloat(o):o,a=l===null||Number.isNaN(r)?-1/0:r,u=o===null||Number.isNaN(n)?1/0:n;if(a>u){const i=a;a=u,u=i}return[a,u]};ot.autoRemove=t=>Ce(t)||Ce(t[0])&&Ce(t[1]);const we={includesString:xt,includesStringSensitive:Ct,equalsString:Vt,arrIncludes:wt,arrIncludesAll:yt,arrIncludesSome:ht,equals:Nt,weakEquals:St,inNumberRange:ot};function Ce(t){return t==null||t===""}const Jt={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:t=>({columnFilters:[],...t}),getDefaultOptions:t=>({onColumnFiltersChange:xe("columnFilters",t),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(t,l)=>{t.getAutoFilterFn=()=>{const o=l.getCoreRowModel().flatRows[0],r=o?.getValue(t.id);return typeof r=="string"?we.includesString:typeof r=="number"?we.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?we.equals:Array.isArray(r)?we.arrIncludes:we.weakEquals},t.getFilterFn=()=>{var o,r;return Pe(t.columnDef.filterFn)?t.columnDef.filterFn:t.columnDef.filterFn==="auto"?t.getAutoFilterFn():(o=(r=l.options.filterFns)==null?void 0:r[t.columnDef.filterFn])!=null?o:we[t.columnDef.filterFn]},t.getCanFilter=()=>{var o,r,n;return((o=t.columnDef.enableColumnFilter)!=null?o:!0)&&((r=l.options.enableColumnFilters)!=null?r:!0)&&((n=l.options.enableFilters)!=null?n:!0)&&!!t.accessorFn},t.getIsFiltered=()=>t.getFilterIndex()>-1,t.getFilterValue=()=>{var o;return(o=l.getState().columnFilters)==null||(o=o.find(r=>r.id===t.id))==null?void 0:o.value},t.getFilterIndex=()=>{var o,r;return(o=(r=l.getState().columnFilters)==null?void 0:r.findIndex(n=>n.id===t.id))!=null?o:-1},t.setFilterValue=o=>{l.setColumnFilters(r=>{const n=t.getFilterFn(),a=r?.find(g=>g.id===t.id),u=ye(o,a?a.value:void 0);if(ut(n,u,t)){var i;return(i=r?.filter(g=>g.id!==t.id))!=null?i:[]}const s={id:t.id,value:u};if(a){var c;return(c=r?.map(g=>g.id===t.id?s:g))!=null?c:[]}return r!=null&&r.length?[...r,s]:[s]})}},createRow:(t,l)=>{t.columnFilters={},t.columnFiltersMeta={}},createTable:t=>{t.setColumnFilters=l=>{const o=t.getAllLeafColumns(),r=n=>{var a;return(a=ye(l,n))==null?void 0:a.filter(u=>{const i=o.find(s=>s.id===u.id);if(i){const s=i.getFilterFn();if(ut(s,u.value,i))return!1}return!0})};t.options.onColumnFiltersChange==null||t.options.onColumnFiltersChange(r)},t.resetColumnFilters=l=>{var o,r;t.setColumnFilters(l?[]:(o=(r=t.initialState)==null?void 0:r.columnFilters)!=null?o:[])},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 ut(t,l,o){return(t&&t.autoRemove?t.autoRemove(l,o):!1)||typeof l>"u"||typeof l=="string"&&!l}const Wt=(t,l,o)=>o.reduce((r,n)=>{const a=n.getValue(t);return r+(typeof a=="number"?a:0)},0),Zt=(t,l,o)=>{let r;return o.forEach(n=>{const a=n.getValue(t);a!=null&&(r>a||r===void 0&&a>=a)&&(r=a)}),r},Qt=(t,l,o)=>{let r;return o.forEach(n=>{const a=n.getValue(t);a!=null&&(r<a||r===void 0&&a>=a)&&(r=a)}),r},eo=(t,l,o)=>{let r,n;return o.forEach(a=>{const u=a.getValue(t);u!=null&&(r===void 0?u>=u&&(r=n=u):(r>u&&(r=u),n<u&&(n=u)))}),[r,n]},to=(t,l)=>{let o=0,r=0;if(l.forEach(n=>{let a=n.getValue(t);a!=null&&(a=+a)>=a&&(++o,r+=a)}),o)return r/o},oo=(t,l)=>{if(!l.length)return;const o=l.map(a=>a.getValue(t));if(!jt(o))return;if(o.length===1)return o[0];const r=Math.floor(o.length/2),n=o.sort((a,u)=>a-u);return o.length%2!==0?n[r]:(n[r-1]+n[r])/2},no=(t,l)=>Array.from(new Set(l.map(o=>o.getValue(t))).values()),lo=(t,l)=>new Set(l.map(o=>o.getValue(t))).size,ro=(t,l)=>l.length,Oe={sum:Wt,min:Zt,max:Qt,extent:eo,mean:to,median:oo,unique:no,uniqueCount:lo,count:ro},ao={getDefaultColumnDef:()=>({aggregatedCell:t=>{var l,o;return(l=(o=t.getValue())==null||o.toString==null?void 0:o.toString())!=null?l:null},aggregationFn:"auto"}),getInitialState:t=>({grouping:[],...t}),getDefaultOptions:t=>({onGroupingChange:xe("grouping",t),groupedColumnMode:"reorder"}),createColumn:(t,l)=>{t.toggleGrouping=()=>{l.setGrouping(o=>o!=null&&o.includes(t.id)?o.filter(r=>r!==t.id):[...o??[],t.id])},t.getCanGroup=()=>{var o,r;return((o=t.columnDef.enableGrouping)!=null?o:!0)&&((r=l.options.enableGrouping)!=null?r:!0)&&(!!t.accessorFn||!!t.columnDef.getGroupingValue)},t.getIsGrouped=()=>{var o;return(o=l.getState().grouping)==null?void 0:o.includes(t.id)},t.getGroupedIndex=()=>{var o;return(o=l.getState().grouping)==null?void 0:o.indexOf(t.id)},t.getToggleGroupingHandler=()=>{const o=t.getCanGroup();return()=>{o&&t.toggleGrouping()}},t.getAutoAggregationFn=()=>{const o=l.getCoreRowModel().flatRows[0],r=o?.getValue(t.id);if(typeof r=="number")return Oe.sum;if(Object.prototype.toString.call(r)==="[object Date]")return Oe.extent},t.getAggregationFn=()=>{var o,r;if(!t)throw new Error;return Pe(t.columnDef.aggregationFn)?t.columnDef.aggregationFn:t.columnDef.aggregationFn==="auto"?t.getAutoAggregationFn():(o=(r=l.options.aggregationFns)==null?void 0:r[t.columnDef.aggregationFn])!=null?o:Oe[t.columnDef.aggregationFn]}},createTable:t=>{t.setGrouping=l=>t.options.onGroupingChange==null?void 0:t.options.onGroupingChange(l),t.resetGrouping=l=>{var o,r;t.setGrouping(l?[]:(o=(r=t.initialState)==null?void 0:r.grouping)!=null?o:[])},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=o=>{if(t._groupingValuesCache.hasOwnProperty(o))return t._groupingValuesCache[o];const r=l.getColumn(o);return r!=null&&r.columnDef.getGroupingValue?(t._groupingValuesCache[o]=r.columnDef.getGroupingValue(t.original),t._groupingValuesCache[o]):t.getValue(o)},t._groupingValuesCache={}},createCell:(t,l,o,r)=>{t.getIsGrouped=()=>l.getIsGrouped()&&l.id===o.groupingColumnId,t.getIsPlaceholder=()=>!t.getIsGrouped()&&l.getIsGrouped(),t.getIsAggregated=()=>{var n;return!t.getIsGrouped()&&!t.getIsPlaceholder()&&!!((n=o.subRows)!=null&&n.length)}}};function io(t,l,o){if(!(l!=null&&l.length)||!o)return t;const r=t.filter(a=>!l.includes(a.id));return o==="remove"?r:[...l.map(a=>t.find(u=>u.id===a)).filter(Boolean),...r]}const so={getInitialState:t=>({columnOrder:[],...t}),getDefaultOptions:t=>({onColumnOrderChange:xe("columnOrder",t)}),createColumn:(t,l)=>{t.getIndex=q(o=>[Ee(l,o)],o=>o.findIndex(r=>r.id===t.id),K(l.options,"debugColumns","getIndex")),t.getIsFirstColumn=o=>{var r;return((r=Ee(l,o)[0])==null?void 0:r.id)===t.id},t.getIsLastColumn=o=>{var r;const n=Ee(l,o);return((r=n[n.length-1])==null?void 0:r.id)===t.id}},createTable:t=>{t.setColumnOrder=l=>t.options.onColumnOrderChange==null?void 0:t.options.onColumnOrderChange(l),t.resetColumnOrder=l=>{var o;t.setColumnOrder(l?[]:(o=t.initialState.columnOrder)!=null?o:[])},t._getOrderColumnsFn=q(()=>[t.getState().columnOrder,t.getState().grouping,t.options.groupedColumnMode],(l,o,r)=>n=>{let a=[];if(!(l!=null&&l.length))a=n;else{const u=[...l],i=[...n];for(;i.length&&u.length;){const s=u.shift(),c=i.findIndex(g=>g.id===s);c>-1&&a.push(i.splice(c,1)[0])}a=[...a,...i]}return io(a,o,r)},K(t.options,"debugTable","_getOrderColumnsFn"))}},Ue=()=>({left:[],right:[]}),uo={getInitialState:t=>({columnPinning:Ue(),...t}),getDefaultOptions:t=>({onColumnPinningChange:xe("columnPinning",t)}),createColumn:(t,l)=>{t.pin=o=>{const r=t.getLeafColumns().map(n=>n.id).filter(Boolean);l.setColumnPinning(n=>{var a,u;if(o==="right"){var i,s;return{left:((i=n?.left)!=null?i:[]).filter(m=>!(r!=null&&r.includes(m))),right:[...((s=n?.right)!=null?s:[]).filter(m=>!(r!=null&&r.includes(m))),...r]}}if(o==="left"){var c,g;return{left:[...((c=n?.left)!=null?c:[]).filter(m=>!(r!=null&&r.includes(m))),...r],right:((g=n?.right)!=null?g:[]).filter(m=>!(r!=null&&r.includes(m)))}}return{left:((a=n?.left)!=null?a:[]).filter(m=>!(r!=null&&r.includes(m))),right:((u=n?.right)!=null?u:[]).filter(m=>!(r!=null&&r.includes(m)))}})},t.getCanPin=()=>t.getLeafColumns().some(r=>{var n,a,u;return((n=r.columnDef.enablePinning)!=null?n:!0)&&((a=(u=l.options.enableColumnPinning)!=null?u:l.options.enablePinning)!=null?a:!0)}),t.getIsPinned=()=>{const o=t.getLeafColumns().map(i=>i.id),{left:r,right:n}=l.getState().columnPinning,a=o.some(i=>r?.includes(i)),u=o.some(i=>n?.includes(i));return a?"left":u?"right":!1},t.getPinnedIndex=()=>{var o,r;const n=t.getIsPinned();return n?(o=(r=l.getState().columnPinning)==null||(r=r[n])==null?void 0:r.indexOf(t.id))!=null?o:-1:0}},createRow:(t,l)=>{t.getCenterVisibleCells=q(()=>[t._getAllVisibleCells(),l.getState().columnPinning.left,l.getState().columnPinning.right],(o,r,n)=>{const a=[...r??[],...n??[]];return o.filter(u=>!a.includes(u.column.id))},K(l.options,"debugRows","getCenterVisibleCells")),t.getLeftVisibleCells=q(()=>[t._getAllVisibleCells(),l.getState().columnPinning.left],(o,r)=>(r??[]).map(a=>o.find(u=>u.column.id===a)).filter(Boolean).map(a=>({...a,position:"left"})),K(l.options,"debugRows","getLeftVisibleCells")),t.getRightVisibleCells=q(()=>[t._getAllVisibleCells(),l.getState().columnPinning.right],(o,r)=>(r??[]).map(a=>o.find(u=>u.column.id===a)).filter(Boolean).map(a=>({...a,position:"right"})),K(l.options,"debugRows","getRightVisibleCells"))},createTable:t=>{t.setColumnPinning=l=>t.options.onColumnPinningChange==null?void 0:t.options.onColumnPinningChange(l),t.resetColumnPinning=l=>{var o,r;return t.setColumnPinning(l?Ue():(o=(r=t.initialState)==null?void 0:r.columnPinning)!=null?o:Ue())},t.getIsSomeColumnsPinned=l=>{var o;const r=t.getState().columnPinning;if(!l){var n,a;return!!((n=r.left)!=null&&n.length||(a=r.right)!=null&&a.length)}return!!((o=r[l])!=null&&o.length)},t.getLeftLeafColumns=q(()=>[t.getAllLeafColumns(),t.getState().columnPinning.left],(l,o)=>(o??[]).map(r=>l.find(n=>n.id===r)).filter(Boolean),K(t.options,"debugColumns","getLeftLeafColumns")),t.getRightLeafColumns=q(()=>[t.getAllLeafColumns(),t.getState().columnPinning.right],(l,o)=>(o??[]).map(r=>l.find(n=>n.id===r)).filter(Boolean),K(t.options,"debugColumns","getRightLeafColumns")),t.getCenterLeafColumns=q(()=>[t.getAllLeafColumns(),t.getState().columnPinning.left,t.getState().columnPinning.right],(l,o,r)=>{const n=[...o??[],...r??[]];return l.filter(a=>!n.includes(a.id))},K(t.options,"debugColumns","getCenterLeafColumns"))}};function co(t){return t||(typeof document<"u"?document:null)}const Te={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},ze=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),mo={getDefaultColumnDef:()=>Te,getInitialState:t=>({columnSizing:{},columnSizingInfo:ze(),...t}),getDefaultOptions:t=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:xe("columnSizing",t),onColumnSizingInfoChange:xe("columnSizingInfo",t)}),createColumn:(t,l)=>{t.getSize=()=>{var o,r,n;const a=l.getState().columnSizing[t.id];return Math.min(Math.max((o=t.columnDef.minSize)!=null?o:Te.minSize,(r=a??t.columnDef.size)!=null?r:Te.size),(n=t.columnDef.maxSize)!=null?n:Te.maxSize)},t.getStart=q(o=>[o,Ee(l,o),l.getState().columnSizing],(o,r)=>r.slice(0,t.getIndex(o)).reduce((n,a)=>n+a.getSize(),0),K(l.options,"debugColumns","getStart")),t.getAfter=q(o=>[o,Ee(l,o),l.getState().columnSizing],(o,r)=>r.slice(t.getIndex(o)+1).reduce((n,a)=>n+a.getSize(),0),K(l.options,"debugColumns","getAfter")),t.resetSize=()=>{l.setColumnSizing(o=>{let{[t.id]:r,...n}=o;return n})},t.getCanResize=()=>{var o,r;return((o=t.columnDef.enableResizing)!=null?o:!0)&&((r=l.options.enableColumnResizing)!=null?r:!0)},t.getIsResizing=()=>l.getState().columnSizingInfo.isResizingColumn===t.id},createHeader:(t,l)=>{t.getSize=()=>{let o=0;const r=n=>{if(n.subHeaders.length)n.subHeaders.forEach(r);else{var a;o+=(a=n.column.getSize())!=null?a:0}};return r(t),o},t.getStart=()=>{if(t.index>0){const o=t.headerGroup.headers[t.index-1];return o.getStart()+o.getSize()}return 0},t.getResizeHandler=o=>{const r=l.getColumn(t.column.id),n=r?.getCanResize();return a=>{if(!r||!n||(a.persist==null||a.persist(),He(a)&&a.touches&&a.touches.length>1))return;const u=t.getSize(),i=t?t.getLeafHeaders().map(C=>[C.column.id,C.column.getSize()]):[[r.id,r.getSize()]],s=He(a)?Math.round(a.touches[0].clientX):a.clientX,c={},g=(C,v)=>{typeof v=="number"&&(l.setColumnSizingInfo($=>{var M,D;const k=l.options.columnResizeDirection==="rtl"?-1:1,w=(v-((M=$?.startOffset)!=null?M:0))*k,_=Math.max(w/((D=$?.startSize)!=null?D:0),-.999999);return $.columnSizingStart.forEach(P=>{let[T,N]=P;c[T]=Math.round(Math.max(N+N*_,0)*100)/100}),{...$,deltaOffset:w,deltaPercentage:_}}),(l.options.columnResizeMode==="onChange"||C==="end")&&l.setColumnSizing($=>({...$,...c})))},m=C=>g("move",C),p=C=>{g("end",C),l.setColumnSizingInfo(v=>({...v,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},d=co(o),f={moveHandler:C=>m(C.clientX),upHandler:C=>{d?.removeEventListener("mousemove",f.moveHandler),d?.removeEventListener("mouseup",f.upHandler),p(C.clientX)}},x={moveHandler:C=>(C.cancelable&&(C.preventDefault(),C.stopPropagation()),m(C.touches[0].clientX),!1),upHandler:C=>{var v;d?.removeEventListener("touchmove",x.moveHandler),d?.removeEventListener("touchend",x.upHandler),C.cancelable&&(C.preventDefault(),C.stopPropagation()),p((v=C.touches[0])==null?void 0:v.clientX)}},B=po()?{passive:!1}:!1;He(a)?(d?.addEventListener("touchmove",x.moveHandler,B),d?.addEventListener("touchend",x.upHandler,B)):(d?.addEventListener("mousemove",f.moveHandler,B),d?.addEventListener("mouseup",f.upHandler,B)),l.setColumnSizingInfo(C=>({...C,startOffset:s,startSize:u,deltaOffset:0,deltaPercentage:0,columnSizingStart:i,isResizingColumn:r.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 o;t.setColumnSizing(l?{}:(o=t.initialState.columnSizing)!=null?o:{})},t.resetHeaderSizeInfo=l=>{var o;t.setColumnSizingInfo(l?ze():(o=t.initialState.columnSizingInfo)!=null?o:ze())},t.getTotalSize=()=>{var l,o;return(l=(o=t.getHeaderGroups()[0])==null?void 0:o.headers.reduce((r,n)=>r+n.getSize(),0))!=null?l:0},t.getLeftTotalSize=()=>{var l,o;return(l=(o=t.getLeftHeaderGroups()[0])==null?void 0:o.headers.reduce((r,n)=>r+n.getSize(),0))!=null?l:0},t.getCenterTotalSize=()=>{var l,o;return(l=(o=t.getCenterHeaderGroups()[0])==null?void 0:o.headers.reduce((r,n)=>r+n.getSize(),0))!=null?l:0},t.getRightTotalSize=()=>{var l,o;return(l=(o=t.getRightHeaderGroups()[0])==null?void 0:o.headers.reduce((r,n)=>r+n.getSize(),0))!=null?l:0}}};let Fe=null;function po(){if(typeof Fe=="boolean")return Fe;let t=!1;try{const l={get passive(){return t=!0,!1}},o=()=>{};window.addEventListener("test",o,l),window.removeEventListener("test",o)}catch{t=!1}return Fe=t,Fe}function He(t){return t.type==="touchstart"}const fo={getInitialState:t=>({columnVisibility:{},...t}),getDefaultOptions:t=>({onColumnVisibilityChange:xe("columnVisibility",t)}),createColumn:(t,l)=>{t.toggleVisibility=o=>{t.getCanHide()&&l.setColumnVisibility(r=>({...r,[t.id]:o??!t.getIsVisible()}))},t.getIsVisible=()=>{var o,r;const n=t.columns;return(o=n.length?n.some(a=>a.getIsVisible()):(r=l.getState().columnVisibility)==null?void 0:r[t.id])!=null?o:!0},t.getCanHide=()=>{var o,r;return((o=t.columnDef.enableHiding)!=null?o:!0)&&((r=l.options.enableHiding)!=null?r:!0)},t.getToggleVisibilityHandler=()=>o=>{t.toggleVisibility==null||t.toggleVisibility(o.target.checked)}},createRow:(t,l)=>{t._getAllVisibleCells=q(()=>[t.getAllCells(),l.getState().columnVisibility],o=>o.filter(r=>r.column.getIsVisible()),K(l.options,"debugRows","_getAllVisibleCells")),t.getVisibleCells=q(()=>[t.getLeftVisibleCells(),t.getCenterVisibleCells(),t.getRightVisibleCells()],(o,r,n)=>[...o,...r,...n],K(l.options,"debugRows","getVisibleCells"))},createTable:t=>{const l=(o,r)=>q(()=>[r(),r().filter(n=>n.getIsVisible()).map(n=>n.id).join("_")],n=>n.filter(a=>a.getIsVisible==null?void 0:a.getIsVisible()),K(t.options,"debugColumns",o));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=o=>t.options.onColumnVisibilityChange==null?void 0:t.options.onColumnVisibilityChange(o),t.resetColumnVisibility=o=>{var r;t.setColumnVisibility(o?{}:(r=t.initialState.columnVisibility)!=null?r:{})},t.toggleAllColumnsVisible=o=>{var r;o=(r=o)!=null?r:!t.getIsAllColumnsVisible(),t.setColumnVisibility(t.getAllLeafColumns().reduce((n,a)=>({...n,[a.id]:o||!(a.getCanHide!=null&&a.getCanHide())}),{}))},t.getIsAllColumnsVisible=()=>!t.getAllLeafColumns().some(o=>!(o.getIsVisible!=null&&o.getIsVisible())),t.getIsSomeColumnsVisible=()=>t.getAllLeafColumns().some(o=>o.getIsVisible==null?void 0:o.getIsVisible()),t.getToggleAllColumnsVisibilityHandler=()=>o=>{var r;t.toggleAllColumnsVisible((r=o.target)==null?void 0:r.checked)}}};function Ee(t,l){return l?l==="center"?t.getCenterVisibleLeafColumns():l==="left"?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns()}const go={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()}}},vo={getInitialState:t=>({globalFilter:void 0,...t}),getDefaultOptions:t=>({onGlobalFilterChange:xe("globalFilter",t),globalFilterFn:"auto",getColumnCanGlobalFilter:l=>{var o;const r=(o=t.getCoreRowModel().flatRows[0])==null||(o=o._getAllCellsByColumnId()[l.id])==null?void 0:o.getValue();return typeof r=="string"||typeof r=="number"}}),createColumn:(t,l)=>{t.getCanGlobalFilter=()=>{var o,r,n,a;return((o=t.columnDef.enableGlobalFilter)!=null?o:!0)&&((r=l.options.enableGlobalFilter)!=null?r:!0)&&((n=l.options.enableFilters)!=null?n:!0)&&((a=l.options.getColumnCanGlobalFilter==null?void 0:l.options.getColumnCanGlobalFilter(t))!=null?a:!0)&&!!t.accessorFn}},createTable:t=>{t.getGlobalAutoFilterFn=()=>we.includesString,t.getGlobalFilterFn=()=>{var l,o;const{globalFilterFn:r}=t.options;return Pe(r)?r:r==="auto"?t.getGlobalAutoFilterFn():(l=(o=t.options.filterFns)==null?void 0:o[r])!=null?l:we[r]},t.setGlobalFilter=l=>{t.options.onGlobalFilterChange==null||t.options.onGlobalFilterChange(l)},t.resetGlobalFilter=l=>{t.setGlobalFilter(l?void 0:t.initialState.globalFilter)}}},xo={getInitialState:t=>({expanded:{},...t}),getDefaultOptions:t=>({onExpandedChange:xe("expanded",t),paginateExpandedRows:!0}),createTable:t=>{let l=!1,o=!1;t._autoResetExpanded=()=>{var r,n;if(!l){t._queue(()=>{l=!0});return}if((r=(n=t.options.autoResetAll)!=null?n:t.options.autoResetExpanded)!=null?r:!t.options.manualExpanding){if(o)return;o=!0,t._queue(()=>{t.resetExpanded(),o=!1})}},t.setExpanded=r=>t.options.onExpandedChange==null?void 0:t.options.onExpandedChange(r),t.toggleAllRowsExpanded=r=>{r??!t.getIsAllRowsExpanded()?t.setExpanded(!0):t.setExpanded({})},t.resetExpanded=r=>{var n,a;t.setExpanded(r?{}:(n=(a=t.initialState)==null?void 0:a.expanded)!=null?n:{})},t.getCanSomeRowsExpand=()=>t.getPrePaginationRowModel().flatRows.some(r=>r.getCanExpand()),t.getToggleAllRowsExpandedHandler=()=>r=>{r.persist==null||r.persist(),t.toggleAllRowsExpanded()},t.getIsSomeRowsExpanded=()=>{const r=t.getState().expanded;return r===!0||Object.values(r).some(Boolean)},t.getIsAllRowsExpanded=()=>{const r=t.getState().expanded;return typeof r=="boolean"?r===!0:!(!Object.keys(r).length||t.getRowModel().flatRows.some(n=>!n.getIsExpanded()))},t.getExpandedDepth=()=>{let r=0;return(t.getState().expanded===!0?Object.keys(t.getRowModel().rowsById):Object.keys(t.getState().expanded)).forEach(a=>{const u=a.split(".");r=Math.max(r,u.length)}),r},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=o=>{l.setExpanded(r=>{var n;const a=r===!0?!0:!!(r!=null&&r[t.id]);let u={};if(r===!0?Object.keys(l.getRowModel().rowsById).forEach(i=>{u[i]=!0}):u=r,o=(n=o)!=null?n:!a,!a&&o)return{...u,[t.id]:!0};if(a&&!o){const{[t.id]:i,...s}=u;return s}return r})},t.getIsExpanded=()=>{var o;const r=l.getState().expanded;return!!((o=l.options.getIsRowExpanded==null?void 0:l.options.getIsRowExpanded(t))!=null?o:r===!0||r?.[t.id])},t.getCanExpand=()=>{var o,r,n;return(o=l.options.getRowCanExpand==null?void 0:l.options.getRowCanExpand(t))!=null?o:((r=l.options.enableExpanding)!=null?r:!0)&&!!((n=t.subRows)!=null&&n.length)},t.getIsAllParentsExpanded=()=>{let o=!0,r=t;for(;o&&r.parentId;)r=l.getRow(r.parentId,!0),o=r.getIsExpanded();return o},t.getToggleExpandedHandler=()=>{const o=t.getCanExpand();return()=>{o&&t.toggleExpanded()}}}},Ye=0,Xe=10,je=()=>({pageIndex:Ye,pageSize:Xe}),Co={getInitialState:t=>({...t,pagination:{...je(),...t?.pagination}}),getDefaultOptions:t=>({onPaginationChange:xe("pagination",t)}),createTable:t=>{let l=!1,o=!1;t._autoResetPageIndex=()=>{var r,n;if(!l){t._queue(()=>{l=!0});return}if((r=(n=t.options.autoResetAll)!=null?n:t.options.autoResetPageIndex)!=null?r:!t.options.manualPagination){if(o)return;o=!0,t._queue(()=>{t.resetPageIndex(),o=!1})}},t.setPagination=r=>{const n=a=>ye(r,a);return t.options.onPaginationChange==null?void 0:t.options.onPaginationChange(n)},t.resetPagination=r=>{var n;t.setPagination(r?je():(n=t.initialState.pagination)!=null?n:je())},t.setPageIndex=r=>{t.setPagination(n=>{let a=ye(r,n.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)),{...n,pageIndex:a}})},t.resetPageIndex=r=>{var n,a;t.setPageIndex(r?Ye:(n=(a=t.initialState)==null||(a=a.pagination)==null?void 0:a.pageIndex)!=null?n:Ye)},t.resetPageSize=r=>{var n,a;t.setPageSize(r?Xe:(n=(a=t.initialState)==null||(a=a.pagination)==null?void 0:a.pageSize)!=null?n:Xe)},t.setPageSize=r=>{t.setPagination(n=>{const a=Math.max(1,ye(r,n.pageSize)),u=n.pageSize*n.pageIndex,i=Math.floor(u/a);return{...n,pageIndex:i,pageSize:a}})},t.setPageCount=r=>t.setPagination(n=>{var a;let u=ye(r,(a=t.options.pageCount)!=null?a:-1);return typeof u=="number"&&(u=Math.max(-1,u)),{...n,pageCount:u}}),t.getPageOptions=q(()=>[t.getPageCount()],r=>{let n=[];return r&&r>0&&(n=[...new Array(r)].fill(null).map((a,u)=>u)),n},K(t.options,"debugTable","getPageOptions")),t.getCanPreviousPage=()=>t.getState().pagination.pageIndex>0,t.getCanNextPage=()=>{const{pageIndex:r}=t.getState().pagination,n=t.getPageCount();return n===-1?!0:n===0?!1:r<n-1},t.previousPage=()=>t.setPageIndex(r=>r-1),t.nextPage=()=>t.setPageIndex(r=>r+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 r;return(r=t.options.pageCount)!=null?r:Math.ceil(t.getRowCount()/t.getState().pagination.pageSize)},t.getRowCount=()=>{var r;return(r=t.options.rowCount)!=null?r:t.getPrePaginationRowModel().rows.length}}},Ge=()=>({top:[],bottom:[]}),Vo={getInitialState:t=>({rowPinning:Ge(),...t}),getDefaultOptions:t=>({onRowPinningChange:xe("rowPinning",t)}),createRow:(t,l)=>{t.pin=(o,r,n)=>{const a=r?t.getLeafRows().map(s=>{let{id:c}=s;return c}):[],u=n?t.getParentRows().map(s=>{let{id:c}=s;return c}):[],i=new Set([...u,t.id,...a]);l.setRowPinning(s=>{var c,g;if(o==="bottom"){var m,p;return{top:((m=s?.top)!=null?m:[]).filter(x=>!(i!=null&&i.has(x))),bottom:[...((p=s?.bottom)!=null?p:[]).filter(x=>!(i!=null&&i.has(x))),...Array.from(i)]}}if(o==="top"){var d,f;return{top:[...((d=s?.top)!=null?d:[]).filter(x=>!(i!=null&&i.has(x))),...Array.from(i)],bottom:((f=s?.bottom)!=null?f:[]).filter(x=>!(i!=null&&i.has(x)))}}return{top:((c=s?.top)!=null?c:[]).filter(x=>!(i!=null&&i.has(x))),bottom:((g=s?.bottom)!=null?g:[]).filter(x=>!(i!=null&&i.has(x)))}})},t.getCanPin=()=>{var o;const{enableRowPinning:r,enablePinning:n}=l.options;return typeof r=="function"?r(t):(o=r??n)!=null?o:!0},t.getIsPinned=()=>{const o=[t.id],{top:r,bottom:n}=l.getState().rowPinning,a=o.some(i=>r?.includes(i)),u=o.some(i=>n?.includes(i));return a?"top":u?"bottom":!1},t.getPinnedIndex=()=>{var o,r;const n=t.getIsPinned();if(!n)return-1;const a=(o=n==="top"?l.getTopRows():l.getBottomRows())==null?void 0:o.map(u=>{let{id:i}=u;return i});return(r=a?.indexOf(t.id))!=null?r:-1}},createTable:t=>{t.setRowPinning=l=>t.options.onRowPinningChange==null?void 0:t.options.onRowPinningChange(l),t.resetRowPinning=l=>{var o,r;return t.setRowPinning(l?Ge():(o=(r=t.initialState)==null?void 0:r.rowPinning)!=null?o:Ge())},t.getIsSomeRowsPinned=l=>{var o;const r=t.getState().rowPinning;if(!l){var n,a;return!!((n=r.top)!=null&&n.length||(a=r.bottom)!=null&&a.length)}return!!((o=r[l])!=null&&o.length)},t._getPinnedRows=(l,o,r)=>{var n;return((n=t.options.keepPinnedRows)==null||n?(o??[]).map(u=>{const i=t.getRow(u,!0);return i.getIsAllParentsExpanded()?i:null}):(o??[]).map(u=>l.find(i=>i.id===u))).filter(Boolean).map(u=>({...u,position:r}))},t.getTopRows=q(()=>[t.getRowModel().rows,t.getState().rowPinning.top],(l,o)=>t._getPinnedRows(l,o,"top"),K(t.options,"debugRows","getTopRows")),t.getBottomRows=q(()=>[t.getRowModel().rows,t.getState().rowPinning.bottom],(l,o)=>t._getPinnedRows(l,o,"bottom"),K(t.options,"debugRows","getBottomRows")),t.getCenterRows=q(()=>[t.getRowModel().rows,t.getState().rowPinning.top,t.getState().rowPinning.bottom],(l,o,r)=>{const n=new Set([...o??[],...r??[]]);return l.filter(a=>!n.has(a.id))},K(t.options,"debugRows","getCenterRows"))}},wo={getInitialState:t=>({rowSelection:{},...t}),getDefaultOptions:t=>({onRowSelectionChange:xe("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 o;return t.setRowSelection(l?{}:(o=t.initialState.rowSelection)!=null?o:{})},t.toggleAllRowsSelected=l=>{t.setRowSelection(o=>{l=typeof l<"u"?l:!t.getIsAllRowsSelected();const r={...o},n=t.getPreGroupedRowModel().flatRows;return l?n.forEach(a=>{a.getCanSelect()&&(r[a.id]=!0)}):n.forEach(a=>{delete r[a.id]}),r})},t.toggleAllPageRowsSelected=l=>t.setRowSelection(o=>{const r=typeof l<"u"?l:!t.getIsAllPageRowsSelected(),n={...o};return t.getRowModel().rows.forEach(a=>{Je(n,a.id,r,!0,t)}),n}),t.getPreSelectedRowModel=()=>t.getCoreRowModel(),t.getSelectedRowModel=q(()=>[t.getState().rowSelection,t.getCoreRowModel()],(l,o)=>Object.keys(l).length?qe(t,o):{rows:[],flatRows:[],rowsById:{}},K(t.options,"debugTable","getSelectedRowModel")),t.getFilteredSelectedRowModel=q(()=>[t.getState().rowSelection,t.getFilteredRowModel()],(l,o)=>Object.keys(l).length?qe(t,o):{rows:[],flatRows:[],rowsById:{}},K(t.options,"debugTable","getFilteredSelectedRowModel")),t.getGroupedSelectedRowModel=q(()=>[t.getState().rowSelection,t.getSortedRowModel()],(l,o)=>Object.keys(l).length?qe(t,o):{rows:[],flatRows:[],rowsById:{}},K(t.options,"debugTable","getGroupedSelectedRowModel")),t.getIsAllRowsSelected=()=>{const l=t.getFilteredRowModel().flatRows,{rowSelection:o}=t.getState();let r=!!(l.length&&Object.keys(o).length);return r&&l.some(n=>n.getCanSelect()&&!o[n.id])&&(r=!1),r},t.getIsAllPageRowsSelected=()=>{const l=t.getPaginationRowModel().flatRows.filter(n=>n.getCanSelect()),{rowSelection:o}=t.getState();let r=!!l.length;return r&&l.some(n=>!o[n.id])&&(r=!1),r},t.getIsSomeRowsSelected=()=>{var l;const o=Object.keys((l=t.getState().rowSelection)!=null?l:{}).length;return o>0&&o<t.getFilteredRowModel().flatRows.length},t.getIsSomePageRowsSelected=()=>{const l=t.getPaginationRowModel().flatRows;return t.getIsAllPageRowsSelected()?!1:l.filter(o=>o.getCanSelect()).some(o=>o.getIsSelected()||o.getIsSomeSelected())},t.getToggleAllRowsSelectedHandler=()=>l=>{t.toggleAllRowsSelected(l.target.checked)},t.getToggleAllPageRowsSelectedHandler=()=>l=>{t.toggleAllPageRowsSelected(l.target.checked)}},createRow:(t,l)=>{t.toggleSelected=(o,r)=>{const n=t.getIsSelected();l.setRowSelection(a=>{var u;if(o=typeof o<"u"?o:!n,t.getCanSelect()&&n===o)return a;const i={...a};return Je(i,t.id,o,(u=r?.selectChildren)!=null?u:!0,l),i})},t.getIsSelected=()=>{const{rowSelection:o}=l.getState();return nt(t,o)},t.getIsSomeSelected=()=>{const{rowSelection:o}=l.getState();return We(t,o)==="some"},t.getIsAllSubRowsSelected=()=>{const{rowSelection:o}=l.getState();return We(t,o)==="all"},t.getCanSelect=()=>{var o;return typeof l.options.enableRowSelection=="function"?l.options.enableRowSelection(t):(o=l.options.enableRowSelection)!=null?o:!0},t.getCanSelectSubRows=()=>{var o;return typeof l.options.enableSubRowSelection=="function"?l.options.enableSubRowSelection(t):(o=l.options.enableSubRowSelection)!=null?o:!0},t.getCanMultiSelect=()=>{var o;return typeof l.options.enableMultiRowSelection=="function"?l.options.enableMultiRowSelection(t):(o=l.options.enableMultiRowSelection)!=null?o:!0},t.getToggleSelectedHandler=()=>{const o=t.getCanSelect();return r=>{var n;o&&t.toggleSelected((n=r.target)==null?void 0:n.checked)}}}},Je=(t,l,o,r,n)=>{var a;const u=n.getRow(l,!0);o?(u.getCanMultiSelect()||Object.keys(t).forEach(i=>delete t[i]),u.getCanSelect()&&(t[l]=!0)):delete t[l],r&&(a=u.subRows)!=null&&a.length&&u.getCanSelectSubRows()&&u.subRows.forEach(i=>Je(t,i.id,o,r,n))};function qe(t,l){const o=t.getState().rowSelection,r=[],n={},a=function(u,i){return u.map(s=>{var c;const g=nt(s,o);if(g&&(r.push(s),n[s.id]=s),(c=s.subRows)!=null&&c.length&&(s={...s,subRows:a(s.subRows)}),g)return s}).filter(Boolean)};return{rows:a(l.rows),flatRows:r,rowsById:n}}function nt(t,l){var o;return(o=l[t.id])!=null?o:!1}function We(t,l,o){var r;if(!((r=t.subRows)!=null&&r.length))return!1;let n=!0,a=!1;return t.subRows.forEach(u=>{if(!(a&&!n)&&(u.getCanSelect()&&(nt(u,l)?a=!0:n=!1),u.subRows&&u.subRows.length)){const i=We(u,l);i==="all"?a=!0:(i==="some"&&(a=!0),n=!1)}}),n?"all":a?"some":!1}const Ze=/([0-9]+)/gm,yo=(t,l,o)=>bt(he(t.getValue(o)).toLowerCase(),he(l.getValue(o)).toLowerCase()),ho=(t,l,o)=>bt(he(t.getValue(o)),he(l.getValue(o))),No=(t,l,o)=>lt(he(t.getValue(o)).toLowerCase(),he(l.getValue(o)).toLowerCase()),So=(t,l,o)=>lt(he(t.getValue(o)),he(l.getValue(o))),bo=(t,l,o)=>{const r=t.getValue(o),n=l.getValue(o);return r>n?1:r<n?-1:0},ko=(t,l,o)=>lt(t.getValue(o),l.getValue(o));function lt(t,l){return t===l?0:t>l?1:-1}function he(t){return typeof t=="number"?isNaN(t)||t===1/0||t===-1/0?"":String(t):typeof t=="string"?t:""}function bt(t,l){const o=t.split(Ze).filter(Boolean),r=l.split(Ze).filter(Boolean);for(;o.length&&r.length;){const n=o.shift(),a=r.shift(),u=parseInt(n,10),i=parseInt(a,10),s=[u,i].sort();if(isNaN(s[0])){if(n>a)return 1;if(a>n)return-1;continue}if(isNaN(s[1]))return isNaN(u)?-1:1;if(u>i)return 1;if(i>u)return-1}return o.length-r.length}const _e={alphanumeric:yo,alphanumericCaseSensitive:ho,text:No,textCaseSensitive:So,datetime:bo,basic:ko},_o={getInitialState:t=>({sorting:[],...t}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:t=>({onSortingChange:xe("sorting",t),isMultiSortEvent:l=>l.shiftKey}),createColumn:(t,l)=>{t.getAutoSortingFn=()=>{const o=l.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const n of o){const a=n?.getValue(t.id);if(Object.prototype.toString.call(a)==="[object Date]")return _e.datetime;if(typeof a=="string"&&(r=!0,a.split(Ze).length>1))return _e.alphanumeric}return r?_e.text:_e.basic},t.getAutoSortDir=()=>{const o=l.getFilteredRowModel().flatRows[0];return typeof o?.getValue(t.id)=="string"?"asc":"desc"},t.getSortingFn=()=>{var o,r;if(!t)throw new Error;return Pe(t.columnDef.sortingFn)?t.columnDef.sortingFn:t.columnDef.sortingFn==="auto"?t.getAutoSortingFn():(o=(r=l.options.sortingFns)==null?void 0:r[t.columnDef.sortingFn])!=null?o:_e[t.columnDef.sortingFn]},t.toggleSorting=(o,r)=>{const n=t.getNextSortingOrder(),a=typeof o<"u"&&o!==null;l.setSorting(u=>{const i=u?.find(d=>d.id===t.id),s=u?.findIndex(d=>d.id===t.id);let c=[],g,m=a?o:n==="desc";if(u!=null&&u.length&&t.getCanMultiSort()&&r?i?g="toggle":g="add":u!=null&&u.length&&s!==u.length-1?g="replace":i?g="toggle":g="replace",g==="toggle"&&(a||n||(g="remove")),g==="add"){var p;c=[...u,{id:t.id,desc:m}],c.splice(0,c.length-((p=l.options.maxMultiSortColCount)!=null?p:Number.MAX_SAFE_INTEGER))}else g==="toggle"?c=u.map(d=>d.id===t.id?{...d,desc:m}:d):g==="remove"?c=u.filter(d=>d.id!==t.id):c=[{id:t.id,desc:m}];return c})},t.getFirstSortDir=()=>{var o,r;return((o=(r=t.columnDef.sortDescFirst)!=null?r:l.options.sortDescFirst)!=null?o:t.getAutoSortDir()==="desc")?"desc":"asc"},t.getNextSortingOrder=o=>{var r,n;const a=t.getFirstSortDir(),u=t.getIsSorted();return u?u!==a&&((r=l.options.enableSortingRemoval)==null||r)&&(!(o&&(n=l.options.enableMultiRemove)!=null)||n)?!1:u==="desc"?"asc":"desc":a},t.getCanSort=()=>{var o,r;return((o=t.columnDef.enableSorting)!=null?o:!0)&&((r=l.options.enableSorting)!=null?r:!0)&&!!t.accessorFn},t.getCanMultiSort=()=>{var o,r;return(o=(r=t.columnDef.enableMultiSort)!=null?r:l.options.enableMultiSort)!=null?o:!!t.accessorFn},t.getIsSorted=()=>{var o;const r=(o=l.getState().sorting)==null?void 0:o.find(n=>n.id===t.id);return r?r.desc?"desc":"asc":!1},t.getSortIndex=()=>{var o,r;return(o=(r=l.getState().sorting)==null?void 0:r.findIndex(n=>n.id===t.id))!=null?o:-1},t.clearSorting=()=>{l.setSorting(o=>o!=null&&o.length?o.filter(r=>r.id!==t.id):[])},t.getToggleSortingHandler=()=>{const o=t.getCanSort();return r=>{o&&(r.persist==null||r.persist(),t.toggleSorting==null||t.toggleSorting(void 0,t.getCanMultiSort()?l.options.isMultiSortEvent==null?void 0:l.options.isMultiSortEvent(r):!1))}}},createTable:t=>{t.setSorting=l=>t.options.onSortingChange==null?void 0:t.options.onSortingChange(l),t.resetSorting=l=>{var o,r;t.setSorting(l?[]:(o=(r=t.initialState)==null?void 0:r.sorting)!=null?o:[])},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())}},$o=[Yt,fo,so,uo,Xt,Jt,go,vo,_o,ao,xo,Co,Vo,wo,mo];function Bo(t){var l,o;process.env.NODE_ENV!=="production"&&(t.debugAll||t.debugTable)&&console.info("Creating Table Instance...");const r=[...$o,...(l=t._features)!=null?l:[]];let n={_features:r};const a=n._features.reduce((p,d)=>Object.assign(p,d.getDefaultOptions==null?void 0:d.getDefaultOptions(n)),{}),u=p=>n.options.mergeOptions?n.options.mergeOptions(a,p):{...a,...p};let s={...{},...(o=t.initialState)!=null?o:{}};n._features.forEach(p=>{var d;s=(d=p.getInitialState==null?void 0:p.getInitialState(s))!=null?d:s});const c=[];let g=!1;const m={_features:r,options:{...a,...t},initialState:s,_queue:p=>{c.push(p),g||(g=!0,Promise.resolve().then(()=>{for(;c.length;)c.shift()();g=!1}).catch(d=>setTimeout(()=>{throw d})))},reset:()=>{n.setState(n.initialState)},setOptions:p=>{const d=ye(p,n.options);n.options=u(d)},getState:()=>n.options.state,setState:p=>{n.options.onStateChange==null||n.options.onStateChange(p)},_getRowId:(p,d,f)=>{var x;return(x=n.options.getRowId==null?void 0:n.options.getRowId(p,d,f))!=null?x:`${f?[f.id,d].join("."):d}`},getCoreRowModel:()=>(n._getCoreRowModel||(n._getCoreRowModel=n.options.getCoreRowModel(n)),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(p,d)=>{let f=(d?n.getPrePaginationRowModel():n.getRowModel()).rowsById[p];if(!f&&(f=n.getCoreRowModel().rowsById[p],!f))throw process.env.NODE_ENV!=="production"?new Error(`getRow could not find row with ID: ${p}`):new Error;return f},_getDefaultColumnDef:q(()=>[n.options.defaultColumn],p=>{var d;return p=(d=p)!=null?d:{},{header:f=>{const x=f.header.column.columnDef;return x.accessorKey?x.accessorKey:x.accessorFn?x.id:null},cell:f=>{var x,B;return(x=(B=f.renderValue())==null||B.toString==null?void 0:B.toString())!=null?x:null},...n._features.reduce((f,x)=>Object.assign(f,x.getDefaultColumnDef==null?void 0:x.getDefaultColumnDef()),{}),...p}},K(t,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>n.options.columns,getAllColumns:q(()=>[n._getColumnDefs()],p=>{const d=function(f,x,B){return B===void 0&&(B=0),f.map(C=>{const v=Kt(n,C,B,x),$=C;return v.columns=$.columns?d($.columns,v,B+1):[],v})};return d(p)},K(t,"debugColumns","getAllColumns")),getAllFlatColumns:q(()=>[n.getAllColumns()],p=>p.flatMap(d=>d.getFlatColumns()),K(t,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:q(()=>[n.getAllFlatColumns()],p=>p.reduce((d,f)=>(d[f.id]=f,d),{}),K(t,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:q(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(p,d)=>{let f=p.flatMap(x=>x.getLeafColumns());return d(f)},K(t,"debugColumns","getAllLeafColumns")),getColumn:p=>{const d=n._getAllFlatColumnsById()[p];return process.env.NODE_ENV!=="production"&&!d&&console.error(`[Table] Column with id '${p}' does not exist.`),d}};Object.assign(n,m);for(let p=0;p<n._features.length;p++){const d=n._features[p];d==null||d.createTable==null||d.createTable(n)}return n}function Eo(){return t=>q(()=>[t.options.data],l=>{const o={rows:[],flatRows:[],rowsById:{}},r=function(n,a,u){a===void 0&&(a=0);const i=[];for(let c=0;c<n.length;c++){const g=tt(t,t._getRowId(n[c],c,u),n[c],c,a,void 0,u?.id);if(o.flatRows.push(g),o.rowsById[g.id]=g,i.push(g),t.options.getSubRows){var s;g.originalSubRows=t.options.getSubRows(n[c],c),(s=g.originalSubRows)!=null&&s.length&&(g.subRows=r(g.originalSubRows,a+1,g))}}return i};return o.rows=r(l),o},K(t.options,"debugTable","getRowModel",()=>t._autoResetPageIndex()))}function Do(){return t=>q(()=>[t.getState().expanded,t.getPreExpandedRowModel(),t.options.paginateExpandedRows],(l,o,r)=>!o.rows.length||l!==!0&&!Object.keys(l??{}).length||!r?o:kt(o),K(t.options,"debugTable","getExpandedRowModel"))}function kt(t){const l=[],o=r=>{var n;l.push(r),(n=r.subRows)!=null&&n.length&&r.getIsExpanded()&&r.subRows.forEach(o)};return t.rows.forEach(o),{rows:l,flatRows:t.flatRows,rowsById:t.rowsById}}function _t(t,l,o){return o.options.filterFromLeafRows?Ro(t,l,o):To(t,l,o)}function Ro(t,l,o){var r;const n=[],a={},u=(r=o.options.maxLeafRowFilterDepth)!=null?r:100,i=function(s,c){c===void 0&&(c=0);const g=[];for(let p=0;p<s.length;p++){var m;let d=s[p];const f=tt(o,d.id,d.original,d.index,d.depth,void 0,d.parentId);if(f.columnFilters=d.columnFilters,(m=d.subRows)!=null&&m.length&&c<u){if(f.subRows=i(d.subRows,c+1),d=f,l(d)&&!f.subRows.length){g.push(d),a[d.id]=d,n.push(d);continue}if(l(d)||f.subRows.length){g.push(d),a[d.id]=d,n.push(d);continue}}else d=f,l(d)&&(g.push(d),a[d.id]=d,n.push(d))}return g};return{rows:i(t),flatRows:n,rowsById:a}}function To(t,l,o){var r;const n=[],a={},u=(r=o.options.maxLeafRowFilterDepth)!=null?r:100,i=function(s,c){c===void 0&&(c=0);const g=[];for(let p=0;p<s.length;p++){let d=s[p];if(l(d)){var m;if((m=d.subRows)!=null&&m.length&&c<u){const x=tt(o,d.id,d.original,d.index,d.depth,void 0,d.parentId);x.subRows=i(d.subRows,c+1),d=x}g.push(d),n.push(d),a[d.id]=d}}return g};return{rows:i(t),flatRows:n,rowsById:a}}function Fo(){return(t,l)=>q(()=>[t.getPreFilteredRowModel(),t.getState().columnFilters,t.getState().globalFilter,t.getFilteredRowModel()],(o,r,n)=>{if(!o.rows.length||!(r!=null&&r.length)&&!n)return o;const a=[...r.map(i=>i.id).filter(i=>i!==l),n?"__global__":void 0].filter(Boolean),u=i=>{for(let s=0;s<a.length;s++)if(i.columnFilters[a[s]]===!1)return!1;return!0};return _t(o.rows,u,t)},K(t.options,"debugTable","getFacetedRowModel"))}function Mo(){return t=>q(()=>[t.getPreFilteredRowModel(),t.getState().columnFilters,t.getState().globalFilter],(l,o,r)=>{if(!l.rows.length||!(o!=null&&o.length)&&!r){for(let p=0;p<l.flatRows.length;p++)l.flatRows[p].columnFilters={},l.flatRows[p].columnFiltersMeta={};return l}const n=[],a=[];(o??[]).forEach(p=>{var d;const f=t.getColumn(p.id);if(!f)return;const x=f.getFilterFn();if(!x){process.env.NODE_ENV!=="production"&&console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${f.id}.`);return}n.push({id:p.id,filterFn:x,resolvedValue:(d=x.resolveFilterValue==null?void 0:x.resolveFilterValue(p.value))!=null?d:p.value})});const u=(o??[]).map(p=>p.id),i=t.getGlobalFilterFn(),s=t.getAllLeafColumns().filter(p=>p.getCanGlobalFilter());r&&i&&s.length&&(u.push("__global__"),s.forEach(p=>{var d;a.push({id:p.id,filterFn:i,resolvedValue:(d=i.resolveFilterValue==null?void 0:i.resolveFilterValue(r))!=null?d:r})}));let c,g;for(let p=0;p<l.flatRows.length;p++){const d=l.flatRows[p];if(d.columnFilters={},n.length)for(let f=0;f<n.length;f++){c=n[f];const x=c.id;d.columnFilters[x]=c.filterFn(d,x,c.resolvedValue,B=>{d.columnFiltersMeta[x]=B})}if(a.length){for(let f=0;f<a.length;f++){g=a[f];const x=g.id;if(g.filterFn(d,x,g.resolvedValue,B=>{d.columnFiltersMeta[x]=B})){d.columnFilters.__global__=!0;break}}d.columnFilters.__global__!==!0&&(d.columnFilters.__global__=!1)}}const m=p=>{for(let d=0;d<u.length;d++)if(p.columnFilters[u[d]]===!1)return!1;return!0};return _t(l.rows,m,t)},K(t.options,"debugTable","getFilteredRowModel",()=>t._autoResetPageIndex()))}function Io(t){return l=>q(()=>[l.getState().pagination,l.getPrePaginationRowModel(),l.options.paginateExpandedRows?void 0:l.getState().expanded],(o,r)=>{if(!r.rows.length)return r;const{pageSize:n,pageIndex:a}=o;let{rows:u,flatRows:i,rowsById:s}=r;const c=n*a,g=c+n;u=u.slice(c,g);let m;l.options.paginateExpandedRows?m={rows:u,flatRows:i,rowsById:s}:m=kt({rows:u,flatRows:i,rowsById:s}),m.flatRows=[];const p=d=>{m.flatRows.push(d),d.subRows.length&&d.subRows.forEach(p)};return m.rows.forEach(p),m},K(l.options,"debugTable","getPaginationRowModel"))}function Po(){return t=>q(()=>[t.getState().sorting,t.getPreSortedRowModel()],(l,o)=>{if(!o.rows.length||!(l!=null&&l.length))return o;const r=t.getState().sorting,n=[],a=r.filter(s=>{var c;return(c=t.getColumn(s.id))==null?void 0:c.getCanSort()}),u={};a.forEach(s=>{const c=t.getColumn(s.id);c&&(u[s.id]={sortUndefined:c.columnDef.sortUndefined,invertSorting:c.columnDef.invertSorting,sortingFn:c.getSortingFn()})});const i=s=>{const c=s.map(g=>({...g}));return c.sort((g,m)=>{for(let d=0;d<a.length;d+=1){var p;const f=a[d],x=u[f.id],B=x.sortUndefined,C=(p=f?.desc)!=null?p:!1;let v=0;if(B){const $=g.getValue(f.id),M=m.getValue(f.id),D=$===void 0,k=M===void 0;if(D||k){if(B==="first")return D?-1:1;if(B==="last")return D?1:-1;v=D&&k?0:D?B:-B}}if(v===0&&(v=x.sortingFn(g,m,f.id)),v!==0)return C&&(v*=-1),x.invertSorting&&(v*=-1),v}return g.index-m.index}),c.forEach(g=>{var m;n.push(g),(m=g.subRows)!=null&&m.length&&(g.subRows=i(g.subRows))}),c};return{rows:i(o.rows),flatRows:n,rowsById:o.rowsById}},K(t.options,"debugTable","getSortedRowModel",()=>t._autoResetPageIndex()))}function Me(){return!0}const Ao=Symbol("merge-proxy"),Lo={get(t,l,o){return l===Ao?o:t.get(l)},has(t,l){return t.has(l)},set:Me,deleteProperty:Me,getOwnPropertyDescriptor(t,l){return{configurable:!0,enumerable:!0,get(){return t.get(l)},set:Me,deleteProperty:Me}},ownKeys(t){return t.keys()}};function Ke(t){return"value"in t?t.value:t}function Be(){for(var t=arguments.length,l=new Array(t),o=0;o<t;o++)l[o]=arguments[o];return new Proxy({get(r){for(let n=l.length-1;n>=0;n--){const a=Ke(l[n])[r];if(a!==void 0)return a}},has(r){for(let n=l.length-1;n>=0;n--)if(r in Ke(l[n]))return!0;return!1},keys(){const r=[];for(let n=0;n<l.length;n++)r.push(...Object.keys(Ke(l[n])));return[...Array.from(new Set(r))]}},Lo)}const dt=e.defineComponent({props:["render","props"],setup:t=>()=>typeof t.render=="function"||typeof t.render=="object"?e.h(t.render,t.props):t.render});function ct(t){return Be(t,{data:e.unref(t.data)})}function Oo(t){const l=e.isRef(t.data),o=Be({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(a,u){return l?{...a,...u}:Be(a,u)}},l?ct(t):t),r=Bo(o);if(l){const a=e.shallowRef(t.data);e.watch(a,()=>{r.setState(u=>({...u,data:a.value}))},{immediate:!0})}const n=e.ref(r.initialState);return e.watchEffect(()=>{r.setOptions(a=>{var u;const i=new Proxy({},{get:(s,c)=>n.value[c]});return Be(a,l?ct(t):t,{state:Be(i,(u=t.state)!=null?u:{}),onStateChange:s=>{s instanceof Function?n.value=s(n.value):n.value=s,t.onStateChange==null||t.onStateChange(s)}})})}),r}const Uo={key:0,class:"flex flex-wrap items-center justify-between w-full gap-4 pl-2"},zo={class:"flex-1 text-sm text-muted-foreground whitespace-nowrap"},Ho={class:"flex items-center space-x-4 @2xl:space-x-8"},jo={class:"items-center space-x-2 hidden @xl:flex"},Go={class:"flex w-[100px] items-center justify-start text-sm font-medium"},qo={class:"flex items-center gap-x-2"},Ko={class:"w-full items-center space-x-2 flex @xl:hidden pl-2"},Yo=e.defineComponent({__name:"DataTablePagination",props:{table:{}},setup(t){const l=e.inject("sortMode");return(o,r)=>{const n=e.resolveComponent("SelectValue"),a=e.resolveComponent("SelectTrigger"),u=e.resolveComponent("SelectItem"),i=e.resolveComponent("SelectContent"),s=e.resolveComponent("Select"),c=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(l)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Uo,[e.createElementVNode("div",zo,e.toDisplayString(t.table.getFilteredSelectedRowModel().rows.length)+" of "+e.toDisplayString(t.table.getFilteredRowModel().rows.length)+" row(s) selected. ",1),e.createElementVNode("div",Ho,[e.createElementVNode("div",jo,[r[4]||(r[4]=e.createElementVNode("p",{class:"text-sm font-medium"}," Rows per page ",-1)),e.createVNode(s,{"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(n,{placeholder:`${t.table.getState().pagination.pageSize}`},null,8,["placeholder"])]),_:1}),e.createVNode(i,{side:"top"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30,40,50],g=>e.createVNode(u,{key:g,value:`${g}`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("div",Go," Page "+e.toDisplayString(t.table.getState().pagination.pageIndex+1)+" of "+e.toDisplayString(t.table.getPageCount()),1),e.createElementVNode("div",qo,[e.createVNode(c,{variant:"outline",class:"hidden size-8 p-0 lg:flex",disabled:!t.table.getCanPreviousPage(),onClick:r[0]||(r[0]=g=>t.table.setPageIndex(0))},{default:e.withCtx(()=>[r[5]||(r[5]=e.createElementVNode("span",{class:"sr-only"},"Go to first page",-1)),e.createVNode(e.unref(Z.ChevronsLeft),{class:"size-4"})]),_:1},8,["disabled"]),e.createVNode(c,{variant:"outline",class:"size-8 p-0",disabled:!t.table.getCanPreviousPage(),onClick:r[1]||(r[1]=g=>t.table.previousPage())},{default:e.withCtx(()=>[r[6]||(r[6]=e.createElementVNode("span",{class:"sr-only"},"Go to previous page",-1)),e.createVNode(e.unref(Z.ChevronLeft),{class:"size-4"})]),_:1},8,["disabled"]),e.createVNode(c,{variant:"outline",class:"size-8 p-0",disabled:!t.table.getCanNextPage(),onClick:r[2]||(r[2]=g=>t.table.nextPage())},{default:e.withCtx(()=>[r[7]||(r[7]=e.createElementVNode("span",{class:"sr-only"},"Go to next page",-1)),e.createVNode(e.unref(Z.ChevronRight),{class:"size-4"})]),_:1},8,["disabled"]),e.createVNode(c,{variant:"outline",class:"hidden size-8 p-0 lg:flex",disabled:!t.table.getCanNextPage(),onClick:r[3]||(r[3]=g=>t.table.setPageIndex(t.table.getPageCount()-1))},{default:e.withCtx(()=>[r[8]||(r[8]=e.createElementVNode("span",{class:"sr-only"},"Go to last page",-1)),e.createVNode(e.unref(Z.ChevronsRight),{class:"size-4"})]),_:1},8,["disabled"])])])])),e.createElementVNode("div",Ko,[r[9]||(r[9]=e.createElementVNode("p",{class:"text-sm font-medium"}," Rows per page ",-1)),e.createVNode(s,{"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(n,{placeholder:`${t.table.getState().pagination.pageSize}`},null,8,["placeholder"])]),_:1}),e.createVNode(i,{side:"top"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList([10,20,30,40,50],g=>e.createVNode(u,{key:g,value:`${g}`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["model-value","onUpdate:modelValue"])])],64)}}}),mt=e.defineComponent({__name:"DataTableAction",props:{action:{},row:{}},setup(t){const l=t,o=e.inject("data",e.ref([])),r=e.inject("isPerformingDataTableAction",e.ref(!1)),{runFlow:n}=ue.useFlowBuilder(),a=e.computed(()=>Z.icons[l.action.icon]),u=e.computed(()=>l.action.visible?[!0,"true"].includes(Ut.interpolateTemplateFromVariableContext(l.action.visible,[{name:"item",value:{data:{...l.row.original}},type:"object"},...Object.entries(l.row.original).map(([s,c])=>({name:s,value:c,type:typeof c}))])):!0),i=async()=>{r.value=!0,await n(l.action.flow,[{name:"item",value:{data:{...l.row.original}},type:"object"},{name:"tableActiveRowIndex",type:"number",value:l.row.index}],[],[Ie.createTableRowExtension({tableRowActions:{create:s=>{o.value=[...o.value,s]},update:(s,c,g)=>{o.value=o.value.map((m,p)=>p!==s?m:g?{...m,...c}:c)},remove:s=>{o.value=o.value.filter((c,g)=>g!==s)}}})]),r.value=!1};return(s,c)=>{const g=e.resolveComponent("Button"),m=e.resolveComponent("TooltipTrigger"),p=e.resolveComponent("TooltipContent"),d=e.resolveComponent("Tooltip");return u.value?(e.openBlock(),e.createBlock(d,{key:0},{default:e.withCtx(()=>[e.createVNode(m,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(g,{variant:"ghost",size:"icon",onClick:c[0]||(c[0]=e.withModifiers(f=>i(),["stop"])),class:e.normalizeClass(["size-5",{"opacity-50":e.unref(r)}]),"data-title":t.action.label,disabled:e.unref(r)},{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)}}}),Xo={class:"mx-auto w-full max-w-sm mt-8 px-4 overflow-y-auto"},Jo={key:0,class:"flex flex-col gap-1.5 mb-6 px-1"},Wo={class:"text-muted-foreground text-sm shrink-0"},Zo={class:"text-muted-foreground text-sm shrink-0"},Qo=["src","alt"],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=["href"],an={class:"text-muted-foreground text-sm shrink-0"},sn={class:"text-sm"},un={class:"w-full flex flex-col gap-2 mb-4"},dn=["innerHTML"],cn=e.defineComponent({__name:"DataTableMobileRowActionDrawer",setup(t,{expose:l}){const{formatCurrency:o}=ue.useProjectSettings(),r=e.inject("columns",e.ref([])),n=e.ref(!1),a=e.ref([]),u=e.ref(null),i=e.computed(()=>r.value?.filter(m=>m.visible)||[]),s=(m,p)=>{if(p.type==="array-counter")return Array.isArray(m)?m.length:m==null?0:"";if(m==null)return"";if(p.type==="text")return h.formatTableText(m,p);if(p.type==="number")return h.formatTableNumber(m,p);if(p.type==="datetime")return new Date(m)?.toLocaleString()??"";if(p.type==="currency")return o(m);if(p.type==="boolean")return m?"Yes":"No";if(p.type==="array")return Array.isArray(m)?m.join(", "):"";if(p.type==="html"){const d=document.createElement("div");d.innerHTML=m||"";const f=d.innerText||d.textContent||"";return f.length>100?f.substring(0,100)+"...":f}return String(m)};e.watch(n,m=>{m||(a.value=[],u.value=null)});const c=(m,p,d=!1)=>{if(!ge.isMobile()&&!d)return;a.value=[],u.value=p||null;let f=[];n.value=!0,m.target.closest('[data-slot="table-row"]')?.querySelectorAll(".data-table-row-actions button").forEach(B=>{f.push({label:B.getAttribute("data-title")||"",icon:B.querySelector("svg")?.outerHTML||"",onClick:()=>B.click()})}),a.value=f},g=m=>{m.onClick(),n.value=!1};return l({onRowClick:c}),(m,p)=>{const d=e.resolveComponent("DrawerTitle"),f=e.resolveComponent("Button"),x=e.resolveComponent("DrawerClose"),B=e.resolveComponent("DrawerContent"),C=e.resolveComponent("Drawer");return e.openBlock(),e.createBlock(C,{open:n.value,"onUpdate:open":p[0]||(p[0]=v=>n.value=v)},{default:e.withCtx(()=>[e.createVNode(B,{"aria-describedby":void 0},{default:e.withCtx(()=>[e.createVNode(d,{class:"sr-only"},{default:e.withCtx(()=>[...p[1]||(p[1]=[e.createTextVNode("Row details",-1)])]),_:1}),e.createElementVNode("div",Xo,[u.value&&i.value.length>0?(e.openBlock(),e.createElementBlock("div",Jo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,v=>(e.openBlock(),e.createElementBlock("div",{key:v.id,class:"flex items-start gap-2 min-w-0"},[["date","datetime","progress","badge"].includes(v.type)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",Wo,e.toDisplayString(v.label)+":",1),e.createVNode(h._sfc_main,{row:u.value,column:v},null,8,["row","column"])],64)):v.type==="image"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",Zo,e.toDisplayString(v.label)+":",1),e.unref(h.resolveProperty)(u.value,v.property)?(e.openBlock(),e.createElementBlock("img",{key:0,src:e.unref(h.resolveProperty)(u.value,v.property),alt:v.label,class:"size-16 object-cover rounded"},null,8,Qo)):e.createCommentVNode("",!0)],64)):v.type==="URL"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("span",en,e.toDisplayString(v.label)+":",1),e.createElementVNode("a",{href:e.unref(h.resolveProperty)(u.value,v.property),target:"_blank",class:"text-primary text-sm break-all"},e.toDisplayString(e.unref(h.resolveProperty)(u.value,v.property)),9,tn)],64)):v.type==="email"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("span",on,e.toDisplayString(v.label)+":",1),e.createElementVNode("a",{href:`mailto:${e.unref(h.resolveProperty)(u.value,v.property)}`,class:"text-primary text-sm break-all"},e.toDisplayString(e.unref(h.resolveProperty)(u.value,v.property)),9,nn)],64)):v.type==="phone"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createElementVNode("span",ln,e.toDisplayString(v.label)+":",1),e.createElementVNode("a",{href:`tel:${e.unref(h.resolveProperty)(u.value,v.property)}`,class:"text-primary text-sm"},e.toDisplayString(e.unref(h.resolveProperty)(u.value,v.property)),9,rn)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[e.createElementVNode("span",an,e.toDisplayString(v.label)+":",1),e.createElementVNode("span",sn,e.toDisplayString(s(e.unref(h.resolveProperty)(u.value,v.property),v)),1)],64))]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",un,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,v=>(e.openBlock(),e.createBlock(f,{variant:"outline",class:"w-full h-11 border-none bg-foreground! text-background! rounded-lg",key:v,onClick:$=>g(v)},{default:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:v.icon},null,8,dn),e.createTextVNode(" "+e.toDisplayString(v.label),1)]),_:2},1032,["onClick"]))),128))]),e.createVNode(x,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(f,{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(()=>[...p[2]||(p[2]=[e.createTextVNode(" Cancel ",-1)])]),_:1})]),_:1})])]),_:1})]),_:1},8,["open"])}}}),mn=["onClick"],pn={class:"flex flex-col gap-0.5 flex-1 min-w-0"},fn={class:"text-muted-foreground text-sm shrink-0"},gn={class:"text-muted-foreground text-sm shrink-0"},vn=["src","alt"],xn={class:"text-muted-foreground text-sm shrink-0"},Cn=["href"],Vn={class:"text-muted-foreground text-sm shrink-0"},wn=["href"],yn={class:"text-muted-foreground text-sm shrink-0"},hn=["href"],Nn={class:"text-muted-foreground text-sm shrink-0"},Sn={class:"text-muted-foreground text-sm shrink-0"},bn={class:"text-sm truncate"},kn={key:0,class:"data-table-row-actions hidden"},_n={key:1,class:"px-4 py-6 text-center text-muted-foreground"},$n={key:0,class:"flex items-center justify-center font-medium border-x border-primary bg-primary/10 -my-[7px] h-[34px] cursor-grab"},Bn=e.defineComponent({__name:"DataTable",setup(t,{expose:l}){const{Button:o,Checkbox:r,Tooltip:n,TooltipContent:a,TooltipTrigger:u}=Ot,{$dragAndDrop:i}=useNuxtApp(),{formatCurrency:s}=ue.useProjectSettings(),c=e.inject("integrationId",e.ref("")),g=e.inject("resourcePath",e.ref("")),m=e.inject("table"),p=e.inject("data",e.ref([])),d=e.inject("columns",e.ref([])),f=h.useTableClock(),x=e.inject("sortMode",e.ref(!1)),B=e.inject("sortModeProperty",e.ref("")),C=e.inject("filters",e.ref([])),v=e.inject("itemActions",e.ref([])),$=e.inject("isPerformingDataTableAction",e.ref(!1)),M=e.useTemplateRef("mobileActionDrawer"),D=e.computed(()=>d.value?.filter(b=>b.visible&&b.showInCompactMode)||[]),k=b=>Array.isArray(b)?b.length:b==null?0:"",w=b=>Array.isArray(b)?b:[],_=b=>{if(b==null)return"Empty";if(b instanceof Date)return b.toLocaleString();if(["string","number","boolean","bigint"].includes(typeof b))return String(b);if(typeof b=="object"){const V=["label","name","title","value","id"].find(O=>{const ae=b?.[O];return ae!=null&&typeof ae!="object"});if(V)return String(b[V]);try{return JSON.stringify(b)??String(b)}catch{return String(b)}}return String(b)},P=b=>{const V=`${b.length} ${b.length===1?"item":"items"}`,O=b.slice(0,5),ae=Math.max(b.length-O.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),O.length?e.h("div",{class:"flex flex-col gap-1"},[...O.map((R,U)=>e.h("div",{key:U,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"},U+1),e.h("span",{class:"min-w-0 flex-1 break-words leading-snug"},_(R))])),ae?e.h("div",{class:"mt-1 border-t border-white/15 pt-1.5 text-xs opacity-70 dark:border-gray-800/15"},`+ ${ae} more`):null]):e.h("div",{class:"text-xs opacity-70"},"No items")])},T=(b,V=!1)=>e.h(V?"button":"span",{...V?{type:"button",onClick:O=>O.stopPropagation(),onPointerdown:O=>O.stopPropagation(),onKeydown:O=>{(O.key==="Enter"||O.key===" ")&&O.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"},b),N=(b,V=!0)=>{const O=k(b),ae=w(b);return O===""?e.h("div",{},""):V?e.h(n,{},{default:()=>[e.h(u,{asChild:!0},{default:()=>T(O,!0)}),e.h(a,{side:"top",sideOffset:8},{default:()=>P(ae)})]}):T(O)},H=b=>N(b.value,b.showPreview!==!1),E=(b,V)=>{if(V.type==="array-counter")return k(b);if(b==null)return"";if(V.type==="text")return h.formatTableText(b,V);if(V.type==="number")return h.formatTableNumber(b,V);if(V.type==="datetime")return new Date(b)?.toLocaleString()??"";if(V.type==="date")return h.resolveTableCell({value:b},{...V,property:"value"},{now:f.value}).text;if(V.type==="currency")return s(b);if(V.type==="boolean")return b?"Yes":"No";if(V.type==="array")return Array.isArray(b)?b.join(", "):"";if(V.type==="html"){const O=document.createElement("div");O.innerHTML=b||"";const ae=O.innerText||O.textContent||"";return ae.length>100?ae.substring(0,100)+"...":ae}return String(b)},S=(b,V)=>{M.value?.onRowClick(b,V,!0)},F=b=>b==null?"":Array.isArray(b)?b.map(F).filter(Boolean).join(" "):typeof b=="boolean"?b?"true yes":"false no":b instanceof Date?b.toISOString().toLowerCase():typeof b=="object"?"":String(b).toLowerCase(),y=b=>{if(b===!0||typeof b=="string"&&b.trim().toLowerCase()==="true")return!0;if(b===!1||typeof b=="string"&&b.trim().toLowerCase()==="false")return!1},L=(b,V)=>({enableColumnFilter:!0,filterFn:(O,ae,R)=>{const U=h.getTableFilterType(b),ee=V==="date"||V==="datetime"?h.resolveProperty(O.original,b.property):O.getValue(ae);if(U==="number-range")return!R||typeof R!="object"?!0:h.matchesNumberRange(ee,{min:R.min==null?null:h.parseFiniteNumber(R.min),max:R.max==null?null:h.parseFiniteNumber(R.max)},!0);if(U==="number-comparison"){const ve=h.parseFiniteNumber(R?.value);if(ve===null)return!0;const Y=h.getComparisonOperators(b).includes(R?.operator)?R.operator:h.getDefaultComparisonOperator(b);return h.matchesNumberComparison(ee,{operator:Y,value:ve})}if(!Array.isArray(R)||R.length===0)return!0;if(V==="boolean"){const ve=ee===!0;return R.some(ne=>{const Y=y(ne);return Y!==void 0&&Y===ve})}if(V==="number"||V==="currency"){const ve=h.parseFiniteNumber(ee);return ve!==null&&R.some(ne=>h.parseFiniteNumber(ne)===ve)}return V==="badge"?ee!=null&&R.some(ve=>String(ve)===String(ee)):R.includes(ee)}}),J=e.computed(()=>(d.value??[]).filter(b=>b.visible&&b.property)),te=b=>J.value.map(V=>[F(h.resolveProperty(b,V.property)),V.type==="badge"||V.type==="progress"?F(h.resolveTableCell(b,V,{now:f.value}).text):""].join(" ")).filter(Boolean).join(" "),le=e.computed(()=>{let b=[];return x.value?b.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"})])])}):b.push({id:"select",header:({table:V})=>e.h(r,{modelValue:V.getIsAllPageRowsSelected()||V.getIsSomePageRowsSelected()&&"indeterminate","onUpdate:modelValue":O=>V.toggleAllPageRowsSelected(!!O),ariaLabel:"Select all",class:"border-ring",onClick:O=>O.stopPropagation(),onPointerdown:O=>O.stopPropagation(),onKeydown:O=>{(O.key===" "||O.key==="Enter")&&O.stopPropagation()}}),cell:({row:V})=>e.h(r,{class:"border-ring",modelValue:V.getIsSelected(),"onUpdate:modelValue":O=>V.toggleSelected(!!O),ariaLabel:"Select row",onClick:O=>O.stopPropagation(),onPointerdown:O=>O.stopPropagation(),onKeydown:O=>{(O.key===" "||O.key==="Enter")&&O.stopPropagation()}}),enableSorting:!1,enableHiding:!1}),d.value?.forEach(V=>{const O=C.value.find(R=>R.property===V.property),ae=b.length;V._remove||(V.type==="progress"||V.type==="badge"?b.push({id:h.getTableColumnId(V),accessorFn:R=>h.getColumnCellValue(R,V,f.value)??void 0,sortingFn:V.type==="progress"?"basic":"alphanumeric",sortUndefined:"last",header:({column:R})=>e.h(o,{variant:"ghost",disabled:x.value,onClick:()=>R.toggleSorting(R.getIsSorted()==="asc")},()=>[V.label,e.h(Z.ArrowUpDown,{class:"ml-2 size-4"})]),cell:({row:R})=>e.h(h._sfc_main,{row:R.original,column:V})}):V.type==="text"?b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:({column:R})=>e.h(o,{variant:"ghost",disabled:x.value,onClick:()=>R.toggleSorting(R.getIsSorted()==="asc")},()=>[V.label,e.h(Z.ArrowUpDown,{class:"ml-2 size-4"})]),cell:({row:R})=>e.h("div",{class:"max-w-xs line-clamp-3 whitespace-normal break-words select-text"},h.formatTableText(R.getValue(V.property),V))}):V.type==="number"?b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:({column:R})=>e.h(o,{variant:"ghost",disabled:x.value,onClick:()=>R.toggleSorting(R.getIsSorted()==="asc")},()=>[V.label,e.h(Z.ArrowUpDown,{class:"ml-2 size-4"})]),cell:({row:R})=>e.h("div",{},h.formatTableNumber(R.getValue(V.property),V))}):V.type==="date"||V.type==="datetime"?b.push({id:V.property,accessorFn:R=>h.tableTimestamp(h.resolveProperty(R,V.property))??void 0,sortingFn:"basic",sortUndefined:"last",header:({column:R})=>e.h(o,{variant:"ghost",disabled:x.value,onClick:()=>R.toggleSorting(R.getIsSorted()==="asc")},()=>[V.label,e.h(Z.ArrowUpDown,{class:"ml-2 size-4"})]),cell:({row:R})=>e.h(h._sfc_main,{row:R.original,column:V})}):V.type==="boolean"?b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:V.label,cell:({row:R})=>e.h(r,{modelValue:R.getValue(V.property),disabled:!0,class:"border-ring disabled:cursor-default disabled:opacity-100"})}):V.type==="URL"?b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:V.label,cell:({row:R})=>e.h("a",{href:R.getValue(V.property),target:"_blank",class:"text-primary",onClick:U=>U.stopPropagation(),onPointerdown:U=>U.stopPropagation(),onKeydown:U=>{(U.key==="Enter"||U.key===" ")&&U.stopPropagation()}},R.getValue(V.property))}):V.type==="email"?b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:V.label,cell:({row:R})=>e.h("a",{href:`mailto:${R.getValue(V.property)}`,class:"text-primary",onClick:U=>U.stopPropagation(),onPointerdown:U=>U.stopPropagation(),onKeydown:U=>{(U.key==="Enter"||U.key===" ")&&U.stopPropagation()}},R.getValue(V.property))}):V.type==="phone"?b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:V.label,cell:({row:R})=>e.h("a",{href:`tel:${R.getValue(V.property)}`,class:"text-primary",onClick:U=>U.stopPropagation(),onPointerdown:U=>U.stopPropagation(),onKeydown:U=>{(U.key==="Enter"||U.key===" ")&&U.stopPropagation()}},R.getValue(V.property))}):V.type==="currency"?b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:V.label,cell:({row:R})=>e.h("div",{class:""},s(R.getValue(V.property)))}):V.type==="image"?b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:V.label,cell:({row:R})=>R.getValue(V.property)?e.h("img",{src:R.getValue(V.property),alt:V.label,class:"size-16 object-cover"}):""}):V.type==="array"?b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:V.label,cell:({row:R})=>{const U=R.getValue(V.property);return Array.isArray(U)?e.h("div",{},U.map((ee,ve)=>e.h("div",{key:ve},ee.toString()))):e.h("div",{},"")}}):V.type==="array-counter"?b.push({id:V.property,accessorFn:R=>{const U=h.resolveProperty(R,V.property);return Array.isArray(U)?U.length:U==null?0:void 0},header:({column:R})=>e.h(o,{variant:"ghost",disabled:x.value,onClick:()=>R.toggleSorting(R.getIsSorted()==="asc")},()=>[V.label,e.h(Z.ArrowUpDown,{class:"ml-2 size-4"})]),cell:({row:R})=>e.h(H,{value:h.resolveProperty(R.original,V.property),showPreview:V.showArrayPreview!==!1})}):V.type==="html"&&b.push({id:V.property,accessorFn:R=>V.property.includes(".")?V.property.split(".").reduce((U,ee)=>U?.[ee],R):R[V.property],header:V.label,cell:({row:R})=>{let U=document.createElement("div");U.innerHTML=R.getValue(V.property)||"";const ee=U.innerText||U.textContent||"";return e.h("div",{class:"",innerHTML:ee.length>100?ee.substring(0,100)+"...":ee})}})),O&&b.length>ae&&Object.assign(b[b.length-1],L(O,V.type))}),v.value.length>0&&b.push({id:"actions",enableHiding:!1,cell:({row:V})=>e.h("div",{class:"data-table-row-actions flex items-center justify-center gap-2"},v.value.map(O=>e.h(mt,{action:O,row:V})))}),b}),se=e.ref(""),re=e.ref([]),X=e.ref([]),z=e.ref({}),oe=e.ref({}),de=e.ref({}),A=e.ref(new Map);e.watch(le,b=>{const V=new Set(b.map(O=>O.id));X.value=X.value.filter(O=>V.has(O.id)),re.value=re.value.filter(O=>V.has(O.id))});const I=e.ref({pageIndex:0,pageSize:10});e.watch([p,J,f],()=>{const b=new Map;for(const V of p?.value??[])V&&typeof V=="object"&&b.set(V,te(V));A.value=b},{immediate:!0,deep:!0});const W=e.computed(()=>{const b=(d.value||[]).filter(V=>V.type==="progress");return b.length?(JSON.stringify(b.map(V=>V.progress)),b.some(V=>V.progress?.mode==="time")&&f.value,[...p?.value??[]]):p?.value??[]}),ie=e.reactive({get data(){return W.value},get columns(){return le.value},enableGlobalFilter:!0,autoResetPageIndex:!1,getGlobalFilter(){return se.value},onGlobalFilterChange(b){ge.valueUpdater(b,se)},globalFilterFn:(b,V,O)=>{const ae=F(O).trim();return ae?(A.value.get(b.original)??te(b.original)).includes(ae):!0},getCoreRowModel:Eo(),getPaginationRowModel:Io(),getSortedRowModel:Po(),getFilteredRowModel:Mo(),getFacetedRowModel:Fo(),getExpandedRowModel:Do(),onSortingChange:b=>ge.valueUpdater(b,re),onColumnFiltersChange:b=>ge.valueUpdater(b,X),onColumnVisibilityChange:b=>ge.valueUpdater(b,z),onRowSelectionChange:b=>ge.valueUpdater(b,oe),onExpandedChange:b=>ge.valueUpdater(b,de),onPaginationChange:b=>ge.valueUpdater(b,I),state:{get sorting(){return re.value},get columnFilters(){return X.value},get columnVisibility(){return{...z.value,...Object.fromEntries((d.value||[]).map(b=>[h.getTableColumnId(b),b.visible!==!1]))}},get rowSelection(){return oe.value},get expanded(){return de.value},get pagination(){return I.value},get globalFilter(){return se.value}}}),Q=Oo(ie);m&&(m.value=Q),e.watch(x,b=>{b?Se():I.value={pageIndex:me.value,pageSize:G.value}});const[pe,j]=i([],{plugins:[zt.animations()]}),G=e.ref(10),me=e.ref(0),Se=()=>{G.value=I.value.pageSize,me.value=I.value.pageIndex,I.value={pageIndex:0,pageSize:1e4},j.value=(p?.value??[]).slice().sort((b,V)=>{const O=b[B.value]??0,ae=V[B.value]??0;return O-ae}).map((b,V)=>({id:b.id,index:V,original:{...b,[B.value]:V},getVisibleCells:()=>m?.value?.getRowModel().rows?.find(O=>O.original.id===b.id)?.getVisibleCells()}))};return l({saveSortMode:async()=>{const{update:b}=ue.useFirebaseIntegration(c.value);p.value.forEach(V=>{V[B.value]!==j.value.findIndex(O=>O.id===V.id)&&(V[B.value]=j.value.findIndex(O=>O.id===V.id),b(g.value,V.id,{[B.value]:V[B.value]}))})}}),(b,V)=>{const O=e.resolveComponent("TableHead"),ae=e.resolveComponent("TableRow"),R=e.resolveComponent("TableHeader"),U=e.resolveComponent("TableCell"),ee=e.resolveComponent("TableBody"),ve=e.resolveComponent("Table");return e.openBlock(),e.createElementBlock(e.Fragment,null,[D.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($)}])},[e.unref(m).getRowModel().rows?.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(m).getRowModel().rows,ne=>(e.openBlock(),e.createElementBlock("div",{key:ne.id,"data-slot":"table-row",class:"flex items-center px-4 py-2.5 active:bg-muted/50 transition-colors",onClick:Y=>S(Y,ne.original)},[e.createElementVNode("div",pn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,Y=>(e.openBlock(),e.createElementBlock("div",{key:Y.id,class:"flex items-center gap-2 min-w-0"},[["date","datetime","progress","badge"].includes(Y.type)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",fn,e.toDisplayString(Y.label)+":",1),e.createVNode(h._sfc_main,{row:ne.original,column:Y},null,8,["row","column"])],64)):Y.type==="image"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",gn,e.toDisplayString(Y.label)+":",1),e.unref(h.resolveProperty)(ne.original,Y.property)?(e.openBlock(),e.createElementBlock("img",{key:0,src:e.unref(h.resolveProperty)(ne.original,Y.property),alt:Y.label,class:"size-10 object-cover rounded"},null,8,vn)):e.createCommentVNode("",!0)],64)):Y.type==="URL"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("span",xn,e.toDisplayString(Y.label)+":",1),e.createElementVNode("a",{href:e.unref(h.resolveProperty)(ne.original,Y.property),target:"_blank",class:"text-primary text-sm truncate",onClick:V[0]||(V[0]=e.withModifiers(()=>{},["stop"]))},e.toDisplayString(e.unref(h.resolveProperty)(ne.original,Y.property)),9,Cn)],64)):Y.type==="email"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("span",Vn,e.toDisplayString(Y.label)+":",1),e.createElementVNode("a",{href:`mailto:${e.unref(h.resolveProperty)(ne.original,Y.property)}`,class:"text-primary text-sm truncate",onClick:V[1]||(V[1]=e.withModifiers(()=>{},["stop"]))},e.toDisplayString(e.unref(h.resolveProperty)(ne.original,Y.property)),9,wn)],64)):Y.type==="phone"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createElementVNode("span",yn,e.toDisplayString(Y.label)+":",1),e.createElementVNode("a",{href:`tel:${e.unref(h.resolveProperty)(ne.original,Y.property)}`,class:"text-primary text-sm truncate",onClick:V[2]||(V[2]=e.withModifiers(()=>{},["stop"]))},e.toDisplayString(e.unref(h.resolveProperty)(ne.original,Y.property)),9,hn)],64)):Y.type==="array-counter"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[e.createElementVNode("span",Nn,e.toDisplayString(Y.label)+":",1),e.createVNode(H,{value:e.unref(h.resolveProperty)(ne.original,Y.property),"show-preview":Y.showArrayPreview!==!1},null,8,["value","show-preview"])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:6},[e.createElementVNode("span",Sn,e.toDisplayString(Y.label)+":",1),e.createElementVNode("span",bn,e.toDisplayString(E(e.unref(h.resolveProperty)(ne.original,Y.property),Y)),1)],64))]))),128))]),e.createVNode(e.unref(Z.ChevronRight),{class:"size-4 text-muted-foreground/50 shrink-0 ml-2"}),e.unref(v).length>0?(e.openBlock(),e.createElementBlock("div",kn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),Y=>(e.openBlock(),e.createBlock(mt,{key:Y.id,action:Y,row:ne},null,8,["action","row"]))),128))])):e.createCommentVNode("",!0)],8,mn))),128)):(e.openBlock(),e.createElementBlock("div",_n," 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($)},D.value.length>0?"hidden @md:block":""]])},[e.createVNode(ve,null,{default:e.withCtx(()=>[e.createVNode(R,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m).getHeaderGroups(),ne=>(e.openBlock(),e.createBlock(ae,{key:ne.id},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ne.headers,Y=>(e.openBlock(),e.createBlock(O,{key:Y.id},{default:e.withCtx(()=>[Y.isPlaceholder?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(dt),{key:0,render:Y.column.columnDef.header,props:Y.getContext()},null,8,["render","props"])),e.unref(d)?.find(Ve=>e.unref(h.getTableColumnId)(Ve)===Y.column.columnDef.id)?.showInfoButton?(e.openBlock(),e.createBlock(e.unref(n),{key:1},{default:e.withCtx(()=>[e.createVNode(e.unref(u),{"as-child":""},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.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(d)?.find(Ve=>e.unref(h.getTableColumnId)(Ve)===Y.column.columnDef.id)?.infoTooltipText),1)]),_:2},1024)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1024))),128))]),_:2},1024))),128))]),_:1}),e.createVNode(ee,{ref_key:"dragContainer",ref:pe},{default:e.withCtx(()=>[e.unref(m).getRowModel().rows?.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(x)?e.unref(j):e.unref(m).getRowModel().rows,(ne,Y)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:ne.id},[e.createVNode(ae,{"data-state":!e.unref(x)&&ne.getIsSelected()&&"selected",class:"group/row",onClick:Ve=>e.unref(M).onRowClick(Ve,ne.original)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ne.getVisibleCells(),Ve=>(e.openBlock(),e.createBlock(U,{key:Ve.id},{default:e.withCtx(()=>[e.unref(x)&&Ve.column.id===e.unref(B)?(e.openBlock(),e.createElementBlock("span",$n,e.toDisplayString(Y),1)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(x)?"opacity-50 group-hover/row:opacity-100":"")},[e.createVNode(e.unref(dt),{render:Ve.column.columnDef.cell,props:Ve.getContext()},null,8,["render","props"])],2))]),_:2},1024))),128))]),_:2},1032,["data-state","onClick"]),!e.unref(x)&&ne.getIsExpanded()?(e.openBlock(),e.createBlock(ae,{key:0},{default:e.withCtx(()=>[e.createVNode(U,{colspan:ne.getAllCells().length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(JSON.stringify(ne.original)),1)]),_:2},1032,["colspan"])]),_:2},1024)):e.createCommentVNode("",!0)],64))),128)):(e.openBlock(),e.createBlock(ae,{key:1},{default:e.withCtx(()=>[e.createVNode(U,{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(Yo,{table:e.unref(m)},null,8,["table"]),e.createVNode(cn,{ref_key:"mobileActionDrawer",ref:M},null,512)],64)}}}),En={class:"inline-flex items-center gap-2 capitalize"},be=e.defineComponent({__name:"ColumnColorSelect",props:{id:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:l}){const o=l,r=["neutral","blue","green","amber","red","purple"],n={neutral:"bg-slate-500",blue:"bg-blue-500",green:"bg-green-500",amber:"bg-amber-500",red:"bg-red-500",purple:"bg-purple-500"};return(a,u)=>{const i=e.resolveComponent("SelectValue"),s=e.resolveComponent("SelectTrigger"),c=e.resolveComponent("SelectItem"),g=e.resolveComponent("SelectContent"),m=e.resolveComponent("Select");return e.openBlock(),e.createBlock(m,{"model-value":t.modelValue||"neutral","onUpdate:modelValue":u[0]||(u[0]=p=>o("update:modelValue",p))},{default:e.withCtx(()=>[e.createVNode(s,{id:t.id,class:"w-full"},{default:e.withCtx(()=>[e.createVNode(i)]),_:1},8,["id"]),e.createVNode(g,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,p=>e.createVNode(c,{key:p,value:p},{default:e.withCtx(()=>[e.createElementVNode("span",En,[e.createElementVNode("span",{class:e.normalizeClass([n[p],"size-2.5 rounded-full"]),"aria-hidden":"true"},null,2),e.createTextVNode(e.toDisplayString(p),1)])]),_:2},1032,["value"])),64))]),_:1})]),_:1},8,["model-value"])}}}),Dn=["disabled","inert"],Rn={class:"grid grid-cols-1 sm:grid-cols-3 gap-2 mb-2 py-2"},Tn={class:"flex flex-col items-start gap-1.5"},Fn={class:"flex flex-col items-start gap-1.5"},Mn={class:"flex flex-col gap-1.5"},In={class:"grid grid-cols-1 sm:grid-cols-3 gap-2 mb-2"},Pn={class:"flex flex-col items-start gap-1.5"},An={class:"flex flex-col items-start gap-1.5"},Ln={class:"flex flex-col items-start gap-1.5"},On={key:0,class:"flex flex-col gap-2 mb-4"},Un={class:"flex flex-col gap-1.5"},zn={class:"flex flex-col items-start gap-1.5 sm:col-span-4"},Hn={class:"flex flex-col items-start gap-1.5 sm:col-span-4"},jn=["id"],Gn={key:0,role:"alert",class:"text-sm text-destructive"},qn=e.defineComponent({__name:"StatDialog",props:{saveStat:{type:Function},removeStat:{type:Function}},setup(t,{expose:l}){const o=t,r=e.inject("columns"),n=e.ref(!1),a=e.ref(!1),u=e.ref(""),i=e.ref("add"),s=e.ref(null),c=e.reactive({label:"",method:"",field:"",prefix:"",suffix:"",color:"neutral",conditions:[]}),g=C=>{a.value||(i.value=C?"edit":"add",s.value=C??null,c.label=C?.label??"",c.method=C?.method??"",c.field=C?.field??"",c.prefix=C?.prefix??"",c.suffix=C?.suffix??"",c.color=C?.color??"neutral",c.conditions=(C?.conditions??[]).map(v=>({...v,valueSource:v.valueSource==="now"?"now":"fixed",condition:v.valueSource==="now"&&v.condition==="in"?"<":v.condition})),u.value="",n.value=!0)},m=()=>{let C=crypto.randomUUID();c.conditions.push({id:C,field:"",condition:"==",value:"",valueSource:"fixed"})},p=(C,v)=>{C.valueSource=v==="now"?"now":"fixed",C.valueSource==="now"&&C.condition==="in"&&(C.condition="<")},d=C=>{c.conditions=c.conditions.filter(v=>v.id!==C)},f=async()=>{if(!a.value){a.value=!0,u.value="";try{await o.saveStat({...s.value,...c,conditions:c.conditions.map(C=>({...C}))}),n.value=!1}catch(C){u.value=C instanceof Error&&C.message?C.message:"Unable to save this stat. Please try again."}finally{a.value=!1}}},x=async()=>{if(!(a.value||!s.value?.id)){a.value=!0,u.value="";try{await o.removeStat(s.value.id),n.value=!1}catch(C){u.value=C instanceof Error&&C.message?C.message:"Unable to remove this stat. Please try again."}finally{a.value=!1}}},B=C=>{a.value||(n.value=C)};return l({openDialog:g}),(C,v)=>{const $=e.resolveComponent("DialogTitle"),M=e.resolveComponent("DialogDescription"),D=e.resolveComponent("DialogHeader"),k=e.resolveComponent("Label"),w=e.resolveComponent("Input"),_=e.resolveComponent("SelectValue"),P=e.resolveComponent("SelectTrigger"),T=e.resolveComponent("SelectItem"),N=e.resolveComponent("SelectContent"),H=e.resolveComponent("Select"),E=e.resolveComponent("ComboboxTrigger"),S=e.resolveComponent("ComboboxInput"),F=e.resolveComponent("ComboboxAnchor"),y=e.resolveComponent("ComboboxItem"),L=e.resolveComponent("ComboboxGroup"),J=e.resolveComponent("ComboboxList"),te=e.resolveComponent("Combobox"),le=e.resolveComponent("Button"),se=e.resolveComponent("DialogFooter"),re=e.resolveComponent("DialogScrollContent"),X=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(X,{open:n.value,"onUpdate:open":B},{default:e.withCtx(()=>[e.createVNode(re,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(D,null,{default:e.withCtx(()=>[e.createVNode($,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value==="add"?"Add Stat":"Edit Stat"),1)]),_:1}),e.createVNode(M,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value==="add"?"Add a new stat for this table.":"Edit the selected stat."),1)]),_:1})]),_:1}),e.createElementVNode("fieldset",{class:"contents",disabled:a.value,inert:a.value},[e.createElementVNode("div",Rn,[e.createElementVNode("div",Tn,[e.createVNode(k,{for:"stat_dialog_label",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...v[7]||(v[7]=[e.createTextVNode("Label",-1)])]),_:1}),e.createVNode(w,{id:"stat_dialog_label",modelValue:c.label,"onUpdate:modelValue":v[0]||(v[0]=z=>c.label=z)},null,8,["modelValue"])]),e.createElementVNode("div",Fn,[e.createVNode(k,{for:"stat_dialog_method",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...v[8]||(v[8]=[e.createTextVNode("Method",-1)])]),_:1}),e.createVNode(H,{modelValue:c.method,"onUpdate:modelValue":v[1]||(v[1]=z=>c.method=z)},{default:e.withCtx(()=>[e.createVNode(P,{id:"stat_dialog_method",class:"w-full"},{default:e.withCtx(()=>[e.createVNode(_,{placeholder:"Select a method"})]),_:1}),e.createVNode(N,null,{default:e.withCtx(()=>[e.createVNode(T,{value:"count"},{default:e.withCtx(()=>[...v[9]||(v[9]=[e.createTextVNode("Row count",-1)])]),_:1}),e.createVNode(T,{value:"sum"},{default:e.withCtx(()=>[...v[10]||(v[10]=[e.createTextVNode("Sum",-1)])]),_:1}),e.createVNode(T,{value:"average"},{default:e.withCtx(()=>[...v[11]||(v[11]=[e.createTextVNode("Average",-1)])]),_:1}),e.createVNode(T,{value:"min"},{default:e.withCtx(()=>[...v[12]||(v[12]=[e.createTextVNode("Min (lowest value)",-1)])]),_:1}),e.createVNode(T,{value:"max"},{default:e.withCtx(()=>[...v[13]||(v[13]=[e.createTextVNode("Max (highest value)",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),c.method!=="count"?(e.openBlock(),e.createBlock(te,{key:0,by:"label",class:"w-full",resetSearchTermOnBlur:!1,resetSearchTermOnSelect:!0,modelValue:c.field,"onUpdate:modelValue":v[3]||(v[3]=z=>c.field=z)},{default:e.withCtx(()=>[e.createVNode(F,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",Mn,[e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(k,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...v[14]||(v[14]=[e.createTextVNode("Field",-1)])]),_:1})]),_:1}),e.createVNode(S,{modelValue:c.field,"onUpdate:modelValue":v[2]||(v[2]=z=>c.field=z),hideIcon:"",class:"w-full"},null,8,["modelValue"])])]),_:1}),e.createVNode(J,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(L,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),z=>(e.openBlock(),e.createBlock(y,{key:z.property,value:z.property,onSelect:()=>{c.field=z.property}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(z.property)+" ",1),c.field===z.property?(e.openBlock(),e.createBlock(e.unref(Z.Check),{key:0,class:e.normalizeClass(e.unref(ge.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",In,[e.createElementVNode("div",Pn,[e.createVNode(k,{for:"stat_dialog_prefix",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...v[15]||(v[15]=[e.createTextVNode("Number prefix",-1)])]),_:1}),e.createVNode(w,{id:"stat_dialog_prefix",modelValue:c.prefix,"onUpdate:modelValue":v[4]||(v[4]=z=>c.prefix=z),placeholder:"e.g. $"},null,8,["modelValue"])]),e.createElementVNode("div",An,[e.createVNode(k,{for:"stat_dialog_suffix",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...v[16]||(v[16]=[e.createTextVNode("Number suffix",-1)])]),_:1}),e.createVNode(w,{id:"stat_dialog_suffix",modelValue:c.suffix,"onUpdate:modelValue":v[5]||(v[5]=z=>c.suffix=z),placeholder:"e.g. %"},null,8,["modelValue"])]),e.createElementVNode("div",Ln,[e.createVNode(k,{for:"stat_dialog_color",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...v[17]||(v[17]=[e.createTextVNode("Number color",-1)])]),_:1}),e.createVNode(be,{id:"stat_dialog_color",modelValue:c.color,"onUpdate:modelValue":v[6]||(v[6]=z=>c.color=z)},null,8,["modelValue"])])]),e.createElementVNode("div",null,[e.createVNode(k,{class:"mb-1"},{default:e.withCtx(()=>[...v[18]||(v[18]=[e.createTextVNode("Conditions",-1)])]),_:1}),v[33]||(v[33]=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)),c.conditions?.length>0?(e.openBlock(),e.createElementBlock("div",On,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.conditions,z=>(e.openBlock(),e.createElementBlock("div",{key:z.id,class:"grid grid-cols-1 sm:grid-cols-13 gap-2"},[e.createVNode(te,{by:"label",class:"sm:col-span-4",resetSearchTermOnBlur:!1,resetSearchTermOnSelect:!0,modelValue:z.field,"onUpdate:modelValue":oe=>z.field=oe},{default:e.withCtx(()=>[e.createVNode(F,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",Un,[e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(k,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...v[19]||(v[19]=[e.createTextVNode("Field",-1)])]),_:1})]),_:1}),e.createVNode(S,{modelValue:z.field,"onUpdate:modelValue":oe=>z.field=oe,hideIcon:"",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])])]),_:2},1024),e.createVNode(J,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(L,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),oe=>(e.openBlock(),e.createBlock(y,{key:oe.property,value:oe.property,onSelect:()=>{z.field=oe.property}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(oe.property)+" ",1),z.field===oe.property?(e.openBlock(),e.createBlock(e.unref(Z.Check),{key:0,class:e.normalizeClass(e.unref(ge.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",zn,[e.createVNode(k,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...v[20]||(v[20]=[e.createTextVNode("Condition",-1)])]),_:1}),e.createVNode(H,{modelValue:z.condition,"onUpdate:modelValue":oe=>z.condition=oe},{default:e.withCtx(()=>[e.createVNode(P,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(_,{placeholder:"Select a condition"})]),_:1}),e.createVNode(N,null,{default:e.withCtx(()=>[e.createVNode(T,{value:"=="},{default:e.withCtx(()=>[...v[21]||(v[21]=[e.createTextVNode("(==) Is equal to",-1)])]),_:1}),e.createVNode(T,{value:"!="},{default:e.withCtx(()=>[...v[22]||(v[22]=[e.createTextVNode("(!=) Is not equal to",-1)])]),_:1}),e.createVNode(T,{value:">"},{default:e.withCtx(()=>[...v[23]||(v[23]=[e.createTextVNode("(>) Is greater than",-1)])]),_:1}),e.createVNode(T,{value:"<"},{default:e.withCtx(()=>[...v[24]||(v[24]=[e.createTextVNode("(<) Is less than",-1)])]),_:1}),e.createVNode(T,{value:">="},{default:e.withCtx(()=>[...v[25]||(v[25]=[e.createTextVNode("(>=) Is greater than or equal to",-1)])]),_:1}),e.createVNode(T,{value:"<="},{default:e.withCtx(()=>[...v[26]||(v[26]=[e.createTextVNode("(<=) Is less than or equal to",-1)])]),_:1}),e.createVNode(T,{value:"in",disabled:z.valueSource==="now"},{default:e.withCtx(()=>[...v[27]||(v[27]=[e.createTextVNode("(in) Equal to any of the following",-1)])]),_:1},8,["disabled"])]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",Hn,[e.createVNode(k,{class:"text-xs text-muted-foreground",for:z.id+"_value_source"},{default:e.withCtx(()=>[...v[28]||(v[28]=[e.createTextVNode("Value source",-1)])]),_:1},8,["for"]),e.createVNode(H,{"model-value":z.valueSource||"fixed","onUpdate:modelValue":oe=>p(z,oe)},{default:e.withCtx(()=>[e.createVNode(P,{id:z.id+"_value_source",class:"w-full","aria-describedby":z.valueSource==="now"?z.id+"_value_help":void 0},{default:e.withCtx(()=>[e.createVNode(_)]),_:1},8,["id","aria-describedby"]),e.createVNode(N,null,{default:e.withCtx(()=>[e.createVNode(T,{value:"fixed"},{default:e.withCtx(()=>[...v[29]||(v[29]=[e.createTextVNode("Fixed value",-1)])]),_:1}),e.createVNode(T,{value:"now"},{default:e.withCtx(()=>[...v[30]||(v[30]=[e.createTextVNode("Current time",-1)])]),_:1})]),_:1})]),_:2},1032,["model-value","onUpdate:modelValue"]),z.valueSource==="now"?(e.openBlock(),e.createElementBlock("p",{key:0,id:z.id+"_value_help",class:"text-xs text-muted-foreground"}," Updates automatically. Use < for expired dates. ",8,jn)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(k,{class:"text-xs text-muted-foreground",for:z.id+"_value"},{default:e.withCtx(()=>[...v[31]||(v[31]=[e.createTextVNode("Value",-1)])]),_:1},8,["for"]),e.createVNode(w,{modelValue:z.value,"onUpdate:modelValue":oe=>z.value=oe,class:"w-full",id:z.id+"_value"},null,8,["modelValue","onUpdate:modelValue","id"])],64))]),e.createVNode(le,{variant:"ghost",size:"icon",class:"rounded-xl self-end col-span-1","aria-label":"Remove condition",onClick:oe=>d(z.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.Trash2),{class:"size-4"})]),_:1},8,["onClick"])]))),128))])):e.createCommentVNode("",!0),e.createVNode(le,{variant:"outline",onClick:m},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.Plus),{class:"size-4"}),v[32]||(v[32]=e.createTextVNode(" Add Condition ",-1))]),_:1})])],8,Dn),u.value?(e.openBlock(),e.createElementBlock("p",Gn,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0),e.createVNode(se,null,{default:e.withCtx(()=>[i.value==="edit"?(e.openBlock(),e.createBlock(le,{key:0,variant:"destructive",onClick:x,disabled:a.value},{default:e.withCtx(()=>[...v[34]||(v[34]=[e.createTextVNode(" Remove Stat ",-1)])]),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(le,{onClick:f,disabled:a.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value?"Please wait…":i.value==="add"?"Add Stat":"Save changes"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}});function Kn(t,l,o){if(l.valueSource==="now"){const n=h.tableTimestamp(h.resolveProperty(t,l.field));if(n===null||!Number.isFinite(o))return!1;switch(l.condition){case"==":return n===o;case"!=":return n!==o;case">":return n>o;case">=":return n>=o;case"<":return n<o;case"<=":return n<=o;default:return!1}}const r=t[l.field];switch(l.condition){case"==":return l.value?.split(",").indexOf(r)!=-1;case"!=":return l.value?.split(",").indexOf(r)==-1;case">":return r>l.value;case">=":return r>=l.value;case"<":return r<l.value;case"<=":return r<=l.value;case"in":return l.value?.indexOf(String(r))!=-1;default:return!0}}function Yn(t,l,o=Date.now()){return Array.isArray(l)?t.filter(r=>l.every(n=>Kn(r,n,o))):[...t]}const Xn={class:"stats-grid w-full gap-3 mb-4"},Jn={class:"w-full text-sm text-muted-foreground [overflow-wrap:anywhere]"},Wn=e.defineComponent({__name:"Stats",setup(t){const l=e.inject("data",e.ref([])),o=h.provideTableClock(),{isAdmin:r}=ue.useModulePermissions(),{getModuleData:n,setModuleData:a}=ue.useModuleStorage(),u=e.ref(),i=e.ref([]),s=async D=>{const k=D.id?i.value.map(w=>w.id===D.id?D:w):[...i.value,{...D,id:crypto.randomUUID()}];await a("stats",k),i.value=k},c=async D=>{const k=i.value.filter(w=>w.id!==D);await a("stats",k),i.value=k},g={neutral:"text-foreground",blue:"text-blue-600 dark:text-blue-400",green:"text-emerald-600 dark:text-emerald-400",amber:"text-amber-700 dark:text-amber-400",red:"text-red-600 dark:text-red-400",purple:"text-purple-600 dark:text-purple-400"},m=D=>{switch(D.method){case"count":return f(D.conditions);case"sum":return x(D.field,D.conditions);case"average":return B(D.field,D.conditions);case"min":return C(D.field,D.conditions);case"max":return v(D.field,D.conditions);default:return""}},p=D=>{const k=parseFloat(String(D));if(Number.isFinite(k)){let w=k.toFixed(2).split(".");return w[0]=w[0].replace(/\B(?=(\d{3})+(?!\d))/g," "),!w[1]||w[1]=="00"?w[0]:w.join(".")}return"..."},d=D=>{const k=l?.value?.length>0?p(m(D)):"...";return k==="..."?k:`${D.prefix??""}${k}${D.suffix??""}`},f=D=>M(D)?.length,x=(D,k)=>{let w=0;return M(k).forEach(_=>{w+=parseFloat($(_,D))?parseFloat(String($(_,D)).replace(",",".")):$(_,D)===!0?1:0}),w.toFixed(2).slice(-2)=="00"?w.toFixed(0):w.toFixed(2)},B=(D,k)=>{let w=0,_=0;if(M(k).forEach(P=>{parseFloat($(P,D))&&(w+=parseFloat(String($(P,D)).replace(",",".")),_+=1)}),_>0){const P=w/_;return P.toFixed(2).slice(-2)=="00"?P.toFixed(0):P.toFixed(2)}return"..."},C=(D,k)=>{const w=M(k);if(!w.length)return"...";let _=$(w[0],D);return w.forEach(P=>{$(P,D)<_&&(_=$(P,D))}),_},v=(D,k)=>{const w=M(k);if(!w.length)return"...";let _=$(w[0],D);return w.forEach(P=>{parseFloat($(P,D))&&$(P,D)>_&&(_=$(P,D))}),parseFloat(String(_).replace(",",".")).toFixed(2)},$=(D,k)=>{if(!D||!k)return;const[w,..._]=k.split(".");return _?.length?$(D[w],_.join(".")):D[k]??""},M=D=>Yn(l.value,D,o.value);return e.onMounted(async()=>{i.value=await n("stats")||[]}),(D,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Xn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,w=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(r)()?"button":"div"),{key:w.id,type:e.unref(r)()?"button":void 0,"aria-label":e.unref(r)()?`Edit stat: ${w.label}`:void 0,class:e.normalizeClass(["flex min-h-22 min-w-0 flex-col items-start justify-center gap-1 rounded-lg border bg-muted/30 p-4 text-left",e.unref(r)()?"cursor-pointer hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring":""]),onClick:_=>e.unref(r)()?u.value.openDialog(w):null},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(["w-full text-2xl font-bold leading-tight tabular-nums [overflow-wrap:anywhere]",g[w.color]||g.neutral])},e.toDisplayString(d(w)),3),e.createElementVNode("span",Jn,e.toDisplayString(w.label),1)]),_:2},1032,["type","aria-label","class","onClick"]))),128)),e.unref(r)()?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"flex min-h-22 min-w-0 items-center justify-center gap-2 rounded-lg border border-dashed p-4 text-sm text-muted-foreground hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:k[0]||(k[0]=w=>u.value.openDialog())},[e.createVNode(e.unref(Z.Plus),{class:"size-4 text-primary","aria-hidden":"true"}),k[1]||(k[1]=e.createTextVNode(" Add stat ",-1))])):e.createCommentVNode("",!0)]),e.createVNode(qn,{ref_key:"statDialog",ref:u,"save-stat":s,"remove-stat":c},null,512)],64))}}),Zn=vt._export_sfc(Wn,[["__scopeId","data-v-f389f5ac"]]),$t=e.defineComponent({inheritAttrs:!1,__name:"ColumnTypeSelect",props:{id:{},modelValue:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:l}){const o=l,r=[["text","Text"],["number","Number"],["date","Date"],["datetime","Datetime"],["progress","Progress"],["badge","Badge"],["boolean","Boolean"],["URL","URL"],["email","Email"],["phone","Phone"],["currency","Currency"],["image","Image"],["array","Array"],["array-counter","Array counter"],["html","HTML (innerText)"]];return(n,a)=>{const u=e.resolveComponent("SelectValue"),i=e.resolveComponent("SelectTrigger"),s=e.resolveComponent("SelectLabel"),c=e.resolveComponent("SelectItem"),g=e.resolveComponent("SelectGroup"),m=e.resolveComponent("SelectContent"),p=e.resolveComponent("Select");return e.openBlock(),e.createBlock(p,{"model-value":t.modelValue,disabled:t.disabled,"onUpdate:modelValue":a[0]||(a[0]=d=>o("update:modelValue",String(d)))},{default:e.withCtx(()=>[e.createVNode(i,e.mergeProps(n.$attrs,{id:t.id,class:"w-full"}),{default:e.withCtx(()=>[e.createVNode(u,{placeholder:"Select a type"})]),_:1},16,["id"]),e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Types",-1)])]),_:1}),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,([d,f])=>e.createVNode(c,{key:d,value:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f),1)]),_:2},1032,["value"])),64))]),_:1})]),_:1})]),_:1},8,["model-value","disabled"])}}}),Qn={class:"grid gap-2"},el={class:"mb-2 text-sm font-medium"},tl={class:"grid grid-cols-1 gap-2 sm:grid-cols-[140px_minmax(0,1fr)]"},ol={key:0},nl=["id"],ll=["value"],rl={key:1},al={key:0,class:"text-xs text-muted-foreground"},il={key:1,class:"text-xs text-muted-foreground"},$e=e.defineComponent({__name:"ColumnValueSourceInput",props:{id:{},label:{},modelValue:{},fields:{},valueType:{},allowArrayCount:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:l}){const o=t,r=l;function n(u){r("update:modelValue",u==="fixed"?{kind:u,value:o.valueType==="date"?"":void 0}:{kind:u,property:o.modelValue.property||""})}function a(u){const i=o.valueType==="date"||u===""?u:Number(u);r("update:modelValue",{...o.modelValue,value:i})}return(u,i)=>{const s=e.resolveComponent("Label"),c=e.resolveComponent("SelectValue"),g=e.resolveComponent("SelectTrigger"),m=e.resolveComponent("SelectItem"),p=e.resolveComponent("SelectContent"),d=e.resolveComponent("Select"),f=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("fieldset",Qn,[e.createElementVNode("legend",el,e.toDisplayString(t.label),1),e.createElementVNode("div",tl,[e.createElementVNode("div",null,[e.createVNode(s,{for:`${t.id}-source`,class:"sr-only"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label)+" source",1)]),_:1},8,["for"]),e.createVNode(d,{"model-value":t.modelValue.kind,"onUpdate:modelValue":i[0]||(i[0]=x=>n(x))},{default:e.withCtx(()=>[e.createVNode(g,{id:`${t.id}-source`,class:"w-full"},{default:e.withCtx(()=>[e.createVNode(c)]),_:1},8,["id"]),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(m,{value:"field"},{default:e.withCtx(()=>[...i[3]||(i[3]=[e.createTextVNode("Row field",-1)])]),_:1}),e.createVNode(m,{value:"fixed"},{default:e.withCtx(()=>[...i[4]||(i[4]=[e.createTextVNode("Fixed value",-1)])]),_:1}),t.allowArrayCount?(e.openBlock(),e.createBlock(m,{key:0,value:"array-count"},{default:e.withCtx(()=>[...i[5]||(i[5]=[e.createTextVNode("Array length",-1)])]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["model-value"])]),t.modelValue.kind!=="fixed"?(e.openBlock(),e.createElementBlock("div",ol,[e.createVNode(s,{for:`${t.id}-property`,class:"sr-only"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label)+" field",1)]),_:1},8,["for"]),e.createVNode(f,{id:`${t.id}-property`,"model-value":t.modelValue.property||"",list:`${t.id}-fields`,placeholder:"e.g. booking.requiredCount","onUpdate:modelValue":i[1]||(i[1]=x=>r("update:modelValue",{...t.modelValue,property:String(x)}))},null,8,["id","model-value","list"]),e.createElementVNode("datalist",{id:`${t.id}-fields`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,x=>(e.openBlock(),e.createElementBlock("option",{key:x,value:x},null,8,ll))),128))],8,nl)])):(e.openBlock(),e.createElementBlock("div",rl,[e.createVNode(s,{for:`${t.id}-value`,class:"sr-only"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label)+" fixed value",1)]),_:1},8,["for"]),e.createVNode(f,{id:`${t.id}-value`,type:t.valueType==="date"?"text":"number",step:t.valueType==="date"?void 0:"any","model-value":t.modelValue.value??"",placeholder:t.valueType==="date"?"2026-09-29T08:00:00+02:00":"Enter a number","onUpdate:modelValue":i[2]||(i[2]=x=>a(x))},null,8,["id","type","step","model-value","placeholder"])]))]),t.modelValue.kind==="array-count"?(e.openBlock(),e.createElementBlock("p",al,"Counts all items in this row's array. Use a numeric field for a filtered count.")):e.createCommentVNode("",!0),t.modelValue.kind==="fixed"&&t.valueType==="date"?(e.openBlock(),e.createElementBlock("p",il,"Use an ISO date and time, including its timezone offset (for example +02:00 or Z).")):e.createCommentVNode("",!0)])}}}),sl={class:"grid gap-5"},ul={class:"grid gap-2"},dl={class:"grid gap-2"},cl={class:"grid gap-2"},ml={class:"grid gap-2"},pl=["id"],fl=["value"],gl={class:"grid gap-4 sm:grid-cols-2"},vl={class:"grid gap-2"},xl={class:"grid gap-2"},Cl={class:"flex items-center gap-2"},Vl={class:"grid gap-4 border-t pt-4"},wl={class:"grid gap-2"},yl={key:0,class:"grid gap-2"},hl={class:"text-xs text-muted-foreground"},Nl={class:"grid gap-1"},Sl={class:"grid gap-1"},bl={key:1,class:"grid gap-4 sm:grid-cols-2"},kl={class:"grid gap-2"},_l={class:"grid gap-2"},$l=e.defineComponent({__name:"ProgressColumnSettings",props:{id:{},settings:{},fields:{}},setup(t){const l=t;e.watch(()=>l.settings.mode,r=>{const n=l.settings;n.thresholds??=[],n.showBar??=!0,n.color??="blue",n.thresholdMetric??="percent",r==="numeric"?(n.current??={kind:"field",property:""},n.target??={kind:"field",property:""},["ratio","percentage"].includes(n.display||"")||(n.display="ratio"),["current","percentage"].includes(n.sortBy||"")||(n.sortBy="current"),n.thresholdMetric==="remaining"&&(n.thresholds=[]),n.thresholdMetric="percent"):(n.start??={kind:"field",property:"createdAt"},n.endMode??="duration",n.deadline??={kind:"field",property:""},n.duration??={kind:"fixed",value:24},n.durationUnit??="hours",["remaining","elapsed","percentage"].includes(n.display||"")||(n.display="remaining"),["remaining","deadline","percentage"].includes(n.sortBy||"")||(n.sortBy="remaining"),n.completedColor??="green",n.overdueColor??="red")},{immediate:!0});function o(r){l.settings.thresholdMetric=r,l.settings.thresholds=[]}return(r,n)=>{const a=e.resolveComponent("Label"),u=e.resolveComponent("SelectValue"),i=e.resolveComponent("SelectTrigger"),s=e.resolveComponent("SelectItem"),c=e.resolveComponent("SelectContent"),g=e.resolveComponent("Select"),m=e.resolveComponent("Input"),p=e.resolveComponent("Checkbox"),d=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",sl,[e.createElementVNode("div",ul,[e.createVNode(a,{for:`${t.id}-mode`},{default:e.withCtx(()=>[...n[17]||(n[17]=[e.createTextVNode("Progress mode",-1)])]),_:1},8,["for"]),e.createVNode(g,{modelValue:t.settings.mode,"onUpdate:modelValue":n[0]||(n[0]=f=>t.settings.mode=f)},{default:e.withCtx(()=>[e.createVNode(i,{id:`${t.id}-mode`},{default:e.withCtx(()=>[e.createVNode(u)]),_:1},8,["id"]),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(s,{value:"numeric"},{default:e.withCtx(()=>[...n[18]||(n[18]=[e.createTextVNode("Numeric — current / target",-1)])]),_:1}),e.createVNode(s,{value:"time"},{default:e.withCtx(()=>[...n[19]||(n[19]=[e.createTextVNode("Time — start to deadline",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),t.settings.mode==="numeric"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode($e,{id:`${t.id}-current`,label:"Current value",modelValue:t.settings.current,"onUpdate:modelValue":n[1]||(n[1]=f=>t.settings.current=f),fields:t.fields,"allow-array-count":""},null,8,["id","modelValue","fields"]),e.createVNode($e,{id:`${t.id}-target`,label:"Target",modelValue:t.settings.target,"onUpdate:modelValue":n[2]||(n[2]=f=>t.settings.target=f),fields:t.fields,"allow-array-count":""},null,8,["id","modelValue","fields"]),n[20]||(n[20]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Each row can have a different target. Values above the target stay visible; the bar stops at 100%. A missing or zero target has no percentage.",-1))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode($e,{id:`${t.id}-start`,label:"Start",modelValue:t.settings.start,"onUpdate:modelValue":n[3]||(n[3]=f=>t.settings.start=f),fields:t.fields,"value-type":"date"},null,8,["id","modelValue","fields"]),e.createElementVNode("div",dl,[e.createVNode(a,{for:`${t.id}-end-mode`},{default:e.withCtx(()=>[...n[21]||(n[21]=[e.createTextVNode("End of the time window",-1)])]),_:1},8,["for"]),e.createVNode(g,{modelValue:t.settings.endMode,"onUpdate:modelValue":n[4]||(n[4]=f=>t.settings.endMode=f)},{default:e.withCtx(()=>[e.createVNode(i,{id:`${t.id}-end-mode`},{default:e.withCtx(()=>[e.createVNode(u)]),_:1},8,["id"]),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(s,{value:"duration"},{default:e.withCtx(()=>[...n[22]||(n[22]=[e.createTextVNode("Start + duration",-1)])]),_:1}),e.createVNode(s,{value:"deadline"},{default:e.withCtx(()=>[...n[23]||(n[23]=[e.createTextVNode("Deadline",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),t.settings.endMode==="deadline"?(e.openBlock(),e.createBlock($e,{key:0,id:`${t.id}-deadline`,label:"Deadline",modelValue:t.settings.deadline,"onUpdate:modelValue":n[5]||(n[5]=f=>t.settings.deadline=f),fields:t.fields,"value-type":"date"},null,8,["id","modelValue","fields"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode($e,{id:`${t.id}-duration`,label:"Duration",modelValue:t.settings.duration,"onUpdate:modelValue":n[6]||(n[6]=f=>t.settings.duration=f),fields:t.fields},null,8,["id","modelValue","fields"]),e.createElementVNode("div",cl,[e.createVNode(a,{for:`${t.id}-unit`},{default:e.withCtx(()=>[...n[24]||(n[24]=[e.createTextVNode("Duration unit",-1)])]),_:1},8,["for"]),e.createVNode(g,{modelValue:t.settings.durationUnit,"onUpdate:modelValue":n[7]||(n[7]=f=>t.settings.durationUnit=f)},{default:e.withCtx(()=>[e.createVNode(i,{id:`${t.id}-unit`},{default:e.withCtx(()=>[e.createVNode(u)]),_:1},8,["id"]),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(s,{value:"minutes"},{default:e.withCtx(()=>[...n[25]||(n[25]=[e.createTextVNode("Minutes",-1)])]),_:1}),e.createVNode(s,{value:"hours"},{default:e.withCtx(()=>[...n[26]||(n[26]=[e.createTextVNode("Hours",-1)])]),_:1}),e.createVNode(s,{value:"days"},{default:e.withCtx(()=>[...n[27]||(n[27]=[e.createTextVNode("Days (24 hours)",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])],64)),e.createElementVNode("div",ml,[e.createVNode(a,{for:`${t.id}-completed`},{default:e.withCtx(()=>[...n[28]||(n[28]=[e.createTextVNode("Completion timestamp field (optional)",-1)])]),_:1},8,["for"]),e.createVNode(m,{id:`${t.id}-completed`,modelValue:t.settings.completedAt,"onUpdate:modelValue":n[8]||(n[8]=f=>t.settings.completedAt=f),list:`${t.id}-fields`,placeholder:"e.g. firstResponseAt"},null,8,["id","modelValue","list"]),e.createElementVNode("datalist",{id:`${t.id}-fields`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,f=>(e.openBlock(),e.createElementBlock("option",{key:f,value:f},null,8,fl))),128))],8,pl),n[29]||(n[29]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Stops the timer at this timestamp and shows whether completion was on time or late. Leave empty for a timer that keeps running.",-1))])],64)),e.createElementVNode("div",gl,[e.createElementVNode("div",vl,[e.createVNode(a,{for:`${t.id}-display`},{default:e.withCtx(()=>[...n[30]||(n[30]=[e.createTextVNode("Label",-1)])]),_:1},8,["for"]),e.createVNode(g,{modelValue:t.settings.display,"onUpdate:modelValue":n[9]||(n[9]=f=>t.settings.display=f)},{default:e.withCtx(()=>[e.createVNode(i,{id:`${t.id}-display`},{default:e.withCtx(()=>[e.createVNode(u)]),_:1},8,["id"]),e.createVNode(c,null,{default:e.withCtx(()=>[t.settings.mode==="numeric"?(e.openBlock(),e.createBlock(s,{key:0,value:"ratio"},{default:e.withCtx(()=>[...n[31]||(n[31]=[e.createTextVNode("Value / target",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(s,{value:"percentage"},{default:e.withCtx(()=>[...n[32]||(n[32]=[e.createTextVNode("Percentage",-1)])]),_:1}),t.settings.mode==="time"?(e.openBlock(),e.createBlock(s,{key:1,value:"remaining"},{default:e.withCtx(()=>[...n[33]||(n[33]=[e.createTextVNode("Time remaining / overdue",-1)])]),_:1})):e.createCommentVNode("",!0),t.settings.mode==="time"?(e.openBlock(),e.createBlock(s,{key:2,value:"elapsed"},{default:e.withCtx(()=>[...n[34]||(n[34]=[e.createTextVNode("Elapsed time",-1)])]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["modelValue"])]),e.createElementVNode("div",xl,[e.createVNode(a,{for:`${t.id}-sort`},{default:e.withCtx(()=>[...n[35]||(n[35]=[e.createTextVNode("Sort by",-1)])]),_:1},8,["for"]),e.createVNode(g,{modelValue:t.settings.sortBy,"onUpdate:modelValue":n[10]||(n[10]=f=>t.settings.sortBy=f)},{default:e.withCtx(()=>[e.createVNode(i,{id:`${t.id}-sort`},{default:e.withCtx(()=>[e.createVNode(u)]),_:1},8,["id"]),e.createVNode(c,null,{default:e.withCtx(()=>[t.settings.mode==="numeric"?(e.openBlock(),e.createBlock(s,{key:0,value:"current"},{default:e.withCtx(()=>[...n[36]||(n[36]=[e.createTextVNode("Current value",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(s,{value:"percentage"},{default:e.withCtx(()=>[...n[37]||(n[37]=[e.createTextVNode("Percentage",-1)])]),_:1}),t.settings.mode==="time"?(e.openBlock(),e.createBlock(s,{key:1,value:"remaining"},{default:e.withCtx(()=>[...n[38]||(n[38]=[e.createTextVNode("Time remaining",-1)])]),_:1})):e.createCommentVNode("",!0),t.settings.mode==="time"?(e.openBlock(),e.createBlock(s,{key:2,value:"deadline"},{default:e.withCtx(()=>[...n[39]||(n[39]=[e.createTextVNode("Deadline",-1)])]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["modelValue"])])]),e.createElementVNode("div",Cl,[e.createVNode(p,{id:`${t.id}-bar`,modelValue:t.settings.showBar,"onUpdate:modelValue":n[11]||(n[11]=f=>t.settings.showBar=f),class:"border-ring"},null,8,["id","modelValue"]),e.createVNode(a,{for:`${t.id}-bar`},{default:e.withCtx(()=>[...n[40]||(n[40]=[e.createTextVNode("Show progress bar",-1)])]),_:1},8,["for"])]),e.createElementVNode("fieldset",Vl,[n[50]||(n[50]=e.createElementVNode("legend",{class:"float-left w-full text-sm font-medium"},"Colors",-1)),e.createElementVNode("div",wl,[e.createVNode(a,{for:`${t.id}-color`},{default:e.withCtx(()=>[...n[41]||(n[41]=[e.createTextVNode("Default color",-1)])]),_:1},8,["for"]),e.createVNode(be,{id:`${t.id}-color`,modelValue:t.settings.color,"onUpdate:modelValue":n[12]||(n[12]=f=>t.settings.color=f)},null,8,["id","modelValue"])]),t.settings.mode==="time"?(e.openBlock(),e.createElementBlock("div",yl,[e.createVNode(a,{for:`${t.id}-threshold-metric`},{default:e.withCtx(()=>[...n[42]||(n[42]=[e.createTextVNode("Thresholds based on",-1)])]),_:1},8,["for"]),e.createVNode(g,{"model-value":t.settings.thresholdMetric,"onUpdate:modelValue":n[13]||(n[13]=f=>o(f))},{default:e.withCtx(()=>[e.createVNode(i,{id:`${t.id}-threshold-metric`},{default:e.withCtx(()=>[e.createVNode(u)]),_:1},8,["id"]),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(s,{value:"percent"},{default:e.withCtx(()=>[...n[43]||(n[43]=[e.createTextVNode("Elapsed percentage",-1)])]),_:1}),e.createVNode(s,{value:"remaining"},{default:e.withCtx(()=>[...n[44]||(n[44]=[e.createTextVNode("Minutes remaining",-1)])]),_:1})]),_:1})]),_:1},8,["model-value"]),n[45]||(n[45]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Changing the threshold unit clears the existing thresholds.",-1))])):e.createCommentVNode("",!0),e.createElementVNode("p",hl,e.toDisplayString(t.settings.thresholdMetric==="remaining"?"Colors apply at or below the entered minutes remaining. The smallest matching threshold wins.":"Colors apply at or above the entered percentage. The highest matching threshold wins."),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.settings.thresholds,(f,x)=>(e.openBlock(),e.createElementBlock("div",{key:x,class:"grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto] items-end gap-2"},[e.createElementVNode("div",Nl,[e.createVNode(a,{for:`${t.id}-threshold-${x}`,class:"text-xs"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.settings.thresholdMetric==="remaining"?"Minutes ≤":"Percentage ≥"),1)]),_:1},8,["for"]),e.createVNode(m,{id:`${t.id}-threshold-${x}`,"model-value":Number.isFinite(f.at)?f.at:"",type:"number",min:"0",step:"any","onUpdate:modelValue":B=>f.at=B===""?NaN:Number(B)},null,8,["id","model-value","onUpdate:modelValue"])]),e.createElementVNode("div",Sl,[e.createVNode(a,{for:`${t.id}-threshold-color-${x}`,class:"text-xs"},{default:e.withCtx(()=>[...n[46]||(n[46]=[e.createTextVNode("Color",-1)])]),_:1},8,["for"]),e.createVNode(be,{id:`${t.id}-threshold-color-${x}`,modelValue:f.color,"onUpdate:modelValue":B=>f.color=B},null,8,["id","modelValue","onUpdate:modelValue"])]),e.createVNode(d,{type:"button",variant:"ghost",size:"icon","aria-label":`Remove threshold ${x+1}`,onClick:B=>t.settings.thresholds.splice(x,1)},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.X),{class:"size-4"})]),_:1},8,["aria-label","onClick"])]))),128)),e.createVNode(d,{type:"button",variant:"outline",class:"justify-self-start",onClick:n[14]||(n[14]=f=>t.settings.thresholds.push({at:t.settings.thresholdMetric==="remaining"?60:80,color:"amber"}))},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.Plus),{class:"mr-2 size-4"}),n[47]||(n[47]=e.createTextVNode("Add color threshold",-1))]),_:1}),t.settings.mode==="time"?(e.openBlock(),e.createElementBlock("div",bl,[e.createElementVNode("div",kl,[e.createVNode(a,{for:`${t.id}-completed-color`},{default:e.withCtx(()=>[...n[48]||(n[48]=[e.createTextVNode("Completed on time",-1)])]),_:1},8,["for"]),e.createVNode(be,{id:`${t.id}-completed-color`,modelValue:t.settings.completedColor,"onUpdate:modelValue":n[15]||(n[15]=f=>t.settings.completedColor=f)},null,8,["id","modelValue"])]),e.createElementVNode("div",_l,[e.createVNode(a,{for:`${t.id}-overdue-color`},{default:e.withCtx(()=>[...n[49]||(n[49]=[e.createTextVNode("Overdue / completed late",-1)])]),_:1},8,["for"]),e.createVNode(be,{id:`${t.id}-overdue-color`,modelValue:t.settings.overdueColor,"onUpdate:modelValue":n[16]||(n[16]=f=>t.settings.overdueColor=f)},null,8,["id","modelValue"])])])):e.createCommentVNode("",!0)])])}}}),Bl={class:"grid gap-4"},El={key:0,class:"grid gap-2 rounded-md border p-3"},Dl={class:"flex flex-col gap-2 sm:flex-row"},Rl={key:0,class:"text-xs text-muted-foreground",role:"status"},Tl={class:"flex items-center justify-between"},Fl={class:"text-xs font-medium"},Ml={class:"grid gap-3 sm:grid-cols-2"},Il={class:"grid gap-1.5"},Pl={class:"grid gap-1.5"},Al={class:"grid gap-1.5"},Ll=e.defineComponent({__name:"BadgeColumnSettings",props:{id:{},property:{},options:{},filters:{}},setup(t){const l=t,o=e.computed(()=>l.filters.filter(i=>h.getTableFilterType(i)==="multi-select"&&"options"in i&&Array.isArray(i.options)&&!!i.options.length)),r=e.ref(""),n=e.ref("");function a(){l.options.push({id:crypto.randomUUID(),value:"",label:"",color:"neutral"})}e.watch(o,i=>{const s=i.findIndex(c=>c.property===l.property);s>=0&&r.value===""&&(r.value=String(s))},{immediate:!0});function u(){const i=o.value[Number(r.value)];if(!i||r.value==="")return;const s=new Set(l.options.map(g=>g.value)),c=i.options.filter(g=>!s.has(String(g.value))).map(g=>({id:crypto.randomUUID(),value:String(g.value),label:g.label,color:g.color||"neutral"}));l.options.push(...c),n.value=c.length?`Copied ${c.length} option${c.length===1?"":"s"}. Choose their colors below.`:"All options from this filter are already included."}return(i,s)=>{const c=e.resolveComponent("Label"),g=e.resolveComponent("SelectValue"),m=e.resolveComponent("SelectTrigger"),p=e.resolveComponent("SelectItem"),d=e.resolveComponent("SelectContent"),f=e.resolveComponent("Select"),x=e.resolveComponent("Button"),B=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",Bl,[s[8]||(s[8]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Map each stored value to a label and color. Values without a mapping remain visible as neutral badges.",-1)),o.value.length?(e.openBlock(),e.createElementBlock("div",El,[e.createVNode(c,{for:`${t.id}-import`},{default:e.withCtx(()=>[...s[1]||(s[1]=[e.createTextVNode("Copy options from an existing filter",-1)])]),_:1},8,["for"]),e.createElementVNode("div",Dl,[e.createVNode(f,{modelValue:r.value,"onUpdate:modelValue":s[0]||(s[0]=C=>r.value=C)},{default:e.withCtx(()=>[e.createVNode(m,{id:`${t.id}-import`,class:"min-w-0 flex-1"},{default:e.withCtx(()=>[e.createVNode(g,{placeholder:"Choose a filter"})]),_:1},8,["id"]),e.createVNode(d,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(C,v)=>(e.openBlock(),e.createBlock(p,{key:C.id||C.property,value:String(v)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.label)+" ("+e.toDisplayString(C.property)+")",1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"]),e.createVNode(x,{type:"button",variant:"outline",disabled:r.value==="",onClick:u},{default:e.withCtx(()=>[...s[2]||(s[2]=[e.createTextVNode("Copy missing options",-1)])]),_:1},8,["disabled"])]),s[3]||(s[3]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"This makes a copy. To share future changes, set the filter to use this column's options.",-1)),n.value?(e.openBlock(),e.createElementBlock("p",Rl,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(C,v)=>(e.openBlock(),e.createElementBlock("div",{key:C.id,class:"grid gap-3 rounded-md border p-3"},[e.createElementVNode("div",Tl,[e.createElementVNode("span",Fl,"Badge "+e.toDisplayString(v+1),1),e.createVNode(x,{type:"button",variant:"ghost",size:"icon",class:"size-7","aria-label":`Remove badge ${C.label||v+1}`,onClick:$=>t.options.splice(v,1)},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.X),{class:"size-4"})]),_:1},8,["aria-label","onClick"])]),e.createElementVNode("div",Ml,[e.createElementVNode("div",Il,[e.createVNode(c,{for:`${t.id}-value-${C.id}`},{default:e.withCtx(()=>[...s[4]||(s[4]=[e.createTextVNode("Stored value",-1)])]),_:1},8,["for"]),e.createVNode(B,{id:`${t.id}-value-${C.id}`,modelValue:C.value,"onUpdate:modelValue":$=>C.value=$,placeholder:"e.g. pending"},null,8,["id","modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",Pl,[e.createVNode(c,{for:`${t.id}-label-${C.id}`},{default:e.withCtx(()=>[...s[5]||(s[5]=[e.createTextVNode("Display label",-1)])]),_:1},8,["for"]),e.createVNode(B,{id:`${t.id}-label-${C.id}`,modelValue:C.label,"onUpdate:modelValue":$=>C.label=$,placeholder:"e.g. Awaiting response"},null,8,["id","modelValue","onUpdate:modelValue"])])]),e.createElementVNode("div",Al,[e.createVNode(c,{for:`${t.id}-color-${C.id}`},{default:e.withCtx(()=>[...s[6]||(s[6]=[e.createTextVNode("Color",-1)])]),_:1},8,["for"]),e.createVNode(be,{id:`${t.id}-color-${C.id}`,modelValue:C.color,"onUpdate:modelValue":$=>C.color=$},null,8,["id","modelValue","onUpdate:modelValue"])])]))),128)),e.createVNode(x,{type:"button",variant:"outline",class:"justify-self-start",onClick:a},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.Plus),{class:"mr-2 size-4"}),s[7]||(s[7]=e.createTextVNode("Add badge",-1))]),_:1})])}}}),Ol={key:0,class:"grid gap-5 border-t pt-4"},Ul={key:0,class:"grid gap-2"},zl={key:1,class:"grid gap-2"},Hl={class:"flex items-center gap-2"},jl={class:"text-xs text-muted-foreground"},Gl={class:"grid gap-4 sm:grid-cols-2"},ql={class:"grid gap-2"},Kl={class:"grid gap-2"},Yl={class:"grid gap-3 rounded-md border bg-background p-3"},Xl={class:"flex items-center justify-between gap-3"},Jl={key:0,class:"w-32"},Wl={key:0,class:"text-xs text-destructive",role:"status"},Zl={key:2,class:"text-xs text-muted-foreground"},Ql=e.defineComponent({__name:"ColumnDisplaySettings",props:{column:{},fields:{},rows:{},filters:{}},setup(t){const l=t,o=e.computed(()=>`column-${l.column.id}`),r=e.ref("0"),n=e.computed(()=>l.rows[Number(r.value)]||l.rows[0]),a=e.computed(()=>h.validateColumnDisplay(l.column)),u=e.computed(()=>["text","number","date","datetime","progress","badge"].includes(l.column.type));return e.watch(()=>l.column.type,i=>{i==="number"&&(l.column.numberDisplay??={prefix:""}),i==="text"&&(l.column.textDisplay??={prefix:""}),(i==="date"||i==="datetime")&&(l.column.dateDisplay??={relative:!1}),i==="progress"&&(l.column.progress??={mode:"numeric",current:{kind:"field",property:l.column.property},target:{kind:"fixed",value:100},showBar:!0,display:"ratio",color:"blue",thresholdMetric:"percent",thresholds:[],sortBy:"current"}),i==="badge"&&(l.column.badge??={options:[]})},{immediate:!0}),(i,s)=>{const c=e.resolveComponent("Label"),g=e.resolveComponent("Input"),m=e.resolveComponent("Checkbox"),p=e.resolveComponent("SelectValue"),d=e.resolveComponent("SelectTrigger"),f=e.resolveComponent("SelectItem"),x=e.resolveComponent("SelectContent"),B=e.resolveComponent("Select");return u.value?(e.openBlock(),e.createElementBlock("div",Ol,[t.column.type==="number"?(e.openBlock(),e.createElementBlock("div",Ul,[e.createVNode(c,{for:`${o.value}-number-prefix`},{default:e.withCtx(()=>[...s[6]||(s[6]=[e.createTextVNode("Prefix (optional)",-1)])]),_:1},8,["for"]),e.createVNode(g,{id:`${o.value}-number-prefix`,modelValue:t.column.numberDisplay.prefix,"onUpdate:modelValue":s[0]||(s[0]=C=>t.column.numberDisplay.prefix=C),placeholder:"e.g. € or $"},null,8,["id","modelValue"]),s[7]||(s[7]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Shown before the number. Include a trailing space if needed. Sorting and filtering still use the numeric value.",-1))])):t.column.type==="text"?(e.openBlock(),e.createElementBlock("div",zl,[e.createVNode(c,{for:`${o.value}-text-prefix`},{default:e.withCtx(()=>[...s[8]||(s[8]=[e.createTextVNode("Prefix (optional)",-1)])]),_:1},8,["for"]),e.createVNode(g,{id:`${o.value}-text-prefix`,modelValue:t.column.textDisplay.prefix,"onUpdate:modelValue":s[1]||(s[1]=C=>t.column.textDisplay.prefix=C),placeholder:"e.g. INV- or @"},null,8,["id","modelValue"]),s[9]||(s[9]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Shown before the text. Include a trailing space if needed. Sorting and filtering still use the original value.",-1))])):t.column.type==="date"||t.column.type==="datetime"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",Hl,[e.createVNode(m,{id:`${o.value}-relative`,modelValue:t.column.dateDisplay.relative,"onUpdate:modelValue":s[2]||(s[2]=C=>t.column.dateDisplay.relative=C),class:"border-ring"},null,8,["id","modelValue"]),e.createVNode(c,{for:`${o.value}-relative`},{default:e.withCtx(()=>[...s[10]||(s[10]=[e.createTextVNode("Show relative time below the date",-1)])]),_:1},8,["for"])]),e.createElementVNode("p",jl,e.toDisplayString(t.column.type==="date"?"Date-only values use calendar days, such as “yesterday” or “in 3 days”.":"Shows time since or until the date and refreshes automatically while the table is open."),1),e.createElementVNode("div",Gl,[e.createElementVNode("div",ql,[e.createVNode(c,{for:`${o.value}-locale`},{default:e.withCtx(()=>[...s[11]||(s[11]=[e.createTextVNode("Locale (optional)",-1)])]),_:1},8,["for"]),e.createVNode(g,{id:`${o.value}-locale`,modelValue:t.column.dateDisplay.locale,"onUpdate:modelValue":s[3]||(s[3]=C=>t.column.dateDisplay.locale=C),placeholder:"Browser default, e.g. nl-BE"},null,8,["id","modelValue"])]),e.createElementVNode("div",Kl,[e.createVNode(c,{for:`${o.value}-timezone`},{default:e.withCtx(()=>[...s[12]||(s[12]=[e.createTextVNode("Timezone (optional)",-1)])]),_:1},8,["for"]),e.createVNode(g,{id:`${o.value}-timezone`,modelValue:t.column.dateDisplay.timeZone,"onUpdate:modelValue":s[4]||(s[4]=C=>t.column.dateDisplay.timeZone=C),placeholder:"Browser default, e.g. Europe/Brussels"},null,8,["id","modelValue"])])])],64)):t.column.type==="progress"&&t.column.progress?(e.openBlock(),e.createBlock($l,{key:3,id:o.value,settings:t.column.progress,fields:t.fields},null,8,["id","settings","fields"])):t.column.type==="badge"&&t.column.badge?(e.openBlock(),e.createBlock(Ll,{key:4,id:o.value,property:t.column.property,options:t.column.badge.options,filters:t.filters},null,8,["id","property","options","filters"])):e.createCommentVNode("",!0),e.createElementVNode("div",Yl,[e.createElementVNode("div",Xl,[s[14]||(s[14]=e.createElementVNode("span",{class:"text-xs font-medium"},"Preview from your data",-1)),t.rows.length>1?(e.openBlock(),e.createElementBlock("div",Jl,[e.createVNode(c,{for:`${o.value}-preview-row`,class:"sr-only"},{default:e.withCtx(()=>[...s[13]||(s[13]=[e.createTextVNode("Preview row",-1)])]),_:1},8,["for"]),e.createVNode(B,{modelValue:r.value,"onUpdate:modelValue":s[5]||(s[5]=C=>r.value=C)},{default:e.withCtx(()=>[e.createVNode(d,{id:`${o.value}-preview-row`,class:"h-8 text-xs"},{default:e.withCtx(()=>[e.createVNode(p)]),_:1},8,["id"]),e.createVNode(x,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.rows.slice(0,20),(C,v)=>(e.openBlock(),e.createBlock(f,{key:v,value:String(v)},{default:e.withCtx(()=>[e.createTextVNode("Row "+e.toDisplayString(v+1),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0)]),a.value?(e.openBlock(),e.createElementBlock("p",Wl,e.toDisplayString(a.value),1)):n.value?(e.openBlock(),e.createBlock(h._sfc_main,{key:1,column:t.column,row:n.value},null,8,["column","row"])):(e.openBlock(),e.createElementBlock("p",Zl,"Load table data to preview this column."))])])):e.createCommentVNode("",!0)}}}),er={class:"grid gap-4 rounded-lg bg-muted/20 p-4"},tr=["disabled"],or={class:"grid grid-cols-5 items-center gap-4"},nr=["id"],lr=["value"],rr={key:0,class:"text-xs text-muted-foreground"},ar={class:"grid grid-cols-5 items-center gap-4"},ir={class:"grid grid-cols-5 items-center gap-4"},sr={class:"grid grid-cols-5 items-center gap-4"},ur={class:"grid grid-cols-5 items-center gap-4"},dr={key:1,class:"grid grid-cols-5 items-center gap-4"},cr={class:"grid grid-cols-5 items-center gap-4"},mr={key:2,class:"grid grid-cols-5 items-center gap-4"},pr={class:"grid grid-cols-5 items-center gap-4"},fr=e.defineComponent({__name:"DialogTableColumnItem",props:{column:{},fields:{},rows:{},filters:{}},setup(t){const l=t,o=e.computed(()=>`column-${l.column.id}`);return e.watch(()=>l.column.type,r=>{r==="array-counter"&&(l.column.showArrayPreview??=!0)},{immediate:!0}),(r,n)=>{const a=e.resolveComponent("AccordionTrigger"),u=e.resolveComponent("Label"),i=e.resolveComponent("Input"),s=e.resolveComponent("Checkbox"),c=e.resolveComponent("Button"),g=e.resolveComponent("AccordionContent"),m=e.resolveComponent("AccordionItem");return e.openBlock(),e.createBlock(m,{value:t.column.id},{default:e.withCtx(()=>[e.createVNode(a,{class:e.normalizeClass({"line-through hover:line-through text-red-400":t.column._remove})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.column.label||t.column.property||"Untitled column"),1)]),_:1},8,["class"]),e.createVNode(g,null,{default:e.withCtx(()=>[e.createElementVNode("div",er,[e.createElementVNode("fieldset",{disabled:t.column._remove,class:e.normalizeClass(["grid min-w-0 gap-4",{"opacity-40 pointer-events-none":t.column._remove}])},[e.createElementVNode("div",or,[e.createVNode(u,{for:`${o.value}-property`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.column.type==="progress"?"Column key":"Property"),1)]),_:1},8,["for"]),e.createVNode(i,{id:`${o.value}-property`,class:"col-span-3",modelValue:t.column.property,"onUpdate:modelValue":n[0]||(n[0]=p=>t.column.property=p),list:t.column.type==="progress"?void 0:`${o.value}-properties`},null,8,["id","modelValue","list"]),e.createElementVNode("datalist",{id:`${o.value}-properties`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,p=>(e.openBlock(),e.createElementBlock("option",{key:p,value:p},null,8,lr))),128))],8,nr)]),t.column.type==="progress"?(e.openBlock(),e.createElementBlock("p",rr,"A unique name for this column, such as responseTimer. Choose its data fields below.")):e.createCommentVNode("",!0),e.createElementVNode("div",ar,[e.createVNode(u,{for:`${o.value}-label`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[10]||(n[10]=[e.createTextVNode("Label",-1)])]),_:1},8,["for"]),e.createVNode(i,{id:`${o.value}-label`,class:"col-span-3",modelValue:t.column.label,"onUpdate:modelValue":n[1]||(n[1]=p=>t.column.label=p)},null,8,["id","modelValue"])]),e.createElementVNode("div",ir,[e.createVNode(u,{for:`${o.value}-visible`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[11]||(n[11]=[e.createTextVNode("Visible",-1)])]),_:1},8,["for"]),e.createVNode(s,{id:`${o.value}-visible`,class:"col-span-3 border-ring",modelValue:t.column.visible,"onUpdate:modelValue":n[2]||(n[2]=p=>t.column.visible=p)},null,8,["id","modelValue"])]),e.createElementVNode("div",sr,[e.createVNode(u,{for:`${o.value}-type`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[12]||(n[12]=[e.createTextVNode("Type",-1)])]),_:1},8,["for"]),e.createVNode($t,{id:`${o.value}-type`,class:"col-span-3",modelValue:t.column.type,"onUpdate:modelValue":n[3]||(n[3]=p=>t.column.type=p),disabled:t.column._remove},null,8,["id","modelValue","disabled"])]),e.createElementVNode("div",ur,[e.createVNode(u,{for:`${o.value}-compact`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[13]||(n[13]=[e.createTextVNode("Show in compact mode",-1)])]),_:1},8,["for"]),e.createVNode(s,{id:`${o.value}-compact`,class:"col-span-3 border-ring",modelValue:t.column.showInCompactMode,"onUpdate:modelValue":n[4]||(n[4]=p=>t.column.showInCompactMode=p)},null,8,["id","modelValue"])]),t.column.type==="array-counter"?(e.openBlock(),e.createElementBlock("div",dr,[e.createVNode(u,{for:`${o.value}-array-preview`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[14]||(n[14]=[e.createTextVNode("Show array preview",-1)])]),_:1},8,["for"]),e.createVNode(s,{id:`${o.value}-array-preview`,class:"col-span-3 border-ring",modelValue:t.column.showArrayPreview,"onUpdate:modelValue":n[5]||(n[5]=p=>t.column.showArrayPreview=p)},null,8,["id","modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",cr,[e.createVNode(u,{for:`${o.value}-info`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[15]||(n[15]=[e.createTextVNode("Show info button",-1)])]),_:1},8,["for"]),e.createVNode(s,{id:`${o.value}-info`,class:"col-span-3 border-ring",modelValue:t.column.showInfoButton,"onUpdate:modelValue":n[6]||(n[6]=p=>t.column.showInfoButton=p)},null,8,["id","modelValue"])]),t.column.showInfoButton?(e.openBlock(),e.createElementBlock("div",mr,[e.createVNode(u,{for:`${o.value}-tooltip`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[16]||(n[16]=[e.createTextVNode("Info tooltip text",-1)])]),_:1},8,["for"]),e.createVNode(i,{id:`${o.value}-tooltip`,class:"col-span-3",modelValue:t.column.infoTooltipText,"onUpdate:modelValue":n[7]||(n[7]=p=>t.column.infoTooltipText=p)},null,8,["id","modelValue"])])):e.createCommentVNode("",!0),e.createVNode(Ql,{column:t.column,fields:t.fields,rows:t.rows,filters:t.filters},null,8,["column","fields","rows","filters"])],10,tr),e.createElementVNode("div",pr,[e.createVNode(u,{class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[17]||(n[17]=[e.createTextVNode("Delete column?",-1)])]),_:1}),t.column._remove?(e.openBlock(),e.createBlock(c,{key:1,class:"col-span-3",variant:"outline",onClick:n[9]||(n[9]=p=>t.column._remove=!1)},{default:e.withCtx(()=>[...n[19]||(n[19]=[e.createTextVNode("Undo delete",-1)])]),_:1})):(e.openBlock(),e.createBlock(c,{key:0,class:"col-span-3",variant:"destructive",onClick:n[8]||(n[8]=p=>t.column._remove=!0)},{default:e.withCtx(()=>[...n[18]||(n[18]=[e.createTextVNode("Delete column",-1)])]),_:1}))])])]),_:1})]),_:1},8,["value"])}}}),gr={class:"flex flex-col items-start gap-4 py-4"},vr={key:0,class:"flex flex-col gap-2 w-full"},xr={class:"flex flex-wrap gap-2"},Cr=["onClick"],Vr={class:"text-muted-foreground"},wr={class:"grid gap-4"},yr={class:"grid grid-cols-5 items-center gap-4"},hr={class:"grid grid-cols-5 items-center gap-4"},Nr={class:"grid grid-cols-5 items-center gap-4"},Sr={class:"grid grid-cols-5 items-center gap-4"},br={key:0,class:"text-xs text-muted-foreground"},kr={class:"grid grid-cols-5 items-center gap-4"},_r={key:1,class:"grid grid-cols-5 items-center gap-4"},$r={class:"grid grid-cols-5 items-center gap-4"},Br={key:2,class:"grid grid-cols-5 items-center gap-4"},Er={class:"flex justify-end gap-2"},Dr={class:"absolute left-0 top-2 flex flex-col gap-1 z-10 opacity-100 sm:opacity-0 sm:group-hover:opacity-100 focus-within:opacity-100 transition-opacity"},Rr={key:0,class:"my-4 rounded-md border border-destructive/40 p-3 text-sm",role:"alert"},Tr={class:"mt-2 space-y-2"},Fr=["onClick"],Mr={key:1,class:"my-3 text-sm text-destructive",role:"alert"},Ir=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:o}=ue.useModuleStorage(),r=t,n=l,a=e.inject("columns",e.ref([])),u=e.inject("data",e.ref([])),i=e.inject("filters",e.ref([])),s=e.ref([]),c=e.ref(),g=e.ref(!1),m=e.ref(!1),p=e.ref(""),d=e.ref({});h.provideTableClock();const f=e.computed(()=>Array.isArray(u.value)?u.value:[]),x=e.computed(()=>{const F=new Set,y=(L,J="",te=0)=>{if(!(!L||typeof L!="object"||Array.isArray(L)||te>4))for(const le of Object.keys(L)){if(["__proto__","constructor","prototype"].includes(le))continue;const se=J?`${J}.${le}`:le;F.add(se),y(L[le],se,te+1)}};return f.value.slice(0,100).forEach(L=>y(L)),[...F].sort()}),B=e.computed(()=>{const F=s.value.filter(y=>!y._remove);return F.flatMap(y=>{const L=y.property?.trim()||"",J=y.type==="progress"||d.value[y.id]!==y.property;let te=h.validateColumnDisplay(y);return J&&!L?te="Enter a property or a unique column key.":J&&F.some(le=>le!==y&&le.property?.trim()===L)&&(te="Use a unique column key. Select the source fields in the display settings."),te?[{id:y.id,label:y.label||y.property||"Untitled column",message:te}]:[]})}),C={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"},v=F=>{const y=F.filter(X=>X!=null&&X!=="");if(!y.length)return"text";if(y.every(X=>typeof X=="boolean"))return"boolean";if(y.every(X=>Array.isArray(X)))return"array";if(y.every(X=>typeof X=="number"))return"number";const L=y.filter(X=>typeof X=="string");if(!L.length)return"text";const J=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,te=/^\+?[\d\s\-().]{7,}$/,le=/^https?:\/\//,se=/\.(png|jpe?g|gif|webp|svg|avif)(\?.*)?$/i,re=/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2})?/;return L.every(X=>J.test(X))?"email":L.every(X=>se.test(X))?"image":L.every(X=>le.test(X))?"URL":L.every(X=>re.test(X))?L.some(X=>X.includes("T"))?"datetime":"date":L.every(X=>!isNaN(Number(X))&&X.trim()!=="")?"number":L.every(X=>te.test(X))?"phone":"text"},$=(F,y)=>{const L=F.toLowerCase();for(const[J,te]of Object.entries(C))if(L===J||L.endsWith(J)||L.startsWith(J))return te;return L.includes("date")||L==="createdat"||L==="updatedat"||L==="timestamp"?"datetime":v(y)},M=F=>F.replace(/([A-Z])/g," $1").replace(/[_-]/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,y=>y.toUpperCase()),D=e.computed(()=>{if(!f.value.length)return[];const F=new Set(s.value.map(y=>y.property));return x.value.filter(y=>!F.has(y)).slice(0,40).map(y=>{const L=f.value.map(J=>h.resolveProperty(J,y));return{property:y,label:M(y),type:$(y,L),visible:!0,showInCompactMode:!1,showInfoButton:!1,infoTooltipText:""}})}),k=e.computed({get(){return r.open},set(F){n("update:open",F)}});e.watch(k,async(F,y)=>{F&&!y&&(s.value=a.value?JSON.parse(JSON.stringify(a.value)).map(L=>({...L,id:L.id||crypto.randomUUID(),...L.type==="array-counter"?{showArrayPreview:L.showArrayPreview??!0}:{}})):[],d.value=Object.fromEntries(s.value.map(L=>[L.id,L.property])),g.value=!1,p.value="",c.value=void 0)},{immediate:!0});const w=e.reactive({property:"",label:"",visible:!0,type:"text",showInCompactMode:!1,showInfoButton:!1,infoTooltipText:"",showArrayPreview:!0}),_=e.ref(!1),P=()=>{_.value=!1,w.property="",w.label="",w.visible=!0,w.type="text",w.showInCompactMode=!1,w.showInfoButton=!1,w.infoTooltipText="",w.showArrayPreview=!0},T=F=>{s.value||(s.value=[]);const y=crypto.randomUUID();s.value.push({...F,id:y}),c.value=y},N=()=>{s.value||(s.value=[]);const F=crypto.randomUUID(),y={...w};y.property=y.property.trim(),y.type==="progress"&&(y.progress={mode:"numeric",current:{kind:"field",property:""},target:{kind:"fixed",value:100},showBar:!0,display:"ratio",color:"blue",thresholdMetric:"percent",thresholds:[],sortBy:"current"}),y.type==="badge"&&(y.badge={options:[]}),y.type!=="array-counter"&&delete y.showArrayPreview,s.value.push({...y,id:F}),c.value=F,P()},H=F=>{if(F>0){const y=s.value[F];s.value[F]=s.value[F-1],s.value[F-1]=y}},E=F=>{if(F<s.value.length-1){const y=s.value[F];s.value[F]=s.value[F+1],s.value[F+1]=y}},S=async()=>{if(m.value)return;if(g.value=!0,p.value="",B.value.length){c.value=B.value[0].id;return}const F=JSON.parse(JSON.stringify(s.value.filter(y=>!y._remove).map(({_remove:y,...L})=>L)));m.value=!0;try{await o("columns",F),a.value=F,P(),k.value=!1,r.onOpenChange(!1)}catch{p.value="Could not save the column settings. Your changes are still here; please try again."}finally{m.value=!1}};return(F,y)=>{const L=e.resolveComponent("DropdownMenuItem"),J=e.resolveComponent("DialogTrigger"),te=e.resolveComponent("DialogTitle"),le=e.resolveComponent("DialogDescription"),se=e.resolveComponent("DialogHeader"),re=e.resolveComponent("Button"),X=e.resolveComponent("PopoverTrigger"),z=e.resolveComponent("Label"),oe=e.resolveComponent("Input"),de=e.resolveComponent("Checkbox"),A=e.resolveComponent("PopoverContent"),I=e.resolveComponent("Popover"),W=e.resolveComponent("Accordion"),ie=e.resolveComponent("DialogFooter"),Q=e.resolveComponent("DialogScrollContent"),pe=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(pe,{open:k.value,"onUpdate:open":[y[11]||(y[11]=j=>k.value=j),t.onOpenChange]},{default:e.withCtx(()=>[e.createVNode(J,{asChild:""},{default:e.withCtx(()=>[e.createVNode(L,{onSelect:y[0]||(y[0]=j=>{j.preventDefault(),t.onSelect&&t.onSelect(),k.value=!0})},{default:e.withCtx(()=>[...y[12]||(y[12]=[e.createElementVNode("span",{class:"text-primary"},"Edit columns",-1)])]),_:1})]),_:1}),e.createVNode(Q,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(se,null,{default:e.withCtx(()=>[e.createVNode(te,null,{default:e.withCtx(()=>[...y[13]||(y[13]=[e.createTextVNode("Edit columns",-1)])]),_:1}),e.createVNode(le,null,{default:e.withCtx(()=>[...y[14]||(y[14]=[e.createTextVNode(" Define all columns for this table. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",gr,[D.value.length?(e.openBlock(),e.createElementBlock("div",vr,[y[15]||(y[15]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Suggested columns from your data",-1)),e.createElementVNode("div",xr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,j=>(e.openBlock(),e.createElementBlock("button",{key:j.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:G=>T(j)},[e.createTextVNode(e.toDisplayString(j.label)+" ",1),e.createElementVNode("span",Vr,e.toDisplayString(j.type),1)],8,Cr))),128))])])):e.createCommentVNode("",!0),e.createVNode(I,{open:_.value,"onUpdate:open":y[9]||(y[9]=j=>_.value=j)},{default:e.withCtx(()=>[e.createVNode(X,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(re,{variant:"outline"},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.Plus),{class:"mr-2 size-4"}),y[16]||(y[16]=e.createTextVNode(" Add column ",-1))]),_:1})]),_:1}),e.createVNode(A,{class:"w-96 max-w-[calc(100vw-2rem)] max-h-[70vh] overflow-y-auto"},{default:e.withCtx(()=>[e.createElementVNode("div",wr,[e.createElementVNode("div",yr,[e.createVNode(z,{for:"add-column-property",class:"text-right col-span-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(w.type==="progress"?"Column key":"Property"),1)]),_:1}),e.createVNode(oe,{id:"add-column-property",class:"col-span-3",modelValue:w.property,"onUpdate:modelValue":y[1]||(y[1]=j=>w.property=j)},null,8,["modelValue"])]),e.createElementVNode("div",hr,[e.createVNode(z,{for:"add-column-label",class:"text-right col-span-2"},{default:e.withCtx(()=>[...y[17]||(y[17]=[e.createTextVNode(" Label ",-1)])]),_:1}),e.createVNode(oe,{id:"add-column-label",class:"col-span-3",modelValue:w.label,"onUpdate:modelValue":y[2]||(y[2]=j=>w.label=j)},null,8,["modelValue"])]),e.createElementVNode("div",Nr,[e.createVNode(z,{for:"add-column-visible",class:"text-right col-span-2"},{default:e.withCtx(()=>[...y[18]||(y[18]=[e.createTextVNode(" Visible ",-1)])]),_:1}),e.createVNode(de,{id:"add-column-visible",class:"col-span-3 border-ring",modelValue:w.visible,"onUpdate:modelValue":y[3]||(y[3]=j=>w.visible=j)},null,8,["modelValue"])]),e.createElementVNode("div",Sr,[e.createVNode(z,{for:"add-column-type",class:"text-right col-span-2"},{default:e.withCtx(()=>[...y[19]||(y[19]=[e.createTextVNode(" Type ",-1)])]),_:1}),e.createVNode($t,{id:"add-column-type",class:"col-span-3",modelValue:w.type,"onUpdate:modelValue":y[4]||(y[4]=j=>w.type=j)},null,8,["modelValue"])]),w.type==="progress"||w.type==="badge"?(e.openBlock(),e.createElementBlock("p",br,"Add the column, then choose its "+e.toDisplayString(w.type==="progress"?"source fields and display settings":"badge values and colors")+".",1)):e.createCommentVNode("",!0),e.createElementVNode("div",kr,[e.createVNode(z,{for:"add-column-compact",class:"text-right col-span-2"},{default:e.withCtx(()=>[...y[20]||(y[20]=[e.createTextVNode(" Show in compact mode ",-1)])]),_:1}),e.createVNode(de,{id:"add-column-compact",class:"col-span-3 border-ring",modelValue:w.showInCompactMode,"onUpdate:modelValue":y[5]||(y[5]=j=>w.showInCompactMode=j)},null,8,["modelValue"])]),w.type==="array-counter"?(e.openBlock(),e.createElementBlock("div",_r,[e.createVNode(z,{for:"add-column-array-preview",class:"text-right col-span-2"},{default:e.withCtx(()=>[...y[21]||(y[21]=[e.createTextVNode(" Show array preview ",-1)])]),_:1}),e.createVNode(de,{id:"add-column-array-preview",class:"col-span-3 border-ring",modelValue:w.showArrayPreview,"onUpdate:modelValue":y[6]||(y[6]=j=>w.showArrayPreview=j)},null,8,["modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",$r,[e.createVNode(z,{for:"add-column-info",class:"text-right col-span-2"},{default:e.withCtx(()=>[...y[22]||(y[22]=[e.createTextVNode(" Show info button ",-1)])]),_:1}),e.createVNode(de,{id:"add-column-info",class:"col-span-3 border-ring",modelValue:w.showInfoButton,"onUpdate:modelValue":y[7]||(y[7]=j=>w.showInfoButton=j)},null,8,["modelValue"])]),w.showInfoButton?(e.openBlock(),e.createElementBlock("div",Br,[e.createVNode(z,{for:"add-column-tooltip",class:"text-right col-span-2"},{default:e.withCtx(()=>[...y[23]||(y[23]=[e.createTextVNode(" Info tooltip text ",-1)])]),_:1}),e.createVNode(oe,{id:"add-column-tooltip",class:"col-span-3",modelValue:w.infoTooltipText,"onUpdate:modelValue":y[8]||(y[8]=j=>w.infoTooltipText=j)},null,8,["modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Er,[e.createVNode(re,{variant:"outline",onClick:P},{default:e.withCtx(()=>[...y[24]||(y[24]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(re,{onClick:N,disabled:!w.property.trim()},{default:e.withCtx(()=>[...y[25]||(y[25]=[e.createTextVNode(" Add column ",-1)])]),_:1},8,["disabled"])])])]),_:1})]),_:1},8,["open"])]),e.createVNode(W,{modelValue:c.value,"onUpdate:modelValue":y[10]||(y[10]=j=>c.value=j),type:"single",collapsible:"",class:"w-full"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(j,G)=>(e.openBlock(),e.createElementBlock("div",{key:j.id,class:"relative group"},[e.createElementVNode("div",Dr,[e.createVNode(re,{variant:"ghost",size:"icon",class:"h-6 w-6",onClick:me=>H(G),disabled:G===0,"aria-label":`Move ${j.label||j.property} up`},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.ChevronUp),{class:"h-4 w-4"})]),_:1},8,["onClick","disabled","aria-label"]),e.createVNode(re,{variant:"ghost",size:"icon",class:"h-6 w-6",onClick:me=>E(G),disabled:G===s.value.length-1,"aria-label":`Move ${j.label||j.property} down`},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.ChevronDown),{class:"h-4 w-4"})]),_:1},8,["onClick","disabled","aria-label"])]),e.createVNode(fr,{column:j,fields:x.value,rows:f.value,filters:e.unref(i),class:"pl-10"},null,8,["column","fields","rows","filters"])]))),128))]),_:1},8,["modelValue"]),g.value&&B.value.length?(e.openBlock(),e.createElementBlock("div",Rr,[y[26]||(y[26]=e.createElementVNode("p",{class:"font-medium text-destructive"},"Check these column settings before saving:",-1)),e.createElementVNode("ul",Tr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,j=>(e.openBlock(),e.createElementBlock("li",{key:j.id},[e.createElementVNode("button",{type:"button",class:"text-left underline underline-offset-2",onClick:G=>c.value=j.id},e.toDisplayString(j.label)+": "+e.toDisplayString(j.message),9,Fr)]))),128))])])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("p",Mr,e.toDisplayString(p.value),1)):e.createCommentVNode("",!0),e.createVNode(ie,null,{default:e.withCtx(()=>[e.createVNode(re,{onClick:S,disabled:m.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value?"Saving…":"Save changes"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open","onUpdate:open"])}}}),Pr=e.defineComponent({__name:"ColumnDropdown",setup(t){const{isAdmin:l}=ue.useModulePermissions(),o=e.inject("columns"),r=e.ref(null),n=e.ref(null),a=e.ref(!1),u=e.ref(!1),i=()=>{n.value=r.value},s=g=>{u.value=g,g||(a.value=!1)},c=g=>{a.value=g};return(g,m)=>{const p=e.resolveComponent("Button"),d=e.resolveComponent("DropdownMenuTrigger"),f=e.resolveComponent("DropdownMenuSeparator"),x=e.resolveComponent("DropdownMenuCheckboxItem"),B=e.resolveComponent("DropdownMenuContent"),C=e.resolveComponent("DropdownMenu");return e.openBlock(),e.createBlock(C,{open:a.value,"onUpdate:open":c},{default:e.withCtx(()=>[e.createVNode(d,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(p,{variant:"outline",class:"ml-auto"},{default:e.withCtx(()=>[m[3]||(m[3]=e.createTextVNode(" Columns ",-1)),e.createVNode(e.unref(Z.ChevronDown),{class:"ml-2 size-4"})]),_:1})]),_:1}),e.createVNode(B,{align:"end",onCloseAutoFocus:m[2]||(m[2]=v=>{v.preventDefault()})},{default:e.withCtx(()=>[e.unref(l)()?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(Ir,{open:u.value,"onUpdate:open":m[0]||(m[0]=v=>u.value=v),onSelect:i,onOpenChange:s},null,8,["open"]),e.unref(o)?.length>0?(e.openBlock(),e.createBlock(f,{key:0})):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),v=>(e.openBlock(),e.createBlock(x,{key:v.id,class:"capitalize","model-value":v.visible,"onUpdate:modelValue":$=>{v.visible=$},onSelect:m[1]||(m[1]=$=>{$.preventDefault()})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.label),1)]),_:2},1032,["model-value","onUpdate:modelValue"]))),128))]),_:1})]),_:1},8,["open"])}}}),Ar=e.defineComponent({__name:"Search",setup(t){const l=e.inject("table"),o=e.inject("sortMode"),r=e.ref("");let n;return e.watch(()=>l?.value?.getState().globalFilter??"",a=>{const u=typeof a=="string"?a:"";u!==r.value&&(r.value=u)},{immediate:!0}),e.watch(r,a=>{n&&clearTimeout(n),n=setTimeout(()=>{l?.value?.setGlobalFilter(a)},80)}),e.onBeforeUnmount(()=>{n&&clearTimeout(n)}),(a,u)=>{const i=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col items-start gap-1",e.unref(o)?"opacity-50 pointer-events-none":""])},[e.createVNode(i,{class:"min-w-48 max-w-48",placeholder:"Search...","model-value":r.value,"onUpdate:modelValue":u[0]||(u[0]=s=>r.value=typeof s=="string"?s:""),disabled:e.unref(o)},null,8,["model-value","disabled"])],2)}}}),Lr={class:"flex flex-col items-start gap-4 py-4"},Or={class:"flex flex-col gap-1.5"},Ur={class:"flex items-center gap-2 w-full justify-between"},zr={class:"flex items-center gap-2 ml-auto"},Hr=e.defineComponent({__name:"SortModeSettingsDialog",props:{savedField:{type:String,default:""}},emits:["saved"],setup(t,{emit:l}){const{isAdmin:o}=ue.useModulePermissions(),r=l,n=t,a=p=>{i.value=p},u=e.inject("columns"),i=e.ref(!1),s=e.ref("");e.watch(i,p=>{p&&(s.value=n.savedField??"")});const c=()=>{r("saved",{field:""}),g()},g=()=>{i.value=!1},m=()=>{r("saved",{field:s.value}),g()};return(p,d)=>{const f=e.resolveComponent("DialogTrigger"),x=e.resolveComponent("DialogTitle"),B=e.resolveComponent("DialogDescription"),C=e.resolveComponent("DialogHeader"),v=e.resolveComponent("Label"),$=e.resolveComponent("ComboboxTrigger"),M=e.resolveComponent("ComboboxInput"),D=e.resolveComponent("ComboboxAnchor"),k=e.resolveComponent("ComboboxItem"),w=e.resolveComponent("ComboboxGroup"),_=e.resolveComponent("ComboboxList"),P=e.resolveComponent("Combobox"),T=e.resolveComponent("Button"),N=e.resolveComponent("DialogFooter"),H=e.resolveComponent("DialogScrollContent"),E=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(E,{open:i.value,"onUpdate:open":[d[3]||(d[3]=S=>i.value=S),a]},{default:e.withCtx(()=>[e.createVNode(f,{asChild:""},{default:e.withCtx(()=>[e.unref(o)()?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-xs text-primary hover:underline",onClick:d[0]||(d[0]=S=>i.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(x,null,{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode("Sort mode settings",-1)])]),_:1}),e.createVNode(B,null,{default:e.withCtx(()=>[...d[5]||(d[5]=[e.createTextVNode(" Select the property (of type number) to sort by. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",Lr,[e.createVNode(P,{by:"label",class:"w-full",resetSearchTermOnBlur:!1,resetSearchTermOnSelect:!0,modelValue:s.value,"onUpdate:modelValue":d[2]||(d[2]=S=>s.value=S)},{default:e.withCtx(()=>[e.createVNode(D,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",Or,[e.createVNode($,null,{default:e.withCtx(()=>[e.createVNode(v,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...d[6]||(d[6]=[e.createTextVNode("Field",-1)])]),_:1})]),_:1}),e.createVNode(M,{modelValue:s.value,"onUpdate:modelValue":d[1]||(d[1]=S=>s.value=S),hideIcon:"",class:"w-full"},null,8,["modelValue"])])]),_:1}),e.createVNode(_,{class:"w-full"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),S=>(e.openBlock(),e.createBlock(k,{key:S.property,value:S.property,onSelect:F=>s.value=S.property},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.property)+" ",1),s.value===S.property?(e.openBlock(),e.createBlock(e.unref(Z.Check),{key:0,class:e.normalizeClass(e.unref(ge.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",Ur,[n.savedField?(e.openBlock(),e.createBlock(T,{key:0,variant:"outline",onClick:c},{default:e.withCtx(()=>[...d[7]||(d[7]=[e.createTextVNode(" Disable sort-mode ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",zr,[e.createVNode(T,{variant:"outline",onClick:g},{default:e.withCtx(()=>[...d[8]||(d[8]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(T,{onClick:m},{default:e.withCtx(()=>[...d[9]||(d[9]=[e.createTextVNode(" Save changes ",-1)])]),_:1})])])]),_:1})]),_:1})]),_:1},8,["open"])}}}),jr={class:"flex flex-col items-start gap-1"},Gr={key:1,class:"flex items-center gap-2"},qr=e.defineComponent({__name:"SortMode",setup(t){const{getModuleData:l,setModuleData:o}=ue.useModuleStorage(),{isAdmin:r}=ue.useModulePermissions(),n=e.inject("table"),a=e.inject("data"),u=e.inject("sortMode",e.ref(!1)),i=e.inject("sortModeProperty",e.ref("")),s=e.inject("saveSortMode",()=>{}),c=f=>{i.value=f.field,o("sortMode",f)};e.onMounted(async()=>{let f=await l("sortMode");i.value=f?.field??""});const g=e.ref(0),m=()=>{u.value=!0,g.value=n?.value?.getState().pagination.pageSize,n?.value?.setPageSize(a.value.length)},p=()=>{u.value=!1,n?.value?.setPageSize(g.value)},d=()=>{s()};return(f,x)=>{const B=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",jr,[(e.unref(i)||e.unref(r)())&&!e.unref(u)?(e.openBlock(),e.createBlock(B,{key:0,variant:"outline",disabled:!e.unref(i),onClick:m},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.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",Gr,[e.createVNode(B,{variant:"outline",size:"icon",onClick:p},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.X),{class:"size-4"})]),_:1}),e.createVNode(B,{onClick:d},{default:e.withCtx(()=>[...x[0]||(x[0]=[e.createTextVNode(" Save order ",-1)])]),_:1})])):e.createCommentVNode("",!0),e.createVNode(Hr,{onSaved:c,"saved-field":e.unref(i)},null,8,["saved-field"])])}}}),Kr=["disabled"],Yr={class:"flex flex-col items-start gap-4 py-4"},Xr={class:"flex flex-col gap-1.5"},Jr={class:"flex items-center gap-2 w-full justify-between"},Wr={class:"flex items-center gap-2 ml-auto"},Zr=e.defineComponent({__name:"DateRangeSettingsDialog",props:{savedDefaultDate:{type:String,default:""}},emits:["saved"],setup(t,{emit:l}){const{isAdmin:o}=ue.useModulePermissions(),r=l,n=t,a=p=>{i.value=p},u=e.inject("sortMode"),i=e.ref(!1),s=e.ref("");e.watch(i,p=>{p&&(s.value=n.savedDefaultDate??"")});const c=()=>{r("saved",""),g()},g=()=>{i.value=!1},m=()=>{r("saved",s.value),g()};return(p,d)=>{const f=e.resolveComponent("DialogTrigger"),x=e.resolveComponent("DialogTitle"),B=e.resolveComponent("DialogHeader"),C=e.resolveComponent("Label"),v=e.resolveComponent("SelectValue"),$=e.resolveComponent("SelectTrigger"),M=e.resolveComponent("SelectItem"),D=e.resolveComponent("SelectLabel"),k=e.resolveComponent("SelectGroup"),w=e.resolveComponent("SelectContent"),_=e.resolveComponent("Select"),P=e.resolveComponent("Button"),T=e.resolveComponent("DialogFooter"),N=e.resolveComponent("DialogScrollContent"),H=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(H,{open:i.value,"onUpdate:open":[d[2]||(d[2]=E=>i.value=E),a]},{default:e.withCtx(()=>[e.createVNode(f,{asChild:""},{default:e.withCtx(()=>[e.unref(o)()?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-xs text-primary hover:underline",disabled:e.unref(u),onClick:d[0]||(d[0]=E=>i.value=!0)},"Settings",8,Kr)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(N,{class:"sm:max-w-lg"},{default:e.withCtx(()=>[e.createVNode(B,null,{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[...d[3]||(d[3]=[e.createTextVNode("Date range filter settings",-1)])]),_:1})]),_:1}),e.createElementVNode("div",Yr,[e.createElementVNode("div",Xr,[e.createVNode(C,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode("Default date",-1)])]),_:1}),e.createVNode(_,{modelValue:s.value,"onUpdate:modelValue":d[1]||(d[1]=E=>s.value=E)},{default:e.withCtx(()=>[e.createVNode($,{class:"w-[180px]"},{default:e.withCtx(()=>[e.createVNode(v,{placeholder:"Select a preset"})]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(M,{value:"today"},{default:e.withCtx(()=>[...d[5]||(d[5]=[e.createTextVNode(" Today ",-1)])]),_:1}),e.createVNode(D,null,{default:e.withCtx(()=>[...d[6]||(d[6]=[e.createTextVNode("Past",-1)])]),_:1}),e.createVNode(M,{value:"yesterday"},{default:e.withCtx(()=>[...d[7]||(d[7]=[e.createTextVNode(" 1 day ago ",-1)])]),_:1}),e.createVNode(M,{value:"last7days"},{default:e.withCtx(()=>[...d[8]||(d[8]=[e.createTextVNode(" Last 7 days ",-1)])]),_:1}),e.createVNode(M,{value:"lastMonth"},{default:e.withCtx(()=>[...d[9]||(d[9]=[e.createTextVNode(" Last 30 days ",-1)])]),_:1}),e.createVNode(M,{value:"last6months"},{default:e.withCtx(()=>[...d[10]||(d[10]=[e.createTextVNode(" Last 6 months ",-1)])]),_:1}),e.createVNode(M,{value:"lastYear"},{default:e.withCtx(()=>[...d[11]||(d[11]=[e.createTextVNode(" Last 12 months ",-1)])]),_:1}),e.createVNode(D,null,{default:e.withCtx(()=>[...d[12]||(d[12]=[e.createTextVNode("Future",-1)])]),_:1}),e.createVNode(M,{value:"tomorrow"},{default:e.withCtx(()=>[...d[13]||(d[13]=[e.createTextVNode(" In 1 day ",-1)])]),_:1}),e.createVNode(M,{value:"next7days"},{default:e.withCtx(()=>[...d[14]||(d[14]=[e.createTextVNode(" Next 7 days ",-1)])]),_:1}),e.createVNode(M,{value:"nextMonth"},{default:e.withCtx(()=>[...d[15]||(d[15]=[e.createTextVNode(" Next 30 days ",-1)])]),_:1}),e.createVNode(M,{value:"next6months"},{default:e.withCtx(()=>[...d[16]||(d[16]=[e.createTextVNode(" Next 6 months ",-1)])]),_:1}),e.createVNode(M,{value:"nextYear"},{default:e.withCtx(()=>[...d[17]||(d[17]=[e.createTextVNode(" Next 12 months ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])]),e.createVNode(T,null,{default:e.withCtx(()=>[e.createElementVNode("div",Jr,[n.savedDefaultDate?(e.openBlock(),e.createBlock(P,{key:0,variant:"outline",onClick:c},{default:e.withCtx(()=>[...d[18]||(d[18]=[e.createTextVNode(" Disable date range filter ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",Wr,[e.createVNode(P,{variant:"outline",onClick:g},{default:e.withCtx(()=>[...d[19]||(d[19]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(P,{onClick:m},{default:e.withCtx(()=>[...d[20]||(d[20]=[e.createTextVNode(" Save changes ",-1)])]),_:1})])])]),_:1})]),_:1})]),_:1},8,["open"])}}}),Qr={class:"flex justify-between w-full p-3 pt-0"},ea={class:"flex gap-2"},ta={class:"w-full mx-auto"},oa={class:"flex justify-center mb-1 w-full px-4"},na=e.defineComponent({__name:"DateRangeFilter",setup(t){const{getModuleData:l,setModuleData:o}=ue.useModuleStorage(),{isAdmin:r}=ue.useModulePermissions(),n=e.inject("sortMode"),a=e.inject("dateRangeFilter"),u=e.inject("getTableData",()=>{}),i=new ce.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"medium"}),s=e.ref({start:ce.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),end:ce.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2())}),c=e.ref(!1),g=e.ref(""),{width:m}=Ht.useWindowSize(),p=e.computed(()=>m.value<640),d=e.ref(!1),f=e.ref({start:void 0,end:void 0}),x=T=>{g.value=T,o("dateRangeFilter",{defaultDate:T})},B=T=>{if(!T)return;const N=h.getDateRangePresets()?.[T],H=N[0].split("-")?.map(S=>parseInt(S)),E=N[1]?N[1].split("-")?.map(S=>parseInt(S)):[];s.value={start:new ce.$35ea8db9cb2ccb90$export$99faa760c7908e4f(H[0],H[1],H[2]),end:E.length>0?new ce.$35ea8db9cb2ccb90$export$99faa760c7908e4f(E[0],E[1],E[2]):new ce.$35ea8db9cb2ccb90$export$99faa760c7908e4f(H[0],H[1],H[2])}},C=T=>{v(T),P()},v=T=>{const N=h.getDateRangePresets()?.[T],H=N[0].split("-")?.map(S=>parseInt(S)),E=N[1]?N[1].split("-")?.map(S=>parseInt(S)):[];f.value={start:new ce.$35ea8db9cb2ccb90$export$99faa760c7908e4f(H[0],H[1],H[2]),end:E.length>0?new ce.$35ea8db9cb2ccb90$export$99faa760c7908e4f(E[0],E[1],E[2]):new ce.$35ea8db9cb2ccb90$export$99faa760c7908e4f(H[0],H[1],H[2])}},$=T=>{const N=T.target.value;N!=="-1"&&(v(N),T.target.value="-1")},M=()=>{s.value={start:f.value.start,end:f.value.end??f.value.start},d.value=!1;const T=s.value.end.toDate(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2());T.setHours(23,59,59,999),a.value=[s.value.start.toDate(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),T],u()},D=()=>{f.value={start:s.value.start,end:s.value.end},d.value=!0},k=()=>{f.value={start:s.value.start,end:s.value.end},c.value=!0},w=e.computed(()=>{if(!f.value.start)return"Pick a date";const T=i.format(f.value.start.toDate(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()));return!f.value.end||f.value.start.toString()===f.value.end.toString()?T:`${T} - ${i.format(f.value.end.toDate(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()))}`}),_=e.computed(()=>{if(!s.value.start)return"";const T=i.format(s.value.start.toDate(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()));return!s.value.end||s.value.start.toString()===s.value.end.toString()?T:`${T} - ${i.format(s.value.end.toDate(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()))}`}),P=()=>{c.value=!1,s.value={start:f.value.start,end:f.value.end??f.value.start};const T=s.value.end.toDate(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2());T.setHours(23,59,59,999),a.value=[s.value.start.toDate(ce.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),T],u()};return e.onMounted(async()=>{const T=await l("dateRangeFilter");g.value=T?.defaultDate??"",g.value?(B(g.value),f.value={start:s.value.start,end:s.value.end},P()):u()}),(T,N)=>{const H=e.resolveComponent("Button"),E=e.resolveComponent("PopoverTrigger"),S=e.resolveComponent("RangeCalendar"),F=e.resolveComponent("DropdownMenuTrigger"),y=e.resolveComponent("DropdownMenuItem"),L=e.resolveComponent("DropdownMenuSeparator"),J=e.resolveComponent("DropdownMenuLabel"),te=e.resolveComponent("DropdownMenuGroup"),le=e.resolveComponent("DropdownMenuContent"),se=e.resolveComponent("DropdownMenu"),re=e.resolveComponent("PopoverContent"),X=e.resolveComponent("Popover"),z=e.resolveComponent("DrawerTrigger"),oe=e.resolveComponent("DrawerTitle"),de=e.resolveComponent("DrawerHeader"),A=e.resolveComponent("DrawerClose"),I=e.resolveComponent("DrawerFooter"),W=e.resolveComponent("DrawerContent"),ie=e.resolveComponent("Drawer");return g.value||e.unref(r)()?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex flex-col items-start gap-1",e.unref(n)?"opacity-50 pointer-events-none":""])},[p.value?(e.openBlock(),e.createBlock(ie,{key:1,open:d.value,"onUpdate:open":N[17]||(N[17]=Q=>d.value=Q)},{default:e.withCtx(()=>[e.createVNode(z,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(H,{variant:"outline",class:e.normalizeClass(e.unref(ge.classNames)("w-[280px] justify-start text-left font-normal",!s.value&&"text-muted-foreground")),disabled:e.unref(n)||!g.value,onClick:D},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.CalendarIcon),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(_.value||"Pick a date"),1)]),_:1},8,["class","disabled"])]),_:1}),e.createVNode(W,null,{default:e.withCtx(()=>[e.createElementVNode("div",ta,[e.createVNode(de,null,{default:e.withCtx(()=>[e.createVNode(oe,{class:"text-center"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(w.value),1)]),_:1})]),_:1}),e.createElementVNode("div",oa,[e.createElementVNode("select",{class:"border px-2 py-1.5 rounded-md text-sm",onChange:$},[...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(S,{modelValue:f.value,"onUpdate:modelValue":N[15]||(N[15]=Q=>f.value=Q),"initial-focus":"","number-of-months":1,class:"mobile-date-range-calendar","onUpdate:startValue":N[16]||(N[16]=Q=>f.value.start=Q)},null,8,["modelValue"]),e.createVNode(I,null,{default:e.withCtx(()=>[e.createVNode(H,{onClick:M},{default:e.withCtx(()=>[...N[35]||(N[35]=[e.createTextVNode("Apply",-1)])]),_:1}),e.createVNode(A,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(X,{key:0,open:c.value,"onUpdate:open":N[14]||(N[14]=Q=>{Q?k():c.value=!1})},{default:e.withCtx(()=>[e.createVNode(E,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(H,{variant:"outline",class:e.normalizeClass(e.unref(ge.classNames)("w-[280px] justify-start text-left font-normal",!s.value&&"text-muted-foreground")),disabled:e.unref(n)||!g.value},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.CalendarIcon),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(_.value||"Pick a date"),1)]),_:1},8,["class","disabled"])]),_:1}),e.createVNode(re,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(S,{modelValue:f.value,"onUpdate:modelValue":N[0]||(N[0]=Q=>f.value=Q),"initial-focus":"","number-of-months":2,"onUpdate:startValue":N[1]||(N[1]=Q=>f.value.start=Q)},null,8,["modelValue"]),e.createElementVNode("div",Qr,[e.createVNode(se,null,{default:e.withCtx(()=>[e.createVNode(F,{"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(le,{class:"w-56"},{default:e.withCtx(()=>[e.createVNode(te,null,{default:e.withCtx(()=>[e.createVNode(y,{onClick:N[2]||(N[2]=Q=>C("today"))},{default:e.withCtx(()=>[...N[19]||(N[19]=[e.createTextVNode(" Today ",-1)])]),_:1}),e.createVNode(L),e.createVNode(J,null,{default:e.withCtx(()=>[...N[20]||(N[20]=[e.createTextVNode("Past",-1)])]),_:1}),e.createVNode(y,{onClick:N[3]||(N[3]=Q=>C("yesterday"))},{default:e.withCtx(()=>[...N[21]||(N[21]=[e.createTextVNode(" 1 day ago ",-1)])]),_:1}),e.createVNode(y,{onClick:N[4]||(N[4]=Q=>C("last7days"))},{default:e.withCtx(()=>[...N[22]||(N[22]=[e.createTextVNode(" Last 7 days ",-1)])]),_:1}),e.createVNode(y,{onClick:N[5]||(N[5]=Q=>C("lastMonth"))},{default:e.withCtx(()=>[...N[23]||(N[23]=[e.createTextVNode(" Last 30 days ",-1)])]),_:1}),e.createVNode(y,{onClick:N[6]||(N[6]=Q=>C("last6months"))},{default:e.withCtx(()=>[...N[24]||(N[24]=[e.createTextVNode(" Last 6 months ",-1)])]),_:1}),e.createVNode(y,{onClick:N[7]||(N[7]=Q=>C("lastYear"))},{default:e.withCtx(()=>[...N[25]||(N[25]=[e.createTextVNode(" Last 12 months ",-1)])]),_:1}),e.createVNode(L),e.createVNode(J,null,{default:e.withCtx(()=>[...N[26]||(N[26]=[e.createTextVNode("Future",-1)])]),_:1}),e.createVNode(y,{onClick:N[8]||(N[8]=Q=>C("tomorrow"))},{default:e.withCtx(()=>[...N[27]||(N[27]=[e.createTextVNode(" In 1 day ",-1)])]),_:1}),e.createVNode(y,{onClick:N[9]||(N[9]=Q=>C("next7days"))},{default:e.withCtx(()=>[...N[28]||(N[28]=[e.createTextVNode(" Next 7 days ",-1)])]),_:1}),e.createVNode(y,{onClick:N[10]||(N[10]=Q=>C("nextMonth"))},{default:e.withCtx(()=>[...N[29]||(N[29]=[e.createTextVNode(" Next 30 days ",-1)])]),_:1}),e.createVNode(y,{onClick:N[11]||(N[11]=Q=>C("next6months"))},{default:e.withCtx(()=>[...N[30]||(N[30]=[e.createTextVNode(" Next 6 months ",-1)])]),_:1}),e.createVNode(y,{onClick:N[12]||(N[12]=Q=>C("nextYear"))},{default:e.withCtx(()=>[...N[31]||(N[31]=[e.createTextVNode(" Next 12 months ",-1)])]),_:1})]),_:1})]),_:1})]),_:1}),e.createElementVNode("div",ea,[e.createVNode(H,{variant:"outline",onClick:N[13]||(N[13]=Q=>c.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(Zr,{onSaved:x,"saved-default-date":g.value},null,8,["saved-default-date"])],2)):e.createCommentVNode("",!0)}}}),la=vt._export_sfc(na,[["__scopeId","data-v-665639f4"]]),ra={class:"grid gap-4 rounded-lg bg-muted/20 p-4"},aa={class:"grid grid-cols-5 items-center gap-4"},ia={class:"grid grid-cols-5 items-center gap-4"},sa={class:"grid grid-cols-5 items-center gap-4"},ua={class:"grid grid-cols-5 items-center gap-4"},da=e.defineComponent({__name:"DialogTableFilterOptionItem",props:{option:{type:Object,required:!0}},emits:["remove"],setup(t,{emit:l}){const o=l;return(r,n)=>{const a=e.resolveComponent("AccordionTrigger"),u=e.resolveComponent("Label"),i=e.resolveComponent("Input"),s=e.resolveComponent("Checkbox"),c=e.resolveComponent("Button"),g=e.resolveComponent("AccordionContent"),m=e.resolveComponent("AccordionItem");return e.openBlock(),e.createBlock(m,{value:t.option.id},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.option.label||t.option.value||"Untitled option"),1)]),_:1}),e.createVNode(g,null,{default:e.withCtx(()=>[e.createElementVNode("div",ra,[e.createElementVNode("div",aa,[e.createVNode(u,{for:`filter-option-value-${t.option.id}`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[4]||(n[4]=[e.createTextVNode(" Value ",-1)])]),_:1},8,["for"]),e.createVNode(i,{id:`filter-option-value-${t.option.id}`,modelValue:t.option.value,"onUpdate:modelValue":n[0]||(n[0]=p=>t.option.value=p),class:"col-span-3"},null,8,["id","modelValue"])]),e.createElementVNode("div",ia,[e.createVNode(u,{for:`filter-option-label-${t.option.id}`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[5]||(n[5]=[e.createTextVNode(" Label ",-1)])]),_:1},8,["for"]),e.createVNode(i,{id:`filter-option-label-${t.option.id}`,modelValue:t.option.label,"onUpdate:modelValue":n[1]||(n[1]=p=>t.option.label=p),class:"col-span-3"},null,8,["id","modelValue"])]),e.createElementVNode("div",sa,[e.createVNode(u,{for:`filter-option-checked-${t.option.id}`,class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[6]||(n[6]=[e.createTextVNode(" Checked by default ",-1)])]),_:1},8,["for"]),e.createVNode(s,{id:`filter-option-checked-${t.option.id}`,modelValue:t.option.checked,"onUpdate:modelValue":n[2]||(n[2]=p=>t.option.checked=p),class:"col-span-3 border-ring"},null,8,["id","modelValue"])]),e.createElementVNode("div",ua,[e.createVNode(u,{class:"col-span-2 text-right"},{default:e.withCtx(()=>[...n[7]||(n[7]=[e.createTextVNode(" Delete option? ",-1)])]),_:1}),e.createVNode(c,{class:"col-span-3",variant:"destructive",onClick:n[3]||(n[3]=p=>o("remove",t.option.id))},{default:e.withCtx(()=>[...n[8]||(n[8]=[e.createTextVNode(" Delete option ",-1)])]),_:1})])])]),_:1})]),_:1},8,["value"])}}}),ca={class:"grid gap-5 rounded-lg border bg-muted/10 p-4"},ma={class:"grid gap-2 sm:grid-cols-2"},pa={class:"grid gap-4 sm:grid-cols-2"},fa={class:"grid gap-1.5"},ga={class:"grid gap-1.5"},va={class:"grid gap-1.5"},xa={class:"grid gap-1.5"},Ca={class:"grid gap-1.5"},Va=e.defineComponent({__name:"NumberComparisonFilterSettings",props:{form:{type:Object,required:!0}},setup(t){const l=t,o=(n,a)=>{const u=Array.isArray(l.form.operators)?[...l.form.operators]:[];if(a===!0&&!u.includes(n))u.push(n);else if(a!==!0){const i=u.indexOf(n);i!==-1&&u.length>1&&u.splice(i,1)}l.form.operators=u,u.includes(l.form.defaultOperator)||(l.form.defaultOperator=u[0])},r=n=>h.NUMBER_COMPARISON_OPERATOR_LABELS[n]??n;return(n,a)=>{const u=e.resolveComponent("Checkbox"),i=e.resolveComponent("Label"),s=e.resolveComponent("SelectValue"),c=e.resolveComponent("SelectTrigger"),g=e.resolveComponent("SelectItem"),m=e.resolveComponent("SelectContent"),p=e.resolveComponent("Select"),d=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",ca,[a[10]||(a[10]=e.createElementVNode("div",null,[e.createElementVNode("p",{class:"text-sm font-medium"},"Numeric comparison settings"),e.createElementVNode("p",{class:"text-xs text-muted-foreground"}," Choose which operators users can select in the table filter. ")],-1)),e.createElementVNode("div",ma,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(h.NUMBER_COMPARISON_OPERATORS),f=>(e.openBlock(),e.createElementBlock("label",{key:f,class:"flex items-center gap-3 text-sm"},[e.createVNode(u,{class:"border-ring","model-value":t.form.operators.includes(f),"onUpdate:modelValue":x=>o(f,x)},null,8,["model-value","onUpdate:modelValue"]),e.createTextVNode(" "+e.toDisplayString(r(f)),1)]))),128))]),e.createElementVNode("div",pa,[e.createElementVNode("div",fa,[e.createVNode(i,{for:"filter_comparison_default_operator"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode("Default operator",-1)])]),_:1}),e.createVNode(p,{modelValue:t.form.defaultOperator,"onUpdate:modelValue":a[0]||(a[0]=f=>t.form.defaultOperator=f)},{default:e.withCtx(()=>[e.createVNode(c,{id:"filter_comparison_default_operator"},{default:e.withCtx(()=>[e.createVNode(s,{placeholder:"Select an operator"})]),_:1}),e.createVNode(m,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.form.operators,f=>(e.openBlock(),e.createBlock(g,{key:f,value:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r(f)),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])]),e.createElementVNode("div",ga,[e.createVNode(i,{for:"filter_comparison_default_value"},{default:e.withCtx(()=>[...a[6]||(a[6]=[e.createTextVNode("Default value",-1)])]),_:1}),e.createVNode(d,{id:"filter_comparison_default_value",modelValue:t.form.defaultValue,"onUpdate:modelValue":a[1]||(a[1]=f=>t.form.defaultValue=f),type:"number",placeholder:"Inactive when empty"},null,8,["modelValue"])]),e.createElementVNode("div",va,[e.createVNode(i,{for:"filter_comparison_step"},{default:e.withCtx(()=>[...a[7]||(a[7]=[e.createTextVNode("Step",-1)])]),_:1}),e.createVNode(d,{id:"filter_comparison_step",modelValue:t.form.step,"onUpdate:modelValue":a[2]||(a[2]=f=>t.form.step=f),type:"number",min:"0"},null,8,["modelValue"])]),e.createElementVNode("div",xa,[e.createVNode(i,{for:"filter_comparison_prefix"},{default:e.withCtx(()=>[...a[8]||(a[8]=[e.createTextVNode("Prefix",-1)])]),_:1}),e.createVNode(d,{id:"filter_comparison_prefix",modelValue:t.form.prefix,"onUpdate:modelValue":a[3]||(a[3]=f=>t.form.prefix=f),placeholder:"€"},null,8,["modelValue"])]),e.createElementVNode("div",Ca,[e.createVNode(i,{for:"filter_comparison_suffix"},{default:e.withCtx(()=>[...a[9]||(a[9]=[e.createTextVNode("Suffix",-1)])]),_:1}),e.createVNode(d,{id:"filter_comparison_suffix",modelValue:t.form.suffix,"onUpdate:modelValue":a[4]||(a[4]=f=>t.form.suffix=f),placeholder:"items"},null,8,["modelValue"])])])])}}}),wa={class:"grid gap-5 rounded-lg border bg-muted/10 p-4"},ya={class:"grid gap-4 sm:grid-cols-2"},ha={class:"grid gap-1.5"},Na={class:"grid gap-1.5"},Sa={class:"grid gap-1.5"},ba={class:"grid gap-1.5"},ka={class:"grid gap-1.5"},_a={class:"grid gap-1.5"},$a={class:"grid gap-4 sm:grid-cols-3"},Ba={class:"grid gap-1.5"},Ea={class:"grid gap-1.5"},Da={class:"grid gap-1.5"},Ra=e.defineComponent({__name:"NumberRangeFilterSettings",props:{form:{type:Object,required:!0}},setup(t){return(l,o)=>{const r=e.resolveComponent("Label"),n=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",wa,[o[18]||(o[18]=e.createElementVNode("div",null,[e.createElementVNode("p",{class:"text-sm font-medium"},"Numeric range settings"),e.createElementVNode("p",{class:"text-xs text-muted-foreground"}," Leave bounds empty to derive them from the table data. ")],-1)),e.createElementVNode("div",ya,[e.createElementVNode("div",ha,[e.createVNode(r,{for:"filter_range_min"},{default:e.withCtx(()=>[...o[9]||(o[9]=[e.createTextVNode("Minimum bound",-1)])]),_:1}),e.createVNode(n,{id:"filter_range_min",modelValue:t.form.min,"onUpdate:modelValue":o[0]||(o[0]=a=>t.form.min=a),type:"number",placeholder:"Derived from data"},null,8,["modelValue"])]),e.createElementVNode("div",Na,[e.createVNode(r,{for:"filter_range_max"},{default:e.withCtx(()=>[...o[10]||(o[10]=[e.createTextVNode("Maximum bound",-1)])]),_:1}),e.createVNode(n,{id:"filter_range_max",modelValue:t.form.max,"onUpdate:modelValue":o[1]||(o[1]=a=>t.form.max=a),type:"number",placeholder:"Derived from data"},null,8,["modelValue"])]),e.createElementVNode("div",Sa,[e.createVNode(r,{for:"filter_range_default_min"},{default:e.withCtx(()=>[...o[11]||(o[11]=[e.createTextVNode("Default minimum",-1)])]),_:1}),e.createVNode(n,{id:"filter_range_default_min",modelValue:t.form.defaultMin,"onUpdate:modelValue":o[2]||(o[2]=a=>t.form.defaultMin=a),type:"number",placeholder:"Minimum bound"},null,8,["modelValue"])]),e.createElementVNode("div",ba,[e.createVNode(r,{for:"filter_range_default_max"},{default:e.withCtx(()=>[...o[12]||(o[12]=[e.createTextVNode("Default maximum",-1)])]),_:1}),e.createVNode(n,{id:"filter_range_default_max",modelValue:t.form.defaultMax,"onUpdate:modelValue":o[3]||(o[3]=a=>t.form.defaultMax=a),type:"number",placeholder:"Maximum bound"},null,8,["modelValue"])]),e.createElementVNode("div",ka,[e.createVNode(r,{for:"filter_range_step"},{default:e.withCtx(()=>[...o[13]||(o[13]=[e.createTextVNode("Step",-1)])]),_:1}),e.createVNode(n,{id:"filter_range_step",modelValue:t.form.step,"onUpdate:modelValue":o[4]||(o[4]=a=>t.form.step=a),type:"number",min:"0"},null,8,["modelValue"])]),e.createElementVNode("div",_a,[e.createVNode(r,{for:"filter_range_bins"},{default:e.withCtx(()=>[...o[14]||(o[14]=[e.createTextVNode("Histogram bins",-1)])]),_:1}),e.createVNode(n,{id:"filter_range_bins",modelValue:t.form.histogramBins,"onUpdate:modelValue":o[5]||(o[5]=a=>t.form.histogramBins=a),type:"number",min:"1",max:"100"},null,8,["modelValue"])])]),e.createElementVNode("div",$a,[e.createElementVNode("div",Ba,[e.createVNode(r,{for:"filter_range_prefix"},{default:e.withCtx(()=>[...o[15]||(o[15]=[e.createTextVNode("Prefix",-1)])]),_:1}),e.createVNode(n,{id:"filter_range_prefix",modelValue:t.form.prefix,"onUpdate:modelValue":o[6]||(o[6]=a=>t.form.prefix=a),placeholder:"€"},null,8,["modelValue"])]),e.createElementVNode("div",Ea,[e.createVNode(r,{for:"filter_range_suffix"},{default:e.withCtx(()=>[...o[16]||(o[16]=[e.createTextVNode("Suffix",-1)])]),_:1}),e.createVNode(n,{id:"filter_range_suffix",modelValue:t.form.suffix,"onUpdate:modelValue":o[7]||(o[7]=a=>t.form.suffix=a),placeholder:"per item"},null,8,["modelValue"])]),e.createElementVNode("div",Da,[e.createVNode(r,{for:"filter_range_locale"},{default:e.withCtx(()=>[...o[17]||(o[17]=[e.createTextVNode("Locale",-1)])]),_:1}),e.createVNode(n,{id:"filter_range_locale",modelValue:t.form.locale,"onUpdate:modelValue":o[8]||(o[8]=a=>t.form.locale=a),placeholder:"nl-BE"},null,8,["modelValue"])])])])}}}),Bt=(t,l=[])=>{if(!(t.optionSource!=="column"||!t.columnId))return(Array.isArray(l)?l:[]).find(o=>o&&!o._remove&&o.type==="badge"&&o.property===t.property&&(o.id||o.property)===t.columnId)},Et=(t,l=[])=>{const o=(Array.isArray(t.options)?t.options:[]).filter(a=>a&&typeof a=="object"&&a.value!=null);if(t.optionSource!=="column")return o;const r=Bt(t,l),n=new Map(o.map(a=>[a.value,a.checked]));return(r?h.getTableBadgeOptions(r):[]).map(a=>({...a,checked:n.get(a.value)===!0}))},Ta={class:"grid gap-4 py-2 sm:grid-cols-3"},Fa={class:"flex flex-col items-start gap-1.5"},Ma={class:"flex flex-col items-start gap-1.5"},Ia={class:"flex flex-col items-start gap-1.5"},Pa={key:0},Aa={key:0,class:"grid gap-4 mb-4 sm:grid-cols-2"},La={class:"space-y-1.5"},Oa={key:0,class:"space-y-1.5"},Ua={class:"text-xs text-muted-foreground mb-2"},za={key:1,class:"space-y-2"},Ha={key:0,class:"text-sm text-muted-foreground"},ja={class:"grid gap-4"},Ga={class:"grid grid-cols-4 items-center gap-4"},qa={class:"grid grid-cols-4 items-center gap-4"},Ka={class:"grid grid-cols-4 items-center gap-4"},Ya={class:"flex justify-end gap-2"},Xa={class:"absolute inset-y-0 left-0 z-10 flex flex-col justify-center gap-1 opacity-0 transition-opacity group-hover:opacity-100"},Ja={key:4,class:"text-sm text-destructive"},Wa=e.defineComponent({__name:"FilterDialog",emits:["filterAdded","filterEdited","filterRemoved"],setup(t,{expose:l,emit:o}){const r=o,n=e.inject("filters"),a=e.inject("columns",e.ref([])),u=e.ref(!1),i=e.ref("add"),s=e.ref(null),c=e.ref(!1),g=()=>({type:"multi-select",label:"",property:"",options:[],optionSource:"custom",columnId:"",min:void 0,max:void 0,step:1,defaultMin:void 0,defaultMax:void 0,prefix:"",suffix:"",locale:"",showSlider:!0,showInputs:!0,showHistogram:!0,histogramBins:30,allowOpenMin:!1,allowOpenMax:!1,inclusive:!0,applyMode:"manual",operators:[...h.NUMBER_COMPARISON_OPERATORS],defaultOperator:"equals",defaultValue:null}),m=e.reactive(g()),p=e.computed(()=>(a.value??[]).filter(E=>!E._remove&&E.type==="badge"&&E.property===m.property.trim())),d=e.computed(()=>Bt({...m,property:m.property.trim()},a.value)),f=e.computed(()=>Et({...m,property:m.property.trim()},a.value)),x=E=>{if(E==="custom")d.value&&(m.options=f.value.map(S=>({...S}))),m.optionSource="custom",m.columnId="";else if(E==="column"&&(m.optionSource="column",!d.value)){const S=p.value[0];m.columnId=S?.id||S?.property||""}},B=(E,S)=>{const F=m.options.find(y=>y.value===E.value);F?F.checked=S===!0:m.options.push({...E,checked:S===!0})},C=e.reactive({value:"",label:"",checked:!1}),v=E=>{i.value=E?"edit":"add",s.value=E??null;const S=g(),F=h.getTableFilterType(E),y=h.getComparisonOperators(E??S);Object.assign(m,S,{type:F,label:E?.label??"",property:E?.property??"",options:E?.options?.map(L=>({...L,id:L.id??crypto.randomUUID()}))??[],optionSource:E?.optionSource==="column"?"column":"custom",columnId:E?.columnId??"",min:h.parseFiniteNumber(E?.min)??void 0,max:h.parseFiniteNumber(E?.max)??void 0,step:h.positiveNumberOr(E?.step,1),defaultMin:h.parseFiniteNumber(E?.defaultMin)??void 0,defaultMax:h.parseFiniteNumber(E?.defaultMax)??void 0,prefix:E?.prefix??"",suffix:E?.suffix??"",locale:E?.locale??"",showSlider:!0,showInputs:!0,showHistogram:!0,histogramBins:Math.min(Math.max(Math.round(h.positiveNumberOr(E?.histogramBins,30)),1),100),allowOpenMin:!1,allowOpenMax:!1,inclusive:!0,applyMode:"manual",operators:y,defaultOperator:h.getDefaultComparisonOperator({...E,operators:y}),defaultValue:h.parseFiniteNumber(E?.defaultValue)}),u.value=!0},$=()=>{m.options.push({id:crypto.randomUUID(),value:C.value,label:C.label,checked:C.checked}),N()},M=()=>{C.value="",C.label="",C.checked=!1},D=E=>{m.options=m.options.filter(S=>S.id!==E)},k=E=>{if(E>0){const S=m.options[E];m.options[E]=m.options[E-1],m.options[E-1]=S}},w=E=>{if(E<m.options.length-1){const S=m.options[E];m.options[E]=m.options[E+1],m.options[E+1]=S}},_=e.computed(()=>{if(!m.property.trim())return"Property is required.";if(n?.value?.some(E=>E.property===m.property.trim()&&E.id!==s.value?.id))return"This property already has a filter. Each property can only have one filter.";if(m.type==="number-range"){const E=h.parseFiniteNumber(m.min),S=h.parseFiniteNumber(m.max),F=h.parseFiniteNumber(m.defaultMin),y=h.parseFiniteNumber(m.defaultMax);if(m.locale.trim()&&!h.normalizeNumberLocale(m.locale))return"Enter a valid Intl locale, such as nl-BE or en-US.";if(E!==null&&S!==null&&E>S)return"The minimum bound cannot be greater than the maximum bound.";if(F!==null&&y!==null&&F>y)return"The default minimum cannot be greater than the default maximum.";if(h.positiveNumberOr(m.step,0)<=0)return"Step must be greater than zero."}if(m.type==="number-comparison"){if(!m.operators.length)return"Select at least one comparison operator.";if(h.positiveNumberOr(m.step,0)<=0)return"Step must be greater than zero."}return m.type==="multi-select"&&m.optionSource==="column"&&!d.value?"Choose a matching badge column, or switch to custom options.":""}),P=()=>{const E={type:m.type,label:m.label,property:m.property.trim()};if(m.type==="number-range"){const S={...E,step:h.positiveNumberOr(m.step,1),prefix:m.prefix,suffix:m.suffix,locale:m.locale,showSlider:!0,showInputs:!0,showHistogram:!0,histogramBins:Math.min(Math.max(Math.round(h.positiveNumberOr(m.histogramBins,30)),1),100),allowOpenMin:!1,allowOpenMax:!1,inclusive:!0,applyMode:"manual"};return["min","max","defaultMin","defaultMax"].forEach(y=>{const L=h.parseFiniteNumber(m[y]);L!==null&&(S[y]=L)}),S}return m.type==="number-comparison"?{...E,operators:[...m.operators],defaultOperator:m.operators.includes(m.defaultOperator)?m.defaultOperator:m.operators[0],defaultValue:h.parseFiniteNumber(m.defaultValue),step:h.positiveNumberOr(m.step,1),prefix:m.prefix,suffix:m.suffix}:{...E,optionSource:m.optionSource,...m.optionSource==="column"?{columnId:m.columnId}:{},options:(m.optionSource==="column"?f.value:m.options).map(S=>({...S}))}},T=()=>{if(_.value)return;const E=P();i.value==="add"?r("filterAdded",E):r("filterEdited",{...E,id:s.value.id}),u.value=!1},N=()=>{c.value=!1,M()},H=()=>{r("filterRemoved",s.value.id),u.value=!1};return l({openDialog:v}),(E,S)=>{const F=e.resolveComponent("DialogTitle"),y=e.resolveComponent("DialogDescription"),L=e.resolveComponent("DialogHeader"),J=e.resolveComponent("Label"),te=e.resolveComponent("Input"),le=e.resolveComponent("SelectValue"),se=e.resolveComponent("SelectTrigger"),re=e.resolveComponent("SelectItem"),X=e.resolveComponent("SelectContent"),z=e.resolveComponent("Select"),oe=e.resolveComponent("Checkbox"),de=e.resolveComponent("Button"),A=e.resolveComponent("PopoverTrigger"),I=e.resolveComponent("PopoverContent"),W=e.resolveComponent("Popover"),ie=e.resolveComponent("Accordion"),Q=e.resolveComponent("DialogFooter"),pe=e.resolveComponent("DialogScrollContent"),j=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(j,{open:u.value,"onUpdate:open":S[8]||(S[8]=G=>u.value=G)},{default:e.withCtx(()=>[e.createVNode(pe,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(L,null,{default:e.withCtx(()=>[e.createVNode(F,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value==="add"?"Add Filter":"Edit Filter"),1)]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value==="add"?"Add a new filter for this table.":"Edit the selected filter."),1)]),_:1})]),_:1}),e.createElementVNode("div",Ta,[e.createElementVNode("div",Fa,[e.createVNode(J,{for:"filter_dialog_label",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...S[9]||(S[9]=[e.createTextVNode("Label",-1)])]),_:1}),e.createVNode(te,{id:"filter_dialog_label",modelValue:m.label,"onUpdate:modelValue":S[0]||(S[0]=G=>m.label=G)},null,8,["modelValue"])]),e.createElementVNode("div",Ma,[e.createVNode(J,{for:"filter_dialog_property",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...S[10]||(S[10]=[e.createTextVNode("Property",-1)])]),_:1}),e.createVNode(te,{id:"filter_dialog_property",modelValue:m.property,"onUpdate:modelValue":S[1]||(S[1]=G=>m.property=G)},null,8,["modelValue"])]),e.createElementVNode("div",Ia,[e.createVNode(J,{for:"filter_dialog_type",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...S[11]||(S[11]=[e.createTextVNode("Type",-1)])]),_:1}),e.createVNode(z,{modelValue:m.type,"onUpdate:modelValue":S[2]||(S[2]=G=>m.type=G)},{default:e.withCtx(()=>[e.createVNode(se,{id:"filter_dialog_type",class:"w-full"},{default:e.withCtx(()=>[e.createVNode(le,{placeholder:"Select a filter type"})]),_:1}),e.createVNode(X,null,{default:e.withCtx(()=>[e.createVNode(re,{value:"multi-select"},{default:e.withCtx(()=>[...S[12]||(S[12]=[e.createTextVNode("Multi-select",-1)])]),_:1}),e.createVNode(re,{value:"number-range"},{default:e.withCtx(()=>[...S[13]||(S[13]=[e.createTextVNode("Numeric range",-1)])]),_:1}),e.createVNode(re,{value:"number-comparison"},{default:e.withCtx(()=>[...S[14]||(S[14]=[e.createTextVNode("Numeric comparison",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])]),m.type==="multi-select"?(e.openBlock(),e.createElementBlock("div",Pa,[p.value.length||m.optionSource==="column"?(e.openBlock(),e.createElementBlock("div",Aa,[e.createElementVNode("div",La,[e.createVNode(J,{for:"filter_option_source"},{default:e.withCtx(()=>[...S[15]||(S[15]=[e.createTextVNode("Option source",-1)])]),_:1}),e.createVNode(z,{"model-value":m.optionSource,"onUpdate:modelValue":x},{default:e.withCtx(()=>[e.createVNode(se,{id:"filter_option_source",class:"w-full"},{default:e.withCtx(()=>[e.createVNode(le)]),_:1}),e.createVNode(X,null,{default:e.withCtx(()=>[e.createVNode(re,{value:"custom"},{default:e.withCtx(()=>[...S[16]||(S[16]=[e.createTextVNode("Custom options",-1)])]),_:1}),e.createVNode(re,{value:"column",disabled:!p.value.length},{default:e.withCtx(()=>[...S[17]||(S[17]=[e.createTextVNode("Use options from column",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1},8,["model-value"])]),m.optionSource==="column"?(e.openBlock(),e.createElementBlock("div",Oa,[e.createVNode(J,{for:"filter_option_column"},{default:e.withCtx(()=>[...S[18]||(S[18]=[e.createTextVNode("Badge column",-1)])]),_:1}),e.createVNode(z,{modelValue:m.columnId,"onUpdate:modelValue":S[3]||(S[3]=G=>m.columnId=G)},{default:e.withCtx(()=>[e.createVNode(se,{id:"filter_option_column",class:"w-full"},{default:e.withCtx(()=>[e.createVNode(le,{placeholder:"Choose a badge column"})]),_:1}),e.createVNode(X,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,G=>(e.openBlock(),e.createBlock(re,{key:G.id||G.property,value:G.id||G.property},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(G.label||G.property),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createVNode(J,{class:"mb-1"},{default:e.withCtx(()=>[...S[19]||(S[19]=[e.createTextVNode("Options",-1)])]),_:1}),e.createElementVNode("p",Ua,e.toDisplayString(m.optionSource==="column"?"Values, labels and colors follow the badge column. Choose this filter’s default selections below.":"Define all options for this filter."),1),m.optionSource==="column"?(e.openBlock(),e.createElementBlock("div",za,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,G=>(e.openBlock(),e.createElementBlock("div",{key:G.id,class:"flex items-center gap-3 rounded-md border p-3"},[e.createVNode(oe,{id:`shared-filter-default-${G.id}`,"model-value":G.checked,"onUpdate:modelValue":me=>B(G,me)},null,8,["id","model-value","onUpdate:modelValue"]),e.createVNode(J,{for:`shared-filter-default-${G.id}`,class:"flex flex-1 items-center justify-between gap-2 cursor-pointer"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(["rounded-full px-2 py-0.5 text-xs font-medium",e.unref(h.DISPLAY_COLOR_CLASSES)[G.color||"neutral"]?.badge||e.unref(h.DISPLAY_COLOR_CLASSES).neutral.badge])},e.toDisplayString(G.label||G.value),3),S[20]||(S[20]=e.createElementVNode("span",{class:"text-xs text-muted-foreground"},"Checked by default",-1))]),_:2},1032,["for"])]))),128)),f.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",Ha,e.toDisplayString(d.value?"Add options in the badge column settings.":"The linked badge column is unavailable for this property."),1))])):(e.openBlock(),e.createBlock(W,{key:2,open:c.value,"onUpdate:open":S[7]||(S[7]=G=>c.value=G)},{default:e.withCtx(()=>[e.createVNode(A,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(de,{variant:"outline"},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.Plus),{class:"size-4"}),S[21]||(S[21]=e.createTextVNode(" Add option ",-1))]),_:1})]),_:1}),e.createVNode(I,{class:"w-80"},{default:e.withCtx(()=>[e.createElementVNode("div",ja,[e.createElementVNode("div",Ga,[e.createVNode(J,{for:"value",class:"text-right"},{default:e.withCtx(()=>[...S[22]||(S[22]=[e.createTextVNode(" Value ",-1)])]),_:1}),e.createVNode(te,{id:"value",class:"col-span-3",modelValue:C.value,"onUpdate:modelValue":S[4]||(S[4]=G=>C.value=G)},null,8,["modelValue"])]),e.createElementVNode("div",qa,[e.createVNode(J,{for:"label",class:"text-right"},{default:e.withCtx(()=>[...S[23]||(S[23]=[e.createTextVNode(" Label ",-1)])]),_:1}),e.createVNode(te,{id:"label",class:"col-span-3",modelValue:C.label,"onUpdate:modelValue":S[5]||(S[5]=G=>C.label=G)},null,8,["modelValue"])]),e.createElementVNode("div",Ka,[e.createVNode(J,{for:"checked",class:"text-right"},{default:e.withCtx(()=>[...S[24]||(S[24]=[e.createTextVNode(" Checked by default ",-1)])]),_:1}),e.createVNode(oe,{id:"checked",class:"col-span-3 border-ring",modelValue:C.checked,"onUpdate:modelValue":S[6]||(S[6]=G=>C.checked=G)},null,8,["modelValue"])]),e.createElementVNode("div",Ya,[e.createVNode(de,{variant:"outline",onClick:N},{default:e.withCtx(()=>[...S[25]||(S[25]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(de,{onClick:$},{default:e.withCtx(()=>[...S[26]||(S[26]=[e.createTextVNode(" Add option ",-1)])]),_:1})])])]),_:1})]),_:1},8,["open"]))])):e.createCommentVNode("",!0),m.type==="multi-select"&&m.optionSource==="custom"?(e.openBlock(),e.createBlock(ie,{key:1,type:"single",collapsible:"",class:"w-full"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.options,(G,me)=>(e.openBlock(),e.createElementBlock("div",{key:G.id,class:"group relative"},[e.createElementVNode("div",Xa,[e.createVNode(de,{variant:"ghost",size:"icon",class:"h-6 w-6",disabled:me===0,onClick:Se=>k(me)},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.ChevronUp),{class:"h-4 w-4"})]),_:1},8,["disabled","onClick"]),e.createVNode(de,{variant:"ghost",size:"icon",class:"h-6 w-6",disabled:me===m.options.length-1,onClick:Se=>w(me)},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.ChevronDown),{class:"h-4 w-4"})]),_:1},8,["disabled","onClick"])]),e.createVNode(da,{option:G,class:"pl-10",onRemove:D},null,8,["option"])]))),128))]),_:1})):m.type==="number-range"?(e.openBlock(),e.createBlock(Ra,{key:2,form:m},null,8,["form"])):m.type==="number-comparison"?(e.openBlock(),e.createBlock(Va,{key:3,form:m},null,8,["form"])):e.createCommentVNode("",!0),_.value?(e.openBlock(),e.createElementBlock("p",Ja,e.toDisplayString(_.value),1)):e.createCommentVNode("",!0),e.createVNode(Q,null,{default:e.withCtx(()=>[i.value==="edit"?(e.openBlock(),e.createBlock(de,{key:0,variant:"destructive",onClick:H},{default:e.withCtx(()=>[...S[27]||(S[27]=[e.createTextVNode(" Remove Filter ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(de,{disabled:!!_.value,onClick:T},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value==="add"?"Add Filter":"Save changes"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),Za={class:"truncate"},Qa={key:0,class:"ml-1 font-normal text-muted-foreground"},ei={class:"grid gap-5 py-5"},ti={class:"grid gap-1.5"},oi={class:"grid gap-1.5"},ni={key:0,class:"pointer-events-none absolute inset-y-0 left-3 z-10 flex items-center text-sm text-muted-foreground"},li={key:1,class:"pointer-events-none absolute inset-y-0 right-3 flex items-center text-sm text-muted-foreground"},ri=e.defineComponent({__name:"NumberComparisonFilter",props:{filter:{type:Object,required:!0}},setup(t){const l=t,o=e.inject("table"),r=e.inject("columns"),n=e.computed(()=>r?.value?.find(w=>!w._remove&&w.property===l.filter.property)),a=e.computed(()=>n.value?h.getTableColumnId(n.value):l.filter.property),u=e.ref(!1),i=e.ref(h.getDefaultComparisonOperator(l.filter)),s=e.ref(),c=e.ref(h.getDefaultComparisonOperator(l.filter)),g=e.ref(),m=e.computed(()=>h.getComparisonOperators(l.filter)),p=e.computed(()=>h.positiveNumberOr(l.filter.step,1)),d=e.computed(()=>h.parseFiniteNumber(s.value)!==null),f=e.computed(()=>{const w=`${p.value}`.split(".")[1];return Math.min(w?.length??0,12)}),x=e.computed(()=>({minimumFractionDigits:0,maximumFractionDigits:Math.max(f.value,6)})),B=()=>o?.value?.getColumn(a.value),C=w=>h.NUMBER_COMPARISON_OPERATOR_LABELS[w],v=w=>{const _=l.filter.prefix?`${l.filter.prefix} `:"",P=l.filter.suffix?` ${l.filter.suffix}`:"";return`${_}${h.formatFilterNumber(w,void 0,Math.max(f.value,6))}${P}`},$=e.computed(()=>{const w=h.parseFiniteNumber(s.value);return w===null?"":`${C(i.value)} ${v(w)}`}),M=()=>{const w=B();if(!w)return;const _=w.getFilterValue(),P=h.parseFiniteNumber(_?.value),T=m.value.includes(_?.operator)?_.operator:h.getDefaultComparisonOperator(l.filter),N=h.parseFiniteNumber(l.filter.defaultValue);i.value=T,s.value=P??N??void 0,c.value=i.value,g.value=s.value,P===null&&N!==null&&w.setFilterValue({operator:T,value:N})},D=()=>{const w=B(),_=h.parseFiniteNumber(g.value),P=m.value.includes(c.value)?c.value:h.getDefaultComparisonOperator(l.filter);i.value=P,s.value=_??void 0,w?.setFilterValue(_===null?void 0:{operator:P,value:_}),u.value=!1},k=()=>{i.value=h.getDefaultComparisonOperator(l.filter),s.value=void 0,c.value=i.value,g.value=void 0,B()?.setFilterValue(void 0),u.value=!1};return e.watch(u,w=>{w&&(c.value=i.value,g.value=s.value)}),e.watch([()=>o?.value,()=>r?.value,()=>JSON.stringify(l.filter)],M,{immediate:!0,deep:!0}),(w,_)=>{const P=e.resolveComponent("Button"),T=e.resolveComponent("ResponsiveModalTrigger"),N=e.resolveComponent("ResponsiveModalTitle"),H=e.resolveComponent("ResponsiveModalDescription"),E=e.resolveComponent("ResponsiveModalHeader"),S=e.resolveComponent("Label"),F=e.resolveComponent("SelectValue"),y=e.resolveComponent("SelectTrigger"),L=e.resolveComponent("SelectItem"),J=e.resolveComponent("SelectContent"),te=e.resolveComponent("Select"),le=e.resolveComponent("NumberFieldInput"),se=e.resolveComponent("NumberFieldContent"),re=e.resolveComponent("NumberField"),X=e.resolveComponent("Separator"),z=e.resolveComponent("ResponsiveModalFooter"),oe=e.resolveComponent("ResponsiveModalScrollContent"),de=e.resolveComponent("ResponsiveModal");return e.openBlock(),e.createBlock(de,{open:u.value,"onUpdate:open":_[2]||(_[2]=A=>u.value=A)},{default:e.withCtx(()=>[e.createVNode(T,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(P,{variant:"outline",class:e.normalizeClass(["max-w-80 justify-between gap-3",{"border-primary text-primary":d.value}])},{default:e.withCtx(()=>[e.createElementVNode("span",Za,[e.createTextVNode(e.toDisplayString(t.filter.label||t.filter.property)+" ",1),d.value?(e.openBlock(),e.createElementBlock("span",Qa,e.toDisplayString($.value),1)):e.createCommentVNode("",!0)]),e.createVNode(e.unref(Z.SlidersHorizontal),{class:"size-4 shrink-0"})]),_:1},8,["class"])]),_:1}),e.createVNode(oe,{class:"sm:max-w-md"},{default:e.withCtx(()=>[e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(N,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.filter.label||t.filter.property),1)]),_:1}),e.createVNode(H,null,{default:e.withCtx(()=>[..._[3]||(_[3]=[e.createTextVNode(" Choose a comparison and enter a numeric value. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",ei,[e.createElementVNode("div",ti,[e.createVNode(S,{for:`number-comparison-operator-${t.filter.id}`},{default:e.withCtx(()=>[..._[4]||(_[4]=[e.createTextVNode("Comparison",-1)])]),_:1},8,["for"]),e.createVNode(te,{modelValue:c.value,"onUpdate:modelValue":_[0]||(_[0]=A=>c.value=A)},{default:e.withCtx(()=>[e.createVNode(y,{id:`number-comparison-operator-${t.filter.id}`,class:"w-full","aria-label":`${t.filter.label||t.filter.property} operator`},{default:e.withCtx(()=>[e.createVNode(F,{placeholder:"Select an operator"})]),_:1},8,["id","aria-label"]),e.createVNode(J,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,A=>(e.openBlock(),e.createBlock(L,{key:A,value:A},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C(A)),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])]),e.createElementVNode("div",oi,[e.createVNode(S,{for:`number-comparison-value-${t.filter.id}`},{default:e.withCtx(()=>[..._[5]||(_[5]=[e.createTextVNode("Value",-1)])]),_:1},8,["for"]),e.createVNode(re,{modelValue:g.value,"onUpdate:modelValue":_[1]||(_[1]=A=>g.value=A),step:p.value,"format-options":x.value,"disable-wheel-change":""},{default:e.withCtx(()=>[e.createVNode(se,null,{default:e.withCtx(()=>[t.filter.prefix?(e.openBlock(),e.createElementBlock("span",ni,e.toDisplayString(t.filter.prefix),1)):e.createCommentVNode("",!0),e.createVNode(le,{id:`number-comparison-value-${t.filter.id}`,class:e.normalizeClass(["h-11 text-left",[t.filter.prefix?"pl-9":"pl-3",t.filter.suffix?"pr-12":"pr-3"]]),"aria-label":`${t.filter.label||t.filter.property} comparison value`,placeholder:"Value"},null,8,["id","class","aria-label"]),t.filter.suffix?(e.openBlock(),e.createElementBlock("span",li,e.toDisplayString(t.filter.suffix),1)):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["modelValue","step","format-options"])])]),e.createVNode(X),e.createVNode(z,{class:"mt-5 gap-2 sm:justify-between"},{default:e.withCtx(()=>[e.createVNode(P,{variant:"ghost",onClick:k},{default:e.withCtx(()=>[..._[6]||(_[6]=[e.createTextVNode(" Reset ",-1)])]),_:1}),e.createVNode(P,{onClick:D},{default:e.withCtx(()=>[..._[7]||(_[7]=[e.createTextVNode(" Apply ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});function Dt(t,l=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY){return Math.min(o,Math.max(l,t))}function rt(t,l){const o=typeof t=="string"&&!l?`${t}Context`:l,r=Symbol(o);return[u=>{const i=e.inject(r,u);if(i||i===null)return i;throw new Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(t)?`one of the following components: ${t.join(", ")}`:`\`${t}\``}`)},u=>(e.provide(r,u),u)]}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ai=t=>typeof t<"u";function Ae(t){var l;const o=e.toValue(t);return(l=o?.$el)!==null&&l!==void 0?l:o}function ii(){const t=e.shallowRef(!1),l=e.getCurrentInstance();return l&&e.onMounted(()=>{t.value=!0},l),t}function si(t){return JSON.parse(JSON.stringify(t))}function ui(t,l,o,r={}){var n,a;const{clone:u=!1,passive:i=!1,eventName:s,deep:c=!1,defaultValue:g,shouldEmit:m}=r,p=e.getCurrentInstance(),d=o||p?.emit||(p==null||(n=p.$emit)===null||n===void 0?void 0:n.bind(p))||(p==null||(a=p.proxy)===null||a===void 0||(a=a.$emit)===null||a===void 0?void 0:a.bind(p?.proxy));let f=s;f=f||`update:${l.toString()}`;const x=v=>u?typeof u=="function"?u(v):si(v):v,B=()=>ai(t[l])?x(t[l]):g,C=v=>{m?m(v)&&d(f,v):d(f,v)};if(i){const v=e.ref(B());let $=!1;return e.watch(()=>t[l],M=>{$||($=!0,v.value=x(M),e.nextTick(()=>$=!1))}),e.watch(v,M=>{!$&&(M!==t[l]||c)&&C(M)},{deep:c}),v}else return e.computed({get(){return B()},set(v){C(v)}})}function Rt(t){return t?t.flatMap(l=>l.type===e.Fragment?Rt(l.children):[l]):[]}const[di]=rt("ConfigProvider");function ci(t){const l=di({dir:e.ref("ltr")});return e.computed(()=>t?.value||l.dir?.value||"ltr")}function mi(t){return e.computed(()=>e.toValue(t)?!!Ae(t)?.closest("form"):!0)}function Ne(){const t=e.getCurrentInstance(),l=e.ref(),o=e.computed(()=>r());e.onUpdated(()=>{o.value!==r()&&e.triggerRef(l)});function r(){return l.value&&"$el"in l.value&&["#text","#comment"].includes(l.value.$el.nodeName)?l.value.$el.nextElementSibling:Ae(l)}const n=Object.assign({},t.exposed),a={};for(const i in t.props)Object.defineProperty(a,i,{enumerable:!0,configurable:!0,get:()=>t.props[i]});if(Object.keys(n).length>0)for(const i in n)Object.defineProperty(a,i,{enumerable:!0,configurable:!0,get:()=>n[i]});Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>t.vnode.el}),t.exposed=a;function u(i){if(l.value=i,!!i&&(Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>i instanceof Element?i:i.$el}),!(i instanceof Element)&&!Object.hasOwn(i,"$el"))){const s=i.$.exposed,c=Object.assign({},a);for(const g in s)Object.defineProperty(c,g,{enumerable:!0,configurable:!0,get:()=>s[g]});t.exposed=c}}return{forwardRef:u,currentRef:l,currentElement:o}}function pi(t){const l=e.ref(),o=e.computed(()=>l.value?.width??0),r=e.computed(()=>l.value?.height??0);return e.onMounted(()=>{const n=Ae(t);if(n){l.value={width:n.offsetWidth,height:n.offsetHeight};const a=new ResizeObserver(u=>{if(!Array.isArray(u)||!u.length)return;const i=u[0];let s,c;if("borderBoxSize"in i){const g=i.borderBoxSize,m=Array.isArray(g)?g[0]:g;s=m.inlineSize,c=m.blockSize}else s=n.offsetWidth,c=n.offsetHeight;l.value={width:s,height:c}});return a.observe(n,{box:"border-box"}),()=>a.unobserve(n)}else l.value=void 0}),{width:o,height:r}}const Qe=e.defineComponent({name:"PrimitiveSlot",inheritAttrs:!1,setup(t,{attrs:l,slots:o}){return()=>{if(!o.default)return null;const r=Rt(o.default()),n=r.findIndex(s=>s.type!==e.Comment);if(n===-1)return r;const a=r[n];delete a.props?.ref;const u=a.props?e.mergeProps(l,a.props):l,i=e.cloneVNode({...a,props:{}},u);return r.length===1?i:(r[n]=i,r)}}}),fi=["area","img","input"],De=e.defineComponent({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(t,{attrs:l,slots:o}){const r=t.asChild?"template":t.as;return typeof r=="string"&&fi.includes(r)?()=>e.h(r,l):r!=="template"?()=>e.h(t.as,l,{default:o.default}):()=>e.h(Qe,l,{default:o.default})}});function et(){const t=e.ref(),l=e.computed(()=>["#text","#comment"].includes(t.value?.$el.nodeName)?t.value?.$el.nextElementSibling:Ae(t));return{primitiveElement:t,currentElement:l}}const pt="data-reka-collection-item";function at(t={}){const{key:l="",isProvider:o=!1}=t,r=`${l}CollectionProvider`;let n;if(o){const g=e.ref(new Map);n={collectionRef:e.ref(),itemMap:g},e.provide(r,n)}else n=e.inject(r);const a=(g=!1)=>{const m=n.collectionRef.value;if(!m)return[];const p=Array.from(m.querySelectorAll(`[${pt}]`)),f=Array.from(n.itemMap.value.values()).sort((x,B)=>p.indexOf(x.ref)-p.indexOf(B.ref));return g?f:f.filter(x=>x.ref.dataset.disabled!=="")},u=e.defineComponent({name:"CollectionSlot",inheritAttrs:!1,setup(g,{slots:m,attrs:p}){const{primitiveElement:d,currentElement:f}=et();return e.watch(f,()=>{n.collectionRef.value=f.value}),()=>e.h(Qe,{ref:d,...p},m)}}),i=e.defineComponent({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(g,{slots:m,attrs:p}){const{primitiveElement:d,currentElement:f}=et();return e.watchEffect(x=>{if(f.value){const B=e.markRaw(f.value);n.itemMap.value.set(B,{ref:f.value,value:g.value}),x(()=>n.itemMap.value.delete(B))}}),()=>e.h(Qe,{...p,[pt]:"",ref:d},m)}}),s=e.computed(()=>Array.from(n.itemMap.value.values())),c=e.computed(()=>n.itemMap.value.size);return{getItems:a,reactiveItems:s,itemMapSize:c,CollectionSlot:u,CollectionItem:i}}var gi=e.defineComponent({__name:"VisuallyHidden",props:{feature:{type:String,required:!1,default:"focusable"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){return(l,o)=>(e.openBlock(),e.createBlock(e.unref(De),{as:l.as,"as-child":l.asChild,"aria-hidden":l.feature==="focusable"?"true":void 0,"data-hidden":l.feature==="fully-hidden"?"":void 0,tabindex:l.feature==="fully-hidden"?"-1":void 0,style:{position:"absolute",border:0,width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",wordWrap:"normal",top:"-1px",left:"-1px"}},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),vi=gi,xi=e.defineComponent({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(t){const l=t,{primitiveElement:o,currentElement:r}=et(),n=e.computed(()=>l.checked??l.value);return e.watch(n,(a,u)=>{if(!r.value)return;const i=r.value,s=window.HTMLInputElement.prototype,g=Object.getOwnPropertyDescriptor(s,"value").set;if(g&&a!==u){const m=new Event("input",{bubbles:!0}),p=new Event("change",{bubbles:!0});g.call(i,a),i.dispatchEvent(m),i.dispatchEvent(p)}}),(a,u)=>(e.openBlock(),e.createBlock(vi,e.mergeProps({ref_key:"primitiveElement",ref:o},{...l,...a.$attrs},{as:"input"}),null,16))}}),ft=xi,Ci=e.defineComponent({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(t){const l=t,o=e.computed(()=>typeof l.value=="object"&&Array.isArray(l.value)&&l.value.length===0&&l.required),r=e.computed(()=>typeof l.value=="string"||typeof l.value=="number"||typeof l.value=="boolean"||l.value===null||l.value===void 0?[{name:l.name,value:l.value}]:typeof l.value=="object"&&Array.isArray(l.value)?l.value.flatMap((n,a)=>typeof n=="object"?Object.entries(n).map(([u,i])=>({name:`${l.name}[${a}][${u}]`,value:i})):{name:`${l.name}[${a}]`,value:n}):l.value!==null&&typeof l.value=="object"&&!Array.isArray(l.value)?Object.entries(l.value).map(([n,a])=>({name:`${l.name}[${n}]`,value:a})):[]);return(n,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createCommentVNode(" We render single input if it's required "),o.value?(e.openBlock(),e.createBlock(ft,e.mergeProps({key:n.name},{...l,...n.$attrs},{name:n.name,value:n.value}),null,16,["name","value"])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(r.value,u=>(e.openBlock(),e.createBlock(ft,e.mergeProps({key:u.name},{ref_for:!0},{...l,...n.$attrs},{name:u.name,value:u.value}),null,16,["name","value"]))),128))],2112))}}),Vi=Ci;function wi(t=[],l,o){const r=[...t];return r[o]=l,r.sort((n,a)=>n-a)}function Tt(t,l,o){const a=100/(o-l)*(t-l);return Dt(a,0,100)}function yi(t,l){return l>2?`Value ${t+1} of ${l}`:l===2?["Minimum","Maximum"][t]:void 0}function hi(t,l){if(t.length===1)return 0;const o=t.map(n=>Math.abs(n-l)),r=Math.min(...o);return o.indexOf(r)}function Ni(t,l,o){const r=t/2,a=it([0,50],[0,r]);return(r-a(l)*o)*o}function Si(t){return t.slice(0,-1).map((l,o)=>t[o+1]-l)}function bi(t,l){if(l>0){const o=Si(t);return Math.min(...o)>=l}return!0}function it(t,l){return o=>{if(t[0]===t[1]||l[0]===l[1])return l[0];const r=(l[1]-l[0])/(t[1]-t[0]);return l[0]+r*(o-t[0])}}function ki(t){return(String(t).split(".")[1]||"").length}function _i(t,l){const o=10**l;return Math.round(t*o)/o}const Ft=["PageUp","PageDown"],Mt=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],It={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageUp","ArrowUp","ArrowLeft"]},[Pt,At]=rt(["SliderVertical","SliderHorizontal"]);var $i=e.defineComponent({__name:"SliderHorizontal",props:{dir:{type:String,required:!1},min:{type:Number,required:!0},max:{type:Number,required:!0},inverted:{type:Boolean,required:!0}},emits:["slideEnd","slideStart","slideMove","homeKeyDown","endKeyDown","stepKeyDown"],setup(t,{emit:l}){const o=t,r=l,{max:n,min:a,dir:u,inverted:i}=e.toRefs(o),{forwardRef:s,currentElement:c}=Ne(),g=ke(),m=e.ref(),p=e.ref(),d=e.computed(()=>u?.value!=="rtl"&&!i.value||u?.value!=="ltr"&&i.value);function f(v,$){const M=p.value||c.value.getBoundingClientRect(),D=[...g.thumbElements.value][g.valueIndexToChangeRef.value],k=g.thumbAlignment.value==="contain"?D.clientWidth:0;!m.value&&!$&&g.thumbAlignment.value==="contain"&&(m.value=v.clientX-D.getBoundingClientRect().left);const w=[0,M.width-k],_=d.value?[a.value,n.value]:[n.value,a.value],P=it(w,_);p.value=M;const T=$?v.clientX-M.left-k/2:v.clientX-M.left-(m.value??0);return P(T)}const x=e.computed(()=>d.value?"left":"right"),B=e.computed(()=>d.value?"right":"left"),C=e.computed(()=>d.value?1:-1);return At({startEdge:x,endEdge:B,direction:C,size:"width"}),(v,$)=>(e.openBlock(),e.createBlock(Lt,{ref:e.unref(s),dir:e.unref(u),"data-orientation":"horizontal",style:e.normalizeStyle({"--reka-slider-thumb-transform":!d.value&&e.unref(g).thumbAlignment.value==="overflow"?"translateX(50%)":"translateX(-50%)"}),onSlideStart:$[0]||($[0]=M=>{const D=f(M,!0);r("slideStart",D)}),onSlideMove:$[1]||($[1]=M=>{const D=f(M);r("slideMove",D)}),onSlideEnd:$[2]||($[2]=()=>{p.value=void 0,m.value=void 0,r("slideEnd")}),onStepKeyDown:$[3]||($[3]=M=>{const D=d.value?"from-left":"from-right",k=e.unref(It)[D].includes(M.key);r("stepKeyDown",M,k?-1:1)}),onEndKeyDown:$[4]||($[4]=M=>r("endKeyDown",M)),onHomeKeyDown:$[5]||($[5]=M=>r("homeKeyDown",M))},{default:e.withCtx(()=>[e.renderSlot(v.$slots,"default")]),_:3},8,["dir","style"]))}}),Bi=$i,Ei=e.defineComponent({__name:"SliderVertical",props:{min:{type:Number,required:!0},max:{type:Number,required:!0},inverted:{type:Boolean,required:!0}},emits:["slideEnd","slideStart","slideMove","homeKeyDown","endKeyDown","stepKeyDown"],setup(t,{emit:l}){const o=t,r=l,{max:n,min:a,inverted:u}=e.toRefs(o),i=ke(),{forwardRef:s,currentElement:c}=Ne(),g=e.ref(),m=e.ref(),p=e.computed(()=>!u.value);function d(C,v){const $=m.value||c.value.getBoundingClientRect(),M=[...i.thumbElements.value][i.valueIndexToChangeRef.value],D=i.thumbAlignment.value==="contain"?M.clientHeight:0;!g.value&&!v&&i.thumbAlignment.value==="contain"&&(g.value=C.clientY-M.getBoundingClientRect().top);const k=[0,$.height-D],w=p.value?[n.value,a.value]:[a.value,n.value],_=it(k,w),P=v?C.clientY-$.top-D/2:C.clientY-$.top-(g.value??0);return m.value=$,_(P)}const f=e.computed(()=>p.value?"bottom":"top"),x=e.computed(()=>p.value?"top":"bottom"),B=e.computed(()=>p.value?1:-1);return At({startEdge:f,endEdge:x,direction:B,size:"height"}),(C,v)=>(e.openBlock(),e.createBlock(Lt,{ref:e.unref(s),"data-orientation":"vertical",style:e.normalizeStyle({"--reka-slider-thumb-transform":!p.value&&e.unref(i).thumbAlignment.value==="overflow"?"translateY(-50%)":"translateY(50%)"}),onSlideStart:v[0]||(v[0]=$=>{const M=d($,!0);r("slideStart",M)}),onSlideMove:v[1]||(v[1]=$=>{const M=d($);r("slideMove",M)}),onSlideEnd:v[2]||(v[2]=()=>{m.value=void 0,g.value=void 0,r("slideEnd")}),onStepKeyDown:v[3]||(v[3]=$=>{const M=p.value?"from-bottom":"from-top",D=e.unref(It)[M].includes($.key);r("stepKeyDown",$,D?-1:1)}),onEndKeyDown:v[4]||(v[4]=$=>r("endKeyDown",$)),onHomeKeyDown:v[5]||(v[5]=$=>r("homeKeyDown",$))},{default:e.withCtx(()=>[e.renderSlot(C.$slots,"default")]),_:3},8,["style"]))}}),Di=Ei;const[ke,Ri]=rt("SliderRoot");var Ti=e.defineComponent({inheritAttrs:!1,__name:"SliderRoot",props:{defaultValue:{type:Array,required:!1,default:()=>[0]},modelValue:{type:[Array,null],required:!1},disabled:{type:Boolean,required:!1,default:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},inverted:{type:Boolean,required:!1,default:!1},min:{type:Number,required:!1,default:0},max:{type:Number,required:!1,default:100},step:{type:Number,required:!1,default:1},minStepsBetweenThumbs:{type:Number,required:!1,default:0},thumbAlignment:{type:String,required:!1,default:"contain"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","valueCommit"],setup(t,{emit:l}){const o=t,r=l,{min:n,max:a,step:u,minStepsBetweenThumbs:i,orientation:s,disabled:c,thumbAlignment:g,dir:m}=e.toRefs(o),p=ci(m),{forwardRef:d,currentElement:f}=Ne(),x=mi(f),{CollectionSlot:B}=at({isProvider:!0}),C=ui(o,"modelValue",r,{defaultValue:o.defaultValue,passive:o.modelValue===void 0}),v=e.computed(()=>Array.isArray(C.value)?[...C.value]:[]),$=e.ref(0),M=e.ref(v.value);function D(T){const N=hi(v.value,T);_(T,N)}function k(T){_(T,$.value)}function w(){const T=M.value[$.value];v.value[$.value]!==T&&r("valueCommit",e.toRaw(v.value))}function _(T,N,{commit:H}={commit:!1}){const E=ki(u.value),S=_i(Math.round((T-n.value)/u.value)*u.value+n.value,E),F=Dt(S,n.value,a.value),y=wi(v.value,F,N);if(bi(y,i.value*u.value)){$.value=y.indexOf(F);const L=String(y)!==String(C.value);L&&H&&r("valueCommit",y),L&&(P.value[$.value]?.focus(),C.value=y)}}const P=e.ref([]);return Ri({modelValue:C,currentModelValue:v,valueIndexToChangeRef:$,thumbElements:P,orientation:s,min:n,max:a,disabled:c,thumbAlignment:g}),(T,N)=>(e.openBlock(),e.createBlock(e.unref(B),null,{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(s)==="horizontal"?Bi:Di),e.mergeProps(T.$attrs,{ref:e.unref(d),"as-child":T.asChild,as:T.as,min:e.unref(n),max:e.unref(a),dir:e.unref(p),inverted:T.inverted,"aria-disabled":e.unref(c),"data-disabled":e.unref(c)?"":void 0,onPointerdown:N[0]||(N[0]=()=>{e.unref(c)||(M.value=v.value)}),onSlideStart:N[1]||(N[1]=H=>!e.unref(c)&&D(H)),onSlideMove:N[2]||(N[2]=H=>!e.unref(c)&&k(H)),onSlideEnd:N[3]||(N[3]=H=>!e.unref(c)&&w()),onHomeKeyDown:N[4]||(N[4]=H=>!e.unref(c)&&_(e.unref(n),0,{commit:!0})),onEndKeyDown:N[5]||(N[5]=H=>!e.unref(c)&&_(e.unref(a),v.value.length-1,{commit:!0})),onStepKeyDown:N[6]||(N[6]=(H,E)=>{if(!e.unref(c)){const y=e.unref(Ft).includes(H.key)||H.shiftKey&&e.unref(Mt).includes(H.key)?10:1,L=$.value,J=v.value[L],te=e.unref(u)*y*E;_(J+te,L,{commit:!0})}})}),{default:e.withCtx(()=>[e.renderSlot(T.$slots,"default",{modelValue:e.unref(C)}),e.unref(x)&&T.name?(e.openBlock(),e.createBlock(e.unref(Vi),{key:0,type:"number",value:e.unref(C),name:T.name,required:T.required,disabled:e.unref(c),step:e.unref(u)},null,8,["value","name","required","disabled","step"])):e.createCommentVNode("v-if",!0)]),_:3},16,["as-child","as","min","max","dir","inverted","aria-disabled","data-disabled"]))]),_:3}))}}),Fi=Ti,Mi=e.defineComponent({__name:"SliderImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},emits:["slideStart","slideMove","slideEnd","homeKeyDown","endKeyDown","stepKeyDown"],setup(t,{emit:l}){const o=t,r=l,n=ke();return(a,u)=>(e.openBlock(),e.createBlock(e.unref(De),e.mergeProps({"data-slider-impl":""},o,{onKeydown:u[0]||(u[0]=i=>{i.key==="Home"?(r("homeKeyDown",i),i.preventDefault()):i.key==="End"?(r("endKeyDown",i),i.preventDefault()):e.unref(Ft).concat(e.unref(Mt)).includes(i.key)&&(r("stepKeyDown",i),i.preventDefault())}),onPointerdown:u[1]||(u[1]=i=>{const s=i.target;s.setPointerCapture(i.pointerId),i.preventDefault(),e.unref(n).thumbElements.value.includes(s)?s.focus():r("slideStart",i)}),onPointermove:u[2]||(u[2]=i=>{i.target.hasPointerCapture(i.pointerId)&&r("slideMove",i)}),onPointerup:u[3]||(u[3]=i=>{const s=i.target;s.hasPointerCapture(i.pointerId)&&(s.releasePointerCapture(i.pointerId),r("slideEnd",i))})}),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16))}}),Lt=Mi,Ii=e.defineComponent({__name:"SliderRange",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const l=ke(),o=Pt();Ne();const r=e.computed(()=>l.currentModelValue.value.map(u=>Tt(u,l.min.value,l.max.value))),n=e.computed(()=>l.currentModelValue.value.length>1?Math.min(...r.value):0),a=e.computed(()=>100-Math.max(...r.value,0));return(u,i)=>(e.openBlock(),e.createBlock(e.unref(De),{"data-disabled":e.unref(l).disabled.value?"":void 0,"data-orientation":e.unref(l).orientation.value,"as-child":u.asChild,as:u.as,style:e.normalizeStyle({[e.unref(o).startEdge.value]:`${n.value}%`,[e.unref(o).endEdge.value]:`${a.value}%`})},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},8,["data-disabled","data-orientation","as-child","as","style"]))}}),Pi=Ii,Ai=e.defineComponent({inheritAttrs:!1,__name:"SliderThumbImpl",props:{index:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const l=t,o=ke(),r=Pt(),{forwardRef:n,currentElement:a}=Ne(),{CollectionItem:u}=at(),i=e.computed(()=>o.modelValue?.value?.[l.index]),s=e.computed(()=>i.value===void 0?0:Tt(i.value,o.min.value??0,o.max.value??100)),c=e.computed(()=>yi(l.index,o.modelValue?.value?.length??0)),g=pi(a),m=e.computed(()=>g[r.size].value),p=e.computed(()=>o.thumbAlignment.value==="overflow"||!m.value?0:Ni(m.value,s.value,r.direction.value)),d=ii();return e.onMounted(()=>{o.thumbElements.value.push(a.value)}),e.onUnmounted(()=>{const f=o.thumbElements.value.findIndex(x=>x===a.value)??-1;o.thumbElements.value.splice(f,1)}),(f,x)=>(e.openBlock(),e.createBlock(e.unref(u),null,{default:e.withCtx(()=>[e.createVNode(e.unref(De),e.mergeProps(f.$attrs,{ref:e.unref(n),role:"slider",tabindex:e.unref(o).disabled.value?void 0:0,"aria-label":f.$attrs["aria-label"]||c.value,"data-disabled":e.unref(o).disabled.value?"":void 0,"data-orientation":e.unref(o).orientation.value,"aria-valuenow":i.value,"aria-valuemin":e.unref(o).min.value,"aria-valuemax":e.unref(o).max.value,"aria-orientation":e.unref(o).orientation.value,"as-child":f.asChild,as:f.as,style:{transform:"var(--reka-slider-thumb-transform)",position:"absolute",[e.unref(r).startEdge.value]:`calc(${s.value}% + ${p.value}px)`,display:!e.unref(d)&&i.value===void 0?"none":void 0},onFocus:x[0]||(x[0]=()=>{e.unref(o).valueIndexToChangeRef.value=f.index})}),{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:3},16,["tabindex","aria-label","data-disabled","data-orientation","aria-valuenow","aria-valuemin","aria-valuemax","aria-orientation","as-child","as","style"])]),_:3}))}}),Li=Ai,Oi=e.defineComponent({__name:"SliderThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const l=t,{getItems:o}=at(),{forwardRef:r,currentElement:n}=Ne(),a=e.computed(()=>n.value?o(!0).findIndex(u=>u.ref===n.value):-1);return(u,i)=>(e.openBlock(),e.createBlock(Li,e.mergeProps({ref:e.unref(r)},l,{index:a.value}),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},16,["index"]))}}),gt=Oi,Ui=e.defineComponent({__name:"SliderTrack",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const l=ke();return Ne(),(o,r)=>(e.openBlock(),e.createBlock(e.unref(De),{"as-child":o.asChild,as:o.as,"data-disabled":e.unref(l).disabled.value?"":void 0,"data-orientation":e.unref(l).orientation.value},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["as-child","as","data-disabled","data-orientation"]))}}),zi=Ui;const Hi={class:"truncate"},ji={key:0,class:"ml-1 font-normal text-muted-foreground"},Gi={class:"grid gap-6 py-5"},qi={class:"flex items-center justify-between gap-4 text-sm font-medium"},Ki={class:"relative h-28 px-2"},Yi={class:"pointer-events-none absolute inset-x-2 bottom-4 flex h-24 items-end gap-px","aria-hidden":"true"},Xi={class:"grid gap-4 sm:grid-cols-2"},Ji={class:"grid gap-1.5"},Wi={key:0,class:"pointer-events-none absolute inset-y-0 left-3 z-10 flex items-center text-sm text-muted-foreground"},Zi={key:1,class:"pointer-events-none absolute inset-y-0 right-3 flex items-center text-sm text-muted-foreground"},Qi={class:"grid gap-1.5"},es={key:0,class:"pointer-events-none absolute inset-y-0 left-3 z-10 flex items-center text-sm text-muted-foreground"},ts={key:1,class:"pointer-events-none absolute inset-y-0 right-3 flex items-center text-sm text-muted-foreground"},os={class:"text-center text-sm text-muted-foreground","aria-live":"polite"},ns={class:"font-medium text-foreground"},ls={class:"font-medium text-foreground"},rs=e.defineComponent({__name:"NumberRangeFilter",props:{filter:{type:Object,required:!0}},setup(t){const l=t,o=e.inject("table"),r=e.inject("data"),n=e.inject("columns"),a=h.useTableClock(),u=e.computed(()=>n?.value?.find(A=>!A._remove&&A.property===l.filter.property)),i=e.computed(()=>u.value?h.getTableColumnId(u.value):l.filter.property),s=e.ref(!1),c=e.ref([0,100]),g=e.ref({min:null,max:null}),m=e.ref(!1),p=A=>u.value?.type==="progress"?h.getColumnCellValue(A,u.value,a.value):h.resolveProperty(A,l.filter.property),d=e.computed(()=>h.positiveNumberOr(l.filter.step,1)),f=e.computed(()=>(r?.value??[]).map(A=>h.parseFiniteNumber(p(A))).filter(A=>A!==null)),x=e.computed(()=>{const A=h.parseFiniteNumber(l.filter.min),I=h.parseFiniteNumber(l.filter.max),W=f.value,ie=W.reduce((G,me)=>Math.min(G,me),Number.POSITIVE_INFINITY),Q=W.reduce((G,me)=>Math.max(G,me),Number.NEGATIVE_INFINITY);let pe=A??(W.length?ie:0),j=I??(W.length?Q:pe+d.value*100);return j<pe&&([pe,j]=[j,pe]),j===pe&&(j=pe+d.value),{min:pe,max:j}}),B=(A,I)=>{const W=h.snapNumberToStep(A,x.value.min,d.value),ie=h.clampNumber(W,x.value.min,x.value.max);return I==="min"?Math.min(ie,c.value[1]):Math.max(ie,c.value[0])},C=A=>({min:A[0],max:A[1]}),v=A=>{let I=A.min??x.value.min,W=A.max??x.value.max;return I=h.clampNumber(h.snapNumberToStep(I,x.value.min,d.value),x.value.min,x.value.max),W=h.clampNumber(h.snapNumberToStep(W,x.value.min,d.value),x.value.min,x.value.max),I>W&&(I=W),[I,W]},$=e.computed(()=>{let A=h.parseFiniteNumber(l.filter.defaultMin)??x.value.min,I=h.parseFiniteNumber(l.filter.defaultMax)??x.value.max;return A=h.clampNumber(h.snapNumberToStep(A,x.value.min,d.value),x.value.min,x.value.max),I=h.clampNumber(h.snapNumberToStep(I,x.value.min,d.value),x.value.min,x.value.max),A>I&&([A,I]=[I,A]),[A,I]}),M=e.computed(()=>C($.value)),D=e.computed(()=>m.value),k=e.computed(()=>h.normalizeNumberLocale(l.filter.locale)),w=e.computed(()=>{const A=`${d.value}`.split(".")[1];return Math.min(A?.length??0,12)}),_=e.computed(()=>({minimumFractionDigits:0,maximumFractionDigits:Math.max(w.value,6)})),P=A=>{const I=h.formatFilterNumber(A,k.value,Math.max(w.value,6)),W=l.filter.prefix?`${l.filter.prefix} `:"",ie=l.filter.suffix?` ${l.filter.suffix}`:"";return`${W}${I}${ie}`},T=(A,I)=>P(I==="min"?A.min??x.value.min:A.max??x.value.max),N=e.computed(()=>C(c.value)),H=e.computed(()=>`${T(g.value,"min")} – ${T(g.value,"max")}`),E=()=>o?.value?.getColumn(i.value),S=A=>{g.value={...A},m.value=!0,E()?.setFilterValue({...A})},F=A=>{if(!A||A.length<2)return;const I=h.clampNumber(A[0],x.value.min,x.value.max),W=h.clampNumber(A[1],x.value.min,x.value.max);c.value=I<=W?[I,W]:[W,I]},y=A=>{const I=h.parseFiniteNumber(A),W=I===null?x.value.min:B(I,"min");F([W,c.value[1]])},L=A=>{const I=h.parseFiniteNumber(A),W=I===null?x.value.max:B(I,"max");F([c.value[0],W])},J=()=>{S(C(c.value)),s.value=!1},te=()=>{c.value=[...$.value],g.value={...M.value},m.value=!1,E()?.setFilterValue(void 0),s.value=!1},le=()=>{const A=E();if(!A)return;const I=A.getFilterValue(),W=h.parseFiniteNumber(l.filter.min)===null||h.parseFiniteNumber(l.filter.max)===null;if((!I||typeof I!="object")&&W&&!f.value.length)return;if(I&&typeof I=="object"&&!Array.isArray(I)){const Q=C(v({min:I.min==null?x.value.min:h.parseFiniteNumber(I.min),max:I.max==null?x.value.max:h.parseFiniteNumber(I.max)}));g.value=Q,c.value=v(Q),m.value=!0,(I.min!==Q.min||I.max!==Q.max)&&A.setFilterValue({...Q})}else g.value={...M.value},c.value=[...$.value],m.value=!1},se=e.computed(()=>(o?.value?.getState()?.columnFilters,o?.value?.getState()?.globalFilter,r?.value,E()?.getFacetedRowModel()?.flatRows??null)),re=e.computed(()=>{const A=se.value;return A?A.map(I=>h.parseFiniteNumber(I.getValue(i.value))).filter(I=>I!==null):f.value}),X=e.computed(()=>{const A=Math.min(Math.max(Math.round(h.positiveNumberOr(l.filter.histogramBins,30)),1),100),I=Array.from({length:A},()=>0),W=x.value.max-x.value.min;return re.value.forEach(ie=>{if(ie<x.value.min||ie>x.value.max)return;const Q=W===0?0:(ie-x.value.min)/W,pe=Math.min(Math.floor(Q*A),A-1);I[pe]+=1}),I}),z=e.computed(()=>Math.max(...X.value,1)),oe=e.computed(()=>se.value?.length??(r?.value??[]).length),de=e.computed(()=>{const A=N.value,I=se.value;return I?I.reduce((W,ie)=>W+(h.matchesNumberRange(ie.getValue(i.value),A,!0)?1:0),0):(r?.value??[]).reduce((W,ie)=>W+(h.matchesNumberRange(p(ie),A,!0)?1:0),0)});return e.watch(s,A=>{A&&(c.value=v(g.value))}),e.watch([()=>o?.value,()=>n?.value,()=>r?.value,()=>JSON.stringify(l.filter)],le,{immediate:!0,deep:!0}),(A,I)=>{const W=e.resolveComponent("Button"),ie=e.resolveComponent("ResponsiveModalTrigger"),Q=e.resolveComponent("ResponsiveModalTitle"),pe=e.resolveComponent("ResponsiveModalDescription"),j=e.resolveComponent("ResponsiveModalHeader"),G=e.resolveComponent("Label"),me=e.resolveComponent("NumberFieldInput"),Se=e.resolveComponent("NumberFieldContent"),Le=e.resolveComponent("NumberField"),b=e.resolveComponent("Separator"),V=e.resolveComponent("ResponsiveModalFooter"),O=e.resolveComponent("ResponsiveModalScrollContent"),ae=e.resolveComponent("ResponsiveModal");return e.openBlock(),e.createBlock(ae,{open:s.value,"onUpdate:open":I[0]||(I[0]=R=>s.value=R)},{default:e.withCtx(()=>[e.createVNode(ie,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(W,{variant:"outline",class:e.normalizeClass(["max-w-80 justify-between gap-3",{"border-primary text-primary":D.value}])},{default:e.withCtx(()=>[e.createElementVNode("span",Hi,[e.createTextVNode(e.toDisplayString(t.filter.label||t.filter.property)+" ",1),D.value?(e.openBlock(),e.createElementBlock("span",ji,e.toDisplayString(H.value),1)):e.createCommentVNode("",!0)]),e.createVNode(e.unref(Z.SlidersHorizontal),{class:"size-4 shrink-0"})]),_:1},8,["class"])]),_:1}),e.createVNode(O,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(j,null,{default:e.withCtx(()=>[e.createVNode(Q,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.filter.label||t.filter.property),1)]),_:1}),e.createVNode(pe,null,{default:e.withCtx(()=>[...I[1]||(I[1]=[e.createTextVNode(" Choose a minimum and maximum value. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",Gi,[e.createElementVNode("div",qi,[e.createElementVNode("span",null,e.toDisplayString(T(N.value,"min")),1),e.createElementVNode("span",null,e.toDisplayString(T(N.value,"max")),1)]),e.createElementVNode("div",Ki,[e.createElementVNode("div",Yi,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(X.value,(R,U)=>(e.openBlock(),e.createElementBlock("span",{key:U,class:"min-w-0 flex-1 rounded-t-sm bg-primary/45 transition-[height]",style:e.normalizeStyle({height:R?`${Math.max(R/z.value*100,4)}%`:"2px"})},null,4))),128))]),e.createVNode(e.unref(Fi),{"model-value":c.value,min:x.value.min,max:x.value.max,step:d.value,"min-steps-between-thumbs":0,class:"absolute inset-x-2 bottom-2 z-10 flex h-5 touch-none select-none items-center","onUpdate:modelValue":F},{default:e.withCtx(()=>[e.createVNode(e.unref(zi),{class:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary"},{default:e.withCtx(()=>[e.createVNode(e.unref(Pi),{class:"absolute h-full bg-primary"})]),_:1}),e.createVNode(e.unref(gt),{class:"block size-6 rounded-full border-2 border-primary bg-background shadow-md ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","aria-label":`${t.filter.label||t.filter.property} minimum`,"aria-valuetext":T(N.value,"min")},null,8,["aria-label","aria-valuetext"]),e.createVNode(e.unref(gt),{class:"block size-6 rounded-full border-2 border-primary bg-background shadow-md ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","aria-label":`${t.filter.label||t.filter.property} maximum`,"aria-valuetext":T(N.value,"max")},null,8,["aria-label","aria-valuetext"])]),_:1},8,["model-value","min","max","step"])]),e.createElementVNode("div",Xi,[e.createElementVNode("div",Ji,[e.createVNode(G,{for:`number-range-min-${t.filter.id}`},{default:e.withCtx(()=>[...I[2]||(I[2]=[e.createTextVNode("Minimum",-1)])]),_:1},8,["for"]),e.createVNode(Le,{"model-value":c.value[0],min:x.value.min,max:c.value[1],step:d.value,locale:k.value,"format-options":_.value,"disable-wheel-change":"","onUpdate:modelValue":y},{default:e.withCtx(()=>[e.createVNode(Se,null,{default:e.withCtx(()=>[t.filter.prefix?(e.openBlock(),e.createElementBlock("span",Wi,e.toDisplayString(t.filter.prefix),1)):e.createCommentVNode("",!0),e.createVNode(me,{id:`number-range-min-${t.filter.id}`,class:e.normalizeClass(["h-11 text-left",[t.filter.prefix?"pl-9":"pl-3",t.filter.suffix||N.value.min===null?"pr-12":"pr-3"]])},null,8,["id","class"]),t.filter.suffix||N.value.min===null?(e.openBlock(),e.createElementBlock("span",Zi,e.toDisplayString(t.filter.suffix)+e.toDisplayString(N.value.min===null?"−":""),1)):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["model-value","min","max","step","locale","format-options"])]),e.createElementVNode("div",Qi,[e.createVNode(G,{for:`number-range-max-${t.filter.id}`},{default:e.withCtx(()=>[...I[3]||(I[3]=[e.createTextVNode("Maximum",-1)])]),_:1},8,["for"]),e.createVNode(Le,{"model-value":c.value[1],min:c.value[0],max:x.value.max,step:d.value,locale:k.value,"format-options":_.value,"disable-wheel-change":"","onUpdate:modelValue":L},{default:e.withCtx(()=>[e.createVNode(Se,null,{default:e.withCtx(()=>[t.filter.prefix?(e.openBlock(),e.createElementBlock("span",es,e.toDisplayString(t.filter.prefix),1)):e.createCommentVNode("",!0),e.createVNode(me,{id:`number-range-max-${t.filter.id}`,class:e.normalizeClass(["h-11 text-left",[t.filter.prefix?"pl-9":"pl-3",t.filter.suffix||N.value.max===null?"pr-12":"pr-3"]])},null,8,["id","class"]),t.filter.suffix||N.value.max===null?(e.openBlock(),e.createElementBlock("span",ts,e.toDisplayString(t.filter.suffix)+e.toDisplayString(N.value.max===null?"+":""),1)):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["model-value","min","max","step","locale","format-options"])])]),e.createElementVNode("p",os,[I[4]||(I[4]=e.createTextVNode(" Showing ",-1)),e.createElementVNode("span",ns,e.toDisplayString(de.value),1),I[5]||(I[5]=e.createTextVNode(" of ",-1)),e.createElementVNode("span",ls,e.toDisplayString(oe.value),1),I[6]||(I[6]=e.createTextVNode(" results ",-1))])]),e.createVNode(b),e.createVNode(V,{class:"mt-5 gap-2 sm:justify-between"},{default:e.withCtx(()=>[e.createVNode(W,{variant:"ghost",onClick:te},{default:e.withCtx(()=>[...I[7]||(I[7]=[e.createTextVNode(" Reset ",-1)])]),_:1}),e.createVNode(W,{onClick:J},{default:e.withCtx(()=>[...I[8]||(I[8]=[e.createTextVNode(" Apply ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),as={class:"flex flex-wrap gap-2 mb-4"},is={class:"truncate w-full text-left font-medium"},ss={key:1},us={key:0,class:"max-w-64 px-2 py-1.5 text-xs text-muted-foreground"},ds=["onClick"],cs=e.defineComponent({__name:"Filters",setup(t){const l=e.inject("table"),o=e.inject("data"),r=e.inject("filters",e.ref([])),n=e.inject("columns",e.ref([])),{getModuleData:a,setModuleData:u}=ue.useModuleStorage(),{isAdmin:i}=ue.useModulePermissions(),s=e.ref(),c=e.ref(!1),g=k=>{const w=n.value?.find(_=>!_._remove&&_.property===k);return w?h.getTableColumnId(w):k},m=k=>l.value?.getColumn(g(k)),p=k=>{const w=g(k);l.value?.setColumnFilters(_=>_.filter(P=>P.id!==w&&P.id!==k))},d=k=>Et(k,n.value),f=k=>{if(h.getTableFilterType(k)!=="multi-select")return;const w=d(k).filter(_=>_.checked).map(_=>_.value);if(k.optionSource==="column"&&!d(k).length){p(k.property);return}m(k.property)?.setFilterValue(w?.length?w:void 0)},x=()=>{if(c.value||!l.value||!n.value?.length||!r.value?.length||!o.value?.length)return;const k=r.value.filter(_=>h.getTableFilterType(_)==="multi-select");k.every(_=>_.optionSource==="column"&&!d(_).length||m(_.property))&&(c.value=!0,k.forEach(f))},B=k=>{let w=crypto.randomUUID();(!r.value||r?.value?.length===0)&&(r.value=[]);const _={...k,id:w};r.value.push(_),u("filters",r.value),e.nextTick(()=>f(_))},C=k=>{const w=r.value.find(_=>_.id===k.id);w&&p(w.property),r.value=r.value.map(_=>_.id===k.id?k:_),u("filters",r.value),e.nextTick(()=>f(k))},v=k=>{const w=r.value.find(_=>_.id===k);w&&p(w.property),r.value=r.value.filter(_=>_.id!==k),u("filters",r.value)},$=k=>{const w=m(k.property)?.getFilterValue();return Array.isArray(w)?w:[]},M=(k,w)=>$(k).includes(w.value),D=(k,w,_)=>{const P=$(k),T=_===!0?[...new Set([...P,w.value])]:P.filter(N=>N!==w.value);m(k.property)?.setFilterValue(T.length?T:void 0)};return e.watch(()=>r.value.map(k=>({id:k.id,property:k.property,optionSource:k.optionSource,values:d(k).map(w=>w.value)})),()=>{for(const k of r.value){if(h.getTableFilterType(k)!=="multi-select"||k.optionSource!=="column")continue;const w=new Set(d(k).map(T=>T.value));if(!w.size){p(k.property);continue}const _=$(k),P=_.filter(T=>w.has(T));P.length!==_.length&&m(k.property)?.setFilterValue(P.length?P:void 0)}},{deep:!0,flush:"post"}),e.watch(()=>o.value?.length,k=>{k&&k>0&&e.nextTick(()=>x())}),e.watch(()=>[l.value,n.value],()=>{e.nextTick(()=>x())}),e.onMounted(async()=>{r.value=await a("filters")||[],e.nextTick(()=>x())}),(k,w)=>{const _=e.resolveComponent("Button"),P=e.resolveComponent("DropdownMenuTrigger"),T=e.resolveComponent("DropdownMenuCheckboxItem"),N=e.resolveComponent("DropdownMenuContent"),H=e.resolveComponent("DropdownMenu");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",as,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),E=>(e.openBlock(),e.createElementBlock("div",{key:E.id,class:"flex flex-col items-start gap-1"},[e.unref(h.getTableFilterType)(E)==="multi-select"?(e.openBlock(),e.createBlock(H,{key:0},{default:e.withCtx(()=>[e.createVNode(P,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(_,{variant:"outline",class:"w-[180px] flex items-center justify-between"},{default:e.withCtx(()=>[e.createElementVNode("span",is,e.toDisplayString(E.label?E.label:"Filter by "+E.property),1),e.createVNode(e.unref(Z.ChevronDown),{class:"size-4"})]),_:2},1024)]),_:2},1024),e.createVNode(N,{align:"start",onCloseAutoFocus:w[1]||(w[1]=S=>{S.preventDefault()})},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d(E),S=>(e.openBlock(),e.createBlock(T,{key:S.id,"model-value":M(E,S),"onUpdate:modelValue":F=>D(E,S,F),onSelect:w[0]||(w[0]=F=>{F.preventDefault()})},{default:e.withCtx(()=>[S.color?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["rounded-full px-2 py-0.5 text-xs font-medium",e.unref(h.DISPLAY_COLOR_CLASSES)[S.color]?.badge||e.unref(h.DISPLAY_COLOR_CLASSES).neutral.badge])},e.toDisplayString(S.label||S.value),3)):(e.openBlock(),e.createElementBlock("span",ss,e.toDisplayString(S.label||S.value),1))]),_:2},1032,["model-value","onUpdate:modelValue"]))),128)),d(E).length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",us," No options available. Update this filter’s settings. "))]),_:2},1024)]),_:2},1024)):e.unref(h.getTableFilterType)(E)==="number-range"?(e.openBlock(),e.createBlock(rs,{key:1,filter:E},null,8,["filter"])):(e.openBlock(),e.createBlock(ri,{key:2,filter:E},null,8,["filter"])),e.unref(i)()?(e.openBlock(),e.createElementBlock("button",{key:3,class:"text-xs text-primary hover:underline",onClick:S=>s.value.openDialog(E)},"Settings",8,ds)):e.createCommentVNode("",!0)]))),128)),e.unref(i)()?(e.openBlock(),e.createBlock(_,{key:0,variant:"outline",class:"border-dashed",onClick:w[2]||(w[2]=E=>s.value.openDialog())},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.Plus),{class:"size-4"}),w[6]||(w[6]=e.createTextVNode(" Add filter ",-1))]),_:1})):e.createCommentVNode("",!0)]),e.createVNode(Wa,{ref_key:"filterDialog",ref:s,onFilterAdded:w[3]||(w[3]=E=>B(E)),onFilterEdited:w[4]||(w[4]=E=>C(E)),onFilterRemoved:w[5]||(w[5]=E=>v(E))},null,512)],64)}}}),ms={class:"grid grid-cols-2 gap-2 mb-2 py-2"},ps={class:"flex flex-col items-start gap-1.5"},fs={class:"flex flex-col items-start gap-1.5"},gs={class:"flex flex-col items-start gap-1.5 col-span-2"},vs=e.defineComponent({__name:"ActionDialog",emits:["actionAdded","actionEdited","actionRemoved"],setup(t,{expose:l,emit:o}){const r=o,n=e.ref(!1),a=e.ref("add"),u=e.ref(null),i=e.reactive({label:"",icon:"",visible:"true",flow:{}}),s=m=>{a.value=m?"edit":"add",u.value=m??null,i.label=m?.label??"",i.icon=m?.icon??"",i.visible=m?.visible??"true",i.flow=m?.flow??{},n.value=!0},c=()=>{a.value==="add"?r("actionAdded",i):r("actionEdited",{...i,id:u.value.id}),n.value=!1},g=()=>{r("actionRemoved",u.value.id),n.value=!1};return l({openDialog:s}),(m,p)=>{const d=e.resolveComponent("DialogTitle"),f=e.resolveComponent("DialogDescription"),x=e.resolveComponent("DialogHeader"),B=e.resolveComponent("Label"),C=e.resolveComponent("Input"),v=e.resolveComponent("LucideIconPicker"),$=e.resolveComponent("Sandbox"),M=e.resolveComponent("FlowBuilderSelect"),D=e.resolveComponent("Button"),k=e.resolveComponent("DialogFooter"),w=e.resolveComponent("DialogScrollContent"),_=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(_,{open:n.value,"onUpdate:open":p[4]||(p[4]=P=>n.value=P)},{default:e.withCtx(()=>[e.createVNode(w,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Action":"Edit Action"),1)]),_:1}),e.createVNode(f,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",ms,[e.createElementVNode("div",ps,[e.createVNode(B,{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:i.label,"onUpdate:modelValue":p[0]||(p[0]=P=>i.label=P)},null,8,["modelValue"])]),e.createElementVNode("div",fs,[e.createVNode(B,{for:"action_dialog_icon",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...p[6]||(p[6]=[e.createTextVNode("Icon",-1)])]),_:1}),e.createVNode(v,{modelValue:i.icon,"onUpdate:modelValue":p[1]||(p[1]=P=>i.icon=P)},null,8,["modelValue"])]),e.createElementVNode("div",gs,[e.createVNode(B,{class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...p[7]||(p[7]=[e.createTextVNode("Visible",-1)])]),_:1}),e.createVNode($,{modelValue:i.visible,"onUpdate:modelValue":p[2]||(p[2]=P=>i.visible=P),variables:[],placeholder:"true",class:"w-full max-h-[200px]"},null,8,["modelValue"])])]),e.createVNode(M,{modelValue:i.flow,"onUpdate:modelValue":p[3]||(p[3]=P=>i.flow=P),variables:[{name:"item",type:"object",value:{data:{}},info:"The row item, access it with item.data"}],"flow-builder-extensions":[e.unref(Ie.createTableRowExtension)()]},null,8,["modelValue","flow-builder-extensions"]),e.createVNode(k,null,{default:e.withCtx(()=>[a.value==="edit"?(e.openBlock(),e.createBlock(D,{key:0,variant:"destructive",onClick:g},{default:e.withCtx(()=>[...p[8]||(p[8]=[e.createTextVNode(" Remove Action ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(D,{onClick:c},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Action":"Save changes"),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),xs={class:"grid gap-4 py-4"},Cs=e.defineComponent({__name:"Actions",setup(t){const{setModuleData:l}=ue.useModuleStorage(),{isAdmin:o}=ue.useModulePermissions(),r=e.ref(),n=e.inject("itemActions",e.ref([])),a=s=>{let c=crypto.randomUUID();(!n.value||n?.value?.length===0)&&(n.value=[]),n.value.push({...s,id:c}),l("itemActions",n.value)},u=s=>{n.value=n.value.map(c=>c.id===s.id?s:c),l("itemActions",n.value)},i=s=>{n.value=n.value.filter(c=>c.id!==s),l("itemActions",n.value)};return(s,c)=>{const g=e.resolveComponent("Button"),m=e.resolveComponent("DialogTrigger"),p=e.resolveComponent("DialogTitle"),d=e.resolveComponent("DialogDescription"),f=e.resolveComponent("DialogHeader"),x=e.resolveComponent("DialogContent"),B=e.resolveComponent("Dialog");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(o)()?(e.openBlock(),e.createBlock(B,{key:0},{default:e.withCtx(()=>[e.createVNode(m,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(g,{variant:"outline",class:"text-primary hover:text-primary"},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.MousePointerClick),{class:"size-4"}),c[4]||(c[4]=e.createTextVNode(" Edit item actions ",-1))]),_:1})]),_:1}),e.createVNode(x,{class:"sm:max-w-[425px]"},{default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[...c[5]||(c[5]=[e.createTextVNode("Edit item actions",-1)])]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[...c[6]||(c[6]=[e.createTextVNode(" Edit the item actions for this table. ",-1)])]),_:1})]),_:1}),e.createVNode(g,{onClick:c[0]||(c[0]=C=>r.value.openDialog())},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.Plus),{class:"size-4"}),c[7]||(c[7]=e.createTextVNode(" Add action ",-1))]),_:1}),e.createElementVNode("div",xs,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),C=>(e.openBlock(),e.createBlock(g,{key:C.id,onClick:v=>r.value.openDialog(C),variant:"outline"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Z.icons)[C.icon]))),e.createTextVNode(" "+e.toDisplayString(C.label),1)]),_:2},1032,["onClick"]))),128))])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(vs,{ref_key:"actionDialog",ref:r,onActionAdded:c[1]||(c[1]=C=>a(C)),onActionEdited:c[2]||(c[2]=C=>u(C)),onActionRemoved:c[3]||(c[3]=C=>i(C))},null,512)],64)}}}),Vs={class:"grid grid-cols-2 gap-2 mb-2 py-2"},ws={class:"flex flex-col items-start gap-1.5"},ys={class:"flex flex-col items-start gap-1.5"},hs=e.defineComponent({__name:"CtaActionDialog",setup(t,{expose:l}){const{setModuleData:o}=ue.useModuleStorage(),r=e.inject("ctaButtonSettings",e.ref({})),n=e.ref(!1),a=e.ref("add"),u=e.ref(null),i=e.reactive({label:"",icon:"",flow:{}}),s=()=>{let m=r?.value?.enabled?r?.value:null;a.value=m?"edit":"add",u.value=m??null,i.label=m?.label??"",i.icon=m?.icon??"",i.flow=m?.flow??{},n.value=!0},c=()=>{r.value={label:i.label,icon:i.icon,flow:i.flow,enabled:!0},o("ctaButtonSettings",r.value),n.value=!1},g=()=>{r.value={label:"",icon:"",flow:{},enabled:!1},o("ctaButtonSettings",r.value),n.value=!1};return l({openDialog:s}),(m,p)=>{const d=e.resolveComponent("DialogTitle"),f=e.resolveComponent("DialogDescription"),x=e.resolveComponent("DialogHeader"),B=e.resolveComponent("Label"),C=e.resolveComponent("Input"),v=e.resolveComponent("LucideIconPicker"),$=e.resolveComponent("FlowBuilderSelect"),M=e.resolveComponent("Button"),D=e.resolveComponent("DialogFooter"),k=e.resolveComponent("DialogScrollContent"),w=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(w,{open:n.value,"onUpdate:open":p[3]||(p[3]=_=>n.value=_)},{default:e.withCtx(()=>[e.createVNode(k,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Primary Button":"Edit Primary Button"),1)]),_:1}),e.createVNode(f,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",Vs,[e.createElementVNode("div",ws,[e.createVNode(B,{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:i.label,"onUpdate:modelValue":p[0]||(p[0]=_=>i.label=_)},null,8,["modelValue"])]),e.createElementVNode("div",ys,[e.createVNode(B,{for:"action_dialog_icon",class:"text-xs text-muted-foreground"},{default:e.withCtx(()=>[...p[6]||(p[6]=[e.createTextVNode("Icon",-1)])]),_:1}),e.createVNode(v,{modelValue:i.icon,"onUpdate:modelValue":p[1]||(p[1]=_=>i.icon=_)},null,8,["modelValue"])])]),e.createVNode($,{modelValue:i.flow,"onUpdate:modelValue":p[2]||(p[2]=_=>i.flow=_),allAvailableVariables:[],"flow-builder-extensions":[e.unref(Ie.createTableRowExtension)()]},null,8,["modelValue","flow-builder-extensions"]),e.createVNode(D,null,{default:e.withCtx(()=>[a.value==="edit"?(e.openBlock(),e.createBlock(M,{key:0,variant:"destructive",onClick:g},{default:e.withCtx(()=>[...p[7]||(p[7]=[e.createTextVNode(" Remove Button ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(M,{onClick:c},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value==="add"?"Add Button":"Save Changes"),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),Ns={class:"@container relative"},Ss={ref:"container",class:"flex flex-col items-start gap-4 w-full mt-12 mb-8"},bs={class:"w-full flex flex-wrap gap-2 items-start"},ks={class:"w-full flex gap-2 items-start justify-between"},_s={class:"flex gap-2"},$s={key:1,class:"flex flex-col items-start gap-1"},Bs=e.defineComponent({__name:"TableView",props:{config:{type:Object,required:!0}},setup(t){h.provideTableClock();const l=t,o=ue.useModuleRoute(),{isAdmin:r}=ue.useModulePermissions(),{getModuleData:n}=ue.useModuleStorage(),{runFlow:a}=ue.useFlowBuilder();ue.useModuleBreadcrumbs(()=>[]);const u=e.ref(),i=e.ref(),s=e.ref([]),c=e.ref([]),g=e.ref(),m=e.ref(!1),p=e.ref(""),d=e.ref(),f=e.ref([]),x=e.ref([]),B=e.ref(!1),C=e.ref(null),v=e.ref(null),$=e.computed(()=>l.config?.getItems?.integration),M=e.computed(()=>Z.icons[C.value?.icon]),D=async()=>{v.value=await n("dateRangeFilter")},k=async()=>v.value!==null?v.value:await n("dateRangeFilter"),w=async()=>{const S=await k();let F;return S&&(F={name:"dateRangeFilter",type:"dateRangeFilter",value:{from:d.value?.[0],to:d.value?.[1]}}),[...Object.entries(o.query).map(([L,J])=>({name:T(L),type:"routeQueryParam",value:J??null}))||[],F].filter(Boolean)},_=async()=>{let S=l.config?.getItems?JSON.parse(JSON.stringify(l.config?.getItems)):null;if(!S)return;const F=await w(),y=await a(S,F);s.value=y||[]},P=async()=>{c.value=await n("columns"),x.value=await n("itemActions")||[],C.value=await n("ctaButtonSettings")||{}};function T(S){return S.replace(/-([a-z])/g,(F,y)=>y.toUpperCase())}const N=()=>{i.value.saveSortMode(),m.value=!1},H=async()=>{const S=new Date().getTime(),F=await w();console.log("got context in ",new Date().getTime()-S,"ms"),await a(C.value.flow,F,[],[Ie.createTableRowExtension({tableRowActions:{create:y=>{s.value=[...s.value,y]}}})])},E=()=>{ge.downloadJSONAsCSV(s.value,"data.csv")};return e.onMounted(()=>{P(),D()}),e.provide("data",s),e.provide("columns",c),e.provide("table",g),e.provide("sortMode",m),e.provide("sortModeProperty",p),e.provide("dateRangeFilter",d),e.provide("filters",f),e.provide("itemActions",x),e.provide("isPerformingDataTableAction",B),e.provide("ctaButtonSettings",C),e.provide("integrationId",$),e.provide("getTableData",_),e.provide("saveSortMode",N),(S,F)=>{const y=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Ns,[e.createElementVNode("div",Ss,[e.createVNode(Zn),e.createElementVNode("div",bs,[e.createVNode(Ar),e.createVNode(la),e.createVNode(qr),e.createVNode(Pr)]),e.createElementVNode("div",ks,[e.createVNode(cs),e.createElementVNode("div",_s,[e.unref(r)()?(e.openBlock(),e.createBlock(Cs,{key:0})):e.createCommentVNode("",!0),C.value?.enabled?(e.openBlock(),e.createElementBlock("div",$s,[e.createVNode(y,{onClick:H,disabled:B.value},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.value),{class:"size-4"})),e.createTextVNode(" "+e.toDisplayString(C.value?.label),1)]),_:1},8,["disabled"]),e.unref(r)()?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-xs text-primary hover:underline",onClick:F[0]||(F[0]=L=>u.value.openDialog())},"Settings")):e.createCommentVNode("",!0)])):C.value&&e.unref(r)()?(e.openBlock(),e.createBlock(y,{key:2,variant:"outline",class:"border-primary dark:border-primary border-dashed text-primary dark:text-primary",onClick:F[1]||(F[1]=L=>u.value.openDialog())},{default:e.withCtx(()=>[e.createVNode(e.unref(Z.Plus),{class:"size-4"}),F[2]||(F[2]=e.createTextVNode(" Set primary button ",-1))]),_:1})):e.createCommentVNode("",!0)])]),e.createVNode(Bn,{ref_key:"tableRef",ref:i},null,512),e.createVNode(y,{onClick:E},{default:e.withCtx(()=>[...F[3]||(F[3]=[e.createTextVNode(" Download data ",-1)])]),_:1})],512)]),e.createVNode(hs,{ref_key:"ctaActionDialog",ref:u},null,512)],64)}}});exports.default=Bs;