llm-simple-router 0.8.2 → 0.9.4

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 (222) hide show
  1. package/README.en.md +319 -0
  2. package/README.md +2 -0
  3. package/config/recommended-providers.json +33 -9
  4. package/config/recommended-retry-rules.json +9 -8
  5. package/dist/admin/providers.js +11 -9
  6. package/dist/admin/quick-setup.d.ts +13 -0
  7. package/dist/admin/quick-setup.js +169 -0
  8. package/dist/admin/recommended.js +5 -1
  9. package/dist/admin/routes.js +2 -0
  10. package/dist/config/model-context.d.ts +8 -2
  11. package/dist/config/model-context.js +17 -5
  12. package/dist/config/recommended.d.ts +2 -1
  13. package/dist/config/recommended.js +5 -9
  14. package/dist/core/constants.js +2 -0
  15. package/dist/db/index.js +5 -0
  16. package/dist/db/migrations/033_add_adaptive_concurrency.sql +3 -0
  17. package/dist/db/migrations/036_add_openai_responses_api_type.sql +68 -0
  18. package/dist/db/migrations/037_fix_035_data_corruption.sql +54 -0
  19. package/dist/db/providers.d.ts +3 -3
  20. package/dist/index.js +7 -3
  21. package/dist/metrics/metrics-extractor.d.ts +3 -2
  22. package/dist/metrics/metrics-extractor.js +45 -0
  23. package/dist/metrics/sse-metrics-transform.d.ts +1 -1
  24. package/dist/metrics/sse-metrics-transform.js +10 -0
  25. package/dist/monitor/request-tracker.d.ts +1 -1
  26. package/dist/monitor/stream-content-accumulator.d.ts +1 -1
  27. package/dist/monitor/stream-extractor.d.ts +1 -1
  28. package/dist/monitor/stream-extractor.js +21 -0
  29. package/dist/monitor/types.d.ts +1 -1
  30. package/dist/proxy/handler/proxy-handler-utils.d.ts +1 -1
  31. package/dist/proxy/handler/proxy-handler.d.ts +1 -1
  32. package/dist/proxy/handler/proxy-handler.js +8 -2
  33. package/dist/proxy/handler/responses.d.ts +7 -0
  34. package/dist/proxy/handler/responses.js +48 -0
  35. package/dist/proxy/loop-prevention/tool-loop-guard.d.ts +1 -1
  36. package/dist/proxy/loop-prevention/tool-loop-guard.js +10 -0
  37. package/dist/proxy/orchestration/orchestrator.d.ts +1 -1
  38. package/dist/proxy/orchestration/semaphore.js +6 -0
  39. package/dist/proxy/patch/deepseek/index.d.ts +1 -1
  40. package/dist/proxy/patch/deepseek/patch-thinking-param.d.ts +1 -1
  41. package/dist/proxy/patch/index.d.ts +3 -0
  42. package/dist/proxy/patch/index.js +28 -0
  43. package/dist/proxy/patch/tool-round-limiter.d.ts +1 -1
  44. package/dist/proxy/patch/tool-round-limiter.js +16 -0
  45. package/dist/proxy/proxy-core.d.ts +1 -1
  46. package/dist/proxy/proxy-logging.d.ts +3 -3
  47. package/dist/proxy/response-transform.js +13 -0
  48. package/dist/proxy/transform/id-utils.d.ts +1 -0
  49. package/dist/proxy/transform/id-utils.js +3 -0
  50. package/dist/proxy/transform/plugin-types.d.ts +5 -5
  51. package/dist/proxy/transform/request-bridge-responses.d.ts +19 -0
  52. package/dist/proxy/transform/request-bridge-responses.js +311 -0
  53. package/dist/proxy/transform/request-transform-responses.d.ts +2 -0
  54. package/dist/proxy/transform/request-transform-responses.js +350 -0
  55. package/dist/proxy/transform/response-bridge-responses.d.ts +23 -0
  56. package/dist/proxy/transform/response-bridge-responses.js +173 -0
  57. package/dist/proxy/transform/response-transform-responses.d.ts +2 -0
  58. package/dist/proxy/transform/response-transform-responses.js +137 -0
  59. package/dist/proxy/transform/stream-ant2resp.d.ts +26 -0
  60. package/dist/proxy/transform/stream-ant2resp.js +322 -0
  61. package/dist/proxy/transform/stream-bridge-chat2resp.d.ts +40 -0
  62. package/dist/proxy/transform/stream-bridge-chat2resp.js +382 -0
  63. package/dist/proxy/transform/stream-bridge-resp2chat.d.ts +24 -0
  64. package/dist/proxy/transform/stream-bridge-resp2chat.js +237 -0
  65. package/dist/proxy/transform/stream-resp2ant.d.ts +21 -0
  66. package/dist/proxy/transform/stream-resp2ant.js +238 -0
  67. package/dist/proxy/transform/stream-transform-base.d.ts +1 -0
  68. package/dist/proxy/transform/stream-transform-base.js +3 -0
  69. package/dist/proxy/transform/transform-coordinator.d.ts +1 -0
  70. package/dist/proxy/transform/transform-coordinator.js +127 -8
  71. package/dist/proxy/transform/types-responses.d.ts +177 -0
  72. package/dist/proxy/transform/types-responses.js +27 -0
  73. package/dist/proxy/transform/types.d.ts +3 -1
  74. package/dist/proxy/transport/transport-fn.d.ts +1 -1
  75. package/frontend-dist/assets/CardContent-BhMXx-JD.js +1 -0
  76. package/frontend-dist/assets/CardTitle-DQDjTee3.js +1 -0
  77. package/frontend-dist/assets/CascadingModelSelect-JBQq3JJt.js +1 -0
  78. package/frontend-dist/assets/Checkbox-ByxbKP_C.js +1 -0
  79. package/frontend-dist/assets/CollapsibleContent-GecW2Jk_.js +1 -0
  80. package/frontend-dist/assets/CollapsibleTrigger-Cib3-OsK.js +1 -0
  81. package/frontend-dist/assets/Collection-Dbvdpa0m.js +1 -0
  82. package/frontend-dist/assets/Dashboard-3MJPLflT.js +3 -0
  83. package/frontend-dist/assets/DialogTitle-Ej_rtfV1.js +1 -0
  84. package/frontend-dist/assets/{Input-CAnKUBBK.js → Input-tcnrMp1v.js} +1 -1
  85. package/frontend-dist/assets/Label-BwzPFyL-.js +1 -0
  86. package/frontend-dist/assets/Login-Cdsw2pWC.js +1 -0
  87. package/frontend-dist/assets/Logs-5_CWiws5.js +1 -0
  88. package/frontend-dist/assets/MappingList-D8HRph05.js +1 -0
  89. package/frontend-dist/assets/ModelCard-CZbQcYNn.js +1 -0
  90. package/frontend-dist/assets/ModelMappings-CJqgl7O8.js +1 -0
  91. package/frontend-dist/assets/Monitor-B8v5a8fB.js +1 -0
  92. package/frontend-dist/assets/PopoverTrigger-C88SpJNZ.js +1 -0
  93. package/frontend-dist/assets/PopperContent-6BXua_FZ.js +1 -0
  94. package/frontend-dist/assets/Providers-DH0nvlGn.js +1 -0
  95. package/frontend-dist/assets/ProxyEnhancement-CAH-44W-.js +5 -0
  96. package/frontend-dist/assets/QuickSetup-CsDO-ZGP.js +1 -0
  97. package/frontend-dist/assets/RetryRules-8iT9fLsH.js +1 -0
  98. package/frontend-dist/assets/RouterKeys-BFoEmWgj.js +1 -0
  99. package/frontend-dist/assets/RovingFocusItem-DdPUFQHC.js +1 -0
  100. package/frontend-dist/assets/Schedules-B8Se31u4.js +1 -0
  101. package/frontend-dist/assets/SelectValue-CT2z_-6j.js +1 -0
  102. package/frontend-dist/assets/Settings-BHvtsJKD.js +6 -0
  103. package/frontend-dist/assets/Setup-k-l9KDC0.js +1 -0
  104. package/frontend-dist/assets/Switch-D1NdA4ax.js +1 -0
  105. package/frontend-dist/assets/TableHeader-CcMyOsUB.js +1 -0
  106. package/frontend-dist/assets/Teleport-Bmeh33lB.js +3 -0
  107. package/frontend-dist/assets/TooltipTrigger-LegC_Uvp.js +1 -0
  108. package/frontend-dist/assets/UnifiedRequestDialog-BVw6W2pk.js +3 -0
  109. package/frontend-dist/assets/UnifiedRequestDialog-C4MTxb25.css +1 -0
  110. package/frontend-dist/assets/VisuallyHidden-ogESfc9X.js +1 -0
  111. package/frontend-dist/assets/VisuallyHiddenInput-BQemVGau.js +1 -0
  112. package/frontend-dist/assets/alert-dialog-DzKCAoYJ.js +1 -0
  113. package/frontend-dist/assets/badge-C-9zPTgw.js +1 -0
  114. package/frontend-dist/assets/button-D27ClX8J.js +14 -0
  115. package/frontend-dist/assets/check-yTAivq1h.js +1 -0
  116. package/frontend-dist/assets/common-CWCbKHOK.js +1 -0
  117. package/frontend-dist/assets/common-D4xnnaqi.js +1 -0
  118. package/frontend-dist/assets/constants-B-VELBjk.js +1 -0
  119. package/frontend-dist/assets/copy-DWG9cQPR.js +1 -0
  120. package/frontend-dist/assets/dashboard-B8eI-t8c.js +1 -0
  121. package/frontend-dist/assets/dashboard-Dbe6A2lu.js +1 -0
  122. package/frontend-dist/assets/dialog-BnYR6_dh.js +1 -0
  123. package/frontend-dist/assets/file-text-D33FJAPX.js +1 -0
  124. package/frontend-dist/assets/format-BhxQSgt6.js +1 -0
  125. package/frontend-dist/assets/i18n-CwUfS0tE.js +1 -0
  126. package/frontend-dist/assets/index-B348nt-T.css +1 -0
  127. package/frontend-dist/assets/index-DPRxBo3N.js +1 -0
  128. package/frontend-dist/assets/lib-D0Ek2pPZ.js +1 -0
  129. package/frontend-dist/assets/loader-circle-EpKC006I.js +1 -0
  130. package/frontend-dist/assets/login-BTolYxVI.js +1 -0
  131. package/frontend-dist/assets/login-w_ICpiU5.js +1 -0
  132. package/frontend-dist/assets/logs-7dT2uyMa.js +1 -0
  133. package/frontend-dist/assets/logs-_3w8tDQa.js +1 -0
  134. package/frontend-dist/assets/mappings-Bbn3r2uJ.js +1 -0
  135. package/frontend-dist/assets/mappings-CTZ-zb1x.js +1 -0
  136. package/frontend-dist/assets/monitor-DN5m5n_x.js +1 -0
  137. package/frontend-dist/assets/monitor-DysWEOtt.js +1 -0
  138. package/frontend-dist/assets/providers-C1gQGzwa.js +1 -0
  139. package/frontend-dist/assets/providers-CCfko___.js +1 -0
  140. package/frontend-dist/assets/proxyEnhancement-BItabyLo.js +1 -0
  141. package/frontend-dist/assets/proxyEnhancement-DeMb7wIE.js +1 -0
  142. package/frontend-dist/assets/quickSetup-C75HMC_z.js +1 -0
  143. package/frontend-dist/assets/quickSetup-DStZWiuf.js +1 -0
  144. package/frontend-dist/assets/requestDetail-BoaPEQs-.js +1 -0
  145. package/frontend-dist/assets/requestDetail-CM5kFgy6.js +1 -0
  146. package/frontend-dist/assets/retryRules-CIF37gOl.js +1 -0
  147. package/frontend-dist/assets/retryRules-o_D8S5gy.js +1 -0
  148. package/frontend-dist/assets/routerKeys-BAvjW0V8.js +1 -0
  149. package/frontend-dist/assets/routerKeys-mQt2YPuE.js +1 -0
  150. package/frontend-dist/assets/schedules-BCV2rxK-.js +1 -0
  151. package/frontend-dist/assets/schedules-Qte9b7b_.js +1 -0
  152. package/frontend-dist/assets/settings-Bgu2lJfy.js +1 -0
  153. package/frontend-dist/assets/settings-UCmMSq_F.js +1 -0
  154. package/frontend-dist/assets/setup-B_fAfMoV.js +1 -0
  155. package/frontend-dist/assets/setup-Chc246Zi.js +1 -0
  156. package/frontend-dist/assets/sidebar-B7rejnZA.js +1 -0
  157. package/frontend-dist/assets/sidebar-CBMItLst.js +1 -0
  158. package/frontend-dist/assets/sun-BylRZIWt.js +1 -0
  159. package/frontend-dist/assets/trash-2-QNFff7V4.js +1 -0
  160. package/frontend-dist/assets/{useClipboard-BmmsNSGV.js → useClipboard-BFt5f-_-.js} +1 -1
  161. package/frontend-dist/assets/{useFocusGuards-A-9V2Y-b.js → useFocusGuards-DQBZKWnu.js} +1 -1
  162. package/frontend-dist/assets/useFormControl-T2RQNBqs.js +1 -0
  163. package/frontend-dist/assets/useLogRetention-NrrZrpPE.js +1 -0
  164. package/frontend-dist/assets/useNonce-DR38uny5.js +1 -0
  165. package/frontend-dist/assets/useTheme-CpTI547G.js +1 -0
  166. package/frontend-dist/assets/x-DSgLgKC_.js +1 -0
  167. package/frontend-dist/index.html +25 -22
  168. package/package.json +1 -1
  169. package/dist/db/migrations/033_add_pipeline_snapshot.sql +0 -1
  170. package/frontend-dist/assets/CardContent-BVMQ2_pg.js +0 -1
  171. package/frontend-dist/assets/CardTitle-GLv7QyIY.js +0 -1
  172. package/frontend-dist/assets/CascadingModelSelect-CBhqKFDX.js +0 -1
  173. package/frontend-dist/assets/Checkbox-HPVDmEdV.js +0 -1
  174. package/frontend-dist/assets/CollapsibleTrigger-DhxD9tpM.js +0 -1
  175. package/frontend-dist/assets/Collection-BRt7YxN8.js +0 -1
  176. package/frontend-dist/assets/Dashboard-D1Ys8Zog.js +0 -3
  177. package/frontend-dist/assets/DialogTitle-23q73lwF.js +0 -1
  178. package/frontend-dist/assets/Label-DWdYtVMI.js +0 -1
  179. package/frontend-dist/assets/Login-w5WFOinP.js +0 -1
  180. package/frontend-dist/assets/Logs-C1F1ZmWF.js +0 -1
  181. package/frontend-dist/assets/ModelMappings-BzmecWEH.js +0 -1
  182. package/frontend-dist/assets/Monitor-DrAZFTKR.js +0 -1
  183. package/frontend-dist/assets/PopoverTrigger-Bj65uUbv.js +0 -1
  184. package/frontend-dist/assets/PopperContent-gzzf1XHe.js +0 -1
  185. package/frontend-dist/assets/Providers-DSgf4mb6.js +0 -1
  186. package/frontend-dist/assets/ProxyEnhancement-Bb1cCP6d.js +0 -5
  187. package/frontend-dist/assets/RetryRules-BwPfEZtm.js +0 -1
  188. package/frontend-dist/assets/RouterKeys-CzTSq1Mx.js +0 -1
  189. package/frontend-dist/assets/RovingFocusItem-CXM_Yfkm.js +0 -1
  190. package/frontend-dist/assets/Schedules-DVilCXrC.js +0 -1
  191. package/frontend-dist/assets/SelectValue-C0-LzGQY.js +0 -1
  192. package/frontend-dist/assets/Settings-Bpk53zVX.js +0 -6
  193. package/frontend-dist/assets/Setup-Dn7EgC49.js +0 -1
  194. package/frontend-dist/assets/Switch-BO8Ooae6.js +0 -1
  195. package/frontend-dist/assets/TableHeader-Bded9VTC.js +0 -1
  196. package/frontend-dist/assets/TabsTrigger-BzKMi9AF.js +0 -1
  197. package/frontend-dist/assets/Teleport-DizRK5O3.js +0 -3
  198. package/frontend-dist/assets/TooltipTrigger-EiIy2zn8.js +0 -1
  199. package/frontend-dist/assets/UnifiedRequestDialog-BABsTaGb.js +0 -3
  200. package/frontend-dist/assets/UnifiedRequestDialog-BjEigSaR.css +0 -1
  201. package/frontend-dist/assets/VisuallyHidden-5AozJQza.js +0 -1
  202. package/frontend-dist/assets/VisuallyHiddenInput-DdiZrV2i.js +0 -1
  203. package/frontend-dist/assets/alert-dialog-DlKUuTPe.js +0 -1
  204. package/frontend-dist/assets/arrow-down-CxWKmZ2I.js +0 -1
  205. package/frontend-dist/assets/badge-9KJEMa53.js +0 -1
  206. package/frontend-dist/assets/button-Ul8WlrM5.js +0 -12
  207. package/frontend-dist/assets/check-7ahK--N4.js +0 -1
  208. package/frontend-dist/assets/constants-D_0jiLjw.js +0 -1
  209. package/frontend-dist/assets/copy-DzU2pAMG.js +0 -1
  210. package/frontend-dist/assets/dialog-B9j-FMrd.js +0 -1
  211. package/frontend-dist/assets/file-text-Bj3ZIo-E.js +0 -1
  212. package/frontend-dist/assets/format-Dln15Luw.js +0 -1
  213. package/frontend-dist/assets/index-Bz_ZaXNn.css +0 -1
  214. package/frontend-dist/assets/index-MedWZMHB.js +0 -1
  215. package/frontend-dist/assets/lib-Hhs3NqfD.js +0 -1
  216. package/frontend-dist/assets/loader-circle-5TJUukEe.js +0 -1
  217. package/frontend-dist/assets/useFormControl-DEO19lRe.js +0 -1
  218. package/frontend-dist/assets/useLogRetention-BfnBFZ5K.js +0 -1
  219. package/frontend-dist/assets/useNonce-BfwUJ1Ci.js +0 -1
  220. package/frontend-dist/assets/x-Cfopt3QL.js +0 -1
  221. /package/dist/db/migrations/{034_drop_redundant_log_columns.sql → 035_drop_redundant_log_columns.sql} +0 -0
  222. /package/frontend-dist/assets/{ohash.D__AXeF1-D5e5Wyzx.js → ohash.D__AXeF1-CTo5WcIm.js} +0 -0
@@ -0,0 +1 @@
1
+ import{Ct as e,G as t,It as n,Q as r,Rt as i,Z as a,ct as o,i as s,jt as c,lt as l,m as u,ot as d,pt as f,q as p,ut as m}from"./button-D27ClX8J.js";import{c as h,v as g,y as _}from"./Teleport-Bmeh33lB.js";import{n as v,t as y}from"./Collection-Dbvdpa0m.js";var b=`rovingFocusGroup.onEntryFocus`,x={bubbles:!1,cancelable:!0},S={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function C(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function w(e,t,n){let r=C(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return S[r]}function T(e,t=!1){let n=g();for(let r of e)if(r===n||(r.focus({preventScroll:t}),g()!==n))return}function E(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[D,O]=_(`RovingFocusGroup`),k=r({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(t,{expose:r,emit:o}){let l=t,d=o,{loop:h,orientation:g,dir:_}=n(l),S=v(_),C=u(l,`currentTabStopId`,d,{defaultValue:l.defaultCurrentTabStopId,passive:l.currentTabStopId===void 0}),w=c(!1),E=c(!1),D=c(0),{getItems:k,CollectionSlot:A}=y({isProvider:!0});function j(e){let t=!E.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!w.value){let t=new CustomEvent(b,x);if(e.currentTarget.dispatchEvent(t),d(`entryFocus`,t),!t.defaultPrevented){let e=k().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);T([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===C.value),...e].filter(Boolean),l.preventScrollOnEntryFocus)}}E.value=!1}function M(){setTimeout(()=>{E.value=!1},1)}return r({getItems:k}),O({loop:h,dir:S,orientation:g,currentTabStopId:C,onItemFocus:e=>{C.value=e},onItemShiftTab:()=>{w.value=!0},onFocusableItemAdd:()=>{D.value++},onFocusableItemRemove:()=>{D.value--}}),(t,n)=>(m(),p(i(A),null,{default:e(()=>[a(i(s),{tabindex:w.value||D.value===0?-1:0,"data-orientation":i(g),as:t.as,"as-child":t.asChild,dir:i(S),style:{outline:`none`},onMousedown:n[0]||=e=>E.value=!0,onMouseup:M,onFocus:j,onBlur:n[1]||=e=>w.value=!1},{default:e(()=>[f(t.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),A=r({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(n){let r=n,c=D(),u=h(),g=t(()=>r.tabStopId||u),_=t(()=>c.currentTabStopId.value===g.value),{getItems:v,CollectionItem:b}=y();o(()=>{r.focusable&&c.onFocusableItemAdd()}),l(()=>{r.focusable&&c.onFocusableItemRemove()});function x(e){if(e.key===`Tab`&&e.shiftKey){c.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=w(e,c.orientation.value,c.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!r.allowShiftKey&&e.shiftKey)return;e.preventDefault();let n=[...v().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=c.loop.value?E(n,r+1):n.slice(r+1)}d(()=>T(n))}}return(t,n)=>(m(),p(i(b),null,{default:e(()=>[a(i(s),{tabindex:_.value?0:-1,"data-orientation":i(c).orientation.value,"data-active":t.active?``:void 0,"data-disabled":t.focusable?void 0:``,as:t.as,"as-child":t.asChild,onMousedown:n[0]||=e=>{t.focusable?i(c).onItemFocus(g.value):e.preventDefault()},onFocus:n[1]||=e=>i(c).onItemFocus(g.value),onKeydown:x},{default:e(()=>[f(t.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}});export{k as n,A as t};
@@ -0,0 +1 @@
1
+ import{A as e,Bt as t,Ct as n,F as r,G as i,H as a,J as o,K as s,Q as ee,Rt as c,U as l,Ut as u,X as d,Y as f,Z as p,ct as te,ft as m,jt as h,k as g,n as _,q as v,ut as y}from"./button-D27ClX8J.js";import{a as ne}from"./PopperContent-6BXua_FZ.js";import{n as b,t as re}from"./CascadingModelSelect-JBQq3JJt.js";import{a as x,i as S,n as C,r as w,t as T}from"./SelectValue-CT2z_-6j.js";import{t as E}from"./trash-2-QNFff7V4.js";import{n as D,t as ie}from"./CollapsibleContent-GecW2Jk_.js";import{t as ae}from"./CollapsibleTrigger-Cib3-OsK.js";import{a as oe,n as se,o as ce,r as le,t as ue}from"./dialog-BnYR6_dh.js";import{a as de,c as fe,i as pe,n as me,o as he,r as ge,t as _e}from"./alert-dialog-DzKCAoYJ.js";import{t as O}from"./Label-BwzPFyL-.js";import{t as ve}from"./Switch-D1NdA4ax.js";import{t as k}from"./badge-C-9zPTgw.js";import{n as A}from"./lib-D0Ek2pPZ.js";import{t as j}from"./Input-tcnrMp1v.js";import{a as ye,i as M,n as N,o as P,r as F,t as be}from"./TableHeader-CcMyOsUB.js";import"./constants-B-VELBjk.js";var xe={class:`p-6`},Se={class:`flex items-center justify-between mb-4`},Ce={class:`text-lg font-semibold text-foreground`},we={class:`text-sm text-muted-foreground mt-1`},Te={key:0,class:`flex items-center justify-center py-16 text-muted-foreground text-sm`},Ee={class:`mb-4`},De={class:`flex items-center justify-between mb-3`},Oe={class:`text-sm font-medium text-foreground`},ke={class:`bg-card rounded-lg border overflow-hidden`},Ae={class:`flex flex-wrap gap-1`},je={class:`flex items-center justify-end gap-1`},Me={key:1,class:`text-center text-muted-foreground py-12 bg-card rounded-xl border`},Ne={key:0,class:`bg-destructive/10 border border-destructive/30 rounded-md px-3 py-2 text-sm text-destructive`},Pe={key:0,class:`text-sm text-destructive mt-1`},Fe={class:`flex flex-wrap gap-2`},Ie={key:0,class:`text-sm text-destructive mt-1`},Le={class:`grid grid-cols-2 gap-4`},Re={key:1,class:`text-sm text-destructive`},ze={class:`space-y-2`},Be={class:`flex-1`},Ve={key:0,class:`text-sm text-destructive mt-1`},He={class:`text-sm font-medium`},Ue={class:`grid grid-cols-3 gap-3`},I=ee({__name:`Schedules`,setup(ee){let{t:I}=r(),L=i(()=>[I(`schedules.weekDays.sun`),I(`schedules.weekDays.mon`),I(`schedules.weekDays.tue`),I(`schedules.weekDays.wed`),I(`schedules.weekDays.thu`),I(`schedules.weekDays.fri`),I(`schedules.weekDays.sat`)]),R=()=>({name:``,week:[1,2,3,4,5],start_hour:0,end_hour:24,targets:[{backend_model:``,provider_id:``}],max_concurrency:void 0,queue_timeout_ms:void 0,max_queue_size:void 0}),z=h(!1),B=h([]),V=h([]),H=h([]),U=h(``),W=h(!1),G=h(null),K=h(null),q=h(R()),J=h(!1),Y=h({}),X=h(``);function We(e){let t=L.value,n=[];try{n=JSON.parse(e)}catch(e){return console.warn(`Failed to parse week JSON:`,e),[]}return n.map(e=>t[e]??String(e))}function Z(e){return String(e).padStart(2,`0`)+`:00`}async function Ge(){try{B.value=await g.getMappingGroups()}catch(t){A.error(e(t,I(`schedules.loadGroupsFailed`)))}}async function Q(){try{V.value=await g.getProviders()}catch(t){A.error(e(t,I(`schedules.loadProvidersFailed`)))}}let Ke=i(()=>V.value.map(e=>({provider:{id:e.id,name:e.name},models:(e.models??[]).map(e=>({name:e.name,contextWindow:e.context_window??2e5}))})));async function $(){if(!U.value){H.value=[];return}try{H.value=await g.getSchedulesByGroup(U.value)}catch(t){A.error(e(t,I(`schedules.loadSchedulesFailed`)))}}function qe(){$()}function Je(e){let t=q.value.week.indexOf(e);t>=0?q.value.week.splice(t,1):q.value.week.push(e),delete Y.value.week}function Ye(){q.value.targets.push({backend_model:``,provider_id:``})}function Xe(e){q.value.targets.splice(e,1)}function Ze(){G.value=null,q.value=R(),J.value=!1,Y.value={},X.value=``,W.value=!0}function Qe(e){G.value=e.id,Y.value={},X.value=``;let t=[{backend_model:``,provider_id:``}];try{let n=JSON.parse(e.mapping_rule);n.targets?.length&&(t=n.targets)}catch(e){console.warn(`Failed to parse mapping_rule JSON:`,e)}let n=[1,2,3,4,5];try{n=JSON.parse(e.week)}catch(e){console.warn(`Failed to parse week JSON:`,e)}let r,i,a;if(e.concurrency_rule)try{let t=JSON.parse(e.concurrency_rule);r=t.max_concurrency,i=t.queue_timeout_ms,a=t.max_queue_size}catch(e){console.warn(`Failed to parse concurrency_rule JSON:`,e)}q.value={name:e.name,week:n,start_hour:e.start_hour,end_hour:e.end_hour,targets:t,max_concurrency:r,queue_timeout_ms:i,max_queue_size:a},J.value=!!e.concurrency_rule,W.value=!0}function $e(){let e={};q.value.name.trim()||(e.name=I(`schedules.form.nameRequired`)),q.value.week.length===0&&(e.week=I(`schedules.form.weekRequired`)),q.value.start_hour>=q.value.end_hour&&(e.time=I(`schedules.form.timeInvalid`));let t=``;for(let e=0;e<q.value.targets.length;e++){let n=q.value.targets[e];if(!n.provider_id||!n.backend_model){t=I(`schedules.form.targetRequired`);break}}return t&&(e.targets=t),Y.value=e,Object.keys(e).length===0}async function et(){if(X.value=``,$e())try{let e=JSON.stringify({targets:q.value.targets}),t=q.value.max_concurrency||q.value.queue_timeout_ms||q.value.max_queue_size?JSON.stringify({...q.value.max_concurrency?{max_concurrency:q.value.max_concurrency}:{},...q.value.queue_timeout_ms?{queue_timeout_ms:q.value.queue_timeout_ms}:{},...q.value.max_queue_size?{max_queue_size:q.value.max_queue_size}:{}}):null,n={mapping_group_id:U.value,name:q.value.name,week:JSON.stringify(q.value.week),start_hour:q.value.start_hour,end_hour:q.value.end_hour,mapping_rule:e,concurrency_rule:t};G.value?await g.updateSchedule(G.value,n):await g.createSchedule(n),W.value=!1,await $()}catch(t){X.value=e(t,I(`schedules.saveFailed`))}}async function tt(t){try{await g.toggleSchedule(t.id),await $()}catch(t){A.error(e(t,I(`schedules.toggleFailed`)))}}async function nt(){let t=K.value;if(t){K.value=null;try{await g.deleteSchedule(t.id),await $()}catch(t){A.error(e(t,I(`schedules.deleteFailed`)))}}}return te(async()=>{z.value=!0,await Promise.allSettled([Ge(),Q()]),B.value.length>0&&(U.value=B.value[0].id,await $()),z.value=!1}),(e,r)=>(y(),f(`div`,xe,[s(`div`,Se,[s(`div`,null,[s(`h2`,Ce,u(c(I)(`schedules.title`)),1),s(`p`,we,u(c(I)(`schedules.description`)),1)])]),z.value?(y(),f(`div`,Te,u(c(I)(`common.loading`)),1)):o(``,!0),z.value?o(``,!0):(y(),f(l,{key:1},[s(`div`,Ee,[p(c(O),{class:`block text-sm font-medium text-foreground mb-2`},{default:n(()=>[d(u(c(I)(`schedules.selectGroup`)),1)]),_:1}),p(c(x),{modelValue:U.value,"onUpdate:modelValue":[r[0]||=e=>U.value=e,qe]},{default:n(()=>[p(c(C),{class:`w-80`},{default:n(()=>[p(c(T),{placeholder:c(I)(`schedules.selectGroupPlaceholder`)},null,8,[`placeholder`])]),_:1}),p(c(S),null,{default:n(()=>[(y(!0),f(l,null,m(B.value,e=>(y(),v(c(w),{key:e.id,value:e.id},{default:n(()=>[d(u(e.client_model),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),U.value?(y(),f(l,{key:0},[s(`div`,De,[s(`h3`,Oe,u(c(I)(`schedules.scheduleRules`)),1),p(c(_),{size:`sm`,onClick:Ze},{default:n(()=>[p(c(b),{class:`w-4 h-4 mr-1`}),d(` `+u(c(I)(`schedules.createSchedule`)),1)]),_:1})]),s(`div`,ke,[p(c(P),null,{default:n(()=>[p(c(be),null,{default:n(()=>[p(c(F),{class:`bg-muted`},{default:n(()=>[p(c(N),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(I)(`schedules.tableHeaders.name`)),1)]),_:1}),p(c(N),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(I)(`schedules.tableHeaders.status`)),1)]),_:1}),p(c(N),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(I)(`schedules.tableHeaders.week`)),1)]),_:1}),p(c(N),{class:`text-muted-foreground`},{default:n(()=>[d(u(c(I)(`schedules.tableHeaders.timeRange`)),1)]),_:1}),p(c(N),{class:`text-right text-muted-foreground`},{default:n(()=>[d(u(c(I)(`schedules.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),p(c(ye),null,{default:n(()=>[(y(!0),f(l,null,m(H.value,e=>(y(),v(c(F),{key:e.id},{default:n(()=>[p(c(M),{class:`font-medium`},{default:n(()=>[d(u(e.name),1)]),_:2},1024),p(c(M),null,{default:n(()=>[p(c(k),{variant:e.enabled?`default`:`secondary`},{default:n(()=>[d(u(e.enabled?c(I)(`schedules.enabled`):c(I)(`schedules.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),p(c(M),null,{default:n(()=>[s(`div`,Ae,[(y(!0),f(l,null,m(We(e.week),e=>(y(),v(c(k),{key:e,variant:`outline`,class:`text-xs`},{default:n(()=>[d(u(e),1)]),_:2},1024))),128))])]),_:2},1024),p(c(M),{class:`font-mono text-sm`},{default:n(()=>[d(u(Z(e.start_hour))+`-`+u(Z(e.end_hour)),1)]),_:2},1024),p(c(M),{class:`text-right`},{default:n(()=>[s(`div`,je,[p(c(_),{variant:`ghost`,size:`sm`,onClick:t=>tt(e)},{default:n(()=>[p(c(ve),{checked:!!e.enabled,size:`sm`},null,8,[`checked`])]),_:2},1032,[`onClick`]),p(c(_),{variant:`ghost`,size:`sm`,onClick:t=>Qe(e)},{default:n(()=>[d(u(c(I)(`common.edit`)),1)]),_:1},8,[`onClick`]),p(c(_),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:t=>K.value=e},{default:n(()=>[d(u(c(I)(`common.delete`)),1)]),_:1},8,[`onClick`])])]),_:2},1024)]),_:2},1024))),128)),H.value.length===0?(y(),v(c(F),{key:0},{default:n(()=>[p(c(M),{colspan:`5`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[d(u(c(I)(`schedules.emptyRules`)),1)]),_:1})]),_:1})):o(``,!0)]),_:1})]),_:1})])],64)):(y(),f(`div`,Me,u(c(I)(`schedules.pleaseSelectGroup`)),1)),p(c(ce),{open:W.value,"onUpdate:open":r[12]||=e=>W.value=e},{default:n(()=>[p(c(oe),{class:`max-w-2xl max-h-[85vh] overflow-y-auto`},{default:n(()=>[p(c(se),null,{default:n(()=>[p(c(ue),null,{default:n(()=>[d(u(G.value?c(I)(`schedules.editSchedule`):c(I)(`schedules.createSchedule`)),1)]),_:1})]),_:1}),s(`form`,{onSubmit:a(et,[`prevent`]),class:`space-y-4`},[X.value?(y(),f(`div`,Ne,u(X.value),1)):o(``,!0),s(`div`,null,[p(c(O),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[d(u(c(I)(`schedules.form.name`)),1)]),_:1}),p(c(j),{modelValue:q.value.name,"onUpdate:modelValue":r[1]||=e=>q.value.name=e,placeholder:c(I)(`schedules.form.namePlaceholder`),onInput:r[2]||=e=>delete Y.value.name},null,8,[`modelValue`,`placeholder`]),Y.value.name?(y(),f(`p`,Pe,u(Y.value.name),1)):o(``,!0)]),s(`div`,null,[p(c(O),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[d(u(c(I)(`schedules.form.week`)),1)]),_:1}),s(`div`,Fe,[(y(!0),f(l,null,m(L.value,(e,t)=>(y(),v(c(_),{key:t,type:`button`,variant:(q.value.week??[]).includes(t)?`default`:`outline`,size:`sm`,onClick:e=>Je(t)},{default:n(()=>[d(u(e),1)]),_:2},1032,[`variant`,`onClick`]))),128))]),Y.value.week?(y(),f(`p`,Ie,u(Y.value.week),1)):o(``,!0)]),s(`div`,Le,[s(`div`,null,[p(c(O),{class:`text-sm font-medium text-foreground mb-1 block`},{default:n(()=>[d(u(c(I)(`schedules.form.startTime`)),1)]),_:1}),p(c(x),{modelValue:q.value.start_hour,"onUpdate:modelValue":[r[3]||=e=>q.value.start_hour=e,r[4]||=e=>{q.value.start_hour=Number(e),delete Y.value.time}]},{default:n(()=>[p(c(C),null,{default:n(()=>[p(c(T),{placeholder:c(I)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),p(c(S),null,{default:n(()=>[(y(),f(l,null,m(24,e=>p(c(w),{key:e-1,value:e-1},{default:n(()=>[d(u(String(e-1).padStart(2,`0`))+`:00 `,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])]),s(`div`,null,[p(c(O),{class:`text-sm font-medium text-foreground mb-1 block`},{default:n(()=>[d(u(c(I)(`schedules.form.endTime`)),1)]),_:1}),p(c(x),{modelValue:q.value.end_hour,"onUpdate:modelValue":[r[5]||=e=>q.value.end_hour=e,r[6]||=e=>{q.value.end_hour=Number(e),delete Y.value.time}]},{default:n(()=>[p(c(C),null,{default:n(()=>[p(c(T),{placeholder:c(I)(`schedules.form.selectHour`)},null,8,[`placeholder`])]),_:1}),p(c(S),null,{default:n(()=>[(y(),f(l,null,m(24,e=>p(c(w),{key:e,value:e},{default:n(()=>[d(u(String(e).padStart(2,`0`))+`:00 `,1)]),_:2},1032,[`value`])),64))]),_:1})]),_:1},8,[`modelValue`])])]),Y.value.time?(y(),f(`p`,Re,u(Y.value.time),1)):o(``,!0),s(`div`,null,[p(c(O),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[d(u(c(I)(`schedules.form.targets`)),1)]),_:1}),s(`div`,ze,[(y(!0),f(l,null,m(q.value.targets,(e,t)=>(y(),f(`div`,{key:t,class:`flex items-center gap-2`},[s(`div`,Be,[p(re,{providers:Ke.value,"model-value":e.provider_id&&e.backend_model?{provider_id:e.provider_id,model:e.backend_model}:void 0,placeholder:c(I)(`schedules.form.selectModel`),"onUpdate:modelValue":t=>{e.provider_id=t.provider_id,e.backend_model=t.model,delete Y.value.targets}},null,8,[`providers`,`model-value`,`placeholder`,`onUpdate:modelValue`])]),p(c(_),{type:`button`,variant:`ghost`,size:`sm`,disabled:q.value.targets.length<=1,onClick:e=>Xe(t)},{default:n(()=>[p(c(E),{class:`w-4 h-4`})]),_:1},8,[`disabled`,`onClick`])]))),128)),p(c(_),{type:`button`,variant:`outline`,size:`sm`,onClick:Ye},{default:n(()=>[p(c(b),{class:`w-3 h-3 mr-1`}),d(` `+u(c(I)(`schedules.form.addTarget`)),1)]),_:1})]),Y.value.targets?(y(),f(`p`,Ve,u(Y.value.targets),1)):o(``,!0)]),p(c(D),{open:J.value,"onUpdate:open":r[10]||=e=>J.value=e},{default:n(()=>[p(c(ae),{"as-child":``},{default:n(()=>[p(c(_),{type:`button`,variant:`ghost`,class:`w-full justify-between px-0`},{default:n(()=>[s(`span`,He,u(c(I)(`schedules.form.concurrencyTitle`)),1),p(c(ne),{class:t([`h-4 w-4 transition-transform`,{"rotate-180":J.value}])},null,8,[`class`])]),_:1})]),_:1}),p(c(ie),{class:`space-y-3 pt-2`},{default:n(()=>[s(`div`,Ue,[s(`div`,null,[p(c(O),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(I)(`schedules.form.maxConcurrency`)),1)]),_:1}),p(c(j),{modelValue:q.value.max_concurrency,"onUpdate:modelValue":r[7]||=e=>q.value.max_concurrency=e,modelModifiers:{number:!0},type:`number`,min:1,placeholder:c(I)(`schedules.form.maxConcurrencyPlaceholder`)},null,8,[`modelValue`,`placeholder`])]),s(`div`,null,[p(c(O),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(I)(`schedules.form.queueTimeout`)),1)]),_:1}),p(c(j),{modelValue:q.value.queue_timeout_ms,"onUpdate:modelValue":r[8]||=e=>q.value.queue_timeout_ms=e,modelModifiers:{number:!0},type:`number`,min:1e3,placeholder:c(I)(`schedules.form.queueTimeoutPlaceholder`)},null,8,[`modelValue`,`placeholder`])]),s(`div`,null,[p(c(O),{class:`text-xs text-muted-foreground`},{default:n(()=>[d(u(c(I)(`schedules.form.maxQueue`)),1)]),_:1}),p(c(j),{modelValue:q.value.max_queue_size,"onUpdate:modelValue":r[9]||=e=>q.value.max_queue_size=e,modelModifiers:{number:!0},type:`number`,min:0,placeholder:c(I)(`schedules.form.maxQueuePlaceholder`)},null,8,[`modelValue`,`placeholder`])])])]),_:1})]),_:1},8,[`open`]),p(c(le),null,{default:n(()=>[p(c(_),{type:`button`,variant:`outline`,onClick:r[11]||=e=>W.value=!1},{default:n(()=>[d(u(c(I)(`common.cancel`)),1)]),_:1}),p(c(_),{type:`submit`},{default:n(()=>[d(u(c(I)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),p(c(fe),{open:!!K.value,"onUpdate:open":r[13]||=e=>{e||(K.value=null)}},{default:n(()=>[p(c(de),null,{default:n(()=>[p(c(me),null,{default:n(()=>[p(c(_e),null,{default:n(()=>[d(u(c(I)(`schedules.confirmDeleteTitle`)),1)]),_:1}),p(c(pe),null,{default:n(()=>[d(u(c(I)(`schedules.confirmDeleteMessage`,{name:K.value?.name??``})),1)]),_:1})]),_:1}),p(c(ge),null,{default:n(()=>[p(c(he),null,{default:n(()=>[d(u(c(I)(`common.cancel`)),1)]),_:1}),p(c(_),{variant:`destructive`,onClick:nt},{default:n(()=>[d(u(c(I)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])],64))]))}});export{I as default};
@@ -0,0 +1 @@
1
+ import{Bt as e,Ct as t,G as n,H as r,Ht as i,It as a,J as o,K as s,M as c,Q as l,Rt as u,S as d,U as f,Ut as p,Vt as m,W as h,X as g,Y as _,Z as v,at as y,bt as b,ct as x,et as S,ft as C,ht as w,i as T,jt as E,lt as D,m as O,o as k,ot as A,p as j,pt as M,q as N,r as P,st as ee,u as te,ut as F,x as I,xt as L}from"./button-D27ClX8J.js";import{t as ne}from"./check-yTAivq1h.js";import{a as re,i as ie,r as ae,t as oe}from"./PopperContent-6BXua_FZ.js";import{t as se}from"./ohash.D__AXeF1-CTo5WcIm.js";import{n as R,t as ce}from"./useNonce-DR38uny5.js";import{_ as le,a as ue,c as z,d as B,g as V,i as de,l as fe,n as H,o as pe,p as me,t as he,u as U,v as W,y as G}from"./Teleport-Bmeh33lB.js";import{n as ge,t as K}from"./Collection-Dbvdpa0m.js";import{t as _e}from"./useFocusGuards-DQBZKWnu.js";import{t as ve}from"./useFormControl-T2RQNBqs.js";import{t as ye}from"./VisuallyHidden-ogESfc9X.js";var be=c(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]);function q(e){let t=d(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=W(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=Se(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function xe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Se(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=xe(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}var Ce=[` `,`Enter`,`ArrowUp`,`ArrowDown`],we=[` `,`Enter`];function J(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Y(e,t,n)):Y(e,t,n)}function Y(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:se(e,t)}function Te(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Ee={key:0,value:``},[X,De]=G(`SelectRoot`),Oe=l({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:r}){let i=e,s=r,{required:c,disabled:l,multiple:d,dir:p}=a(i),m=O(i,`modelValue`,s,{defaultValue:i.defaultValue??(d.value?[]:void 0),passive:i.modelValue===void 0,deep:!0}),h=O(i,`open`,s,{defaultValue:i.defaultOpen,passive:i.open===void 0}),g=E(),v=E(),b=E({x:0,y:0}),x=n(()=>d.value&&Array.isArray(m.value)?m.value?.length===0:V(m.value));K({isProvider:!0});let S=ge(p),w=ve(g),T=E(new Set),D=n(()=>Array.from(T.value).map(e=>e.value).join(`;`));function k(e){if(d.value){let t=Array.isArray(m.value)?[...m.value]:[],n=t.findIndex(t=>Y(t,e,i.by));n===-1?t.push(e):t.splice(n,1),m.value=[...t]}else m.value=e}function A(e){return Array.from(T.value).find(t=>J(e,t.value,i.by))}return De({triggerElement:g,onTriggerChange:e=>{g.value=e},valueElement:v,onValueElementChange:e=>{v.value=e},contentId:``,modelValue:m,onValueChange:k,by:i.by,open:h,multiple:d,required:c,onOpenChange:e=>{h.value=e},dir:S,triggerPointerDownPosRef:b,disabled:l,isEmptyModelValue:x,optionsSet:T,onOptionAdd:e=>{let t=A(e.value);t&&T.value.delete(t),T.value.add(e)},onOptionRemove:e=>{let t=A(e.value);t&&T.value.delete(t)}}),(e,n)=>(F(),N(u(ie),null,{default:t(()=>[M(e.$slots,`default`,{modelValue:u(m),open:u(h)}),u(w)&&e.name?(F(),N(ke,{key:D.value,"aria-hidden":`true`,tabindex:`-1`,multiple:u(d),required:u(c),name:e.name,autocomplete:e.autocomplete,disabled:u(l),value:u(m)},{default:t(()=>[u(V)(u(m))?(F(),_(`option`,Ee)):o(`v-if`,!0),(F(!0),_(f,null,C(Array.from(T.value),e=>(F(),_(`option`,y({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):o(`v-if`,!0)]),_:3}))}}),ke=l({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let n=e,r=E(),i=X();b(()=>n.value,(e,t)=>{let n=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(n,`value`).set;if(e!==t&&i&&r.value){let t=new Event(`change`,{bubbles:!0});i.call(r.value,e),r.value.dispatchEvent(t)}});function a(e){i.onValueChange(e.target.value)}return(e,i)=>(F(),N(u(ye),{"as-child":``},{default:t(()=>[s(`select`,y({ref_key:`selectElement`,ref:r},n,{onInput:a}),[M(e.$slots,`default`)],16)]),_:3}))}}),Ae=l({__name:`SelectPopperPosition`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=B(e);return(e,r)=>(F(),N(u(oe),y(u(n),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16))}}),je={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Z,Me]=G(`SelectContent`),Ne=l({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:i}){let a=e,o=i,s=X();_e(),me(a.bodyLock);let{CollectionSlot:c,getItems:l}=K(),d=E();fe(d);let{search:f,handleTypeaheadSearch:p}=q(),m=E(),h=E(),g=E(),_=E(!1),x=E(!1),S=E(!1);function C(){h.value&&d.value&&H([h.value,d.value])}b(_,()=>{C()});let{onOpenChange:T,triggerPointerDownPosRef:D}=s;L(e=>{if(!d.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(D.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(D.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():d.value?.contains(e.target)||T(!1),document.removeEventListener(`pointermove`,n),D.value=null)};D.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function O(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&p(e.key,l()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...l().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>H(t)),e.preventDefault()}}let k=B(n(()=>a.position===`popper`?a:{}).value);return Me({content:d,viewport:m,onViewportChange:e=>{m.value=e},itemRefCallback:(e,t,n)=>{let r=!x.value&&!n,i=J(s.modelValue.value,t,s.by);if(s.multiple.value){if(S.value)return;(i||r)&&(h.value=e,i&&(S.value=!0))}else (i||r)&&(h.value=e);r&&(x.value=!0)},selectedItem:h,selectedItemText:g,onItemLeave:()=>{d.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!x.value&&!n;(J(s.modelValue.value,t,s.by)||r)&&(g.value=e)},focusSelectedItem:C,position:a.position,isPositioned:_,searchRef:f}),(e,n)=>(F(),N(u(c),null,{default:t(()=>[v(u(de),{"as-child":``,onMountAutoFocus:n[6]||=r(()=>{},[`prevent`]),onUnmountAutoFocus:n[7]||=e=>{o(`closeAutoFocus`,e),!e.defaultPrevented&&(u(s).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:t(()=>[v(u(ue),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:n[2]||=r(()=>{},[`prevent`]),onDismiss:n[3]||=e=>u(s).onOpenChange(!1),onEscapeKeyDown:n[4]||=e=>o(`escapeKeyDown`,e),onPointerDownOutside:n[5]||=e=>o(`pointerDownOutside`,e)},{default:t(()=>[(F(),N(w(e.position===`popper`?Ae:Fe),y({...e.$attrs,...u(k)},{id:u(s).contentId,ref:e=>{if(!e)return;let t=u(te)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?d.value=t.firstElementChild:d.value=t},role:`listbox`,"data-state":u(s).open.value?`open`:`closed`,dir:u(s).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:n[0]||=r(()=>{},[`prevent`]),onPlaced:n[1]||=e=>_.value=!0,onKeydown:O}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[Q,Pe]=G(`SelectItemAlignedPosition`),Fe=l({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:n}){let r=e,a=n,{getItems:o}=K(),s=X(),c=Z(),l=E(!1),d=E(!0),f=E(),{forwardRef:p,currentElement:m}=k(),{viewport:h,selectedItem:g,selectedItemText:b,focusSelectedItem:S}=c;function C(){if(s.triggerElement.value&&s.valueElement.value&&f.value&&m.value&&h?.value&&g?.value&&b?.value){let e=s.triggerElement.value.getBoundingClientRect(),t=m.value.getBoundingClientRect(),n=s.valueElement.value.getBoundingClientRect(),r=b.value.getBoundingClientRect();if(s.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=R(a,10,Math.max(10,l-c));f.value.style.minWidth=`${s}px`,f.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=R(a,10,Math.max(10,l-c));f.value.style.minWidth=`${s}px`,f.value.style.right=`${u}px`}let i=o().map(e=>e.ref),c=window.innerHeight-20,u=h.value.scrollHeight,d=window.getComputedStyle(m.value),p=Number.parseInt(d.borderTopWidth,10),_=Number.parseInt(d.paddingTop,10),v=Number.parseInt(d.borderBottomWidth,10),y=Number.parseInt(d.paddingBottom,10),x=p+_+u+y+v,S=Math.min(g.value.offsetHeight*5,x),C=window.getComputedStyle(h.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=c-E,O=g.value.offsetHeight/2,k=g.value.offsetTop+O,A=p+_+k,j=x-A;if(A<=E){let e=g.value===i.at(-1);f.value.style.bottom=`0px`;let t=m.value.clientHeight-h.value.offsetTop-h.value.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+v);f.value.style.height=`${n}px`}else{let e=g.value===i[0];f.value.style.top=`0px`;let t=Math.max(E,p+h.value.offsetTop+(e?w:0)+O)+j;f.value.style.height=`${t}px`,h.value.scrollTop=A-E+h.value.offsetTop}f.value.style.margin=`10px 0`,f.value.style.minHeight=`${S}px`,f.value.style.maxHeight=`${c}px`,a(`placed`),requestAnimationFrame(()=>l.value=!0)}}let w=E(``);x(async()=>{await A(),C(),m.value&&(w.value=window.getComputedStyle(m.value).zIndex)});function D(e){e&&d.value===!0&&(C(),S?.(),d.value=!1)}return j(s.triggerElement,()=>{C()}),Pe({contentWrapper:f,shouldExpandOnScrollRef:l,onScrollButtonChange:D}),(e,n)=>(F(),_(`div`,{ref_key:`contentWrapperElement`,ref:f,style:i({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:w.value})},[v(u(T),y({ref:u(p),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...r}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16)],4))}}),Ie=l({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return De(e.context),Me(je),(e,t)=>M(e.$slots,`default`)}}),Le={key:1},Re=l({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:r}){let i=e,a=U(i,r),s=X(),c=E();x(()=>{c.value=new DocumentFragment});let l=E(),d=n(()=>i.forceMount||s.open.value),f=E(d.value);return b(d,()=>{setTimeout(()=>f.value=d.value)}),(e,n)=>d.value||f.value||l.value?.present?(F(),N(u(pe),{key:0,ref_key:`presenceRef`,ref:l,present:d.value},{default:t(()=>[v(Ne,m(S({...u(a),...e.$attrs})),{default:t(()=>[M(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):c.value?(F(),_(`div`,Le,[(F(),N(h,{to:c.value},[v(Ie,{context:u(s)},{default:t(()=>[M(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):o(`v-if`,!0)}}),ze=l({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,n)=>(F(),N(u(T),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:t(()=>[M(e.$slots,`default`,{},()=>[n[0]||=g(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[Be,Ve]=G(`SelectItem`),He=l({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:i}){let o=e,s=i,{disabled:c}=a(o),l=X(),d=Z(),{forwardRef:f,currentElement:p}=k(),{CollectionItem:m}=K(),h=n(()=>J(l.modelValue?.value,o.value,l.by)),g=E(!1),_=E(o.textValue??``),y=z(void 0,`reka-select-item-text`);async function b(e){e.defaultPrevented||le(`select.select`,S,{originalEvent:e,value:o.value})}async function S(e){await A(),s(`select`,e),!e.defaultPrevented&&(c.value||(l.onValueChange(o.value),l.multiple.value||l.onOpenChange(!1)))}async function C(e){await A(),!e.defaultPrevented&&(c.value?d.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function w(e){await A(),!e.defaultPrevented&&e.currentTarget===W()&&d.onItemLeave?.()}async function D(e){await A(),!e.defaultPrevented&&(d.searchRef?.value!==``&&e.key===` `||(we.includes(e.key)&&b(e),e.key===` `&&e.preventDefault()))}if(o.value===``)throw Error(`A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return x(()=>{p.value&&d.itemRefCallback(p.value,o.value,o.disabled)}),Ve({value:o.value,disabled:c,textId:y,isSelected:h,onItemTextChange:e=>{_.value=((_.value||e?.textContent)??``).trim()}}),(e,n)=>(F(),N(u(m),{value:{textValue:_.value}},{default:t(()=>[v(u(T),{ref:u(f),role:`option`,"aria-labelledby":u(y),"data-highlighted":g.value?``:void 0,"aria-selected":h.value,"data-state":h.value?`checked`:`unchecked`,"aria-disabled":u(c)||void 0,"data-disabled":u(c)?``:void 0,tabindex:u(c)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:n[0]||=e=>g.value=!0,onBlur:n[1]||=e=>g.value=!1,onPointerup:b,onPointerdown:n[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:n[3]||=r(()=>{},[`prevent`,`stop`]),onPointermove:C,onPointerleave:w,onKeydown:D},{default:t(()=>[M(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),Ue=l({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,r=Be();return(e,i)=>u(r).isSelected.value?(F(),N(u(T),y({key:0,"aria-hidden":`true`},n),{default:t(()=>[M(e.$slots,`default`)]),_:3},16)):o(`v-if`,!0)}}),We=l({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let r=e,i=X(),a=Z(),o=Be(),{forwardRef:s,currentElement:c}=k(),l=n(()=>({value:o.value,disabled:o.disabled.value,textContent:c.value?.textContent??o.value?.toString()??``}));return x(()=>{c.value&&(o.onItemTextChange(c.value),a.itemTextRefCallback(c.value,o.value,o.disabled.value),i.onOptionAdd(l.value))}),D(()=>{i.onOptionRemove(l.value)}),(e,n)=>(F(),N(u(T),y({id:u(o).textId,ref:u(s)},{...r,...e.$attrs}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`id`]))}}),Ge=l({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=e;return(e,r)=>(F(),N(u(he),m(S(n)),{default:t(()=>[M(e.$slots,`default`)]),_:3},16))}}),$=l({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(e,{emit:n}){let r=n,{getItems:i}=K(),a=Z(),o=E(null);function s(){o.value!==null&&(window.clearInterval(o.value),o.value=null)}L(()=>{i().map(e=>e.ref).find(e=>e===W())?.scrollIntoView({block:`nearest`})});function c(){o.value===null&&(o.value=window.setInterval(()=>{r(`autoScroll`)},50))}function l(){a.onItemLeave?.(),o.value===null&&(o.value=window.setInterval(()=>{r(`autoScroll`)},50))}return ee(()=>s()),(e,n)=>(F(),N(u(T),y({"aria-hidden":`true`,style:{flexShrink:0}},e.$parent?.$props,{onPointerdown:c,onPointermove:l,onPointerleave:n[0]||=()=>{s()}}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16))}}),Ke=l({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=Z(),r=n.position===`item-aligned`?Q():void 0,{forwardRef:i,currentElement:a}=k(),s=E(!1);return L(e=>{if(n.viewport?.value&&n.isPositioned?.value){let t=n.viewport.value;function r(){let e=t.scrollHeight-t.clientHeight;s.value=Math.ceil(t.scrollTop)<e}r(),t.addEventListener(`scroll`,r),e(()=>t.removeEventListener(`scroll`,r))}}),b(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>s.value?(F(),N($,{key:0,ref:u(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:t}=u(n);e?.value&&t?.value&&(e.value.scrollTop=e.value.scrollTop+t.value.offsetHeight)}},{default:t(()=>[M(e.$slots,`default`)]),_:3},512)):o(`v-if`,!0)}}),qe=l({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=Z(),r=n.position===`item-aligned`?Q():void 0,{forwardRef:i,currentElement:a}=k(),s=E(!1);return L(e=>{if(n.viewport?.value&&n.isPositioned?.value){let t=n.viewport.value;function r(){s.value=t.scrollTop>0}r(),t.addEventListener(`scroll`,r),e(()=>t.removeEventListener(`scroll`,r))}}),b(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>s.value?(F(),N($,{key:0,ref:u(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:t}=u(n);e?.value&&t?.value&&(e.value.scrollTop=e.value.scrollTop-t.value.offsetHeight)}},{default:t(()=>[M(e.$slots,`default`)]),_:3},512)):o(`v-if`,!0)}}),Je=l({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let i=e,a=X(),{forwardRef:o,currentElement:s}=k(),c=n(()=>a.disabled?.value||i.disabled);a.contentId||=z(void 0,`reka-select-content`),x(()=>{a.onTriggerChange(s.value)});let{getItems:l}=K(),{search:d,handleTypeaheadSearch:f,resetTypeahead:p}=q();function m(){c.value||(a.onOpenChange(!0),p())}function h(e){m(),a.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}return(e,n)=>(F(),N(u(ae),{"as-child":``,reference:e.reference},{default:t(()=>[v(u(T),{ref:u(o),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":u(a).contentId,"aria-expanded":u(a).open.value||!1,"aria-required":u(a).required?.value,"aria-autocomplete":`none`,disabled:c.value,dir:u(a)?.dir.value,"data-state":u(a)?.open.value?`open`:`closed`,"data-disabled":c.value?``:void 0,"data-placeholder":u(Te)(u(a).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:n[0]||=e=>{(e?.currentTarget)?.focus()},onPointerdown:n[1]||=e=>{if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(h(e),e.preventDefault())},onPointerup:n[2]||=r(e=>{e.pointerType===`touch`&&h(e)},[`prevent`]),onKeydown:n[3]||=e=>{let t=u(d)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(u(f)(e.key,u(l)()),u(Ce).includes(e.key)&&(m(),e.preventDefault()))}},{default:t(()=>[M(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),Ye=l({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let r=e,{forwardRef:i,currentElement:a}=k(),o=X();x(()=>{o.valueElement=a});let s=n(()=>{let e=[],t=Array.from(o.optionsSet.value),n=e=>t.find(t=>J(e,t.value,o.by));return e=Array.isArray(o.modelValue.value)?o.modelValue.value.map(e=>n(e)?.textContent??``):[n(o.modelValue.value)?.textContent??``],e.filter(Boolean)}),c=n(()=>s.value.length?s.value.join(`, `):r.placeholder);return(e,n)=>(F(),N(u(T),{ref:u(i),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":s.value.length?void 0:r.placeholder},{default:t(()=>[M(e.$slots,`default`,{selectedLabel:s.value,modelValue:u(o).modelValue.value},()=>[g(p(c.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),Xe=l({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,{nonce:r}=a(n),i=ce(r),o=Z(),s=o.position===`item-aligned`?Q():void 0,{forwardRef:c,currentElement:l}=k();x(()=>{o?.onViewportChange(l.value)});let d=E(0);function p(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=s??{};if(n?.value&&r?.value){let e=Math.abs(d.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o<n){let i=o+e,a=Math.min(n,i),s=i-a;r.value.style.height=`${a}px`,r.value.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,r.value.style.justifyContent=`flex-end`)}}}d.value=t.scrollTop}return(e,r)=>(F(),_(f,null,[v(u(T),y({ref:u(c),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...n},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:p}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16),v(u(T),{as:`style`,nonce:u(i)},{default:t(()=>r[0]||=[g(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),Ze=l({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:n}){let r=U(e,n);return(e,n)=>(F(),N(u(Oe),y({"data-slot":`select`},u(r)),{default:t(t=>[M(e.$slots,`default`,m(S(t)))]),_:3},16))}}),Qe=l({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`item-aligned`},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(n,{emit:r}){let i=n,a=r,o=U(I(i,`class`),a);return(r,a)=>(F(),N(u(Ge),null,{default:t(()=>[v(u(Re),y({"data-slot":`select-content`,"data-align-trigger":n.position===`item-aligned`},{...r.$attrs,...u(o)},{class:u(P)(`bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-lg shadow-md ring-1 duration-100 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 cn-menu-translucent relative z-dropdown max-h-(--reka-select-content-available-height) origin-(--reka-select-content-transform-origin) overflow-x-hidden overflow-y-auto data-[align-trigger=true]:animate-none`,n.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,i.class)}),{default:t(()=>[v(u(nt)),v(u(Xe),{"data-position":n.position,class:e(u(P)(`data-[position=popper]:h-[var(--reka-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--reka-select-trigger-width)]`))},{default:t(()=>[M(r.$slots,`default`)]),_:3},8,[`data-position`,`class`]),v(u(tt))]),_:3},16,[`data-align-trigger`,`class`])]),_:3}))}}),$e={class:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`},et=l({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=B(I(n,`class`));return(e,i)=>(F(),N(u(He),y({"data-slot":`select-item`},u(r),{class:u(P)(`focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*=size-])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`,n.class)}),{default:t(()=>[s(`span`,$e,[v(u(Ue),null,{default:t(()=>[M(e.$slots,`indicator-icon`,{},()=>[v(u(ne),{class:`pointer-events-none`})])]),_:3})]),v(u(We),null,{default:t(()=>[M(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),tt=l({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=B(I(n,`class`));return(e,i)=>(F(),N(u(Ke),y({"data-slot":`select-scroll-down-button`},u(r),{class:u(P)(`bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*=size-])]:size-4`,n.class)}),{default:t(()=>[M(e.$slots,`default`,{},()=>[v(u(re))])]),_:3},16,[`class`]))}}),nt=l({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=B(I(n,`class`));return(e,i)=>(F(),N(u(qe),y({"data-slot":`select-scroll-up-button`},u(r),{class:u(P)(`bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*=size-])]:size-4`,n.class)}),{default:t(()=>[M(e.$slots,`default`,{},()=>[v(u(be))])]),_:3},16,[`class`]))}}),rt=l({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(e){let n=e,r=B(I(n,`class`,`size`));return(i,a)=>(F(),N(u(Je),y({"data-slot":`select-trigger`,"data-size":e.size},u(r),{class:u(P)(`border-input data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none focus-visible:ring-3 aria-invalid:ring-3 data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-md *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*=size-])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,n.class)}),{default:t(()=>[M(i.$slots,`default`),v(u(ze),{"as-child":``},{default:t(()=>[v(u(re),{class:`text-muted-foreground size-4 pointer-events-none`})]),_:1})]),_:3},16,[`data-size`,`class`]))}}),it=l({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){let n=e;return(e,r)=>(F(),N(u(Ye),y({"data-slot":`select-value`},n),{default:t(()=>[M(e.$slots,`default`)]),_:3},16))}});export{Ze as a,Qe as i,rt as n,et as r,it as t};
@@ -0,0 +1,6 @@
1
+ import{A as e,Ct as t,Dt as n,F as r,G as ee,Ht as i,J as a,K as o,M as s,Q as c,Rt as l,U as u,Ut as d,X as f,Y as p,Z as m,at as h,bt as g,ct as te,ft as ne,i as _,jt as v,k as y,m as b,n as x,o as S,ot as C,pt as w,q as T,r as E,ut as D,x as O}from"./button-D27ClX8J.js";import{g as k,y as A}from"./Teleport-Bmeh33lB.js";import{a as re,c as j,i as ie,n as ae,o as oe,r as se,s as ce,t as le}from"./alert-dialog-DzKCAoYJ.js";import{t as M}from"./Label-BwzPFyL-.js";import{n as N}from"./lib-D0Ek2pPZ.js";import{t as P}from"./Input-tcnrMp1v.js";import{t as F}from"./useLogRetention-NrrZrpPE.js";var I=s(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),ue=s(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]),de=s(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),L=100,[R,z]=A(`ProgressRoot`),B=e=>typeof e==`number`;function V(e,t){return k(e)||B(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be:
2
+ - a positive number
3
+ - less than the value passed to \`max\` (or ${L} if no \`max\` prop is set)
4
+ - \`null\` or \`undefined\` if the progress is indeterminate.
5
+
6
+ Defaulting to \`null\`.`),null)}function H(e){return B(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${L}\`.`),L)}var U=c({__name:`ProgressRoot`,props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:L},getValueLabel:{type:Function,required:!1,default:(e,t)=>B(e)?`${Math.round(e/t*L)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:n}){let r=e,i=n;S();let a=b(r,`modelValue`,i,{passive:r.modelValue===void 0}),o=b(r,`max`,i,{passive:r.max===void 0});g(()=>a.value,async e=>{let t=V(e,r.max);t!==e&&(await C(),a.value=t)},{immediate:!0}),g(()=>r.max,e=>{let t=H(r.max);t!==e&&(o.value=t)},{immediate:!0});let s=ee(()=>k(a.value)?`indeterminate`:a.value===o.value?`complete`:`loading`);return z({modelValue:a,max:o,progressState:s}),(e,n)=>(D(),T(l(_),{"as-child":e.asChild,as:e.as,"aria-valuemax":l(o),"aria-valuemin":0,"aria-valuenow":B(l(a))?l(a):void 0,"aria-valuetext":e.getValueText?.(l(a),l(o)),"aria-label":e.getValueLabel(l(a),l(o)),role:`progressbar`,"data-state":s.value,"data-value":l(a)??void 0,"data-max":l(o)},{default:t(()=>[w(e.$slots,`default`,{modelValue:l(a)})]),_:3},8,[`as-child`,`as`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`data-state`,`data-value`,`data-max`]))}}),W=c({__name:`ProgressIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,r=R();return S(),(e,ee)=>(D(),T(l(_),h(n,{"data-state":l(r).progressState.value,"data-value":l(r).modelValue?.value??void 0,"data-max":l(r).max.value}),{default:t(()=>[w(e.$slots,`default`)]),_:3},16,[`data-state`,`data-value`,`data-max`]))}}),G=c({__name:`Progress`,props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=O(n,`class`);return(e,ee)=>(D(),T(l(U),h({"data-slot":`progress`},l(r),{class:l(E)(`bg-muted h-1 rounded-full relative flex w-full items-center overflow-x-hidden`,n.class)}),{default:t(()=>[m(l(W),{"data-slot":`progress-indicator`,class:`bg-primary size-full flex-1 transition-all`,style:i(`transform: translateX(-${100-(n.modelValue??0)}%);`)},null,8,[`style`])]),_:1},16,[`class`]))}}),fe={class:`p-6 space-y-6`},pe={class:`text-lg font-semibold text-foreground`},me={class:`bg-card rounded-lg border p-4 space-y-3`},he={class:`font-medium text-sm text-foreground`},ge={class:`text-sm text-muted-foreground`},_e={class:`flex items-end gap-4`},ve={class:`space-y-1`},ye={key:0,class:`text-sm text-destructive mt-1`},be={class:`bg-card rounded-lg border p-4 space-y-4`},xe={class:`font-medium text-sm text-foreground flex items-center gap-2`},Se={class:`text-sm text-muted-foreground`},K={class:`space-y-1`},Ce={class:`flex justify-between text-sm`},we={class:`text-muted-foreground`},Te={class:`space-y-1`},Ee={class:`flex justify-between text-sm`},De={class:`text-muted-foreground`},Oe={class:`space-y-1`},ke={class:`flex justify-between text-sm`},Ae={class:`text-muted-foreground`},je={key:0,class:`text-xs text-muted-foreground`},Me={class:`grid grid-cols-2 gap-4 pt-3 border-t`},Ne={class:`space-y-1`},Pe={key:0,class:`text-sm text-destructive mt-1`},Fe={class:`space-y-1`},Ie={key:0,class:`text-sm text-destructive mt-1`},Le={class:`bg-card rounded-lg border p-4 space-y-3`},Re={class:`font-medium text-sm text-foreground`},ze={class:`text-sm text-muted-foreground`},Be={class:`flex gap-3`},Ve={key:0,class:`text-sm space-y-1 p-3 bg-muted rounded-md`},He={class:`font-medium`},q=1048576,J=1024,Y=100,Ue=2,We=10,X=0,Z=90,Q=1,Ge=1024,Ke=800,$=c({__name:`Settings`,setup(ee){let{t:i}=r(),{retentionDays:s,saveRetention:c}=F(),h=v(null),g=v(Ge),_=v(Ke),b=v(!1),S=v(!1),C=v(null),w=v(!1),T=v(null),E=v(),O=v(``),k=v(``),A=v(``);function L(e){if(e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=Math.min(Math.floor(Math.log(e)/Math.log(J)),t.length-1);return`${(e/J**+n).toFixed(1)} ${t[n]}`}async function R(){b.value=!0;try{let[e,t]=await Promise.allSettled([y.getDbSizeInfo(),y.getLogRetention()]);e.status===`fulfilled`&&(h.value=e.value,g.value=e.value.thresholds.dbMaxSizeMb,_.value=e.value.thresholds.logTableMaxSizeMb),t.status===`fulfilled`&&(s.value=t.value.days)}finally{b.value=!1}}function z(){O.value=``;let e=s.value;return Number.isInteger(e)?e<X||e>Z?(O.value=i(`settings.retention.rangeError`,{min:X,max:Z}),!1):!0:(O.value=i(`settings.retention.integerRequired`),!1)}async function B(){z()&&await c()}function V(){k.value=``,A.value=``;let e=!0;return(!Number.isFinite(g.value)||g.value<Q)&&(k.value=i(`settings.storage.minValueError`,{min:Q}),e=!1),(!Number.isFinite(_.value)||_.value<Q)&&(A.value=i(`settings.storage.minValueError`,{min:Q}),e=!1),e&&_.value>g.value&&(A.value=i(`settings.storage.logExceedsDbError`),e=!1),e}async function H(){if(V())try{let e=await y.setDbSizeThresholds({dbMaxSizeMb:g.value,logTableMaxSizeMb:_.value});g.value=e.dbMaxSizeMb,_.value=e.logTableMaxSizeMb,N.success(i(`settings.storage.thresholdsUpdated`)),await R()}catch(t){N.error(e(t,i(`settings.storage.updateFailed`)))}}async function U(){try{let e=await y.exportConfig(),t=new Blob([JSON.stringify(e,null,Ue)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`router-config-${new Date().toISOString().slice(0,We)}.json`,r.click(),URL.revokeObjectURL(n),N.success(i(`settings.importExport.exportSuccess`))}catch(t){N.error(e(t,i(`settings.importExport.exportFailed`)))}}function W(e){let t=e.target,n=t.files?.[0];if(!n)return;let r=new FileReader;r.onload=()=>{try{let e=JSON.parse(r.result);if(!e.version||e.version!==1){N.error(i(`settings.importExport.unsupportedVersion`));return}T.value=e,w.value=!0}catch{N.error(i(`settings.importExport.invalidJson`))}},r.readAsText(n),t.value=``}async function $(){if(T.value){S.value=!0;try{C.value=await y.importConfig(T.value),w.value=!1,N.success(i(`settings.importExport.importSuccess`)),await R()}catch(t){N.error(e(t,i(`settings.importExport.importFailed`)))}finally{S.value=!1,T.value=null}}}return te(R),(e,r)=>(D(),p(`div`,fe,[o(`h2`,pe,d(l(i)(`settings.title`)),1),o(`div`,me,[o(`h3`,he,d(l(i)(`settings.retention.title`)),1),o(`p`,ge,d(l(i)(`settings.retention.desc`)),1),o(`div`,_e,[o(`div`,ve,[m(l(M),{for:`retention-days`},{default:t(()=>[f(d(l(i)(`settings.retention.daysLabel`)),1)]),_:1}),m(l(P),{id:`retention-days`,modelValue:l(s),"onUpdate:modelValue":r[0]||=e=>n(s)?s.value=e:null,modelModifiers:{number:!0},type:`number`,min:X,max:Z,class:`w-32`,onInput:r[1]||=e=>O.value=``},null,8,[`modelValue`]),O.value?(D(),p(`p`,ye,d(O.value),1)):a(``,!0)]),m(l(x),{size:`sm`,disabled:b.value,onClick:B},{default:t(()=>[f(d(l(i)(`common.save`)),1)]),_:1},8,[`disabled`])])]),o(`div`,be,[o(`h3`,xe,[m(l(ue),{class:`h-4 w-4`}),f(` `+d(l(i)(`settings.storage.title`)),1)]),o(`p`,Se,d(l(i)(`settings.storage.desc`)),1),h.value?(D(),p(u,{key:0},[o(`div`,K,[o(`div`,Ce,[o(`span`,null,d(l(i)(`settings.storage.dbTotalSize`)),1),o(`span`,we,d(L(h.value.totalBytes))+` / `+d(g.value)+` MB `,1)]),m(l(G),{"model-value":Math.min(Y,h.value.totalBytes/(g.value*q)*Y)},null,8,[`model-value`])]),o(`div`,Te,[o(`div`,Ee,[o(`span`,null,d(l(i)(`settings.storage.logSize`))+` (`+d(l(i)(`common.count`,{count:h.value.logCount}))+`)`,1),o(`span`,De,d(L(h.value.logTableBytes))+` / `+d(_.value)+` MB `,1)]),m(l(G),{"model-value":Math.min(Y,h.value.logTableBytes/(_.value*q)*Y)},null,8,[`model-value`])]),o(`div`,Oe,[o(`div`,ke,[o(`span`,null,d(l(i)(`settings.storage.logFileSize`)),1),o(`span`,Ae,d(L(h.value.logFileBytes??0)),1)])]),h.value.lastChecked?(D(),p(`p`,je,d(l(i)(`common.lastChecked`))+`:`+d(h.value.lastChecked),1)):a(``,!0)],64)):a(``,!0),o(`div`,Me,[o(`div`,Ne,[m(l(M),{for:`db-max-size`},{default:t(()=>[f(d(l(i)(`settings.storage.dbMaxSizeLabel`)),1)]),_:1}),m(l(P),{id:`db-max-size`,modelValue:g.value,"onUpdate:modelValue":r[2]||=e=>g.value=e,modelModifiers:{number:!0},type:`number`,min:Q,onInput:r[3]||=e=>k.value=``},null,8,[`modelValue`]),k.value?(D(),p(`p`,Pe,d(k.value),1)):a(``,!0)]),o(`div`,Fe,[m(l(M),{for:`log-max-size`},{default:t(()=>[f(d(l(i)(`settings.storage.logMaxSizeLabel`)),1)]),_:1}),m(l(P),{id:`log-max-size`,modelValue:_.value,"onUpdate:modelValue":r[4]||=e=>_.value=e,modelModifiers:{number:!0},type:`number`,min:Q,onInput:r[5]||=e=>A.value=``},null,8,[`modelValue`]),A.value?(D(),p(`p`,Ie,d(A.value),1)):a(``,!0)])]),m(l(x),{size:`sm`,disabled:b.value,onClick:H},{default:t(()=>[f(d(l(i)(`common.saveThresholds`)),1)]),_:1},8,[`disabled`])]),o(`div`,Le,[o(`h3`,Re,d(l(i)(`settings.importExport.title`)),1),o(`p`,ze,d(l(i)(`settings.importExport.desc`)),1),o(`div`,Be,[m(l(x),{variant:`outline`,size:`sm`,disabled:b.value,onClick:U},{default:t(()=>[m(l(I),{class:`mr-2 h-4 w-4`}),f(` `+d(l(i)(`settings.importExport.export`)),1)]),_:1},8,[`disabled`]),m(l(x),{variant:`outline`,size:`sm`,disabled:b.value,onClick:r[6]||=e=>E.value?.click()},{default:t(()=>[m(l(de),{class:`mr-2 h-4 w-4`}),f(` `+d(l(i)(`settings.importExport.import`)),1)]),_:1},8,[`disabled`]),o(`input`,{ref_key:`fileInput`,ref:E,type:`file`,accept:`.json`,class:`hidden`,onChange:W},null,544)]),C.value?(D(),p(`div`,Ve,[o(`p`,He,d(l(i)(`settings.importExport.importComplete`)),1),(D(!0),p(u,null,ne(C.value,(e,t)=>(D(),p(`p`,{key:t},d(t)+`: `+d(l(i)(`common.count`,{count:e})),1))),128))])):a(``,!0)]),m(l(j),{open:w.value,"onUpdate:open":r[7]||=e=>w.value=e},{default:t(()=>[m(l(re),null,{default:t(()=>[m(l(ae),null,{default:t(()=>[m(l(le),null,{default:t(()=>[f(d(l(i)(`settings.importExport.confirmImport`)),1)]),_:1}),m(l(ie),null,{default:t(()=>[f(d(l(i)(`settings.importExport.importWarning`))+` `+d(l(i)(`common.irreversible`)),1)]),_:1})]),_:1}),m(l(se),null,{default:t(()=>[m(l(oe),{disabled:S.value},{default:t(()=>[f(d(l(i)(`common.cancel`)),1)]),_:1},8,[`disabled`]),m(l(ce),{disabled:S.value,onClick:$},{default:t(()=>[f(d(S.value?l(i)(`settings.importExport.importing`):l(i)(`settings.importExport.confirmButton`)),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{$ as default};
@@ -0,0 +1 @@
1
+ import{A as e,Ct as t,F as n,H as r,J as i,K as a,L as o,Q as s,Rt as c,Ut as l,X as u,Y as d,Z as f,jt as p,k as m,n as h,q as g,ut as _}from"./button-D27ClX8J.js";import{n as v,t as y}from"./sun-BylRZIWt.js";import{t as b}from"./Label-BwzPFyL-.js";import{r as x}from"./useTheme-CpTI547G.js";import{n as S,t as C}from"./CardContent-BhMXx-JD.js";import{t as w}from"./Input-tcnrMp1v.js";var T={class:`min-h-screen flex items-center justify-center bg-background relative`},E={class:`text-center mb-6`},D={class:`text-sm text-muted-foreground mt-1`},O={key:0,class:`text-destructive text-sm`},k=s({__name:`Setup`,setup(s){let{t:k}=n(),{isDark:A,toggleTheme:j}=x(),M=o(),N=p(``),P=p(``),F=p(``),I=p(!1);async function L(){if(!N.value||!P.value){F.value=k(`setup.pleaseInputPassword`);return}if(N.value!==P.value){F.value=k(`setup.passwordMismatch`);return}if(N.value.length<6){F.value=k(`setup.passwordTooShort`);return}F.value=``,I.value=!0;try{await m.initializeSetup(N.value),M.push(`/admin/dashboard`)}catch(t){F.value=e(t,k(`setup.setupFailed`))}finally{I.value=!1}}return(e,n)=>(_(),d(`div`,T,[f(c(h),{variant:`ghost`,size:`icon`,class:`absolute top-4 right-4 text-muted-foreground hover:text-foreground`,onClick:c(j)},{default:t(()=>[c(A)?(_(),g(c(y),{key:1,class:`w-4 h-4`})):(_(),g(c(v),{key:0,class:`w-4 h-4`}))]),_:1},8,[`onClick`]),f(c(S),{class:`w-full max-w-sm shadow-lg`},{default:t(()=>[f(c(C),{class:`pt-6`},{default:t(()=>[a(`div`,E,[n[2]||=a(`div`,{class:`w-12 h-12 bg-primary rounded-lg mx-auto mb-3 flex items-center justify-center`},[a(`svg`,{class:`w-7 h-7 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[a(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z`})])],-1),n[3]||=a(`h1`,{class:`text-xl font-semibold text-foreground`},`LLM Simple Router`,-1),a(`p`,D,l(c(k)(`setup.subtitle`)),1)]),a(`form`,{onSubmit:r(L,[`prevent`]),class:`space-y-4`},[a(`div`,null,[f(c(b),{class:`block text-sm font-medium text-foreground mb-1`},{default:t(()=>[u(l(c(k)(`setup.password`)),1)]),_:1}),f(c(w),{modelValue:N.value,"onUpdate:modelValue":n[0]||=e=>N.value=e,type:`password`,placeholder:c(k)(`setup.passwordPlaceholder`),disabled:I.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),a(`div`,null,[f(c(b),{class:`block text-sm font-medium text-foreground mb-1`},{default:t(()=>[u(l(c(k)(`setup.confirmPassword`)),1)]),_:1}),f(c(w),{modelValue:P.value,"onUpdate:modelValue":n[1]||=e=>P.value=e,type:`password`,placeholder:c(k)(`setup.confirmPasswordPlaceholder`),disabled:I.value},null,8,[`modelValue`,`placeholder`,`disabled`])]),F.value?(_(),d(`p`,O,l(F.value),1)):i(``,!0),f(c(h),{type:`submit`,class:`w-full`,disabled:I.value},{default:t(()=>[u(l(I.value?c(k)(`setup.settingUp`):c(k)(`setup.setupButton`)),1)]),_:1},8,[`disabled`])],32)]),_:1})]),_:1})]))}});export{k as default};
@@ -0,0 +1 @@
1
+ import{Ct as e,G as t,H as n,It as r,J as i,Q as a,Rt as o,V as s,Vt as c,Z as l,at as u,et as d,i as f,m as p,o as m,pt as h,q as g,r as _,ut as v,x as y}from"./button-D27ClX8J.js";import{u as b,y as x}from"./Teleport-Bmeh33lB.js";import{t as S}from"./useFormControl-T2RQNBqs.js";import{t as C}from"./VisuallyHiddenInput-BQemVGau.js";var[w,T]=x(`SwitchRoot`),E=a({__name:`SwitchRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:`on`},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(a,{emit:c}){let l=a,d=c,{disabled:_}=r(l),y=p(l,`modelValue`,d,{defaultValue:l.defaultValue??l.falseValue,passive:l.modelValue===void 0}),b=t(()=>y.value===l.trueValue);function x(){_.value||(y.value=b.value?l.falseValue:l.trueValue)}let{forwardRef:w,currentElement:E}=m(),D=S(E),O=t(()=>l.id&&E.value?document.querySelector(`[for="${l.id}"]`)?.innerText:void 0);return T({checked:b,toggleCheck:x,disabled:_}),(t,r)=>(v(),g(o(f),u(t.$attrs,{id:t.id,ref:o(w),role:`switch`,type:t.as===`button`?`button`:void 0,value:t.value,"aria-label":t.$attrs[`aria-label`]||O.value,"aria-checked":b.value,"aria-required":t.required,"data-state":b.value?`checked`:`unchecked`,"data-disabled":o(_)?``:void 0,"as-child":t.asChild,as:t.as,disabled:o(_),onClick:x,onKeydown:s(n(x,[`prevent`]),[`enter`])}),{default:e(()=>[h(t.$slots,`default`,{modelValue:o(y),checked:b.value}),o(D)&&t.name?(v(),g(o(C),{key:0,type:`checkbox`,name:t.name,disabled:o(_),required:t.required,value:t.value,checked:b.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):i(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),D=a({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=w();return m(),(t,r)=>(v(),g(o(f),{"data-state":o(n).checked.value?`checked`:`unchecked`,"data-disabled":o(n).disabled.value?``:void 0,"as-child":t.asChild,as:t.as},{default:e(()=>[h(t.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),O=a({__name:`Switch`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},id:{},value:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,a=b(y(r,`class`,`size`),i);return(n,i)=>(v(),g(o(E),u({"data-slot":`switch`,"data-size":t.size},o(a),{class:o(_)(`data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-[state=unchecked]:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-3 aria-invalid:ring-3 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,r.class)}),{default:e(t=>[l(o(D),{"data-slot":`switch-thumb`,class:`bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground rounded-full group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-[state=unchecked]:translate-x-0 group-data-[size=sm]/switch:data-[state=unchecked]:translate-x-0 pointer-events-none block ring-0 transition-transform`},{default:e(()=>[h(n.$slots,`thumb`,c(d(t)))]),_:2},1024)]),_:3},16,[`data-size`,`class`]))}});export{O as t};
@@ -0,0 +1 @@
1
+ import{Bt as e,K as t,Q as n,Rt as r,Y as i,pt as a,r as o,ut as s}from"./button-D27ClX8J.js";var c={"data-slot":`table-container`,class:`relative w-full overflow-x-auto`},l=n({__name:`Table`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(n){let l=n;return(n,u)=>(s(),i(`div`,c,[t(`table`,{"data-slot":`table`,class:e(r(o)(`w-full caption-bottom text-sm`,l.class))},[a(n.$slots,`default`)],2)]))}}),u=n({__name:`TableBody`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t;return(t,c)=>(s(),i(`tbody`,{"data-slot":`table-body`,class:e(r(o)(`[&_tr:last-child]:border-0`,n.class))},[a(t.$slots,`default`)],2))}}),d=n({__name:`TableCell`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t;return(t,c)=>(s(),i(`td`,{"data-slot":`table-cell`,class:e(r(o)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0`,n.class))},[a(t.$slots,`default`)],2))}}),f=n({__name:`TableRow`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t;return(t,c)=>(s(),i(`tr`,{"data-slot":`table-row`,class:e(r(o)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors has-aria-expanded:bg-muted/50`,n.class))},[a(t.$slots,`default`)],2))}}),p=n({__name:`TableHead`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t;return(t,c)=>(s(),i(`th`,{"data-slot":`table-head`,class:e(r(o)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0`,n.class))},[a(t.$slots,`default`)],2))}}),m=n({__name:`TableHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t;return(t,c)=>(s(),i(`thead`,{"data-slot":`table-header`,class:e(r(o)(`[&_tr]:border-b`,n.class))},[a(t.$slots,`default`)],2))}});export{u as a,d as i,p as n,l as o,f as r,m as t};
@@ -0,0 +1,3 @@
1
+ import{$ as e,At as t,C as n,Ct as r,Ft as i,G as a,Ht as o,It as s,J as c,Lt as l,Q as u,R as d,Rt as f,W as p,Wt as m,_ as h,b as g,bt as _,c as ee,d as te,dt as ne,f as re,i as v,jt as y,l as ie,lt as b,nt as ae,o as x,ot as S,pt as C,q as w,s as oe,tt as se,u as T,ut as E,v as ce,vt as le,xt as D,y as O,zt as ue}from"./button-D27ClX8J.js";function de(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=ae(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(ne(r,e),e)]}function k(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function A(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function j(e){return e==null}var[M,fe]=de(`ConfigProvider`);function N(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function P(e,t,n=`.`,r){if(!N(t))return P(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:N(a)&&N(i[t])?i[t]=P(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function pe(e){return(...t)=>t.reduce((t,n)=>P(t,n,``,e),{})}var F=pe(),me=ce(()=>{let e=y(new Map),t=y(),n=a(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=M({scrollBody:y(!0)}),i=null,o=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,g&&i?.(),t.value=void 0};return _(n,(e,a)=>{if(!O)return;if(!e){a&&o();return}t.value===void 0&&(t.value=document.body.style.overflow);let s=window.innerWidth-document.documentElement.clientWidth,c={padding:s,margin:0},l=r.scrollBody?.value?typeof r.scrollBody.value==`object`?F({padding:r.scrollBody.value.padding===!0?s:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?s:r.scrollBody.value.margin},c):c:{padding:0,margin:0};s>0&&(document.body.style.paddingRight=typeof l.padding==`number`?`${l.padding}px`:String(l.padding),document.body.style.marginRight=typeof l.margin==`number`?`${l.margin}px`:String(l.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${s}px`),document.body.style.overflow=`hidden`),g&&(i=te(document,`touchmove`,e=>ge(e),{passive:!1})),S(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function he(e){let t=Math.random().toString(36).substring(2,7),r=me();r.value.set(t,e??!1);let i=a({get:()=>r.value.get(t)??!1,set:e=>r.value.set(t,e)});return n(()=>{r.value.delete(t)}),i}function I(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:I(t)}}function ge(e){let t=e||window.event,n=t.target;return n instanceof Element&&I(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function L(t){let n=e(),r=n?.type.emits,i={};return r?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),r?.forEach(e=>{i[m(ue(e))]=(...n)=>t(e,...n)}),i}function R(t){let n=e(),r=Object.keys(n?.type.props??{}).reduce((e,t)=>{let r=(n?.type.props[t]).default;return r!==void 0&&(e[t]=r),e},{}),o=i(t);return a(()=>{let e={},t=n?.vnode.props??{};return Object.keys(t).forEach(n=>{e[ue(n)]=t[n]}),Object.keys({...r,...e}).reduce((e,t)=>(o.value[t]!==void 0&&(e[t]=o.value[t]),e),{})})}function _e(e,t){let n=R(e),r=t?L(t):{};return a(()=>({...n.value,...r}))}var ve=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},z=new WeakMap,B=new WeakMap,V={},H=0,U=function(e){return e&&(e.host||U(e.parentNode))},ye=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=U(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},be=function(e,t,n,r){var i=ye(t,Array.isArray(e)?e:[e]);V[n]||(V[n]=new WeakMap);var a=V[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(z.get(e)||0)+1,l=(a.get(e)||0)+1;z.set(e,c),a.set(e,l),o.push(e),c===1&&i&&B.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),H++,function(){o.forEach(function(e){var t=z.get(e)-1,i=a.get(e)-1;z.set(e,t),a.set(e,i),t||(B.has(e)||e.removeAttribute(r),B.delete(e)),i||e.removeAttribute(n)}),H--,H||(z=new WeakMap,z=new WeakMap,B=new WeakMap,V={})}},xe=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ve(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),be(r,i,n,`aria-hidden`)):function(){return null}};function Se(e){let t;_(()=>T(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=xe(e):t&&t()}),b(()=>{t&&t()})}var Ce=0;function we(e,t=`reka`){if(e)return e;let n;return n=`useId`in d?le?.():M({useId:void 0}).useId?.()??`${++Ce}`,t?`${t}-${n}`:n}function W(e,t){let n=y(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function Te(e,t){let n=y({}),r=y(`none`),i=y(e),o=e.value?`mounted`:`unmounted`,s,c=t.value?.ownerDocument.defaultView??ee,{state:l,dispatch:u}=W(o,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),d=e=>{if(O){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};_(e,async(e,i)=>{let a=i!==e;if(await S(),a){let a=r.value,o=G(t.value);e?(u(`MOUNT`),d(`enter`),o===`none`&&d(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(u(`UNMOUNT`),d(`leave`),d(`after-leave`)):i&&a!==o?(u(`ANIMATION_OUT`),d(`leave`)):(u(`UNMOUNT`),d(`after-leave`))}},{immediate:!0});let f=e=>{let n=G(t.value),r=n.includes(CSS.escape(e.animationName)),a=l.value===`mounted`?`enter`:`leave`;if(e.target===t.value&&r&&(d(`after-${a}`),u(`ANIMATION_END`),!i.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,s=c?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}e.target===t.value&&n===`none`&&u(`ANIMATION_END`)},p=e=>{e.target===t.value&&(r.value=G(t.value))},m=_(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,p),e.addEventListener(`animationcancel`,f),e.addEventListener(`animationend`,f)):(u(`ANIMATION_END`),s!==void 0&&c?.clearTimeout(s),t?.removeEventListener(`animationstart`,p),t?.removeEventListener(`animationcancel`,f),t?.removeEventListener(`animationend`,f))},{immediate:!0}),h=_(l,()=>{let e=G(t.value);r.value=l.value===`mounted`?e:`none`});return b(()=>{m(),h()}),{isPresent:a(()=>[`mounted`,`unmountSuspended`].includes(l.value))}}function G(e){return e&&getComputedStyle(e).animationName||`none`}var Ee=u({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(t,{slots:n,expose:r}){let{present:i,forceMount:a}=s(t),o=y(),{isPresent:c}=Te(i,o);r({present:c});let l=n.default({present:c.value});l=oe(l||[]);let u=e();if(l&&l?.length>1){let e=u?.parent?.type.name?`<${u.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
2
+ `)].join(`
3
+ `))}return()=>a.value||i.value||c.value?se(n.default({present:c.value})[0],{ref:e=>{let t=T(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?o.value=t.firstElementChild:o.value=t),t}}):null}}),De=`dismissableLayer.pointerDownOutside`,Oe=`dismissableLayer.focusOutside`;function K(e,t){if(!(t instanceof Element))return!1;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function ke(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=y(!1),a=y(()=>{});return D(o=>{if(!O||!l(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(K(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){A(De,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{l(n)&&(i.value=!0)}}}function Ae(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=y(!1);return D(a=>{if(!O||!l(n))return;let o=async n=>{if(!t?.value)return;await S(),await S();let r=n.target;!t.value||!r||K(t.value,r)||n.target&&!i.value&&A(Oe,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{l(n)&&(i.value=!0)},onBlurCapture:()=>{l(n)&&(i.value=!1)}}}var q=t({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),je=u({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,i=t,{forwardRef:s,currentElement:c}=x(),l=a(()=>c.value?.ownerDocument??globalThis.document),u=a(()=>q.layersRoot),d=a(()=>c.value?Array.from(u.value).indexOf(c.value):-1),p=a(()=>q.layersWithOutsidePointerEventsDisabled.size>0),m=a(()=>{let e=Array.from(u.value),[t]=[...q.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return d.value>=n}),h=ke(async e=>{let t=[...q.branches].some(t=>t?.contains(e.target));!m.value||t||(i(`pointerDownOutside`,e),i(`interactOutside`,e),await S(),e.defaultPrevented||i(`dismiss`))},c),g=Ae(e=>{[...q.branches].some(t=>t?.contains(e.target))||(i(`focusOutside`,e),i(`interactOutside`,e),e.defaultPrevented||i(`dismiss`))},c);return ie(`Escape`,e=>{d.value===u.value.size-1&&(i(`escapeKeyDown`,e),e.defaultPrevented||i(`dismiss`))}),D(e=>{c.value&&(n.disableOutsidePointerEvents&&(q.layersWithOutsidePointerEventsDisabled.size===0&&(q.originalBodyPointerEvents=l.value.body.style.pointerEvents,l.value.body.style.pointerEvents=`none`),q.layersWithOutsidePointerEventsDisabled.add(c.value)),u.value.add(c.value),e(()=>{n.disableOutsidePointerEvents&&q.layersWithOutsidePointerEventsDisabled.size===1&&!j(q.originalBodyPointerEvents)&&(l.value.body.style.pointerEvents=q.originalBodyPointerEvents)}))}),D(e=>{e(()=>{c.value&&(u.value.delete(c.value),q.layersWithOutsidePointerEventsDisabled.delete(c.value))})}),(e,t)=>(E(),w(f(v),{ref:f(s),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:o({pointerEvents:p.value?m.value?`auto`:`none`:void 0}),onFocusCapture:f(g).onFocusCapture,onBlurCapture:f(g).onBlurCapture,onPointerdownCapture:f(h).onPointerDownCapture},{default:r(()=>[C(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),Me=h(()=>y([]));function Ne(){let e=Me();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=J(e.value,t),e.value.unshift(t)},remove(t){e.value=J(e.value,t),e.value[0]?.resume()}}}function J(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Y=`focusScope.autoFocusOnMount`,X=`focusScope.autoFocusOnUnmount`,Z={bubbles:!1,cancelable:!0};function Pe(e,{select:t=!1}={}){let n=k();for(let r of e)if($(r,{select:t}),k()!==n)return!0}function Fe(e){let t=Q(e);return[Ie(t,e),Ie(t.reverse(),e)]}function Q(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Ie(e,t){for(let n of e)if(!Le(n,{upTo:t}))return n}function Le(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Re(e){return e instanceof HTMLInputElement&&`select`in e}function $(e,{select:t=!1}={}){if(e&&e.focus){let n=k();e.focus({preventScroll:!0}),e!==n&&Re(e)&&t&&e.select()}}var ze=u({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:n}){let i=e,a=n,{currentRef:o,currentElement:s}=x(),c=y(null),l=Ne(),u=t({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});D(e=>{if(!O)return;let t=s.value;if(!i.trapped)return;function n(e){if(u.paused||!t)return;let n=e.target;t.contains(n)?c.value=n:$(c.value,{select:!0})}function r(e){if(u.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||$(c.value,{select:!0}))}function a(e){let n=c.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||$(t))}document.addEventListener(`focusin`,n),document.addEventListener(`focusout`,r);let o=new MutationObserver(a);t&&o.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,n),document.removeEventListener(`focusout`,r),o.disconnect()})}),D(async e=>{let t=s.value;if(await S(),!t)return;l.add(u);let n=k();if(!t.contains(n)){let e=new CustomEvent(Y,Z);t.addEventListener(Y,e=>a(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(Pe(Q(t),{select:!0}),k()===n&&$(t))}e(()=>{t.removeEventListener(Y,e=>a(`mountAutoFocus`,e));let e=new CustomEvent(X,Z),r=e=>{a(`unmountAutoFocus`,e)};t.addEventListener(X,r),t.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||$(n??document.body,{select:!0}),t.removeEventListener(X,r),l.remove(u)},0)})});function d(e){if(!i.loop&&!i.trapped||u.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=k();if(t&&n){let t=e.currentTarget,[r,a]=Fe(t);r&&a?!e.shiftKey&&n===a?(e.preventDefault(),i.loop&&$(r,{select:!0})):e.shiftKey&&n===r&&(e.preventDefault(),i.loop&&$(a,{select:!0})):n===t&&e.preventDefault()}}return(e,t)=>(E(),w(f(v),{ref_key:`currentRef`,ref:o,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:d},{default:r(()=>[C(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Be=[`Enter`,` `],Ve=[`ArrowDown`,`PageUp`,`Home`],He=[`ArrowUp`,`PageDown`,`End`];[...Ve,...He],[...Be],[...Be];function Ue(e){return e?`open`:`closed`}function We(e){let t=k();for(let n of e)if(n===t||(n.focus(),k()!==t))return}var Ge=u({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=re();return(e,n)=>f(t)||e.forceMount?(E(),w(p,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[C(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):c(`v-if`,!0)}});export{A as _,je as a,we as c,R as d,L as f,j as g,M as h,ze as i,Se as l,F as m,We as n,Ee as o,he as p,Ue as r,W as s,Ge as t,_e as u,k as v,de as y};
@@ -0,0 +1 @@
1
+ import{Ct as e,E as t,G as n,H as r,Ht as i,It as a,Nt as o,Q as s,Rt as c,S as l,Ut as u,V as d,Vt as f,X as p,Y as m,Z as h,at as g,bt as _,ct as v,d as y,et as b,g as x,gt as S,ht as C,i as w,jt as T,m as E,o as D,pt as O,q as k,r as A,ut as j,w as ee,x as M,xt as N}from"./button-D27ClX8J.js";import{i as te,n as ne,r as re,t as ie}from"./PopperContent-6BXua_FZ.js";import{a as ae,c as P,d as F,m as oe,o as se,t as ce,u as I,y as L}from"./Teleport-Bmeh33lB.js";import{n as R}from"./Collection-Dbvdpa0m.js";import{t as z}from"./VisuallyHidden-ogESfc9X.js";import{n as B,t as V}from"./RovingFocusItem-DdPUFQHC.js";function H(e,t){let n=l(!1,300);ee(()=>{n.value=!1});let r=T(null),i=x();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=W(a,U(a,i.getBoundingClientRect()),1),s=G(t.getBoundingClientRect());r.value=ue([...o,...s]),n.value=!0}return N(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),N(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!le(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function U(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function W(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function G(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function le(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function ue(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),de(t)}function de(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var fe={key:0,d:`M0 0L6 6L12 0`},pe={key:1,d:`M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0`},me=s({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let n=t;return D(),(t,r)=>(j(),k(c(w),g(n,{width:t.width,height:t.height,viewBox:t.asChild?void 0:`0 0 12 6`,preserveAspectRatio:t.asChild?void 0:`none`}),{default:e(()=>[O(t.$slots,`default`,{},()=>[t.rounded?(j(),m(`path`,pe)):(j(),m(`path`,fe))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),he={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ge=s({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let{forwardRef:r}=D(),a=ne(),o=n(()=>he[a.placedSide.value]);return(t,n)=>(j(),m(`span`,{ref:e=>{c(a).onArrowChange(e??void 0)},style:i({position:`absolute`,left:c(a).arrowX?.value?`${c(a).arrowX?.value}px`:void 0,top:c(a).arrowY?.value?`${c(a).arrowY?.value}px`:void 0,[o.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[c(a).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[c(a).placedSide.value],visibility:c(a).shouldHideArrow.value?`hidden`:void 0})},[h(me,g(t.$attrs,{ref:c(r),style:{display:`block`},as:t.as,"as-child":t.asChild,rounded:t.rounded,width:t.width,height:t.height}),{default:e(()=>[O(t.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),[K,_e]=L(`TabsRoot`),ve=s({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,{orientation:s,unmountOnHide:l,dir:u}=a(r),d=R(u);D();let f=E(r,`modelValue`,i,{defaultValue:r.defaultValue,passive:r.modelValue===void 0}),p=T(),m=o(new Set);return _e({modelValue:f,changeModelValue:e=>{f.value=e},orientation:s,dir:d,unmountOnHide:l,activationMode:r.activationMode,baseId:P(void 0,`reka-tabs`),tabsList:p,contentIds:m,registerContent:e=>{m.value=new Set([...m.value,e])},unregisterContent:e=>{let t=new Set(m.value);t.delete(e),m.value=t}}),(t,n)=>(j(),k(c(w),{dir:c(d),"data-orientation":c(s),"as-child":t.asChild,as:t.as},{default:e(()=>[O(t.$slots,`default`,{modelValue:c(f)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function q(e,t){return`${e}-trigger-${t}`}function J(e,t){return`${e}-content-${t}`}var ye=s({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let{loop:n}=a(t),{forwardRef:r,currentElement:i}=D(),o=K();return o.tabsList=i,(t,i)=>(j(),k(c(B),{"as-child":``,orientation:c(o).orientation.value,dir:c(o).dir.value,loop:c(n)},{default:e(()=>[h(c(w),{ref:c(r),role:`tablist`,"as-child":t.asChild,as:t.as,"aria-orientation":c(o).orientation.value},{default:e(()=>[O(t.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),be=s({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let i=t,{forwardRef:a}=D(),o=K(),s=n(()=>q(o.baseId,i.value)),l=n(()=>o.contentIds.value.has(i.value)?J(o.baseId,i.value):void 0),u=n(()=>i.value===o.modelValue.value);return(t,n)=>(j(),k(c(V),{"as-child":``,focusable:!t.disabled,active:u.value},{default:e(()=>[h(c(w),{id:s.value,ref:c(a),role:`tab`,type:t.as===`button`?`button`:void 0,as:t.as,"as-child":t.asChild,"aria-selected":u.value?`true`:`false`,"aria-controls":l.value,"data-state":u.value?`active`:`inactive`,disabled:t.disabled,"data-disabled":t.disabled?``:void 0,"data-orientation":c(o).orientation.value,onMousedown:n[0]||=r(e=>{!t.disabled&&e.ctrlKey===!1?c(o).changeModelValue(t.value):e.preventDefault()},[`left`]),onKeydown:n[1]||=d(e=>c(o).changeModelValue(t.value),[`enter`,`space`]),onFocus:n[2]||=()=>{let e=c(o).activationMode!==`manual`;!u.value&&!t.disabled&&e&&c(o).changeModelValue(t.value)}},{default:e(()=>[O(t.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}}),xe=s({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(t){let n=t;return D(),(t,r)=>(j(),k(c(ge),f(b(n)),{default:e(()=>[O(t.$slots,`default`)]),_:3},16))}}),[Y,Se]=L(`TooltipProvider`),Ce=s({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:n,skipDelayDuration:r,disableHoverableContent:i,disableClosingTrigger:o,ignoreNonKeyboardFocus:s,disabled:c,content:l}=a(e);D();let u=T(!0),d=T(!1),{start:f,stop:p}=t(()=>{u.value=!0},r,{immediate:!1});return Se({isOpenDelayed:u,delayDuration:n,onOpen(){p(),u.value=!1},onClose(){f()},isPointerInTransitRef:d,disableHoverableContent:i,disableClosingTrigger:o,disabled:c,ignoreNonKeyboardFocus:s,content:l}),(e,t)=>O(e.$slots,`default`)}}),X=`tooltip.open`,[Z,we]=L(`TooltipRoot`),Te=s({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(r,{emit:i}){let a=r,o=i;D();let s=Y(),l=n(()=>a.disableHoverableContent??s.disableHoverableContent.value),u=n(()=>a.disableClosingTrigger??s.disableClosingTrigger.value),d=n(()=>a.disabled??s.disabled.value),f=n(()=>a.delayDuration??s.delayDuration.value),p=n(()=>a.ignoreNonKeyboardFocus??s.ignoreNonKeyboardFocus.value),m=E(a,`open`,o,{defaultValue:a.defaultOpen,passive:a.open===void 0});_(m,e=>{s.onClose&&(e?(s.onOpen(),document.dispatchEvent(new CustomEvent(X))):s.onClose())});let h=T(!1),g=T(),v=n(()=>m.value?h.value?`delayed-open`:`instant-open`:`closed`),{start:y,stop:b}=t(()=>{h.value=!0,m.value=!0},f,{immediate:!1});function x(){b(),h.value=!1,m.value=!0}function S(){b(),m.value=!1}function C(){y()}return we({contentId:``,open:m,stateAttribute:v,trigger:g,onTriggerChange(e){g.value=e},onTriggerEnter(){s.isOpenDelayed.value?C():x()},onTriggerLeave(){l.value?S():b()},onOpen:x,onClose:S,disableHoverableContent:l,disableClosingTrigger:u,disabled:d,ignoreNonKeyboardFocus:p}),(t,n)=>(j(),k(c(te),null,{default:e(()=>[O(t.$slots,`default`,{open:c(m)})]),_:3}))}}),Q=s({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:i}){let a=t,o=i,s=Z(),l=Y(),{forwardRef:d,currentElement:f}=D(),m=n(()=>a.ariaLabel||f.value?.textContent),_=n(()=>{let{ariaLabel:e,...t}=a;return oe(t,l.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return v(()=>{y(window,`scroll`,e=>{e.target?.contains(s.trigger.value)&&s.onClose()},{capture:!0}),y(window,X,s.onClose)}),(t,n)=>(j(),k(c(ae),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>o(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{c(s).disableClosingTrigger.value&&c(s).trigger.value?.contains(e.target)&&e.preventDefault(),o(`pointerDownOutside`,e)},onFocusOutside:n[2]||=r(()=>{},[`prevent`]),onDismiss:n[3]||=e=>c(s).onClose()},{default:e(()=>[h(c(ie),g({ref:c(d),"data-state":c(s).stateAttribute.value},{...t.$attrs,..._.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:e(()=>[O(t.$slots,`default`),h(c(z),{id:c(s).contentId,role:`tooltip`},{default:e(()=>[p(u(m.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),Ee=s({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(t){let n=F(t),{forwardRef:r,currentElement:i}=D(),{trigger:a,onClose:o}=Z(),s=Y(),{isPointerInTransit:l,onPointerExit:u}=H(a,i);return s.isPointerInTransitRef=l,u(()=>{o()}),(t,i)=>(j(),k(Q,g({ref:c(r)},c(n)),{default:e(()=>[O(t.$slots,`default`)]),_:3},16))}}),De=s({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let r=t,i=n,a=Z(),o=I(r,i),{forwardRef:s}=D();return(t,n)=>(j(),k(c(se),{present:t.forceMount||c(a).open.value},{default:e(()=>[(j(),k(C(c(a).disableHoverableContent.value?Q:Ee),g({ref:c(s)},c(o)),{default:e(()=>[O(t.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),$=s({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){let n=t;return(t,r)=>(j(),k(c(ce),f(b(n)),{default:e(()=>[O(t.$slots,`default`)]),_:3},16))}}),Oe=s({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let r=t,i=Z(),a=Y();i.contentId||=P(void 0,`reka-tooltip-content`);let{forwardRef:o,currentElement:s}=D(),l=T(!1),u=T(!1),d=n(()=>i.disabled.value?{}:{click:x,focus:y,pointermove:m,pointerleave:_,pointerdown:p,blur:b});v(()=>{i.onTriggerChange(s.value)});function f(){setTimeout(()=>{l.value=!1},1)}function p(){i.open&&!i.disableClosingTrigger.value&&i.onClose(),l.value=!0,document.addEventListener(`pointerup`,f,{once:!0})}function m(e){e.pointerType!==`touch`&&!u.value&&!a.isPointerInTransitRef.value&&(i.onTriggerEnter(),u.value=!0)}function _(){i.onTriggerLeave(),u.value=!1}function y(e){l.value||i.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||i.onOpen()}function b(){i.onClose()}function x(){i.disableClosingTrigger.value||i.onClose()}return(t,n)=>(j(),k(c(re),{"as-child":``,reference:t.reference},{default:e(()=>[h(c(w),g({ref:c(o),"aria-describedby":c(i).open.value?c(i).contentId:void 0,"data-state":c(i).stateAttribute.value,as:t.as,"as-child":r.asChild,"data-grace-area-trigger":``},S(d.value)),{default:e(()=>[O(t.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),ke=s({__name:`Tabs`,props:{defaultValue:{},orientation:{},dir:{},activationMode:{},modelValue:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,a=I(M(r,`class`),i);return(t,n)=>(j(),k(c(ve),g({"data-slot":`tabs`,"data-orientation":c(a).orientation||`horizontal`},c(a),{class:c(A)(`gap-2 group/tabs flex data-[orientation=horizontal]:flex-col`,r.class)}),{default:e(e=>[O(t.$slots,`default`,f(b(e)))]),_:3},16,[`data-orientation`,`class`]))}}),Ae=s({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`default`}},setup(t){let n=t,r=M(n,`class`,`variant`);return(i,a)=>(j(),k(c(ye),g({"data-slot":`tabs-list`,"data-variant":t.variant},c(r),{class:c(A)(`rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-8 data-[variant=line]:rounded-none group/tabs-list inline-flex w-fit items-center justify-center text-muted-foreground group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col`,t.variant===`default`&&`bg-muted`,t.variant===`line`&&`gap-1 bg-transparent`,n.class)}),{default:e(()=>[O(i.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),je=s({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=F(M(n,`class`));return(t,i)=>(j(),k(c(be),g({"data-slot":`tabs-trigger`,class:c(A)(`gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg:not([class*=size-])]:size-4 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent`,`data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100`,n.class)},c(r)),{default:e(()=>[O(t.$slots,`default`)]),_:3},16,[`class`]))}}),Me=s({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(t,{emit:n}){let r=I(t,n);return(t,n)=>(j(),k(c(Te),g({"data-slot":`tooltip`},c(r)),{default:e(e=>[O(t.$slots,`default`,f(b(e)))]),_:3},16))}}),Ne=s({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:0},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let r=t,i=n,a=I(M(r,`class`),i);return(t,n)=>(j(),k(c($),null,{default:e(()=>[h(c(De),g({"data-slot":`tooltip-content`},{...c(a),...t.$attrs},{class:c(A)(`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-dropdown **:data-[slot=kbd]:rounded-sm bg-foreground text-background z-dropdown w-fit max-w-xs origin-(--reka-tooltip-content-transform-origin)`,r.class)}),{default:e(()=>[O(t.$slots,`default`),h(c(xe),{class:`size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-dropdown translate-y-[calc(-50%_-_2px)]`})]),_:3},16,[`class`])]),_:3}))}}),Pe=s({__name:`TooltipProvider`,props:{delayDuration:{default:0},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean},content:{}},setup(t){let n=t;return(t,r)=>(j(),k(c(Ce),f(b(n)),{default:e(()=>[O(t.$slots,`default`)]),_:3},16))}}),Fe=s({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,r)=>(j(),k(c(Oe),g({"data-slot":`tooltip-trigger`},n),{default:e(()=>[O(t.$slots,`default`)]),_:3},16))}});export{je as a,J as c,Me as i,q as l,Pe as n,Ae as o,Ne as r,ke as s,Fe as t,K as u};
@@ -0,0 +1,3 @@
1
+ import{Bt as e,Ct as t,D as n,F as r,G as i,Ht as a,It as o,J as s,K as c,M as l,Q as u,Rt as d,T as f,U as p,Ut as m,Vt as h,X as g,Y as _,Z as v,at as y,bt as b,ct as x,et as S,ft as C,ht as w,i as T,jt as E,lt as D,n as O,o as k,ot as A,p as j,pt as M,q as N,r as P,ut as F,x as I,xt as L}from"./button-D27ClX8J.js";import{t as ee}from"./check-yTAivq1h.js";import{a as te}from"./PopperContent-6BXua_FZ.js";import{t as ne}from"./copy-DWG9cQPR.js";import{t as R}from"./file-text-D33FJAPX.js";import{n as re,t as ie}from"./useNonce-DR38uny5.js";import{o as z,s as B,y as V}from"./Teleport-Bmeh33lB.js";import{n as ae}from"./Collection-Dbvdpa0m.js";import{a as oe,o as se,s as ce}from"./TooltipTrigger-LegC_Uvp.js";import{n as le,t as ue}from"./CollapsibleContent-GecW2Jk_.js";import{t as de}from"./CollapsibleTrigger-Cib3-OsK.js";import{a as fe,i as pe,n as me,o as he,t as ge}from"./dialog-BnYR6_dh.js";import{t as H}from"./badge-C-9zPTgw.js";import{t as _e}from"./useClipboard-BFt5f-_-.js";var ve=l(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),ye=l(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),be=l(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),U=l(`file-braces`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),xe=l(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),Se=l(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),[W,Ce]=V(`ScrollAreaRoot`),we=u({__name:`ScrollAreaRoot`,props:{type:{type:String,required:!1,default:`hover`},dir:{type:String,required:!1},scrollHideDelay:{type:Number,required:!1,default:600},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:n}){let r=e,i=E(0),s=E(0),c=E(),l=E(),u=E(),f=E(),p=E(!1),m=E(!1),{type:h,dir:g,scrollHideDelay:_}=o(r),v=ae(g);function y(){c.value?.scrollTo({top:0})}function b(){c.value?.scrollTo({top:0,left:0})}n({viewport:c,scrollTop:y,scrollTopLeft:b});let{forwardRef:x,currentElement:S}=k();return Ce({type:h,dir:v,scrollHideDelay:_,scrollArea:S,viewport:c,onViewportChange:e=>{c.value=e||void 0},content:l,onContentChange:e=>{l.value=e},scrollbarX:u,scrollbarXEnabled:p,scrollbarY:f,scrollbarYEnabled:m,onScrollbarXChange:e=>{u.value=e||void 0},onScrollbarYChange:e=>{f.value=e||void 0},onScrollbarXEnabledChange:e=>{p.value=e},onScrollbarYEnabledChange:e=>{m.value=e},onCornerWidthChange:e=>{i.value=e},onCornerHeightChange:e=>{s.value=e}}),(e,n)=>(F(),N(d(T),{ref:d(x),"as-child":r.asChild,as:e.as,dir:d(v),style:a({position:`relative`,"--reka-scroll-area-corner-width":`${i.value}px`,"--reka-scroll-area-corner-height":`${s.value}px`})},{default:t(()=>[M(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`dir`,`style`]))}}),Te=u({__name:`ScrollAreaCornerImpl`,setup(e){let n=W(),r=E(0),a=E(0),o=i(()=>!!r.value&&!!a.value);function c(){let e=n.scrollbarX.value?.offsetHeight||0;n.onCornerHeightChange(e),a.value=e}function l(){let e=n.scrollbarY.value?.offsetWidth||0;n.onCornerWidthChange(e),r.value=e}return j(n.scrollbarX.value,c),j(n.scrollbarY.value,l),b(()=>n.scrollbarX.value,c),b(()=>n.scrollbarY.value,l),(e,i)=>o.value?(F(),N(d(T),y({key:0,style:{width:`${r.value}px`,height:`${a.value}px`,position:`absolute`,right:d(n).dir.value===`ltr`?0:void 0,left:d(n).dir.value===`rtl`?0:void 0,bottom:0}},e.$parent?.$props),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`style`])):s(`v-if`,!0)}}),Ee=u({__name:`ScrollAreaCorner`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,{forwardRef:r}=k(),a=W(),o=i(()=>!!a.scrollbarX.value&&!!a.scrollbarY.value),c=i(()=>a.type.value!==`scroll`&&o.value);return(e,i)=>c.value?(F(),N(Te,y({key:0},n,{ref:d(r)}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16)):s(`v-if`,!0)}});function De(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function G(e){let t=Oe(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Oe(e,t){let n=e/t;return Number.isNaN(n)?0:n}function ke(e,t=()=>{}){let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)}function Ae(e,t,n=`ltr`){let r=G(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=re(e,c[0],c[1]);return De([0,o],[0,s])(l)}function K(e){return e?Number.parseInt(e,10):0}function je(e,t,n,r=`ltr`){let i=G(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return De([c,l],d)(e)}function Me(e,t){return e>0&&e<t}var Ne=u({__name:`ScrollAreaScrollbarX`,setup(e){let n=W(),r=Y(),{forwardRef:o,currentElement:s}=k();x(()=>{s.value&&n.onScrollbarXChange(s.value)});let c=i(()=>r.sizes.value);return(e,i)=>(F(),N(Ve,{ref:d(o),"is-horizontal":!0,"data-orientation":`horizontal`,style:a({bottom:0,left:d(n).dir.value===`rtl`?`var(--reka-scroll-area-corner-width)`:0,right:d(n).dir.value===`ltr`?`var(--reka-scroll-area-corner-width)`:0,"--reka-scroll-area-thumb-width":c.value?`${d(G)(c.value)}px`:void 0}),onOnDragScroll:i[0]||=e=>d(r).onDragScroll(e.x)},{default:t(()=>[M(e.$slots,`default`)]),_:3},8,[`style`]))}}),Pe=u({__name:`ScrollAreaScrollbarY`,setup(e){let n=W(),r=Y(),{forwardRef:o,currentElement:s}=k();x(()=>{s.value&&n.onScrollbarYChange(s.value)});let c=i(()=>r.sizes.value);return(e,i)=>(F(),N(Ve,{ref:d(o),"is-horizontal":!1,"data-orientation":`vertical`,style:a({top:0,right:d(n).dir.value===`ltr`?0:void 0,left:d(n).dir.value===`rtl`?0:void 0,bottom:`var(--reka-scroll-area-corner-height)`,"--reka-scroll-area-thumb-height":c.value?`${d(G)(c.value)}px`:void 0}),onOnDragScroll:i[0]||=e=>d(r).onDragScroll(e.y)},{default:t(()=>[M(e.$slots,`default`)]),_:3},8,[`style`]))}}),q=u({__name:`ScrollAreaScrollbarAuto`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let n=W(),r=J(),{forwardRef:i}=k(),a=E(!1),o=f(()=>{if(n.viewport.value){let e=n.viewport.value.offsetWidth<n.viewport.value.scrollWidth,t=n.viewport.value.offsetHeight<n.viewport.value.scrollHeight;a.value=r.isHorizontal.value?e:t}},10);return x(()=>o()),j(n.viewport,o),j(n.content,o),(e,n)=>(F(),N(d(z),{present:e.forceMount||a.value},{default:t(()=>[v(X,y(e.$attrs,{ref:d(i),"data-state":a.value?`visible`:`hidden`}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Fe=u({inheritAttrs:!1,__name:`ScrollAreaScrollbarGlimpse`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let n=W(),r=J(),{forwardRef:a}=k(),{state:o,dispatch:s}=B(`hidden`,{hidden:{POINTER_ENTER:`glimpse`,SCROLL:`scrolling`},glimpse:{HIDE:`hidden`,POINTER_LEAVE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`glimpse`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}}),c=i(()=>o.value!==`hidden`);function l(){s(`POINTER_ENTER`)}function u(){s(`POINTER_LEAVE`)}let p=f(()=>s(`SCROLL_END`),100);return L(e=>{if(o.value===`glimpse`){let t=window.setTimeout(s,n.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(t)})}}),L(e=>{if(o.value===`idle`){let t=window.setTimeout(s,n.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(t)})}}),L(e=>{let t=n.viewport.value,i=r.isHorizontal.value?`scrollLeft`:`scrollTop`;if(t){let n=t[i],r=()=>{let e=t[i];n!==e&&(s(`SCROLL`),p()),n=e};t.addEventListener(`scroll`,r),e(()=>{t.removeEventListener(`scroll`,r)})}}),x(()=>{let e=n.scrollArea.value;e&&(e.addEventListener(`pointerenter`,l),e.addEventListener(`pointerleave`,u))}),D(()=>{let e=n.scrollArea.value;e&&(e.removeEventListener(`pointerenter`,l),e.removeEventListener(`pointerleave`,u))}),(e,n)=>(F(),N(d(z),{present:e.forceMount||c.value},{default:t(()=>[v(q,y(e.$attrs,{ref:d(a),"data-state":c.value?`visible`:`hidden`}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Ie=u({inheritAttrs:!1,__name:`ScrollAreaScrollbarHover`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let n=W(),{forwardRef:r}=k(),i,a=E(!1);function o(){window.clearTimeout(i),a.value=!0}function s(){i=window.setTimeout(()=>{a.value=!1},n.scrollHideDelay.value)}return x(()=>{let e=n.scrollArea.value;e&&(e.addEventListener(`pointerenter`,o),e.addEventListener(`pointerleave`,s))}),D(()=>{let e=n.scrollArea.value;e&&(window.clearTimeout(i),e.removeEventListener(`pointerenter`,o),e.removeEventListener(`pointerleave`,s))}),(e,n)=>(F(),N(d(z),{present:e.forceMount||a.value},{default:t(()=>[v(q,y(e.$attrs,{ref:d(r),"data-state":a.value?`visible`:`hidden`}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Le=u({__name:`ScrollAreaScrollbarScroll`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let n=W(),r=J(),{forwardRef:a}=k(),{state:o,dispatch:s}=B(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}}),c=i(()=>o.value!==`hidden`);L(e=>{if(o.value===`idle`){let t=window.setTimeout(s,n.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(t)})}});let l=f(()=>s(`SCROLL_END`),100);return L(e=>{let t=n.viewport.value,i=r.isHorizontal.value?`scrollLeft`:`scrollTop`;if(t){let n=t[i],r=()=>{let e=t[i];n!==e&&(s(`SCROLL`),l()),n=e};t.addEventListener(`scroll`,r),e(()=>{t.removeEventListener(`scroll`,r)})}}),(e,n)=>(F(),N(d(z),{present:e.forceMount||c.value},{default:t(()=>[v(X,y(e.$attrs,{ref:d(a),"data-state":c.value?`visible`:`hidden`}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),[J,Re]=V(`ScrollAreaScrollbar`),ze=u({inheritAttrs:!1,__name:`ScrollAreaScrollbar`,props:{orientation:{type:String,required:!1,default:`vertical`},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let n=e,{forwardRef:r}=k(),a=W(),c=i(()=>n.orientation===`horizontal`);b(c,()=>{c.value?a.onScrollbarXEnabledChange(!0):a.onScrollbarYEnabledChange(!0)},{immediate:!0}),D(()=>{a.onScrollbarXEnabledChange(!1),a.onScrollbarYEnabledChange(!1)});let{orientation:l,forceMount:u,asChild:f,as:p}=o(n);return Re({orientation:l,forceMount:u,isHorizontal:c,as:p,asChild:f}),(e,n)=>d(a).type.value===`hover`?(F(),N(Ie,y({key:0},e.$attrs,{ref:d(r),"force-mount":d(u)}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`force-mount`])):d(a).type.value===`scroll`?(F(),N(Le,y({key:1},e.$attrs,{ref:d(r),"force-mount":d(u)}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`force-mount`])):d(a).type.value===`glimpse`?(F(),N(Fe,y({key:2},e.$attrs,{ref:d(r),"force-mount":d(u)}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`force-mount`])):d(a).type.value===`auto`?(F(),N(q,y({key:3},e.$attrs,{ref:d(r),"force-mount":d(u)}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`force-mount`])):d(a).type.value===`always`?(F(),N(X,y({key:4},e.$attrs,{ref:d(r),"data-state":`visible`}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16)):s(`v-if`,!0)}}),[Y,Be]=V(`ScrollAreaScrollbarVisible`),X=u({__name:`ScrollAreaScrollbarVisible`,setup(e){let n=W(),r=J(),{forwardRef:a}=k(),o=E({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),s=i(()=>{let e=Oe(o.value.viewport,o.value.content);return e>0&&e<1}),c=E(),l=E(0);function u(e,t){if(g.value){let r=n.viewport.value.scrollLeft+e.deltaY;n.viewport.value.scrollLeft=r,Me(r,t)&&e.preventDefault()}else{let r=n.viewport.value.scrollTop+e.deltaY;n.viewport.value.scrollTop=r,Me(r,t)&&e.preventDefault()}}function f(e,t){g.value?l.value=t.x:l.value=t.y}function p(e){l.value=0}function m(e){o.value=e}function h(e,t){return je(e,l.value,o.value,t)}let g=i(()=>r.isHorizontal.value);function _(e){g.value?n.viewport.value.scrollLeft=h(e,n.dir.value):n.viewport.value.scrollTop=h(e)}function v(){if(g.value){if(n.viewport.value&&c.value){let e=n.viewport.value.scrollLeft,t=Ae(e,o.value,n.dir.value);c.value.style.transform=`translate3d(${t}px, 0, 0)`}}else if(n.viewport.value&&c.value){let e=n.viewport.value.scrollTop,t=Ae(e,o.value);c.value.style.transform=`translate3d(0, ${t}px, 0)`}}function b(e){c.value=e}return Be({sizes:o,hasThumb:s,handleWheelScroll:u,handleThumbDown:f,handleThumbUp:p,handleSizeChange:m,onThumbPositionChange:v,onThumbChange:b,onDragScroll:_}),(e,n)=>g.value?(F(),N(Ne,y({key:0},e.$attrs,{ref:d(a)}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16)):(F(),N(Pe,y({key:1},e.$attrs,{ref:d(a)}),{default:t(()=>[M(e.$slots,`default`)]),_:3},16))}}),Ve=u({__name:`ScrollAreaScrollbarImpl`,props:{isHorizontal:{type:Boolean,required:!0}},emits:[`onDragScroll`,`onWheelScroll`,`onThumbPointerDown`],setup(e,{emit:n}){let r=e,i=n,a=W(),o=Y(),s=J(),{forwardRef:c,currentElement:l}=k(),u=E(``),f=E();function p(e){f.value&&i(`onDragScroll`,{x:e.clientX-f.value?.left,y:e.clientY-f.value?.top})}function m(e){e.button===0&&(e.target.setPointerCapture(e.pointerId),f.value=l.value.getBoundingClientRect(),u.value=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,a.viewport&&(a.viewport.value.style.scrollBehavior=`auto`),p(e))}function h(e){p(e)}function g(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=u.value,a.viewport&&(a.viewport.value.style.scrollBehavior=``),f.value=void 0}function _(e){let t=e.target,n=l.value?.contains(t),r=o.sizes.value.content-o.sizes.value.viewport;n&&o.handleWheelScroll(e,r)}x(()=>{document.addEventListener(`wheel`,_,{passive:!1})}),D(()=>{document.removeEventListener(`wheel`,_)});function v(){l.value&&(r.isHorizontal?o.handleSizeChange({content:a.viewport.value?.scrollWidth??0,viewport:a.viewport.value?.offsetWidth??0,scrollbar:{size:l.value.clientWidth??0,paddingStart:K(getComputedStyle(l.value).paddingLeft),paddingEnd:K(getComputedStyle(l.value).paddingRight)}}):o.handleSizeChange({content:a.viewport.value?.scrollHeight??0,viewport:a.viewport.value?.offsetHeight??0,scrollbar:{size:l.value?.clientHeight??0,paddingStart:K(getComputedStyle(l.value).paddingTop),paddingEnd:K(getComputedStyle(l.value).paddingBottom)}}),o.onThumbPositionChange())}return j(l,v),j(a.content,v),(e,n)=>(F(),N(d(T),{ref:d(c),style:{position:`absolute`},"data-scrollbarimpl":``,as:d(s).as.value,"as-child":d(s).asChild.value,onPointerdown:m,onPointermove:h,onPointerup:g},{default:t(()=>[M(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),He=u({__name:`ScrollAreaThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let r=e,a=W(),o=Y();function s(e){let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.handleThumbDown(e,{x:n,y:r})}function c(e){o.handleThumbUp(e)}let{forwardRef:l,currentElement:u}=k(),f=E(),p=i(()=>a.viewport.value);function m(){f.value||(f.value=ke(p.value,o.onThumbPositionChange),o.onThumbPositionChange())}return n(i(()=>o.sizes.value),()=>{o.onThumbChange(u.value),p.value&&(o.onThumbPositionChange(),p.value.addEventListener(`scroll`,m))}),D(()=>{p.value.removeEventListener(`scroll`,m),a.viewport.value?.removeEventListener(`scroll`,m)}),(e,n)=>(F(),N(d(T),{ref:d(l),"data-state":d(o).hasThumb?`visible`:`hidden`,style:{width:`var(--reka-scroll-area-thumb-width)`,height:`var(--reka-scroll-area-thumb-height)`},"as-child":r.asChild,as:e.as,onPointerdown:s,onPointerup:c},{default:t(()=>[M(e.$slots,`default`)]),_:3},8,[`data-state`,`as-child`,`as`]))}}),Ue=u({inheritAttrs:!1,__name:`ScrollAreaViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:n}){let r=e,{nonce:i}=o(r),s=ie(i),l=W(),u=E();x(()=>{l.onViewportChange(u.value),l.onContentChange(m.value)}),n({viewportElement:u});let{forwardRef:f,currentElement:m}=k();return(e,n)=>(F(),_(p,null,[c(`div`,y({ref_key:`viewportElement`,ref:u,"data-reka-scroll-area-viewport":``,style:{overflowX:d(l).scrollbarXEnabled.value?`scroll`:`hidden`,overflowY:d(l).scrollbarYEnabled.value?`scroll`:`hidden`}},e.$attrs,{tabindex:0}),[v(d(T),{ref:d(f),style:a({minWidth:d(l).scrollbarXEnabled.value?`fit-content`:void 0}),"as-child":r.asChild,as:e.as},{default:t(()=>[M(e.$slots,`default`)]),_:3},8,[`style`,`as-child`,`as`])],16),v(d(T),{as:`style`,nonce:d(s)},{default:t(()=>n[0]||=[g(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-scroll-area-viewport] { scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; } [data-reka-scroll-area-viewport]::-webkit-scrollbar { display:none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),We=u({__name:`BaseSeparator`,props:{orientation:{type:String,required:!1,default:`horizontal`},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,r=[`horizontal`,`vertical`];function a(e){return r.includes(e)}let o=i(()=>a(n.orientation)?n.orientation:`horizontal`),s=i(()=>o.value===`vertical`?n.orientation:void 0),c=i(()=>n.decorative?{role:`none`}:{"aria-orientation":s.value,role:`separator`});return(e,n)=>(F(),N(d(T),y({as:e.as,"as-child":e.asChild,"data-orientation":o.value},c.value),{default:t(()=>[M(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`data-orientation`]))}}),Ge=u({__name:`Separator`,props:{orientation:{type:String,required:!1,default:`horizontal`},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e;return(e,r)=>(F(),N(We,h(S(n)),{default:t(()=>[M(e.$slots,`default`)]),_:3},16))}}),Z=u({__name:`Separator`,props:{orientation:{default:`horizontal`},decorative:{type:Boolean,default:!0},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=I(t,`class`);return(e,r)=>(F(),N(d(Ge),y({"data-slot":`separator`},d(n),{class:d(P)(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch`,t.class)}),null,16,[`class`]))}}),Q=1e3;function Ke(e,t){let n=e.attempts.length>0?e.attempts[e.attempts.length-1]:void 0,r=e.streamMetrics,i=r?.tokensPerSecond??null;if(!i&&r&&r.outputTokens&&r.ttftMs&&e.completedAt){let t=(e.completedAt-e.startTime-r.ttftMs)/Q;t>0&&(i=r.outputTokens/t)}return{id:e.id,model:e.model,backendModel:null,originalModel:null,statusCode:e.status===`completed`?n?.statusCode??null:null,isStream:e.isStream,apiType:e.apiType,providerName:e.providerName,clientIp:e.clientIp,sessionId:e.sessionId??null,latencyMs:e.completedAt?e.completedAt-e.startTime:null,ttftMs:r?.ttftMs??null,inputTokens:r?.inputTokens??null,outputTokens:r?.outputTokens??null,tokensPerSecond:i,cacheReadTokens:r?.cacheReadTokens??null,cacheWriteTokens:null,stopReason:r?.stopReason??null,isComplete:r?.isComplete??!1,attempts:e.attempts.map(e=>({statusCode:e.statusCode,error:e.error,latencyMs:e.latencyMs,providerId:e.providerId})),status:e.status,clientRequest:e.clientRequest??null,upstreamRequest:e.upstreamRequest??null,responseBody:t??null,upstreamResponse:null,errorMessage:null,createdAt:null,inputTokensEstimated:!1}}function qe(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.statusCode==`number`&&t.headers&&!t.content&&!t.choices?typeof t.body==`string`?t.body:null:e}catch{return e}}var Je=[`stream_error: upstream returned 200 but body contains error`];function Ye(e){return e?Je.some(t=>e.startsWith(t)):!1}function Xe(e){let t=e.input_tokens??null,n=e.output_tokens??null,r=e.ttft_ms??null,i=e.tokens_per_second??null;if(!i&&n&&r&&e.latency_ms){let t=(e.latency_ms-r)/Q;t>0&&(i=n/t)}let a=qe(e.upstream_response)??e.stream_text_content??null;return{id:e.id,model:e.original_model??e.model??`unknown`,backendModel:e.backend_model,originalModel:e.original_model,statusCode:e.status_code,isStream:!!e.is_stream,apiType:e.api_type===`openai`||e.api_type===`anthropic`?e.api_type:`openai`,providerName:e.provider_name,clientIp:void 0,sessionId:e.session_id??null,latencyMs:e.latency_ms,ttftMs:r,inputTokens:t,outputTokens:n,tokensPerSecond:i,cacheReadTokens:e.cache_read_tokens??null,cacheWriteTokens:null,stopReason:e.stop_reason??null,isComplete:!!e.metrics_complete,attempts:[],status:(e.status_code??0)>=400?`failed`:`completed`,clientRequest:e.client_request,upstreamRequest:e.upstream_request,responseBody:a,upstreamResponse:e.upstream_response,errorMessage:Ye(e.error_message)?null:e.error_message,createdAt:e.created_at,inputTokensEstimated:e.input_tokens_estimated===1}}var Ze=u({__name:`ScrollBar`,props:{orientation:{default:`vertical`},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=I(n,`class`);return(i,a)=>(F(),N(d(ze),y({"data-slot":`scroll-area-scrollbar`,"data-orientation":e.orientation},d(r),{class:d(P)(`data-[orientation=horizontal]:h-2.5 data-[orientation=horizontal]:flex-col data-[orientation=horizontal]:border-t data-[orientation=horizontal]:border-t-transparent data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2.5 data-[orientation=vertical]:border-l data-[orientation=vertical]:border-l-transparent flex touch-none p-px transition-colors select-none`,n.class)}),{default:t(()=>[v(d(He),{"data-slot":`scroll-area-thumb`,class:`rounded-full relative flex-1 bg-border`})]),_:1},16,[`data-orientation`,`class`]))}}),$=u({__name:`ScrollArea`,props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=I(n,`class`);return(e,i)=>(F(),N(d(we),y({"data-slot":`scroll-area`},d(r),{class:d(P)(`relative`,n.class)}),{default:t(()=>[v(d(Ue),{"data-slot":`scroll-area-viewport`,class:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`},{default:t(()=>[M(e.$slots,`default`)]),_:3}),v(Ze),v(d(Ee))]),_:3},16,[`class`]))}});function Qe(e,t){if(!e)return t||``;try{let n=JSON.parse(e);return typeof n.statusCode==`number`&&(n.headers||n.body!==void 0)?n.body===null&&t?JSON.stringify({...n,body:t},null,2):JSON.stringify(n,null,2):e}catch{return e}}var $e=new Set([`choices`,`content`]);function et(e,t){if(!e&&!t)return``;let n=tt(e),r=n?.headers,i=n?.body??t;if(r){let e={headers:r};return i&&(e.body=nt(i)),JSON.stringify(e,null,2)}if(i){let e=nt(i);return JSON.stringify(e,null,2)}return``}function tt(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.statusCode==`number`&&(t.headers||t.body!==void 0)?{headers:t.headers??{},body:typeof t.body==`string`?t.body:t.body==null?null:JSON.stringify(t.body)}:null}catch{return null}}function nt(e){try{let t=JSON.parse(e);if(typeof t==`object`&&t){let e={};for(let[n,r]of Object.entries(t))$e.has(n)||(e[n]=r);return e}return e}catch{return e}}var rt={class:`space-y-3`},it={class:`flex items-center justify-between`},at={class:`text-xs font-medium text-muted-foreground`},ot={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},st={class:`flex items-baseline gap-1 min-w-0`},ct={class:`font-mono text-[11px] font-semibold truncate min-w-0`},lt={class:`text-[10px] text-muted-foreground flex-shrink-0`},ut={class:`flex items-center gap-1.5`},dt={key:0,class:`flex items-center gap-1.5`},ft={class:`font-mono text-[11px] text-muted-foreground truncate`},pt={class:`grid grid-cols-2 gap-1.5`},mt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},ht={class:`text-[10px] text-muted-foreground`},gt={class:`text-sm font-semibold truncate`},_t={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},vt={class:`text-[10px] text-muted-foreground`},yt={class:`text-sm font-semibold truncate`},bt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},xt={class:`text-[10px] text-muted-foreground`},St={class:`text-sm font-semibold truncate`},Ct={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},wt={class:`text-[10px] text-muted-foreground`},Tt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},Et={class:`text-[10px] text-muted-foreground`},Dt={class:`text-sm font-semibold truncate`},Ot={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},kt={class:`text-[10px] text-muted-foreground`},At={class:`text-sm font-semibold truncate`},jt={class:`space-y-1.5`},Mt={class:`text-[10px] text-muted-foreground uppercase tracking-wider`},Nt={key:0,class:`text-[11px] text-muted-foreground`},Pt={class:`text-muted-foreground`},Ft={class:`text-muted-foreground`},It={class:`space-y-1`},Lt={key:0,class:`flex items-center justify-between text-[11px]`},Rt={class:`text-muted-foreground`},zt={class:`font-mono`},Bt={key:1,class:`flex items-center justify-between text-[11px]`},Vt={class:`text-muted-foreground`},Ht={class:`font-mono truncate max-w-[160px]`},Ut=u({__name:`RequestOverviewPanel`,props:{overview:{}},setup(n){let{t:a}=r(),o=n,l=E(!1),u=i(()=>et(o.overview.upstreamResponse,o.overview.responseBody)||JSON.stringify({latencyMs:o.overview.latencyMs,ttftMs:o.overview.ttftMs,inputTokens:o.overview.inputTokens,outputTokens:o.overview.outputTokens,tokensPerSecond:o.overview.tokensPerSecond,cacheReadTokens:o.overview.cacheReadTokens,cacheWriteTokens:o.overview.cacheWriteTokens,stopReason:o.overview.stopReason,statusCode:o.overview.statusCode},null,2)),f=i(()=>{if(o.overview.status===`pending`)return`pending`;let e=o.overview.statusCode;return o.overview.status===`failed`||e!=null&&e>=400?`error`:`success`}),h=i(()=>o.overview.status===`pending`&&o.overview.outputTokens!=null),y=i(()=>{let e=o.overview.outputTokens;return e==null?`--`:h.value?`+${e}`:String(e)}),b=i(()=>o.overview.status===`pending`&&o.overview.latencyMs==null?`...`:o.overview.latencyMs==null?`--`:`${(o.overview.latencyMs/Q).toFixed(1)}s`),x=i(()=>{if(o.overview.tokensPerSecond!=null)return`${o.overview.tokensPerSecond.toFixed(1)}`;let{outputTokens:e,latencyMs:t}=o.overview;return e&&t?`${(e/t*Q).toFixed(1)}`:`--`});function S(e){return e!=null&&e>=400}return(r,i)=>(F(),_(`div`,rt,[c(`div`,it,[c(`span`,at,m(d(a)(`requestDetail.overviewTitle`)),1),v(d(O),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:i[0]||=e=>l.value=!l.value},{default:t(()=>[(F(),N(w(l.value?d(R):d(U)),{class:`h-3 w-3`})),g(` `+m(l.value?d(a)(`requestDetail.structured`):d(a)(`requestDetail.rawData`)),1)]),_:1})]),l.value?(F(),N(d($),{key:0,class:`rounded-md border flex-1`},{default:t(()=>[c(`pre`,ot,m(u.value),1)]),_:1})):s(``,!0),l.value?s(``,!0):(F(),_(p,{key:1},[c(`div`,st,[c(`span`,ct,m(n.overview.model),1),c(`span`,lt,`@ `+m(n.overview.providerName||d(a)(`requestDetail.unknownProvider`)),1)]),c(`div`,ut,[f.value===`pending`?(F(),N(d(H),{key:0,variant:`outline`,class:`border-warning/30 bg-warning-light text-warning-dark`},{default:t(()=>[i[1]||=c(`span`,{class:`w-1.5 h-1.5 rounded-full bg-warning animate-pulse`},null,-1),g(` `+m(d(a)(`requestDetail.pending`)),1)]),_:1})):f.value===`error`?(F(),N(d(H),{key:1,variant:`outline`,class:`border-danger/30 bg-danger-light text-danger-dark`},{default:t(()=>[g(m(n.overview.statusCode??d(a)(`requestDetail.failed`)),1)]),_:1})):(F(),N(d(H),{key:2,variant:`outline`,class:`border-success/30 bg-success-light text-success-dark`},{default:t(()=>[i[2]||=c(`span`,{class:`w-1.5 h-1.5 rounded-full bg-success`},null,-1),g(` `+m(d(a)(`requestDetail.completed`)),1)]),_:1})),v(d(H),{variant:`outline`},{default:t(()=>[g(m(n.overview.isStream?`SSE`:d(a)(`requestDetail.nonStream`)),1)]),_:1}),v(d(H),{variant:`outline`},{default:t(()=>[g(m(n.overview.apiType),1)]),_:1})]),n.overview.sessionId?(F(),_(`div`,dt,[v(d(H),{variant:`secondary`,class:`text-[10px]`},{default:t(()=>[...i[3]||=[g(`Session`,-1)]]),_:1}),c(`span`,ft,m(n.overview.sessionId.slice(0,8)),1)])):s(``,!0),c(`div`,pt,[c(`div`,mt,[c(`div`,ht,m(d(a)(`requestDetail.latency`)),1),c(`div`,gt,m(b.value),1)]),c(`div`,_t,[c(`div`,vt,m(d(a)(`requestDetail.ttft`)),1),c(`div`,yt,m(n.overview.ttftMs==null?`--`:`${n.overview.ttftMs}ms`),1)]),c(`div`,bt,[c(`div`,xt,m(n.overview.inputTokensEstimated?d(a)(`requestDetail.estInputTokens`):d(a)(`requestDetail.inputTokens`)),1),c(`div`,St,m(n.overview.inputTokens==null?`--`:n.overview.inputTokens),1)]),c(`div`,Ct,[c(`div`,wt,m(d(a)(`requestDetail.outputTokens`)),1),c(`div`,{class:e([`text-sm font-semibold truncate`,h.value?`diff-added`:``])},m(y.value),3)]),c(`div`,Tt,[c(`div`,Et,m(d(a)(`requestDetail.speed`)),1),c(`div`,Dt,m(x.value),1)]),c(`div`,Ot,[c(`div`,kt,m(d(a)(`requestDetail.cacheRead`)),1),c(`div`,At,m(n.overview.cacheReadTokens==null?`--`:n.overview.cacheReadTokens),1)])]),v(d(Z)),c(`div`,jt,[c(`span`,Mt,m(d(a)(`requestDetail.attemptHistory`)),1),n.overview.attempts.length===0?(F(),_(`div`,Nt,m(d(a)(`requestDetail.noRetry`)),1)):s(``,!0),(F(!0),_(p,null,C(n.overview.attempts,(t,n)=>(F(),_(`div`,{key:n,class:`flex items-center gap-1 text-[11px]`},[c(`span`,Pt,`#`+m(n+1),1),c(`span`,{class:e(S(t.statusCode)?`diff-removed`:`diff-added`)},m(t.statusCode??`--`),3),c(`span`,Ft,m((t.latencyMs/d(Q)).toFixed(1))+`s`,1)]))),128))]),v(d(Z)),c(`div`,It,[n.overview.statusCode==null?s(``,!0):(F(),_(`div`,Lt,[c(`span`,Rt,m(d(a)(`requestDetail.statusCodeLabel`)),1),c(`span`,zt,m(n.overview.statusCode),1)])),n.overview.clientIp?(F(),_(`div`,Bt,[c(`span`,Vt,m(d(a)(`requestDetail.clientIp`)),1),c(`span`,Ht,m(n.overview.clientIp),1)])):s(``,!0)])],64))]))}}),Wt={key:0,class:`rounded-md border bg-card`},Gt={class:`flex items-center gap-1.5 px-2.5 py-1.5 border-b`},Kt={class:`text-xs font-medium`},qt={class:`px-2.5 py-2`},Jt={key:0,class:`inline-block w-1.5 h-3.5 dot-success animate-pulse ml-0.5 align-text-bottom`},Yt={class:`flex items-center gap-1.5 px-2.5 py-1.5 cursor-pointer hover:brightness-95 rounded-t-md`},Xt={class:`text-xs font-medium`},Zt={key:0,class:`text-xs text-muted-foreground`},Qt={class:`px-2.5 pb-2`},$t=u({__name:`ContentBlockRenderer`,props:{type:{},content:{},name:{default:void 0},defaultOpen:{type:Boolean,default:!0},showCursor:{type:Boolean,default:!1},autoScroll:{type:Boolean,default:!1}},setup(n){let{t:a}=r(),o=n,l=E(o.type===`text`?!0:o.defaultOpen),u=E(null),f=i(()=>{switch(o.type){case`thinking`:return`block-thinking`;case`tool_use`:return`block-tool-use`;case`tool_result`:return`block-tool-result`;default:return`bg-card`}}),p=i(()=>{switch(o.type){case`thinking`:return`block-thinking-content italic`;case`tool_use`:return`block-tool-use-content`;case`tool_result`:return`block-tool-result-content`;default:return`bg-muted/50`}}),h=i(()=>{switch(o.type){case`thinking`:return ye;case`tool_use`:return Se;case`tool_result`:return be;default:return xe}}),y=i(()=>{switch(o.type){case`thinking`:return`text-[var(--color-role-thinking)]`;case`tool_use`:return`text-[var(--color-role-tool)]`;case`tool_result`:return`text-[var(--color-role-user)]`;default:return`text-muted-foreground`}}),x=i(()=>{switch(o.type){case`thinking`:return a(`requestDetail.thinking`);case`tool_use`:return a(`requestDetail.toolUse`);case`tool_result`:return a(`requestDetail.toolResultLabel`);default:return``}}),S=i(()=>o.type===`tool_use`?a(`requestDetail.waitingData`):o.type===`tool_result`?a(`requestDetail.noReturnData`):``);return b(()=>o.content,()=>{o.autoScroll&&A(()=>{let e=u.value;e&&(e.scrollTop=e.scrollHeight)})}),(r,i)=>n.type===`text`?(F(),_(`div`,Wt,[c(`div`,Gt,[v(d(xe),{class:`h-3.5 w-3.5 diff-added`}),c(`span`,Kt,m(d(a)(`requestDetail.reply`)),1)]),c(`div`,qt,[c(`pre`,{ref_key:`contentRef`,ref:u,class:`text-xs overflow-y-auto whitespace-pre-wrap break-words`,style:{"max-height":`300px`}},[c(`code`,null,[g(m(n.content),1),n.showCursor?(F(),_(`span`,Jt)):s(``,!0)])],512)])])):(F(),N(d(le),{key:1,open:l.value,"onUpdate:open":i[0]||=e=>l.value=e,class:e([`rounded-md border`,f.value])},{default:t(()=>[v(d(de),{"as-child":``},{default:t(()=>[c(`div`,Yt,[v(d(te),{class:e([`h-3 w-3 transition-transform duration-200`,{"rotate-180":!l.value}])},null,8,[`class`]),(F(),N(w(h.value),{class:e([`h-3.5 w-3.5`,y.value])},null,8,[`class`])),c(`span`,Xt,m(x.value),1),n.type===`thinking`?(F(),_(`span`,Zt,`(`+m(d(a)(`requestDetail.charCount`,{count:n.content.length}))+`)`,1)):s(``,!0),n.type===`tool_use`&&n.name?(F(),N(d(H),{key:1,variant:`secondary`,class:`text-xs`},{default:t(()=>[g(m(n.name),1)]),_:1})):s(``,!0)])]),_:1}),v(d(ue),null,{default:t(()=>[c(`div`,Qt,[c(`pre`,{ref_key:`contentRef`,ref:u,class:e([`text-xs rounded p-2 overflow-y-auto whitespace-pre-wrap break-words`,p.value]),style:{"max-height":`300px`}},[c(`code`,null,m(n.content||S.value),1)],2)])]),_:1})]),_:1},8,[`open`,`class`]))}}),en=2;function tn(e){return e.map(e=>{let t=e;return t.type===`thinking`?{type:`thinking`,content:String(t.thinking??``)}:t.type===`text`?{type:`text`,content:String(t.text??``)}:t.type===`tool_use`?{type:`tool_use`,content:JSON.stringify(t.input??{},null,en),name:String(t.name??``)}:t.type===`tool_result`?{type:`tool_result`,content:typeof t.content==`string`?t.content:JSON.stringify(t.content)}:{type:`text`,content:JSON.stringify(t)}})}function nn(e){let t=[];for(let n of e){let e=n.message;if(!e)continue;let r=e.content;if(typeof r==`string`&&r)t.push({type:`text`,content:r});else if(Array.isArray(r))for(let e of r){let n=e;if(n.type===`text`)t.push({type:`text`,content:String(n.text??``)});else if(n.type===`tool_use`||n.type===`function`){let e=n.function??n.input??{};t.push({type:`tool_use`,content:JSON.stringify(e,null,en),name:String(n.name??e.name??``)})}}}return t}function rn(e,t,n){let r=e||t;if(!r)return[];let i;try{i=JSON.parse(r)}catch{return[]}let a=i;if(typeof a.body==`string`)try{i=JSON.parse(a.body)}catch{i=i}let o=i;return n===`anthropic`&&Array.isArray(o.content)?tn(o.content):n===`openai`&&Array.isArray(o.choices)?nn(o.choices):[]}var an=5,on=2,sn=3;function cn(e,t,n){let r=i(()=>{if(!t||!e.value)return[];let n=e.value.split(`
2
+ `),r=[];for(let e of n){let t=e.trim();if(!t.startsWith(`data:`))continue;let n=t.slice(an).trim();if(n===`[DONE]`){r.push({type:`done`,data:n});continue}try{let e=JSON.parse(n);r.push({type:`data`,data:e})}catch{r.push({type:`raw`,data:n})}}return r});return{sseEvents:r,assembledBlocks:i(()=>{if(!t||!e.value)return[];let n=[],i=null;for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`content_block_start`){let e=t.content_block;if(i={type:String(e?.type||``),content:``,eventCount:0,toolName:e?.name?String(e.name):void 0},i.type===`tool_use`&&e?.input){let t=e.input;Object.keys(t).length>0&&(i.content=JSON.stringify(t,null,on))}continue}if(t.type===`content_block_delta`&&i){let e=t.delta;i.content+=e.thinking||e.text||e.partial_json||``,i.eventCount++;continue}t.type===`content_block_stop`&&i&&(n.push(i),i=null)}return i&&n.push(i),n}),sseMeta:i(()=>{let e=``,t=``,n=0,i=0,a=``;for(let o of r.value){if(o.type!==`data`)continue;let r=o.data;if(r.type===`message_start`){let i=r.message;e=String(i?.id||``),t=String(i?.model||``),n=Number(i?.usage?.input_tokens??0)}if(r.type===`message_delta`){let e=r.delta,t=r.usage;a=String(e?.stop_reason||``),i=Number(t?.output_tokens??0)}}return{id:e,model:t,inputTokens:n,outputTokens:i,stopReason:a}}),openaiAssembled:i(()=>{if(n!==`openai`||!t)return null;let e=``,i=``,a=``,o=null,s=0;for(let t of r.value){if(t.type!==`data`)continue;let n=t.data,r=n.choices||[],c=r[0]?.delta;c?.role&&(e=String(c.role)),c?.content&&(i+=String(c.content),s++),r[0]?.finish_reason&&(a=String(r[0].finish_reason)),n.usage&&(o=n.usage)}return{role:e,content:i,contentEventCount:s,finishReason:a,usage:o}}),anthropicMessageStart:i(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`message_start`){let e=t.message;return{id:String(e?.id||``),model:String(e?.model||``),input_tokens:Number(e?.usage?.input_tokens??0)}}}return null}),anthropicContentBlockStarts:i(()=>{let e=[];for(let t of r.value){if(t.type!==`data`)continue;let n=t.data;if(n.type===`content_block_start`){let t=n.content_block;e.push({index:Number(n.index??0),type:String(t?.type||``)})}}return e}),anthropicDeltaGroups:i(()=>{let e={};for(let t of r.value){if(t.type!==`data`)continue;let n=t.data;if(n.type!==`content_block_delta`)continue;let r=n.delta,i=String(r?.type||`unknown`);e[i]||(e[i]={deltaType:i,kept:0,folded:0,foldedChars:0});let a=e[i];if(a.kept<sn)a.kept++;else{a.folded++;let e=r,t=String(e.thinking||e.text||e.partial_json||``);a.foldedChars+=t.length}}return Object.values(e).filter(e=>e.kept>0||e.folded>0)}),anthropicMessageDelta:i(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`message_delta`){let e=t.delta,n=t.usage;return{output_tokens:Number(n?.output_tokens??0),stop_reason:String(e?.stop_reason||``)}}}return null}),anthropicMessageStop:i(()=>r.value.some(e=>e.type===`data`&&e.data.type===`message_stop`)),openaiSseRole:i(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.role)return String(t.role)}return null}),openaiSseFirstContent:i(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.content)return String(t.content)}return null}),openaiSseFinishReason:i(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.finish_reason;if(t)return String(t)}return null}),openaiSseCollapsedCount:i(()=>{let e=0,t=!1;for(let n of r.value){if(n.type!==`data`)continue;let r=(n.data.choices||[])[0]?.delta;if(!t){r?.content&&(t=!0);continue}(r?.content||r?.role)&&e++}return e}),openaiSseUsage:i(()=>{for(let e=r.value.length-1;e>=0;e--){let t=r.value[e];if(t.type!==`data`)continue;let n=t.data.usage;if(n)return{prompt_tokens:n.prompt_tokens,completion_tokens:n.completion_tokens,total_tokens:n.total_tokens,cached_tokens:n.cached_tokens??n.prompt_tokens_details?.cached_tokens}}return null})}}var ln={class:`flex flex-col gap-2 min-h-0 flex-1`},un={class:`flex items-center justify-between flex-shrink-0`},dn={class:`text-xs font-medium text-muted-foreground`},fn={key:0,class:`relative flex-1 min-h-0`},pn={key:0,class:`flex flex-col gap-2`},mn={key:1,class:`text-xs text-muted-foreground`},hn={key:2,class:`text-xs text-muted-foreground`},gn={key:3,class:`text-xs text-muted-foreground`},_n={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},vn=50,yn=u({__name:`ResponseViewer`,props:{source:{},apiType:{},isStream:{type:Boolean},streamContent:{default:null},nonStreamBody:{default:null},responseBody:{default:null},upstreamResponse:{default:null},status:{}},setup(e){let{t:n}=r(),a=E(null),o=e,l=E(!1),u=i(()=>!!(o.responseBody||o.upstreamResponse)),{assembledBlocks:f}=cn(i(()=>{if(o.source!==`history`)return``;let e=o.responseBody||o.upstreamResponse||``;try{return JSON.parse(e).body||e}catch{return e}}),o.isStream,o.apiType),h=i(()=>{if(o.source===`realtime`){let e=o.streamContent?.blocks;if(e&&e.length>0)return e;if(o.responseBody){let e=rn(o.responseBody,null,o.apiType);if(e.length>0)return e}return[]}let e=rn(o.responseBody??null,o.upstreamResponse??null,o.apiType);if(e.length>0)return e;if(o.responseBody&&o.responseBody.trim().length>0)return[{type:`text`,content:o.responseBody}];let t=[`thinking`,`text`,`tool_use`,`tool_result`];return f.value.map(e=>({type:t.includes(e.type)?e.type:`text`,content:e.content,...e.toolName?{name:e.toolName}:{}}))}),y=i(()=>o.source===`realtime`?o.streamContent?.rawChunks||o.responseBody||``:Qe(o.upstreamResponse??null,o.responseBody??null)),x=E(!1);function S(){let e=a.value;e&&(x.value=e.scrollHeight-e.scrollTop-e.clientHeight>vn)}function T(){let e=a.value;e&&(e.scrollTop=e.scrollHeight)}return b(h,()=>{x.value||A(()=>T())},{deep:!0}),(e,r)=>(F(),_(`div`,ln,[c(`div`,un,[c(`span`,dn,m(d(n)(`requestDetail.responseTitle`)),1),v(d(O),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:r[0]||=e=>l.value=!l.value},{default:t(()=>[(F(),N(w(l.value?d(R):d(U)),{class:`h-3 w-3`})),g(` `+m(l.value?d(n)(`requestDetail.structured`):o.isStream?d(n)(`requestDetail.rawSse`):d(n)(`requestDetail.rawJson`)),1)]),_:1})]),l.value?(F(),N(d($),{key:1,class:`flex-1 min-h-0 rounded-md border`},{default:t(()=>[c(`pre`,_n,m(y.value),1)]),_:1})):(F(),_(`div`,fn,[c(`div`,{ref_key:`structuredRef`,ref:a,class:`flex-1 min-h-0 overflow-y-auto`,onScroll:S},[h.value.length>0?(F(),_(`div`,pn,[(F(!0),_(p,null,C(h.value,(e,t)=>(F(),N($t,{key:t,type:e.type,content:e.content,name:e.name,"show-cursor":o.status===`pending`&&t===h.value.length-1,"auto-scroll":o.status===`pending`&&t===h.value.length-1},null,8,[`type`,`content`,`name`,`show-cursor`,`auto-scroll`]))),128))])):o.status===`pending`?(F(),_(`p`,mn,m(d(n)(`requestDetail.waitingResponse`)),1)):o.source===`history`&&o.isStream&&!u.value?(F(),_(`p`,hn,m(d(n)(`requestDetail.streamNotPersisted`)),1)):(F(),_(`p`,gn,m(d(n)(`requestDetail.noResponseContent`)),1))],544),x.value?(F(),N(d(O),{key:0,variant:`outline`,size:`icon`,class:`absolute bottom-2 right-2 h-7 w-7 rounded-full shadow-md opacity-80 hover:opacity-100`,onClick:T},{default:t(()=>[v(d(ve),{class:`h-3.5 w-3.5`})]),_:1})):s(``,!0)]))]))}}),bn={class:`relative`},xn={class:`bg-background text-foreground rounded-md p-3 text-xs overflow-auto max-h-[40vh] whitespace-pre-wrap break-all border`},Sn=u({__name:`JsonCopyBlock`,props:{content:{},hideCopyButton:{type:Boolean}},setup(e){let{t:n}=r(),i=e,{copied:a,copy:o}=_e();async function l(){await o(i.content)}return(r,i)=>(F(),_(`div`,bn,[e.hideCopyButton?s(``,!0):(F(),N(d(O),{key:0,variant:`outline`,size:`sm`,class:`absolute top-2 right-2 h-7 text-xs`,onClick:l},{default:t(()=>[g(m(d(a)?d(n)(`logs.viewer.copied`):d(n)(`logs.viewer.copy`)),1)]),_:1})),c(`pre`,xn,m(e.content),1)]))}}),Cn={class:`flex flex-col min-h-0 h-full`},wn={class:`flex justify-end mb-1 flex-shrink-0`},Tn={key:0,class:`space-y-3`},En={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Dn={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},On={key:0,class:`text-[11px] text-muted-foreground py-4 text-center`},kn={key:1,class:`text-[11px] text-muted-foreground py-2 text-center`},An={key:2,class:`space-y-4`},jn={key:0},Mn={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Nn={class:`flex items-center gap-2 text-[11px]`},Pn={class:`font-mono text-muted-foreground`},Fn={class:`font-mono text-primary font-semibold`},In={key:1},Ln={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Rn={class:`text-[11px] bg-muted/50 rounded-md border px-2.5 py-2 overflow-y-auto whitespace-pre-wrap break-words max-h-40`},zn={key:2},Bn={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Vn={class:`space-y-1.5`},Hn={class:`flex items-center gap-1.5 mb-1`},Un={key:1,class:`text-[9px] text-muted-foreground`},Wn={key:0,class:`diff-removed line-through mb-0.5`},Gn={key:1,class:`text-foreground overflow-y-auto max-h-40`},Kn={key:2,class:`text-muted-foreground text-[10px]`},qn={key:3},Jn={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Yn={class:`space-y-1`},Xn={class:`grid grid-cols-5 gap-1`},Zn=[`title`,`onClick`],Qn={key:0,class:`rounded-md border bg-background p-2.5`},$n={class:`flex items-center gap-2 mb-1`},er={class:`text-[11px] font-semibold font-mono`},tr={key:0,class:`text-[11px] text-muted-foreground`},nr={key:1,class:`mt-1 flex flex-wrap gap-1`},rr={key:4},ir={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},ar={class:`flex items-center gap-2 text-[11px]`},or={key:5},sr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},cr={class:`flex items-center gap-2 text-[11px]`},lr={class:`font-mono diff-removed line-through`},ur={class:`font-mono diff-added font-medium`},dr=4,fr=5,pr=u({__name:`RequestDiffViewer`,props:{overview:{}},setup(n){let{t:a}=r(),o=n,l=E(!1);function u(e){if(!e)return null;try{let t=JSON.parse(e);if(typeof t!=`object`||!t)return null;let n=typeof t.headers==`object`&&t.headers!==null?t.headers:{},r=t.body;if(typeof r==`string`)try{r=JSON.parse(r)}catch{}return{headers:n,body:r??{}}}catch{return null}}function f(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&`text`in e).map(e=>typeof e.text==`string`?e.text:``).join(``):String(t??``)}function h(e){if(!e)return``;let t=e.replace(/^Bearer\s+/i,``);return t.length<=dr?`***`:`${t.slice(0,dr)}***`}function y(e,t){let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n)return r}let b=i(()=>u(o.overview.clientRequest)),x=i(()=>u(o.overview.upstreamRequest)),S=i(()=>{let e=b.value?.body?.model,t=x.value?.body?.model;return{hasDiff:!!e&&!!t&&e!==t,from:e??``,to:t??``}}),w=i(()=>{let e=x.value?.body;if(!e)return null;let t=e.system;if(typeof t==`string`)return t;if(Array.isArray(t))return t.filter(e=>typeof e==`object`&&!!e&&`text`in e).map(e=>e.text).join(`
3
+ `);let n=e.messages;if(Array.isArray(n)){let e=n.find(e=>e.role===`system`);if(e)return f(e)}return null}),T=i(()=>{let e=x.value?.body?.messages??[],t=b.value?.body?.messages??[];if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=String(i.role??`unknown`);if(a===`system`)continue;let o=f(i),s=t[r],c=s?f(s):null,l=c!==null&&o!==c,u=i.content,d=Array.isArray(u)?u:[],p=d.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_use`).map(e=>e.name).filter(Boolean),m=d.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_result`).length;n.push({role:a,text:o,removedText:l?c:null,modified:l,toolCalls:p,toolResultCount:m})}return n}),D=E(-1),k=i(()=>{let e=[];for(let t=0;t<A.value.length;t+=fr)e.push({tools:A.value.slice(t,t+fr),startIdx:t});return e}),A=i(()=>{let e=x.value?.body;if(!e)return[];let t=e.tools;return Array.isArray(t)?t.filter(e=>typeof e?.name==`string`).map(e=>{let t=typeof e.description==`string`?e.description:``,n=e.input_schema?.properties,r=n?Object.keys(n):[];return{name:e.name,description:t,params:r}}):[]}),j=i(()=>{let e=b.value?.body?.stream_options!=null,t=x.value?.body?.stream_options!=null;return!e&&t}),M=i(()=>{if(!b.value?.headers||!x.value?.headers)return{hasDiff:!1,old:``,new:``};let e=y(b.value.headers,`authorization`),t=y(x.value.headers,`authorization`);return{hasDiff:!!e&&!!t&&e!==t,old:h(e),new:h(t)}});return(r,i)=>(F(),_(`div`,Cn,[c(`div`,wn,[v(d(O),{variant:`outline`,size:`xs`,class:`gap-1`,onClick:i[0]||=e=>l.value=!l.value},{default:t(()=>[l.value?(F(),N(d(U),{key:0,class:`size-3`})):(F(),N(d(R),{key:1,class:`size-3`})),g(` `+m(l.value?d(a)(`requestDetail.structured`):d(a)(`requestDetail.rawJson`)),1)]),_:1})]),v(d($),{class:`flex-1 min-h-0`},{default:t(()=>[l.value?(F(),_(`div`,Tn,[c(`div`,null,[c(`div`,En,m(d(a)(`requestDetail.clientRequest`)),1),v(Sn,{content:n.overview.clientRequest??`{}`},null,8,[`content`])]),c(`div`,null,[c(`div`,Dn,m(d(a)(`requestDetail.upstreamRequest`)),1),v(Sn,{content:n.overview.upstreamRequest??`{}`},null,8,[`content`])])])):(F(),_(p,{key:1},[!x.value&&!b.value?(F(),_(`div`,On,m(d(a)(`requestDetail.noRequestData`)),1)):!x.value&&b.value?(F(),_(`div`,kn,m(d(a)(`requestDetail.requestInProgress`)),1)):(F(),_(`div`,An,[S.value.hasDiff?(F(),_(`div`,jn,[c(`div`,Mn,m(d(a)(`requestDetail.modelMapping`)),1),c(`div`,Nn,[c(`span`,Pn,m(S.value.from),1),i[1]||=c(`span`,{class:`text-muted-foreground`},`→`,-1),c(`span`,Fn,m(S.value.to),1)])])):s(``,!0),w.value?(F(),_(`div`,In,[c(`div`,Ln,m(d(a)(`requestDetail.system`)),1),c(`pre`,Rn,m(w.value),1)])):s(``,!0),T.value.length>0?(F(),_(`div`,zn,[c(`div`,Bn,m(d(a)(`requestDetail.messagesCount`,{count:T.value.length})),1),c(`div`,Vn,[(F(!0),_(p,null,C(T.value,(n,r)=>(F(),_(`div`,{key:r,class:e([`rounded-md border px-2.5 py-1.5 text-[11px]`,n.modified?`diff-modified`:`bg-background`])},[c(`div`,Hn,[v(d(H),{variant:`outline`,class:e([`text-[9px] px-1.5 py-0 border-transparent`,n.role===`user`?`bg-role-user-bg text-role-user`:n.role===`assistant`?`bg-role-assistant-bg text-role-assistant`:`bg-role-thinking-bg text-role-thinking`])},{default:t(()=>[g(m(n.role),1)]),_:2},1032,[`class`]),n.modified?(F(),N(d(H),{key:0,variant:`outline`,class:`bg-role-thinking-bg text-role-thinking text-[9px] px-1.5 py-0 border-transparent`},{default:t(()=>[g(m(d(a)(`requestDetail.modified`)),1)]),_:1})):s(``,!0),n.toolCalls.length>0?(F(),_(`span`,Un,` → `+m(n.toolCalls.join(`, `)),1)):s(``,!0)]),n.modified&&n.removedText?(F(),_(`div`,Wn,m(n.removedText),1)):s(``,!0),n.text?(F(),_(`div`,Gn,m(n.text),1)):n.toolResultCount>0?(F(),_(`div`,Kn,m(d(a)(`requestDetail.toolResultCount`,{count:n.toolResultCount})),1)):s(``,!0)],2))),128))])])):s(``,!0),A.value.length>0?(F(),_(`div`,qn,[c(`div`,Jn,m(d(a)(`requestDetail.toolsCount`,{count:A.value.length})),1),c(`div`,Yn,[(F(!0),_(p,null,C(k.value,(n,r)=>(F(),_(p,{key:r},[c(`div`,Xn,[(F(!0),_(p,null,C(n.tools,(t,r)=>(F(),_(`div`,{key:r,class:e([`cursor-pointer rounded-md border px-1.5 py-1 text-[10px] truncate text-center transition-colors`,D.value===n.startIdx+r?`bg-role-tool-bg text-role-tool border-role-tool`:`bg-background hover:bg-muted`]),title:t.name,onClick:e=>D.value=D.value===n.startIdx+r?-1:n.startIdx+r},m(t.name),11,Zn))),128))]),D.value>=n.startIdx&&D.value<n.startIdx+n.tools.length?(F(),_(`div`,Qn,[c(`div`,$n,[c(`span`,er,m(A.value[D.value].name),1)]),A.value[D.value].description?(F(),_(`p`,tr,m(A.value[D.value].description),1)):s(``,!0),A.value[D.value].params.length>0?(F(),_(`div`,nr,[(F(!0),_(p,null,C(A.value[D.value].params,e=>(F(),N(d(H),{key:e,variant:`outline`,class:`text-[9px] px-1 py-0`},{default:t(()=>[g(m(e),1)]),_:2},1024))),128))])):s(``,!0)])):s(``,!0)],64))),128))])])):s(``,!0),j.value?(F(),_(`div`,rr,[c(`div`,ir,m(d(a)(`requestDetail.streamOptions`)),1),c(`div`,ar,[v(d(H),{variant:`outline`,class:`bg-success-light text-success-dark text-[9px] px-1.5 py-0 border-transparent`},{default:t(()=>[g(m(d(a)(`requestDetail.injected`)),1)]),_:1}),i[2]||=c(`code`,{class:`font-mono diff-added`},`{ "include_usage": true }`,-1)])])):s(``,!0),M.value.hasDiff?(F(),_(`div`,or,[c(`div`,sr,m(d(a)(`requestDetail.authReplacement`)),1),c(`div`,cr,[c(`span`,lr,m(M.value.old),1),v(d(Z),{orientation:`vertical`,class:`h-3`}),c(`span`,ur,m(M.value.new),1)])])):s(``,!0)]))],64))]),_:1})]))}}),mr={class:`h-[3px] w-full overflow-hidden`},hr={key:0,class:`h-full w-[40%] progress-active`,style:{animation:`shimmer 1.5s infinite`}},gr={key:1,class:`h-full w-full progress-failed`},_r={key:2,class:`h-full w-full progress-active`},vr={key:0,class:`font-mono text-[11px] text-muted-foreground`},yr={key:0,class:`flex gap-0 px-4 pb-4 min-h-0 h-[calc(85vh-80px)]`},br={class:`w-[280px] border-r pr-3 flex-shrink-0 overflow-y-auto min-h-0`},xr={class:`flex-1 flex flex-col min-w-0 min-h-0 pl-3`},Sr={key:0,class:`rounded-md bg-destructive/10 px-3 py-1.5 text-xs text-destructive mb-2 flex-shrink-0`},Cr={key:0,class:`flex-1 min-h-0 overflow-y-auto mt-2`},wr={key:1,class:`flex-1 min-h-0 mt-2`},Tr={key:1,class:`flex items-center justify-center h-[calc(85vh-80px)]`},Er={class:`text-sm text-muted-foreground`},Dr=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(u({__name:`UnifiedRequestDialog`,props:{open:{type:Boolean},source:{},request:{},streamContent:{},logDetailData:{},logEntry:{}},emits:[`update:open`],setup(e,{emit:n}){let{t:a}=r(),{copied:o,copy:l}=_e();function u(){x.value&&l(x.value.id)}let f=e,p=n,h=E(`response`),y=E(null),x=i(()=>{if(f.source===`realtime`){if(!f.request)return null;let e=Ke(f.request,f.logDetailData?.responseBody);return f.logDetailData&&(f.logDetailData.clientRequest&&(e.clientRequest=f.logDetailData.clientRequest),f.logDetailData.upstreamRequest&&(e.upstreamRequest=f.logDetailData.upstreamRequest)),e}return y.value}),S=i(()=>x.value?x.value.status:`pending`);return b([()=>f.open,()=>f.logEntry],([e,t])=>{e&&(h.value=`response`,f.source===`history`&&t&&(y.value=Xe(t)))}),(n,r)=>(F(),N(d(he),{open:f.open,"onUpdate:open":r[1]||=e=>p(`update:open`,e)},{default:t(()=>[v(d(fe),{class:`sm:max-w-6xl max-h-[85vh] p-0 overflow-hidden flex flex-col`},{default:t(()=>[c(`div`,mr,[S.value===`pending`?(F(),_(`div`,hr)):S.value===`failed`?(F(),_(`div`,gr)):(F(),_(`div`,_r))]),v(d(me),{class:`px-4 pt-2 pb-0`},{default:t(()=>[v(d(ge),{class:`text-sm flex items-center gap-2`},{default:t(()=>[g(m(d(a)(`requestDetail.dialogTitle`))+` `,1),x.value?(F(),_(`span`,vr,m(x.value.id),1)):s(``,!0),x.value?(F(),N(d(O),{key:1,variant:`ghost`,size:`icon-xs`,class:`shrink-0`,onClick:u},{default:t(()=>[d(o)?(F(),N(d(ee),{key:0,class:`size-3 text-success`})):(F(),N(d(ne),{key:1,class:`size-3`}))]),_:1})):s(``,!0)]),_:1}),v(d(pe),{class:`sr-only`},{default:t(()=>[g(m(d(a)(`requestDetail.dialogDescription`)),1)]),_:1})]),_:1}),x.value?(F(),_(`div`,yr,[c(`div`,br,[v(Ut,{overview:x.value},null,8,[`overview`])]),c(`div`,xr,[x.value.errorMessage?(F(),_(`div`,Sr,m(x.value.errorMessage),1)):s(``,!0),v(d(ce),{modelValue:h.value,"onUpdate:modelValue":r[0]||=e=>h.value=e,class:`flex-1 flex flex-col min-h-0`},{default:t(()=>[v(d(se),{class:`flex-shrink-0`},{default:t(()=>[v(d(oe),{value:`response`},{default:t(()=>[g(m(d(a)(`requestDetail.responseTab`)),1)]),_:1}),v(d(oe),{value:`request`},{default:t(()=>[g(m(d(a)(`requestDetail.requestTab`)),1)]),_:1})]),_:1}),h.value===`response`?(F(),_(`div`,Cr,[v(yn,{source:f.source,"api-type":x.value.apiType,"is-stream":x.value.isStream,"stream-content":f.streamContent,"non-stream-body":e.logDetailData?.responseBody,"response-body":x.value.responseBody,"upstream-response":x.value.upstreamResponse,status:x.value.status},null,8,[`source`,`api-type`,`is-stream`,`stream-content`,`non-stream-body`,`response-body`,`upstream-response`,`status`])])):s(``,!0),h.value===`request`?(F(),_(`div`,wr,[v(pr,{overview:x.value},null,8,[`overview`])])):s(``,!0)]),_:1},8,[`modelValue`])])])):(F(),_(`div`,Tr,[c(`p`,Er,m(f.source===`realtime`?d(a)(`requestDetail.loading`):d(a)(`requestDetail.noSelectedRequest`)),1)]))]),_:1})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-85829d32`]]);export{$ as n,Z as r,Dr as t};
@@ -0,0 +1 @@
1
+ @keyframes shimmer-85829d32{0%{transform:translate(-100%)}to{transform:translate(350%)}}
@@ -0,0 +1 @@
1
+ import{Ct as e,G as t,Q as n,Rt as r,i,jt as a,pt as o,q as s,u as c,ut as l}from"./button-D27ClX8J.js";function u(){let e=a();return{primitiveElement:e,currentElement:t(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:c(e))}}var d=n({__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(t,n)=>(l(),s(r(i),{as:t.as,"as-child":t.asChild,"aria-hidden":t.feature===`focusable`?`true`:void 0,"data-hidden":t.feature===`fully-hidden`?``:void 0,tabindex:t.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(()=>[o(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}});export{u as n,d as t};
@@ -0,0 +1 @@
1
+ import{G as e,J as t,Q as n,U as r,Y as i,at as a,bt as o,ft as s,q as c,ut as l}from"./button-D27ClX8J.js";import{n as u,t as d}from"./VisuallyHidden-ogESfc9X.js";var f=n({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){let n=t,{primitiveElement:r,currentElement:i}=u();return o(e(()=>n.checked??n.value),(e,t)=>{if(!i.value)return;let n=i.value,r=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(r,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,t)=>(l(),c(d,a({ref_key:`primitiveElement`,ref:r},{...n,...e.$attrs},{as:`input`}),null,16))}}),p=n({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(n){let o=n,u=e(()=>typeof o.value==`object`&&Array.isArray(o.value)&&o.value.length===0&&o.required),d=e(()=>typeof o.value==`string`||typeof o.value==`number`||typeof o.value==`boolean`||o.value===null||o.value===void 0?[{name:o.name,value:o.value}]:typeof o.value==`object`&&Array.isArray(o.value)?o.value.flatMap((e,t)=>typeof e==`object`?Object.entries(e).map(([e,n])=>({name:`${o.name}[${t}][${e}]`,value:n})):{name:`${o.name}[${t}]`,value:e}):o.value!==null&&typeof o.value==`object`&&!Array.isArray(o.value)?Object.entries(o.value).map(([e,t])=>({name:`${o.name}[${e}]`,value:t})):[]);return(e,n)=>(l(),i(r,null,[t(` We render single input if it's required `),u.value?(l(),c(f,a({key:e.name},{...o,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(l(!0),i(r,{key:1},s(d.value,t=>(l(),c(f,a({key:t.name},{ref_for:!0},{...o,...e.$attrs},{name:t.name,value:t.value}),null,16,[`name`,`value`]))),128))],2112))}});export{p as t};
@@ -0,0 +1 @@
1
+ import{Bt as e,Ct as t,H as n,Q as r,Rt as i,Vt as a,Y as o,Z as s,at as c,ct as l,et as u,jt as d,o as f,ot as p,pt as m,q as h,r as g,t as _,ut as v,x as y}from"./button-D27ClX8J.js";import{f as b,t as x,u as S,y as C}from"./Teleport-Bmeh33lB.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./DialogTitle-Ej_rtfV1.js";var A=r({__name:`AlertDialogAction`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e;return f(),(e,r)=>(v(),h(i(w),a(u(n)),{default:t(()=>[m(e.$slots,`default`)]),_:3},16))}}),[j,M]=C(`AlertDialogContent`),N=r({__name:`AlertDialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:r}){let a=e,o=b(r);f();let s=d();return M({onCancelElementChange:e=>{s.value=e}}),(e,r)=>(v(),h(i(T),c({...a,...i(o)},{role:`alertdialog`,onPointerDownOutside:r[0]||=n(()=>{},[`prevent`]),onInteractOutside:r[1]||=n(()=>{},[`prevent`]),onOpenAutoFocus:r[2]||=()=>{p(()=>{s.value?.focus({preventScroll:!0})})}}),{default:t(()=>[m(e.$slots,`default`)]),_:3},16))}}),P=r({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=j(),{forwardRef:a,currentElement:o}=f();return l(()=>{r.onCancelElementChange(o.value)}),(e,r)=>(v(),h(i(w),c(n,{ref:i(a)}),{default:t(()=>[m(e.$slots,`default`)]),_:3},16))}}),F=r({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let n=e;return f(),(e,r)=>(v(),h(i(O),a(u(n)),{default:t(()=>[m(e.$slots,`default`)]),_:3},16))}}),I=r({__name:`AlertDialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e;return f(),(e,r)=>(v(),h(i(E),a(u(n)),{default:t(()=>[m(e.$slots,`default`)]),_:3},16))}}),L=r({__name:`AlertDialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=e;return(e,r)=>(v(),h(i(x),a(u(n)),{default:t(()=>[m(e.$slots,`default`)]),_:3},16))}}),R=r({__name:`AlertDialogRoot`,props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:n}){let r=S(e,n);return f(),(e,n)=>(v(),h(i(D),c(i(r),{modal:!0}),{default:t(t=>[m(e.$slots,`default`,a(u(t)))]),_:3},16))}}),z=r({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let n=e;return f(),(e,r)=>(v(),h(i(k),a(u(n)),{default:t(()=>[m(e.$slots,`default`)]),_:3},16))}}),B=r({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(e,{emit:n}){let r=S(e,n);return(e,n)=>(v(),h(i(R),c({"data-slot":`alert-dialog`},i(r)),{default:t(t=>[m(e.$slots,`default`,a(u(t)))]),_:3},16))}}),V=r({__name:`AlertDialogAction`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`default`},size:{default:`default`}},setup(e){let n=e,r=y(n,`class`,`variant`,`size`);return(a,o)=>(v(),h(i(A),c({"data-slot":`alert-dialog-action`},i(r),{class:i(g)(``,i(_)({variant:e.variant,size:e.size}),n.class)}),{default:t(()=>[m(a.$slots,`default`)]),_:3},16,[`class`]))}}),H=r({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`outline`},size:{default:`default`}},setup(e){let n=e,r=y(n,`class`,`variant`,`size`);return(a,o)=>(v(),h(i(P),c({"data-slot":`alert-dialog-cancel`},i(r),{class:i(g)(``,i(_)({variant:e.variant,size:e.size}),n.class)}),{default:t(()=>[m(a.$slots,`default`)]),_:3},16,[`class`]))}}),U=r({inheritAttrs:!1,__name:`AlertDialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,a=n,o=S(y(r,`class`,`size`),a);return(n,a)=>(v(),h(i(L),null,{default:t(()=>[s(i(I),{"data-slot":`alert-dialog-overlay`,class:`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-overlay-light duration-fast supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-modal`}),s(i(N),c({"data-slot":`alert-dialog-content`,"data-size":e.size},{...n.$attrs,...i(o)},{class:i(g)(`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-popover text-popover-foreground ring-foreground/10 gap-4 rounded-xl p-4 ring-1 duration-fast data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm group/alert-dialog-content fixed top-1/2 left-1/2 z-modal grid w-full -translate-x-1/2 -translate-y-1/2 outline-none`,r.class)}),{default:t(()=>[m(n.$slots,`default`)]),_:3},16,[`data-size`,`class`])]),_:3}))}}),W=r({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=y(n,`class`);return(e,a)=>(v(),h(i(F),c({"data-slot":`alert-dialog-description`},i(r),{class:i(g)(`text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3`,n.class)}),{default:t(()=>[m(e.$slots,`default`)]),_:3},16,[`class`]))}}),G=r({__name:`AlertDialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t;return(t,r)=>(v(),o(`div`,{"data-slot":`alert-dialog-footer`,class:e(i(g)(`bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t p-4 flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,n.class))},[m(t.$slots,`default`)],2))}}),K=r({__name:`AlertDialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t;return(t,r)=>(v(),o(`div`,{"data-slot":`alert-dialog-header`,class:e(i(g)(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,n.class))},[m(t.$slots,`default`)],2))}}),q=r({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=y(n,`class`);return(e,a)=>(v(),h(i(z),c({"data-slot":`alert-dialog-title`},i(r),{class:i(g)(`text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2 cn-font-heading`,n.class)}),{default:t(()=>[m(e.$slots,`default`)]),_:3},16,[`class`]))}});export{U as a,B as c,W as i,K as n,H as o,G as r,V as s,q as t};
@@ -0,0 +1 @@
1
+ import{Ct as e,O as t,Q as n,Rt as r,at as i,i as a,pt as o,q as s,r as c,ut as l,x as u}from"./button-D27ClX8J.js";var d=n({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,d=u(n,`class`);return(u,p)=>(l(),s(r(a),i({"data-slot":`badge`,"data-variant":t.variant,class:r(c)(r(f)({variant:t.variant}),n.class)},r(d)),{default:e(()=>[o(u.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),f=t(`h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});export{d as t};