create-workframe 0.1.26 → 0.1.27

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 (111) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/workframe-api/site_meta.py +23 -7
  4. package/workframe-ui/public/apple-touch-icon.png +0 -0
  5. package/workframe-ui/public/assets/{arc-C_mfAdSB.js → arc-B1NzSPoc.js} +1 -1
  6. package/workframe-ui/public/assets/architecture-7EHR7CIX-DyE_i-rU.js +1 -0
  7. package/workframe-ui/public/assets/{architectureDiagram-3BPJPVTR-B_BBjtYN.js → architectureDiagram-3BPJPVTR-C2AhUBxm.js} +1 -1
  8. package/workframe-ui/public/assets/{blockDiagram-GPEHLZMM-CQgRGCnf.js → blockDiagram-GPEHLZMM-EaVo1AU7.js} +1 -1
  9. package/workframe-ui/public/assets/branding/apple-touch-icon.png +0 -0
  10. package/workframe-ui/public/assets/branding/favicon.svg +9 -0
  11. package/workframe-ui/public/assets/branding/icon-192.png +0 -0
  12. package/workframe-ui/public/assets/branding/icon-32.png +0 -0
  13. package/workframe-ui/public/assets/branding/icon-512.png +0 -0
  14. package/workframe-ui/public/assets/branding/icon-96.png +0 -0
  15. package/workframe-ui/public/assets/branding/og-default.png +0 -0
  16. package/workframe-ui/public/assets/branding/og-default.svg +11 -0
  17. package/workframe-ui/public/assets/branding/workframe-color.svg +6 -0
  18. package/workframe-ui/public/assets/branding/workframe-logo-horizontal.svg +43 -0
  19. package/workframe-ui/public/assets/branding/workframe-logo-vertical.svg +43 -0
  20. package/workframe-ui/public/assets/branding/workframe-mark-1024.svg +9 -0
  21. package/workframe-ui/public/assets/branding/workframe-slogan.svg +35 -0
  22. package/workframe-ui/public/assets/branding/workframe-wordmark.svg +19 -0
  23. package/workframe-ui/public/assets/branding/workframe.svg +6 -0
  24. package/workframe-ui/public/assets/branding/workframe_icon_color.svg +6 -0
  25. package/workframe-ui/public/assets/{c4Diagram-AAUBKEIU-D-qcrcwZ.js → c4Diagram-AAUBKEIU-C3bMgnpU.js} +1 -1
  26. package/workframe-ui/public/assets/channel-C5m6L7LQ.js +1 -0
  27. package/workframe-ui/public/assets/{chunk-2J33WTMH-iqAEgUi9.js → chunk-2J33WTMH-Ddivjh8b.js} +1 -1
  28. package/workframe-ui/public/assets/{chunk-3OPIFGDE-iUcUq-bF.js → chunk-3OPIFGDE-DOPODp2q.js} +1 -1
  29. package/workframe-ui/public/assets/{chunk-4BX2VUAB-C5JgXKRg.js → chunk-4BX2VUAB-CS_xAtbO.js} +1 -1
  30. package/workframe-ui/public/assets/{chunk-55IACEB6-DzhLEunm.js → chunk-55IACEB6-DZ7Fa5Sa.js} +1 -1
  31. package/workframe-ui/public/assets/{chunk-5ZQYHXKU-_zQHxLyI.js → chunk-5ZQYHXKU-M7GQJ5qW.js} +1 -1
  32. package/workframe-ui/public/assets/{chunk-727SXJPM-DS-52in2.js → chunk-727SXJPM-Bhvm6OPw.js} +1 -1
  33. package/workframe-ui/public/assets/{chunk-AQP2D5EJ-CCqiqPd-.js → chunk-AQP2D5EJ-C2kXp1mw.js} +1 -1
  34. package/workframe-ui/public/assets/{chunk-BSJP7CBP-OJ_itMAX.js → chunk-BSJP7CBP-B-0T3SdQ.js} +1 -1
  35. package/workframe-ui/public/assets/{chunk-CSCIHK7Q-DI6HSEKJ.js → chunk-CSCIHK7Q-DF5L9MP6.js} +1 -1
  36. package/workframe-ui/public/assets/{chunk-FMBD7UC4-DNAZXeqV.js → chunk-FMBD7UC4-W8MG2rFS.js} +1 -1
  37. package/workframe-ui/public/assets/{chunk-KSCS5N6A-D_BoWW9-.js → chunk-KSCS5N6A-5xs6JUOV.js} +1 -1
  38. package/workframe-ui/public/assets/{chunk-L5ZTLDWV-XM6sSJCQ.js → chunk-L5ZTLDWV-D65YUwSD.js} +1 -1
  39. package/workframe-ui/public/assets/{chunk-LZXEDZCA-B1Hpet8E.js → chunk-LZXEDZCA-CnD9nqy-.js} +2 -2
  40. package/workframe-ui/public/assets/{chunk-ND2GUHAM-Bc92coLi.js → chunk-ND2GUHAM-BXTwwLgY.js} +1 -1
  41. package/workframe-ui/public/assets/{chunk-NZK2D7GU-DsPENZUC.js → chunk-NZK2D7GU-B5jETQei.js} +1 -1
  42. package/workframe-ui/public/assets/{chunk-O5CBEL6O-RjhFF1lf.js → chunk-O5CBEL6O-B_WncWB4.js} +1 -1
  43. package/workframe-ui/public/assets/chunk-QZHKN3VN-QDLg0fd1.js +1 -0
  44. package/workframe-ui/public/assets/chunk-WU5MYG2G-Crahkgvj.js +1 -0
  45. package/workframe-ui/public/assets/{chunk-XPW4576I-DYerufPu.js → chunk-XPW4576I-zSPP7c8h.js} +1 -1
  46. package/workframe-ui/public/assets/classDiagram-4FO5ZUOK-BpbDNN1V.js +1 -0
  47. package/workframe-ui/public/assets/classDiagram-v2-Q7XG4LA2-BpbDNN1V.js +1 -0
  48. package/workframe-ui/public/assets/{cose-bilkent-S5V4N54A-BkswoDoD.js → cose-bilkent-S5V4N54A-DoPuVefq.js} +1 -1
  49. package/workframe-ui/public/assets/{dagre-BM42HDAG-C75M_CTv.js → dagre-BM42HDAG-C_wUIAWb.js} +1 -1
  50. package/workframe-ui/public/assets/{diagram-2AECGRRQ-9ylAnB1d.js → diagram-2AECGRRQ-B1jpEMYc.js} +1 -1
  51. package/workframe-ui/public/assets/{diagram-5GNKFQAL-Bl3WnHCB.js → diagram-5GNKFQAL-CV2UOWB7.js} +1 -1
  52. package/workframe-ui/public/assets/{diagram-KO2AKTUF-D0Ye3svD.js → diagram-KO2AKTUF-6xrS63nE.js} +1 -1
  53. package/workframe-ui/public/assets/{diagram-LMA3HP47-CoAn2THb.js → diagram-LMA3HP47-DgBPj8ib.js} +1 -1
  54. package/workframe-ui/public/assets/{diagram-OG6HWLK6-C7EysBha.js → diagram-OG6HWLK6-ejkQYVap.js} +1 -1
  55. package/workframe-ui/public/assets/{dist-CzIj9wwn.js → dist-BbaMgTqQ.js} +1 -1
  56. package/workframe-ui/public/assets/{erDiagram-TEJ5UH35-AervmYSk.js → erDiagram-TEJ5UH35-BiSoJu03.js} +1 -1
  57. package/workframe-ui/public/assets/eventmodeling-FCH6USID-Dq_lGRoa.js +1 -0
  58. package/workframe-ui/public/assets/{flowDiagram-I6XJVG4X-DlGnJe8_.js → flowDiagram-I6XJVG4X-BwPMcko1.js} +1 -1
  59. package/workframe-ui/public/assets/{ganttDiagram-6RSMTGT7-Dvh5SnNo.js → ganttDiagram-6RSMTGT7-cWBaD5RP.js} +1 -1
  60. package/workframe-ui/public/assets/{gitGraph-WXDBUCRP-fi-tPIds.js → gitGraph-WXDBUCRP-CjYZBxSu.js} +1 -1
  61. package/workframe-ui/public/assets/{gitGraphDiagram-PVQCEYII-_72qSuU_.js → gitGraphDiagram-PVQCEYII-DvZ7wi2w.js} +1 -1
  62. package/workframe-ui/public/assets/{index-DxrMmuBD.js → index-C-Fc0Svu.js} +3 -3
  63. package/workframe-ui/public/assets/index-Ct_WgqK_.css +1 -0
  64. package/workframe-ui/public/assets/{info-J43DQDTF-OEAgdAvP.js → info-J43DQDTF-93tQ3bFg.js} +1 -1
  65. package/workframe-ui/public/assets/{infoDiagram-5YYISTIA-rCXHubHd.js → infoDiagram-5YYISTIA-ml6wMPcJ.js} +1 -1
  66. package/workframe-ui/public/assets/{ishikawaDiagram-YF4QCWOH-1MUwVnW9.js → ishikawaDiagram-YF4QCWOH-Bigxf51R.js} +1 -1
  67. package/workframe-ui/public/assets/{journeyDiagram-JHISSGLW-C34qfpF3.js → journeyDiagram-JHISSGLW-oqj5zaDS.js} +1 -1
  68. package/workframe-ui/public/assets/{kanban-definition-UN3LZRKU-B3Hns9lE.js → kanban-definition-UN3LZRKU-e1AUE6SD.js} +1 -1
  69. package/workframe-ui/public/assets/{line-BKcrvW_y.js → line-DXim049p.js} +1 -1
  70. package/workframe-ui/public/assets/{linear-BL3C-fBh.js → linear-CjJ0aUce.js} +1 -1
  71. package/workframe-ui/public/assets/{mermaid-parser.core-CV_JAhfz.js → mermaid-parser.core-CEQ7hoGn.js} +2 -2
  72. package/workframe-ui/public/assets/{mermaid.core-CPPFZ0AZ.js → mermaid.core-DlM744u8.js} +3 -3
  73. package/workframe-ui/public/assets/{mindmap-definition-RKZ34NQL-9erqZdGi.js → mindmap-definition-RKZ34NQL-DVVu6Jor.js} +1 -1
  74. package/workframe-ui/public/assets/{packet-YPE3B663-CZlmsvNS.js → packet-YPE3B663-DESmoHBl.js} +1 -1
  75. package/workframe-ui/public/assets/{pie-LRSECV5Y-lqaCPGhY.js → pie-LRSECV5Y--vee5Ris.js} +1 -1
  76. package/workframe-ui/public/assets/{pieDiagram-4H26LBE5-C1zz8JvX.js → pieDiagram-4H26LBE5-Cc9eMWdk.js} +1 -1
  77. package/workframe-ui/public/assets/{quadrantDiagram-W4KKPZXB-Dmp-2UMf.js → quadrantDiagram-W4KKPZXB-oHJN26Sx.js} +1 -1
  78. package/workframe-ui/public/assets/{radar-GUYGQ44K-DjureLKl.js → radar-GUYGQ44K-CwikE4Ww.js} +1 -1
  79. package/workframe-ui/public/assets/{requirementDiagram-4Y6WPE33-DXQI-c25.js → requirementDiagram-4Y6WPE33-Bq9i9HwH.js} +1 -1
  80. package/workframe-ui/public/assets/{sankeyDiagram-5OEKKPKP-BaZ9qvKi.js → sankeyDiagram-5OEKKPKP-Dqq4J1MD.js} +1 -1
  81. package/workframe-ui/public/assets/{sequenceDiagram-3UESZ5HK-iAl57VoB.js → sequenceDiagram-3UESZ5HK-DqFlE5kZ.js} +1 -1
  82. package/workframe-ui/public/assets/{src-DaHiggVY.js → src-Blyt0aHN.js} +1 -1
  83. package/workframe-ui/public/assets/{stateDiagram-AJRCARHV-kWK_vPK0.js → stateDiagram-AJRCARHV-cem0gXBo.js} +1 -1
  84. package/workframe-ui/public/assets/stateDiagram-v2-BHNVJYJU-C9167KF6.js +1 -0
  85. package/workframe-ui/public/assets/{timeline-definition-PNZ67QCA-BK7AMTE2.js → timeline-definition-PNZ67QCA-CmQBdujr.js} +1 -1
  86. package/workframe-ui/public/assets/{treeView-BLDUP644-XvrJnjfl.js → treeView-BLDUP644-BJS26NiO.js} +1 -1
  87. package/workframe-ui/public/assets/{treemap-LRROVOQU-DwiXEpvw.js → treemap-LRROVOQU-B37nOhCC.js} +1 -1
  88. package/workframe-ui/public/assets/{vennDiagram-CIIHVFJN-BwHfuFiD.js → vennDiagram-CIIHVFJN-D4OZ82cy.js} +1 -1
  89. package/workframe-ui/public/assets/{wardley-L42UT6IY-CjVb_35b.js → wardley-L42UT6IY-Caiq5hPX.js} +1 -1
  90. package/workframe-ui/public/assets/{wardleyDiagram-YWT4CUSO-pTplM3xe.js → wardleyDiagram-YWT4CUSO-DmsdnGnZ.js} +1 -1
  91. package/workframe-ui/public/assets/{xychartDiagram-2RQKCTM6-CXLIJGkG.js → xychartDiagram-2RQKCTM6-C61g8Rf-.js} +1 -1
  92. package/workframe-ui/public/favicon.ico +0 -0
  93. package/workframe-ui/public/favicon.svg +9 -7
  94. package/workframe-ui/public/icon-192.png +0 -0
  95. package/workframe-ui/public/icon-32.png +0 -0
  96. package/workframe-ui/public/icon-512.png +0 -0
  97. package/workframe-ui/public/icon-96.png +0 -0
  98. package/workframe-ui/public/index.html +13 -9
  99. package/workframe-ui/public/manifest.webmanifest +27 -3
  100. package/workframe-ui/public/og-default.png +0 -0
  101. package/workframe-ui/public/workframe-build.json +4 -4
  102. package/workframe-ui/public/workframe-mark-1024.svg +9 -0
  103. package/workframe-ui/public/assets/architecture-7EHR7CIX-DLru-uUG.js +0 -1
  104. package/workframe-ui/public/assets/channel-BtxFT9GI.js +0 -1
  105. package/workframe-ui/public/assets/chunk-QZHKN3VN-CewU2mqh.js +0 -1
  106. package/workframe-ui/public/assets/chunk-WU5MYG2G-BCUMJc-u.js +0 -1
  107. package/workframe-ui/public/assets/classDiagram-4FO5ZUOK-B-h6w58g.js +0 -1
  108. package/workframe-ui/public/assets/classDiagram-v2-Q7XG4LA2-B-h6w58g.js +0 -1
  109. package/workframe-ui/public/assets/eventmodeling-FCH6USID-yOFv10Xp.js +0 -1
  110. package/workframe-ui/public/assets/index-BY14qQF5.css +0 -1
  111. package/workframe-ui/public/assets/stateDiagram-v2-BHNVJYJU-9gufjyOk.js +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-CPPFZ0AZ.js","assets/chunk-O5CBEL6O-RjhFF1lf.js","assets/src-DaHiggVY.js","assets/chunk-5ZQYHXKU-_zQHxLyI.js","assets/dist-CzIj9wwn.js","assets/chunk-CSCIHK7Q-DI6HSEKJ.js","assets/chunk-3OPIFGDE-iUcUq-bF.js","assets/chunk-L5ZTLDWV-XM6sSJCQ.js","assets/chunk-NZK2D7GU-DsPENZUC.js","assets/rough.esm-CSKSodPl.js","assets/chunk-BSJP7CBP-OJ_itMAX.js","assets/chunk-KSCS5N6A-D_BoWW9-.js","assets/line-BKcrvW_y.js","assets/path-BWPyau1x.js","assets/array-BifhSqXX.js","assets/chunk-LZXEDZCA-B1Hpet8E.js","assets/chunk-WU5MYG2G-BCUMJc-u.js","assets/chunk-XPW4576I-DYerufPu.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-DlM744u8.js","assets/chunk-O5CBEL6O-B_WncWB4.js","assets/src-Blyt0aHN.js","assets/chunk-5ZQYHXKU-M7GQJ5qW.js","assets/dist-BbaMgTqQ.js","assets/chunk-CSCIHK7Q-DF5L9MP6.js","assets/chunk-3OPIFGDE-DOPODp2q.js","assets/chunk-L5ZTLDWV-D65YUwSD.js","assets/chunk-NZK2D7GU-B5jETQei.js","assets/rough.esm-CSKSodPl.js","assets/chunk-BSJP7CBP-B-0T3SdQ.js","assets/chunk-KSCS5N6A-5xs6JUOV.js","assets/line-DXim049p.js","assets/path-BWPyau1x.js","assets/array-BifhSqXX.js","assets/chunk-LZXEDZCA-CnD9nqy-.js","assets/chunk-WU5MYG2G-Crahkgvj.js","assets/chunk-XPW4576I-zSPP7c8h.js"])))=>i.map(i=>d[i]);
2
2
  var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.7`})),m=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function P(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?P(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return P(e(t))}catch{}}return null}var F=Array.isArray,I=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee={pending:!1,data:null,method:null,action:null},R=[],te=-1;function z(e){return{current:e}}function B(e){0>te||(e.current=R[te],R[te]=null,te--)}function V(e,t){te++,R[te]=e.current,e.current=t}var ne=z(null),re=z(null),H=z(null),ie=z(null);function U(e,t){switch(V(H,t),V(re,e),V(ne,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Gd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Gd(t),e=Kd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}B(ne),V(ne,e)}function ae(){B(ne),B(re),B(H)}function W(e){e.memoizedState!==null&&V(ie,e);var t=ne.current,n=Kd(t,e.type);t!==n&&(V(re,e),V(ne,n))}function oe(e){re.current===e&&(B(ne),B(re)),ie.current===e&&(B(ie),np._currentValue=ee)}var se,ce;function le(e){if(se===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);se=t&&t[1]||``,ce=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+se+e+ce}var ue=!1;function de(e,t){if(!e||ue)return``;ue=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -49,12 +49,12 @@ Error generating stack: `+e.message+`
49
49
  `},Wo=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Go=function(){y.useEffect(function(){return document.body.setAttribute(Ho,(Wo()+1).toString()),function(){var e=Wo()-1;e<=0?document.body.removeAttribute(Ho):document.body.setAttribute(Ho,e.toString())}},[])},Ko=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;Go();var a=y.useMemo(function(){return Bo(i)},[i]);return y.createElement(Vo,{styles:Uo(a,!t,i,n?``:`!important`)})},qo=!1;if(typeof window<`u`)try{var Jo=Object.defineProperty({},"passive",{get:function(){return qo=!0,!0}});window.addEventListener(`test`,Jo,Jo),window.removeEventListener(`test`,Jo,Jo)}catch{qo=!1}var Yo=qo?{passive:!1}:!1,Xo=function(e){return e.tagName===`TEXTAREA`},Zo=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Xo(e)&&n[t]===`visible`)},Qo=function(e){return Zo(e,`overflowY`)},$o=function(e){return Zo(e,`overflowX`)},es=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),rs(e,r)){var i=is(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},ts=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},ns=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},rs=function(e,t){return e===`v`?Qo(t):$o(t)},is=function(e,t){return e===`v`?ts(t):ns(t)},as=function(e,t){return e===`h`&&t===`rtl`?-1:1},os=function(e,t,n,r,i){var a=as(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=is(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&rs(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},ss=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},cs=function(e){return[e.deltaX,e.deltaY]},ls=function(e){return e&&`current`in e?e.current:e},us=function(e,t){return e[0]===t[0]&&e[1]===t[1]},ds=function(e){return`
50
50
  .block-interactivity-${e} {pointer-events: none;}
51
51
  .allow-interactivity-${e} {pointer-events: all;}
52
- `},fs=0,ps=[];function ms(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),i=y.useState(fs++)[0],a=y.useState(Io)[0],o=y.useRef(e);y.useEffect(function(){o.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=uo([e.lockRef.current],(e.shards||[]).map(ls),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=y.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=ss(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=es(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=es(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return os(h,t,e,h===`h`?s:c,!0)},[]),c=y.useCallback(function(e){var n=e;if(!(!ps.length||ps[ps.length-1]!==a)){var r=`deltaY`in n?cs(n):ss(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&us(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(ls).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=y.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:hs(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=y.useCallback(function(e){n.current=ss(e),r.current=void 0},[]),d=y.useCallback(function(t){l(t.type,cs(t),t.target,s(t,e.lockRef.current))},[]),f=y.useCallback(function(t){l(t.type,ss(t),t.target,s(t,e.lockRef.current))},[]);y.useEffect(function(){return ps.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,Yo),document.addEventListener(`touchmove`,c,Yo),document.addEventListener(`touchstart`,u,Yo),function(){ps=ps.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,Yo),document.removeEventListener(`touchmove`,c,Yo),document.removeEventListener(`touchstart`,u,Yo)}},[]);var p=e.removeScrollBar,m=e.inert;return y.createElement(y.Fragment,null,m?y.createElement(a,{styles:ds(i)}):null,p?y.createElement(Ko,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function hs(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var gs=To(Eo,ms),_s=y.forwardRef(function(e,t){return y.createElement(Oo,co({},e,{ref:t,sideCar:gs}))});_s.classNames=Oo.classNames;var vs=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},ys=new WeakMap,bs=new WeakMap,xs={},Ss=0,Cs=function(e){return e&&(e.host||Cs(e.parentNode))},ws=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Cs(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})},Ts=function(e,t,n,r){var i=ws(t,Array.isArray(e)?e:[e]);xs[n]||(xs[n]=new WeakMap);var a=xs[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=(ys.get(e)||0)+1,l=(a.get(e)||0)+1;ys.set(e,c),a.set(e,l),o.push(e),c===1&&i&&bs.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(),Ss++,function(){o.forEach(function(e){var t=ys.get(e)-1,i=a.get(e)-1;ys.set(e,t),a.set(e,i),t||(bs.has(e)||e.removeAttribute(r),bs.delete(e)),i||e.removeAttribute(n)}),Ss--,Ss||(ys=new WeakMap,ys=new WeakMap,bs=new WeakMap,xs={})}},Es=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||vs(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ts(r,i,n,`aria-hidden`)):function(){return null}},Ds=`Dialog`,[Os,ks]=sa(Ds),[As,js]=Os(Ds),Ms=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=y.useRef(null),c=y.useRef(null),[l,u]=ma({prop:r,defaultProp:i??!1,onChange:a,caller:Ds});return(0,x.jsx)(As,{scope:t,triggerRef:s,contentRef:c,contentId:fa(),titleId:fa(),descriptionId:fa(),open:l,onOpenChange:u,onOpenToggle:y.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};Ms.displayName=Ds;var Ns=`DialogTrigger`,Ps=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(Ns,n),a=br(t,i.triggerRef);return(0,x.jsx)(Fr.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":ec(i.open),...r,ref:a,onClick:oa(e.onClick,i.onOpenToggle)})});Ps.displayName=Ns;var Fs=`DialogPortal`,[Is,Ls]=Os(Fs,{forceMount:void 0}),Rs=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=js(Fs,t);return(0,x.jsx)(Is,{scope:t,forceMount:n,children:y.Children.map(r,e=>(0,x.jsx)(Qa,{present:n||a.open,children:(0,x.jsx)(Xa,{asChild:!0,container:i,children:e})}))})};Rs.displayName=Fs;var zs=`DialogOverlay`,Bs=y.forwardRef((e,t)=>{let n=Ls(zs,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=js(zs,e.__scopeDialog);return a.modal?(0,x.jsx)(Qa,{present:r||a.open,children:(0,x.jsx)(Hs,{...i,ref:t})}):null});Bs.displayName=zs;var Vs=xr(`DialogOverlay.RemoveScroll`),Hs=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(zs,n),a=br(t,Oa());return(0,x.jsx)(_s,{as:Vs,allowPinchZoom:!0,shards:[i.contentRef],children:(0,x.jsx)(Fr.div,{"data-state":ec(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})}),Us=`DialogContent`,Ws=y.forwardRef((e,t)=>{let n=Ls(Us,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=js(Us,e.__scopeDialog);return(0,x.jsx)(Qa,{present:r||a.open,children:a.modal?(0,x.jsx)(Gs,{...i,ref:t}):(0,x.jsx)(Ks,{...i,ref:t})})});Ws.displayName=Us;var Gs=y.forwardRef((e,t)=>{let n=js(Us,e.__scopeDialog),r=y.useRef(null),i=br(t,n.contentRef,r);return y.useEffect(()=>{let e=r.current;if(e)return Es(e)},[]),(0,x.jsx)(qs,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:oa(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:oa(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:oa(e.onFocusOutside,e=>e.preventDefault())})}),Ks=y.forwardRef((e,t)=>{let n=js(Us,e.__scopeDialog),r=y.useRef(!1),i=y.useRef(!1);return(0,x.jsx)(qs,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),qs=y.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=js(Us,n);return oo(),(0,x.jsx)(x.Fragment,{children:(0,x.jsx)(La,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,x.jsx)(Ta,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":ec(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),Js=`DialogTitle`,Ys=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(Js,n);return(0,x.jsx)(Fr.h2,{id:i.titleId,...r,ref:t})});Ys.displayName=Js;var Xs=`DialogDescription`,Zs=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(Xs,n);return(0,x.jsx)(Fr.p,{id:i.descriptionId,...r,ref:t})});Zs.displayName=Xs;var Qs=`DialogClose`,$s=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(Qs,n);return(0,x.jsx)(Fr.button,{type:`button`,...r,ref:t,onClick:oa(e.onClick,()=>i.onOpenChange(!1))})});$s.displayName=Qs;function ec(e){return e?`open`:`closed`}var tc=Ms,nc=Rs,rc=y.forwardRef(({className:e,...t},n)=>(0,x.jsx)(Bs,{ref:n,className:K(`wf-dialog-overlay`,e),...t}));rc.displayName=Bs.displayName;var ic=y.forwardRef(({className:e,children:t,showClose:n=!0,overlayClassName:r,...i},a)=>(0,x.jsxs)(nc,{children:[(0,x.jsx)(rc,{className:r}),(0,x.jsxs)(Ws,{ref:a,className:K(`wf-dialog-content`,e),...i,children:[t,n?(0,x.jsx)($s,{className:`wf-dialog-close`,"aria-label":`Close`,children:(0,x.jsx)(Nt,{"aria-hidden":`true`})}):null]})]}));ic.displayName=Ws.displayName;function ac({className:e,...t}){return(0,x.jsx)(`div`,{className:K(`wf-dialog-header`,e),...t})}function oc({className:e,...t}){return(0,x.jsx)(`div`,{className:K(`wf-dialog-footer`,e),...t})}function sc({className:e,...t}){return(0,x.jsx)(Ys,{className:K(`wf-dialog-title`,e),...t})}function cc({className:e,...t}){return(0,x.jsx)(Zs,{className:K(`wf-dialog-description`,e),...t})}function lc(e,t){return t?!0:e?e.includes(`wf-auth-dialog`)||e.includes(`wf-dialog-content--create-agent`):!1}function uc({open:e,onOpenChange:t,title:n,description:r,children:i,footer:a,showClose:o=!0,contentClassName:s,modal:c=!0}){let l=!!a,u=lc(s,l);return(0,x.jsx)(tc,{open:e,onOpenChange:t,modal:c,children:(0,x.jsxs)(ic,{showClose:o,className:K(s,l&&`wf-dialog-content--has-footer`),children:[(0,x.jsxs)(ac,{children:[(0,x.jsx)(sc,{children:n}),r?(0,x.jsx)(cc,{children:r}):null]}),i?(0,x.jsx)(`div`,{className:K(`wf-dialog-body`,u&&`wf-scroll wf-scroll--vertical wf-scroll-host`),children:i}):null,l?(0,x.jsx)(oc,{children:a}):null]})})}function dc(){let[e,t]=(0,y.useState)(()=>M());(0,y.useEffect)(()=>{P(e)},[e]),(0,y.useEffect)(()=>{let e=document.documentElement,n=new MutationObserver(()=>{let n=e.dataset.theme;O(n)&&t(n)});return n.observe(e,{attributes:!0,attributeFilter:[`data-theme`]}),()=>n.disconnect()},[]);let n=(0,y.useCallback)(e=>{t(e),F(e),P(e)},[]);return{theme:e,setTheme:n,toggleTheme:(0,y.useCallback)(()=>{n(N(e)?`neo-light`:`minimal-dark`)},[n,e])}}var fc=new Set([`mono`,`neo-color`,`minimal-color`,`leather-book`]),pc={lines:Et,neo:We,brutalist:_t,glass:wt,custom:st},mc={"minimal-light":Dt,"minimal-dark":nt,"neo-light":Dt,"neo-dark":nt,"liquid-glass-light":Dt,"liquid-glass-dark":nt,"frosted-glass-light":Dt,"frosted-glass-dark":nt,"leather-book":ue,newspaper:it,notebook:at},hc=w.filter(e=>!fc.has(e.id)).map(e=>({value:e.id,label:e.label,family:e.family,icon:mc[e.id]??pc[e.family]??st,style:e.style,texture:e.texture,preview:e.preview})),gc={lines:`Lines`,neo:`Neo`,brutalist:`Brutalist`,glass:`Glass`,custom:`Custom`},_c=[...new Set(hc.map(e=>e.family))].map(e=>({family:e,label:gc[e]??e,options:hc.filter(t=>t.family===e)})).filter(e=>e.options.length>0);function vc(){let{theme:e,setTheme:t}=dc(),[n,r]=(0,y.useState)(!1),i=(0,y.useRef)(null);(0,y.useEffect)(()=>{if(!n)return;function e(e){i.current&&!i.current.contains(e.target)&&r(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[n]);let a=hc.find(t=>t.value===e)??hc[0];return(0,x.jsx)(`div`,{className:K(`wf-theme-switcher`,n&&`wf-theme-switcher--open`),ref:i,children:(0,x.jsxs)(`div`,{className:`wf-theme-switcher__panel`,children:[(0,x.jsxs)(q,{type:`button`,className:`wf-theme-switcher__trigger`,"aria-haspopup":`listbox`,"aria-expanded":n,"aria-label":`Theme: ${a.label}`,onClick:()=>r(e=>!e),children:[(0,x.jsx)(a.icon,{"aria-hidden":`true`}),(0,x.jsx)(`span`,{children:a.label}),(0,x.jsx)(me,{"aria-hidden":`true`,className:n?`wf-theme-switcher__chevron--open`:``})]}),n?(0,x.jsx)(`ul`,{className:`wf-theme-switcher__menu`,role:`listbox`,"aria-label":`Theme`,children:_c.map(n=>(0,x.jsxs)(`li`,{className:`wf-theme-switcher__group`,role:`presentation`,children:[(0,x.jsx)(`span`,{className:`wf-theme-switcher__group-label`,children:n.label}),(0,x.jsx)(`ul`,{className:`wf-theme-switcher__group-list`,role:`group`,"aria-label":n.label,children:n.options.map(({value:n,label:i,icon:a})=>(0,x.jsx)(`li`,{role:`option`,"aria-selected":e===n,children:(0,x.jsxs)(`button`,{type:`button`,className:`wf-theme-switcher__item`,"aria-current":e===n?`true`:void 0,onClick:()=>{t(n),r(!1)},children:[(0,x.jsx)(a,{"aria-hidden":`true`}),(0,x.jsx)(`span`,{children:i}),e===n?(0,x.jsx)(G,{"aria-hidden":`true`,className:`wf-theme-switcher__check`}):null]})},n))})]},n.family))}):null]})})}function yc({projectName:e,onAuthenticated:t}){let[n,r]=(0,y.useState)(`checking`),[i,a]=(0,y.useState)(``),[o,s]=(0,y.useState)(null),c=(0,y.useMemo)(()=>new URLSearchParams(window.location.search).get(`invite_token`)?.trim()||``,[]),l=(0,y.useMemo)(()=>new URLSearchParams(window.location.search).get(`email`)?.trim()||``,[]);(0,y.useEffect)(()=>{d()},[]);async function u(){try{let e=(await Y.getMeta()).app_base_url?.trim();if(!e)return;let t=new URL(e);window.location.host!==t.host&&(window.location.replace(`${t.origin}${window.location.pathname}${window.location.search}${window.location.hash}`),await new Promise(()=>{}))}catch{}}async function d(){s(null),r(`checking`);try{await u();try{(await Y.getSetupStatus()).setup_complete||await Y.completeSetup({workframe_name:e,agent_name:`${e} Agent`})}catch{}let n=new URLSearchParams(window.location.search),i=n.get(`email`)?.trim(),o=n.get(`code`)?.trim(),d=n.get(`invite_token`)?.trim()||c,f=n.get(`invite_email`)?.trim()||l||i,p=async()=>{d&&await Y.acceptWorkspaceInvite(d)};try{await Y.restoreSession(),await p(),window.history.replaceState({},``,window.location.pathname),t();return}catch{}if(i&&o){a(i),r(`verifying`);try{await Y.verifyEmailCode(i,na(o)),d&&await Y.acceptWorkspaceInvite(d),window.history.replaceState({},``,window.location.pathname),t();return}catch(e){s(xi(e,`Verification code`)),r(`otp`)}}f&&a(f),r(`email`)}catch(e){s(xi(e,`Load authentication`)),r(`email`)}}let f=n===`checking`?`Checking your session…`:ia(n,i,``,`signin`),p=!It(),m=!!(i.trim()||l.trim());return(0,x.jsxs)(`div`,{className:`wf-onboarding-page wf-onboarding-page--gate`,children:[(0,x.jsx)(`div`,{className:`wf-onboarding-page__theme`,children:(0,x.jsx)(vc,{})}),(0,x.jsxs)(uc,{open:!0,modal:p,onOpenChange:()=>{},title:`Sign in to continue`,description:f,showClose:!1,contentClassName:`wf-auth-dialog`,children:[n===`checking`?o?(0,x.jsx)(Oi,{message:o,className:`wf-auth__alert wf-auth__alert--error`}):null:(0,x.jsx)(aa,{initialEmail:i||l,startStep:n,inviteToken:c,purpose:`signin`,skipEmailStep:m,autoSendCode:m,variant:`wizard`,onVerified:()=>{window.history.replaceState({},``,window.location.pathname),t()}}),n===`checking`?(0,x.jsx)(`div`,{className:`wf-auth__status`,children:`Checking session…`}):null]})]})}var bc={hermes:`Setting up Hermes…`,workspace:`Preparing workspace…`,ready:`Almost there…`};function xc({projectName:e,onReady:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(8),c=(0,y.useCallback)(async()=>{try{let e=await Y.getInstallStatus();return r(e),a(null),e.phase===`ready`&&e.setup_complete&&e.hermes_present?(s(100),window.setTimeout(t,400),!0):(s(e=>Math.min(e+6,92)),!1)}catch(e){return a(e instanceof Error?e.message:`Install check failed`),!1}},[t]);(0,y.useEffect)(()=>{let e=!1,t=async()=>{let n=await c();!e&&!n&&window.setTimeout(t,2e3)};return t(),()=>{e=!0}},[c]);let l=n&&bc[n.phase]||`Starting…`;return(0,x.jsxs)(uc,{open:!0,onOpenChange:()=>{},title:`Setting up ${e}`,description:`Hi there — I'm getting your Workframe ready.`,showClose:!1,contentClassName:`wf-auth-dialog`,children:[(0,x.jsx)(`p`,{className:`wf-auth__status`,children:l}),(0,x.jsx)(`div`,{className:`wf-install-progress`,role:`progressbar`,"aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,children:(0,x.jsx)(`div`,{className:`wf-install-progress__bar`,style:{width:`${o}%`}})}),i?(0,x.jsxs)(`p`,{className:`wf-auth__alert wf-auth__alert--info`,children:[i,` — retrying…`]}):null,n?.hermes_present===!1?(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Bootstrapping agent profiles in the background.`}):null]})}var Sc=`••••••••`;function Cc(e,t=`Paste secret`){return e?Sc:t}function wc({saved:e=!1,emptyPlaceholder:t=`Paste secret`,placeholder:n,...r}){return(0,x.jsx)(_r,{type:`password`,autoComplete:`off`,placeholder:n??Cc(e,t),...r})}function Tc({steps:e,title:t,className:n}){if(!e.length)return null;let r=e.filter(e=>e.status===`done`).length,i=Math.round(r/e.length*100);return(0,x.jsxs)(`div`,{className:K(`wf-operation-progress`,n),"aria-live":`polite`,children:[t?(0,x.jsx)(`p`,{className:`wf-operation-progress__title`,children:t}):null,(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__progress`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":i,children:(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__progress-bar`,style:{width:`${i}%`}})}),(0,x.jsx)(`ol`,{className:`wf-operation-progress__list`,children:e.map(e=>(0,x.jsxs)(`li`,{className:K(`wf-operation-progress__item`,e.status===`active`&&`wf-operation-progress__item--active`,e.status===`done`&&`wf-operation-progress__item--done`,e.status===`error`&&`wf-operation-progress__item--error`),children:[(0,x.jsxs)(`span`,{className:`wf-operation-progress__icon`,"aria-hidden":!0,children:[e.status===`done`?(0,x.jsx)(G,{}):null,e.status===`active`?(0,x.jsx)(Ye,{className:`wf-spin`}):null,e.status===`error`?(0,x.jsx)(Nt,{}):null]}),(0,x.jsx)(`span`,{className:`wf-operation-progress__label`,children:e.label}),e.detail?(0,x.jsx)(`span`,{className:`wf-operation-progress__detail`,children:e.detail}):null]},e.id))})]})}function Ec(e,t,n){let r=new Map((t??[]).map(e=>[String(e.step||``),e]));return e.map((e,t)=>{let i=r.get(e.id);return i?.ok===!1?{...e,status:`error`,detail:String(i.error||`Failed`)}:i?.ok===!0?{...e,status:`done`}:t===n?{...e,status:`active`}:t<n?{...e,status:`done`}:{...e,status:`pending`}})}function Dc({className:e,...t}){return(0,x.jsx)(q,{type:`button`,wizardSize:!0,className:K(e),...t})}function Oc({className:e,...t}){return(0,x.jsx)(q,{type:`button`,tone:`primary`,wizardSize:!0,className:K(e),...t})}var kc=[`Connecting your agent to Hermes…`,`Teaching your native agent your mission…`,`Opening your first chat room…`,`Almost ready — finishing setup…`];function Ac({projectName:e,steps:t,title:n=`Launching ${e}`,error:r=null,onRetry:i,onBack:a}){let[o,s]=(0,y.useState)(kc[0]);return(0,y.useEffect)(()=>{let e=0,t=window.setInterval(()=>{e=(e+1)%kc.length,s(kc[e])},2800);return()=>window.clearInterval(t)},[]),(0,x.jsx)(`div`,{className:`wf-onboarding-launch`,role:`status`,"aria-live":`polite`,"aria-busy":!r,children:(0,x.jsxs)(`div`,{className:`wf-onboarding-launch__card`,children:[(0,x.jsx)(`p`,{className:`wf-onboarding-launch__eyebrow`,children:`Workframe`}),(0,x.jsx)(`h1`,{className:`wf-onboarding-launch__title`,children:n}),(0,x.jsx)(`p`,{className:`wf-onboarding-launch__tagline`,children:r||o}),(0,x.jsx)(Tc,{steps:t}),r?(0,x.jsxs)(`div`,{className:`wf-onboarding-launch__actions`,children:[a?(0,x.jsx)(Dc,{onClick:a,children:`Back`}):null,i?(0,x.jsx)(Oc,{onClick:i,children:`Try again`}):null]}):null]})})}var jc=[{id:`runtime_profile`,label:`Create your personal agent runtime`},{id:`bootstrap_providers`,label:`Apply model and integration settings`},{id:`start_gateway`,label:`Start Hermes gateway`},{id:`dm_room`,label:`Open agent chat room`},{id:`room_chat_bind`,label:`Connect chat session`},{id:`finalize`,label:`Load Workframe`}],Mc=[{id:`save_agent`,label:`Save agent identity`}],Nc=[{id:`single_user_local`,title:`Just me on this environment`,blurb:`Solo use — skip email sign-in.`},{id:`trusted_team`,title:`My team on Docker`,blurb:`Teammates sign in with email verification.`},{id:`public_multi_user`,title:`Public on the web`,blurb:`Shared URL — DNS, HTTPS, and full security.`}],Pc=[{id:`cloud`,title:`Cloud (coming soon)`,blurb:`Provision your server, own your data, work from anywhere.`}],Fc=[{id:`setup`,label:`Prepare Workframe`},{id:`smtp`,label:`Save SMTP settings`},{id:`test-email`,label:`Send test email`},{id:`verify`,label:`Start admin verification`}];function Ic(e){let t=e.trim().replace(/\/+$/,``);return t?/^https?:\/\//i.test(t)?t:`https://${t}`:``}function Lc(e,t){return String(e?.admin_email||``).trim()||String(t||``).trim()}function Rc(e,t,n){let r=e.trim(),i=t.trim(),a=String(n||``).trim().toLowerCase();return i?!r||a&&r.toLowerCase()===a&&i.toLowerCase()!==a?i:e:r||e}function zc(e,t){return`You are ${e}, the Workframe Manager for ${t}. You help the owner run rooms, agents, and day-to-day work.`}function Bc(e,t=`pending`,n){let r=n?.includeInvites?[{id:`invites`,label:`Send team invites`}]:[],i=jc.filter(e=>e.id!==`finalize`),a=[...r,...i];return[...Ec(a,e,a.length),{id:`finalize`,label:`Load Workframe`,status:t}]}function Vc({host:e,setupComplete:t,tested:n}){let r=t?`Ready`:n?`Tested`:e.trim()?`Saved`:`Not configured`,i=e.trim()||`Enter SMTP host and send a test email`;return(0,x.jsxs)(`div`,{className:`wf-onboarding-smtp-status`,"aria-live":`polite`,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-smtp-status__badge${t?` is-ready`:n?` is-tested`:``}`,children:r}),(0,x.jsx)(`span`,{className:`wf-onboarding-smtp-status__detail`,children:i})]})}function Hc({phase:e}){if(!e)return null;let t=Fc.findIndex(t=>t.id===e);return(0,x.jsx)(`ul`,{className:`wf-onboarding-progress`,"aria-live":`polite`,"aria-busy":`true`,children:Fc.map((e,n)=>{let r=n<t,i=n===t;return(0,x.jsxs)(`li`,{className:r?`is-done`:i?`is-current`:``,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-progress__icon`,"aria-hidden":`true`,children:r?`✓`:i?`…`:``}),(0,x.jsx)(`span`,{children:e.label})]},e.id)})})}function Uc({busy:e,smtpPhase:t,smtpHost:n,smtpPort:r,smtpUser:i,smtpPass:a,smtpHasPassword:o,smtpFrom:s,smtpSetupComplete:c,smtpTested:l,onSmtpHostChange:u,onSmtpPortChange:d,onSmtpUserChange:f,onSmtpPassChange:p,onSmtpFromChange:m,onMarkSmtpDirty:h}){return(0,x.jsxs)(x.Fragment,{children:[e&&t?(0,x.jsx)(Hc,{phase:t}):(0,x.jsx)(Vc,{host:n,setupComplete:c,tested:l}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-host`,children:`SMTP host`}),(0,x.jsx)(_r,{id:`wf-smtp-host`,value:n,onChange:e=>{h(),u(e.target.value)},placeholder:`smtp.sendgrid.net`,disabled:e})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field__label-row`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-port`,children:`Port`}),(0,x.jsx)(`span`,{className:`wf-dialog-field__hint wf-dialog-field__hint--inline`,children:`465 SSL · 587 STARTTLS`})]}),(0,x.jsx)(_r,{id:`wf-smtp-port`,value:r,onChange:e=>{h(),d(e.target.value)},placeholder:`587`,disabled:e})]})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-user`,children:`Username`}),(0,x.jsx)(_r,{id:`wf-smtp-user`,value:i,onChange:e=>{h(),f(e.target.value)},disabled:e})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-pass`,children:`Password`}),(0,x.jsx)(wc,{id:`wf-smtp-pass`,value:a,onChange:e=>{h(),p(e.target.value)},saved:o,emptyPlaceholder:`SMTP password or API key`,disabled:e})]})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-from`,children:`From address`}),(0,x.jsx)(_r,{id:`wf-smtp-from`,value:s,onChange:e=>{h(),m(e.target.value)},placeholder:i||`same as username`,disabled:e}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Leave blank to use the login email as the sender.`})]})]})}function Wc({tabs:e,activeTab:t,onTabChange:n,ariaLabel:r}){return(0,x.jsx)(`div`,{className:`wf-wizard-subtabs`,role:`tablist`,"aria-label":r,children:e.map(({id:e,label:r})=>(0,x.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t===e,className:`wf-wizard-subtabs__btn${t===e?` is-active`:``}`,onClick:()=>n(e),children:r},e))})}function Gc({children:e,className:t,error:n,status:r,tabs:i,activeTab:a,onTabChange:o,tablistLabel:s=`Sections`,compact:c,authOtp:l,bare:u}){let d=(0,x.jsxs)(x.Fragment,{children:[i?.length&&a&&o?(0,x.jsx)(Wc,{tabs:i,activeTab:a,onTabChange:o,ariaLabel:s}):null,e]});return(0,x.jsxs)(`div`,{className:`wf-settings-panel-body space-y-4`,role:`tabpanel`,children:[n?(0,x.jsx)(Oi,{message:n}):null,r?(0,x.jsx)(ki,{message:r}):null,u?d:(0,x.jsx)(`div`,{className:K(`wf-wizard-panel wf-onboarding-form`,c&&`wf-onboarding-compact`,l&&`wf-wizard-panel--auth-otp`,t),children:d})]})}async function Kc(e){e.setBusy(!0);try{let t=Ic(e.publicUrl);if(e.setPublicUrl(t),!await e.patchInstallStackWhenAllowed({app_base_url:t}))return;e.setStep(`smtp`)}catch(t){e.setError(_i(t,`Save public URL`))}finally{e.setBusy(!1)}}function qc({step:e,busy:t,isInvitee:n,deploymentMode:r,workspaceId:i,publicUrl:a,canKeepAdminSetup:o,smtpSetupComplete:s,canContinueFromSmtp:c,adminVerified:l,adminEmail:u,onTestSmtp:d,onContinueFromSmtp:f,onSkipIntegrations:p,onSaveIntegrations:m,onSaveBilling:h,onSaveWorkframe:g,onSaveProfile:_,onSaveAgentModel:v,onSelectAgentModel:y,agentModelTab:b,agentModelsComplete:S,connectedProviderCount:C,onSaveAgent:w,onFinishInstall:T,onSendInvites:E,onSetupPublicHttps:D,onTestPublicUrl:O,onContinuePublish:k,onGetStarted:A,onContinueTheme:j}){switch(e){case`intro`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t||!u.trim(),onClick:A,children:`Get started`});case`theme`:return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(q,{wizardSize:!0,disabled:t,onClick:j,children:`Skip for now`}),(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:j,children:t?`Saving…`:`Use this theme`})]});case`smtp`:return(0,x.jsxs)(`div`,{className:`wf-wizard-footer-actions${o?` wf-wizard-footer-actions--cluster`:``}`,children:[(0,x.jsx)(q,{wizardSize:!0,tone:o||s?`default`:`primary`,className:`wf-wizard-footer-actions__btn`,disabled:t,onClick:d,children:t?`Working…`:`Send test email`}),(0,x.jsx)(q,{wizardSize:!0,tone:o||s?`primary`:`inactive`,className:`wf-wizard-footer-actions__btn`,disabled:t||!c,onClick:f,children:o?`Continue with current setup`:l?`Continue`:`Continue to verification`})]});case`admin_auth`:return null;case`integrations`:return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(q,{wizardSize:!0,disabled:t,onClick:p,children:`Skip`}),(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:m,children:`Continue`})]});case`billing`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:h,children:`Continue`});case`workframe`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:g,children:`Continue`});case`profile`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:_,children:`Continue`});case`agent_model`:return i?b===`keys`?(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t||C<1,onClick:y,children:`Select Model`}):(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t||!S,onClick:v,children:t?`Saving…`:n||r===`single_user_local`?`Launch Workframe`:`Continue`}):null;case`agent`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:w,children:t?`Saving agent…`:`Continue`});case`invites`:return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(q,{wizardSize:!0,disabled:t,onClick:T,children:t?`Finishing…`:`Skip`}),(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:E,children:t?`Sending invites…`:`Send invites`})]});case`publish`:return(0,x.jsxs)(`div`,{className:`wf-wizard-footer-actions wf-wizard-footer-actions--cluster`,children:[(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,className:`wf-wizard-footer-actions__btn`,disabled:t||!a.trim(),onClick:D,children:t?`Setting up…`:`Set up HTTPS`}),(0,x.jsx)(q,{wizardSize:!0,className:`wf-wizard-footer-actions__btn`,disabled:t||!a.trim(),onClick:O,children:`Test connection`}),(0,x.jsx)(q,{wizardSize:!0,className:`wf-wizard-footer-actions__btn`,disabled:t||!a.trim(),onClick:k,children:`Continue`})]});default:return null}}var Jc=`wf-scroll`,Yc={vertical:`wf-scroll--vertical`,horizontal:`wf-scroll--horizontal`,both:`wf-scroll--both`},Xc={sm:`wf-scroll--inset-sm`,md:`wf-scroll--inset-md`,rail:`wf-scroll--inset-rail`},Zc=(0,y.forwardRef)(({axis:e=`both`,inset:t,className:n,...r},i)=>(0,x.jsx)(`div`,{ref:i,className:K(Jc,Yc[e],t&&Xc[t],e!==`horizontal`&&`wf-scroll-host`,n),...r}));Zc.displayName=`ScrollArea`;var Qc=y.forwardRef(({className:e,...t},n)=>(0,x.jsx)(`textarea`,{className:K(Jc,`wf-input wf-textarea wf-scroll--vertical`,e),ref:n,...t}));Qc.displayName=`Textarea`;function $c(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error||Error(`Failed to read avatar image`)),r.readAsDataURL(e)})}function el(e){let t=(0,y.useRef)(null),n=(0,y.useCallback)(()=>{t.current?.click()},[]),r=(0,y.useCallback)(async t=>{let n=t.target.files?.[0]??null;t.target.value=``,n&&(wi(n)||e(await $c(n)))},[e]);return{openFilePicker:n,fileInput:(0,x.jsx)(`input`,{ref:t,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`sr-only`,onChange:e=>void r(e)})}}var tl=[`top`,`right`,`bottom`,`left`],nl=Math.min,rl=Math.max,il=Math.round,al=Math.floor,ol=e=>({x:e,y:e}),sl={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function cl(e,t,n){return rl(e,nl(t,n))}function ll(e,t){return typeof e==`function`?e(t):e}function ul(e){return e.split(`-`)[0]}function dl(e){return e.split(`-`)[1]}function fl(e){return e===`x`?`y`:`x`}function pl(e){return e===`y`?`height`:`width`}function ml(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function hl(e){return fl(ml(e))}function gl(e,t,n){n===void 0&&(n=!1);let r=dl(e),i=hl(e),a=pl(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Tl(o)),[o,Tl(o)]}function _l(e){let t=Tl(e);return[vl(e),t,vl(t)]}function vl(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var yl=[`left`,`right`],bl=[`right`,`left`],xl=[`top`,`bottom`],Sl=[`bottom`,`top`];function Cl(e,t,n){switch(e){case`top`:case`bottom`:return n?t?bl:yl:t?yl:bl;case`left`:case`right`:return t?xl:Sl;default:return[]}}function wl(e,t,n,r){let i=dl(e),a=Cl(ul(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(vl)))),a}function Tl(e){let t=ul(e);return sl[t]+e.slice(t.length)}function El(e){return{top:0,right:0,bottom:0,left:0,...e}}function Dl(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:El(e)}function Ol(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function kl(e,t,n){let{reference:r,floating:i}=e,a=ml(t),o=hl(t),s=pl(o),c=ul(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(dl(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Al(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=ll(t,e),p=Dl(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Ol(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Ol(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var jl=50,Ml=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Al},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=kl(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<jl&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=kl(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Nl=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=ll(e,t)||{};if(l==null)return{};let d=Dl(u),f={x:n,y:r},p=hl(i),m=pl(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=nl(d[_],T),D=nl(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=cl(O,A,k),M=!c.arrow&&dl(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Pl=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=ll(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=ul(r),_=ml(o),v=ul(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Tl(o)]:_l(o)),x=p!==`none`;!d&&x&&b.push(...wl(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=gl(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==ml(t))||T.every(e=>ml(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=ml(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Fl(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Il(e){return tl.some(t=>e[t]>=0)}var Ll=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=ll(e,t);switch(i){case`referenceHidden`:{let e=Fl(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Il(e)}}}case`escaped`:{let e=Fl(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Il(e)}}}default:return{}}}}},Rl=new Set([`left`,`top`]);async function zl(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=ul(n),s=dl(n),c=ml(n)===`y`,l=Rl.has(o)?-1:1,u=a&&c?-1:1,d=ll(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Bl=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await zl(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Vl=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=ll(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=ml(ul(i)),p=fl(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=cl(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=cl(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Hl=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=ll(e,t),u={x:n,y:r},d=ml(i),f=fl(d),p=u[f],m=u[d],h=ll(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Rl.has(ul(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Ul=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=ll(e,t),u=await o.detectOverflow(t,l),d=ul(i),f=dl(i),p=ml(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=nl(h-u[g],v),x=nl(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=rl(u.left,0),t=rl(u.right,0),n=rl(u.top,0),r=rl(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:rl(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:rl(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Wl(){return typeof window<`u`}function Gl(e){return Jl(e)?(e.nodeName||``).toLowerCase():`#document`}function Kl(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ql(e){return((Jl(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Jl(e){return Wl()?e instanceof Node||e instanceof Kl(e).Node:!1}function Yl(e){return Wl()?e instanceof Element||e instanceof Kl(e).Element:!1}function Xl(e){return Wl()?e instanceof HTMLElement||e instanceof Kl(e).HTMLElement:!1}function Zl(e){return!Wl()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Kl(e).ShadowRoot}function Ql(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=lu(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function $l(e){return/^(table|td|th)$/.test(Gl(e))}function eu(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var tu=/transform|translate|scale|rotate|perspective|filter/,nu=/paint|layout|strict|content/,ru=e=>!!e&&e!==`none`,iu;function au(e){let t=Yl(e)?lu(e):e;return ru(t.transform)||ru(t.translate)||ru(t.scale)||ru(t.rotate)||ru(t.perspective)||!su()&&(ru(t.backdropFilter)||ru(t.filter))||tu.test(t.willChange||``)||nu.test(t.contain||``)}function ou(e){let t=du(e);for(;Xl(t)&&!cu(t);){if(au(t))return t;if(eu(t))return null;t=du(t)}return null}function su(){return iu??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),iu}function cu(e){return/^(html|body|#document)$/.test(Gl(e))}function lu(e){return Kl(e).getComputedStyle(e)}function uu(e){return Yl(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function du(e){if(Gl(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Zl(e)&&e.host||ql(e);return Zl(t)?t.host:t}function fu(e){let t=du(e);return cu(t)?e.ownerDocument?e.ownerDocument.body:e.body:Xl(t)&&Ql(t)?t:fu(t)}function pu(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=fu(e),i=r===e.ownerDocument?.body,a=Kl(r);if(i){let e=mu(a);return t.concat(a,a.visualViewport||[],Ql(r)?r:[],e&&n?pu(e):[])}else return t.concat(r,pu(r,[],n))}function mu(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function hu(e){let t=lu(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Xl(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=il(n)!==a||il(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function gu(e){return Yl(e)?e:e.contextElement}function _u(e){let t=gu(e);if(!Xl(t))return ol(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=hu(t),o=(a?il(n.width):n.width)/r,s=(a?il(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var vu=ol(0);function yu(e){let t=Kl(e);return!su()||!t.visualViewport?vu:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function bu(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Kl(e)?!1:t}function xu(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=gu(e),o=ol(1);t&&(r?Yl(r)&&(o=_u(r)):o=_u(e));let s=bu(a,n,r)?yu(a):ol(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=Kl(a),t=r&&Yl(r)?Kl(r):r,n=e,i=mu(n);for(;i&&r&&t!==n;){let e=_u(i),t=i.getBoundingClientRect(),r=lu(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Kl(i),i=mu(n)}}return Ol({width:u,height:d,x:c,y:l})}function Su(e,t){let n=uu(e).scrollLeft;return t?t.left+n:xu(ql(e)).left+n}function Cu(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Su(e,n),y:n.top+t.scrollTop}}function wu(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=ql(r),s=t?eu(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=ol(1),u=ol(0),d=Xl(r);if((d||!d&&!a)&&((Gl(r)!==`body`||Ql(o))&&(c=uu(r)),d)){let e=xu(r);l=_u(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Cu(o,c):ol(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Tu(e){return Array.from(e.getClientRects())}function Eu(e){let t=ql(e),n=uu(e),r=e.ownerDocument.body,i=rl(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=rl(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Su(e),s=-n.scrollTop;return lu(r).direction===`rtl`&&(o+=rl(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Du=25;function Ou(e,t){let n=Kl(e),r=ql(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=su();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Su(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Du&&(a-=o)}else l<=Du&&(a+=l);return{width:a,height:o,x:s,y:c}}function ku(e,t){let n=xu(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Xl(e)?_u(e):ol(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Au(e,t,n){let r;if(t===`viewport`)r=Ou(e,n);else if(t===`document`)r=Eu(ql(e));else if(Yl(t))r=ku(t,n);else{let n=yu(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ol(r)}function ju(e,t){let n=du(e);return n===t||!Yl(n)||cu(n)?!1:lu(n).position===`fixed`||ju(n,t)}function Mu(e,t){let n=t.get(e);if(n)return n;let r=pu(e,[],!1).filter(e=>Yl(e)&&Gl(e)!==`body`),i=null,a=lu(e).position===`fixed`,o=a?du(e):e;for(;Yl(o)&&!cu(o);){let t=lu(o),n=au(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Ql(o)&&!n&&ju(e,o))?r=r.filter(e=>e!==o):i=t,o=du(o)}return t.set(e,r),r}function Nu(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?eu(t)?[]:Mu(t,this._c):[].concat(n),r],o=Au(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Au(t,a[e],i);s=rl(n.top,s),c=nl(n.right,c),l=nl(n.bottom,l),u=rl(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Pu(e){let{width:t,height:n}=hu(e);return{width:t,height:n}}function Fu(e,t,n){let r=Xl(t),i=ql(t),a=n===`fixed`,o=xu(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=ol(0);function l(){c.x=Su(i)}if(r||!r&&!a)if((Gl(t)!==`body`||Ql(i))&&(s=uu(t)),r){let e=xu(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Cu(i,s):ol(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Iu(e){return lu(e).position===`static`}function Lu(e,t){if(!Xl(e)||lu(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return ql(e)===n&&(n=n.ownerDocument.body),n}function Ru(e,t){let n=Kl(e);if(eu(e))return n;if(!Xl(e)){let t=du(e);for(;t&&!cu(t);){if(Yl(t)&&!Iu(t))return t;t=du(t)}return n}let r=Lu(e,t);for(;r&&$l(r)&&Iu(r);)r=Lu(r,t);return r&&cu(r)&&Iu(r)&&!au(r)?n:r||ou(e)||n}var zu=async function(e){let t=this.getOffsetParent||Ru,n=this.getDimensions,r=await n(e.floating);return{reference:Fu(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Bu(e){return lu(e).direction===`rtl`}var Vu={convertOffsetParentRelativeRectToViewportRelativeRect:wu,getDocumentElement:ql,getClippingRect:Nu,getOffsetParent:Ru,getElementRects:zu,getClientRects:Tu,getDimensions:Pu,getScale:_u,isElement:Yl,isRTL:Bu};function Hu(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Uu(e,t){let n=null,r,i=ql(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=al(d),h=al(i.clientWidth-(u+f)),g=al(i.clientHeight-(d+p)),_=al(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:rl(0,nl(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Hu(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Wu(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=gu(e),u=i||a?[...l?pu(l):[],...t?pu(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Uu(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?xu(e):null;c&&g();function g(){let t=xu(e);h&&!Hu(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Gu=Bl,Ku=Vl,qu=Pl,Ju=Ul,Yu=Ll,Xu=Nl,Zu=Hl,Qu=(e,t,n)=>{let r=new Map,i={platform:Vu,...n},a={...i.platform,_c:r};return Ml(e,t,{...i,platform:a})},$u=typeof document<`u`?y.useLayoutEffect:function(){};function ed(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!ed(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!ed(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function td(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function nd(e,t){let n=td(e);return Math.round(t*n)/n}function rd(e){let t=y.useRef(e);return $u(()=>{t.current=e}),t}function id(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=y.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=y.useState(r);ed(f,r)||p(r);let[m,h]=y.useState(null),[g,_]=y.useState(null),v=y.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),b=y.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=a||m,S=o||g,C=y.useRef(null),w=y.useRef(null),T=y.useRef(u),E=c!=null,D=rd(c),O=rd(i),k=rd(l),A=y.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),Qu(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!ed(T.current,t)&&(T.current=t,Pt.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);$u(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=y.useRef(!1);$u(()=>(j.current=!0,()=>{j.current=!1}),[]),$u(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=y.useMemo(()=>({reference:C,floating:w,setReference:v,setFloating:b}),[v,b]),N=y.useMemo(()=>({reference:x,floating:S}),[x,S]),P=y.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=nd(N.floating,u.x),r=nd(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...td(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return y.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var ad=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:Xu({element:r.current,padding:i}).fn(n):r?Xu({element:r,padding:i}).fn(n):{}}}},od=(e,t)=>{let n=Gu(e);return{name:n.name,fn:n.fn,options:[e,t]}},sd=(e,t)=>{let n=Ku(e);return{name:n.name,fn:n.fn,options:[e,t]}},cd=(e,t)=>({fn:Zu(e).fn,options:[e,t]}),ld=(e,t)=>{let n=qu(e);return{name:n.name,fn:n.fn,options:[e,t]}},ud=(e,t)=>{let n=Ju(e);return{name:n.name,fn:n.fn,options:[e,t]}},dd=(e,t)=>{let n=Yu(e);return{name:n.name,fn:n.fn,options:[e,t]}},fd=(e,t)=>{let n=ad(e);return{name:n.name,fn:n.fn,options:[e,t]}},pd=`Arrow`,md=y.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,x.jsx)(Fr.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,x.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});md.displayName=pd;var hd=md;function gd(e){let[t,n]=y.useState(void 0);return la(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var _d=`Popper`,[vd,yd]=sa(_d),[bd,xd]=vd(_d),Sd=e=>{let{__scopePopper:t,children:n}=e,[r,i]=y.useState(null),[a,o]=y.useState(void 0);return(0,x.jsx)(bd,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};Sd.displayName=_d;var Cd=`PopperAnchor`,wd=y.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=xd(Cd,n),o=y.useRef(null),s=a.onAnchorChange,c=br(t,y.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=y.useRef(null);y.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&Pd(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,x.jsx)(Fr.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});wd.displayName=Cd;var Td=`PopperContent`,[Ed,Dd]=vd(Td),Od=y.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=xd(Td,n),[_,v]=y.useState(null),b=br(t,e=>v(e)),[S,C]=y.useState(null),w=gd(S),T=w?.width??0,E=w?.height??0,D=r+(a===`center`?``:`-`+a),O=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},k=Array.isArray(l)?l:[l],A=k.length>0,j={padding:O,boundary:k.filter(Md),altBoundary:A},{refs:M,floatingStyles:N,placement:P,isPositioned:F,middlewareData:I}=id({strategy:`fixed`,placement:D,whileElementsMounted:(...e)=>Wu(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[od({mainAxis:i+E,alignmentAxis:o}),c&&sd({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?cd():void 0,...j}),c&&ld({...j}),ud({...j,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),S&&fd({element:S,padding:s}),Nd({arrowWidth:T,arrowHeight:E}),f&&dd({strategy:`referenceHidden`,...j,boundary:A?j.boundary:void 0})]}),L=g.setPlacementState;la(()=>(L(P),()=>{L(void 0)}),[P,L]);let[ee,R]=Pd(P),te=_a(m);la(()=>{F&&te?.()},[F,te]);let z=I.arrow?.x,B=I.arrow?.y,V=I.arrow?.centerOffset!==0,[ne,re]=y.useState();return la(()=>{_&&re(window.getComputedStyle(_).zIndex)},[_]),(0,x.jsx)(`div`,{ref:M.setFloating,"data-radix-popper-content-wrapper":``,style:{...N,transform:F?N.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ne,"--radix-popper-transform-origin":[I.transformOrigin?.x,I.transformOrigin?.y].join(` `),...I.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,x.jsx)(Ed,{scope:n,placedSide:ee,placedAlign:R,onArrowChange:C,arrowX:z,arrowY:B,shouldHideArrow:V,children:(0,x.jsx)(Fr.div,{"data-side":ee,"data-align":R,...h,ref:b,style:{...h.style,animation:F?void 0:`none`}})})})});Od.displayName=Td;var kd=`PopperArrow`,Ad={top:`bottom`,right:`left`,bottom:`top`,left:`right`},jd=y.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Dd(kd,n),a=Ad[i.placedSide];return(0,x.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,x.jsx)(hd,{...r,ref:t,style:{...r.style,display:`block`}})})});jd.displayName=kd;function Md(e){return e!==null}var Nd=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Pd(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Pd(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Fd=Sd,Id=wd,Ld=Od,Rd=jd,zd=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),Bd=`VisuallyHidden`,Vd=y.forwardRef((e,t)=>(0,x.jsx)(Fr.span,{...e,ref:t,style:{...zd,...e.style}}));Vd.displayName=Bd;var Hd=Vd,[Ud,Wd]=sa(`Tooltip`,[yd]),Gd=yd(),Kd=`TooltipProvider`,qd=700,Jd=`tooltip.open`,[Yd,Xd]=Ud(Kd),Zd=e=>{let{__scopeTooltip:t,delayDuration:n=qd,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=y.useRef(!0),s=y.useRef(!1),c=y.useRef(0);return y.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,x.jsx)(Yd,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:y.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:y.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:y.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Zd.displayName=Kd;var Qd=`Tooltip`,[$d,ef]=Ud(Qd),tf=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Xd(Qd,e.__scopeTooltip),l=Gd(t),[u,d]=y.useState(null),f=fa(),p=y.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=y.useRef(!1),[_,v]=ma({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Jd))):c.onClose(),a?.(e)},caller:Qd}),b=y.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),S=y.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),C=y.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),w=y.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return y.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,x.jsx)(Fd,{...l,children:(0,x.jsx)($d,{scope:t,contentId:f,open:_,stateAttribute:b,trigger:u,onTriggerChange:d,onTriggerEnter:y.useCallback(()=>{c.isOpenDelayedRef.current?w():S()},[c.isOpenDelayedRef,w,S]),onTriggerLeave:y.useCallback(()=>{m?C():(window.clearTimeout(p.current),p.current=0)},[C,m]),onOpen:S,onClose:C,disableHoverableContent:m,children:n})})};tf.displayName=Qd;var nf=`TooltipTrigger`,rf=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=ef(nf,n),a=Xd(nf,n),o=Gd(n),s=br(t,y.useRef(null),i.onTriggerChange),c=y.useRef(!1),l=y.useRef(!1),u=y.useCallback(()=>c.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,x.jsx)(Id,{asChild:!0,...o,children:(0,x.jsx)(Fr.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:oa(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:oa(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:oa(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:oa(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:oa(e.onBlur,i.onClose),onClick:oa(e.onClick,i.onClose)})})});rf.displayName=nf;var af=`TooltipPortal`,[of,sf]=Ud(af,{forceMount:void 0}),cf=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=ef(af,t);return(0,x.jsx)(of,{scope:t,forceMount:n,children:(0,x.jsx)(Qa,{present:n||a.open,children:(0,x.jsx)(Xa,{asChild:!0,container:i,children:r})})})};cf.displayName=af;var lf=`TooltipContent`,uf=y.forwardRef((e,t)=>{let n=sf(lf,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=ef(lf,e.__scopeTooltip);return(0,x.jsx)(Qa,{present:r||o.open,children:o.disableHoverableContent?(0,x.jsx)(hf,{side:i,...a,ref:t}):(0,x.jsx)(df,{side:i,...a,ref:t})})}),df=y.forwardRef((e,t)=>{let n=ef(lf,e.__scopeTooltip),r=Xd(lf,e.__scopeTooltip),i=y.useRef(null),a=br(t,i),[o,s]=y.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=y.useCallback(()=>{s(null),d(!1)},[d]),p=y.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=yf(r,vf(r,n.getBoundingClientRect())),a=bf(t.getBoundingClientRect());s(Sf([...i,...a])),d(!0)},[d]);return y.useEffect(()=>()=>f(),[f]),y.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),y.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!xf(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,x.jsx)(hf,{...e,ref:a})}),[ff,pf]=Ud(Qd,{isInside:!1}),mf=wr(`TooltipContent`),hf=y.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=ef(lf,n),l=Gd(n),{onClose:u}=c;return y.useEffect(()=>(document.addEventListener(Jd,u),()=>document.removeEventListener(Jd,u)),[u]),y.useEffect(()=>{if(c.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,x.jsx)(Ta,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,x.jsxs)(Ld,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,x.jsx)(mf,{children:r}),(0,x.jsx)(ff,{scope:n,isInside:!0,children:(0,x.jsx)(Hd,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});uf.displayName=lf;var gf=`TooltipArrow`,_f=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Gd(n);return pf(gf,n).isInside?null:(0,x.jsx)(Rd,{...i,...r,ref:t})});_f.displayName=gf;function vf(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 yf(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 bf(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 xf(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],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Sf(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)),Cf(t)}function Cf(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[t.length-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[n.length-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 wf=Zd,Tf=tf,Ef=rf,Df=cf,Of=uf,kf=wf,Af=Tf,jf=Ef,Mf=y.forwardRef(({className:e,sideOffset:t=6,...n},r)=>(0,x.jsx)(Df,{children:(0,x.jsx)(Of,{ref:r,sideOffset:t,className:K(`wf-elevated-surface wf-elevated-surface--tooltip z-50 overflow-hidden`,e),...n})}));Mf.displayName=Of.displayName;var Nf=`/assets/ada-DsvuOc9n.png`,Pf=`/assets/aibert-BCz8Lo8H.png`,Ff=`/assets/amelia-DUf3EBGu.png`,If=`/assets/andy-Cpymuhhx.png`,Lf=`/assets/bob-DRz-48Id.png`,Rf=`/assets/buzz-mC4PtMvC.png`,zf=`/assets/carl-CtE74db_.png`,Bf=`/assets/corbu-KiaMXzXQ.png`,Vf=`/assets/diana-DW0MsL38.png`,Hf=`/assets/elvis-LCFaZIcT.png`,Uf=`/assets/frida-CXFA0w3F.png`,Wf=`/assets/george-DBSH2Sm2.png`,Gf=`/assets/grace-BhV0UPc0.png`,Kf=`/assets/hedy-BR2IHift.png`,qf=`/assets/hermes-CqCzcE0y.png`,Jf=`/assets/isaac-D1nhJAuv.png`,Yf=`/assets/john-zSPWwNi4.png`,Xf=`/assets/joni-BFLoyfJP.png`,Zf=`/assets/leo-C_3IOL11.png`,Qf=`/assets/louis-DEEECFSX.png`,$f=`/assets/ludwig-_hoKhhyK.png`,ep=`/assets/marie-DET6MsfO.png`,tp=`/assets/marilyn-DTqwt8Yh.png`,np=`/assets/nikola-B4PtHrJv.png`,rp=`/assets/nina-BYbrOn0d.png`,ip=`/assets/paul-CGURYQIn.png`,ap=`/assets/ringo-WhfUNOyY.png`,op=`/assets/rosie-CAtcIf87.png`,sp=`/assets/steve-CgXXJ9EZ.png`,cp=`/assets/sun-BLNAhoZd.png`,lp=`/assets/warren-DIH7UKMY.png`,up=`/assets/woz-D2yleG-V.png`,dp=`/assets/zaha-wersOEq9.png`,fp=`/assets/1-DLJbBkOb.png`,pp=`/assets/10-uwRwj5ce.png`,mp=`/assets/11-5OuV9F_e.png`,hp=`/assets/12-u_axjxW-.png`,gp=`/assets/13-ldSvcMsH.png`,_p=`/assets/14-xdcALEYD.png`,vp=`/assets/15-aZ4snEFB.png`,yp=`/assets/16-L_5-DttY.png`,bp=`/assets/2-zOPZTppD.png`,xp=`/assets/3-Dc3WoVu5.png`,Sp=`/assets/4-C50hk7_m.png`,Cp=`/assets/5-Eweetkq4.png`,wp=`/assets/6-5sOXgfkw.png`,Tp=`/assets/7-BqRBCbiC.png`,Ep=`/assets/8-DEDKS94h.png`,Dp=`/assets/9-DNj34GW-.png`,Op={version:3,public_base:`/assets/avatars`,avatars:[{id:`ada`,file:`ada.png`,label:`Ada`},{id:`aibert`,file:`aibert.png`,label:`Aibert`},{id:`amelia`,file:`amelia.png`,label:`Amelia`},{id:`andy`,file:`andy.png`,label:`Andy`},{id:`bob`,file:`bob.png`,label:`Bob`},{id:`buzz`,file:`buzz.png`,label:`Buzz`},{id:`carl`,file:`carl.png`,label:`Carl`},{id:`corbu`,file:`corbu.png`,label:`Corbu`},{id:`diana`,file:`diana.png`,label:`Diana`},{id:`elvis`,file:`elvis.png`,label:`Elvis`},{id:`frida`,file:`frida.png`,label:`Frida`},{id:`george`,file:`george.png`,label:`George`},{id:`grace`,file:`grace.png`,label:`Grace`},{id:`hedy`,file:`hedy.png`,label:`Hedy`},{id:`hermes`,file:`hermes.png`,label:`Hermes`},{id:`isaac`,file:`isaac.png`,label:`Isaac`},{id:`john`,file:`john.png`,label:`John`},{id:`joni`,file:`joni.png`,label:`Joni`},{id:`leo`,file:`leo.png`,label:`Leo`},{id:`louis`,file:`louis.png`,label:`Louis`},{id:`ludwig`,file:`ludwig.png`,label:`Ludwig`},{id:`marie`,file:`marie.png`,label:`Marie`},{id:`marilyn`,file:`marilyn.png`,label:`Marilyn`},{id:`nikola`,file:`nikola.png`,label:`Nikola`},{id:`nina`,file:`nina.png`,label:`Nina`},{id:`paul`,file:`paul.png`,label:`Paul`},{id:`ringo`,file:`ringo.png`,label:`Ringo`},{id:`rosie`,file:`rosie.png`,label:`Rosie`},{id:`steve`,file:`steve.png`,label:`Steve`},{id:`sun`,file:`sun.png`,label:`Sun`},{id:`warren`,file:`warren.png`,label:`Warren`},{id:`woz`,file:`woz.png`,label:`Woz`},{id:`zaha`,file:`zaha.png`,label:`Zaha`}]},kp={version:2,public_base:`/assets/project-logos`,logos:[{id:`1`,file:`1.png`,label:`Logo 1`},{id:`2`,file:`2.png`,label:`Logo 2`},{id:`3`,file:`3.png`,label:`Logo 3`},{id:`4`,file:`4.png`,label:`Logo 4`},{id:`5`,file:`5.png`,label:`Logo 5`},{id:`6`,file:`6.png`,label:`Logo 6`},{id:`7`,file:`7.png`,label:`Logo 7`},{id:`8`,file:`8.png`,label:`Logo 8`},{id:`9`,file:`9.png`,label:`Logo 9`},{id:`10`,file:`10.png`,label:`Logo 10`},{id:`11`,file:`11.png`,label:`Logo 11`},{id:`12`,file:`12.png`,label:`Logo 12`},{id:`13`,file:`13.png`,label:`Logo 13`},{id:`14`,file:`14.png`,label:`Logo 14`},{id:`15`,file:`15.png`,label:`Logo 15`},{id:`16`,file:`16.png`,label:`Logo 16`}]},Ap=Op,jp=kp,Mp=Object.assign({"../assets/avatars/ada.png":Nf,"../assets/avatars/aibert.png":Pf,"../assets/avatars/amelia.png":Ff,"../assets/avatars/andy.png":If,"../assets/avatars/bob.png":Lf,"../assets/avatars/buzz.png":Rf,"../assets/avatars/carl.png":zf,"../assets/avatars/corbu.png":Bf,"../assets/avatars/diana.png":Vf,"../assets/avatars/elvis.png":Hf,"../assets/avatars/frida.png":Uf,"../assets/avatars/george.png":Wf,"../assets/avatars/grace.png":Gf,"../assets/avatars/hedy.png":Kf,"../assets/avatars/hermes.png":qf,"../assets/avatars/isaac.png":Jf,"../assets/avatars/john.png":Yf,"../assets/avatars/joni.png":Xf,"../assets/avatars/leo.png":Zf,"../assets/avatars/louis.png":Qf,"../assets/avatars/ludwig.png":$f,"../assets/avatars/marie.png":ep,"../assets/avatars/marilyn.png":tp,"../assets/avatars/nikola.png":np,"../assets/avatars/nina.png":rp,"../assets/avatars/paul.png":ip,"../assets/avatars/ringo.png":ap,"../assets/avatars/rosie.png":op,"../assets/avatars/steve.png":sp,"../assets/avatars/sun.png":cp,"../assets/avatars/warren.png":lp,"../assets/avatars/woz.png":up,"../assets/avatars/zaha.png":dp}),Np=Object.assign({"../assets/project-logos/1.png":fp,"../assets/project-logos/10.png":pp,"../assets/project-logos/11.png":mp,"../assets/project-logos/12.png":hp,"../assets/project-logos/13.png":gp,"../assets/project-logos/14.png":_p,"../assets/project-logos/15.png":vp,"../assets/project-logos/16.png":yp,"../assets/project-logos/2.png":bp,"../assets/project-logos/3.png":xp,"../assets/project-logos/4.png":Sp,"../assets/project-logos/5.png":Cp,"../assets/project-logos/6.png":wp,"../assets/project-logos/7.png":Tp,"../assets/project-logos/8.png":Ep,"../assets/project-logos/9.png":Dp}),Pp=Ap.public_base||`/assets/avatars`;function Fp(e,t){let n=`/${t}`,r=Object.keys(e).find(e=>e.replace(/\\/g,`/`).endsWith(n));return r?e[r]:``}function Ip(e,t,n){return e.map(e=>{let r=e.file||`${e.id}.png`,i=Fp(t,r)||`${n.replace(/\/$/,``)}/${r}`;return{id:e.id,src:i,label:e.label||e.id}})}var Lp=Ip(Ap.avatars??[],Mp,Pp),Rp=Ip(jp.logos??[],Np,jp.public_base||`/assets/project-logos`),zp={agent:Lp,user:Lp,logo:Rp};function Bp(e){return zp[e]}function Vp(e,t){return zp[e].find(e=>e.id===t)?.src??null}function Hp(e){let t=zp[e];return t.length?t[Math.floor(Math.random()*t.length)].src:``}var Up=Vp(`user`,`grace`)||Lp[0]?.src||``,Wp=Vp(`logo`,`4`)||Rp[0]?.src||``;function Gp(e){return Vp(`agent`,e)}function Kp(e){let t=String(e||``).trim();if(!t)return``;try{if(t.startsWith(`http://`)||t.startsWith(`https://`))return new URL(t).pathname}catch{}return t.split(`?`)[0].split(`#`)[0]}function qp(e){return e===`logo`?jp:Ap}function Jp(e,t){let n=Kp(t);if(!n)return null;let r=zp[e],i=r.find(e=>Kp(e.src)===n||e.src===t);if(i)return i.id;let a=qp(e),o=a[e===`logo`?`logos`:`avatars`]??[],s=String(a.public_base||``).replace(/\/$/,``),c=e===`logo`?[s,`/assets/logos`,`/assets/project-logos`].filter((e,t,n)=>n.indexOf(e)===t):[s,`/assets/agents`,`/assets/users`].filter((e,t,n)=>n.indexOf(e)===t);for(let e of c){if(!e)continue;let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),i=n.match(RegExp(`^${t}/([^/]+)\\.png$`,`i`));if(i){let e=i[1],t=r.find(t=>t.id===e);if(t)return t.id;for(let t of o)if(String(t.file||`${t.id}.png`).replace(/\.png$/i,``)===e||String(t.id)===e)return String(t.id)}}let l=n.match(/\/assets\/([a-z0-9]+)-[A-Za-z0-9_]+\.png$/i);if(l){let e=l[1];if(r.some(t=>t.id===e))return e;for(let t of o)if(String(t.file||`${t.id}.png`).replace(/\.png$/i,``)===e)return String(t.id)}return null}function Yp(e){let t=String(e||``).trim();if(!t)return{avatar_url:``};if(t.startsWith(`data:`))return{avatar_url:t};let n=Jp(`agent`,t);return n?{avatar_id:n,avatar_url:`${Pp}/${(Ap.avatars??[]).find(e=>e.id===n)?.file||`${n}.png`}`}:{avatar_url:t}}function Xp(e){return Zp(`agent`,e)}function Zp(e,t){let n=String(t||``).trim();if(!n)return``;let r=qp(e)[e===`logo`?`logos`:`avatars`]??[],i=Jp(e,n)||(r.some(e=>e.id===n)?n:null);return i?Vp(e,i)??n:n}function Qp(e,t){let n=String(t||``).trim();if(!n)return{avatar_url:``};if(n.startsWith(`data:`))return{avatar_url:n};let r=Jp(e,n),i=e===`logo`?jp:Ap,a=e===`logo`?`logos`:`avatars`,o=String(i.public_base||(e===`logo`?`/assets/project-logos`:`/assets/avatars`)).replace(/\/$/,``);return r?{avatar_url:`${o}/${i[a]?.find(e=>e.id===r)?.file||`${r}.png`}`}:{avatar_url:n}}function $p(e){return Qp(`user`,e)}function em(e){return Qp(`logo`,e)}function tm(e){return Zp(`user`,e)}function nm(e){return Zp(`logo`,e)}function rm(e,t,n,r){let i=String(t||``).trim();if(!i)return!1;if(i===n)return!0;let a=Jp(e,i);return!!(a&&a===r)}function im({kind:e,value:t,onChange:n,disabled:r,onUploadClick:i}){let a=(0,y.useMemo)(()=>Bp(e),[e]);return(0,x.jsxs)(`div`,{className:`wf-avatar-grid`,role:`listbox`,"aria-label":e===`logo`?`Choose logo`:e===`agent`?`Choose agent avatar`:`Choose avatar`,children:[(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(`button`,{type:`button`,className:K(`wf-avatar-grid__item wf-avatar-grid__item--upload`,t.startsWith(`data:`)&&`wf-avatar-grid__item--active`),disabled:r,onClick:i,children:(0,x.jsx)(ft,{"aria-hidden":!0})})}),(0,x.jsx)(Mf,{side:`bottom`,children:`Upload image`})]}),a.map(i=>{let a=rm(e,t,i.src,i.id);return(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":a,disabled:r,className:K(`wf-avatar-grid__item`,a&&`wf-avatar-grid__item--active`),onClick:()=>n(i.src),children:(0,x.jsx)(`img`,{src:i.src,alt:``})})}),(0,x.jsx)(Mf,{side:`bottom`,children:i.label})]},i.id)})]})}function am({withTooltipProvider:e=!0,onUploadClick:t,onChange:n,...r}){let i=el(n),a=t??i.openFilePicker,o=(0,x.jsxs)(Zc,{axis:`horizontal`,className:`wf-avatar-picker-scroll wf-scroll--horizontal`,children:[(0,x.jsx)(im,{...r,onChange:n,onUploadClick:a}),t?null:i.fileInput]});return e?(0,x.jsx)(kf,{delayDuration:400,children:o}):o}function om({avatarKind:e,avatarUrl:t,onAvatarChange:n,avatarLabel:r=`Avatar`,primary:i,secondary:a,body:o,disabled:s}){let{openFilePicker:c,fileInput:l}=el(n),u=t.startsWith(`data:`);return(0,x.jsx)(kf,{delayDuration:400,children:(0,x.jsxs)(`div`,{className:`wf-onboarding-identity`,children:[l,(0,x.jsxs)(`div`,{className:`wf-onboarding-identity__row`,children:[(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsxs)(`button`,{type:`button`,className:K(`wf-onboarding-identity__preview-btn wf-avatar-grid__item`,!t&&`wf-avatar-grid__item--upload`,u&&`wf-avatar-grid__item--active`),disabled:s,onClick:c,"aria-label":`Upload image`,children:[t?(0,x.jsx)(`img`,{src:t,alt:``}):null,(0,x.jsx)(`span`,{className:`wf-onboarding-identity__preview-overlay`,"aria-hidden":`true`,children:(0,x.jsx)(ft,{})})]})}),(0,x.jsx)(Mf,{side:`bottom`,className:`wf-tooltip-nudge-x-30`,children:`Upload image`})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-identity__fields`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:i.id,children:i.label}),(0,x.jsx)(_r,{id:i.id,value:i.value,onChange:e=>i.onChange(e.target.value),disabled:s})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:a.id,children:a.label}),(0,x.jsx)(_r,{id:a.id,value:a.value,onChange:e=>a.onChange(e.target.value),disabled:s})]})]})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{children:r}),(0,x.jsx)(am,{kind:e,value:t,onChange:n,disabled:s,onUploadClick:c,withTooltipProvider:!1})]}),o?(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:o.id,children:o.label}),(0,x.jsx)(Qc,{id:o.id,value:o.value,onChange:e=>o.onChange(e.target.value),rows:o.rows??4,placeholder:o.placeholder,disabled:s})]}):null]})})}function sm(){return(0,x.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":!0,children:[(0,x.jsx)(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`,stroke:`currentColor`,strokeWidth:`1.75`}),(0,x.jsx)(`path`,{d:`M5 15V5a2 2 0 0 1 2-2h10`,stroke:`currentColor`,strokeWidth:`1.75`,strokeLinecap:`round`})]})}function cm(){return(0,x.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M5 12.5l4.5 4.5L19 7.5`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function lm({value:e,label:t,id:n,className:r,mono:i=!0,pill:a=!1}){let[o,s]=(0,y.useState)(!1),c=(0,y.useCallback)(async()=>{if(e)try{await navigator.clipboard.writeText(e),s(!0),window.setTimeout(()=>s(!1),1600)}catch{}},[e]);return(0,x.jsxs)(`div`,{className:K(`wf-copy-input`,a&&`wf-copy-input--pill`,r),children:[(0,x.jsx)(`input`,{id:n,readOnly:!0,value:e,"aria-label":t,className:K(`wf-copy-input__value`,i&&`wf-copy-input__value--mono`)}),(0,x.jsx)(`button`,{type:`button`,className:`wf-copy-input__btn`,onClick:()=>void c(),disabled:!e,"aria-label":o?`Copied`:t?`Copy ${t}`:`Copy`,children:o?(0,x.jsx)(cm,{}):(0,x.jsx)(sm,{})})]})}function um(e){let t=e.trim();if(!t)return``;try{let e=/^https?:\/\//i.test(t)?t:`https://${t}`;return new URL(e).hostname}catch{return t.replace(/^https?:\/\//i,``).split(`/`)[0]||``}}function dm({publicUrl:e,onPublicUrlChange:t,disabled:n,httpsStatus:r}){let i=um(e),[a,o]=(0,y.useState)(null);(0,y.useEffect)(()=>{if(!i.trim()){o(null);return}let t=!1,n=window.setTimeout(()=>{Y.getPublishHints(e).then(e=>{t||o(e)}).catch(()=>{t||o(null)})},300);return()=>{t=!0,window.clearTimeout(n)}},[e,i]);let s=a?.dns.name||(i.includes(`.`)?i.split(`.`)[0]:`@`),c=a?.public_ipv4||`…`,l=a?.setup_command||`sudo bash /opt/workframe/scripts/workframe/setup-public-https.sh ${i||`your.domain.com`} ${a?.ui_port??28644}`,u=a?.registrar_links??[];return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-publish-url`,children:`Public domain`}),(0,x.jsx)(_r,{id:`wf-publish-url`,value:e,onChange:e=>t(e.target.value),placeholder:`dev.example.com`,disabled:n})]}),i?(0,x.jsxs)(`div`,{className:`wf-publish-setup`,children:[(0,x.jsxs)(`section`,{className:`wf-publish-section`,"aria-labelledby":`wf-publish-dns-title`,children:[(0,x.jsxs)(`header`,{className:`wf-publish-section__head`,children:[(0,x.jsx)(`h3`,{id:`wf-publish-dns-title`,className:`wf-publish-section__title`,children:`1 — DNS`}),(0,x.jsxs)(`p`,{className:`wf-publish-section__lede`,children:[`Add an `,(0,x.jsx)(`strong`,{children:`A record`}),` at your registrar so `,(0,x.jsx)(`code`,{children:i}),` points at this server.`]})]}),(0,x.jsxs)(`div`,{className:`wf-publish-dns-grid`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__type`,children:[(0,x.jsx)(Br,{children:`Type`}),(0,x.jsx)(lm,{value:`A`,mono:!1})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__name`,children:[(0,x.jsx)(Br,{children:`Name`}),(0,x.jsx)(lm,{value:s})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__value`,children:[(0,x.jsx)(Br,{children:`Value (server IP)`}),(0,x.jsx)(lm,{value:c})]})]}),u.length?(0,x.jsxs)(`div`,{className:`wf-publish-registrars`,children:[(0,x.jsx)(`span`,{className:`wf-publish-registrars__label`,children:`Open DNS at`}),(0,x.jsx)(`div`,{className:`wf-publish-registrars__links`,children:u.map(e=>(0,x.jsx)(`a`,{className:`wf-publish-registrars__link`,href:e.url,target:`_blank`,rel:`noreferrer`,children:e.label},e.url))})]}):(0,x.jsx)(`p`,{className:`wf-publish-section__hint`,children:`Use your domain registrar's DNS panel to add the record above.`}),a?.dns_cname?(0,x.jsxs)(`details`,{className:`wf-publish-alt`,children:[(0,x.jsx)(`summary`,{children:`Use CNAME instead (optional)`}),(0,x.jsxs)(`div`,{className:`wf-publish-dns-grid wf-publish-alt__grid`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__type`,children:[(0,x.jsx)(Br,{children:`Type`}),(0,x.jsx)(lm,{value:`CNAME`,mono:!1})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__name`,children:[(0,x.jsx)(Br,{children:`Name`}),(0,x.jsx)(lm,{value:a.dns_cname.name})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__value`,children:[(0,x.jsx)(Br,{children:`Target`}),(0,x.jsx)(lm,{value:a.dns_cname.value})]})]})]}):null]}),(0,x.jsxs)(`section`,{className:`wf-publish-section`,"aria-labelledby":`wf-publish-https-title`,children:[(0,x.jsxs)(`header`,{className:`wf-publish-section__head`,children:[(0,x.jsx)(`h3`,{id:`wf-publish-https-title`,className:`wf-publish-section__title`,children:`2 — HTTPS`}),(0,x.jsxs)(`p`,{className:`wf-publish-section__lede`,children:[`After DNS propagates, run `,(0,x.jsx)(`strong`,{children:`Set up HTTPS`}),` below (or use the SSH command if you prefer the shell).`]})]}),r?(0,x.jsx)(Oi,{message:r,tone:/installed|activated/i.test(r)?`info`:`caution`,className:`wf-notice--wizard`}):null,(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{children:`SSH command`}),(0,x.jsx)(lm,{value:l})]})]})]}):null]})}async function fm(e){if(!e.trim())return``;try{let t=await Y.setupPublicHttps(e);return t.ok?`HTTPS installed. The certificate will activate once DNS points to this server.`:xi(t.error||`HTTPS setup failed`,`HTTPS setup`)}catch(e){return xi(e,`HTTPS setup`)}}var pm=(0,y.forwardRef)(({className:e,label:t,wrapperClassName:n,...r},i)=>(0,x.jsxs)(`label`,{className:K(`archi-switch wf-switch`,n),children:[(0,x.jsx)(`input`,{ref:i,type:`checkbox`,className:K(`archi-switch__input wf-switch__input`,e),...r}),t?(0,x.jsx)(`span`,{className:`archi-switch__label`,children:t}):null]}));pm.displayName=`WfSwitch`;function mm({label:e,description:t,icon:n,enabled:r,disabled:i,onToggle:a,children:o}){return(0,x.jsxs)(`li`,{className:`wf-sign-in-app${r?` is-on`:``}`,children:[(0,x.jsxs)(`div`,{className:`wf-sign-in-app__head`,children:[(0,x.jsx)(`div`,{className:`wf-sign-in-app__icon`,"aria-hidden":`true`,children:n}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__copy`,children:[(0,x.jsx)(`div`,{className:`wf-sign-in-app__title-row`,children:(0,x.jsx)(`strong`,{children:e})}),(0,x.jsx)(`p`,{className:`wf-sign-in-app__desc`,children:t})]}),(0,x.jsx)(pm,{wrapperClassName:`wf-provider-connect__switch`,checked:r,disabled:i,"aria-label":`Enable ${e}`,onChange:e=>a(e.target.checked)})]}),r&&o?(0,x.jsx)(`div`,{className:`wf-sign-in-app__body`,children:o}):null]})}function hm({label:e,hint:t,htmlFor:n,children:r,fullWidth:i}){return(0,x.jsxs)(`div`,{className:K(`wf-sign-in-app__field`,i&&`wf-sign-in-app__field--full`),children:[(0,x.jsx)(Br,{htmlFor:n,children:e}),r,t?(0,x.jsx)(`p`,{className:`wf-sign-in-app__hint`,children:t}):null]})}var gm={workframe:`data:image/svg+xml,%3csvg%20width='1024'%20height='1024'%20viewBox='0%200%201024%201024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M64%200H0V1024H64V0Z'%20fill='black'/%3e%3cpath%20d='M256%200H128V1024H256V0Z'%20fill='black'%20fill-opacity='0.8'/%3e%3cpath%20d='M1024%200H640V1024H1024V0Z'%20fill='black'%20fill-opacity='0.4'/%3e%3cpath%20d='M576%200H320V1024H576V0Z'%20fill='black'%20fill-opacity='0.6'/%3e%3c/svg%3e`,workframeColor:`data:image/svg+xml,%3csvg%20width='384'%20height='384'%20viewBox='0%200%20384%20384'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M24%200H0V384H24V0Z'%20fill='%2379689D'/%3e%3cpath%20d='M96%200H48V384H96V0Z'%20fill='%2379689D'%20fill-opacity='0.8'/%3e%3cpath%20d='M384%200H240V384H384V0Z'%20fill='%2379689D'%20fill-opacity='0.4'/%3e%3cpath%20d='M216%200H120V384H216V0Z'%20fill='%2379689D'%20fill-opacity='0.6'/%3e%3c/svg%3e`,google:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M31.78%2015.8625C31.78%2024.7062%2025.7238%2031%2016.78%2031C8.20503%2031%201.28003%2024.075%201.28003%2015.5C1.28003%206.925%208.20503%200%2016.78%200C20.955%200%2024.4675%201.53125%2027.1738%204.05625L22.955%208.1125C17.4363%202.7875%207.17378%206.7875%207.17378%2015.5C7.17378%2020.9062%2011.4925%2025.2875%2016.78%2025.2875C22.9175%2025.2875%2025.2175%2020.8875%2025.58%2018.6063H16.78V13.275H31.5363C31.68%2014.0687%2031.78%2014.8312%2031.78%2015.8625Z'%20fill='black'/%3e%3c/svg%3e`,github:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10.8687%2024.8375C10.8687%2024.9625%2010.725%2025.0625%2010.5437%2025.0625C10.3375%2025.0813%2010.1938%2024.9812%2010.1938%2024.8375C10.1938%2024.7125%2010.3375%2024.6125%2010.5188%2024.6125C10.7063%2024.5937%2010.8687%2024.6937%2010.8687%2024.8375ZM8.925%2024.5562C8.88125%2024.6812%209.00625%2024.825%209.19375%2024.8625C9.35625%2024.925%209.54375%2024.8625%209.58125%2024.7375C9.61875%2024.6125%209.5%2024.4688%209.3125%2024.4125C9.15%2024.3688%208.96875%2024.4312%208.925%2024.5562ZM11.6875%2024.45C11.5062%2024.4938%2011.3812%2024.6125%2011.4%2024.7563C11.4187%2024.8813%2011.5813%2024.9625%2011.7688%2024.9188C11.95%2024.875%2012.075%2024.7563%2012.0562%2024.6313C12.0375%2024.5125%2011.8688%2024.4313%2011.6875%2024.45ZM15.8%200.5C7.13125%200.5%200.5%207.08125%200.5%2015.75C0.5%2022.6813%204.8625%2028.6125%2011.0938%2030.7C11.8938%2030.8438%2012.175%2030.35%2012.175%2029.9438C12.175%2029.5563%2012.1562%2027.4188%2012.1562%2026.1063C12.1562%2026.1063%207.78125%2027.0437%206.8625%2024.2437C6.8625%2024.2437%206.15%2022.425%205.125%2021.9562C5.125%2021.9562%203.69375%2020.975%205.225%2020.9937C5.225%2020.9937%206.78125%2021.1188%207.6375%2022.6063C9.00625%2025.0188%2011.3%2024.325%2012.1938%2023.9125C12.3375%2022.9125%2012.7438%2022.2187%2013.1938%2021.8062C9.7%2021.4187%206.175%2020.9125%206.175%2014.9C6.175%2013.1812%206.65%2012.3188%207.65%2011.2188C7.4875%2010.8125%206.95625%209.1375%207.8125%206.975C9.11875%206.56875%2012.125%208.6625%2012.125%208.6625C13.375%208.3125%2014.7188%208.13125%2016.05%208.13125C17.3813%208.13125%2018.725%208.3125%2019.975%208.6625C19.975%208.6625%2022.9813%206.5625%2024.2875%206.975C25.1438%209.14375%2024.6125%2010.8125%2024.45%2011.2188C25.45%2012.325%2026.0625%2013.1875%2026.0625%2014.9C26.0625%2020.9312%2022.3813%2021.4125%2018.8875%2021.8062C19.4625%2022.3%2019.95%2023.2375%2019.95%2024.7062C19.95%2026.8125%2019.9312%2029.4187%2019.9312%2029.9312C19.9312%2030.3375%2020.2188%2030.8312%2021.0125%2030.6875C27.2625%2028.6125%2031.5%2022.6813%2031.5%2015.75C31.5%207.08125%2024.4688%200.5%2015.8%200.5ZM6.575%2022.0562C6.49375%2022.1187%206.5125%2022.2625%206.61875%2022.3813C6.71875%2022.4813%206.8625%2022.525%206.94375%2022.4438C7.025%2022.3813%207.00625%2022.2375%206.9%2022.1187C6.8%2022.0187%206.65625%2021.975%206.575%2022.0562ZM5.9%2021.55C5.85625%2021.6312%205.91875%2021.7313%206.04375%2021.7938C6.14375%2021.8563%206.26875%2021.8375%206.3125%2021.75C6.35625%2021.6688%206.29375%2021.5688%206.16875%2021.5063C6.04375%2021.4688%205.94375%2021.4875%205.9%2021.55ZM7.925%2023.775C7.825%2023.8562%207.8625%2024.0438%208.00625%2024.1625C8.15%2024.3063%208.33125%2024.325%208.4125%2024.225C8.49375%2024.1438%208.45625%2023.9562%208.33125%2023.8375C8.19375%2023.6937%208.00625%2023.675%207.925%2023.775ZM7.2125%2022.8563C7.1125%2022.9188%207.1125%2023.0813%207.2125%2023.225C7.3125%2023.3688%207.48125%2023.4312%207.5625%2023.3687C7.6625%2023.2875%207.6625%2023.125%207.5625%2022.9813C7.475%2022.8375%207.3125%2022.775%207.2125%2022.8563Z'%20fill='black'/%3e%3c/svg%3e`,discord:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M27.107%205.63708C25.0356%204.66791%2022.8208%203.96356%2020.5052%203.5625C20.2208%204.07665%2019.8886%204.76819%2019.6595%205.3183C17.198%204.94812%2014.7591%204.94812%2012.3429%205.3183C12.1139%204.76819%2011.7741%204.07665%2011.4871%203.5625C9.16908%203.96356%206.95167%204.6705%204.88026%205.64221C0.70219%2011.9558%20-0.430415%2018.1126%200.135889%2024.182C2.907%2026.2514%205.59255%2027.5085%208.23277%2028.3311C8.88465%2027.4339%209.46605%2026.4802%209.9669%2025.475C9.013%2025.1126%208.09937%2024.6653%207.2361%2024.146C7.46512%2023.9763%207.68914%2023.7989%207.90557%2023.6164C13.1709%2026.0791%2018.8919%2026.0791%2024.0943%2023.6164C24.3133%2023.7989%2024.5373%2023.9763%2024.7638%2024.146C23.898%2024.6678%2022.9818%2025.1151%2022.0279%2025.4776C22.5288%2026.4802%2023.1077%2027.4365%2023.7621%2028.3336C26.4048%2027.511%2029.0929%2026.254%2031.864%2024.182C32.5285%2017.146%2030.7289%2011.0458%2027.107%205.63708ZM10.6842%2020.4494C9.10363%2020.4494%207.8074%2018.9738%207.8074%2017.1769C7.8074%2015.38%209.07595%2013.9018%2010.6842%2013.9018C12.2926%2013.9018%2013.5887%2015.3774%2013.5611%2017.1769C13.5636%2018.9738%2012.2926%2020.4494%2010.6842%2020.4494ZM21.3157%2020.4494C19.735%2020.4494%2018.4388%2018.9738%2018.4388%2017.1769C18.4388%2015.38%2019.7073%2013.9018%2021.3157%2013.9018C22.9239%2013.9018%2024.2202%2015.3774%2024.1925%2017.1769C24.1925%2018.9738%2022.9239%2020.4494%2021.3157%2020.4494Z'%20fill='black'/%3e%3c/svg%3e`,telegram:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M27.5534%204.956L3.91338%2014.072C2.30004%2014.72%202.30938%2015.62%203.61738%2016.0213L9.68671%2017.9147L23.7294%209.05467C24.3934%208.65067%2025%208.868%2024.5014%209.31067L13.124%2019.5787H13.1214L13.124%2019.58L12.7054%2025.836C13.3187%2025.836%2013.5894%2025.5547%2013.9334%2025.2227L16.8814%2022.356L23.0134%2026.8853C24.144%2027.508%2024.956%2027.188%2025.2374%2025.8387L29.2627%206.868C29.6747%205.216%2028.632%204.468%2027.5534%204.956Z'%20fill='black'/%3e%3c/svg%3e`,stripe:`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20role='img'%20aria-label='Stripe'%3e%3cpath%20fill='currentColor'%20d='M13.976%209.15c-2.172-.806-3.356-1.426-3.356-2.409%200-.831.683-1.305%201.901-1.305%202.227%200%204.515.858%206.09%201.631l.89-5.494C18.252.975%2015.697%200%2012.165%200%209.667%200%207.589.654%206.104%201.872%204.56%203.147%203.757%204.992%203.757%207.218c0%204.039%202.467%205.76%206.476%207.219%202.585.92%203.445%201.574%203.445%202.583%200%20.98-.84%201.545-2.354%201.545-1.875%200-4.965-.921-6.99-2.109l-.9%205.555C5.175%2022.99%208.385%2024%2011.714%2024c2.641%200%204.843-.624%206.328-1.813%201.664-1.305%202.525-3.236%202.525-5.732%200-4.128-2.524-5.851-6.591-7.305z'/%3e%3c/svg%3e`,netlify:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_133_28880)'%3e%3cpath%20d='M15.2457%200.31242C15.6623%20-0.10414%2016.3377%20-0.10414%2016.7542%200.31242L18.845%202.40322L14.9619%208.67595L9.19067%206.36747L15.2457%200.31242Z'%20fill='black'/%3e%3cpath%20d='M7.54952%208.00867L5.17627%2010.3819L10.0692%2016.5796L13.8219%2010.5176L7.54952%208.00867Z'%20fill='black'/%3e%3cpath%20d='M3.65745%2011.9008L0.312503%2015.2458C0.262785%2015.2955%200.219001%2015.3489%200.181152%2015.4051L7.69515%2017.0153L3.65745%2011.9008Z'%20fill='black'/%3e%3cpath%20d='M1.40796%2017.8497L3.55533%2019.9971L6.06377%2018.8474L1.40796%2017.8497Z'%20fill='black'/%3e%3cpath%20d='M5.16455%2021.6064L6.27196%2022.7138L7.66772%2020.459L5.16455%2021.6064Z'%20fill='black'/%3e%3cpath%20d='M7.82153%2024.2635L15.2457%2031.6877C15.6623%2032.1041%2016.3377%2032.1041%2016.7542%2031.6877L17.4452%2030.9967L17.6974%2029.6849L10.2809%2020.2906L7.82153%2024.2635Z'%20fill='black'/%3e%3cpath%20d='M20.135%2028.307L25.442%2022.9999L21.3252%2022.1177L20.135%2028.307Z'%20fill='black'/%3e%3cpath%20d='M27.2386%2021.2032L31.0379%2017.404L22.8606%2014.1331L21.728%2020.0223L27.2386%2021.2032Z'%20fill='black'/%3e%3cpath%20d='M31.8313%2015.4236C31.7905%2015.3606%2031.7428%2015.3009%2031.6877%2015.2457L27.7133%2011.2714L24.7949%2012.6091L31.8313%2015.4236Z'%20fill='black'/%3e%3cpath%20d='M26.1042%209.66224L24.105%207.66302L23.49%2010.8604L26.1042%209.66224Z'%20fill='black'/%3e%3cpath%20d='M22.2828%205.84103L20.3946%203.95294L16.9729%209.48039L21.2536%2011.1927L22.2828%205.84103Z'%20fill='black'/%3e%3cpath%20d='M12.7964%2018.1083L20.6127%2014.5259L19.6417%2019.5752L12.7964%2018.1083Z'%20fill='black'/%3e%3cpath%20d='M13.0398%2020.3423L19.2388%2021.6706L18.23%2026.9165L13.0398%2020.3423Z'%20fill='black'/%3e%3cpath%20d='M13.1987%2015.5772L19.3838%2012.7424L15.8329%2011.322L13.1987%2015.5772Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_133_28880'%3e%3crect%20width='32'%20height='32'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,vercel:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16%201.33331L32%2029.3333H0L16%201.33331Z'%20fill='black'/%3e%3c/svg%3e`,anthropic:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='88%20133%20336%20246'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M180.227%20133.523H236.521L329.48%20378.477H275.926L259.872%20331.267H159.139L142.578%20377.523H88.7266L180.227%20133.523ZM283.104%20133.672C283.47%20133.306%20332.756%20133.672%20332.756%20133.672L423.273%20378.238H372.549L283.104%20133.672ZM209.744%20194.523L176.176%20281.139H241.375L209.744%20194.523Z'%20fill='black'/%3e%3c/svg%3e`,cursor:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_191_523)'%3e%3cmask%20id='mask0_191_523'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='512'%20height='512'%3e%3cpath%20d='M0%200H512V512H0V0Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_191_523)'%3e%3cpath%20d='M390%200H122C54.6213%200%200%2054.6213%200%20122V390C0%20457.379%2054.6213%20512%20122%20512H390C457.379%20512%20512%20457.379%20512%20390V122C512%2054.6213%20457.379%200%20390%200Z'%20fill='black'/%3e%3cmask%20id='mask1_191_523'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='85'%20y='89'%20width='343'%20height='334'%3e%3cpath%20d='M85%2089H428V423H85V89Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask1_191_523)'%3e%3cmask%20id='mask2_191_523'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='85'%20y='89'%20width='343'%20height='334'%3e%3cpath%20d='M85%2089H428V423H85V89Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask2_191_523)'%3e%3cpath%20d='M255.428%20423L404.419%20339.5L255.428%20256L106.438%20339.5L255.428%20423Z'%20fill='url(%23paint0_linear_191_523)'/%3e%3cpath%20d='M404.42%20339.5V172.5L255.429%2089V256L404.42%20339.5Z'%20fill='url(%23paint1_linear_191_523)'/%3e%3cpath%20d='M255.428%2089L106.438%20172.5V339.5L255.428%20256V89Z'%20fill='url(%23paint2_linear_191_523)'/%3e%3cpath%20d='M404.42%20172.5L255.429%20423V256L404.42%20172.5Z'%20fill='%23E4E4E4'/%3e%3cpath%20d='M404.419%20172.5L255.428%20256L106.438%20172.5H404.419Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_191_523'%20x1='255.428'%20y1='256'%20x2='255.428'%20y2='423'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.16'%20stop-color='white'%20stop-opacity='0.39'/%3e%3cstop%20offset='0.658'%20stop-color='white'%20stop-opacity='0.8'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_191_523'%20x1='404.42'%20y1='173.015'%20x2='257.483'%20y2='261.497'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.182'%20stop-color='white'%20stop-opacity='0.31'/%3e%3cstop%20offset='0.715'%20stop-color='white'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint2_linear_191_523'%20x1='255.428'%20y1='89'%20x2='112.292'%20y2='342.802'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0.6'/%3e%3cstop%20offset='0.667'%20stop-color='white'%20stop-opacity='0.22'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_191_523'%3e%3crect%20width='512'%20height='512'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,openai:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M215.705%20207.82V175.238C215.705%20172.499%20216.743%20170.437%20219.137%20169.067L284.632%20131.354C293.555%20126.207%20304.181%20123.814%20315.152%20123.814C356.297%20123.814%20382.362%20155.703%20382.362%20189.64C382.362%20192.048%20382.362%20194.787%20382.016%20197.526L314.114%20157.75C312.27%20156.577%20310.129%20155.953%20307.943%20155.953C305.757%20155.953%20303.617%20156.577%20301.773%20157.75L215.705%20207.82ZM368.652%20334.686V256.865C368.652%20252.064%20366.59%20248.648%20362.467%20246.24L276.4%20196.171L304.512%20180.053C305.531%20179.383%20306.724%20179.025%20307.943%20179.025C309.163%20179.025%20310.356%20179.383%20311.374%20180.053L376.869%20217.781C395.741%20228.738%20408.427%20252.064%20408.427%20274.698C408.427%20300.764%20393.002%20324.767%20368.637%20334.715L368.652%20334.686ZM195.479%20266.135L167.366%20249.671C164.959%20248.302%20163.921%20246.24%20163.921%20243.501V168.044C163.921%20131.354%20192.033%20103.573%20230.108%20103.573C244.524%20103.573%20257.889%20108.373%20269.206%20116.951L201.649%20156.049C197.54%20158.442%20195.479%20161.874%20195.479%20166.674V266.12V266.135ZM256%20301.095L215.705%20278.461V230.454L256%20207.82L296.295%20230.454V278.461L256%20301.095ZM281.892%20405.328C267.476%20405.328%20254.111%20400.542%20242.794%20391.964L310.351%20352.866C314.46%20350.472%20316.521%20347.041%20316.521%20342.241V242.794L344.98%20259.258C347.387%20260.628%20348.411%20262.689%20348.411%20265.429V340.871C348.411%20377.561%20319.952%20405.328%20281.892%20405.328ZM200.626%20328.876L135.116%20291.148C116.259%20280.177%20103.573%20256.865%20103.573%20234.231C103.528%20221.37%20107.323%20208.789%20114.47%20198.097C121.618%20187.405%20131.793%20179.089%20143.694%20174.214V252.396C143.694%20257.197%20145.756%20260.628%20149.865%20263.035L235.6%20312.758L207.488%20328.876C206.47%20329.548%20205.277%20329.907%20204.057%20329.907C202.837%20329.907%20201.644%20329.548%20200.626%20328.876ZM196.848%20385.101C158.096%20385.101%20129.638%20355.965%20129.638%20319.952C129.638%20317.213%20129.984%20314.474%20130.316%20311.735L197.872%20350.804C201.995%20353.212%20206.104%20353.212%20210.213%20350.804L296.28%20301.095V333.677C296.28%20336.416%20295.271%20338.478%20292.863%20339.847L227.369%20377.561C218.445%20382.708%20207.82%20385.101%20196.848%20385.101ZM281.892%20425.9C301.651%20425.902%20320.804%20419.079%20336.112%20406.585C351.419%20394.091%20361.941%20376.693%20365.898%20357.335C404.304%20347.387%20429%20311.36%20429%20274.684C429%20250.68%20418.721%20227.368%20400.196%20210.559C401.911%20203.35%20402.935%20196.156%20402.935%20188.963C402.935%20139.931%20363.159%20103.227%20317.213%20103.227C307.958%20103.227%20299.048%20104.596%20290.11%20107.696C274.107%2091.9442%20252.576%2083.0803%20230.122%2083C210.361%2082.9991%20191.207%2089.8244%20175.899%20102.321C160.591%20114.818%20150.07%20132.219%20146.116%20151.58C107.696%20161.528%2083%20197.54%2083%20234.231C83%20258.249%2093.2791%20281.561%20111.805%20298.356C110.089%20305.565%20109.065%20312.773%20109.065%20319.967C109.065%20368.998%20148.841%20405.688%20194.787%20405.688C204.042%20405.688%20212.952%20404.319%20221.89%20401.233C237.895%20416.991%20259.433%20425.856%20281.892%20425.929V425.9Z'%20fill='black'/%3e%3c/svg%3e`,openrouter:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='84%2084%20344%20344'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M324.857%20112.05L428.344%20170.889V172.136L323.797%20230.343L324.04%20200L312.273%20199.57C297.094%20199.168%20289.182%20199.598%20279.765%20201.146C264.514%20203.655%20250.553%20209.417%20234.658%20220.525L203.612%20242.097C199.541%20244.892%20196.517%20246.913%20193.865%20248.618L186.483%20253.234L180.793%20256.588L186.311%20259.884L193.908%20264.729C200.731%20269.23%20210.678%20276.138%20232.622%20291.475C248.532%20302.583%20262.479%20308.345%20277.729%20310.854L282.029%20311.499C291.977%20312.803%20301.738%20312.846%20322.521%20311.972L322.836%20281.026L426.323%20339.864V341.111L321.776%20399.333L321.976%20372.645L312.875%20372.96C293.009%20373.562%20282.244%20372.989%20267.897%20370.638C243.616%20366.625%20221.17%20357.365%20197.936%20341.126L167.004%20319.626C163.447%20317.172%20159.839%20314.792%20156.183%20312.488L149.489%20308.474C145.874%20306.391%20142.243%20304.337%20138.596%20302.311C125.681%20295.13%2092.0692%20286.329%2084%20286.329V225.728L86.0069%20225.785C94.0909%20225.685%20127.717%20216.87%20140.602%20209.675L155.165%20201.361L161.443%20197.434C167.578%20193.421%20176.808%20187.028%20199.942%20170.874C223.177%20154.635%20245.608%20145.361%20269.903%20141.362C286.415%20138.639%20298.197%20138.309%20324.571%20139.384L324.857%20112.05Z'%20fill='black'/%3e%3c/svg%3e`,perplexity:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='39%2039%20434%20434'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M364.5%2079.9418V180.05H407.9V331.95H364.5V433.414L266.85%20346.614V418.75H245.15V345.258L147.5%20432.058V331.95H104.1V180.05H147.5V81.298L245.15%20168.098V83.7563H266.85V166.742L364.5%2079.9418ZM342.8%20128.258L284.545%20180.05H342.8V128.258ZM169.2%20129.614V180.05H225.929L169.2%20129.614ZM125.8%20201.75V310.25H147.5V272.826L227.455%20201.75H125.8ZM283.019%20201.75L364.5%20274.182V310.25H386.2V201.75H283.019ZM245.15%20215.058L169.2%20282.574V383.742L245.15%20316.247V215.058ZM266.85%20216.414V317.603L342.8%20385.098V283.93L266.85%20216.414Z'%20fill='black'/%3e%3c/svg%3e`,nvidia:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='91%20147%20305%20219'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M213.778%20212.303V192.639C215.683%20192.493%20217.616%20192.399%20219.579%20192.334C273.375%20190.647%20308.67%20238.562%20308.67%20238.562C308.67%20238.562%20270.547%20291.5%20229.677%20291.5C224.276%20291.521%20218.903%20290.664%20213.778%20288.955V229.315C234.715%20231.844%20238.931%20241.091%20251.522%20262.086L279.525%20238.474C279.525%20238.474%20259.083%20211.664%20224.624%20211.664C220.881%20211.664%20217.297%20211.925%20213.778%20212.303ZM213.778%20147.327V176.718C215.705%20176.566%20217.638%20176.442%20219.579%20176.369C294.385%20173.854%20343.128%20237.726%20343.128%20237.726C343.128%20237.726%20287.151%20305.799%20228.826%20305.799C223.483%20305.799%20218.474%20305.305%20213.778%20304.469V322.628C217.798%20323.137%20221.964%20323.443%20226.311%20323.443C280.579%20323.443%20319.829%20295.731%20357.835%20262.922C364.137%20267.968%20389.938%20280.246%20395.237%20285.626C359.1%20315.868%20274.887%20340.258%20227.14%20340.258C222.676%20340.243%20218.22%20340.01%20213.778%20339.56V365.076H420.056V147.327H213.778ZM213.778%20288.955V304.469C163.581%20295.527%20149.645%20243.338%20149.645%20243.338C149.645%20243.338%20173.751%20216.629%20213.778%20212.303V229.315L213.698%20229.307C192.689%20226.785%20176.281%20246.413%20176.281%20246.413C176.281%20246.413%20185.477%20279.446%20213.778%20288.955ZM124.622%20241.077C124.622%20241.077%20154.37%20197.168%20213.778%20192.639V176.704C147.98%20181.989%2091%20237.711%2091%20237.711C91%20237.711%20123.27%20331.003%20213.778%20339.545V322.628C147.362%20314.276%20124.622%20241.077%20124.622%20241.077Z'%20fill='black'/%3e%3c/svg%3e`,gemini:`/assets/gemini-DqnZlvMo.svg`,grok:`data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M27.3538%2036.9356L39.7746%2028.1324C40.3835%2027.7008%2041.2539%2027.8691%2041.5441%2028.5395C43.0711%2032.0749%2042.3888%2036.3235%2039.3505%2039.2406C36.3124%2042.1575%2032.0849%2042.7973%2028.221%2041.3403L24%2043.2167C30.0542%2047.1897%2037.4059%2046.2072%2041.9999%2041.7934C45.6439%2038.2947%2046.7725%2033.5257%2045.7172%2029.2252L45.7268%2029.2343C44.1965%2022.9166%2046.103%2020.3913%2050.0084%2015.2275C50.1008%2015.1051%2050.1932%2014.9826%2050.2857%2014.8571L45.1465%2019.7913V19.776L27.3507%2036.9387'%20fill='black'/%3e%3cpath%20d='M25.1211%2039.1858C20.9439%2035.2867%2021.6641%2029.2525%2025.2283%2025.7728C27.8639%2023.1974%2032.1821%2022.1463%2035.9516%2023.6915L40.0001%2021.8648C39.2707%2021.3497%2038.3359%2020.7957%2037.2633%2020.4064C32.415%2018.4569%2026.6105%2019.4272%2022.6693%2023.2753C18.8783%2026.9796%2017.6862%2032.6754%2019.7334%2037.5357C21.2627%2041.1682%2018.7557%2043.7375%2016.2305%2046.3309C15.3356%2047.2502%2014.4376%2048.1696%2013.7144%2049.1429L25.118%2039.1887'%20fill='black'/%3e%3c/svg%3e`,brave:`/assets/brave-BoYMbZi1.svg`},_m={anthropic:gm.anthropic,openai:gm.openai,openrouter:gm.openrouter,cursor:gm.cursor,perplexity:gm.perplexity,github:gm.github,codex:gm.openai,google:gm.google,gemini:gm.gemini,brave:gm.brave,grok:gm.grok,nvidia:gm.nvidia,stripe:gm.stripe};function vm(e){return _m[e.trim().toLowerCase()]??null}function ym(e){let t=e.trim().toLowerCase();return!t||t===`custom`?``:t===`openrouter`?`OpenRouter`:t===`openai`?`OpenAI`:t===`anthropic`?`Anthropic`:t===`google`||t===`gemini`?`Gemini`:t===`codex`||t===`openai-codex`||t===`openai_codex`?`Codex`:t===`deepseek`?`DeepSeek`:t===`nous`?`Nous`:e}function bm({providerId:e=``,src:t,label:n=``,className:r,themeAware:i=!0}){let a=t===void 0?vm(e):t,[o,s]=(0,y.useState)(null),c=K(`wf-brand-mark`,i&&`wf-brand-img--theme`,r),l=(n||e||`?`).trim().slice(0,1).toUpperCase()||`?`;return!a||o===a?(0,x.jsx)(`span`,{className:K(c,`wf-brand-mark--fallback`),role:n?`img`:void 0,"aria-label":n||void 0,"aria-hidden":n?void 0:!0,children:l}):(0,x.jsx)(`img`,{src:a,alt:n,className:c,"aria-hidden":n?void 0:!0,onError:()=>s(a)})}function xm({id:e,className:t}){return(0,x.jsx)(bm,{src:gm[e],className:t??`wf-sign-in-app__brand-img wf-brand-img--theme`,themeAware:e!==`workframeColor`})}function Sm({children:e,className:t,role:n=`status`}){return(0,x.jsx)(`p`,{className:K(`wf-panel-status`,t),role:n,children:e})}function Cm({children:e,tone:t=`error`,className:n}){return(0,x.jsx)(`div`,{className:K(`wf-auth-otp-panel__notice`,t===`error`&&`wf-auth__alert--error`,t===`info`&&`wf-auth__alert--info`,n),role:t===`error`?`alert`:`status`,children:e})}function wm({children:e,className:t}){return(0,x.jsx)(`div`,{className:K(`wf-panel-footer`,t),children:e})}function Tm({children:e,className:t}){return(0,x.jsx)(`p`,{className:K(`wf-user-settings__hint text-center p-8 border border-dashed border-border rounded-xl`,t),children:e})}function Em({disabled:e,onBindSave:t,afterGithub:n}){let[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(!1),[s,c]=(0,y.useState)(!1),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(``),[_,v]=(0,y.useState)(``),[b,S]=(0,y.useState)(``),[C,w]=(0,y.useState)(``),[T,E]=(0,y.useState)(``),[D,O]=(0,y.useState)(``),[k,A]=(0,y.useState)(``),[j,M]=(0,y.useState)(``),[N,P]=(0,y.useState)(!1),[F,I]=(0,y.useState)(!1),[L,ee]=(0,y.useState)(!1),[R,te]=(0,y.useState)(!1),z=(0,y.useMemo)(()=>window.location.origin.replace(/\/$/,``),[]),B=`${z}/api/auth/google/callback`,V=`${z}/api/oauth/github/callback`,ne=`${z}/api/oauth/discord/callback`;(0,y.useEffect)(()=>{Y.getInstallStack().then(e=>{let t=e.google_oauth,n=e.github_oauth,r=e.discord_oauth,i=e.telegram_login;if(t?.client_id&&(o(!0),m(t.client_id)),P(!!t?.has_secret),n?.client_id&&(c(!0),v(n.client_id)),I(!!n?.has_secret),r?.client_id&&(u(!0),w(r.client_id)),ee(!!r?.has_secret),i?.bot_username&&(f(!0),O(i.bot_username)),te(!!i?.has_token),i?.domain)M(i.domain);else try{M(new URL(z).hostname)}catch{M(``)}}).catch(()=>{})},[z]);let re=(0,y.useCallback)(async()=>{i(null);try{let e={};e.google_oauth=a&&p.trim()?{client_id:p.trim(),...h.trim()?{client_secret:h.trim()}:{}}:{client_id:``,client_secret:``},e.github_oauth=s&&_.trim()?{client_id:_.trim(),...b.trim()?{client_secret:b.trim()}:{}}:{client_id:``,client_secret:``},e.discord_oauth=l&&C.trim()?{client_id:C.trim(),...T.trim()?{client_secret:T.trim()}:{}}:{client_id:``,client_secret:``},e.telegram_login=d&&D.trim()?{bot_username:D.trim().replace(/^@/,``),...k.trim()?{bot_token:k.trim()}:{}}:{bot_username:``,bot_token:``},await Y.patchInstallStack(e);let t=await Y.getInstallStack();return P(!!t.google_oauth?.has_secret),I(!!t.github_oauth?.has_secret),ee(!!t.discord_oauth?.has_secret),te(!!t.telegram_login?.has_token),g(``),S(``),E(``),A(``),!0}catch(e){return i(xi(e,`Save sign-in apps`)),!1}},[C,T,l,_,b,s,p,h,a,k,D,d]);return(0,y.useEffect)(()=>{t?.(re)},[t,re]),(0,x.jsxs)(`div`,{className:`wf-sign-in-apps`,children:[r?(0,x.jsx)(Cm,{children:r}):null,(0,x.jsxs)(`ul`,{className:`wf-sign-in-apps__list`,children:[(0,x.jsxs)(mm,{label:`Google`,description:`Member sign-in and Google-backed features.`,icon:(0,x.jsx)(xm,{id:`google`}),enabled:a,disabled:e,onToggle:o,children:[(0,x.jsx)(hm,{label:`Redirect URI`,hint:`Add this exact URL in Google Cloud Console → OAuth client.`,fullWidth:!0,children:(0,x.jsx)(_r,{readOnly:!0,value:B})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Client ID`,children:(0,x.jsx)(_r,{value:p,onChange:e=>m(e.target.value),placeholder:`….apps.googleusercontent.com`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Client secret`,hint:`Leave blank to keep the saved secret.`,children:(0,x.jsx)(wc,{value:h,onChange:e=>g(e.target.value),saved:N,emptyPlaceholder:`Paste client secret`,disabled:e})})]})]}),(0,x.jsxs)(mm,{label:`GitHub`,description:`Let members connect GitHub — use a Workframe OAuth app, not personal access tokens.`,icon:(0,x.jsx)(xm,{id:`github`}),enabled:s,disabled:e,onToggle:c,children:[(0,x.jsxs)(`p`,{className:`wf-sign-in-app__link-row`,children:[(0,x.jsx)(`a`,{className:`text-primary underline`,href:`https://github.com/settings/developers`,target:`_blank`,rel:`noreferrer`,children:`GitHub Developer Settings`}),` — register an OAuth app with the URLs below.`]}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Homepage URL`,children:(0,x.jsx)(_r,{readOnly:!0,value:z})}),(0,x.jsx)(hm,{label:`Callback URL`,children:(0,x.jsx)(_r,{readOnly:!0,value:V})})]}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Client ID`,children:(0,x.jsx)(_r,{value:_,onChange:e=>v(e.target.value),placeholder:`Ov23li…`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Client secret`,hint:`Leave blank to keep the saved secret.`,children:(0,x.jsx)(wc,{value:b,onChange:e=>S(e.target.value),saved:F,emptyPlaceholder:`Paste client secret`,disabled:e})})]})]}),n,(0,x.jsxs)(mm,{label:`Discord`,description:`Link member Discord accounts — OAuth identify scope, not bot tokens.`,icon:(0,x.jsx)(xm,{id:`discord`}),enabled:l,disabled:e,onToggle:u,children:[(0,x.jsxs)(`p`,{className:`wf-sign-in-app__link-row`,children:[(0,x.jsx)(`a`,{className:`text-primary underline`,href:`https://discord.com/developers/applications`,target:`_blank`,rel:`noreferrer`,children:`Discord Developer Portal`}),` — OAuth2 app with redirect below.`]}),(0,x.jsx)(hm,{label:`Redirect URI`,fullWidth:!0,children:(0,x.jsx)(_r,{readOnly:!0,value:ne})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Client ID`,children:(0,x.jsx)(_r,{value:C,onChange:e=>w(e.target.value),placeholder:`Application client ID`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Client secret`,hint:`Leave blank to keep the saved secret.`,children:(0,x.jsx)(wc,{value:T,onChange:e=>E(e.target.value),saved:L,emptyPlaceholder:`Paste client secret`,disabled:e})})]})]}),(0,x.jsxs)(mm,{label:`Telegram`,description:`Login with Telegram — one BotFather bot for this Workframe URL.`,icon:(0,x.jsx)(xm,{id:`telegram`}),enabled:d,disabled:e,onToggle:f,children:[(0,x.jsxs)(`p`,{className:`wf-sign-in-app__link-row`,children:[(0,x.jsx)(`a`,{className:`text-primary underline`,href:`https://t.me/BotFather`,target:`_blank`,rel:`noreferrer`,children:`@BotFather`}),` — create a bot, then /setdomain `,(0,x.jsx)(`strong`,{children:j||`your-domain`}),` for this install.`]}),(0,x.jsx)(hm,{label:`Domain (set in BotFather)`,fullWidth:!0,children:(0,x.jsx)(_r,{readOnly:!0,value:j||z})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Bot username`,children:(0,x.jsx)(_r,{value:D,onChange:e=>O(e.target.value),placeholder:`MyWorkframeBot`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Bot token`,hint:`Leave blank to keep the saved token.`,children:(0,x.jsx)(wc,{value:k,onChange:e=>A(e.target.value),saved:R,emptyPlaceholder:`Paste bot token`,disabled:e})})]})]})]})]})}function Dm({disabled:e,onBindSave:t,inline:n}){let[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(!1),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)(!1),p=`${(0,y.useMemo)(()=>window.location.origin.replace(/\/$/,``),[])}/api/oauth/stripe/callback`;(0,y.useEffect)(()=>{Y.getInstallStack().then(e=>{let t=e.stripe_connect;t?.client_id&&(o(!0),c(t.client_id)),f(!!t?.has_secret)}).catch(()=>{})},[]);let m=(0,y.useCallback)(async()=>{i(null);try{let e={};return e.stripe_connect=a&&s.trim()?{client_id:s.trim(),...l.trim()?{client_secret:l.trim()}:{}}:{client_id:``,client_secret:``},await Y.patchInstallStack(e),f(!!(await Y.getInstallStack()).stripe_connect?.has_secret),u(``),!0}catch(e){return i(xi(e,`Save Stripe Connect`)),!1}},[s,l,a]);(0,y.useEffect)(()=>{t?.(m)},[t,m]);let h=(0,x.jsxs)(mm,{label:`Stripe Connect`,description:`Let members connect Stripe accounts for payments, billing, and agent commerce tools.`,icon:(0,x.jsx)(xm,{id:`stripe`}),enabled:a,disabled:e,onToggle:o,children:[(0,x.jsxs)(`p`,{className:`wf-sign-in-app__link-row`,children:[(0,x.jsx)(`a`,{className:`text-primary underline`,href:`https://dashboard.stripe.com/settings/connect`,target:`_blank`,rel:`noreferrer`,children:`Stripe Dashboard → Connect`}),` — enable OAuth, add the redirect URI below, then copy your Connect client ID (ca_…) and platform secret key (sk_…).`]}),(0,x.jsx)(hm,{label:`Redirect URI`,hint:`Add this exact URL under Connect → OAuth settings.`,fullWidth:!0,children:(0,x.jsx)(_r,{readOnly:!0,value:p})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Connect client ID`,hint:`Starts with ca_`,children:(0,x.jsx)(_r,{value:s,onChange:e=>c(e.target.value),placeholder:`ca_…`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Platform secret key`,hint:`Your platform sk_test_… or sk_live_… key — leave blank to keep the saved key.`,children:(0,x.jsx)(wc,{value:l,onChange:e=>u(e.target.value),saved:d,emptyPlaceholder:`sk_test_… or sk_live_…`,disabled:e})})]})]});return n?h:(0,x.jsxs)(`div`,{className:`wf-sign-in-apps`,children:[r?(0,x.jsx)(Cm,{children:r}):null,(0,x.jsx)(`ul`,{className:`wf-sign-in-apps__list`,children:h})]})}var Om={home_channel:``,allowed_users:``,bot_token_configured:!1};function km({workspaceId:e,disabled:t,onBindSave:n,onError:r}){let[i,a]=(0,y.useState)(Om),[o,s]=(0,y.useState)(Om),[c,l]=(0,y.useState)(``),[u,d]=(0,y.useState)(``),[f,p]=(0,y.useState)(!0),m=(0,y.useCallback)(async()=>{p(!0);try{let t=(await Y.getWorkspace(e)).workspace?.integrations?.messaging,n=t?.discord,r=t?.telegram;a({home_channel:n?.home_channel??``,allowed_users:n?.allowed_users??``,bot_token_configured:!!n?.bot_token_configured}),s({home_channel:r?.home_channel??``,allowed_users:r?.allowed_users??``,bot_token_configured:!!r?.bot_token_configured})}catch(e){r?.(e instanceof Error?e.message:`Failed to load messaging settings`)}finally{p(!1)}},[r,e]);(0,y.useEffect)(()=>{m()},[m]);let h=(0,y.useCallback)(async()=>{r?.(``);try{if(c.trim()){let t=await Y.storeWorkspaceCredential(e,{provider:`discord`,api_key:c.trim(),label:`Discord`});if(!t.ok)return r?.(t.error??`Failed to save Discord bot token`),!1;l(``)}if(u.trim()){let t=await Y.storeWorkspaceCredential(e,{provider:`telegram`,api_key:u.trim(),label:`Telegram`});if(!t.ok)return r?.(t.error??`Failed to save Telegram bot token`),!1;d(``)}return await Y.patchWorkspaceIntegrations(e,{messaging:{discord:{home_channel:i.home_channel.trim(),allowed_users:i.allowed_users.trim()},telegram:{home_channel:o.home_channel.trim(),allowed_users:o.allowed_users.trim()}}}),await m(),!0}catch(e){return r?.(e instanceof Error?e.message:`Failed to save messaging settings`),!1}},[i,m,r,c,o,u,e]);return(0,y.useEffect)(()=>{n?.(h)},[n,h]),f?(0,x.jsx)(Sm,{children:`Loading messaging channels…`}):(0,x.jsxs)(`div`,{className:`wf-onboarding-form`,children:[(0,x.jsxs)(`section`,{className:`wf-wizard-section`,children:[(0,x.jsx)(`h2`,{className:`wf-wizard-section__title`,children:`Discord`}),(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:`Shared bot for this Workframe. Token is vault-encrypted and synced to the gateway.`}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-discord-token`,children:`Bot token`}),(0,x.jsx)(wc,{id:`wf-discord-token`,value:c,onChange:e=>l(e.target.value),saved:i.bot_token_configured,emptyPlaceholder:`Paste bot token`,disabled:t})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-discord-home`,children:`Home channel ID`}),(0,x.jsx)(_r,{id:`wf-discord-home`,value:i.home_channel,onChange:e=>a(t=>({...t,home_channel:e.target.value})),placeholder:`123456789012345678`,disabled:t})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-discord-allow`,children:`Seed allowlist (optional)`}),(0,x.jsx)(_r,{id:`wf-discord-allow`,value:i.allowed_users,onChange:e=>a(t=>({...t,allowed_users:e.target.value})),placeholder:`user ids, comma-separated`,disabled:t})]})]})]}),(0,x.jsxs)(`section`,{className:`wf-wizard-section`,children:[(0,x.jsx)(`h2`,{className:`wf-wizard-section__title`,children:`Telegram`}),(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:`Shared bot for this Workframe. Members link their Telegram user ID under Linked accounts.`}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-telegram-token`,children:`Bot token`}),(0,x.jsx)(wc,{id:`wf-telegram-token`,value:u,onChange:e=>d(e.target.value),saved:o.bot_token_configured,emptyPlaceholder:`Paste bot token`,disabled:t})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-telegram-home`,children:`Home chat ID`}),(0,x.jsx)(_r,{id:`wf-telegram-home`,value:o.home_channel,onChange:e=>s(t=>({...t,home_channel:e.target.value})),placeholder:`-1001234567890`,disabled:t})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-telegram-allow`,children:`Seed allowlist (optional)`}),(0,x.jsx)(_r,{id:`wf-telegram-allow`,value:o.allowed_users,onChange:e=>s(t=>({...t,allowed_users:e.target.value})),placeholder:`user ids, comma-separated`,disabled:t})]})]})]})]})}function Am({title:e,hint:t,children:n,className:r}){return(0,x.jsxs)(`section`,{className:r??`wf-settings-section wf-wizard-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:e}),t?(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:t}):null,n]})}function jm({disabled:e,onBindSave:t,onError:n}){let[r,i]=(0,y.useState)(``),[a,o]=(0,y.useState)(`587`),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(!0),_=(0,y.useCallback)(async()=>{g(!0);try{let e=(await Y.getInstallStack()).smtp;e?.host&&i(e.host),o(String(e?.port||587)),e?.user&&c(e.user),e?.from&&f(e.from),m(!!e?.has_password),u(``)}catch(e){n?.(e instanceof Error?e.message:`Failed to load SMTP settings`)}finally{g(!1)}},[n]);(0,y.useEffect)(()=>{_()},[_]);let v=(0,y.useCallback)(async()=>{n?.(``);try{return await Y.patchInstallStack({smtp:{host:r.trim(),port:Number(a)||587,user:s.trim(),from:d.trim(),...l.trim()?{password:l.trim()}:{}}}),u(``),await _(),!0}catch(e){return n?.(e instanceof Error?e.message:`Failed to save SMTP settings`),!1}},[d,r,_,n,l,a,s]);return(0,y.useEffect)(()=>{t?.(v)},[t,v]),h?(0,x.jsx)(Sm,{children:`Loading email delivery…`}):(0,x.jsxs)(`div`,{className:`wf-onboarding-form`,children:[(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-host`,children:`SMTP host`}),(0,x.jsx)(_r,{id:`wf-smtp-settings-host`,value:r,onChange:e=>i(e.target.value),placeholder:`smtp.sendgrid.net`,disabled:e})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field__label-row`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-port`,children:`Port`}),(0,x.jsx)(`span`,{className:`wf-dialog-field__hint wf-dialog-field__hint--inline`,children:`465 SSL · 587 STARTTLS`})]}),(0,x.jsx)(_r,{id:`wf-smtp-settings-port`,value:a,onChange:e=>o(e.target.value),placeholder:`587`,disabled:e})]})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-user`,children:`Username`}),(0,x.jsx)(_r,{id:`wf-smtp-settings-user`,value:s,onChange:e=>c(e.target.value),disabled:e})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-pass`,children:`Password`}),(0,x.jsx)(wc,{id:`wf-smtp-settings-pass`,value:l,onChange:e=>u(e.target.value),saved:p,emptyPlaceholder:`SMTP password or API key`,disabled:e})]})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-from`,children:`From address`}),(0,x.jsx)(_r,{id:`wf-smtp-settings-from`,value:d,onChange:e=>f(e.target.value),placeholder:s||`same as username`,disabled:e}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Leave blank to use the login email as the sender.`})]})]})}function Mm({variant:e,disabled:t,workspaceId:n,onBindOAuthSave:r,onBindStripeSave:i,onBindSmtpSave:a,onBindMessagingSave:o,onError:s}){let c=(0,y.useRef)(null),l=(0,y.useRef)(null),u=(0,y.useCallback)(()=>{r?.(async()=>c.current&&!await c.current()?!1:l.current?l.current():!0)},[r]);return(0,y.useEffect)(()=>{e===`onboarding`&&u()},[u,e]),e===`onboarding`?(0,x.jsxs)(`section`,{className:`wf-sign-in-apps-section`,children:[(0,x.jsxs)(`header`,{className:`wf-sign-in-apps-section__header`,children:[(0,x.jsx)(`h2`,{className:`wf-wizard-section__title`,children:`Sign-in`}),(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:`OAuth apps for member sign-in — Google, GitHub, Discord, Telegram, and Stripe Connect.`})]}),(0,x.jsx)(Em,{disabled:t,afterGithub:(0,x.jsx)(Dm,{inline:!0,disabled:t,onBindSave:e=>{c.current=e,u()}}),onBindSave:e=>{l.current=e,u()}})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Am,{title:`Email delivery`,hint:`SMTP for invites, sign-in codes, and notifications. Password is vault-encrypted on the stack.`,children:(0,x.jsx)(jm,{disabled:t,onBindSave:a,onError:s})}),(0,x.jsx)(Am,{title:`Payments partner`,hint:`Stripe Connect OAuth — members connect their own Stripe accounts for billing and commerce tools.`,children:(0,x.jsx)(Dm,{disabled:t,onBindSave:i})}),(0,x.jsx)(Am,{title:`Sign-in apps`,hint:`OAuth apps for member sign-in — Google, GitHub, Discord, and Telegram Login.`,children:(0,x.jsx)(Em,{disabled:t,onBindSave:r})}),n?(0,x.jsx)(Am,{title:`Agent messaging`,hint:`Shared bot tokens and home channels for Discord and Telegram — separate from member sign-in OAuth.`,children:(0,x.jsx)(km,{workspaceId:n,disabled:t,onBindSave:o,onError:s})}):null]})}function Nm({disabled:e,onBindOAuthSave:t}){return(0,x.jsx)(Mm,{variant:`onboarding`,disabled:e,onBindOAuthSave:t})}function Pm({provider:e,children:t}){return(0,x.jsxs)(`div`,{className:`wf-dialog__group`,children:[(0,x.jsx)(`p`,{className:`wf-dialog__group-label`,children:e}),t]})}function Fm({label:e,model:t,provider:n,description:r,isCurrent:i,isPending:a,disabled:o,singleLine:s,onSelect:c}){let l=e.trim()||t;return(0,x.jsxs)(`button`,{type:`button`,className:K(`wf-dialog__option`,s&&`wf-dialog__option--single-line`,i&&`is-current`),onClick:c,disabled:o,"data-current":i?`true`:void 0,title:s?t:void 0,children:[n?(0,x.jsx)(bm,{providerId:n,className:`wf-dialog__option-icon`}):null,(0,x.jsx)(`span`,{className:`wf-dialog__option-label`,children:l}),!s&&r?(0,x.jsx)(`span`,{className:`wf-dialog__option-desc`,children:r}):null,i?(0,x.jsx)(`span`,{className:`wf-dialog__option-tag`,children:`active`}):null,a?(0,x.jsx)(`span`,{className:`wf-dialog__option-tag`,children:`saving…`}):null]})}async function Im(e,t,n){if(!e.ok)throw new Kr(await yi(e),t,n);return e.json()}async function Lm(e){return Im(await Yi(e),`GET`,e)}async function Rm(e,t){return Im(await Yi(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),`POST`,e)}async function zm(e,t){return Im(await Yi(e,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),`PATCH`,e)}function Bm(){return`Workframe`}function Vm(e,t){return`workframe.activeLane:${Bm()}:${e}:${t}`}function Hm(e){return`workframe.cachedRooms:${Bm()}:${e}`}function Um(e,t){return`workframe.cachedMessages:${Bm()}:${e}:${t.trim()}`}function Wm(e){return`workframe.cachedRoomBind:${Bm()}:${e}`}function Gm(e){return`workframe.cachedModels:${Bm()}:${e.trim()}`}function Km(e){return`workframe.cachedActivity:${Bm()}:${e.trim()}`}var qm=10080*60*1e3;function Jm(e){if(!e||typeof window>`u`)return null;try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function Ym(e,t){if(!(!e||typeof window>`u`))try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function Xm(){let e=Zi();return{workspaceId:e?.current_workspace?.id??e?.default_workspace?.id??e?.workspaces?.[0]?.id??``,userId:e?.user?.user_id??``}}function Zm(e,t){return Jm(Vm(e,t))}function Qm(e){let t=e.workspaceId??Xm().workspaceId,n=e.userId??Xm().userId;if(!t||!n||!e.roomId)return;let r=Zm(t,n);Ym(Vm(t,n),{roomId:e.roomId,savedAt:Date.now(),room:e.room??(r?.roomId===e.roomId?r.room:void 0)})}if(typeof window<`u`){let e=[],t=`workframe.bindHint:${Bm()}:`;for(let n=0;n<localStorage.length;n++){let r=localStorage.key(n);r?.startsWith(t)&&e.push(r)}for(let t of e)localStorage.removeItem(t)}function $m(e){return Jm(Hm(e))?.rooms??[]}function eh(e,t){Ym(Hm(e),{rooms:t,savedAt:Date.now()})}function th(e){let t=e.trim();return t?Jm(Km(t))?.nodes??[]:[]}function nh(e){return th(e)}function rh(e,t){let n=e.trim();n&&Ym(Km(n),{nodes:t,savedAt:Date.now()})}function ih(e){if(!e.trim())return null;let t=Jm(Wm(e));return!t?.sessionId?.trim()||Date.now()-(t.savedAt||0)>qm?null:t}function ah(e,t){!e.trim()||!t.sessionId.trim()||Ym(Wm(e),{...t,savedAt:Date.now()})}function oh(e){if(!(!e.trim()||typeof window>`u`))try{localStorage.removeItem(Wm(e))}catch{}}function sh(e,t){let n=e.trim();!n||!t.ok||Ym(Gm(n),{models:t,savedAt:Date.now()})}function ch(e){let t=e.trim();if(!(!t||typeof window>`u`))try{localStorage.removeItem(Gm(t))}catch{}}var lh=`__project_room__`;function uh(e){return fh(e,lh)}function dh(e,t){ph(e,lh,t)}function fh(e,t){let n=t.trim();return n?(Jm(Um(e,n))?.messages??[]).filter(e=>!e.ephemeral).slice(-80):[]}function ph(e,t,n){let r=t.trim();if(!r)return;let i=n.filter(e=>!e.ephemeral).slice(-80);i.length&&Ym(Um(e,r),{messages:i,savedAt:Date.now()})}function mh(e,t){if(!(typeof window>`u`||!e))try{if(t?.trim()){localStorage.removeItem(Um(e,t));return}let n=`workframe.cachedMessages:${Bm()}:${e}:`,r=[];for(let e=0;e<localStorage.length;e++){let t=localStorage.key(e);t?.startsWith(n)&&r.push(t)}for(let e of r)localStorage.removeItem(e)}catch{}}async function hh(){return(await Lm(`/api/hermes/skills`)).skills??[]}async function gh(){return(await Lm(`/api/hermes/commands`)).entries??[]}async function _h(e){return Rm(`/api/hermes/commands/exec`,{line:e})}async function vh(e,t,n){let r=new URLSearchParams;e?.trim()&&r.set(`profile`,e.trim()),t?.trim()&&r.set(`workspace_id`,t.trim()),n?.selectionOnly&&r.set(`selection_only`,`1`);let i=await Lm(`/api/hermes/models${r.toString()?`?${r.toString()}`:``}`),a=e?.trim();return i.ok&&a&&sh(a,i),i}function yh(e=``){window.dispatchEvent(new CustomEvent(`workframe:hermes-models-changed`,{detail:{profile:e}}))}async function bh(e,t,n,r){let i=await Rm(`/api/hermes/model`,{model:e,profile:t??``,workspace_id:n??``,selection_only:!!r?.selectionOnly,billing_provider:r?.billingProvider?.trim()??``});return i.ok&&!r?.selectionOnly&&yh(t??``),i.ok&&t?.trim()&&ch(t.trim()),i}async function xh(e,t,n){let r=await Rm(`/api/hermes/fallback-chain`,{chain:e,profile:t??``,workspace_id:n?.workspaceId?.trim()??``,selection_only:!!n?.selectionOnly});return r.ok&&!n?.selectionOnly&&yh(t??``),r.ok&&t?.trim()&&ch(t.trim()),r}async function Sh(){return Lm(`/api/hermes/usage`)}async function Ch(e,t){return Rm(`/api/hermes/gateway/exec`,{line:e,profile:t??``})}async function wh(){return Lm(`/api/hermes/profile`)}async function Th(e){return Lm(`/api/hermes/profiles/${encodeURIComponent(e)}`)}async function Eh(e,t){return zm(`/api/hermes/profiles/${encodeURIComponent(e)}`,t)}async function Dh(e){return Lm(`/api/hermes/profiles/${encodeURIComponent(e)}/soul`)}async function Oh(e,t){return Rm(`/api/hermes/profiles/${encodeURIComponent(e)}/soul`,{soul:t})}async function kh(){return Lm(`/api/hermes/debug`)}async function Ah(){return Lm(`/api/hermes/insights`)}async function jh(){return Lm(`/api/hermes/gquota`)}async function Mh(e){return Rm(`/api/chat/stop`,{profile:e})}async function Nh(e,t){return Rm(`/api/chat/steer`,{profile:e,text:t})}var Ph={visionary:Gp(`steve`)??``,dev:Gp(`woz`)??``,designer:Gp(`ada`)??``,architect:Gp(`andy`)??``,docs:Gp(`joni`)??``,research:Gp(`nikola`)??``,qa:Gp(`grace`)??``,andy:Gp(`andy`)??``};function Fh(e){return Ph[e.toLowerCase()]||null}function Ih(e){let t=e.toLowerCase();return t.startsWith(`openai-codex/`)||t.startsWith(`codex/`)?`codex`:t.startsWith(`anthropic/`)?`anthropic`:t.startsWith(`openai/`)?`openai`:t.startsWith(`nous/`)?`nous`:t.includes(`cursor`)?`cursor`:t.includes(`perplexity`)?`perplexity`:null}function Lh(e,t=120){let n=e.segments.map(e=>e.kind===`text`?e.text:e.kind===`thinking`?``:e.kind===`image`?e.name?`Image: ${e.name}`:`Image attachment`:e.kind===`tool`?`Tool: ${e.name}`:e.notice.message).join(` `).replace(/\s+/g,` `).trim();return n?n.length>t?`${n.slice(0,Math.max(1,t-1)).trimEnd()}…`:n:`Message`}function Rh(e){let t=e.trim();if(!t)return`No model`;let n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t}function zh(e,t){let n=ym(e??``);if(n)return n;let r=Ih(t??``);return r?ym(r):``}function Bh(e,t){let n=Rh(t??``),r=zh(e,t),i=!!t?.trim()&&n!==`No model`;return r&&i?`${r} · ${n}`:i?n:r}function Vh(e,t){let n=e?.trim()??``;return n&&/^u-[a-z0-9][a-z0-9-]*$/i.test(n)?``:Bh(t,n)}function Hh(e,t){return{id:t?.id??`sys-notice-${e.code??Date.now()}`,authorId:`system`,authorName:t?.authorName??`Workframe`,role:`agent`,segments:[{kind:`concierge`,notice:e}],timestamp:new Date().toISOString(),tokens:0,avatarUrl:t?.avatarUrl}}function Uh(e,t,n,r,i){return{id:e,authorId:t,authorName:n,role:`agent`,segments:[],timestamp:r,tokens:0,ephemeral:!0,...i?{avatarUrl:i}:{}}}function Wh(e,t,n){return{id:e,authorId:`user`,authorName:`You`,role:`user`,segments:[{kind:`text`,text:t}],timestamp:n,tokens:0}}function Gh(e,t,n,r,i=``){let a=[{kind:`image`,path:t,name:n,alt:n}];return i.trim()&&a.push({kind:`text`,text:i.trim()}),{id:e,authorId:`user`,authorName:`You`,role:`user`,segments:a,timestamp:r,tokens:0}}var Kh=null;async function qh(){return Kh||=Lm(`/api/meta`).catch(e=>{throw Kh=null,e}),Kh}function Jh(){Kh=null}function Yh(e,t){return xi(e).trim()||t}var Xh=[{id:`primary`,label:`Primary`,hint:`Default model for this agent`},{id:`fallback-0`,label:`Fallback 1`,hint:`Used when primary is unavailable`},{id:`fallback-1`,label:`Fallback 2`,hint:`Second backup in the chain`}];function Zh(e,t){return t?e?.suggestions.find(e=>e.model===t)?.label?.trim()||t:`—`}function Qh(e,t){return e.suggestions.find(e=>e.model===t)??null}function $h(e){return(e.billing_provider||e.provider||``).trim()}function eg(e,t=``){return zh(e,t)||e}function tg(e){let t=e.trim().toLowerCase().replace(/_/g,`-`);return t===`openai-codex`||t===`codex`||t===`openai codex`?`codex`:t===`openrouter`?`openrouter`:t===`openai`?`openai`:t===`anthropic`?`anthropic`:t===`google`||t===`gemini`?`google`:t===`deepseek`?`deepseek`:t===`nous`?`nous`:t}function ng(e,t,n){return`${Xh.find(t=>t.id===e)?.label??`Model`} set to ${Zh(n,t)}.`}function rg({profile:e,workspaceId:t,compact:n,embedded:r=!1,selectionOnly:i=!1,draftOnly:a=!1,value:o,onChanged:s,onFallbacksDraftChange:c,onError:l,onStatus:u,onLoaded:d}){let[f,p]=(0,y.useState)(null),[m,h]=(0,y.useState)(!0),[g,_]=(0,y.useState)(``),[v,b]=(0,y.useState)(!1),[S,C]=(0,y.useState)(null),[w,T]=(0,y.useState)(``),[E,D]=(0,y.useState)(`primary`),[O,k]=(0,y.useState)(null),[A,j]=(0,y.useState)([null,null]),M=(0,y.useEffectEvent)(e=>l?.(e)),N=(0,y.useEffectEvent)(e=>{if(d?.(e),i||a){let t=e.fallback_chain??[];j([t[0]??null,t[1]??null]);let n=(e.primary||e.default_primary||``).trim();n&&s?.(n)}});(0,y.useEffect)(()=>{let n=!1,r=i||a;return vh(r?void 0:e,t,{selectionOnly:r}).then(e=>{if(n)return;if(!e.ok){let e=`Could not load models`;_(e),M(e);return}_(``),p(e);let t=e.primary||e.default_primary||``,r=e.suggestions.find(e=>e.model===t);k(tg(r?$h(r):e.billing_provider||e.provider||``)||null),N(e)}).catch(e=>{if(n)return;let t=Yh(e,`Could not load models`);_(t),M(t)}).finally(()=>{n||h(!1)}),()=>{n=!0}},[a,e,i,t]);let P=(0,y.useMemo)(()=>{let e=new Map,t=new Set;for(let n of f?.suggestions??[]){let r=tg($h(n)),i=`${r}:${n.model}`;if(t.has(i))continue;t.add(i);let a=e.get(r)??[];a.push(n),e.set(r,a)}return e},[f?.suggestions]),F=(0,y.useMemo)(()=>{let e=new Set(P.keys());for(let t of f?.connected_providers??[])e.add(tg(t));return[...e].sort((e,t)=>eg(e).localeCompare(eg(t)))},[f?.connected_providers,P]),I=(0,y.useMemo)(()=>{if(!O)return[...P.entries()];let e=P.get(O);return e?[[O,e]]:[]},[O,P]),L=O?f?.catalog_status?.[O]?.message??`No live chat models were returned for this provider.`:`No connected provider returned a live chat model. You can retry later or enter a custom model id.`;async function ee(n){if(f){if(i){b(!0);try{let e=await xh(n.map(e=>({provider:e.provider,model:e.model})),void 0,{selectionOnly:!0,workspaceId:t});if(!e.ok){l?.(e.error??`Failed to set fallbacks`);return}p({...f,fallback_chain:e.fallback_chain??n}),R([n[0]??null,n[1]??null]),await te()}catch(e){l?.(Yh(e,`Failed to set fallbacks`))}finally{b(!1),C(null)}return}b(!0);try{let r=await xh(n.map(e=>({provider:e.provider,model:e.model})),e??f.profile,{selectionOnly:i,workspaceId:t});if(!r.ok){l?.(r.error??`Failed to set fallbacks`);return}p({...f,fallback_chain:r.fallback_chain??n}),Jh(),await te()}catch(e){l?.(Yh(e,`Failed to set fallbacks`))}finally{b(!1),C(null)}}}function R(e){j(e),c?.(e.filter(e=>!!(e?.provider&&e?.model)))}async function te(){try{let n=i||a,r=await vh(n?void 0:e,t,{selectionOnly:n});r.ok&&p(r)}catch{}}async function z(n,r=``){let c=n.trim();if(v||!f||!c)return;let d=()=>{let e=c.indexOf(`/`);return e<=0?null:{provider:c.slice(0,e),model:c}};if(i||a){if(E===`primary`){if(c===o)return;if(a){s?.(c),u?.(ng(`primary`,c,f));return}b(!0);try{let e=await bh(c,void 0,t,{selectionOnly:!0,billingProvider:r});if(!e.ok){l?.(e.error??`Failed to set model`);return}s?.(e.model??c),u?.(ng(`primary`,e.model??c,f)),await te()}catch(e){l?.(Yh(e,`Failed to set model`))}finally{b(!1)}return}let e=Qh(f,c)??d();if(!e){l?.(`Use provider/model format for custom fallbacks (e.g. openrouter/owl-alpha).`);return}let n={provider:$h(e)||e.provider,model:e.model},i=E===`fallback-0`?0:1,p=[...A];if(p[i]=n,R(p),a){u?.(ng(E,c,f));return}await ee(p.filter(e=>!!(e?.provider&&e?.model))),u?.(ng(E,c,f));return}if(E===`primary`){if(c===f.primary){s?.(c);return}b(!0),C(c);try{let n=Qh(f,c),i=d(),a=n?$h(n):i?i.provider:r,o=await bh(c,e??f.profile,t,{billingProvider:a});if(!o.ok){l?.(o.error??`Failed to set model`);return}let m=o.model??c;p({...f,primary:m}),s?.(m),u?.(ng(`primary`,m,f)),Jh(),await te()}catch(e){l?.(Yh(e,`Failed to set model`))}finally{b(!1),C(null)}return}let m=Qh(f,c)??d();if(!m){l?.(`Use provider/model format for custom fallbacks (e.g. openrouter/owl-alpha).`);return}let h={provider:`billing_provider`in m?$h(m):m.provider,model:m.model},g=f.fallback_chain??[],_=[g[0]??null,g[1]??null],y=E===`fallback-0`?0:1;_[y]=h;let x=_.filter(e=>!!(e?.provider&&e?.model));C(c),await ee(x),u?.(ng(E,c,f))}if(m)return(0,x.jsx)(Sm,{children:`Loading models…`});if(g)return(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:g});if(!f)return(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Could not load models.`});let B=i||a,V=B?o??``:f.primary||``,ne=f.fallback_chain??[],re={primary:V,"fallback-0":B?A[0]?.model??``:ne[0]?.model??``,"fallback-1":B?A[1]?.model??``:ne[1]?.model??``},H=re[E];return f.has_llm_provider?(0,x.jsxs)(`div`,{className:K(`wf-llm-models`,n&&`wf-llm-models--compact`,r&&`wf-llm-models--embedded`),children:[(0,x.jsx)(`div`,{className:`wf-llm-models__slots`,role:`tablist`,"aria-label":`Model slots`,children:Xh.map(e=>{let t=re[e.id];return(0,x.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":E===e.id,className:K(`wf-llm-models__slot`,E===e.id&&`is-active`,t&&`is-filled`),onClick:()=>{D(e.id);let n=Qh(f,t);n&&k(tg($h(n)))},disabled:v,title:t||e.hint,children:[(0,x.jsx)(`span`,{className:`wf-llm-models__slot-label`,children:e.label}),(0,x.jsx)(`span`,{className:`wf-llm-models__slot-value`,children:Zh(f,t)})]},e.id)})}),(0,x.jsxs)(`div`,{className:`wf-llm-models__body`,children:[F.length>1?(0,x.jsxs)(`div`,{className:`wf-llm-models__providers`,role:`tablist`,"aria-label":`Filter by integration`,children:[(0,x.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":O===null,className:K(`wf-llm-models__provider`,O===null&&`is-active`),onClick:()=>k(null),children:`All`}),F.map(e=>(0,x.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":O===e,className:K(`wf-llm-models__provider`,O===e&&`is-active`),onClick:()=>k(e),children:[(0,x.jsx)(bm,{providerId:e,className:`wf-llm-models__provider-icon`}),eg(e)]},e))]}):null,(0,x.jsx)(`div`,{className:K(`wf-llm-models__list`,r?`wf-llm-models__list--embedded`:n?`wf-llm-models__list--compact`:``),children:I.length?I.map(([e,t])=>(0,x.jsx)(Pm,{provider:eg(e),children:t.map(e=>(0,x.jsx)(Fm,{label:e.label,model:e.model,provider:e.provider,isCurrent:e.model===H,isPending:!B&&S===e.model,disabled:v,singleLine:!0,onSelect:()=>void z(e.model,$h(e))},`${$h(e)}:${e.model}`))},e)):(0,x.jsx)(Sm,{children:L})}),n?null:(0,x.jsxs)(`div`,{className:`wf-llm-models__custom`,children:[(0,x.jsx)(`label`,{className:`wf-dialog-field__label`,htmlFor:`wf-model-custom-panel`,children:`Other model ID`}),(0,x.jsxs)(`div`,{className:`wf-dialog__custom-model-row`,children:[(0,x.jsx)(_r,{id:`wf-model-custom-panel`,className:`wf-dialog-input`,value:w,onChange:e=>T(e.target.value),placeholder:O===`openrouter`?`vendor/model-id`:`model-id`,disabled:v}),(0,x.jsx)(Oc,{onClick:()=>void z(w,O??``),disabled:v||!w.trim(),children:`Set`})]})]})]})]}):(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connect an LLM integration first.`})}var ig={mono:{canvas:`#f7f9fb`,surface:`#ffffff`,ink:`#0f172a`,inkMuted:`#55637a`,accent:`#0f172a`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid #d5dbe6`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},"minimal-light":{canvas:`#f7f9fb`,surface:`#ffffff`,ink:`#0f172a`,inkMuted:`#55637a`,accent:`#0f172a`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid #d5dbe6`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},"minimal-dark":{canvas:`#0b1120`,surface:`#121a2b`,ink:`#eef2f8`,inkMuted:`#9aa7bd`,accent:`#eef2f8`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid #33425e`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},"minimal-color":{canvas:`#f7f9fb`,surface:`#ffffff`,ink:`#0f172a`,inkMuted:`#55637a`,accent:`#0f766e`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid #d5dbe6`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},"neo-light":{canvas:`#e0e0e6`,surface:`#e0e0e6`,ink:`#27272a`,inkMuted:`#5d5d66`,accent:`#51466f`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`12px`,border:`none`,cardShadow:`3px 3px 6px rgba(0,0,0,0.15), -3px -3px 6px rgba(255,255,255,0.8)`,panelShadow:`3px 3px 6px rgba(0,0,0,0.15), -3px -3px 6px rgba(255,255,255,0.8)`,panelInsetShadow:`inset 3px 3px 6px rgba(0,0,0,0.15), inset -3px -3px 6px rgba(255,255,255,0.8)`,panelBorder:`none`},"neo-dark":{canvas:`#2a2d34`,surface:`#2a2d34`,ink:`#f4f4f5`,inkMuted:`#b5b7bd`,accent:`#d9d4ec`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`12px`,border:`none`,cardShadow:`3px 3px 6px rgba(0,0,0,0.5), -3px -3px 6px rgba(255,255,255,0.1)`,panelShadow:`3px 3px 6px rgba(0,0,0,0.5), -3px -3px 6px rgba(255,255,255,0.1)`,panelInsetShadow:`inset 3px 3px 6px rgba(0,0,0,0.5), inset -3px -3px 6px rgba(255,255,255,0.1)`,panelBorder:`none`},"neo-color":{canvas:`#e6e1f2`,surface:`#e6e1f2`,ink:`#2f2a45`,inkMuted:`#5c5479`,accent:`#5b4b8a`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`12px`,border:`none`,cardShadow:`3px 3px 6px rgba(47,42,69,0.18), -3px -3px 6px rgba(255,255,255,0.78)`,panelShadow:`3px 3px 6px rgba(47,42,69,0.18), -3px -3px 6px rgba(255,255,255,0.78)`,panelInsetShadow:`inset 3px 3px 6px rgba(47,42,69,0.18), inset -3px -3px 6px rgba(255,255,255,0.78)`,panelBorder:`none`},"brutalist-light":{canvas:`#fffdf7`,surface:`#ffffff`,ink:`#111111`,inkMuted:`#3d3d3d`,accent:`#ff90e8`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`4px`,border:`2px solid #111111`,cardShadow:`3px 3px 0 #111111`,panelShadow:`3px 3px 0 #111111`,panelInsetShadow:`none`,panelBorder:`2px solid #111111`},"brutalist-dark":{canvas:`#111111`,surface:`#1a1a1a`,ink:`#f5f2ea`,inkMuted:`#c9c4b8`,accent:`#ff90e8`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`4px`,border:`2px solid #f5f2ea`,cardShadow:`3px 3px 0 #f5f2ea`,panelShadow:`3px 3px 0 #f5f2ea`,panelInsetShadow:`none`,panelBorder:`2px solid #f5f2ea`},"liquid-glass-light":{canvas:`#dfe6f2`,surface:`color-mix(in srgb, #ffffff 30%, transparent)`,ink:`#17233f`,inkMuted:`#4a5a78`,accent:`#6e61ff`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`16px`,border:`1px solid rgb(255 255 255 / 34%)`,cardShadow:`0 8px 24px rgb(15 23 42 / 12%)`,panelShadow:`0 5px 12px rgb(0 0 0 / 12%)`,panelInsetShadow:`none`,panelBorder:`1px solid rgb(255 255 255 / 34%)`},"liquid-glass-dark":{canvas:`#10131c`,surface:`color-mix(in srgb, #161d33 30%, transparent)`,ink:`#f4f7ff`,inkMuted:`#9aa8c7`,accent:`#8e7cff`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`16px`,border:`1px solid rgb(255 255 255 / 14%)`,cardShadow:`0 10px 28px rgb(0 0 0 / 45%)`,panelShadow:`0 5px 12px rgb(0 0 0 / 35%)`,panelInsetShadow:`none`,panelBorder:`1px solid rgb(255 255 255 / 14%)`},"frosted-glass-light":{canvas:`#e4e8ef`,surface:`color-mix(in srgb, #f8fbfd 62%, transparent)`,ink:`#1c252c`,inkMuted:`#5c6b75`,accent:`#4d7c8a`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`10px`,border:`1px solid rgb(255 255 255 / 40%)`,cardShadow:`0 6px 18px rgb(15 23 42 / 10%)`,panelShadow:`0 4px 10px rgb(0 0 0 / 8%)`,panelInsetShadow:`none`,panelBorder:`1px solid rgb(255 255 255 / 40%)`},"frosted-glass-dark":{canvas:`#14161d`,surface:`color-mix(in srgb, #222a30 62%, transparent)`,ink:`#f1f5f7`,inkMuted:`#9aa5ad`,accent:`#8cb8c4`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`10px`,border:`1px solid rgb(255 255 255 / 12%)`,cardShadow:`0 8px 22px rgb(0 0 0 / 40%)`,panelShadow:`0 4px 10px rgb(0 0 0 / 30%)`,panelInsetShadow:`none`,panelBorder:`1px solid rgb(255 255 255 / 12%)`},bauhaus:{canvas:`#eeeeee`,surface:`#eeeeee`,ink:`#111111`,inkMuted:`#111111`,accent:`#0b3d91`,fontFamily:`"Helvetica Neue", Helvetica, Futura, "Century Gothic", Avenir, Arial, sans-serif`,radius:`0`,border:`2px solid #111111`,cardShadow:`3px 3px 0 #111111`,panelShadow:`3px 3px 0 #111111`,panelInsetShadow:`none`,panelBorder:`2px solid #111111`},"leather-book":{canvas:`#ede3cd`,surface:`#f7f0de`,ink:`#3a2c1c`,inkMuted:`#6b5949`,accent:`#7a4a21`,fontFamily:`"EB Garamond", Georgia, serif`,radius:`6px`,border:`1px solid #d3c3a0`,cardShadow:`0 1px 3px rgba(58,44,28,0.25)`,panelShadow:`0 1px 3px rgba(58,44,28,0.25)`,panelInsetShadow:`none`,panelBorder:`1px solid #cbb98f`},newspaper:{canvas:`#faf7f0`,surface:`#faf7f0`,ink:`#191817`,inkMuted:`#45423c`,accent:`#191817`,fontFamily:`"Source Serif 4", Georgia, serif`,radius:`0`,border:`1px solid #191817`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},notebook:{canvas:`#fcfcfa`,surface:`#ffffff`,ink:`#26262b`,inkMuted:`#5a5a61`,accent:`#26262b`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`0`,border:`1px solid #d4d4cc`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`1px solid #d4d4cc`},blueprint:{canvas:`#1d3d5c`,surface:`#234666`,ink:`#eaf2f9`,inkMuted:`#a9c3d8`,accent:`#eaf2f9`,fontFamily:`"IBM Plex Sans", ui-sans-serif, sans-serif`,radius:`0`,border:`1px solid rgba(234,242,249,0.38)`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`1px solid rgba(234,242,249,0.38)`}};function ag(e,t){return ig[e]||{canvas:t.canvas,surface:t.surface,ink:t.ink,inkMuted:t.ink,accent:t.accent,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid color-mix(in srgb, currentColor 20%, transparent)`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`}}function og({value:e,onChange:t,className:n,compact:r=!1,disabled:i=!1,label:a=`Theme`}){return(0,x.jsx)(`div`,{className:K(`wf-theme-settings`,r&&`wf-theme-settings--compact`,n),role:`radiogroup`,"aria-label":a,children:_c.map(n=>(0,x.jsxs)(`section`,{className:`wf-theme-settings__group`,"aria-label":n.label,children:[(0,x.jsx)(`h3`,{className:`wf-theme-settings__group-label`,children:n.label}),(0,x.jsx)(`ul`,{className:`wf-theme-settings__group-list`,children:n.options.map(({value:n,label:r,preview:a,style:o,texture:s})=>{let c=e===n,l=ag(n,a),u={"--wf-theme-preview-canvas":l.canvas,"--wf-theme-preview-surface":l.surface,"--wf-theme-preview-ink":l.ink,"--wf-theme-preview-ink-muted":l.inkMuted,"--wf-theme-preview-accent":l.accent,"--wf-theme-preview-font":l.fontFamily,"--wf-theme-preview-radius":l.radius,"--wf-theme-preview-panel-shadow":l.panelShadow,"--wf-theme-preview-panel-inset-shadow":l.panelInsetShadow,"--wf-theme-preview-panel-border":l.panelBorder};return(0,x.jsx)(`li`,{children:(0,x.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":c,className:K(`archi-theme-swatch wf-theme-settings__option`,c&&`is-active`),"aria-current":c?`true`:void 0,"data-preview-theme":n,"data-preview-style":o,"data-preview-texture":s,onClick:()=>t(n),disabled:i,children:(0,x.jsxs)(`span`,{className:`archi-theme-swatch__fill wf-theme-settings__fill`,style:u,children:[(0,x.jsxs)(`span`,{className:`wf-theme-settings__mock`,"aria-hidden":`true`,children:[(0,x.jsx)(`span`,{className:`wf-theme-settings__mock-rail`}),(0,x.jsxs)(`span`,{className:`wf-theme-settings__mock-surface`,children:[(0,x.jsx)(`span`,{className:`wf-theme-settings__mock-line`}),(0,x.jsx)(`span`,{className:`wf-theme-settings__mock-line is-short`}),(0,x.jsx)(`span`,{className:`wf-theme-settings__mock-action`})]})]}),(0,x.jsxs)(`span`,{className:`wf-theme-settings__option-copy`,children:[(0,x.jsx)(`span`,{className:`wf-theme-settings__label`,children:r}),(0,x.jsx)(`span`,{className:`wf-theme-settings__meta`,children:o})]}),c?(0,x.jsx)(G,{"aria-hidden":`true`,className:`wf-theme-settings__check`}):null]})})},n)})})]},n.family))})}function sg({title:e,children:t}){return(0,x.jsxs)(`div`,{className:`wf-provider-connect__group`,children:[(0,x.jsx)(`h4`,{className:`wf-provider-connect__group-title`,children:e}),(0,x.jsx)(`ul`,{className:`wf-provider-connect__list`,children:t})]})}function cg({row:e,disabled:t,isBusy:n,isExpanded:r,secretDraft:i=``,draftExtraSecrets:a={},oauthOutput:o,onToggle:s,onSecretChange:c,onExtraSecretChange:l,onCancel:u,onSave:d,onOAuth:f,lockSharedCredential:p}){let m=e.connect_mode===`bot_token`?`bot token`:`API key`,h=e.id===`github`&&e.connect_mode===`oauth`;return(0,x.jsxs)(`li`,{className:`wf-provider-connect__item`,children:[(0,x.jsxs)(`div`,{className:`wf-provider-connect__row`,children:[(0,x.jsx)(`div`,{className:`wf-sign-in-app__icon`,"aria-hidden":`true`,children:(0,x.jsx)(bm,{providerId:e.id,className:`wf-sign-in-app__brand-img`})}),(0,x.jsxs)(`div`,{className:`wf-provider-connect__copy`,children:[(0,x.jsxs)(`div`,{className:`wf-provider-connect__title-row`,children:[(0,x.jsx)(`strong`,{children:e.label}),(0,x.jsx)(`code`,{className:`wf-provider-connect__env`,children:e.env_var||`OAuth`}),e.user_only?(0,x.jsx)(`span`,{className:`wf-provider-connect__badge`,children:`per-user`}):null,e.source===`workspace`?(0,x.jsx)(`span`,{className:`wf-provider-connect__badge`,children:`shared`}):null]}),(0,x.jsx)(`span`,{className:`wf-provider-connect__desc`,children:e.description})]}),(0,x.jsx)(pm,{wrapperClassName:`wf-provider-connect__switch`,checked:e.connected,disabled:t||n||p&&e.source===`workspace`,"aria-label":`Connect ${e.label}`,onChange:e=>s(e.target.checked)})]}),r&&(e.connect_mode!==`oauth`||h)?(0,x.jsxs)(`div`,{className:`wf-provider-connect__editor`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-provider-secret-${e.id}`,children:h?`GitHub personal access token`:m}),h&&e.oauth_configured===!1?(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Fine-grained PAT works on its own — a workframe OAuth app is only needed for one-click GitHub connect.`}):null,(0,x.jsx)(wc,{id:`wf-provider-secret-${e.id}`,value:i,onChange:e=>c(e.target.value),saved:e.connected&&!i,emptyPlaceholder:h?`Paste personal access token`:`Paste ${m}`})]}),(e.extra_env_vars??[]).map(t=>(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-provider-extra-${e.id}-${t}`,children:t}),(0,x.jsx)(wc,{id:`wf-provider-extra-${e.id}-${t}`,value:a[t]??``,onChange:e=>l(t,e.target.value),saved:e.connected&&!(a[t]??``).trim(),emptyPlaceholder:`Paste ${t}`})]},t)),(0,x.jsxs)(`div`,{className:`wf-provider-connect__editor-actions`,children:[(0,x.jsx)(q,{wizardSize:!0,onClick:u,children:`Cancel`}),h&&e.oauth_configured&&f?(0,x.jsx)(q,{wizardSize:!0,disabled:n,onClick:f,children:`OAuth instead`}):null,(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:n||!i.trim(),onClick:d,children:n?`Saving…`:`Save`})]})]}):null,o?(0,x.jsx)(`pre`,{className:`wf-provider-connect__oauth-output wf-scroll wf-scroll--vertical`,children:o}):null]})}var lg=new Set([`codex`,`nous`]),ug={codex:`https://auth.openai.com/codex/device`};function dg(e){return lg.has(e)}function fg(e){return ug[e]??null}function pg({providerId:e,providerLabel:t,verificationUri:n,userCode:r,status:i,message:a,copied:o,presentation:s=`dialog`,onCopyCode:c,onCancel:l}){let u=n??fg(e),d=i===`error`,f=i===`connected`,p=!d,m=i===`starting`?`Starting device sign-in…`:i===`pending`&&!r?`Preparing your code…`:i===`pending`?`Waiting for sign-in — this updates automatically.`:f?a||`${t} is connected.`:``,h=f?`Done`:d?`Back`:`Cancel`;return(0,x.jsxs)(`div`,{className:K(`wf-auth-otp-panel`,s===`inline`&&`wf-device-oauth-panel--inline`),children:[p?(0,x.jsxs)(`div`,{className:`wf-auth-otp-panel__notice`,children:[`Sign in with your `,t,` account. Keep this open until connection completes.`]}):null,d&&a?(0,x.jsx)(Cm,{tone:`error`,children:a}):null,p?(0,x.jsxs)(`div`,{className:`wf-auth__form wf-auth-otp-panel__form`,children:[u?(0,x.jsxs)(`div`,{className:`wf-auth-otp-panel__field`,children:[(0,x.jsx)(Br,{className:`wf-auth-otp-panel__label`,children:`Sign-in page`}),(0,x.jsx)(`div`,{className:`wf-auth-otp-panel__actions`,children:(0,x.jsx)(`div`,{className:`wf-auth__row`,children:(0,x.jsx)(`a`,{href:u,target:`_blank`,rel:`noreferrer`,className:`wf-action-btn wf-wizard-btn`,"data-tone":`primary`,children:`Open sign-in page`})})})]}):null,r?(0,x.jsxs)(`div`,{className:`wf-auth-otp-panel__field`,children:[(0,x.jsx)(Br,{className:`wf-auth-otp-panel__label`,children:`Device code`}),(0,x.jsxs)(`div`,{className:`wf-auth__dev-code`,"aria-live":`polite`,children:[(0,x.jsx)(`span`,{className:`wf-auth__dev-code-label`,children:`Your code`}),(0,x.jsx)(`span`,{className:`wf-auth__dev-code-value`,children:r})]})]}):(0,x.jsxs)(`div`,{className:`wf-auth-otp-panel__field`,children:[(0,x.jsx)(Br,{className:`wf-auth-otp-panel__label`,children:`Device code`}),(0,x.jsx)(Sm,{children:i===`starting`?`Preparing your code…`:`Waiting for code…`})]}),m?(0,x.jsx)(`div`,{className:`wf-auth__row wf-auth-otp-panel__resend`,children:(0,x.jsx)(`span`,{className:`wf-auth__muted`,children:m})}):null]}):null,l&&s===`inline`?(0,x.jsx)(wm,{children:(0,x.jsxs)(`div`,{className:`wf-auth__row`,children:[r&&p?(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,onClick:c,children:o?`Copied`:`Copy code`}):null,(0,x.jsx)(q,{wizardSize:!0,onClick:l,children:h})]})}):r&&p&&s===`dialog`?(0,x.jsx)(`div`,{className:`wf-auth-otp-panel__actions`,children:(0,x.jsx)(`div`,{className:`wf-auth__row`,children:(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,onClick:c,children:o?`Copied`:`Copy code`})})}):null]})}function mg(e,t,n){Object.is(n.current,e)||(n.current=e,t(e))}function hg(e,t){return(e.message||e.output||e.error||t).trim()}function gg({providerId:e,providerLabel:t,workspaceId:n,active:r,onConnected:i,onError:a}){let[o,s]=(0,y.useState)(null),[c,l]=(0,y.useState)(null),[u,d]=(0,y.useState)(`idle`),[f,p]=(0,y.useState)(``),[m,h]=(0,y.useState)(!1),g=(0,y.useRef)(null),_=(0,y.useRef)(i),v=(0,y.useRef)(a),b=(0,y.useRef)(null),x=(0,y.useRef)(null),S=(0,y.useRef)(null);_.current=i,v.current=a;let C=(0,y.useCallback)(()=>{g.current!==null&&(window.clearInterval(g.current),g.current=null)},[]),w=(0,y.useCallback)(e=>{C(),S.current=null,d(`error`),p(e),v.current?.(e)},[C]),T=(0,y.useCallback)(()=>{C(),S.current=null,b.current=null,x.current=null,s(null),l(null),d(`idle`),p(``),h(!1)},[C]);return(0,y.useEffect)(()=>{if(!r){T();return}if(!e)return;let i=`${e}:${n??``}`;if(S.current===i)return;let a=!1;return S.current=i,d(`starting`),p(``),(async()=>{try{let r=await Y.startProviderOAuth(e,n);if(a)return;if(r.redirect_url){window.location.assign(r.redirect_url);return}if(!r.ok||!r.session_id){w(hg(r,`Could not start ${t} OAuth`));return}if(mg(r.verification_uri??null,s,b),mg(r.user_code??null,l,x),r.status===`connected`){d(`connected`),p(`${t} is connected.`),_.current?.();return}if(r.status===`error`){w(hg(r,`${t} OAuth failed`));return}d(`pending`);let i=r.session_id;g.current=window.setInterval(()=>{Y.providerOAuthStatus(e,i).then(e=>{if(!a){if(mg(e.verification_uri??null,s,b),mg(e.user_code??null,l,x),e.status===`connected`&&e.ok){C(),d(`connected`),p(`${t} is connected.`),_.current?.();return}(e.status===`error`||e.ok===!1)&&w(hg(e,`${t} OAuth failed`))}}).catch(e=>{a||w(e instanceof Error?e.message:`${t} OAuth failed`)})},3e3)}catch(e){if(a)return;w(e instanceof Error?e.message:`Failed to start ${t} OAuth`)}})(),()=>{a=!0,C()}},[r,C,w,e,t,T,n]),{verificationUri:o,userCode:c,status:u,message:f,copied:m,copyCode:(0,y.useCallback)(async()=>{if(c)try{await navigator.clipboard.writeText(c),h(!0),window.setTimeout(()=>h(!1),2e3)}catch{v.current?.(`Could not copy code to clipboard`)}},[c])}}function _g({row:e,workspaceId:t,active:n,presentation:r=`dialog`,reportToParent:i,onActiveChange:a,onConnected:o,onError:s}){let c=i??r===`dialog`,l=gg({providerId:e?.id??``,providerLabel:e?.label??`Provider`,workspaceId:t,active:n&&!!e,onConnected:o,onError:c?s:void 0});if(!e||!n)return null;let u=(0,x.jsx)(pg,{providerId:e.id,providerLabel:e.label,verificationUri:l.verificationUri,userCode:l.userCode,status:l.status,message:l.message,copied:l.copied,presentation:r,onCopyCode:()=>void l.copyCode(),onCancel:r===`inline`?()=>a?.(!1):void 0});return r===`inline`?u:(0,x.jsx)(tc,{open:n,onOpenChange:e=>a?.(e),children:(0,x.jsxs)(ic,{className:`wf-auth-dialog wf-dialog-content--device-oauth`,overlayClassName:`wf-dialog-overlay--opaque`,children:[(0,x.jsx)(ac,{children:(0,x.jsxs)(sc,{children:[`Connect `,e.label]})}),u,(0,x.jsx)(oc,{children:(0,x.jsx)(q,{wizardSize:!0,onClick:()=>a?.(!1),children:l.status===`connected`?`Done`:`Cancel`})})]})})}function vg(){let e=new URLSearchParams(window.location.search),t=e.get(`provider_connect`)?.trim();if(!t)return null;let n=e.get(`status`)===`ok`?`ok`:`error`;return{provider:t,status:n,message:e.get(`message`)?.trim()||(n===`ok`?`${t} connected`:`${t} connection failed`)}}function yg(){let e=new URLSearchParams(window.location.search);if(!e.has(`provider_connect`))return;e.delete(`provider_connect`),e.delete(`status`),e.delete(`message`);let t=e.toString(),n=`${window.location.pathname}${t?`?${t}`:``}${window.location.hash}`;window.history.replaceState({},``,n)}var bg={llm:`LLM integrations`,search:`Search integrations`,messaging:`Messaging integrations`,dev:`Developer integrations`,payments:`Payment integrations`};function xg({disabled:e,workspaceId:t,credentialScope:n=`user`,categories:r,providerIds:i,hint:a=`full`,layout:o=`stack`,scrollInner:s=!0,deviceOAuthPresentation:c=`dialog`,onStatus:l,onError:u,onConnected:d}){let[f,p]=(0,y.useState)([]),[m,h]=(0,y.useState)(!1),[g,_]=(0,y.useState)(null),[v,b]=(0,y.useState)({}),[S,C]=(0,y.useState)({}),[w,T]=(0,y.useState)(null),[E,D]=(0,y.useState)({}),[O,k]=(0,y.useState)(null),[A,j]=(0,y.useState)(``),M=(0,y.useRef)(null),N=(0,y.useRef)(u),P=(0,y.useRef)(l),F=(0,y.useRef)(d);M.current=O,N.current=u,P.current=l,F.current=d;let I=(0,y.useCallback)(async()=>{h(!0);try{p((await Y.listProviders(t,n===`workspace`?`workspace`:`effective`)).providers??[])}catch(e){N.current?.(e instanceof Error?e.message:`Failed to load integrations`)}finally{h(!1)}},[n,t]);(0,y.useEffect)(()=>{I()},[I]),(0,y.useEffect)(()=>{let e=vg();e&&(e.status===`ok`?(P.current?.(e.message),I(),F.current?.()):N.current?.(e.message),yg())},[I]);let L=(0,y.useMemo)(()=>{let e=new Map,t=r?.length?new Set(r):null,a=i?.length?new Set(i):null;for(let r of f){if(n===`workspace`&&(r.user_only||r.connect_mode===`oauth`)||t&&!t.has(r.category)||a&&!a.has(r.id))continue;let i=e.get(r.category)??[];i.push(r),e.set(r.category,i)}return[...e.entries()]},[r,n,i,f]);(0,y.useEffect)(()=>{L.length&&j(e=>e&&L.some(([t])=>t===e)?e:L[0][0])},[L]);let ee=(e,t)=>{p(n=>n.map(n=>n.id===e?{...n,...t}:n))},R=async e=>{_(e.id),u?.(``);try{n===`workspace`&&e.credential_id&&t?await Y.revokeWorkspaceCredential(t,e.credential_id):e.credential_id?await Y.disconnectCredential(e.credential_id):await Y.disconnectProvider(e.id),ee(e.id,{connected:!1,credential_id:null}),T(t=>t===e.id?null:t),b(t=>{let n={...t};return delete n[e.id],n}),l?.(`Disconnected ${e.label}.`)}catch(t){u?.(t instanceof Error?t.message:`Failed to disconnect ${e.label}`)}finally{_(null)}},te=async e=>{let r=(v[e.id]??``).trim();if(!r){u?.(`Enter a ${e.connect_mode===`bot_token`?`bot token`:`API key`} for ${e.label}.`);return}_(e.id),u?.(``);try{if(n===`workspace`){let n=t?.trim();if(!n){u?.(`Workspace ID is required for shared keys.`);return}let i=await Y.storeWorkspaceCredential(n,{provider:e.id,api_key:r,label:e.label});if(!i.ok){u?.(i.error??`Failed to save ${e.label}`);return}ee(e.id,{connected:!0,credential_id:i.credential_id??null}),b(t=>({...t,[e.id]:``})),T(null),l?.(`Saved ${e.label} for the workspace.`),e.category===`llm`&&d?.(),I();return}let i=await Y.saveUserCredential({provider:e.id,credential_type:e.connect_mode===`bot_token`?`bot_token`:(e.connect_mode,`api_key`),secret:r,env_var:e.env_var,label:e.label});ee(e.id,{connected:!0,credential_id:i.credential_id});for(let t of e.extra_env_vars??[]){let n=(S[e.id]?.[t]??``).trim();n&&await Y.saveUserCredential({provider:e.id,credential_type:`bot_token`,secret:n,env_var:t,label:`${e.label} ${t}`})}b(t=>({...t,[e.id]:``})),C(t=>({...t,[e.id]:{}})),T(null),l?.(`Saved ${e.label} to your Hermes profile.`),e.category===`llm`&&d?.(),I()}catch(t){u?.(t instanceof Error?t.message:`Failed to save ${e.label}`)}finally{_(null)}},z=async e=>{if(dg(e.id)){P.current?.(``),k(e);return}_(e.id),u?.(``);try{let n=await Y.startProviderOAuth(e.id,t);if(n.redirect_url){window.location.assign(n.redirect_url);return}n.output&&D(t=>({...t,[e.id]:n.output??``})),n.ok?(ee(e.id,{connected:!0}),l?.(`Started ${e.label} OAuth — finish in the opened window or follow the CLI output below.`)):u?.(n.message||n.output||n.error||`Could not start ${e.label} OAuth`),I()}catch(t){u?.(t instanceof Error?t.message:`Failed to start ${e.label} OAuth`)}finally{_(null)}},B=(0,y.useCallback)(()=>{let e=M.current;e&&(ee(e.id,{connected:!0}),P.current?.(`Connected ${e.label}.`),e.category===`llm`&&F.current?.(),I(),k(null))},[I]),V=async(t,r)=>{if(!(e||g)){if(!r&&n===`user`&&t.source===`workspace`){l?.(`This provider is funded by your Workframe. A Workframe admin manages the shared key.`);return}if(r){if(t.connect_mode===`oauth`){if(t.id===`github`&&t.oauth_configured===!1){T(t.id),l?.(`Paste a personal access token below, or use OAuth if your admin configured it.`);return}if(t.id===`stripe`&&t.oauth_configured===!1){u?.(`Ask your Workframe admin to register Stripe Connect under Integrations first.`);return}await z(t);return}T(t.id),l?.(`Paste your ${t.label} secret, then save.`);return}t.connected?await R(t):T(null)}};if(m&&!f.length)return(0,x.jsx)(Sm,{children:`Loading integrations…`});if(O&&c===`inline`)return(0,x.jsx)(_g,{row:O,workspaceId:t,active:!0,presentation:`inline`,reportToParent:!1,onActiveChange:e=>{e||k(null)},onConnected:B});let ne=o===`tabs`&&A?L.filter(([e])=>e===A):L;return(0,x.jsxs)(`div`,{className:`wf-provider-connect${o===`tabs`?` wf-provider-connect--tabs`:``}`,children:[a===`full`?(0,x.jsx)(`p`,{className:`wf-connect-panel__hint wf-connect-panel__hint--security`,children:n===`workspace`?(0,x.jsx)(x.Fragment,{children:`Shared workframe credentials — vault-encrypted and synced to the gateway.`}):(0,x.jsxs)(x.Fragment,{children:[`Keys here are `,(0,x.jsx)(`strong`,{children:`yours`}),` — agents, kanban, and dev actions bill and authenticate as you. Workframe bot tokens and OAuth apps are configured under Workframe Settings → Integrations.`]})}):a===`compact`?(0,x.jsx)(`p`,{className:`wf-connect-panel__hint wf-connect-panel__hint--inline`,children:n===`workspace`?`Shared workframe keys — vault-encrypted.`:`Your keys — saved to your Hermes profile.`}):null,o===`tabs`&&L.length>1?(0,x.jsx)(`div`,{className:`wf-provider-connect__tabs`,role:`tablist`,"aria-label":`Integration categories`,children:L.map(([e])=>(0,x.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":A===e,className:`wf-provider-connect__tab${A===e?` is-active`:``}`,onClick:()=>j(e),children:bg[e]??e},e))}):null,(0,x.jsx)(`div`,{className:o===`tabs`&&s?`wf-provider-connect__tab-panel wf-scroll wf-scroll--vertical`:o===`tabs`?`wf-provider-connect__tab-panel`:void 0,children:ne.map(([t,r])=>(0,x.jsx)(sg,{title:bg[t]??t,children:r.map(t=>(0,x.jsx)(cg,{row:t,disabled:e,isBusy:g===t.id,isExpanded:w===t.id,secretDraft:v[t.id]??``,draftExtraSecrets:S[t.id]??{},oauthOutput:E[t.id],lockSharedCredential:n===`user`,onToggle:e=>void V(t,e),onSecretChange:e=>b(n=>({...n,[t.id]:e})),onExtraSecretChange:(e,n)=>C(r=>({...r,[t.id]:{...r[t.id]??{},[e]:n}})),onCancel:()=>T(null),onSave:()=>void te(t),onOAuth:()=>void z(t)},t.id))},t))}),(0,x.jsx)(_g,{row:O,workspaceId:t,active:O!==null,presentation:`dialog`,onActiveChange:e=>{e||k(null)},onConnected:B,onError:u})]})}function Sg({step:e,busy:t,isInvitee:n=!1,adminEmail:r,credentialMode:i,workspaceId:a,mission:o,workframeName:s,workframeTagline:c,logoUrl:l,displayName:u,tagline:d,bio:f,avatarUrl:p,agentName:m,agentTagline:h,agentSoul:g,agentAvatar:_,agentPrimaryModel:v,agentModelTab:y,agentSteps:b,inviteEmails:S,publicUrl:C,httpsStatus:w,theme:T,resolveWorkframeName:E,onAdminEmailChange:D,onAdminEmailBlur:O,onPickMode:k,onCredentialModeChange:A,onLogoUrlChange:j,onWorkframeNameChange:M,onWorkframeTaglineChange:N,onMissionChange:P,onDisplayNameChange:F,onTaglineChange:I,onBioChange:L,onAvatarUrlChange:ee,onAgentNameChange:R,onAgentTaglineChange:te,onAgentSoulChange:z,onAgentAvatarChange:B,onAgentModelTabChange:V,onAgentPrimaryModelChange:ne,onAgentFallbackChainChange:re,onAgentProvidersConnected:H,onInviteEmailsChange:ie,onPublicUrlChange:U,onBindOAuthSave:ae,onError:W,onThemeChange:oe}){if(e===`theme`)return(0,x.jsx)(og,{value:T,onChange:oe,compact:!0,disabled:t,label:`Choose your theme`});if(e===`intro`)return(0,x.jsx)(Gc,{children:(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-intro-admin-email`,children:`Admin email`}),(0,x.jsx)(_r,{id:`wf-intro-admin-email`,type:`email`,value:r,onChange:e=>D(e.target.value),onBlur:O,placeholder:`admin@company.com`,disabled:t,autoComplete:`email`}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Primary admin account for this install — used for sign-in codes and setup notifications.`})]})});if(e===`welcome`)return(0,x.jsxs)(`div`,{className:`wf-wizard-mode-grid`,children:[Nc.map(e=>(0,x.jsxs)(`button`,{type:`button`,className:`wf-wizard-mode-card`,disabled:t,onClick:()=>k(e.id),children:[(0,x.jsx)(`strong`,{children:e.title}),(0,x.jsx)(`span`,{children:e.blurb})]},e.id)),Pc.map(e=>(0,x.jsxs)(`div`,{className:`wf-wizard-mode-card is-inactive`,"aria-disabled":`true`,children:[(0,x.jsx)(`strong`,{children:e.title}),(0,x.jsx)(`span`,{children:e.blurb})]},e.id))]});if(e===`integrations`)return(0,x.jsx)(Gc,{children:(0,x.jsx)(Nm,{disabled:t,onBindOAuthSave:e=>{ae(e)}})});if(e===`billing`)return(0,x.jsxs)(`div`,{className:`wf-wizard-choice-grid`,role:`radiogroup`,"aria-label":`Billing model`,children:[(0,x.jsxs)(`label`,{className:`wf-wizard-choice-card${i===`byok`?` is-selected`:``}`,children:[(0,x.jsx)(`input`,{type:`radio`,className:`wf-wizard-choice-card__input`,name:`wf-credential-mode`,checked:i===`byok`,onChange:()=>A(`byok`)}),(0,x.jsx)(`span`,{className:`wf-wizard-choice-card__radio`,"aria-hidden":`true`}),(0,x.jsxs)(`span`,{className:`wf-wizard-choice-card__body`,children:[(0,x.jsx)(`strong`,{children:`BYOK — bring your own keys`}),(0,x.jsx)(`span`,{children:`Each member connects personal LLM keys. Usage bills to them.`})]})]}),(0,x.jsxs)(`label`,{className:`wf-wizard-choice-card${i===`workspace`?` is-selected`:``}`,children:[(0,x.jsx)(`input`,{type:`radio`,className:`wf-wizard-choice-card__input`,name:`wf-credential-mode`,checked:i===`workspace`,onChange:()=>A(`workspace`)}),(0,x.jsx)(`span`,{className:`wf-wizard-choice-card__radio`,"aria-hidden":`true`}),(0,x.jsxs)(`span`,{className:`wf-wizard-choice-card__body`,children:[(0,x.jsx)(`strong`,{children:`Company-pays — shared keys`}),(0,x.jsx)(`span`,{children:`One shared key pool for all members. Admin manages integration keys.`})]})]})]});if(e===`workframe`)return(0,x.jsx)(Gc,{children:(0,x.jsx)(om,{avatarKind:`logo`,avatarUrl:l,onAvatarChange:j,avatarLabel:`Logo`,disabled:t,primary:{id:`wf-wf-name`,label:`Workframe name`,value:s,onChange:M},secondary:{id:`wf-wf-tag`,label:`Workframe tagline`,value:c,onChange:N},body:{id:`wf-wf-mission`,label:`Mission`,value:o,onChange:P,rows:3}})});if(e===`profile`)return(0,x.jsx)(Gc,{children:(0,x.jsx)(om,{avatarKind:`user`,avatarUrl:p,onAvatarChange:ee,disabled:t,primary:{id:`wf-profile-name`,label:`Display name`,value:u,onChange:F},secondary:{id:`wf-profile-tag`,label:`Tagline`,value:d,onChange:I},body:{id:`wf-profile-bio`,label:`About you`,value:f,onChange:L,rows:3}})});if(e===`agent_model`&&a){let e=n&&i===`workspace`;return(0,x.jsxs)(Gc,{tabs:e?[{id:`model`,label:`Models`}]:[{id:`keys`,label:n?`Your keys`:`Providers`},{id:`model`,label:`Models`}],activeTab:e?`model`:y,onTabChange:e=>V(e),tablistLabel:`Model setup`,children:[!e&&y===`keys`?(0,x.jsx)(xg,{workspaceId:a,credentialScope:i===`workspace`?`workspace`:`user`,categories:[`llm`],hint:`none`,layout:`stack`,scrollInner:!1,disabled:t,onConnected:H,onError:e=>{let t=e.trim();W(t?{tone:`caution`,message:t}:null)}}):null,e||y===`model`?(0,x.jsx)(rg,{workspaceId:a,embedded:!0,selectionOnly:!0,value:v,onChanged:ne,onFallbacksDraftChange:re,onLoaded:e=>{e.primary?.trim()&&ne(e.primary.trim());let t=(e.fallback_chain??[]).filter(e=>!!(e?.provider?.trim()&&e?.model?.trim()));t.length&&re(t)},onError:e=>{let t=e.trim();W(t?{tone:`caution`,message:t}:null)}}):null]})}return e===`agent`?(0,x.jsxs)(Gc,{children:[b.length?(0,x.jsx)(Tc,{steps:b,title:`Setting up your agent`,className:`wf-mb-4`}):null,(0,x.jsx)(om,{avatarKind:`agent`,avatarUrl:_,onAvatarChange:B,disabled:t,primary:{id:`wf-agent-name`,label:`Name`,value:m,onChange:R},secondary:{id:`wf-agent-tag`,label:`Tagline`,value:h,onChange:te},body:{id:`wf-agent-soul`,label:`Soul / instructions`,value:g,onChange:z,rows:4,placeholder:zc(m,E())}})]}):e===`invites`?(0,x.jsx)(Gc,{children:(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-invite-emails`,children:`Email addresses`}),(0,x.jsx)(_r,{id:`wf-invite-emails`,value:S,onChange:e=>ie(e.target.value),placeholder:`a@co.com, b@co.com`}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Comma-separated. Skip to invite teammates later in Workframe Settings.`})]})}):e===`publish`?(0,x.jsx)(Gc,{className:`wf-publish-step`,children:(0,x.jsx)(dm,{publicUrl:C,onPublicUrlChange:U,disabled:t,httpsStatus:w})}):null}function Cg({title:e,description:t,children:n}){return(0,x.jsxs)(`div`,{className:`wf-onboarding-page wf-onboarding-page--gate`,children:[(0,x.jsx)(`div`,{className:`wf-onboarding-page__theme`,children:(0,x.jsx)(vc,{})}),(0,x.jsx)(uc,{open:!0,modal:!It(),onOpenChange:()=>{},title:e,description:t,showClose:!1,contentClassName:`wf-auth-dialog`,children:n})]})}function wg(e){return N(e)?{src:gm.workframe,mono:!0}:{src:gm.workframeColor,mono:!1}}function Tg({projectName:e,brandLogoUrl:t,step:n,steps:r,maxReachableIndex:i,onStepSelect:a,title:o,description:s,footer:c,children:l}){let u=ee(),d=(0,y.useRef)(null),f=Math.max(0,r.findIndex(e=>e.id===n)),p=i??f,m=r.length>1?Math.round((f+1)/r.length*100):100,h=(0,y.useMemo)(()=>{let e=new Map;for(let t of r){let n=e.get(t.group)??[];n.push(t),e.set(t.group,n)}return[...e.entries()]},[r]),g=wg(u),_=t??g.src,v=t?!1:g.mono;return(0,y.useLayoutEffect)(()=>{d.current?.scrollTo({top:0,left:0,behavior:`auto`})},[n]),(0,x.jsxs)(`div`,{className:`wf-onboarding-page`,children:[(0,x.jsx)(`div`,{className:`wf-onboarding-page__theme`,children:(0,x.jsx)(vc,{})}),(0,x.jsxs)(`div`,{className:`wf-onboarding-wizard`,children:[(0,x.jsxs)(`aside`,{className:`wf-onboarding-wizard__rail`,"aria-label":`Setup steps`,children:[(0,x.jsxs)(`div`,{className:`wf-onboarding-wizard__brand`,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__logo wf-onboarding-wizard__logo--image`,"aria-hidden":`true`,children:(0,x.jsx)(`img`,{src:_,alt:``,className:v?`wf-brand-img--mono`:void 0})}),(0,x.jsxs)(`div`,{className:`wf-onboarding-wizard__brand-copy`,children:[(0,x.jsx)(`strong`,{children:e}),(0,x.jsx)(`span`,{children:`Setup wizard`})]})]}),(0,x.jsx)(`nav`,{className:`wf-onboarding-wizard__nav wf-scroll wf-scroll--vertical wf-scroll--inset-rail wf-scroll-host`,children:h.map(([e,t])=>(0,x.jsxs)(`div`,{className:`wf-onboarding-wizard__group`,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__group-label`,children:e}),(0,x.jsx)(`ol`,{className:`wf-onboarding-wizard__steps`,children:t.map(e=>{let t=r.findIndex(t=>t.id===e.id),n=t<f?`done`:t===f?`current`:`upcoming`,i=!!a&&t>=0&&t<=p&&n!==`current`,o=(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__step-mark`,"aria-hidden":`true`,children:n===`done`?`✓`:e.configured&&n===`upcoming`?`●`:String(t+1)}),(0,x.jsxs)(`span`,{className:`wf-onboarding-wizard__step-copy`,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__step-label`,children:e.label}),e.detail?(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__step-detail`,children:e.detail}):null]})]});return(0,x.jsx)(`li`,{className:`is-${n}${e.configured?` is-configured`:``}${i?` is-clickable`:``}`,"aria-current":n===`current`?`step`:void 0,children:i?(0,x.jsx)(`button`,{type:`button`,className:`wf-onboarding-wizard__step-btn`,title:e.detail?`${e.label}: ${e.detail}`:e.label,onClick:()=>a?.(e.id),children:o}):(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__step-btn is-static`,children:o})},e.id)})})]},e))})]}),(0,x.jsxs)(`section`,{className:`wf-onboarding-wizard__panel`,children:[(0,x.jsxs)(`header`,{className:`wf-onboarding-wizard__header`,children:[(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__progress`,role:`progressbar`,"aria-valuenow":m,"aria-valuemin":0,"aria-valuemax":100,"aria-label":`Setup progress`,children:(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__progress-bar`,style:{width:`${m}%`}})}),(0,x.jsxs)(`p`,{className:`wf-onboarding-wizard__step-count`,children:[`Step `,f+1,` of `,r.length]}),(0,x.jsx)(`h1`,{className:`wf-onboarding-wizard__title`,children:o}),s?(0,x.jsx)(`p`,{className:`wf-onboarding-wizard__description`,children:s}):null]}),(0,x.jsx)(`div`,{ref:d,className:`wf-onboarding-wizard__body wf-scroll wf-scroll--vertical wf-scroll-host`,children:l}),c?(0,x.jsx)(`footer`,{className:`wf-onboarding-wizard__footer`,children:c}):null]})]})]})}function Eg(e){async function t(){if(!e.workspaceId){e.setLaunchError(xi(Error(`workspace_missing`),`Finish join`));return}e.setLaunching(!0),e.setLaunchError(null),e.setLaunchSteps(Bc(void 0,`pending`).map((e,t)=>({...e,status:t===0?`active`:`pending`}))),e.setBusy(!0);try{if(!(await Y.getMyCohort(e.workspaceId)).ok)throw Error(`Agent runtime provisioning failed`);e.setLaunchSteps(Bc(void 0,`done`)),e.setStep(`done`),await new Promise(e=>window.setTimeout(e,350)),e.onComplete()}catch(t){let n=xi(t,`Finish join`);e.setLaunchError(n),e.setLaunchSteps(e=>e.map(e=>e.status===`active`?{...e,status:`error`,detail:n}:e))}finally{e.setBusy(!1),e.setLaunching(!1)}}async function n(n){if(e.isInvitee){await t();return}if(e.deploymentMode!==`single_user_local`&&!e.adminVerified){let t=xi(Error(`no_session`),`Finish setup`);e.setLaunchError(t),e.setStep(`smtp`);return}n?.alreadyLaunching?e.setLaunchSteps(e=>{let t=e.filter(e=>e.id!==`finalize`),n=t.findIndex(e=>e.status===`pending`);return t.map((e,t)=>t===n?{...e,status:`active`}:e)}):(e.setLaunching(!0),e.setLaunchError(null),e.setLaunchSteps(Bc().map((e,t)=>({...e,status:t===0?`active`:`pending`})))),e.setBusy(!0);try{if(e.deploymentMode===`single_user_local`&&!e.isInvitee){let t=e.adminEmail.trim().toLowerCase();if(!t||!t.includes(`@`))throw Error(`email_required`);let n={display_name:e.displayName||t.split(`@`)[0]||`Owner`,email:t,bio:e.bio,workframe_name:e.resolveWorkframeName(),agent_name:e.agentName,agent_tagline:e.agentTagline,agent_soul:e.agentSoul.trim()||e.bio,model:e.agentPrimaryModel.trim()},r=await Y.completeInstall(n);if(!r.ok)throw Error(r.error||`Finish setup failed`);e.setLaunchSteps(Bc(r.steps,`active`)),await new Promise(e=>window.setTimeout(e,450)),e.setLaunchSteps(Bc(r.steps,`done`)),e.setStep(`done`),await new Promise(e=>window.setTimeout(e,350)),e.onComplete();return}let t={bio:e.bio,workframe_name:e.resolveWorkframeName(),agent_name:e.agentName,agent_tagline:e.agentTagline,agent_soul:e.agentSoul.trim()||e.bio,model:e.agentPrimaryModel.trim()},n=await Y.completeInstall(t);if(!n.ok)throw Error(n.error||`Finish setup failed`);e.setLaunchSteps(Bc(n.steps,`active`)),await new Promise(e=>window.setTimeout(e,450)),e.setLaunchSteps(Bc(n.steps,`done`)),e.setStep(`done`),await new Promise(e=>window.setTimeout(e,350)),e.onComplete()}catch(t){let n=xi(t,`Finish setup`);e.setLaunchError(n),e.setLaunchSteps(e=>e.map(e=>e.status===`active`?{...e,status:`error`,detail:n}:(e.status,e)))}finally{e.setBusy(!1)}}async function r(){if(!e.workspaceId)return;let t=e.inviteEmails.split(/[,\s]+/).map(e=>e.trim()).filter(Boolean);e.setLaunching(!0),e.setLaunchError(null),e.setLaunchSteps(Bc(void 0,`pending`,{includeInvites:!0}).map((e,t)=>({...e,status:t===0?`active`:`pending`})));try{for(let n=0;n<t.length;n+=1){let r=t[n];e.setLaunchSteps(e=>e.map(e=>e.id===`invites`?{...e,status:`active`,detail:`Sending ${n+1} of ${t.length}…`}:e)),await Y.createWorkspaceInvite(e.workspaceId,{email:r,role:`member`})}t.length?e.setLaunchSteps(e=>e.map(e=>e.id===`invites`?{...e,status:`done`,detail:`${t.length} sent`}:e)):e.setLaunchSteps(e=>e.filter(e=>e.id!==`invites`)),await n({alreadyLaunching:!0})}catch(t){let n=xi(t,`Send invites`);e.setLaunchError(n),e.setLaunchSteps(e=>e.map(e=>e.status===`active`?{...e,status:`error`,detail:n}:e)),e.setLaunching(!0)}}return{finishInviteeOnboarding:t,finishInstall:n,sendInvites:r}}function Dg(e){async function t(t=!1){e.setBusy(!0),e.setError(null);try{if(!await e.ensureAdminSession())return;if(!t){let t=e.oauthSaveRef.current;if(t&&!await t())return}await e.reloadStack(),e.workspaceId&&await Y.patchWorkspaceIntegrations(e.workspaceId,{admin_integrations_done:!0}),e.setStep(`profile`)}catch(t){e.setError(_i(t,`Save integrations`))}finally{e.setBusy(!1)}}async function n(){await t(!0)}async function r(){if(!e.workspaceId){e.setStep(`integrations`);return}e.setBusy(!0);try{if(!await e.ensureAdminSession())return;await Y.patchWorkspaceIntegrations(e.workspaceId,{credential_mode:e.credentialMode,admin_integrations_done:!0}),e.setStep(`integrations`)}catch(t){e.setError(_i(t,`Save billing`))}finally{e.setBusy(!1)}}async function i(){if(e.workspaceId){e.setBusy(!0);try{if(!await e.ensureAdminSession())return;let t=e.logoUrl?em(e.logoUrl):null;await Y.patchWorkspace(e.workspaceId,{display_name:e.resolveWorkframeName(),description:e.mission,...t??{},tagline:e.workframeTagline}),await Y.patchWorkspaceIntegrations(e.workspaceId,{admin_onboarding_done:!0}),e.setStep(`billing`)}catch(t){e.setError(_i(t,`Save workframe`))}finally{e.setBusy(!1)}}}async function a(){e.setBusy(!0);try{let t=e.avatarUrl?$p(e.avatarUrl):null;await Y.updateMe({display_name:e.displayName||void 0,tagline:e.tagline||void 0,bio:e.bio||void 0,...t??{}}),e.setStep(e.isInvitee?`agent_model`:`agent`)}catch(t){e.setError(_i(t,`Save profile`))}finally{e.setBusy(!1)}}async function o(){if(e.workspaceId){e.setBusy(!0),e.setError(null);try{let t=await vh(void 0,e.workspaceId,{selectionOnly:!0}),n=(e.agentPrimaryModel||t.primary||``).trim(),r=e.agentFallbackChain.length>=2?e.agentFallbackChain:t.fallback_chain??[],i=r[0]?.model?.trim()??``,a=r[1]?.model?.trim()??``,o=t.connected_providers??[],s=!!(t.has_llm_provider||o.length||e.connectedProviders.length),c=e.credentialMode===`byok`,l=!!(t.stack_llm_available||s);if(c&&!s){e.setError({tone:`caution`,message:`Connect at least one LLM integration first.`,hint:`Add a provider key under Providers, then pick primary and fallback models.`}),e.setAgentModelTab(`keys`);return}if(!c&&!l&&!e.connectedProviders.length){e.setError({tone:`caution`,message:`No workspace LLM provider is configured yet.`,hint:`Ask your admin to connect a shared provider, or switch this workspace to BYOK.`}),e.setAgentModelTab(`keys`);return}if(!n||!e.isInvitee&&(!i||!a)){e.setError({tone:`caution`,message:`Configure primary and both fallback models.`,hint:`Pick one model for each slot — Primary, Fallback 1, and Fallback 2.`}),e.setAgentModelTab(`model`);return}let u=String(t.billing_provider||t.provider||``).trim(),d=await bh(n,void 0,e.workspaceId,{selectionOnly:!0,billingProvider:u||void 0});if(!d.ok)throw Error(d.error||`Could not save primary model`);if(r.length){let e=await xh(r.map(e=>({provider:e.provider,model:e.model})),void 0,{selectionOnly:!0});if(!e.ok)throw Error(e.error||`Could not save fallback models`)}if(e.setAgentPrimaryModel(n),e.isInvitee){await e.finishInviteeOnboarding();return}if(e.deploymentMode===`single_user_local`){await e.finishInstall();return}e.setStep(`invites`)}catch(t){e.setError(_i(t,`Save agent model`))}finally{e.setBusy(!1)}}}async function s(){if(e.workspaceId){e.setBusy(!0),e.setError(null),e.setAgentSteps(Mc.map((e,t)=>({...e,status:t===0?`active`:`pending`})));try{let t=e.agentSoul.trim()||zc(e.agentName,e.resolveWorkframeName()),n=e.agentAvatar?Yp(e.agentAvatar):null;await Y.patchNativeAgent({workspace_id:e.workspaceId,display_name:e.agentName,tagline:e.agentTagline,...n??{},soul:t}),e.setAgentSteps(Mc.map(e=>({...e,status:`done`}))),e.setStep(`agent_model`)}catch(t){e.setAgentSteps(Mc.map(e=>({...e,status:`error`,detail:t instanceof Error?t.message:`Failed`}))),e.setError(_i(t,`Save agent`))}finally{e.setBusy(!1),e.isInvitee||window.setTimeout(()=>e.setAgentSteps([]),600)}}}return{saveIntegrations:t,skipIntegrations:n,saveBilling:r,saveWorkframe:i,saveProfile:a,saveAgentModel:o,saveAgent:s}}function Og(e){async function t(t=!1){let n=Number(e.smtpPort)||587,r=e.smtpFrom.trim(),i=e.smtpPass.trim(),a=e.adminEmail.trim();if(t&&!a)throw Error(`Admin email is required`);if(t&&!i&&!e.smtpHasPassword)throw Error(`SMTP password is required`);return await e.patchInstallStackWhenAllowed({smtp:{host:e.smtpHost,port:n,user:e.smtpUser,...a?{admin_email:a}:{},...i?{password:i}:{},...r?{from:r}:{},secure:n===465?`ssl`:`starttls`}})?(i&&(e.setSmtpHasPassword(!0),e.setSmtpPass(``)),await e.reloadStack(),!0):!1}async function n(){e.setBusy(!0),e.setError(null),e.setSmtpPhase(`setup`);try{if(e.setSmtpPhase(`smtp`),!await t(!0))return!1;let n=e.adminEmail.trim();if(!n)throw Error(`Admin email is required`);if(e.setSmtpPhase(`test-email`),!(await Y.testInstallEmail(n)).ok)throw Error(`Test email failed`);return await e.reloadStack(),e.setSmtpFieldsDirty(!1),e.setError(null),!0}catch(t){return e.setError(_i(t,`SMTP test`)),!1}finally{e.setBusy(!1),e.setSmtpPhase(null)}}async function r(){e.setBusy(!0),e.setError(null);try{if(!await t(!1))return;if(!e.adminEmail.trim())throw Error(`Admin email is required`);let{devOtp:n,notice:r}=ta(await Y.startEmailVerification(e.adminEmail.trim()),e.adminEmail.trim());e.setAdminAuthDevOtp(n),e.setAdminAuthNotice(r),e.setAdminOtpStep(`otp`),e.setStep(`admin_auth`)}catch(t){e.setError(_i(t,`Send verification code`))}finally{e.setBusy(!1)}}async function i(){let t=e.adminEmail.trim();t&&await e.patchInstallStackWhenAllowed({smtp:{admin_email:t}})}async function a(){if(e.canKeepAdminSetup){e.setBusy(!0),e.setError(null);try{if(e.smtpHost.trim()&&!await t(!1))return;e.setSmtpFieldsDirty(!1),e.setStep(`workframe`)}catch(t){e.setError(_i(t,`Save SMTP`))}finally{e.setBusy(!1)}return}if(e.adminVerified){e.setBusy(!0),e.setError(null);try{if(e.smtpHost.trim()&&!await t(!1))return;e.setSmtpFieldsDirty(!1),e.setStep(`workframe`)}catch(t){e.setError(_i(t,`Save SMTP`))}finally{e.setBusy(!1)}return}if(e.smtpFieldsDirty&&e.smtpSetupComplete){e.setError({tone:`caution`,message:`SMTP settings changed.`,hint:`Send a test email to confirm your changes before continuing.`});return}if(!e.smtpSetupComplete){e.setError({tone:`caution`,message:`Send a test email before continuing.`,hint:`Use “Send test email” once to verify SMTP. After that you can move between steps without testing again.`});return}await r()}return{testSmtpOnly:n,persistAdminEmail:i,continueFromSmtp:a}}function kg(e){return e}var Ag=[{id:`theme`,label:`Your Theme`,group:`Join`},{id:`profile`,label:`Your Identity`,group:`Join`},{id:`agent_model`,label:`Provider & model`,group:`Join`}];function jg(e,t,n){if(n)return Ag;if(!t)return[{id:`intro`,label:`Welcome`,group:`Setup`},{id:`theme`,label:`Your Theme`,group:`Setup`},{id:`welcome`,label:`Deployment`,group:`Setup`}];let r=[{id:`intro`,label:`Welcome`,group:`Setup`},{id:`theme`,label:`Your Theme`,group:`Setup`},{id:`welcome`,label:`Deployment`,group:`Setup`}];return e===`public_multi_user`&&r.push({id:`publish`,label:`Public URL`,group:`Setup`}),e!==`single_user_local`&&r.push({id:`smtp`,label:`Email delivery`,group:`Setup`},{id:`admin_auth`,label:`Verify email`,group:`Setup`}),r.push({id:`workframe`,label:`Workframe Profile`,group:`Workframe`},{id:`billing`,label:`Billing Model`,group:`Workframe`},{id:`integrations`,label:`Integrations`,group:`Workframe`},{id:`profile`,label:`Your Identity`,group:`User Profile`},{id:`agent`,label:`Your Agent`,group:`User Profile`},{id:`agent_model`,label:`Agent's Model`,group:`User Profile`}),e!==`single_user_local`&&r.push({id:`invites`,label:`Your Team`,group:`User Profile`}),r}function Mg(e,t,n){switch(e){case`intro`:return{title:`Set up ${t}`,description:`Enter the admin email to register the owner account, then continue through deployment, SMTP, and email verification.`};case`welcome`:return{title:`Deployment`,description:`Choose who will use this Workframe install.`};case`theme`:return{title:`Pick a theme`,description:`Make Workframe feel like yours. You can change this anytime in User Settings → Appearance.`};case`smtp`:return{title:`Email delivery`,description:`Configure and test SMTP for sign-in codes, invites, and notifications.`};case`admin_auth`:return{title:`Verify admin email`,description:`Enter the temporary code sent to your admin email.`};case`integrations`:return{title:`Integrations`,description:`Optional — member sign-in (OAuth) and agent messaging bots.`};case`billing`:return{title:`Billing Model`,description:`Choose BYOK (each member’s keys) or company-pays (shared keys).`};case`workframe`:return{title:`Workframe Profile`,description:`Name, logo, and mission shown across your Workframe.`};case`profile`:return{title:n?`Join ${t}`:`Your Identity`,description:n?`Set how teammates see you in chat and rooms.`:`Your display name and avatar in Workframe.`};case`agent`:return{title:`Your Agent`,description:`Your concierge agent — name, avatar, and operating instructions.`};case`agent_model`:return n?{title:`Provider & model`,description:`Connect your LLM key (BYOK) or pick a model when your workspace shares billing.`}:{title:`Agent's Model`,description:`Choose the primary model for your native agent. Connect integration keys first when using BYOK.`};case`invites`:return{title:`Your Team`,description:`Send email invites now, or skip and invite later in Workframe Settings.`};case`publish`:return{title:`Public URL`,description:`Point DNS at this server, enable HTTPS, then test the connection.`};default:return{title:t,description:``}}}var Ng={single_user_local:`Just me on this environment`,trusted_team:`My team on Docker`,public_multi_user:`Public on the web`};function Pg(e,t=36){let n=e.trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function Fg(e,t=2){let n=e.filter(Boolean);return n.length?n.length<=t?n.join(`, `):`${n.slice(0,t).join(`, `)} +${n.length-t}`:``}function Ig(e,t){return e.map(e=>{switch(e.id){case`intro`:return t.adminEmail.trim()?{...e,configured:!0,detail:Pg(t.adminEmail,42)}:e;case`welcome`:return t.modeChosen?{...e,configured:!0,detail:Ng[t.deploymentMode]??t.deploymentMode}:e;case`theme`:return{...e,configured:t.themeConfirmed,detail:t.themeLabel||`Optional`};case`smtp`:{let n=t.smtpHost.trim()||t.stack?.smtp?.host?.trim()||``,r=!!(t.stack?.smtp?.configured||n);return t.adminVerified?{...e,configured:!0,detail:n?`${n} · verified`:t.smtpUser.trim()||`Admin verified`}:r?{...e,configured:!!t.stack?.smtp?.setup_complete,detail:n?`${n}${t.stack?.smtp?.setup_complete?` · ready`:t.stack?.smtp?.tested?` · tested`:``}`:`Configure SMTP`}:e}case`admin_auth`:return t.adminVerified?{...e,configured:!0,detail:Pg(t.adminEmail,42)||`Verified`}:{...e,detail:t.adminEmail.trim()?Pg(t.adminEmail,42):`Code required`};case`integrations`:{let n=[];t.stack?.google_oauth?.enabled&&n.push(`Google`),t.stack?.github_oauth?.enabled&&n.push(`GitHub`),t.stack?.discord_oauth?.enabled&&n.push(`Discord`),t.stack?.telegram_login?.enabled&&n.push(`Telegram`),t.workspaceIntegrations?.github_oauth_configured&&!t.stack?.github_oauth?.enabled&&n.push(`GitHub`);let r=Fg(n);return r?{...e,configured:!0,detail:r}:{...e,detail:`Optional`}}case`billing`:return{...e,configured:!0,detail:t.credentialMode===`workspace`?`Company-pays`:`BYOK`};case`workframe`:{let n=t.workframeTagline.trim()?Pg(t.workframeTagline):t.workframeName.trim()?Pg(t.workframeName):`Logo & tagline`;return{...e,configured:!!(t.workframeTagline.trim()||t.workframeName.trim()),detail:n}}case`profile`:{let n=t.userTagline.trim()||t.displayName.trim()||void 0;return{...e,configured:!!n,detail:n}}case`agent`:return{...e,configured:!!t.agentName.trim(),detail:t.agentTagline.trim()||t.agentName.trim()||void 0};case`agent_model`:{let n=Pg(t.agentPrimaryModel,42);return t.agentPrimaryModel.trim()?{...e,configured:!0,detail:n}:{...e,detail:t.connectedProviders.length?`Choose model`:`Connect keys`}}case`invites`:{let n=t.inviteEmails.split(/[,\s]+/).map(e=>e.trim()).filter(Boolean);return n.length?{...e,configured:!0,detail:`${n.length} invite${n.length===1?``:`s`}`}:{...e,detail:`Optional`}}case`publish`:return t.publicUrl.trim()?{...e,configured:!0,detail:Pg(t.publicUrl,42)}:{...e,detail:`Set public URL`};default:return e}})}function Lg(e){return e}function Rg({projectName:e,onComplete:t,inviteToken:n=``,inviteEmail:r=``}){let i=!!n.trim(),{theme:a,setTheme:o}=dc(),[s,c]=(0,y.useState)(!1),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(i?`theme`:`intro`),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(null),[_,v]=(0,y.useState)(null),[b,x]=(0,y.useState)(null),[S,C]=(0,y.useState)(`trusted_team`),[w,T]=(0,y.useState)(!1),[E,D]=(0,y.useState)(``),[O,A]=(0,y.useState)(`587`),[j,M]=(0,y.useState)(``),[N,P]=(0,y.useState)(``),[F,I]=(0,y.useState)(!1),[L,ee]=(0,y.useState)(``),[R,te]=(0,y.useState)(r),[z,B]=(0,y.useState)(null),[V,ne]=(0,y.useState)(``),[re,H]=(0,y.useState)(`otp`),[ie,U]=(0,y.useState)(!1),[ae,W]=(0,y.useState)(!1),[oe,se]=(0,y.useState)(!1),[ce,le]=(0,y.useState)(0),[ue,de]=(0,y.useState)(),[fe,pe]=(0,y.useState)([]),[G,me]=(0,y.useState)(`byok`),[he,ge]=(0,y.useState)(``),[_e,ve]=(0,y.useState)(``),[ye,be]=(0,y.useState)(e),[xe,Se]=(0,y.useState)(``),[Ce,we]=(0,y.useState)(()=>Hp(`logo`)||Wp),[Te,Ee]=(0,y.useState)(``),[De,Oe]=(0,y.useState)(``),[ke,Ae]=(0,y.useState)(``),[je,Me]=(0,y.useState)(()=>Hp(`user`)||Up),[Ne,Pe]=(0,y.useState)(`${e} Agent`),[Fe,Ie]=(0,y.useState)(`Workframe Manager`),[Le,Re]=(0,y.useState)(``),ze=(0,y.useRef)(``),[Be,Ve]=(0,y.useState)(()=>Hp(`agent`)||Up),[He,Ue]=(0,y.useState)(``),[We,Ge]=(0,y.useState)(``),[Ke,qe]=(0,y.useState)(null),[Je,Ye]=(0,y.useState)(``),[Xe,Ze]=(0,y.useState)([]),[Qe,$e]=(0,y.useState)(`keys`),[et,tt]=(0,y.useState)([]),[nt,rt]=(0,y.useState)(!1),[it,at]=(0,y.useState)([]),[ot,st]=(0,y.useState)(null),[ct,lt]=(0,y.useState)(!1),[ut,dt]=(0,y.useState)(!1),ft=(0,y.useRef)(null),pt=(0,y.useCallback)(e=>{ft.current=e},[]),mt=(0,y.useCallback)(()=>ye.trim()||e,[ye,e]),ht=(0,y.useCallback)(async e=>{let t=await Y.getInstallStatus();return t.install_window_open&&!t.install_complete||await Y.peekSession()?(await Y.patchInstallStack(e),!0):(lt(!0),!1)},[]),gt=(0,y.useCallback)(async()=>{let e=await Y.peekSession();if(e)return!0;try{if(e=await Y.restoreSession(),e)return!0}catch{}return f(`admin_auth`),v(_i({error:`no_session`},`Sign in`)),!1},[]),_t=(0,y.useCallback)(()=>se(!0),[]),vt=(0,y.useCallback)(async()=>{try{let e=await Y.peekSession(),t=await Y.getInstallStack();if(x(t),t.deployment_mode&&(C(t.deployment_mode),T(!0)),t.app_base_url&&Ge(t.app_base_url),t.smtp){let n=Lc(t.smtp,e?.user?.email??void 0);n&&te(e=>Rc(e,n,t.smtp?.user)),I(!!t.smtp.has_password),t.smtp.host&&(D(t.smtp.host),A(String(t.smtp.port||587)),t.smtp.user&&M(t.smtp.user),t.smtp.from&&ee(t.smtp.from))}return t}catch{if(await Y.peekSession())return null;try{(await Y.getInstallStatus()).install_complete&&lt(!0)}catch{}return null}},[]),yt=(0,y.useCallback)(async e=>{if(e)try{let[t,n]=await Promise.all([Y.getWorkspace(e),Y.listProviders(e)]);de(t.workspace?.integrations),t.workspace?.credential_mode&&me(t.workspace.credential_mode),t.workspace&&(t.workspace.display_name&&be(t.workspace.display_name),ve(t.workspace.description??``),t.workspace.avatar_url&&we(nm(t.workspace.avatar_url)),Se(t.workspace.tagline??``)),pe((n.providers??[]).filter(e=>e.connected&&e.category===`llm`).map(e=>e.label))}catch{}},[]);(0,y.useEffect)(()=>{d===`agent_model`&&$e(`keys`)},[d]);let bt=(0,y.useMemo)(()=>{let e=Je.trim(),t=Xe[0]?.model?.trim()??``,n=Xe[1]?.model?.trim()??``;return!!(e&&t&&n)},[Xe,Je]),xt=fe.length>0;(0,y.useEffect)(()=>{qh().then(e=>{e.install_id&&Pi(e.install_id)}).catch(()=>{})},[]),(0,y.useEffect)(()=>{be(e)},[e]),(0,y.useEffect)(()=>{let e=zc(Ne,mt());Re(t=>t&&t!==ze.current?t:(ze.current=e,e))},[Ne,mt]),(0,y.useEffect)(()=>{let t=ye.trim();!t||t===e||Pe(n=>n===`${e} Agent`?`${t} Agent`:n)},[ye,e]),(0,y.useEffect)(()=>{(async()=>{try{if(i){try{u(!!(await Y.restoreSession()).user.theme);try{await Y.acceptWorkspaceInvite(n)}catch{}let e=await Y.getMe();ge(e.current_workspace?.id||e.default_workspace?.id||``),c(!0)}catch{}return}let e=!1;try{let t=await Y.getInstallStatus();e=!!t.install_complete;let n=await Y.peekSession();if(t.install_complete&&!n){lt(!0);return}}catch{}let r=await vt(),a=await Y.peekSession();if(!a)try{a=await Y.restoreSession()}catch{}let o=r?.wizard,s=String(r?.smtp?.admin_email||``).trim();s&&te(s);let l=!!(o?.admin_verified||r?.smtp?.admin_verified),d=!!o?.owner_claimed;(a||d)&&W(!!a),l&&U(!0),r?.deployment_mode&&T(!0);let p=String(o?.resume_step||``).trim(),m=p===`admin_auth`&&l||p===`smtp`&&l&&r?.smtp?.setup_complete?`workframe`:p;!r?.deployment_mode&&[`theme`,`publish`,`smtp`,`admin_auth`,`workframe`,`billing`,`integrations`,`profile`,`agent`,`agent_model`,`invites`].includes(m)&&(m=d||s?`welcome`:`intro`),!d&&!s&&m!==`intro`&&(m=`intro`),[`intro`,`theme`,`welcome`,`publish`,`smtp`,`admin_auth`,`workframe`,`billing`,`integrations`,`profile`,`agent`,`agent_model`,`invites`,`done`].includes(m)&&m!==`intro`&&f(m);try{let n=await Y.getMe(),i=n.current_workspace?.id||n.default_workspace?.id||``;i&&ge(i),Ee(n.user.display_name??``),Oe(n.user.tagline??``),Ae(n.user.bio??``),n.user.avatar_url&&Me(tm(n.user.avatar_url)),u(!!n.user.theme),n.user.email&&te(e=>Rc(e,n.user.email||``,r?.smtp?.user)),n.ok&&l&&(U(!0),W(!0)),i&&(async()=>{try{let[e,t]=await Promise.all([qh(),Y.getMyCohort(i)]),n=t.cohort?.find(t=>t.template_slug===e.native_profile)??t.cohort?.[0];if(n){Pe(n.display_name||e.native_agent_name||`Workframe Agent`),Ie(n.tagline||n.role||`Workframe Manager`);let t=n.avatar_url||n.avatar_id||``;t&&Ve(Xp(t));try{let e=await Dh(n.template_slug);e.soul?.trim()&&Re(e.soul)}catch{}}}catch{}})(),(await Y.getOnboarding()).complete&&e&&t()}catch{}}finally{dt(!0)}})()},[r,n,i,t,vt]),(0,y.useEffect)(()=>{!ut||i||Y.getInstallStatus().then(e=>{if(!(!e.install_window_open||e.install_complete))return ht({wizard_step:d})}).catch(()=>{})},[ut,i,ht,d]);let St=(0,y.useMemo)(()=>!!(b?.smtp?.configured||b?.smtp?.has_password||E.trim()),[b?.smtp?.configured,b?.smtp?.has_password,E]),Ct=(0,y.useMemo)(()=>!!b?.smtp?.setup_complete,[b?.smtp?.setup_complete]),wt=(0,y.useMemo)(()=>Ct&&ie&&!oe,[ie,oe,Ct]),Tt=(0,y.useMemo)(()=>wt||ie?!0:R.trim()?Ct:!1,[ie,R,wt,Ct]);(0,y.useEffect)(()=>{i||w||(d===`smtp`||d===`admin_auth`||d===`publish`)&&f(R.trim()?`welcome`:`intro`)},[R,i,w,d]),(0,y.useEffect)(()=>{d===`smtp`&&Y.peekSession().then(e=>{W(!!e),e?.user?.email&&te(t=>Rc(t,e.user.email||``,j))})},[j,d]);let Et=(0,y.useMemo)(()=>{let e=jg(S,w,i);if(!e.length)return 0;let t=t=>e.findIndex(e=>e.id===t);if(i)return s&&he?e.length-1:Math.max(t(`profile`),0);let n=0;return w&&(n=Math.max(n,t(`welcome`))),S===`single_user_local`&&w&&ie&&(n=Math.max(n,t(`workframe`))),S!==`single_user_local`&&w&&(n=Math.max(n,t(`smtp`))),Ct&&!ie&&(n=Math.max(n,t(`admin_auth`))),St&&ie&&(n=Math.max(n,t(`workframe`))),ie&&he&&(n=e.length-1),n},[ie,S,s,i,w,St,Ct,he]),Dt=Math.max(ce,Et);(0,y.useEffect)(()=>{d===`admin_auth`&&ie&&f(`workframe`)},[ie,d]),(0,y.useEffect)(()=>{d!==`admin_auth`||ie||z||V||(H(`email`),f(`smtp`))},[d,ie,z,V]),(0,y.useEffect)(()=>{he&&yt(he)},[he,yt,d]),(0,y.useEffect)(()=>{let e=kg(d),t=jg(S,w,i).findIndex(t=>t.id===e);t>=0&&le(e=>Math.max(e,t))},[d,S,w,i]);async function Ot(e){m(!0),v(null);try{if(C(e),T(!0),!await ht({deployment_mode:e}))return;if(e===`single_user_local`){let e=R.trim().toLowerCase();if(!e||!e.includes(`@`)){v(_i({error:`email_required`},`Choose deployment`));return}await Y.completeSetup({workframe_name:mt(),agent_name:Ne}),await ht({smtp:{admin_email:e}}),ae||await Y.localBootstrap(Te||e.split(`@`)[0]||`Owner`,e);let t=await Y.getMe();ge(t.current_workspace?.id||t.default_workspace?.id||``),U(!0),W(!0),f(`workframe`)}else e===`public_multi_user`?f(`publish`):(await Y.completeSetup({workframe_name:mt(),agent_name:Ne}),f(`smtp`))}catch(e){v(_i(e,`Save mode`))}finally{m(!1)}}let kt=(0,y.useCallback)(async()=>{m(!0),v(null);try{let e=await Y.startGoogleAuth(R.trim(),n);window.location.href=e.auth_url}catch(e){v(_i(e,`Google sign-in`)),m(!1)}},[R,n]),{finishInviteeOnboarding:At,finishInstall:jt,sendInvites:Mt}=Eg({workspaceId:he,inviteEmails:He,isInvitee:i,deploymentMode:S,adminVerified:ie,adminEmail:R,agentPrimaryModel:Je,displayName:Te,bio:ke,agentName:Ne,agentTagline:Fe,agentSoul:Le,resolveWorkframeName:mt,onComplete:t,setLaunching:rt,setLaunchError:st,setLaunchSteps:at,setBusy:m,setStep:f}),{saveIntegrations:Nt,skipIntegrations:Pt,saveBilling:Ft,saveWorkframe:It,saveProfile:Lt,saveAgentModel:Rt,saveAgent:zt}=Dg({workspaceId:he,credentialMode:G,mission:_e,workframeTagline:xe,logoUrl:Ce,displayName:Te,tagline:De,bio:ke,avatarUrl:je,agentName:Ne,agentTagline:Fe,agentSoul:Le,agentAvatar:Be,agentPrimaryModel:Je,agentFallbackChain:Xe,connectedProviders:fe,isInvitee:i,deploymentMode:S,oauthSaveRef:ft,resolveWorkframeName:mt,ensureAdminSession:gt,reloadStack:vt,finishInviteeOnboarding:At,finishInstall:jt,setBusy:m,setError:v,setStep:f,setAgentModelTab:$e,setAgentPrimaryModel:Ye,setAgentSteps:tt}),{testSmtpOnly:Bt,persistAdminEmail:Vt,continueFromSmtp:Ht}=Og({smtpPort:O,smtpFrom:L,smtpPass:N,smtpHost:E,smtpUser:j,adminEmail:R,smtpHasPassword:F,smtpSetupComplete:Ct,smtpFieldsDirty:oe,canKeepAdminSetup:wt,adminVerified:ie,patchInstallStackWhenAllowed:ht,reloadStack:vt,setSmtpHasPassword:I,setSmtpPass:P,setSmtpFieldsDirty:se,setSmtpPhase:g,setBusy:m,setError:v,setAdminAuthDevOtp:ne,setAdminAuthNotice:B,setAdminOtpStep:H,setStep:f});async function Ut(){let e=R.trim().toLowerCase();if(!e||!e.includes(`@`)){v(_i({error:`email_required`},`Admin email`));return}m(!0),v(null);try{let t=await Y.registerInstallAdmin(Te||e.split(`@`)[0]||`Owner`,e);ge(t.current_workspace?.id||t.default_workspace?.id||``),W(!0),f(`theme`)}catch(e){v(_i(e,`Admin email`))}finally{m(!1)}}function Wt(e){ge(e.current_workspace?.id||e.default_workspace?.id||``),B(null),ne(``),U(!0),W(!0),se(!1),S===`public_multi_user`&&Y.completeSetup({workframe_name:mt(),agent_name:Ne}).catch(()=>{}),f(`workframe`)}function Gt(e){if(lt(!1),ge(e.current_workspace?.id||e.default_workspace?.id||``),e.user.email&&te(e.user.email),U(!0),W(!0),vt(),!w){f(`intro`);return}f(S===`single_user_local`?`workframe`:S===`public_multi_user`&&!St?`publish`:St?`workframe`:`smtp`)}async function Kt(e){let t=e.current_workspace?.id||e.default_workspace?.id||``;ge(t),c(!0),u(!!e.user.theme),f(`theme`),t&&await yt(t)}(0,y.useEffect)(()=>{!i||!s||G!==`workspace`||$e(`model`)},[G,s,i]);async function qt(){m(!0);try{let e=Ic(We);if(Ge(e),!await ht({app_base_url:e}))return;let t=await Y.testInstallUrl(e);t.ok?v({tone:`info`,message:`Connection test passed.`,hint:`Your public URL is reachable from this install.`}):v({tone:`caution`,message:t.error||`Connection test failed`,hint:t.hint||`Confirm DNS points at this server, then try again.`})}catch(e){v(_i(e,`URL test`))}finally{m(!1)}}async function Jt(){m(!0),qe(null);try{let e=Ic(We);Ge(e),qe(await fm(e))}finally{m(!1)}}async function Yt(){m(!0),v(null);try{await Y.updateMe({theme:a}),u(!0),f(i?`profile`:`welcome`)}catch(e){v(_i(e,`Save theme`))}finally{m(!1)}}let Xt=(0,y.useMemo)(()=>Ig(jg(S,w,i),{deploymentMode:S,modeChosen:w,stack:b,smtpHost:E,smtpUser:j,adminEmail:R,adminVerified:ie,workspaceIntegrations:ue,credentialMode:G,mission:_e,workframeName:ye,workframeTagline:xe,displayName:Te,userTagline:De,connectedProviders:fe,agentName:Ne,agentTagline:Fe,agentPrimaryModel:Je,inviteEmails:He,publicUrl:We,themeLabel:k(a).label,themeConfirmed:l}),[R,ie,Ne,Fe,Je,fe,G,S,Te,He,i,_e,w,We,a,l,E,j,b,De,ye,xe,ue]),Zt=kg(d),Qt=(0,y.useMemo)(()=>{let e=Xt.findIndex(e=>e.id===`workframe`);return e<0?!1:d===`workframe`||ce>=e},[d,ce,Xt]);function $t(e){if(i&&(e===`smtp`||e===`admin_auth`)||!w&&(e===`smtp`||e===`admin_auth`||e===`publish`)||p)return;let t=Xt.findIndex(t=>t.id===e);t<0||t>Dt||(v(null),f(Lg(e)))}let en=Mg(d,e,i);return{isInvitee:i,inviteToken:n,inviteEmail:r,projectName:e,bootstrapDone:ut,ownerSignInRequired:ct,inviteeAuthed:s,launching:nt,launchSteps:it,launchError:ot,step:d,busy:p,error:_,stack:b,smtpPhase:h,smtpHost:E,smtpPort:O,smtpUser:j,smtpPass:N,smtpHasPassword:F,smtpFrom:L,adminEmail:R,adminOtpStep:re,adminAuthDevOtp:V,adminAuthNotice:z,adminVerified:ie,deploymentMode:S,workspaceId:he,credentialMode:G,mission:_e,workframeName:ye,workframeTagline:xe,logoUrl:Ce,displayName:Te,tagline:De,bio:ke,avatarUrl:je,agentName:Ne,agentTagline:Fe,agentSoul:Le,agentAvatar:Be,agentPrimaryModel:Je,agentFallbackChain:Xe,agentModelTab:Qe,agentModelsComplete:bt,hasLlmProvider:xt,connectedProviders:fe,agentSteps:et,inviteEmails:He,publicUrl:We,httpsStatus:Ke,theme:a,wizardSteps:Xt,currentRailStep:Zt,showBrandLogo:Qt,maxReachableIndex:Dt,title:en.title,description:d===`admin_auth`?ia(re,R,V,`register`):en.description,smtpSetupComplete:Ct,canKeepAdminSetup:wt,canContinueFromSmtp:Tt,resolveWorkframeName:mt,patchInstallStackWhenAllowed:ht,bindOAuthSave:pt,setStep:f,setBusy:m,setError:v,setAdminEmail:te,setSmtpHost:D,setSmtpPort:A,setSmtpUser:M,setSmtpPass:P,setSmtpFrom:ee,setAdminOtpStep:H,setCredentialMode:me,setLogoUrl:we,setWorkframeName:be,setWorkframeTagline:Se,setMission:ve,setDisplayName:Ee,setTagline:Oe,setBio:Ae,setAvatarUrl:Me,setAgentName:Pe,setAgentTagline:Ie,setAgentSoul:Re,setAgentAvatar:Ve,setAgentModelTab:$e,setAgentPrimaryModel:Ye,setAgentFallbackChain:Ze,setInviteEmails:Ue,setPublicUrl:Ge,setTheme:o,markSmtpDirty:_t,pickMode:Ot,startGoogleSignIn:kt,testSmtpOnly:Bt,continueFromSmtp:Ht,continueFromIntro:Ut,continueFromTheme:Yt,persistAdminEmail:Vt,saveIntegrations:Nt,skipIntegrations:Pt,saveBilling:Ft,saveWorkframe:It,saveProfile:Lt,saveAgentModel:Rt,saveAgent:zt,refreshAgentModelStep:()=>{he&&yt(he)},sendInvites:Mt,finishInstall:jt,testPublicUrl:qt,setupPublicHttps:Jt,goToRailStep:$t,handleAdminRegistered:Wt,handleOwnerSignedIn:Gt,handleInviteeVerified:Kt}}function zg({projectName:e,onComplete:t,inviteToken:n=``,inviteEmail:r=``}){let i=Rg({projectName:e,onComplete:t,inviteToken:n,inviteEmail:r});if(!i.bootstrapDone&&!i.isInvitee)return(0,x.jsx)(S,{label:`Loading setup wizard`});if(i.ownerSignInRequired)return(0,x.jsx)(Cg,{title:`Sign in to continue setup`,description:`Sign in as the Workframe admin to resume setup.`,children:(0,x.jsx)(aa,{initialEmail:i.adminEmail,startStep:`email`,purpose:`signin`,variant:`wizard`,onVerified:i.handleOwnerSignedIn})});if(i.isInvitee&&!i.inviteeAuthed)return(0,x.jsx)(Cg,{title:`Join ${e}`,description:`Verify your invite email to continue.`,children:(0,x.jsx)(aa,{initialEmail:r,startStep:`email`,skipEmailStep:!!r.trim(),autoSendCode:!!r.trim(),inviteToken:n,purpose:`signin`,variant:`wizard`,onVerified:i.handleInviteeVerified})});if(i.launching)return(0,x.jsx)(Ac,{projectName:e,steps:i.launchSteps,error:i.launchError,onRetry:()=>void i.finishInstall()});let a=(0,x.jsx)(qc,{step:i.step,busy:i.busy,isInvitee:i.isInvitee,deploymentMode:i.deploymentMode,workspaceId:i.workspaceId,publicUrl:i.publicUrl,canKeepAdminSetup:i.canKeepAdminSetup,smtpSetupComplete:i.smtpSetupComplete,canContinueFromSmtp:i.canContinueFromSmtp,adminVerified:i.adminVerified,adminEmail:i.adminEmail,onTestSmtp:()=>void i.testSmtpOnly(),onContinueFromSmtp:()=>void i.continueFromSmtp(),onSkipIntegrations:()=>void i.skipIntegrations(),onSaveIntegrations:()=>void i.saveIntegrations(),onSaveBilling:()=>void i.saveBilling(),onSaveWorkframe:()=>void i.saveWorkframe(),onSaveProfile:()=>void i.saveProfile(),onSaveAgentModel:()=>void i.saveAgentModel(),onSelectAgentModel:()=>i.setAgentModelTab(`model`),agentModelTab:i.agentModelTab,agentModelsComplete:i.agentModelsComplete,connectedProviderCount:i.connectedProviders.length,onSaveAgent:()=>void i.saveAgent(),onFinishInstall:()=>void i.finishInstall(),onSendInvites:()=>void i.sendInvites(),onSetupPublicHttps:()=>void i.setupPublicHttps(),onTestPublicUrl:()=>void i.testPublicUrl(),onContinuePublish:()=>void Kc({publicUrl:i.publicUrl,setPublicUrl:i.setPublicUrl,patchInstallStackWhenAllowed:i.patchInstallStackWhenAllowed,setStep:i.setStep,setBusy:i.setBusy,setError:i.setError}),onGetStarted:()=>void i.continueFromIntro(),onContinueTheme:()=>void i.continueFromTheme()});return(0,x.jsxs)(Tg,{projectName:i.workframeName.trim()||e,brandLogoUrl:i.showBrandLogo?i.logoUrl:void 0,step:i.currentRailStep,steps:i.wizardSteps,maxReachableIndex:i.maxReachableIndex,onStepSelect:i.goToRailStep,title:i.title,description:i.description||void 0,footer:a,children:[i.error?.message?.trim()?(0,x.jsx)(Oi,{info:i.error,className:`wf-notice--wizard`}):null,i.step===`smtp`?(0,x.jsx)(Gc,{compact:!0,children:(0,x.jsx)(Uc,{busy:i.busy,smtpPhase:i.smtpPhase,smtpHost:i.smtpHost,smtpPort:i.smtpPort,smtpUser:i.smtpUser,smtpPass:i.smtpPass,smtpHasPassword:i.smtpHasPassword,smtpFrom:i.smtpFrom,smtpSetupComplete:i.smtpSetupComplete,smtpTested:!!i.stack?.smtp?.tested,onSmtpHostChange:i.setSmtpHost,onSmtpPortChange:i.setSmtpPort,onSmtpUserChange:i.setSmtpUser,onSmtpPassChange:i.setSmtpPass,onSmtpFromChange:i.setSmtpFrom,onMarkSmtpDirty:i.markSmtpDirty})}):i.step===`admin_auth`?(0,x.jsx)(Gc,{compact:!0,authOtp:!0,children:(0,x.jsx)(aa,{initialEmail:i.adminEmail,startStep:i.adminOtpStep,initialDevOtp:i.adminAuthDevOtp,initialAuthNotice:i.adminAuthNotice,inviteToken:n,emailInputId:`wf-concierge-admin-email`,purpose:`register`,variant:`wizard`,skipEmailStep:!!i.adminEmail.trim(),googleOAuthEnabled:!!i.stack?.google_oauth?.enabled,onGoogleSignIn:()=>void i.startGoogleSignIn(),onStepChange:i.setAdminOtpStep,onVerified:i.handleAdminRegistered})}):(0,x.jsx)(Sg,{step:i.step,busy:i.busy,isInvitee:i.isInvitee,adminEmail:i.adminEmail,credentialMode:i.credentialMode,workspaceId:i.workspaceId,mission:i.mission,workframeName:i.workframeName,workframeTagline:i.workframeTagline,logoUrl:i.logoUrl,displayName:i.displayName,tagline:i.tagline,bio:i.bio,avatarUrl:i.avatarUrl,agentName:i.agentName,agentTagline:i.agentTagline,agentSoul:i.agentSoul,agentAvatar:i.agentAvatar,agentPrimaryModel:i.agentPrimaryModel,agentModelTab:i.agentModelTab,agentSteps:i.agentSteps,inviteEmails:i.inviteEmails,publicUrl:i.publicUrl,httpsStatus:i.httpsStatus,theme:i.theme,resolveWorkframeName:i.resolveWorkframeName,onAdminEmailChange:i.setAdminEmail,onAdminEmailBlur:()=>void i.persistAdminEmail(),onPickMode:e=>void i.pickMode(e),onCredentialModeChange:i.setCredentialMode,onLogoUrlChange:i.setLogoUrl,onWorkframeNameChange:i.setWorkframeName,onWorkframeTaglineChange:i.setWorkframeTagline,onMissionChange:i.setMission,onDisplayNameChange:i.setDisplayName,onTaglineChange:i.setTagline,onBioChange:i.setBio,onAvatarUrlChange:i.setAvatarUrl,onAgentNameChange:i.setAgentName,onAgentTaglineChange:i.setAgentTagline,onAgentSoulChange:i.setAgentSoul,onAgentAvatarChange:i.setAgentAvatar,onAgentModelTabChange:i.setAgentModelTab,onAgentPrimaryModelChange:i.setAgentPrimaryModel,onAgentFallbackChainChange:i.setAgentFallbackChain,onAgentProvidersConnected:i.refreshAgentModelStep,onInviteEmailsChange:i.setInviteEmails,onPublicUrlChange:i.setPublicUrl,onBindOAuthSave:i.bindOAuthSave,onError:i.setError,onThemeChange:i.setTheme})]})}function Bg({mainFill:e=!1,children:t}){return(0,x.jsx)(`div`,{className:`wf-shell wf-shell--chromeless`,children:(0,x.jsx)(`main`,{className:e?`wf-shell__main wf-shell__main--fill`:`wf-shell__main`,children:t})})}var Vg=class{},Hg=class extends Vg{constructor(e,t,n,r){super(),this.viewId=e,this.groupId=t,this.panelId=n,this.tabGroupId=r}},Ug=class extends Vg{constructor(e,t){super(),this.viewId=e,this.paneId=t}},Wg=class e{constructor(){}static getInstance(){return e.INSTANCE}hasData(e){return e&&e===this.proto}clearData(e){this.hasData(e)&&(this.proto=void 0,this.data=void 0)}getData(e){if(this.hasData(e))return this.data}setData(e,t){t&&(this.data=e,this.proto=t)}};Wg.INSTANCE=new Wg;function Gg(){let e=Wg.getInstance();if(e.hasData(Hg.prototype))return e.getData(Hg.prototype)[0]}function Kg(){let e=Wg.getInstance();if(e.hasData(Ug.prototype))return e.getData(Ug.prototype)[0]}var qg;(function(e){e.NONE={dispose:()=>{}};function t(e){return{dispose:()=>{e()}}}e.from=t})(qg||={});var Jg=class{get isDisposed(){return this._isDisposed}constructor(...e){this._isDisposed=!1,this._disposables=new Set(e)}addDisposables(...e){e.forEach(e=>this._disposables.add(e))}removeDisposable(e){this._disposables.delete(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposables.forEach(e=>e.dispose()),this._disposables.clear())}},Yg=class{constructor(){this._disposable=qg.NONE}set value(e){this._disposable&&this._disposable.dispose(),this._disposable=e}dispose(){this._disposable&&=(this._disposable.dispose(),qg.NONE)}},Xg;(function(e){e.any=(...e)=>t=>{let n=e.map(e=>e(t));return{dispose:()=>{n.forEach(e=>{e.dispose()})}}}})(Xg||={});var Zg=class{constructor(){this._defaultPrevented=!1}get defaultPrevented(){return this._defaultPrevented}preventDefault(){this._defaultPrevented=!0}},Qg=class{constructor(){this._isAccepted=!1}get isAccepted(){return this._isAccepted}accept(){this._isAccepted=!0}},$g=class{constructor(){this.events=new Map}get size(){return this.events.size}add(e,t){this.events.set(e,t)}delete(e){this.events.delete(e)}clear(){this.events.clear()}},e_=class e{static create(){return new e(Error().stack??``)}constructor(e){this.value=e}print(){console.warn(`dockview: stacktrace`,this.value)}},t_=class{constructor(e,t){this.callback=e,this.stacktrace=t}},X=class e{static setLeakageMonitorEnabled(t){t!==e.ENABLE_TRACKING&&e.MEMORY_LEAK_WATCHER.clear(),e.ENABLE_TRACKING=t}get value(){return this._last}constructor(e){this.options=e,this._listeners=[],this._disposed=!1,this._pauseTokens=new Set}get event(){return this._event||(this._event=t=>{this.options?.replay&&this._last!==void 0&&t(this._last);let n=new t_(t,e.ENABLE_TRACKING?e_.create():void 0);return this._listeners.push(n),{dispose:()=>{let t=this._listeners.indexOf(n);t>-1?this._listeners.splice(t,1):e.ENABLE_TRACKING}}},e.ENABLE_TRACKING&&e.MEMORY_LEAK_WATCHER.add(this._event,e_.create())),this._event}fire(e){if(!(this._pauseTokens.size>0)){this.options?.replay&&(this._last=e);for(let t of this._listeners)t.callback(e)}}pause(){let e={};return this._pauseTokens.add(e),qg.from(()=>this._pauseTokens.delete(e))}dispose(){this._disposed||(this._disposed=!0,this._listeners.length>0&&(e.ENABLE_TRACKING&&queueMicrotask(()=>{for(let e of this._listeners)console.warn(`dockview: stacktrace`,e.stacktrace?.print())}),this._listeners=[]),e.ENABLE_TRACKING&&this._event&&e.MEMORY_LEAK_WATCHER.delete(this._event))}};X.ENABLE_TRACKING=!1,X.MEMORY_LEAK_WATCHER=new $g;function Z(e,t,n,r){return e.addEventListener(t,n,r),{dispose:()=>{e.removeEventListener(t,n,r)}}}var n_=class{constructor(){this._onFired=new X,this._currentFireCount=0,this._queued=!1,this.onEvent=e=>{let t=this._currentFireCount;return this._onFired.event(()=>{this._currentFireCount>t&&e()})}}fire(){this._currentFireCount++,!this._queued&&(this._queued=!0,queueMicrotask(()=>{this._queued=!1,this._onFired.fire()}))}dispose(){this._onFired.dispose()}},r_=class extends Jg{constructor(e){super(),this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._value=null,this.addDisposables(this._onDidChange,i_(e,e=>{let t=e.target.scrollWidth>e.target.clientWidth,n=e.target.scrollHeight>e.target.clientHeight;this._value={hasScrollX:t,hasScrollY:n},this._onDidChange.fire(this._value)}))}};function i_(e,t){let n=new ResizeObserver(e=>{requestAnimationFrame(()=>{let n=e[0];t(n)})});return n.observe(e),{dispose:()=>{n.unobserve(e),n.disconnect()}}}var a_=(e,...t)=>{for(let n of t)e.classList.contains(n)&&e.classList.remove(n)},o_=(e,...t)=>{for(let n of t)e.classList.contains(n)||e.classList.add(n)},Q=(e,t,n)=>{let r=e.classList.contains(t);n&&!r&&e.classList.add(t),!n&&r&&e.classList.remove(t)};function s_(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function c_(e){return new l_(e)}var l_=class extends Jg{constructor(e){super(),this._onDidFocus=new X,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new X,this.onDidBlur=this._onDidBlur.event,this.addDisposables(this._onDidFocus,this._onDidBlur);let t=s_(document.activeElement,e),n=!1,r=()=>{n=!1,t||(t=!0,this._onDidFocus.fire())},i=()=>{t&&(n=!0,window.setTimeout(()=>{n&&(n=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{s_(document.activeElement,e)!==t&&(t?i():r())},this.addDisposables(Z(e,`focus`,r,!0)),this.addDisposables(Z(e,`blur`,i,!0))}refreshState(){this._refreshStateHandler()}},u_=`dv-quasiPreventDefault`;function d_(e){e[u_]=!0}function f_(e){return e[u_]}function p_(e,t,n={}){let r=Array.from(t),{nonce:i}=n,a=typeof i==`function`?i(e):i;for(let t of r){if(t.href){let n=e.createElement(`link`);n.href=t.href,n.type=t.type,n.rel=`stylesheet`,e.head.appendChild(n);continue}let n=[];try{t.cssRules&&(n=Array.from(t.cssRules).map(e=>e.cssText))}catch(e){console.warn(`dockview: failed to access stylesheet rules due to security restrictions`,e)}let r=e.createDocumentFragment();for(let t of n){let n=e.createElement(`style`);a&&n.setAttribute(`nonce`,a),n.appendChild(e.createTextNode(t)),r.appendChild(n)}e.head.appendChild(r)}}function m_(e){let{left:t,top:n,width:r,height:i}=e.getBoundingClientRect();return{left:t+window.scrollX,top:n+window.scrollY,width:r,height:i}}function h_(e){let t=e;for(;t?.parentNode;)if(t.parentNode===document)return!0;else t=t.parentNode instanceof DocumentFragment?t.parentNode.host:t.parentNode;return!1}function g_(e,t){e.setAttribute(`data-testid`,t)}function __(e,t){let n=[];function r(t){if(t.nodeType===Node.ELEMENT_NODE){e.includes(t.tagName)&&n.push(t),t.shadowRoot&&r(t.shadowRoot);for(let e of t.children)r(e)}}return r(t instanceof Document?t.documentElement:t),n}function v_(e=document){let t=__([`IFRAME`,`WEBVIEW`],e),n=new WeakMap;for(let e of t)n.set(e,e.style.pointerEvents),e.style.pointerEvents=`none`;return{release:()=>{for(let e of t)e.style.pointerEvents=n.get(e)??`auto`;t.splice(0,t.length)}}}function y_(e){function t(e){let t=[];for(let n=0;n<e.classList.length;n++)t.push(e.classList.item(n));return t}let n,r=e;for(;r!==null&&(n=t(r).find(e=>e.startsWith(`dockview-theme-`)),typeof n!=`string`);)r=r.parentElement;return n}var b_=class{constructor(e){this.element=e,this._classNames=[]}setClassNames(e){for(let e of this._classNames)Q(this.element,e,!1);this._classNames=e.split(` `).filter(e=>e.trim().length>0);for(let e of this._classNames)Q(this.element,e,!0)}},x_=100;function S_(e,t){let n=m_(e),r=m_(t);return!(n.left<r.left||n.left+n.width>r.left+r.width||n.top<r.top||n.top+n.height>r.top+r.height)}function C_(e){let t=new X,n=e.screenX,r=e.screenY,i,a=()=>{if(e.closed)return;let o=e.screenX,s=e.screenY;(o!==n||s!==r)&&(clearTimeout(i),i=setTimeout(()=>{t.fire()},x_),n=o,r=s),requestAnimationFrame(a)};return a(),t}function w_(e,t){let n;return new Jg(Z(e,`resize`,()=>{clearTimeout(n),n=setTimeout(()=>{t()},x_)}))}function T_(e,t,n={buffer:10}){let r=n.buffer,i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=0,s=0,c=i.left-a.left,l=i.top-a.top,u=i.bottom-a.bottom,d=i.right-a.right;c<r?o=r-c:d>r&&(o=-r-d),l<r?s=r-l:u>r&&(s=-u-r),(o!==0||s!==0)&&(e.style.transform=`translate(${o}px, ${s}px)`)}function E_(e){let t=e;for(;t&&(t.style.zIndex===`auto`||t.style.zIndex===``);)t=t.parentElement;return t}function D_(e){if(e.length===0)throw Error(`Invalid tail call`);return[e.slice(0,e.length-1),e[e.length-1]]}function O_(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function k_(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function A_(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function j_(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return n}return-1}function M_(e,t){let n=e.findIndex(e=>e===t);return n>-1?(e.splice(n,1),!0):!1}var N_=(e,t,n)=>t>n?t:Math.min(n,Math.max(e,t)),P_=()=>{let e=1;return{next:()=>(e++).toString()}},F_=(e,t)=>{let n=[];if(typeof t!=`number`&&(t=e,e=0),e<=t)for(let r=e;r<t;r++)n.push(r);else for(let r=e;r>t;r--)n.push(r);return n},I_=class{set size(e){this._size=e}get size(){return this._size}get cachedVisibleSize(){return this._cachedVisibleSize}get visible(){return this._cachedVisibleSize===void 0}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?``:`none`}constructor(e,t,n,r){this.container=e,this.view=t,this.disposable=r,this._cachedVisibleSize=void 0,typeof n==`number`?(this._size=n,this._cachedVisibleSize=void 0,e.classList.add(`visible`)):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}setVisible(e,t){e!==this.visible&&(e?(this.size=N_(this._cachedVisibleSize??0,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof t==`number`?t:this.size,this.size=0),this.container.classList.toggle(`visible`,e),this.view.setVisible&&this.view.setVisible(e))}dispose(){return this.disposable.dispose(),this.view}},L_;(function(e){e.HORIZONTAL=`HORIZONTAL`,e.VERTICAL=`VERTICAL`})(L_||={});var R_;(function(e){e[e.MAXIMUM=0]=`MAXIMUM`,e[e.MINIMUM=1]=`MINIMUM`,e[e.DISABLED=2]=`DISABLED`,e[e.ENABLED=3]=`ENABLED`})(R_||={});var z_;(function(e){e.Low=`low`,e.High=`high`,e.Normal=`normal`})(z_||={});var B_;(function(e){e.Distribute={type:`distribute`};function t(e){return{type:`split`,index:e}}e.Split=t;function n(e){return{type:`invisible`,cachedVisibleSize:e}}e.Invisible=n})(B_||={});var V_=class{get contentSize(){return this._contentSize}get size(){return this._size}set size(e){this._size=e}get orthogonalSize(){return this._orthogonalSize}set orthogonalSize(e){this._orthogonalSize=e}get length(){return this.viewItems.length}get proportions(){return this._proportions?[...this._proportions]:void 0}get orientation(){return this._orientation}set orientation(e){this._orientation=e;let t=this.size;this.size=this.orthogonalSize,this.orthogonalSize=t,a_(this.element,`dv-horizontal`,`dv-vertical`),this.element.classList.add(this.orientation==L_.HORIZONTAL?`dv-horizontal`:`dv-vertical`)}get minimumSize(){return this.viewItems.reduce((e,t)=>e+t.minimumSize,0)}get maximumSize(){return this.length===0?1/0:this.viewItems.reduce((e,t)=>e+t.maximumSize,0)}get startSnappingEnabled(){return this._startSnappingEnabled}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}get endSnappingEnabled(){return this._endSnappingEnabled}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}get disabled(){return this._disabled}set disabled(e){this._disabled=e,Q(this.element,`dv-splitview-disabled`,e)}get margin(){return this._margin}set margin(e){this._margin=e,Q(this.element,`dv-splitview-has-margin`,e!==0)}constructor(e,t){this.container=e,this.viewItems=[],this.sashes=[],this._size=0,this._orthogonalSize=0,this._contentSize=0,this._proportions=void 0,this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this._disabled=!1,this._margin=0,this._onDidSashEnd=new X,this.onDidSashEnd=this._onDidSashEnd.event,this._onDidAddView=new X,this.onDidAddView=this._onDidAddView.event,this._onDidRemoveView=new X,this.onDidRemoveView=this._onDidRemoveView.event,this.resize=(e,t,n=this.viewItems.map(e=>e.size),r,i,a=-1/0,o=1/0,s,c)=>{if(e<0||e>this.viewItems.length)return 0;let l=F_(e,-1),u=F_(e+1,this.viewItems.length);if(i)for(let e of i)k_(l,e),k_(u,e);if(r)for(let e of r)A_(l,e),A_(u,e);let d=l.map(e=>this.viewItems[e]),f=l.map(e=>n[e]),p=u.map(e=>this.viewItems[e]),m=u.map(e=>n[e]),h=l.reduce((e,t)=>e+this.viewItems[t].minimumSize-n[t],0),g=l.reduce((e,t)=>e+this.viewItems[t].maximumSize-n[t],0),_=u.length===0?1/0:u.reduce((e,t)=>e+n[t]-this.viewItems[t].minimumSize,0),v=u.length===0?-1/0:u.reduce((e,t)=>e+n[t]-this.viewItems[t].maximumSize,0),y=Math.max(h,v),b=Math.min(_,g),x=!1;if(s){let e=this.viewItems[s.index],n=t>=s.limitDelta;x=n!==e.visible,e.setVisible(n,s.size)}if(!x&&c){let e=this.viewItems[c.index],n=t<c.limitDelta;x=n!==e.visible,e.setVisible(n,c.size)}if(x)return this.resize(e,t,n,r,i,a,o);let S=N_(t,y,b),C=0,w=S;for(let e=0;e<d.length;e++){let t=d[e],n=N_(f[e]+w,t.minimumSize,t.maximumSize),r=n-f[e];C+=r,w-=r,t.size=n}let T=C;for(let e=0;e<p.length;e++){let t=p[e],n=N_(m[e]-T,t.minimumSize,t.maximumSize),r=n-m[e];T+=r,t.size=n}return t},this._orientation=t.orientation??L_.VERTICAL,this.element=this.createContainer(),this.margin=t.margin??0,this.proportionalLayout=t.proportionalLayout===void 0?!0:!!t.proportionalLayout,this.viewContainer=this.createViewContainer(),this.sashContainer=this.createSashContainer(),this.element.appendChild(this.sashContainer),this.element.appendChild(this.viewContainer),this.container.appendChild(this.element),this.style(t.styles),t.descriptor&&(this._size=t.descriptor.size,t.descriptor.views.forEach((e,t)=>{let n=e.visible===void 0||e.visible?e.size:{type:`invisible`,cachedVisibleSize:e.size},r=e.view;this.addView(r,n,t,!0)}),this._contentSize=this.viewItems.reduce((e,t)=>e+t.size,0),this.saveProportions())}style(e){e?.separatorBorder===`transparent`?(a_(this.element,`dv-separator-border`),this.element.style.removeProperty(`--dv-separator-border`)):(o_(this.element,`dv-separator-border`),e?.separatorBorder&&this.element.style.setProperty(`--dv-separator-border`,e.separatorBorder))}isViewVisible(e){if(e<0||e>=this.viewItems.length)throw Error(`Index out of bounds`);return this.viewItems[e].visible}setViewVisible(e,t){if(e<0||e>=this.viewItems.length)throw Error(`Index out of bounds`);let n=this.viewItems[e];n.setVisible(t,n.size),this.distributeEmptySpace(e),this.layoutViews(),this.saveProportions()}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}resizeView(e,t){if(e<0||e>=this.viewItems.length)return;let n=F_(this.viewItems.length).filter(t=>t!==e),r=[...n.filter(e=>this.viewItems[e].priority===z_.Low),e],i=n.filter(e=>this.viewItems[e].priority===z_.High),a=this.viewItems[e];t=Math.round(t),t=N_(t,a.minimumSize,Math.min(a.maximumSize,this._size)),a.size=t,this.relayout(r,i)}getViews(){return this.viewItems.map(e=>e.view)}onDidChange(e,t){let n=this.viewItems.indexOf(e);if(n<0||n>=this.viewItems.length)return;t=typeof t==`number`?t:e.size,t=N_(t,e.minimumSize,e.maximumSize),e.size=t;let r=F_(this.viewItems.length).filter(e=>e!==n),i=[...r.filter(e=>this.viewItems[e].priority===z_.Low),n],a=r.filter(e=>this.viewItems[e].priority===z_.High);this.relayout([...i,n],a)}addView(e,t={type:`distribute`},n=this.viewItems.length,r){let i=document.createElement(`div`);i.className=`dv-view`,i.appendChild(e.element);let a;a=typeof t==`number`?t:t.type===`split`?this.getViewSize(t.index)/2:t.type===`invisible`?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize;let o=e.onDidChange(e=>this.onDidChange(s,e.size)),s=new I_(i,e,a,{dispose:()=>{o.dispose(),this.viewContainer.removeChild(i)}});if(n===this.viewItems.length?this.viewContainer.appendChild(i):this.viewContainer.insertBefore(i,this.viewContainer.children.item(n)),this.viewItems.splice(n,0,s),this.viewItems.length>1){let e=document.createElement(`div`);e.className=`dv-sash`;let t=t=>{for(let e of this.viewItems)e.enabled=!1;let n=v_(),r=this._orientation===L_.HORIZONTAL?t.clientX:t.clientY,i=j_(this.sashes,t=>t.container===e),a=this.viewItems.map(e=>e.size),o,s,c=F_(i,-1),l=F_(i+1,this.viewItems.length),u=c.reduce((e,t)=>e+(this.viewItems[t].minimumSize-a[t]),0),d=c.reduce((e,t)=>e+(this.viewItems[t].viewMaximumSize-a[t]),0),f=l.length===0?1/0:l.reduce((e,t)=>e+(a[t]-this.viewItems[t].minimumSize),0),p=l.length===0?-1/0:l.reduce((e,t)=>e+(a[t]-this.viewItems[t].viewMaximumSize),0),m=Math.max(u,p),h=Math.min(f,d),g=this.findFirstSnapIndex(c),_=this.findFirstSnapIndex(l);if(typeof g==`number`){let e=this.viewItems[g],t=Math.floor(e.viewMinimumSize/2);o={index:g,limitDelta:e.visible?m-t:m+t,size:e.size}}if(typeof _==`number`){let e=this.viewItems[_],t=Math.floor(e.viewMinimumSize/2);s={index:_,limitDelta:e.visible?h+t:h-t,size:e.size}}let v=e=>{let t=(this._orientation===L_.HORIZONTAL?e.clientX:e.clientY)-r;this.resize(i,t,a,void 0,void 0,m,h,o,s),this.distributeEmptySpace(),this.layoutViews()},y=()=>{for(let e of this.viewItems)e.enabled=!0;n.release(),this.saveProportions(),document.removeEventListener(`pointermove`,v),document.removeEventListener(`pointerup`,y),document.removeEventListener(`pointercancel`,y),document.removeEventListener(`contextmenu`,y),this._onDidSashEnd.fire(void 0)};document.addEventListener(`pointermove`,v),document.addEventListener(`pointerup`,y),document.addEventListener(`pointercancel`,y),document.addEventListener(`contextmenu`,y)};e.addEventListener(`pointerdown`,t);let n={container:e,disposable:()=>{e.removeEventListener(`pointerdown`,t),this.sashContainer.removeChild(e)}};this.sashContainer.appendChild(e),this.sashes.push(n)}r||this.relayout([n]),!r&&typeof t!=`number`&&t.type===`distribute`&&this.distributeViewSizes(),this._onDidAddView.fire(e)}distributeViewSizes(){let e=[],t=0;for(let n of this.viewItems)n.maximumSize-n.minimumSize>0&&(e.push(n),t+=n.size);let n=Math.floor(t/e.length);for(let t of e)t.size=N_(n,t.minimumSize,t.maximumSize);let r=F_(this.viewItems.length),i=r.filter(e=>this.viewItems[e].priority===z_.Low),a=r.filter(e=>this.viewItems[e].priority===z_.High);this.relayout(i,a)}removeView(e,t,n=!1){let r=this.viewItems.splice(e,1)[0];if(r.dispose(),this.viewItems.length>=1){let t=Math.max(e-1,0);this.sashes.splice(t,1)[0].disposable()}return n||this.relayout(),t&&t.type===`distribute`&&this.distributeViewSizes(),this._onDidRemoveView.fire(r.view),r.view}getViewCachedVisibleSize(e){if(e<0||e>=this.viewItems.length)throw Error(`Index out of bounds`);return this.viewItems[e].cachedVisibleSize}moveView(e,t){let n=this.getViewCachedVisibleSize(e),r=n===void 0?this.getViewSize(e):B_.Invisible(n),i=this.removeView(e,void 0,!0);this.addView(i,r,t)}layout(e,t){let n=Math.max(this.size,this._contentSize);if(this.size=e,this.orthogonalSize=t,this.proportions){let t=0;for(let n=0;n<this.viewItems.length;n++){let r=this.viewItems[n],i=this.proportions[n];typeof i==`number`?t+=i:e-=r.size}for(let n=0;n<this.viewItems.length;n++){let r=this.viewItems[n],i=this.proportions[n];typeof i==`number`&&t>0&&(r.size=N_(Math.round(i*e/t),r.minimumSize,r.maximumSize))}}else{let t=F_(this.viewItems.length),r=t.filter(e=>this.viewItems[e].priority===z_.Low),i=t.filter(e=>this.viewItems[e].priority===z_.High);this.resize(this.viewItems.length-1,e-n,void 0,r,i)}this.distributeEmptySpace(),this.layoutViews()}relayout(e,t){let n=this.viewItems.reduce((e,t)=>e+t.size,0);this.resize(this.viewItems.length-1,this._size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}distributeEmptySpace(e){let t=this.viewItems.reduce((e,t)=>e+t.size,0),n=this.size-t,r=F_(this.viewItems.length-1,-1),i=r.filter(e=>this.viewItems[e].priority===z_.Low),a=r.filter(e=>this.viewItems[e].priority===z_.High);for(let e of a)k_(r,e);for(let e of i)A_(r,e);typeof e==`number`&&A_(r,e);for(let e=0;n!==0&&e<r.length;e++){let t=this.viewItems[r[e]],i=N_(t.size+n,t.minimumSize,t.maximumSize),a=i-t.size;n-=a,t.size=i}}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this._proportions=this.viewItems.map(e=>e.visible?e.size/this._contentSize:void 0))}layoutViews(){if(this._contentSize=this.viewItems.reduce((e,t)=>e+t.size,0),this.updateSashEnablement(),this.viewItems.length===0)return;let e=this.viewItems.filter(e=>e.visible),t=Math.max(0,e.length-1),n=this.margin*t/Math.max(1,e.length),r=0,i=[],a=this.viewItems.reduce((e,t,n)=>{let r=+!!t.visible;return n===0?e.push(r):e.push(e[n-1]+r),e},[]);this.viewItems.forEach((e,o)=>{r+=this.viewItems[o].size,i.push(r);let s=e.visible?e.size-n:0,c=Math.max(0,a[o]-1),l=o===0||c===0?0:i[o-1]+c/t*n;if(o<this.viewItems.length-1){let t=e.visible?l+s-4/2+this.margin/2:l;this._orientation===L_.HORIZONTAL&&(this.sashes[o].container.style.left=`${t}px`,this.sashes[o].container.style.top=`0px`),this._orientation===L_.VERTICAL&&(this.sashes[o].container.style.left=`0px`,this.sashes[o].container.style.top=`${t}px`)}this._orientation===L_.HORIZONTAL&&(e.container.style.width=`${s}px`,e.container.style.left=`${l}px`,e.container.style.top=``,e.container.style.height=``),this._orientation===L_.VERTICAL&&(e.container.style.height=`${s}px`,e.container.style.top=`${l}px`,e.container.style.width=``,e.container.style.left=``),e.view.layout(e.size-n,this._orthogonalSize)})}findFirstSnapIndex(e){for(let t of e){let e=this.viewItems[t];if(e.visible&&e.snap)return t}for(let t of e){let e=this.viewItems[t];if(e.visible&&e.maximumSize-e.minimumSize>0)return;if(!e.visible&&e.snap)return t}}updateSashEnablement(){let e=!1,t=this.viewItems.map(t=>e=t.size-t.minimumSize>0||e);e=!1;let n=this.viewItems.map(t=>e=t.maximumSize-t.size>0||e),r=[...this.viewItems].reverse();e=!1;let i=r.map(t=>e=t.size-t.minimumSize>0||e).reverse();e=!1;let a=r.map(t=>e=t.maximumSize-t.size>0||e).reverse(),o=0;for(let e=0;e<this.sashes.length;e++){let r=this.sashes[e],s=this.viewItems[e];o+=s.size;let c=!(t[e]&&a[e+1]),l=!(n[e]&&i[e+1]);if(c&&l){let n=F_(e,-1),a=F_(e+1,this.viewItems.length),s=this.findFirstSnapIndex(n),c=this.findFirstSnapIndex(a),l=typeof s==`number`&&!this.viewItems[s].visible,u=typeof c==`number`&&!this.viewItems[c].visible;l&&i[e]&&(o>0||this.startSnappingEnabled)?this.updateSash(r,R_.MINIMUM):u&&t[e]&&(o<this._contentSize||this.endSnappingEnabled)?this.updateSash(r,R_.MAXIMUM):this.updateSash(r,R_.DISABLED)}else c&&!l?this.updateSash(r,R_.MINIMUM):!c&&l?this.updateSash(r,R_.MAXIMUM):this.updateSash(r,R_.ENABLED)}}updateSash(e,t){Q(e.container,`dv-disabled`,t===R_.DISABLED),Q(e.container,`dv-enabled`,t===R_.ENABLED),Q(e.container,`dv-maximum`,t===R_.MAXIMUM),Q(e.container,`dv-minimum`,t===R_.MINIMUM)}createViewContainer(){let e=document.createElement(`div`);return e.className=`dv-view-container`,e}createSashContainer(){let e=document.createElement(`div`);return e.className=`dv-sash-container`,e}createContainer(){let e=document.createElement(`div`);return e.className=`dv-split-view-container ${this._orientation===L_.HORIZONTAL?`dv-horizontal`:`dv-vertical`}`,e}dispose(){this._onDidSashEnd.dispose(),this._onDidAddView.dispose(),this._onDidRemoveView.dispose();for(let e=0;e<this.element.children.length;e++)if(this.element.children.item(e)===this.element){this.element.removeChild(this.element);break}for(let e of this.viewItems)e.dispose();this.element.remove()}},H_=Object.keys({orientation:void 0,descriptor:void 0,proportionalLayout:void 0,styles:void 0,margin:void 0,disableAutoResizing:void 0,className:void 0}),U_=class extends Jg{get onDidAddView(){return this.splitview.onDidAddView}get onDidRemoveView(){return this.splitview.onDidRemoveView}get minimumSize(){return this.splitview.minimumSize}get maximumSize(){return this.splitview.maximumSize}get orientation(){return this.splitview.orientation}get size(){return this.splitview.size}get orthogonalSize(){return this.splitview.orthogonalSize}constructor(e,t){super(),this.paneItems=[],this.skipAnimation=!1,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._orientation=t.orientation??L_.VERTICAL,this.element=document.createElement(`div`),this.element.className=`dv-pane-container`,e.appendChild(this.element),this.splitview=new V_(this.element,{orientation:this._orientation,proportionalLayout:!1,descriptor:t.descriptor}),this.getPanes().forEach(e=>{let t=new Jg(e.onDidChangeExpansionState(()=>{this.setupAnimation(),this._onDidChange.fire(void 0)})),n={pane:e,disposable:{dispose:()=>{t.dispose()}}};this.paneItems.push(n),e.orthogonalSize=this.splitview.orthogonalSize}),this.addDisposables(this._onDidChange,this.splitview.onDidSashEnd(()=>{this._onDidChange.fire(void 0)}),this.splitview.onDidAddView(()=>{this._onDidChange.fire()}),this.splitview.onDidRemoveView(()=>{this._onDidChange.fire()}))}setViewVisible(e,t){this.splitview.setViewVisible(e,t)}addPane(e,t,n=this.splitview.length,r=!1){let i=e.onDidChangeExpansionState(()=>{this.setupAnimation(),this._onDidChange.fire(void 0)}),a={pane:e,disposable:{dispose:()=>{i.dispose()}}};this.paneItems.splice(n,0,a),e.orthogonalSize=this.splitview.orthogonalSize,this.splitview.addView(e,t,n,r)}getViewSize(e){return this.splitview.getViewSize(e)}getPanes(){return this.splitview.getViews()}removePane(e,t={skipDispose:!1}){let n=this.paneItems.splice(e,1)[0];return this.splitview.removeView(e),t.skipDispose||(n.disposable.dispose(),n.pane.dispose()),n}moveView(e,t){if(e===t)return;let n=this.removePane(e,{skipDispose:!0});this.skipAnimation=!0;try{this.addPane(n.pane,n.pane.size,t,!1)}finally{this.skipAnimation=!1}}layout(e,t){this.splitview.layout(e,t)}setupAnimation(){this.skipAnimation||(this.animationTimer&&=(clearTimeout(this.animationTimer),void 0),o_(this.element,`dv-animated`),this.animationTimer=setTimeout(()=>{this.animationTimer=void 0,a_(this.element,`dv-animated`)},200))}dispose(){super.dispose(),this.animationTimer&&=(clearTimeout(this.animationTimer),void 0),this.paneItems.forEach(e=>{e.disposable.dispose(),e.pane.dispose()}),this.paneItems=[],this.splitview.dispose(),this.element.remove()}},W_=class{get minimumWidth(){return this.view.minimumWidth}get maximumWidth(){return this.view.maximumWidth}get minimumHeight(){return this.view.minimumHeight}get maximumHeight(){return this.view.maximumHeight}get priority(){return this.view.priority}get snap(){return this.view.snap}get minimumSize(){return this.orientation===L_.HORIZONTAL?this.minimumHeight:this.minimumWidth}get maximumSize(){return this.orientation===L_.HORIZONTAL?this.maximumHeight:this.maximumWidth}get minimumOrthogonalSize(){return this.orientation===L_.HORIZONTAL?this.minimumWidth:this.minimumHeight}get maximumOrthogonalSize(){return this.orientation===L_.HORIZONTAL?this.maximumWidth:this.maximumHeight}get orthogonalSize(){return this._orthogonalSize}get size(){return this._size}get element(){return this.view.element}get width(){return this.orientation===L_.HORIZONTAL?this.orthogonalSize:this.size}get height(){return this.orientation===L_.HORIZONTAL?this.size:this.orthogonalSize}constructor(e,t,n,r=0){this.view=e,this.orientation=t,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._orthogonalSize=n,this._size=r,this._disposable=this.view.onDidChange(e=>{e?this._onDidChange.fire({size:this.orientation===L_.VERTICAL?e.width:e.height,orthogonalSize:this.orientation===L_.VERTICAL?e.height:e.width}):this._onDidChange.fire({})})}setVisible(e){this.view.setVisible&&this.view.setVisible(e)}layout(e,t){this._size=e,this._orthogonalSize=t,this.view.layout(this.width,this.height)}dispose(){this._onDidChange.dispose(),this._disposable.dispose()}},G_=class e extends Jg{get width(){return this.orientation===L_.HORIZONTAL?this.size:this.orthogonalSize}get height(){return this.orientation===L_.HORIZONTAL?this.orthogonalSize:this.size}get minimumSize(){return this.children.length===0?0:Math.max(...this.children.map((e,t)=>this.splitview.isViewVisible(t)?e.minimumOrthogonalSize:0))}get maximumSize(){return Math.min(...this.children.map((e,t)=>this.splitview.isViewVisible(t)?e.maximumOrthogonalSize:1/0))}get minimumOrthogonalSize(){return this.splitview.minimumSize}get maximumOrthogonalSize(){return this.splitview.maximumSize}get orthogonalSize(){return this._orthogonalSize}get size(){return this._size}get minimumWidth(){return this.orientation===L_.HORIZONTAL?this.minimumOrthogonalSize:this.minimumSize}get minimumHeight(){return this.orientation===L_.HORIZONTAL?this.minimumSize:this.minimumOrthogonalSize}get maximumWidth(){return this.orientation===L_.HORIZONTAL?this.maximumOrthogonalSize:this.maximumSize}get maximumHeight(){return this.orientation===L_.HORIZONTAL?this.maximumSize:this.maximumOrthogonalSize}get priority(){if(this.children.length===0)return z_.Normal;let e=this.children.map(e=>e.priority===void 0?z_.Normal:e.priority);return e.some(e=>e===z_.High)?z_.High:e.some(e=>e===z_.Low)?z_.Low:z_.Normal}get disabled(){return this.splitview.disabled}set disabled(e){this.splitview.disabled=e}get margin(){return this.splitview.margin}set margin(t){this.splitview.margin=t,this.children.forEach(n=>{n instanceof e&&(n.margin=t)})}constructor(e,t,n,r,i,a,o,s){if(super(),this.orientation=e,this.proportionalLayout=t,this.styles=n,this._childrenDisposable=qg.NONE,this.children=[],this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._onDidVisibilityChange=new X,this.onDidVisibilityChange=this._onDidVisibilityChange.event,this._orthogonalSize=i,this._size=r,this.element=document.createElement(`div`),this.element.className=`dv-branch-node`,!s)this.splitview=new V_(this.element,{orientation:this.orientation,proportionalLayout:t,styles:n,margin:o}),this.splitview.layout(this.size,this.orthogonalSize);else{let e={views:s.map(e=>({view:e.node,size:e.node.size,visible:e.node instanceof W_&&e.visible!==void 0?e.visible:!0})),size:this.orthogonalSize};this.children=s.map(e=>e.node),this.splitview=new V_(this.element,{orientation:this.orientation,descriptor:e,proportionalLayout:t,styles:n,margin:o})}this.disabled=a,this.addDisposables(this._onDidChange,this._onDidVisibilityChange,this.splitview.onDidSashEnd(()=>{this._onDidChange.fire({})})),this.setupChildrenEvents()}setVisible(e){}isChildVisible(e){if(e<0||e>=this.children.length)throw Error(`Invalid index`);return this.splitview.isViewVisible(e)}setChildVisible(e,t){if(e<0||e>=this.children.length)throw Error(`Invalid index`);if(this.splitview.isViewVisible(e)===t)return;let n=this.splitview.contentSize===0;this.splitview.setViewVisible(e,t);let r=this.splitview.contentSize===0;(t&&n||!t&&r)&&this._onDidVisibilityChange.fire({visible:t})}moveChild(e,t){if(e===t)return;if(e<0||e>=this.children.length)throw Error(`Invalid from index`);e<t&&t--,this.splitview.moveView(e,t);let n=this._removeChild(e);this._addChild(n,t)}getChildSize(e){if(e<0||e>=this.children.length)throw Error(`Invalid index`);return this.splitview.getViewSize(e)}resizeChild(e,t){if(e<0||e>=this.children.length)throw Error(`Invalid index`);this.splitview.resizeView(e,t)}layout(e,t){this._size=t,this._orthogonalSize=e,this.splitview.layout(t,e)}addChild(e,t,n,r){if(n<0||n>this.children.length)throw Error(`Invalid index`);this.splitview.addView(e,t,n,r),this._addChild(e,n)}getChildCachedVisibleSize(e){if(e<0||e>=this.children.length)throw Error(`Invalid index`);return this.splitview.getViewCachedVisibleSize(e)}removeChild(e,t){if(e<0||e>=this.children.length)throw Error(`Invalid index`);return this.splitview.removeView(e,t),this._removeChild(e)}_addChild(e,t){this.children.splice(t,0,e),this.setupChildrenEvents()}_removeChild(e){let[t]=this.children.splice(e,1);return this.setupChildrenEvents(),t}setupChildrenEvents(){this._childrenDisposable.dispose(),this._childrenDisposable=new Jg(Xg.any(...this.children.map(e=>e.onDidChange))(e=>{this._onDidChange.fire({size:e.orthogonalSize})}),...this.children.map((t,n)=>t instanceof e?t.onDidVisibilityChange(({visible:e})=>{this.setChildVisible(n,e)}):qg.NONE))}dispose(){this._childrenDisposable.dispose(),this.splitview.dispose(),this.children.forEach(e=>e.dispose()),super.dispose()}};function K_(e,t){if(e instanceof W_)return e;if(e instanceof G_)return K_(e.children[t?e.children.length-1:0],t);throw Error(`invalid node`)}function q_(e,t,n){if(e instanceof G_){let r=new G_(e.orientation,e.proportionalLayout,e.styles,t,n,e.disabled,e.margin);for(let t=e.children.length-1;t>=0;t--){let n=e.children[t];r.addChild(q_(n,n.size,n.orthogonalSize),n.size,0,!0)}return r}else return new W_(e.view,e.orientation,n)}function J_(e,t,n){if(e instanceof G_){let r=new G_(ev(e.orientation),e.proportionalLayout,e.styles,t,n,e.disabled,e.margin),i=0;for(let a=e.children.length-1;a>=0;a--){let o=e.children[a],s=o instanceof G_?o.orthogonalSize:o.size,c=e.size===0?0:Math.round(t*s/e.size);i+=c,a===0&&(c+=t-i),r.addChild(J_(o,n,c),c,0,!0)}return r}else return new W_(e.view,ev(e.orientation),n)}function Y_(e){let t=e.parentElement;if(!t)throw Error(`Invalid grid element`);let n=t.firstElementChild,r=0;for(;n!==e&&n!==t.lastElementChild&&n;)n=n.nextElementSibling,r++;return r}function X_(e){let t=e.parentElement;if(!t)throw Error(`Invalid grid element`);if(/\bdv-grid-view\b/.test(t.className))return[];let n=Y_(t),r=t.parentElement.parentElement.parentElement;return[...X_(r),n]}function Z_(e,t,n){if($_(e,t)===Q_(n)){let[e,r]=D_(t),i=r;return(n===`right`||n===`bottom`)&&(i+=1),[...e,i]}else{let e=+(n===`right`||n===`bottom`);return[...t,e]}}function Q_(e){return e===`top`||e===`bottom`?L_.VERTICAL:L_.HORIZONTAL}function $_(e,t){return t.length%2==0?ev(e):e}var ev=e=>e===L_.HORIZONTAL?L_.VERTICAL:L_.HORIZONTAL;function tv(e){return!!e.children}var nv=(e,t)=>{let n=t===L_.VERTICAL?e.box.width:e.box.height;return tv(e)?{type:`branch`,data:e.children.map(e=>nv(e,ev(t))),size:n}:typeof e.cachedVisibleSize==`number`?{type:`leaf`,data:e.view.toJSON(),size:e.cachedVisibleSize,visible:!1}:{type:`leaf`,data:e.view.toJSON(),size:n}},rv=class{get length(){return this._root?this._root.children.length:0}get orientation(){return this.root.orientation}set orientation(e){if(this.root.orientation===e)return;let{size:t,orthogonalSize:n}=this.root;this.root=J_(this.root,n,t),this.root.layout(t,n)}get width(){return this.root.width}get height(){return this.root.height}get minimumWidth(){return this.root.minimumWidth}get minimumHeight(){return this.root.minimumHeight}get maximumWidth(){return this.root.maximumHeight}get maximumHeight(){return this.root.maximumHeight}get locked(){return this._locked}set locked(e){this._locked=e;let t=[this.root];for(;t.length>0;){let n=t.pop();n instanceof G_&&(n.disabled=e,t.push(...n.children))}}get margin(){return this._margin}set margin(e){this._margin=e,this.root.margin=e}maximizedView(){return this._maximizedNode?.leaf.view}hasMaximizedView(){return this._maximizedNode!==void 0}maximizeView(e){let t=X_(e.element),[n,r]=this.getNode(t);if(!(r instanceof W_)||this._maximizedNode?.leaf===r)return;this.hasMaximizedView()&&this.exitMaximizedView(),nv(this.getView(),this.orientation);let i=[];function a(e,t){for(let n=0;n<e.children.length;n++){let r=e.children[n];r instanceof W_?r!==t&&(e.isChildVisible(n)?e.setChildVisible(n,!1):i.push(r)):a(r,t)}}a(this.root,r),this._maximizedNode={leaf:r,hiddenOnMaximize:i},this._onDidMaximizedNodeChange.fire({view:r.view,isMaximized:!0})}exitMaximizedView(){if(!this._maximizedNode)return;let e=this._maximizedNode.hiddenOnMaximize;function t(n){for(let r=n.children.length-1;r>=0;r--){let i=n.children[r];i instanceof W_?e.includes(i)||n.setChildVisible(r,!0):t(i)}}t(this.root);let n=this._maximizedNode.leaf;this._maximizedNode=void 0,this._onDidMaximizedNodeChange.fire({view:n.view,isMaximized:!1})}serialize(){let e=this.maximizedView(),t;e&&(t=X_(e.element));let n=this._onDidMaximizedNodeChange.pause();try{this.hasMaximizedView()&&this.exitMaximizedView();let n={root:nv(this.getView(),this.orientation),width:this.width,height:this.height,orientation:this.orientation};return t&&(n.maximizedNode={location:t}),e&&this.maximizeView(e),n}finally{n.dispose()}}dispose(){this.disposable.dispose(),this._onDidChange.dispose(),this._onDidMaximizedNodeChange.dispose(),this._onDidViewVisibilityChange.dispose(),this.root.dispose(),this._maximizedNode=void 0,this.element.remove()}clear(){let e=this.root.orientation;this.root=new G_(e,this.proportionalLayout,this.styles,this.root.size,this.root.orthogonalSize,this.locked,this.margin)}deserialize(e,t){let n=e.orientation,r=n===L_.VERTICAL?e.height:e.width;if(this._deserialize(e.root,n,t,r),this.layout(e.width,e.height),e.maximizedNode){let t=e.maximizedNode.location,[n,r]=this.getNode(t);if(!(r instanceof W_))return;this.maximizeView(r.view)}}_deserialize(e,t,n,r){this.root=this._deserializeNode(e,t,n,r)}_deserializeNode(e,t,n,r){var i;let a;if(e.type===`branch`){let i=e.data.map(r=>({node:this._deserializeNode(r,ev(t),n,e.size),visible:r.visible}));a=new G_(t,this.proportionalLayout,this.styles,e.size,r,this.locked,this.margin,i)}else{let o=n.fromJSON(e);typeof e.visible==`boolean`&&((i=o.setVisible)==null||i.call(o,e.visible)),a=new W_(o,t,r,e.size)}return a}get root(){return this._root}set root(e){let t=this._root;t&&(t.dispose(),this._maximizedNode=void 0,this.element.removeChild(t.element)),this._root=e,this.element.appendChild(this._root.element),this.disposable.value=this._root.onDidChange(e=>{this._onDidChange.fire(e)})}normalize(){if(!this._root||this._root.children.length!==1)return;let e=this.root,t=e.children[0];if(t instanceof W_)return;e.element.remove();let n=e.removeChild(0);e.dispose(),n.dispose(),this._root=q_(t,t.size,t.orthogonalSize),this.element.appendChild(this._root.element),this.disposable.value=this._root.onDidChange(e=>{this._onDidChange.fire(e)})}insertOrthogonalSplitviewAtRoot(){if(!this._root)return;let e=this.root;if(e.element.remove(),this._root=new G_(ev(e.orientation),this.proportionalLayout,this.styles,this.root.orthogonalSize,this.root.size,this.locked,this.margin),e.children.length!==0)if(e.children.length===1){let t=e.children[0];e.removeChild(0).dispose(),e.dispose(),this._root.addChild(J_(t,t.orthogonalSize,t.size),B_.Distribute,0)}else this._root.addChild(e,B_.Distribute,0);this.element.appendChild(this._root.element),this.disposable.value=this._root.onDidChange(e=>{this._onDidChange.fire(e)})}next(e){return this.progmaticSelect(e)}previous(e){return this.progmaticSelect(e,!0)}getView(e){let t=e?this.getNode(e)[1]:this.root;return this._getViews(t,this.orientation)}_getViews(e,t,n){let r={height:e.height,width:e.width};if(e instanceof W_)return{box:r,view:e.view,cachedVisibleSize:n};let i=[];for(let n=0;n<e.children.length;n++){let r=e.children[n],a=e.getChildCachedVisibleSize(n);i.push(this._getViews(r,ev(t),a))}return{box:r,children:i}}progmaticSelect(e,t=!1){let[n,r]=this.getNode(e);if(!(r instanceof W_))throw Error(`invalid location`);for(let r=n.length-1;r>-1;r--){let i=n[r],a=e[r]||0;if(t?a-1>-1:a+1<i.children.length)return K_(i.children[t?a-1:a+1],t)}return K_(this.root,t)}constructor(e,t,n,r,i){this.proportionalLayout=e,this.styles=t,this._locked=!1,this._margin=0,this._maximizedNode=void 0,this.disposable=new Yg,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._onDidViewVisibilityChange=new X,this.onDidViewVisibilityChange=this._onDidViewVisibilityChange.event,this._onDidMaximizedNodeChange=new X,this.onDidMaximizedNodeChange=this._onDidMaximizedNodeChange.event,this.element=document.createElement(`div`),this.element.className=`dv-grid-view`,this._locked=r??!1,this._margin=i??0,this.root=new G_(n,e,t,0,0,this.locked,this.margin)}isViewVisible(e){let[t,n]=D_(e),[,r]=this.getNode(t);if(!(r instanceof G_))throw Error(`Invalid from location`);return r.isChildVisible(n)}setViewVisible(e,t){this.hasMaximizedView()&&this.exitMaximizedView();let[n,r]=D_(e),[,i]=this.getNode(n);if(!(i instanceof G_))throw Error(`Invalid from location`);this._onDidViewVisibilityChange.fire(),i.setChildVisible(r,t)}moveView(e,t,n){this.hasMaximizedView()&&this.exitMaximizedView();let[,r]=this.getNode(e);if(!(r instanceof G_))throw Error(`Invalid location`);r.moveChild(t,n)}addView(e,t,n){this.hasMaximizedView()&&this.exitMaximizedView();let[r,i]=D_(n),[a,o]=this.getNode(r);if(o instanceof G_){let n=new W_(e,ev(o.orientation),o.orthogonalSize);o.addChild(n,t,i)}else{let[n,...s]=[...a].reverse(),[c,...l]=[...r].reverse(),u=0,d=n.getChildCachedVisibleSize(c);typeof d==`number`&&(u=B_.Invisible(d)),n.removeChild(c).dispose();let f=new G_(o.orientation,this.proportionalLayout,this.styles,o.size,o.orthogonalSize,this.locked,this.margin);n.addChild(f,o.size,c);let p=new W_(o.view,n.orientation,o.size);f.addChild(p,u,0),typeof t!=`number`&&t.type===`split`&&(t={type:`split`,index:0});let m=new W_(e,n.orientation,o.size);f.addChild(m,t,i)}}remove(e,t){let n=X_(e.element);return this.removeView(n,t)}removeView(e,t){this.hasMaximizedView()&&this.exitMaximizedView();let[n,r]=D_(e),[i,a]=this.getNode(n);if(!(a instanceof G_))throw Error(`Invalid location`);let o=a.children[r];if(!(o instanceof W_))throw Error(`Invalid location`);if(a.removeChild(r,t),o.dispose(),a.children.length!==1)return o.view;let s=a.children[0];if(i.length===0)return s instanceof W_?o.view:(a.removeChild(0,t),this.root=s,o.view);let[c,...l]=[...i].reverse(),[u,...d]=[...n].reverse(),f=a.isChildVisible(0);a.removeChild(0,t);let p=c.children.map((e,t)=>c.getChildSize(t));if(c.removeChild(u,t).dispose(),s instanceof G_){p.splice(u,1,...s.children.map(e=>e.size));for(let e=0;e<s.children.length;e++){let t=s.children[e];c.addChild(t,t.size,u+e)}for(;s.children.length>0;)s.removeChild(0)}else{let e=new W_(s.view,ev(s.orientation),s.size),t=f?s.orthogonalSize:B_.Invisible(s.orthogonalSize);c.addChild(e,t,u)}s.dispose();for(let e=0;e<p.length;e++)c.resizeChild(e,p[e]);return o.view}layout(e,t){let[n,r]=this.root.orientation===L_.HORIZONTAL?[t,e]:[e,t];this.root.layout(n,r)}getNode(e,t=this.root,n=[]){if(e.length===0)return[n,t];if(!(t instanceof G_))throw Error(`Invalid location`);let[r,...i]=e;if(r<0||r>=t.children.length)throw Error(`Invalid location`);let a=t.children[r];return n.push(t),this.getNode(i,a,n)}},iv=Object.keys({disableAutoResizing:void 0,proportionalLayout:void 0,orientation:void 0,hideBorders:void 0,className:void 0}),av=class extends Jg{get element(){return this._element}get disableResizing(){return this._disableResizing}set disableResizing(e){this._disableResizing=e}constructor(e,t=!1){super(),this._lastWidth=-1,this._lastHeight=-1,this._disableResizing=t,this._element=e,this.addDisposables(i_(this._element,e=>{if(this.isDisposed||this.disableResizing||!this._element.offsetParent||!h_(this._element))return;let t=Math.round(e.contentRect.width),n=Math.round(e.contentRect.height);t===this._lastWidth&&n===this._lastHeight||(this._lastWidth=t,this._lastHeight=n,this.layout(t,n))}))}},ov=P_();function sv(e){switch(e){case`left`:return`left`;case`right`:return`right`;case`above`:return`top`;case`below`:return`bottom`;default:return`center`}}var cv=class extends av{get id(){return this._id}get size(){return this._groups.size}get groups(){return Array.from(this._groups.values()).map(e=>e.value)}get width(){return this.gridview.width}get height(){return this.gridview.height}get minimumHeight(){return this.gridview.minimumHeight}get maximumHeight(){return this.gridview.maximumHeight}get minimumWidth(){return this.gridview.minimumWidth}get maximumWidth(){return this.gridview.maximumWidth}get activeGroup(){return this._activeGroup}get locked(){return this.gridview.locked}set locked(e){this.gridview.locked=e}constructor(e,t){super(document.createElement(`div`),t.disableAutoResizing),this._id=ov.next(),this._groups=new Map,this._onDidRemove=new X,this.onDidRemove=this._onDidRemove.event,this._onDidAdd=new X,this.onDidAdd=this._onDidAdd.event,this._onDidMaximizedChange=new X,this.onDidMaximizedChange=this._onDidMaximizedChange.event,this._onDidActiveChange=new X,this.onDidActiveChange=this._onDidActiveChange.event,this._bufferOnDidLayoutChange=new n_,this.onDidLayoutChange=this._bufferOnDidLayoutChange.onEvent,this._onDidViewVisibilityChangeMicroTaskQueue=new n_,this.onDidViewVisibilityChangeMicroTaskQueue=this._onDidViewVisibilityChangeMicroTaskQueue.onEvent,this.element.style.height=`100%`,this.element.style.width=`100%`,this._classNames=new b_(this.element),this._classNames.setClassNames(t.className??``),e.appendChild(this.element),this.gridview=new rv(!!t.proportionalLayout,t.styles,t.orientation,t.locked,t.margin),this.gridview.locked=!!t.locked,this.element.appendChild(this.gridview.element),this.layout(0,0,!0),this.addDisposables(this.gridview.onDidMaximizedNodeChange(e=>{this._onDidMaximizedChange.fire({panel:e.view,isMaximized:e.isMaximized})}),this.gridview.onDidViewVisibilityChange(()=>this._onDidViewVisibilityChangeMicroTaskQueue.fire()),this.onDidViewVisibilityChangeMicroTaskQueue(()=>{this.forceRelayout()}),qg.from(()=>{var e;(e=this.element.parentElement)==null||e.removeChild(this.element)}),this.gridview.onDidChange(()=>{this._bufferOnDidLayoutChange.fire()}),Xg.any(this.onDidAdd,this.onDidRemove,this.onDidActiveChange)(()=>{this._bufferOnDidLayoutChange.fire()}),this._onDidMaximizedChange,this._onDidViewVisibilityChangeMicroTaskQueue,this._bufferOnDidLayoutChange)}setVisible(e,t){this.gridview.setViewVisible(X_(e.element),t),this._bufferOnDidLayoutChange.fire()}isVisible(e){return this.gridview.isViewVisible(X_(e.element))}updateOptions(e){e.proportionalLayout,e.orientation&&(this.gridview.orientation=e.orientation),`disableResizing`in e&&(this.disableResizing=e.disableAutoResizing??!1),`locked`in e&&(this.locked=e.locked??!1),`margin`in e&&(this.gridview.margin=e.margin??0),`className`in e&&this._classNames.setClassNames(e.className??``)}maximizeGroup(e){this.gridview.maximizeView(e),this.doSetGroupActive(e)}isMaximizedGroup(e){return this.gridview.maximizedView()===e}exitMaximizedGroup(){this.gridview.exitMaximizedView()}hasMaximizedGroup(){return this.gridview.hasMaximizedView()}doAddGroup(e,t=[0],n){this.gridview.addView(e,n??B_.Distribute,t),this._onDidAdd.fire(e)}doRemoveGroup(e,t){if(!this._groups.has(e.id))throw Error(`invalid operation`);let n=this._groups.get(e.id),r=this.gridview.remove(e,B_.Distribute);if(n&&!t?.skipDispose&&(n.disposable.dispose(),n.value.dispose(),this._groups.delete(e.id),this._onDidRemove.fire(e)),!t?.skipActive&&this._activeGroup===e){let e=Array.from(this._groups.values());this.doSetGroupActive(e.length>0?e[0].value:void 0)}return r}getPanel(e){return this._groups.get(e)?.value}doSetGroupActive(e){this._activeGroup!==e&&(this._activeGroup&&this._activeGroup.setActive(!1),e&&e.setActive(!0),this._activeGroup=e,this._onDidActiveChange.fire(e))}removeGroup(e){this.doRemoveGroup(e)}moveToNext(e){if(e||={},!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}let t=X_(e.group.element),n=this.gridview.next(t)?.view;this.doSetGroupActive(n)}moveToPrevious(e){if(e||={},!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}let t=X_(e.group.element),n=this.gridview.previous(t)?.view;this.doSetGroupActive(n)}forceRelayout(){this.layout(this.width,this.height,!0)}layout(e,t,n){(n||e!==this.width||t!==this.height)&&(this.gridview.element.style.height=`${t}px`,this.gridview.element.style.width=`${e}px`,this.gridview.layout(e,t))}dispose(){this._onDidActiveChange.dispose(),this._onDidAdd.dispose(),this._onDidRemove.dispose();for(let e of this.groups)e.dispose();this.gridview.dispose(),super.dispose()}},lv=class{get minimumSize(){return this.component.minimumSize}get maximumSize(){return this.component.maximumSize}get width(){return this.component.width}get height(){return this.component.height}get length(){return this.component.length}get orientation(){return this.component.orientation}get panels(){return this.component.panels}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidAddView(){return this.component.onDidAddView}get onDidRemoveView(){return this.component.onDidRemoveView}constructor(e){this.component=e}removePanel(e,t){this.component.removePanel(e,t)}focus(){this.component.focus()}getPanel(e){return this.component.getPanel(e)}layout(e,t){return this.component.layout(e,t)}addPanel(e){return this.component.addPanel(e)}movePanel(e,t){this.component.movePanel(e,t)}fromJSON(e){this.component.fromJSON(e)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}},uv=class{get minimumSize(){return this.component.minimumSize}get maximumSize(){return this.component.maximumSize}get width(){return this.component.width}get height(){return this.component.height}get panels(){return this.component.panels}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get onDidAddView(){return this.component.onDidAddView}get onDidRemoveView(){return this.component.onDidRemoveView}get onDidDrop(){return this.component.onDidDrop}get onUnhandledDragOverEvent(){return this.component.onUnhandledDragOverEvent}constructor(e){this.component=e}removePanel(e){this.component.removePanel(e)}getPanel(e){return this.component.getPanel(e)}movePanel(e,t){this.component.movePanel(e,t)}focus(){this.component.focus()}layout(e,t){this.component.layout(e,t)}addPanel(e){return this.component.addPanel(e)}fromJSON(e){this.component.fromJSON(e)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}},dv=class{get width(){return this.component.width}get height(){return this.component.height}get minimumHeight(){return this.component.minimumHeight}get maximumHeight(){return this.component.maximumHeight}get minimumWidth(){return this.component.minimumWidth}get maximumWidth(){return this.component.maximumWidth}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidAddPanel(){return this.component.onDidAddGroup}get onDidRemovePanel(){return this.component.onDidRemoveGroup}get onDidActivePanelChange(){return this.component.onDidActiveGroupChange}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get panels(){return this.component.groups}get orientation(){return this.component.orientation}set orientation(e){this.component.updateOptions({orientation:e})}constructor(e){this.component=e}focus(){this.component.focus()}layout(e,t,n=!1){this.component.layout(e,t,n)}addPanel(e){return this.component.addPanel(e)}removePanel(e,t){this.component.removePanel(e,t)}movePanel(e,t){this.component.movePanel(e,t)}getPanel(e){return this.component.getPanel(e)}fromJSON(e){return this.component.fromJSON(e)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}},fv=class{get id(){return this.component.id}get width(){return this.component.width}get height(){return this.component.height}get minimumHeight(){return this.component.minimumHeight}get maximumHeight(){return this.component.maximumHeight}get minimumWidth(){return this.component.minimumWidth}get maximumWidth(){return this.component.maximumWidth}get size(){return this.component.size}get tabGroupColors(){return this.component.tabGroupColorPalette.entries()}get totalPanels(){return this.component.totalPanels}get onDidActiveGroupChange(){return this.component.onDidActiveGroupChange}get onDidAddGroup(){return this.component.onDidAddGroup}get onDidRemoveGroup(){return this.component.onDidRemoveGroup}get onDidActivePanelChange(){return this.component.onDidActivePanelChange}get onDidAddPanel(){return this.component.onDidAddPanel}get onDidRemovePanel(){return this.component.onDidRemovePanel}get onDidMovePanel(){return this.component.onDidMovePanel}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidDrop(){return this.component.onDidDrop}get onWillDrop(){return this.component.onWillDrop}get onWillShowOverlay(){return this.component.onWillShowOverlay}get onWillDragGroup(){return this.component.onWillDragGroup}get onWillDragPanel(){return this.component.onWillDragPanel}get onUnhandledDragOverEvent(){return this.component.onUnhandledDragOverEvent}get onDidPopoutGroupSizeChange(){return this.component.onDidPopoutGroupSizeChange}get onDidPopoutGroupPositionChange(){return this.component.onDidPopoutGroupPositionChange}get onDidOpenPopoutWindowFail(){return this.component.onDidOpenPopoutWindowFail}get onDidCreateTabGroup(){return this.component.onDidCreateTabGroup}get onDidDestroyTabGroup(){return this.component.onDidDestroyTabGroup}get onDidAddPanelToTabGroup(){return this.component.onDidAddPanelToTabGroup}get onDidRemovePanelFromTabGroup(){return this.component.onDidRemovePanelFromTabGroup}get onDidTabGroupChange(){return this.component.onDidTabGroupChange}get onDidTabGroupCollapsedChange(){return this.component.onDidTabGroupCollapsedChange}get panels(){return this.component.panels}get groups(){return this.component.groups}get activePanel(){return this.component.activePanel}get activeGroup(){return this.component.activeGroup}constructor(e){this.component=e}focus(){this.component.focus()}getPanel(e){return this.component.getGroupPanel(e)}layout(e,t,n=!1){this.component.layout(e,t,n)}addPanel(e){return this.component.addPanel(e)}removePanel(e){this.component.removePanel(e)}addGroup(e){return this.component.addGroup(e)}closeAllGroups(){return this.component.closeAllGroups()}removeGroup(e){this.component.removeGroup(e)}getGroup(e){return this.component.getPanel(e)}addFloatingGroup(e,t){return this.component.addFloatingGroup(e,t)}fromJSON(e,t){this.component.fromJSON(e,t)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}moveToNext(e){this.component.moveToNext(e)}moveToPrevious(e){this.component.moveToPrevious(e)}maximizeGroup(e){this.component.maximizeGroup(e.group)}hasMaximizedGroup(){return this.component.hasMaximizedGroup()}exitMaximizedGroup(){this.component.exitMaximizedGroup()}get onDidMaximizedGroupChange(){return this.component.onDidMaximizedGroupChange}addPopoutGroup(e,t){return this.component.addPopoutGroup(e,t)}addEdgeGroup(e,t){return this.component.addEdgeGroup(e,t)}getEdgeGroup(e){return this.component.getEdgeGroup(e)}setEdgeGroupVisible(e,t){this.component.setEdgeGroupVisible(e,t)}isEdgeGroupVisible(e){return this.component.isEdgeGroupVisible(e)}removeEdgeGroup(e){this.component.removeEdgeGroup(e)}updateOptions(e){this.component.updateOptions(e)}_getGroupModel(e){let t=this.component.getPanel(e);if(!t)throw Error(`dockview: group '${e}' not found`);return t.model}createTabGroup(e){return this._getGroupModel(e.groupId).createTabGroup({label:e.label,color:e.color,componentParams:e.componentParams})}dissolveTabGroup(e){this._getGroupModel(e.groupId).dissolveTabGroup(e.tabGroupId)}addPanelToTabGroup(e){this._getGroupModel(e.groupId).addPanelToTabGroup(e.tabGroupId,e.panelId,e.index)}removePanelFromTabGroup(e){this._getGroupModel(e.groupId).removePanelFromTabGroup(e.panelId)}getTabGroups(e){return this._getGroupModel(e.groupId).getTabGroups()}getTabGroupForPanel(e){return this._getGroupModel(e.groupId).getTabGroupForPanel(e.panelId)}moveTabGroup(e){this._getGroupModel(e.groupId).moveTabGroup(e.tabGroupId,e.index)}dispose(){this.component.dispose()}},pv=class extends Jg{constructor(e,t){super(),this.element=e,this.callbacks=t,this.target=null,this.registerListeners()}onDragEnter(e){this.target=e.target,this.callbacks.onDragEnter(e)}onDragOver(e){e.preventDefault(),this.callbacks.onDragOver&&this.callbacks.onDragOver(e)}onDragLeave(e){this.target===e.target&&(this.target=null,this.callbacks.onDragLeave(e))}onDragEnd(e){this.target=null,this.callbacks.onDragEnd(e)}onDrop(e){this.callbacks.onDrop(e)}registerListeners(){this.addDisposables(Z(this.element,`dragenter`,e=>{this.onDragEnter(e)},!0)),this.addDisposables(Z(this.element,`dragover`,e=>{this.onDragOver(e)},!0)),this.addDisposables(Z(this.element,`dragleave`,e=>{this.onDragLeave(e)})),this.addDisposables(Z(this.element,`dragend`,e=>{this.onDragEnd(e)})),this.addDisposables(Z(this.element,`drop`,e=>{this.onDrop(e)}))}},mv={value:50,type:`percentage`},hv=100,gv=100;function _v(){let e=document.createElement(`div`);e.className=`dv-drop-target-dropzone`;let t=document.createElement(`div`);return t.className=`dv-drop-target-selection`,e.appendChild(t),{dropzone:e,selection:t}}function vv(e,t,n,r){let i=r?.smallWidthBoundary??hv,a=r?.smallHeightBoundary??gv,o=t<i,s=n<a,c=e===`left`,l=e===`right`,u=e===`top`,d=e===`bottom`,f=!o&&l,p=!o&&c,m=!s&&u,h=!s&&d,g=1,_=r?.size??mv;return _.type===`percentage`?g=N_(_.value,0,100)/100:((f||p)&&(g=N_(0,_.value,t)/t),(m||h)&&(g=N_(0,_.value,n)/n)),{isSmallX:o,isSmallY:s,isLeft:c,isRight:l,isTop:u,isBottom:d,rightClass:f,leftClass:p,topClass:m,bottomClass:h,size:g}}function yv(e,t,n,r,i){let a=vv(t,n,r,i),{rightClass:o,leftClass:s,topClass:c,bottomClass:l,size:u}=a,d={top:`0px`,left:`0px`,width:`100%`,height:`100%`};o?(d.left=`${100*(1-u)}%`,d.width=`${100*u}%`):s?d.width=`${100*u}%`:c?d.height=`${100*u}%`:l&&(d.top=`${100*(1-u)}%`,d.height=`${100*u}%`),a.isSmallX&&a.isLeft&&(d.width=`4px`),a.isSmallX&&a.isRight&&(d.left=`${n-4}px`,d.width=`4px`),a.isSmallY&&a.isTop&&(d.height=`4px`),a.isSmallY&&a.isBottom&&(d.top=`${r-4}px`,d.height=`4px`),e.style.top=d.top,e.style.left=d.left,e.style.width=d.width,e.style.height=d.height,e.style.visibility=`visible`,(!e.style.transform||e.style.transform===``)&&(e.style.transform=`translate3d(0, 0, 0)`);let f=a.isSmallX&&(a.isLeft||a.isRight)||a.isSmallY&&(a.isTop||a.isBottom);Q(e,`dv-drop-target-small-vertical`,a.isSmallY),Q(e,`dv-drop-target-small-horizontal`,a.isSmallX),Q(e,`dv-drop-target-selection-line`,f),Q(e,`dv-drop-target-left`,a.isLeft),Q(e,`dv-drop-target-right`,a.isRight),Q(e,`dv-drop-target-top`,a.isTop),Q(e,`dv-drop-target-bottom`,a.isBottom),Q(e,`dv-drop-target-center`,t===`center`)}function bv(e,t){let n=`${Math.round(t.top)}px`,r=`${Math.round(t.left)}px`,i=`${Math.round(t.width)}px`,a=`${Math.round(t.height)}px`;return e.style.top!==n||e.style.left!==r||e.style.width!==i||e.style.height!==a}function xv(e,t){e.style.top=`${Math.round(t.top)}px`,e.style.left=`${Math.round(t.left)}px`,e.style.width=`${Math.round(t.width)}px`,e.style.height=`${Math.round(t.height)}px`,e.style.visibility=`visible`,(!e.style.transform||e.style.transform===``)&&(e.style.transform=`translate3d(0, 0, 0)`)}function Sv(e){let t=vv(e.quadrant,e.width,e.height,e.overlayModel),{rightClass:n,leftClass:r,topClass:i,bottomClass:a,size:o}=t,s=e.outlineElement.getBoundingClientRect(),c=e.targetModel.getElements(void 0,e.outlineElement),l=c.root,u=c.overlay,d=l.getBoundingClientRect(),f=s.top-d.top,p=s.left-d.left,m={top:f,left:p,width:e.width,height:e.height};return n?(m.left=p+e.width*(1-o),m.width=e.width*o):r?m.width=e.width*o:i?m.height=e.height*o:a&&(m.top=f+e.height*(1-o),m.height=e.height*o),t.isSmallX&&t.isLeft&&(m.width=4),t.isSmallX&&t.isRight&&(m.left=p+e.width-4,m.width=4),t.isSmallY&&t.isTop&&(m.height=4),t.isSmallY&&t.isBottom&&(m.top=f+e.height-4,m.height=4),bv(u,m)?(xv(u,m),u.className=`dv-drop-target-anchor${e.className?` ${e.className}`:``}`,Q(u,`dv-drop-target-left`,t.isLeft),Q(u,`dv-drop-target-right`,t.isRight),Q(u,`dv-drop-target-top`,t.isTop),Q(u,`dv-drop-target-bottom`,t.isBottom),Q(u,`dv-drop-target-anchor-line`,t.isSmallX&&(t.isLeft||t.isRight)||t.isSmallY&&(t.isTop||t.isBottom)),Q(u,`dv-drop-target-center`,e.quadrant===`center`),c.changed&&(Q(u,`dv-drop-target-anchor-container-changed`,!0),setTimeout(()=>{Q(u,`dv-drop-target-anchor-container-changed`,!1)},10)),{boundsChanged:!0,targetChanged:c.changed}):{boundsChanged:!1,targetChanged:c.changed}}var Cv=class extends Zg{get nativeEvent(){return this.options.nativeEvent}get position(){return this.options.position}constructor(e){super(),this.options=e}};function wv(e){switch(e){case`above`:return`top`;case`below`:return`bottom`;case`left`:return`left`;case`right`:return`right`;case`within`:return`center`;default:throw Error(`invalid direction '${e}'`)}}function Tv(e){switch(e){case`top`:return`above`;case`bottom`:return`below`;case`left`:return`left`;case`right`:return`right`;case`center`:return`within`;default:throw Error(`invalid position '${e}'`)}}var Ev={value:20,type:`percentage`},Dv=class e extends Jg{get disabled(){return this._disabled}set disabled(e){this._disabled=e}get state(){return this._state}constructor(t,n){super(),this.element=t,this.options=n,this._onDrop=new X,this.onDrop=this._onDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._disabled=!1,this._acceptedTargetZonesSet=new Set(this.options.acceptedTargetZones),this.dnd=new pv(this.element,{onDragEnter:()=>{var e,t;(t=(e=this.options).getOverrideTarget?.call(e))==null||t.getElements()},onDragOver:t=>{var n,r;e.ACTUAL_TARGET=this;let i=(n=this.options).getOverrideTarget?.call(n);if(this._acceptedTargetZonesSet.size===0){if(i)return;this.removeDropTarget();return}let a=(r=this.options).getOverlayOutline?.call(r)??this.element,o=a.offsetWidth,s=a.offsetHeight;if(o===0||s===0)return;let c=t.currentTarget.getBoundingClientRect(),l=(t.clientX??0)-c.left,u=(t.clientY??0)-c.top,d=this.calculateQuadrant(this._acceptedTargetZonesSet,l,u,o,s);if(this.isAlreadyUsed(t)||d===null){this.removeDropTarget();return}if(!this.options.canDisplayOverlay(t,d)){if(i)return;this.removeDropTarget();return}let f=new Cv({nativeEvent:t,position:d});if(this._onWillShowOverlay.fire(f),f.defaultPrevented){this.removeDropTarget();return}if(this.markAsUsed(t),!i&&!this.targetElement){let e=_v();this.targetElement=e.dropzone,this.overlayElement=e.selection,this._state=`center`,a.classList.add(`dv-drop-target`),a.append(this.targetElement)}this.toggleClasses(d,o,s),this._state=d},onDragLeave:()=>{var e;(e=this.options).getOverrideTarget?.call(e)||this.removeDropTarget()},onDragEnd:t=>{var n;let r=(n=this.options).getOverrideTarget?.call(n);r&&e.ACTUAL_TARGET===this&&this._state&&(t.stopPropagation(),this._onDrop.fire({position:this._state,nativeEvent:t})),this.removeDropTarget(),r?.clear()},onDrop:e=>{var t,n;e.preventDefault();let r=this._state;this.removeDropTarget(),(n=(t=this.options).getOverrideTarget?.call(t))==null||n.clear(),r&&(e.stopPropagation(),this._onDrop.fire({position:r,nativeEvent:e}))}}),this.addDisposables(this._onDrop,this._onWillShowOverlay,this.dnd)}setTargetZones(e){this._acceptedTargetZonesSet=new Set(e)}setOverlayModel(e){this.options.overlayModel=e}dispose(){this.removeDropTarget(),super.dispose()}markAsUsed(t){t[e.USED_EVENT_ID]=!0}isAlreadyUsed(t){let n=t[e.USED_EVENT_ID];return typeof n==`boolean`&&n}toggleClasses(e,t,n){var r,i;let a=(r=this.options).getOverrideTarget?.call(r);if(a){Sv({outlineElement:(i=this.options).getOverlayOutline?.call(i)??this.element,targetModel:a,quadrant:e,width:t,height:n,overlayModel:this.options.overlayModel,className:this.options.className});return}this.overlayElement&&yv(this.overlayElement,e,t,n,this.options.overlayModel)}calculateQuadrant(e,t,n,r,i){let a=this.options.overlayModel?.activationSize??Ev;return a.type===`percentage`?Ov(e,t,n,r,i,a.value):kv(e,t,n,r,i,a.value)}removeDropTarget(){var e;this.targetElement&&(this._state=void 0,(e=this.targetElement.parentElement)==null||e.classList.remove(`dv-drop-target`),this.targetElement.remove(),this.targetElement=void 0,this.overlayElement=void 0)}};Dv.USED_EVENT_ID=`__dockview_droptarget_event_is_used__`;function Ov(e,t,n,r,i,a){let o=100*t/r,s=100*n/i;return e.has(`left`)&&o<a?`left`:e.has(`right`)&&o>100-a?`right`:e.has(`top`)&&s<a?`top`:e.has(`bottom`)&&s>100-a?`bottom`:e.has(`center`)?`center`:null}function kv(e,t,n,r,i,a){return e.has(`left`)&&t<a?`left`:e.has(`right`)&&t>r-a?`right`:e.has(`top`)&&n<a?`top`:e.has(`bottom`)&&n>i-a?`bottom`:e.has(`center`)?`center`:null}function Av(e,t,n){o_(t,`dv-dragged`),t.style.top=`-9999px`,document.body.appendChild(t),e.setDragImage(t,n?.x??0,n?.y??0),setTimeout(()=>{a_(t,`dv-dragged`),t.remove()},0)}var jv=class e extends Jg{static getInstance(){return e._instance||=new e,e._instance}constructor(){super(),this._targets=new Set,this._targetByElement=new Map,this._onDragStart=new X,this.onDragStart=this._onDragStart.event,this._onDragMove=new X,this.onDragMove=this._onDragMove.event,this._onDragEnd=new X,this.onDragEnd=this._onDragEnd.event,this.addDisposables(this._onDragStart,this._onDragMove,this._onDragEnd)}get active(){return this._active}registerTarget(e){return this._targets.add(e),this._targetByElement.set(e.element,e),{dispose:()=>{this._targets.delete(e),this._targetByElement.get(e.element)===e&&this._targetByElement.delete(e.element),this._currentTarget===e&&(this._currentTarget=void 0)}}}beginDrag(e){this._active&&this.cancel();let{pointerEvent:t,source:n}=e,r=e.getData();this._active={pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,source:n},this._onDragMoveCallback=e.onDragMove,this._onDragEndCallback=e.onDragEnd,this._dataDisposable=r,this._ghost=e.ghost,this._iframeShield=v_(n.ownerDocument??document);let i={clientX:t.clientX,clientY:t.clientY,pointerEvent:t};this._onDragStart.fire(i);let a=n.ownerDocument?.defaultView??window;this._moveListener=Z(a,`pointermove`,e=>{!this._active||e.pointerId!==this._active.pointerId||this._handleMove(e)}),this._upListener=Z(a,`pointerup`,e=>{!this._active||e.pointerId!==this._active.pointerId||this._handleEnd(e,!0)}),this._cancelListener=Z(a,`pointercancel`,e=>{!this._active||e.pointerId!==this._active.pointerId||this._handleEnd(e,!1)})}cancel(){var e,t;this._active&&((e=this._currentTarget)==null||e.handleDragLeave(),this._teardown(),(t=this._dataDisposable)==null||t.dispose(),this._dataDisposable=void 0)}_findTargetUnder(e,t){let n=(this._active?.source.ownerDocument??document).elementsFromPoint(e,t);for(let e of n){let t=e;for(;t;){let e=this._targetByElement.get(t);if(e)return e;t=t.parentElement}}}_handleMove(e){var t,n,r;(t=this._ghost)==null||t.update(e.clientX,e.clientY);let i={clientX:e.clientX,clientY:e.clientY,pointerEvent:e},a=this._findTargetUnder(e.clientX,e.clientY);a!==this._currentTarget&&((n=this._currentTarget)==null||n.handleDragLeave(),this._currentTarget=a),a&&a.handleDragOver(i),(r=this._onDragMoveCallback)==null||r.call(this,i),this._onDragMove.fire(i)}_handleEnd(e,t){var n;let r={clientX:e.clientX,clientY:e.clientY,pointerEvent:e};t&&this._currentTarget?this._currentTarget.handleDrop(r):(n=this._currentTarget)==null||n.handleDragLeave();let i=this._onDragEndCallback,a=this._dataDisposable;this._teardown(),this._dataDisposable=void 0,setTimeout(()=>a?.dispose(),0),i?.(r,t),this._onDragEnd.fire(r)}_teardown(){var e,t,n,r,i;this._currentTarget=void 0,this._active=void 0,this._onDragMoveCallback=void 0,this._onDragEndCallback=void 0,(e=this._ghost)==null||e.dispose(),this._ghost=void 0,(t=this._iframeShield)==null||t.release(),this._iframeShield=void 0,(n=this._moveListener)==null||n.dispose(),(r=this._upListener)==null||r.dispose(),(i=this._cancelListener)==null||i.dispose(),this._moveListener=void 0,this._upListener=void 0,this._cancelListener=void 0}},Mv={value:20,type:`percentage`},Nv=class extends Jg{get disabled(){return this._disabled}set disabled(e){this._disabled=e,e&&this._removeOverlay()}get state(){return this._state}constructor(e,t){super(),this.element=e,this.options=t,this._onDrop=new X,this.onDrop=this._onDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._disabled=!1,this._acceptedTargetZonesSet=new Set(t.acceptedTargetZones);let n={element:this.element,handleDragOver:e=>this._onDragOver(e),handleDragLeave:()=>this._onDragLeave(),handleDrop:e=>this._onDropEvent(e)};this.addDisposables(this._onDrop,this._onWillShowOverlay,jv.getInstance().registerTarget(n))}setTargetZones(e){this._acceptedTargetZonesSet=new Set(e)}setOverlayModel(e){this.options.overlayModel=e}dispose(){this._removeOverlay(),super.dispose()}_onDragOver(e){var t,n;if(this._disabled){this._removeOverlay();return}let r=(t=this.options).getOverrideTarget?.call(t);if(this._acceptedTargetZonesSet.size===0){if(r)return;this._removeOverlay();return}let i=(n=this.options).getOverlayOutline?.call(n)??this.element,a=i.offsetWidth,o=i.offsetHeight;if(a===0||o===0)return;let s=i.getBoundingClientRect(),c=e.clientX-s.left,l=e.clientY-s.top,u=this._calculateQuadrant(c,l,a,o);if(u===null){this._removeOverlay();return}if(!this.options.canDisplayOverlay(e.pointerEvent,u)){if(r)return;this._removeOverlay();return}let d=new Cv({nativeEvent:e.pointerEvent,position:u});if(this._onWillShowOverlay.fire(d),d.defaultPrevented){this._removeOverlay();return}if(r){Sv({outlineElement:i,targetModel:r,quadrant:u,width:a,height:o,overlayModel:this.options.overlayModel,className:this.options.className}),this._state=u;return}if(!this._targetElement){let e=_v();this._targetElement=e.dropzone,this._overlayElement=e.selection,this._state=`center`,this.element.classList.add(`dv-drop-target`),this.element.append(this._targetElement)}this._overlayElement&&yv(this._overlayElement,u,a,o,this.options.overlayModel),this._state=u}_onDragLeave(){var e;let t=(e=this.options).getOverrideTarget?.call(e);if(t){this._state=void 0,t.clear();return}this._removeOverlay()}_onDropEvent(e){var t;let n=this._state,r=(t=this.options).getOverrideTarget?.call(t);this._removeOverlay(),r?.clear(),n&&this._onDrop.fire({position:n,nativeEvent:e.pointerEvent})}_calculateQuadrant(e,t,n,r){let i=this.options.overlayModel?.activationSize??Mv;return i.type===`percentage`?Ov(this._acceptedTargetZonesSet,e,t,n,r,i.value):kv(this._acceptedTargetZonesSet,e,t,n,r,i.value)}_removeOverlay(){var e;this._targetElement?(this._state=void 0,(e=this._targetElement.parentElement)==null||e.classList.remove(`dv-drop-target`),this._targetElement.remove(),this._targetElement=void 0,this._overlayElement=void 0):this._state=void 0}},Pv=5,Fv=250,Iv=8,Lv=class extends Jg{constructor(e,t){super(),this.element=e,this.options=t,this._disabled=!1,this._armed=!1,this._startX=0,this._startY=0,this._touchOnly=t.touchOnly??!0,this.addDisposables(Z(this.element,`pointerdown`,e=>{this._onPointerDown(e)}))}setDisabled(e){this._disabled=e,e&&this._cancelPending()}setTouchOnly(e){this._touchOnly!==e&&(this._touchOnly=e,e&&this._cancelPending())}_shouldHandle(e){var t;return!(this._disabled||this._touchOnly&&e.pointerType!==`touch`&&e.pointerType!==`pen`||(t=this.options).isCancelled?.call(t,e))}_onPointerDown(e){if(!this._shouldHandle(e))return;this._cancelPending(),this._pendingPointerId=e.pointerId,this._startX=e.clientX,this._startY=e.clientY,this._startEvent=e;let t=e.pointerType===`touch`||e.pointerType===`pen`,n=this.options.touchInitiationDelay,r=(typeof n==`function`?n():n)??Fv;this._armed=!t||r<=0,t&&r>0&&isFinite(r)&&(this._armTimer=setTimeout(()=>{this._armTimer=void 0,this._armed=!0},r));let i=this.options.threshold??Pv,a=this.options.pressTolerance,o=(typeof a==`function`?a():a)??Iv,s=this.element.ownerDocument?.defaultView??window;this._pendingMoveListener=Z(s,`pointermove`,e=>{if(e.pointerId!==this._pendingPointerId)return;let t=e.clientX-this._startX,n=e.clientY-this._startY,r=Math.hypot(t,n);if(this._armed){r>=i&&this._beginDrag(e);return}r>o&&this._beginDrag(e)}),this._pendingUpListener=Z(s,`pointerup`,e=>{e.pointerId===this._pendingPointerId&&this._cancelPending()}),this._pendingCancelListener=Z(s,`pointercancel`,e=>{e.pointerId===this._pendingPointerId&&this._cancelPending()})}cancelPending(){this._cancelPending()}_cancelPending(){var e,t,n;this._pendingPointerId=void 0,this._armTimer!==void 0&&(clearTimeout(this._armTimer),this._armTimer=void 0),this._armed=!1,(e=this._pendingMoveListener)==null||e.dispose(),(t=this._pendingUpListener)==null||t.dispose(),(n=this._pendingCancelListener)==null||n.dispose(),this._pendingMoveListener=void 0,this._pendingUpListener=void 0,this._pendingCancelListener=void 0,this._startEvent=void 0}_beginDrag(e){var t,n,r;let i=this._startEvent??e;this._cancelPending(),(n=(t=this.options).onDragStart)==null||n.call(t,i);let a=(r=this.options).createGhost?.call(r,i);jv.getInstance().beginDrag({pointerEvent:e,source:this.element,getData:()=>this.options.getData(i),ghost:a,onDragMove:this.options.onDragMove,onDragEnd:this.options.onDragEnd})}dispose(){this._cancelPending(),super.dispose()}},Rv=class{constructor(e){this._disposed=!1,this.element=e.element,this.offsetX=e.offsetX??0,this.offsetY=e.offsetY??0,this.element.style.position=`fixed`,this.element.style.left=`0px`,this.element.style.top=`0px`,this.element.style.pointerEvents=`none`,this.element.style.zIndex=`99999`,this.element.style.opacity=String(e.opacity??.8),this.element.style.willChange=`transform`,this.element.style.transform=`translate3d(${e.initialX-this.offsetX}px, ${e.initialY-this.offsetY}px, 0)`,(e.owner?.ownerDocument??document).body.appendChild(this.element)}update(e,t){this._disposed||(this.element.style.transform=`translate3d(${e-this.offsetX}px, ${t-this.offsetY}px, 0)`)}dispose(){this._disposed||(this._disposed=!0,this.element.remove())}},zv=class extends Jg{constructor(e,t){super(),this.el=e,this.opts=t,this._dataDisposable=new Yg,this._pointerEventsDisposable=new Yg,this._disabled=!!t.disabled,this.addDisposables(this._dataDisposable,this._pointerEventsDisposable,Z(this.el,`dragstart`,e=>{var t,n,r,i;if(e.defaultPrevented||this._disabled||(t=this.opts).isCancelled?.call(t,e)){e.preventDefault();return}let a=v_(this.el.ownerDocument??document);this._pointerEventsDisposable.value={dispose:()=>a.release()},this.el.classList.add(`dv-dragged`),setTimeout(()=>this.el.classList.remove(`dv-dragged`),0),this._dataDisposable.value=this.opts.getData(e);let o=(n=this.opts).createGhost?.call(n,e);if(o&&e.dataTransfer&&(Av(e.dataTransfer,o.element,{x:o.offsetX??0,y:o.offsetY??0}),o.dispose)){let e=o.dispose;setTimeout(()=>e(),0)}e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.items.length===0&&e.dataTransfer.setData(`text/plain`,``)),(i=(r=this.opts).onDragStart)==null||i.call(r,e)}),Z(this.el,`dragend`,e=>{var t,n;this._pointerEventsDisposable.dispose(),setTimeout(()=>this._dataDisposable.dispose(),0),(n=(t=this.opts).onDragEnd)==null||n.call(t,e)}))}setDisabled(e){this._disabled=e}setTouchOnly(e){}cancelPending(){}},Bv=class{constructor(){this.kind=`html5`}createDropTarget(e,t){return new Dv(e,t)}createDragSource(e,t){return new zv(e,t)}},Vv=class{constructor(){this.kind=`pointer`}createDropTarget(e,t){return new Nv(e,t)}createDragSource(e,t){let n=t.createGhost?n=>{let r=t.createGhost(n);if(!r)return;let i=new Rv({element:r.element,initialX:n.clientX,initialY:n.clientY,offsetX:r.offsetX,offsetY:r.offsetY,owner:e});if(r.dispose){let e=i.dispose.bind(i),t=r.dispose;i.dispose=()=>{e(),t()}}return i}:void 0,r=new Lv(e,{getData:t.getData,isCancelled:t.isCancelled,onDragStart:t.onDragStart,onDragEnd:t.onDragEnd?e=>t.onDragEnd(e.pointerEvent):void 0,createGhost:n,touchOnly:t.touchOnly,touchInitiationDelay:t.touchInitiationDelay,pressTolerance:t.pressTolerance,threshold:t.threshold});return t.disabled&&r.setDisabled(!0),r}},Hv=new Bv,Uv=new Vv,Wv=Object.keys({disableAutoResizing:void 0,disableDnd:void 0,className:void 0}),Gv=class extends Qg{constructor(e,t,n,r){super(),this.nativeEvent=e,this.position=t,this.getData=n,this.panel=r}},Kv=class extends Zg{constructor(){super()}},qv=class extends Jg{get isFocused(){return this._isFocused}get isActive(){return this._isActive}get isVisible(){return this._isVisible}get width(){return this._width}get height(){return this._height}constructor(e,t){super(),this.id=e,this.component=t,this._isFocused=!1,this._isActive=!1,this._isVisible=!0,this._width=0,this._height=0,this._parameters={},this.panelUpdatesDisposable=new Yg,this._onDidDimensionChange=new X,this.onDidDimensionsChange=this._onDidDimensionChange.event,this._onDidChangeFocus=new X,this.onDidFocusChange=this._onDidChangeFocus.event,this._onWillFocus=new X,this.onWillFocus=this._onWillFocus.event,this._onDidVisibilityChange=new X,this.onDidVisibilityChange=this._onDidVisibilityChange.event,this._onWillVisibilityChange=new X,this.onWillVisibilityChange=this._onWillVisibilityChange.event,this._onDidActiveChange=new X,this.onDidActiveChange=this._onDidActiveChange.event,this._onActiveChange=new X,this.onActiveChange=this._onActiveChange.event,this._onDidParametersChange=new X,this.onDidParametersChange=this._onDidParametersChange.event,this.addDisposables(this.onDidFocusChange(e=>{this._isFocused=e.isFocused}),this.onDidActiveChange(e=>{this._isActive=e.isActive}),this.onDidVisibilityChange(e=>{this._isVisible=e.isVisible}),this.onDidDimensionsChange(e=>{this._width=e.width,this._height=e.height}),this.panelUpdatesDisposable,this._onDidDimensionChange,this._onDidChangeFocus,this._onDidVisibilityChange,this._onDidActiveChange,this._onWillFocus,this._onActiveChange,this._onWillFocus,this._onWillVisibilityChange,this._onDidParametersChange)}getParameters(){return this._parameters}initialize(e){this.panelUpdatesDisposable.value=this._onDidParametersChange.event(t=>{this._parameters=t,e.update({params:t})})}setVisible(e){this._onWillVisibilityChange.fire({isVisible:e})}setActive(){this._onActiveChange.fire()}updateParameters(e){this._onDidParametersChange.fire(e)}},Jv=class extends qv{constructor(e,t){super(e,t),this._onDidConstraintsChangeInternal=new X,this.onDidConstraintsChangeInternal=this._onDidConstraintsChangeInternal.event,this._onDidConstraintsChange=new X({replay:!0}),this.onDidConstraintsChange=this._onDidConstraintsChange.event,this._onDidSizeChange=new X,this.onDidSizeChange=this._onDidSizeChange.event,this.addDisposables(this._onDidConstraintsChangeInternal,this._onDidConstraintsChange,this._onDidSizeChange)}setConstraints(e){this._onDidConstraintsChangeInternal.fire(e)}setSize(e){this._onDidSizeChange.fire(e)}},Yv=class extends Jv{set pane(e){this._pane=e}constructor(e,t){super(e,t),this._onDidExpansionChange=new X({replay:!0}),this.onDidExpansionChange=this._onDidExpansionChange.event,this._onMouseEnter=new X({}),this.onMouseEnter=this._onMouseEnter.event,this._onMouseLeave=new X({}),this.onMouseLeave=this._onMouseLeave.event,this.addDisposables(this._onDidExpansionChange,this._onMouseEnter,this._onMouseLeave)}setExpanded(e){var t;(t=this._pane)==null||t.setExpanded(e)}get isExpanded(){return!!this._pane?.isExpanded()}},Xv=class extends Jg{get element(){return this._element}get width(){return this._width}get height(){return this._height}get params(){return this._params?.params}constructor(e,t,n){super(),this.id=e,this.component=t,this.api=n,this._height=0,this._width=0,this._element=document.createElement(`div`),this._element.tabIndex=-1,this._element.style.outline=`none`,this._element.style.height=`100%`,this._element.style.width=`100%`,this._element.style.overflow=`hidden`;let r=c_(this._element);this.addDisposables(this.api,r.onDidFocus(()=>{this.api._onDidChangeFocus.fire({isFocused:!0})}),r.onDidBlur(()=>{this.api._onDidChangeFocus.fire({isFocused:!1})}),r)}focus(){let e=new Kv;this.api._onWillFocus.fire(e),!e.defaultPrevented&&this._element.focus()}layout(e,t){this._width=e,this._height=t,this.api._onDidDimensionChange.fire({width:e,height:t}),this.part&&this._params&&this.part.update(this._params.params)}init(e){this._params=e,this.part=this.getComponent()}update(e){var t;this._params=Object.assign(Object.assign({},this._params),{params:Object.assign(Object.assign({},this._params?.params),e.params)});for(let t of Object.keys(e.params))e.params[t]===void 0&&delete this._params.params[t];(t=this.part)==null||t.update({params:this._params.params})}toJSON(){let e=this._params?.params??{};return{id:this.id,component:this.component,params:Object.keys(e).length>0?e:void 0}}dispose(){var e;this.api.dispose(),(e=this.part)==null||e.dispose(),super.dispose()}},Zv=class extends Xv{set orientation(e){this._orientation=e}get orientation(){return this._orientation}get minimumSize(){return this.headerSize+(this.isExpanded()?this._minimumBodySize:0)}get maximumSize(){return this.headerSize+(this.isExpanded()?this._maximumBodySize:0)}get size(){return this._size}get orthogonalSize(){return this._orthogonalSize}set orthogonalSize(e){this._orthogonalSize=e}get minimumBodySize(){return this._minimumBodySize}set minimumBodySize(e){this._minimumBodySize=typeof e==`number`?e:0}get maximumBodySize(){return this._maximumBodySize}set maximumBodySize(e){this._maximumBodySize=typeof e==`number`?e:1/0}get headerVisible(){return this._headerVisible}set headerVisible(e){this._headerVisible=e,this.header.style.display=e?``:`none`}constructor(e){super(e.id,e.component,new Yv(e.id,e.component)),this._onDidChangeExpansionState=new X({replay:!0}),this.onDidChangeExpansionState=this._onDidChangeExpansionState.event,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._orthogonalSize=0,this._size=0,this._isExpanded=!1,this.api.pane=this,this.api.initialize(this),this.headerSize=e.headerSize,this.headerComponent=e.headerComponent,this._minimumBodySize=e.minimumBodySize,this._maximumBodySize=e.maximumBodySize,this._isExpanded=e.isExpanded,this._headerVisible=e.isHeaderVisible,this._onDidChangeExpansionState.fire(this.isExpanded()),this._orientation=e.orientation,this.element.classList.add(`dv-pane`),this.addDisposables(this.api.onWillVisibilityChange(e=>{let{isVisible:t}=e,{accessor:n}=this._params;n.setVisible(this,t)}),this.api.onDidSizeChange(e=>{this._onDidChange.fire({size:e.size})}),Z(this.element,`mouseenter`,e=>{this.api._onMouseEnter.fire(e)}),Z(this.element,`mouseleave`,e=>{this.api._onMouseLeave.fire(e)})),this.addDisposables(this._onDidChangeExpansionState,this.onDidChangeExpansionState(e=>{this.api._onDidExpansionChange.fire({isExpanded:e})}),this.api.onDidFocusChange(e=>{this.header&&(e.isFocused?o_(this.header,`focused`):a_(this.header,`focused`))})),this.renderOnce()}setVisible(e){this.api._onDidVisibilityChange.fire({isVisible:e})}setActive(e){this.api._onDidActiveChange.fire({isActive:e})}isExpanded(){return this._isExpanded}setExpanded(e){this._isExpanded!==e&&(this._isExpanded=e,e?(this.animationTimer&&clearTimeout(this.animationTimer),this.body&&this.element.appendChild(this.body)):this.animationTimer=setTimeout(()=>{var e;(e=this.body)==null||e.remove()},200),this._onDidChange.fire(e?{size:this.width}:{}),this._onDidChangeExpansionState.fire(e))}layout(e,t){this._size=e,this._orthogonalSize=t;let[n,r]=this.orientation===L_.HORIZONTAL?[e,t]:[t,e];super.layout(n,r)}init(e){var t,n;super.init(e),typeof e.minimumBodySize==`number`&&(this.minimumBodySize=e.minimumBodySize),typeof e.maximumBodySize==`number`&&(this.maximumBodySize=e.maximumBodySize),this.bodyPart=this.getBodyComponent(),this.headerPart=this.getHeaderComponent(),this.bodyPart.init(Object.assign(Object.assign({},e),{api:this.api})),this.headerPart.init(Object.assign(Object.assign({},e),{api:this.api})),(t=this.body)==null||t.append(this.bodyPart.element),(n=this.header)==null||n.append(this.headerPart.element),typeof e.isExpanded==`boolean`&&this.setExpanded(e.isExpanded)}toJSON(){let e=this._params;return Object.assign(Object.assign({},super.toJSON()),{headerComponent:this.headerComponent,title:e.title})}renderOnce(){this.header=document.createElement(`div`),this.header.tabIndex=0,this.header.className=`dv-pane-header`,this.header.style.height=`${this.headerSize}px`,this.header.style.lineHeight=`${this.headerSize}px`,this.header.style.minHeight=`${this.headerSize}px`,this.header.style.maxHeight=`${this.headerSize}px`,this.element.appendChild(this.header),this.body=document.createElement(`div`),this.body.className=`dv-pane-body`,this.element.appendChild(this.body)}getComponent(){return{update:e=>{var t,n;(t=this.bodyPart)==null||t.update({params:e}),(n=this.headerPart)==null||n.update({params:e})},dispose:()=>{var e,t;(e=this.bodyPart)==null||e.dispose(),(t=this.headerPart)==null||t.dispose()}}}},Qv=class extends Zv{constructor(e){super({id:e.id,component:e.component,headerComponent:e.headerComponent,orientation:e.orientation,isExpanded:e.isExpanded,isHeaderVisible:!0,headerSize:e.headerSize,minimumBodySize:e.minimumBodySize,maximumBodySize:e.maximumBodySize}),this._onDidDrop=new X,this.onDidDrop=this._onDidDrop.event,this._onUnhandledDragOverEvent=new X,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this.accessor=e.accessor,this.addDisposables(this._onDidDrop,this._onUnhandledDragOverEvent),e.disableDnd||this.initDragFeatures()}initDragFeatures(){if(!this.header)return;let e=this.id,t=this.accessor.id;this.header.draggable=!0;let n={getData:()=>(Wg.getInstance().setData([new Ug(t,e)],Ug.prototype),{dispose:()=>{Wg.getInstance().clearData(Ug.prototype)}})};this.html5DragSource=Hv.createDragSource(this.header,n),this.pointerDragSource=Uv.createDragSource(this.header,n);let r={acceptedTargetZones:[`top`,`bottom`],overlayModel:{activationSize:{type:`percentage`,value:50}},canDisplayOverlay:(e,t)=>{let n=Kg();if(n&&n.paneId!==this.id&&n.viewId===this.accessor.id)return!0;let r=new Gv(e,t,Kg,this);return this._onUnhandledDragOverEvent.fire(r),r.isAccepted}};this.target=Hv.createDropTarget(this.element,r),this.pointerTarget=Uv.createDropTarget(this.element,r),this.addDisposables(this._onDidDrop,this.html5DragSource,this.pointerDragSource,this.target,this.pointerTarget,this.target.onDrop(e=>{this.onDrop(e)}),this.pointerTarget.onDrop(e=>{this.onDrop(e)}))}onDrop(e){let t=Kg();if(!t||t.viewId!==this.accessor.id){this._onDidDrop.fire(Object.assign(Object.assign({},e),{panel:this,api:new uv(this.accessor),getData:Kg}));return}let n=this._params.containerApi,r=t.paneId,i=n.getPanel(r);if(!i){this._onDidDrop.fire(Object.assign(Object.assign({},e),{panel:this,getData:Kg,api:new uv(this.accessor)}));return}let a=n.panels,o=a.indexOf(i),s=n.panels.indexOf(this);(e.position===`left`||e.position===`top`)&&(s=Math.max(0,s-1)),(e.position===`right`||e.position===`bottom`)&&(o>s&&s++,s=Math.min(a.length-1,s)),n.movePanel(o,s)}},$v=class extends Jg{get element(){return this._element}constructor(e,t){super(),this.accessor=e,this.group=t,this.disposable=new Yg,this._onDidFocus=new X,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new X,this.onDidBlur=this._onDidBlur.event,this._element=document.createElement(`div`),this._element.className=`dv-content-container`,this._element.tabIndex=-1,this.addDisposables(this._onDidFocus,this._onDidBlur);let n=t.dropTargetContainer,r=(e,t)=>{if(this.group.locked===`no-drop-target`||this.group.locked&&t===`center`)return!1;let n=Gg();return!n&&e.shiftKey&&this.group.location.type!==`floating`?!1:n&&n.viewId===this.accessor.id?!0:this.group.canDisplayOverlay(e,t,`content`)};this.dropTarget=new Dv(this.element,{getOverlayOutline:()=>e.options.theme?.dndPanelOverlay===`group`?this.element.parentElement:null,className:`dv-drop-target-content`,acceptedTargetZones:[`top`,`bottom`,`left`,`right`,`center`],canDisplayOverlay:r,getOverrideTarget:n?()=>n.model:void 0}),this.pointerDropTarget=Uv.createDropTarget(this.element,{acceptedTargetZones:[`top`,`bottom`,`left`,`right`,`center`],canDisplayOverlay:r,getOverlayOutline:()=>e.options.theme?.dndPanelOverlay===`group`?this.element.parentElement:null,className:`dv-drop-target-content`,getOverrideTarget:n?()=>n.model:void 0}),this.addDisposables(this.dropTarget,this.pointerDropTarget)}show(){this.element.style.display=``}hide(){this.element.style.display=`none`}renderPanel(e,t={asActive:!0}){var n,r,i,a;let o=t.asActive||this.panel&&this.group.isPanelActive(this.panel);this.panel&&this.panel.view.content.element.parentElement===this._element&&(this._element.removeChild(this.panel.view.content.element),(r=(n=this.panel.view.content).onHide)==null||r.call(n)),this.panel=e;let s;switch(e.api.renderer){case`onlyWhenVisible`:this.group.renderContainer.detatch(e),this.panel&&o&&(this._element.appendChild(this.panel.view.content.element),(a=(i=this.panel.view.content).onShow)==null||a.call(i)),s=this._element;break;case`always`:e.view.content.element.parentElement===this._element&&this._element.removeChild(e.view.content.element),s=this.group.renderContainer.attach({panel:e,referenceContainer:this});break;default:throw Error(`dockview: invalid renderer type '${e.api.renderer}'`)}if(o){let e=c_(s);this.focusTracker=e;let t=new Jg;t.addDisposables(e,e.onDidFocus(()=>this._onDidFocus.fire()),e.onDidBlur(()=>this._onDidBlur.fire())),this.disposable.value=t}}openPanel(e){this.panel!==e&&this.renderPanel(e)}layout(e,t){}closePanel(){var e,t,n;this.panel&&this.panel.api.renderer===`onlyWhenVisible`&&((e=this.panel.view.content.element.parentElement)==null||e.removeChild(this.panel.view.content.element),(n=(t=this.panel.view.content).onHide)==null||n.call(t)),this.panel=void 0}dispose(){this.disposable.dispose(),super.dispose()}refreshFocusState(){this.focusTracker?.refreshState&&this.focusTracker.refreshState()}},ey=500,ty=8,ny=class extends Jg{constructor(e,t){super(),this.element=e,this.options=t,this._startX=0,this._startY=0,this.addDisposables(Z(this.element,`pointerdown`,e=>{this._onPointerDown(e)}))}_onPointerDown(e){if((this.options.touchOnly??!0)&&e.pointerType!==`touch`&&e.pointerType!==`pen`)return;this._cancelPending(),this._pointerId=e.pointerId,this._startX=e.clientX,this._startY=e.clientY;let t=this.options.delay??ey,n=this.options.tolerance??ty,r=this.element.ownerDocument?.defaultView??window;this._timer=setTimeout(()=>{this._timer=void 0,this._cancelPending(),this._installContextMenuGuard(r),this._installClickGuard(r),this.options.onLongPress(e)},t),this._moveListener=Z(r,`pointermove`,e=>{if(e.pointerId!==this._pointerId)return;let t=e.clientX-this._startX,r=e.clientY-this._startY;Math.hypot(t,r)>n&&this._cancelPending()}),this._upListener=Z(r,`pointerup`,e=>{e.pointerId===this._pointerId&&this._cancelPending()}),this._cancelListener=Z(r,`pointercancel`,e=>{e.pointerId===this._pointerId&&this._cancelPending()})}_installContextMenuGuard(e){let t,n=setTimeout(()=>t?.dispose(),500);t=Z(e,`contextmenu`,e=>{e.preventDefault(),clearTimeout(n),t?.dispose()},{capture:!0})}_installClickGuard(e){let t,n=setTimeout(()=>t?.dispose(),500);t=Z(e,`click`,e=>{let r=e.target;r&&this.element.contains(r)&&(e.preventDefault(),e.stopPropagation()),clearTimeout(n),t?.dispose()},{capture:!0})}_cancelPending(){var e,t,n;this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0),this._pointerId=void 0,(e=this._moveListener)==null||e.dispose(),(t=this._upListener)==null||t.dispose(),(n=this._cancelListener)==null||n.dispose(),this._moveListener=void 0,this._upListener=void 0,this._cancelListener=void 0}dispose(){this._cancelPending(),super.dispose()}};function ry(e){if(e.disableDnd)return{html5:!1,pointer:!1,pointerHandlesMouse:!1};switch(e.dndStrategy){case`pointer`:return{html5:!1,pointer:!0,pointerHandlesMouse:!0};case`html5`:return{html5:!0,pointer:!1,pointerHandlesMouse:!1};case`auto`:case void 0:default:return iy()?{html5:!1,pointer:!0,pointerHandlesMouse:!0}:{html5:!0,pointer:!0,pointerHandlesMouse:!1}}}function iy(){if(typeof window>`u`||!window.matchMedia)return!1;let e=window.matchMedia(`(pointer: coarse)`).matches,t=window.matchMedia(`(pointer: fine)`).matches;return e&&!t}var ay=class extends Jg{get element(){return this._element}constructor(e,t,n){super(),this.panel=e,this.accessor=t,this.group=n,this.content=void 0,this.panelTransfer=Wg.getInstance(),this._direction=`horizontal`,this._onPointDown=new X,this.onPointerDown=this._onPointDown.event,this._onTabClick=new X,this.onTabClick=this._onTabClick.event,this._onDropped=new X,this.onDrop=this._onDropped.event,this._onDragStart=new X,this.onDragStart=this._onDragStart.event,this._onDragEnd=new X,this.onDragEnd=this._onDragEnd.event;let r=ry(this.accessor.options);this._element=document.createElement(`div`),this._element.className=`dv-tab`,this._element.tabIndex=0,this._element.draggable=r.html5,Q(this.element,`dv-inactive-tab`,!0);let i=(e,t)=>{if(this.group.locked)return!1;let n=Gg();return n&&this.accessor.id===n.viewId?this.accessor.options.theme?.tabAnimation!==`smooth`:this.group.model.canDisplayOverlay(e,t,`tab`)};this.dropTarget=Hv.createDropTarget(this._element,{acceptedTargetZones:[`left`,`right`],overlayModel:this._buildOverlayModel(),canDisplayOverlay:i,getOverrideTarget:()=>n.model.dropTargetContainer?.model}),this.pointerDropTarget=Uv.createDropTarget(this._element,{acceptedTargetZones:[`left`,`right`],overlayModel:this._buildOverlayModel(),canDisplayOverlay:i,getOverrideTarget:()=>n.model.dropTargetContainer?.model});let a={getData:()=>(this.panelTransfer.setData([new Hg(this.accessor.id,this.group.id,this.panel.id)],Hg.prototype),{dispose:()=>{this.panelTransfer.clearData(Hg.prototype)}}),createGhost:()=>({element:this._buildGhostElement(),offsetX:30,offsetY:-10}),onDragStart:e=>{this._onDragStart.fire(e),!(e instanceof PointerEvent)&&this.accessor.options.theme?.tabAnimation===`smooth`&&requestAnimationFrame(()=>{Q(this.element,`dv-tab--dragging`,!0)})},onDragEnd:e=>{this._onDragEnd.fire(e)}};this.html5DragSource=Hv.createDragSource(this._element,Object.assign(Object.assign({},a),{disabled:!r.html5})),this.pointerDragSource=Uv.createDragSource(this._element,Object.assign(Object.assign({},a),{disabled:!r.pointer,touchOnly:!r.pointerHandlesMouse,isCancelled:()=>!ry(this.accessor.options).pointer})),this.onWillShowOverlay=Xg.any(this.dropTarget.onWillShowOverlay,this.pointerDropTarget.onWillShowOverlay),this.addDisposables(this._onPointDown,this._onTabClick,this._onDropped,this._onDragStart,this._onDragEnd,this.accessor.onDidOptionsChange(()=>{let e=this._buildOverlayModel();this.dropTarget.setOverlayModel(e),this.pointerDropTarget.setOverlayModel(e)}),Z(this._element,`dragend`,()=>{Q(this.element,`dv-tab--dragging`,!1)}),this.html5DragSource,Z(this._element,`pointerdown`,e=>{this._onPointDown.fire(e)}),Z(this._element,`click`,e=>{this._onTabClick.fire(e)}),Z(this._element,`contextmenu`,e=>{this.accessor.contextMenuController.show(this.panel,this.group,e)}),new ny(this._element,{onLongPress:e=>{this.pointerDragSource.cancelPending(),this.accessor.contextMenuController.show(this.panel,this.group,e)}}),this.dropTarget.onDrop(e=>{this._onDropped.fire(e)}),this.pointerDropTarget.onDrop(e=>{this._onDropped.fire(e)}),this.dropTarget,this.pointerDropTarget,this.pointerDragSource)}setActive(e){Q(this.element,`dv-active-tab`,e),Q(this.element,`dv-inactive-tab`,!e)}setContent(e){this.content&&this._element.removeChild(this.content.element),this.content=e,this._element.appendChild(this.content.element)}_buildOverlayModel(){let e=this.accessor.options.theme?.dndTabIndicator===`line`?1/0:0;return{activationSize:{value:50,type:`percentage`},smallWidthBoundary:e,smallHeightBoundary:e}}setDirection(e){this._direction=e;let t=e===`vertical`?[`top`,`bottom`]:[`left`,`right`];this.dropTarget.setTargetZones(t),this.pointerDropTarget.setTargetZones(t)}updateDragAndDropState(){let e=ry(this.accessor.options);this._element.draggable=e.html5,this.html5DragSource.setDisabled(!e.html5),this.pointerDragSource.setDisabled(!e.pointer),this.pointerDragSource.setTouchOnly(!e.pointerHandlesMouse)}_buildGhostElement(){let e=getComputedStyle(this.element),t=this.element.cloneNode(!0),n=this._direction===`vertical`,r=new Set([`writing-mode`,`inline-size`,`block-size`,`min-inline-size`,`min-block-size`,`max-inline-size`,`max-block-size`,`margin-inline`,`margin-inline-start`,`margin-inline-end`,`margin-block`,`margin-block-start`,`margin-block-end`,`padding-inline`,`padding-inline-start`,`padding-inline-end`,`padding-block`,`padding-block-start`,`padding-block-end`]);return Array.from(e).forEach(i=>{n&&r.has(i)||t.style.setProperty(i,e.getPropertyValue(i),e.getPropertyPriority(i))}),n&&(t.style.setProperty(`writing-mode`,`horizontal-tb`),t.style.setProperty(`width`,e.height),t.style.setProperty(`height`,e.width)),t.style.position=`absolute`,t.classList.add(`dv-tab-ghost-drag`),t}},oy=class{get kind(){return this.options.kind}get nativeEvent(){return this.event.nativeEvent}get position(){return this.event.position}get defaultPrevented(){return this.event.defaultPrevented}get panel(){return this.options.panel}get api(){return this.options.api}get group(){return this.options.group}preventDefault(){this.event.preventDefault()}getData(){return this.options.getData()}constructor(e,t){this.event=e,this.options=t}},sy=500,cy=class extends Jg{get element(){return this._element}constructor(e,t){super(),this.accessor=e,this.group=t,this.panelTransfer=Wg.getInstance(),this._onDrop=new X,this.onDrop=this._onDrop.event,this._onDragStart=new X,this.onDragStart=this._onDragStart.event;let n=ry(this.accessor.options);this._element=document.createElement(`div`),this._element.className=`dv-void-container`,this._element.draggable=n.html5,Q(this._element,`dv-draggable`,n.html5||n.pointer),this.addDisposables(this._onDrop,this._onDragStart,Z(this._element,`pointerdown`,()=>{this.accessor.doSetGroupActive(this.group)}),Z(this._element,`pointerdown`,e=>{e.shiftKey&&d_(e)},!0));let r=(e,n)=>{if(this.group.api.locked)return!1;let r=Gg();return r&&this.accessor.id===r.viewId?!0:t.model.canDisplayOverlay(e,n,`header_space`)};this.dropTarget=Hv.createDropTarget(this._element,{acceptedTargetZones:[`center`],canDisplayOverlay:r,getOverrideTarget:()=>t.model.dropTargetContainer?.model}),this.pointerDropTarget=Uv.createDropTarget(this._element,{acceptedTargetZones:[`center`],canDisplayOverlay:r,getOverrideTarget:()=>t.model.dropTargetContainer?.model});let i=()=>{let e=document.createElement(`div`),t=window.getComputedStyle(this._element),n=t.getPropertyValue(`--dv-activegroup-visiblepanel-tab-background-color`),r=t.getPropertyValue(`--dv-activegroup-visiblepanel-tab-color`);return e.style.backgroundColor=n,e.style.color=r,e.style.padding=`2px 8px`,e.style.height=`24px`,e.style.fontSize=`11px`,e.style.lineHeight=`20px`,e.style.borderRadius=`12px`,e.style.whiteSpace=`nowrap`,e.style.boxSizing=`border-box`,e.style.display=`inline-block`,e.textContent=`Multiple Panels (${this.group.size})`,e},a={getData:()=>(this.panelTransfer.setData([new Hg(this.accessor.id,this.group.id,null)],Hg.prototype),{dispose:()=>{this.panelTransfer.clearData(Hg.prototype)}}),createGhost:()=>{let e=this.accessor.options.createGroupDragGhostComponent;if(e){let t=e(this.group);return t.init({group:this.group,api:this.accessor.api}),{element:t.element,offsetX:30,offsetY:-10,dispose:t.dispose?()=>t.dispose?.call(t):void 0}}return{element:i(),offsetX:30,offsetY:-10}},onDragStart:e=>{this._onDragStart.fire(e)}};this.html5DragSource=Hv.createDragSource(this._element,Object.assign(Object.assign({},a),{disabled:!n.html5,isCancelled:e=>this.group.api.location.type===`floating`&&!e.shiftKey||this.group.api.location.type===`edge`&&this.group.size===0}));let o=()=>this.group?.api?.location?.type===`floating`;this.pointerDragSource=Uv.createDragSource(this._element,Object.assign(Object.assign({},a),{disabled:!n.pointer,touchOnly:!n.pointerHandlesMouse,touchInitiationDelay:()=>o()?sy:250,pressTolerance:()=>o()?1/0:8,isCancelled:()=>!ry(this.accessor.options).pointer||this.group.api.location.type===`edge`&&this.group.size===0,onDragStart:e=>{var t;(t=this.getFloatingOverlay())==null||t.cancelPendingDrag(),this._onDragStart.fire(e)}}));let s=new Yg,c=()=>{let e=this.getFloatingOverlay();s.value=e?e.onDidStartMoving(()=>{this.pointerDragSource.cancelPending()}):qg.NONE};c(),this.addDisposables(s);let l=this.group?.api?.onDidLocationChange;l&&this.addDisposables(l(c)),this.onWillShowOverlay=Xg.any(this.dropTarget.onWillShowOverlay,this.pointerDropTarget.onWillShowOverlay),this.addDisposables(this.html5DragSource,this.dropTarget.onDrop(e=>{this._onDrop.fire(e)}),this.pointerDropTarget.onDrop(e=>{this._onDrop.fire(e)}),this.dropTarget,this.pointerDropTarget,this.pointerDragSource)}updateDragAndDropState(){let e=ry(this.accessor.options);this._element.draggable=e.html5,Q(this._element,`dv-draggable`,e.html5||e.pointer),this.html5DragSource.setDisabled(!e.html5),this.pointerDragSource.setDisabled(!e.pointer),this.pointerDragSource.setTouchOnly(!e.pointerHandlesMouse)}getFloatingOverlay(){if(this.group)return this.accessor.floatingGroups?.find(e=>e.group===this.group)?.overlay}},ly=class e extends Jg{get element(){return this._element}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._scrollOffset=0,this._orientation=e,a_(this._scrollbar,`dv-scrollbar-vertical`,`dv-scrollbar-horizontal`),e===`vertical`?o_(this._scrollbar,`dv-scrollbar-vertical`):o_(this._scrollbar,`dv-scrollbar-horizontal`))}constructor(t){super(),this.scrollableElement=t,this._scrollOffset=0,this._orientation=`horizontal`,this._element=document.createElement(`div`),this._element.className=`dv-scrollable`,this._scrollbar=document.createElement(`div`),this._scrollbar.className=`dv-scrollbar dv-scrollbar-horizontal`,this.element.appendChild(t),this.element.appendChild(this._scrollbar),this.addDisposables(Z(this.element,`wheel`,t=>{this._scrollOffset+=t.deltaY*e.MouseWheelSpeed,this.calculateScrollbarStyles()}),Z(this._scrollbar,`pointerdown`,e=>{e.preventDefault(),Q(this.element,`dv-scrollable-scrolling`,!0);let t=this._orientation===`horizontal`?e.clientX:e.clientY,n=this._scrollOffset,r=e=>{let r=this._orientation===`horizontal`?e.clientX-t:e.clientY-t,i=(this._orientation===`horizontal`?this.element.clientWidth:this.element.clientHeight)/(this._orientation===`horizontal`?this.scrollableElement.scrollWidth:this.scrollableElement.scrollHeight);this._scrollOffset=n+r/i,this.calculateScrollbarStyles()},i=()=>{Q(this.element,`dv-scrollable-scrolling`,!1),document.removeEventListener(`pointermove`,r),document.removeEventListener(`pointerup`,i),document.removeEventListener(`pointercancel`,i)};document.addEventListener(`pointermove`,r),document.addEventListener(`pointerup`,i),document.addEventListener(`pointercancel`,i)}),Z(this.element,`scroll`,()=>{this.calculateScrollbarStyles()}),Z(this.scrollableElement,`scroll`,()=>{this._scrollOffset=this._orientation===`horizontal`?this.scrollableElement.scrollLeft:this.scrollableElement.scrollTop,this.calculateScrollbarStyles()}),i_(this.element,()=>{Q(this.element,`dv-scrollable-resizing`,!0),this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(()=>{clearTimeout(this._animationTimer),Q(this.element,`dv-scrollable-resizing`,!1)},500),this.calculateScrollbarStyles()}))}calculateScrollbarStyles(){let e=this._orientation===`horizontal`?this.element.clientWidth:this.element.clientHeight,t=this._orientation===`horizontal`?this.scrollableElement.scrollWidth:this.scrollableElement.scrollHeight;if(t>e){let n=e/t*e;this._orientation===`horizontal`?(this._scrollbar.style.width=`${n}px`,this._scrollbar.style.height=``):(this._scrollbar.style.height=`${n}px`,this._scrollbar.style.width=``),this._scrollOffset=N_(this._scrollOffset,0,t-e),this._orientation===`horizontal`?this.scrollableElement.scrollLeft=this._scrollOffset:this.scrollableElement.scrollTop=this._scrollOffset;let r=this._scrollOffset/(t-e);this._orientation===`horizontal`?(this._scrollbar.style.left=`${(e-n)*r}px`,this._scrollbar.style.top=``):(this._scrollbar.style.top=`${(e-n)*r}px`,this._scrollbar.style.left=``)}else this._orientation===`horizontal`?(this._scrollbar.style.width=`0px`,this._scrollbar.style.left=`0px`):(this._scrollbar.style.height=`0px`,this._scrollbar.style.top=`0px`),this._scrollOffset=0}};ly.MouseWheelSpeed=1;var uy=[{id:`grey`,value:`var(--dv-tab-group-color-grey)`,label:`Grey`},{id:`blue`,value:`var(--dv-tab-group-color-blue)`,label:`Blue`},{id:`red`,value:`var(--dv-tab-group-color-red)`,label:`Red`},{id:`yellow`,value:`var(--dv-tab-group-color-yellow)`,label:`Yellow`},{id:`green`,value:`var(--dv-tab-group-color-green)`,label:`Green`},{id:`pink`,value:`var(--dv-tab-group-color-pink)`,label:`Pink`},{id:`purple`,value:`var(--dv-tab-group-color-purple)`,label:`Purple`},{id:`cyan`,value:`var(--dv-tab-group-color-cyan)`,label:`Cyan`},{id:`orange`,value:`var(--dv-tab-group-color-orange)`,label:`Orange`}],dy=class{constructor(e,t=!0){this._entries=e.slice(),this._byId=new Map(e.map(e=>[e.id,e])),this._enabled=t}get enabled(){return this._enabled}set enabled(e){this._enabled=e}setEntries(e){this._entries=e.slice(),this._byId=new Map(e.map(e=>[e.id,e]))}entries(){return this._entries}has(e){return this._byId.has(e)}get(e){return this._byId.get(e)}defaultId(){return this._entries[0]?.id}resolveValue(e){if(!this._enabled||!e)return;let t=this._byId.get(e);return t?t.value:e}},fy;function py(){return fy||=new dy(uy,!0),fy}function my(e,t,n){let r=(n??py()).resolveValue(t);r===void 0?e.style.removeProperty(`--dv-tab-group-color`):e.style.setProperty(`--dv-tab-group-color`,r)}function hy(e,t){return(t??py()).resolveValue(e)}var gy=class extends Jg{get element(){return this._element}constructor(e){super(),this._palette=e,this._onClick=new X,this.onClick=this._onClick.event,this._onContextMenu=new X,this.onContextMenu=this._onContextMenu.event,this._element=document.createElement(`div`),this._element.className=`dv-tab-group-chip`,this._element.tabIndex=0,this._label=document.createElement(`span`),this._label.className=`dv-tab-group-chip-label`,this._element.appendChild(this._label),this.addDisposables(this._onClick,this._onContextMenu,new ny(this._element,{onLongPress:e=>{this._onContextMenu.fire(e)}}),Z(this._element,`click`,e=>{this._onClick.fire(e)}),Z(this._element,`contextmenu`,e=>{this._onContextMenu.fire(e)}))}init(e){this._tabGroup=e.tabGroup,this.updateColor(e.tabGroup.color),this.updateLabel(e.tabGroup.label),this.updateCollapsed(e.tabGroup.collapsed),this.addDisposables(e.tabGroup.onDidChange(()=>{this._tabGroup&&(this.updateColor(this._tabGroup.color),this.updateLabel(this._tabGroup.label))}),e.tabGroup.onDidCollapseChange(e=>{this.updateCollapsed(e)}),this._onClick.event(()=>{var e;(e=this._tabGroup)==null||e.toggle()}))}update(e){this._tabGroup=e.tabGroup,this.updateColor(e.tabGroup.color),this.updateLabel(e.tabGroup.label),this.updateCollapsed(e.tabGroup.collapsed)}updateColor(e){my(this._element,e,this._palette),Q(this._element,`dv-tab-group-chip--accent-off`,this._palette?.enabled===!1)}updateLabel(e){this._label.textContent=e,Q(this._label,`dv-tab-group-chip-label--empty`,!e)}updateCollapsed(e){Q(this._element,`dv-tab-group-chip--collapsed`,e)}},_y=class{get underlines(){return this._underlines}constructor(e){this._ctx=e,this._underlines=new Map,this._rafId=null}positionUnderlines(){requestAnimationFrame(()=>{this._positionUnderlinesSync()})}trackUnderlines(){this._rafId!==null&&cancelAnimationFrame(this._rafId);let e=performance.now(),t=()=>{this._positionUnderlinesSync(),performance.now()-e<250?this._rafId=requestAnimationFrame(t):this._rafId=null};this._rafId=requestAnimationFrame(t)}syncUnderlineElements(e){for(let t of e)if(!this._underlines.has(t)){let e=document.createElement(`div`);e.className=`dv-tab-group-underline`,this._ctx.tabsList.appendChild(e),this._underlines.set(t,e)}for(let[t,n]of this._underlines)e.has(t)||(n.remove(),this._underlines.delete(t))}getUnderline(e){return this._underlines.get(e)}dispose(){this._rafId!==null&&(cancelAnimationFrame(this._rafId),this._rafId=null);for(let[,e]of this._underlines)e.remove();this._underlines.clear()}_positionUnderlinesSync(){let e=this._ctx.tabsList.getBoundingClientRect(),t=this._ctx.getTabGroups(),n=this._ctx.getDirection()===`vertical`,r=n?e.width:e.height,i=this._ctx.getActivePanelId(),a=this._ctx.getTabMap();for(let o of t){let t=this._underlines.get(o.id);if(!t)continue;let s=o.panelIds;if(s.length===0){t.style.display=`none`;continue}t.style.display=``;let c=this._ctx.getChipElement(o.id),l;if(c){let t=c.getBoundingClientRect(),r=getComputedStyle(c),i=n?Number.parseFloat(r.marginTop)||0:Number.parseFloat(r.marginLeft)||0;l=n?t.top-e.top-i:t.left-e.left-i}else{let t=s[0],r=a.get(t);if(r){let t=r.value.element.getBoundingClientRect();l=n?t.top-e.top:t.left-e.left}else l=0}let u=s[s.length-1],d=a.get(u);if(!d){n?(t.style.top=`${l}px`,t.style.height=`0px`,t.style.left=``,t.style.width=``):(t.style.left=`${l}px`,t.style.width=`0px`,t.style.top=``,t.style.height=``);continue}let f=d.value.element.getBoundingClientRect(),p=n?f.bottom-e.top:f.right-e.left,m=p-l;if((o.collapsed||o.panelIds.some(e=>{let t=a.get(e);return t&&t.value.element.classList.contains(`dv-tab--group-expanding`)}))&&c){let t=c.getBoundingClientRect(),r=n?t.top+t.height/2-e.top:t.left+t.width/2-e.left,i=0,s=0;for(let e of o.panelIds){let t=a.get(e);if(!t)continue;let r=t.value.element;n?(i+=r.getBoundingClientRect().height,s+=r.scrollHeight):(i+=r.getBoundingClientRect().width,s+=r.scrollWidth)}let u=s>0?Math.min(1,i/s):0;l=r+(l-r)*u,p=r+(p-r)*u,m=Math.max(0,p-l)}n?(t.style.top=`${l}px`,t.style.height=`${Math.max(0,m)}px`,t.style.left=``,t.style.width=``):(t.style.left=`${l}px`,t.style.width=`${Math.max(0,m)}px`,t.style.top=``,t.style.height=``),this.applyShape(t,o,l,m,r,i,e,n)}}},vy=class extends _y{_applyStraightLine(e,t,n,r,i,a){a?(e.setAttribute(`width`,String(r)),e.setAttribute(`height`,String(i)),n.style.width=`${r}px`,n.style.height=`${i}px`,t.setAttribute(`d`,`M ${r/2},0 L ${r/2},${i}`)):(e.setAttribute(`width`,String(i)),e.setAttribute(`height`,String(r)),n.style.width=`${i}px`,n.style.height=`${r}px`,t.setAttribute(`d`,`M 0,${r/2} L ${i},${r/2}`))}applyShape(e,t,n,r,i,a,o,s){let c=i,l=r,u=hy(t.color,this._ctx.getColorPalette());if(l<=0||c<=0||u===void 0){e.style.display=`none`;return}e.style.display=``;let d;a&&t.panelIds.includes(a)&&(d=this._ctx.getTabMap().get(a));let f=e.firstElementChild,p;if(!f||f.tagName!==`svg`?(e.replaceChildren(),f=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`),f.style.display=`block`,p=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),p.setAttribute(`fill`,`none`),f.appendChild(p),e.appendChild(f)):p=f.firstElementChild,p.setAttribute(`stroke`,u),p.setAttribute(`stroke-width`,`2`),!d){this._applyStraightLine(f,p,e,2,l,s);return}let m=d.value.element.getBoundingClientRect(),h,g;if(s?(h=Math.max(0,m.top-o.top-n),g=Math.min(l,m.bottom-o.top-n)):(h=Math.max(0,m.left-o.left-n),g=Math.min(l,m.right-o.left-n)),g<=h){this._applyStraightLine(f,p,e,2,l,s);return}if(s){let t=c,n=l;f.setAttribute(`width`,String(t)),f.setAttribute(`height`,String(n)),e.style.width=`${t}px`,e.style.height=`${n}px`;let r=t-1,i=[`M 1,0`,`L 1,${h-6}`,`Q 1,${h} 7,${h}`,`L ${r-6},${h}`,`Q ${r},${h} ${r},${h+6}`,`L ${r},${g-6}`,`Q ${r},${g} ${r-6},${g}`,`L 7,${g}`,`Q 1,${g} 1,${g+6}`,`L 1,${n}`].join(` `);p.setAttribute(`d`,i)}else{let t=l,n=c;f.setAttribute(`width`,String(t)),f.setAttribute(`height`,String(n)),e.style.width=`${t}px`,e.style.height=`${n}px`;let r=n-1,i=[`M 0,${r}`,`L ${h-6},${r}`,`Q ${h},${r} ${h},${r-6}`,`L ${h},7`,`Q ${h},1 ${h+6},1`,`L ${g-6},1`,`Q ${g},1 ${g},7`,`L ${g},${r-6}`,`Q ${g},${r} ${g+6},${r}`,`L ${t},${r}`].join(` `);p.setAttribute(`d`,i)}}},yy=class extends _y{applyShape(e,t,n,r,i,a,o,s){let c=hy(t.color,this._ctx.getColorPalette());if(r<=0||c===void 0){e.style.display=`none`;return}e.style.display=``,e.firstElementChild&&e.replaceChildren(),e.style.backgroundColor=c,s?(e.style.width=`2px`,e.style.height=`${r}px`):(e.style.width=`${r}px`,e.style.height=`2px`)}},by=new Map,xy=class{get chipRenderers(){return this._chipRenderers}get groupUnderlines(){return this._indicator?.underlines??by}get skipNextCollapseAnimation(){return this._skipNextCollapseAnimation}set skipNextCollapseAnimation(e){this._skipNextCollapseAnimation=e}constructor(e,t){this._ctx=e,this._callbacks=t,this._chipRenderers=new Map,this._indicator=null,this._skipNextCollapseAnimation=!1,this._pendingTransitionCleanups=new Map}update(){let e=this._ctx.group.model.getTabGroups(),t=new Set;for(let n of e)t.add(n.id),this._ensureChipForGroup(n),this._positionChipForGroup(n);for(let[e,n]of this._chipRenderers)t.has(e)||(n.chip.element.remove(),n.chip.dispose(),n.disposable.dispose(),this._chipRenderers.delete(e));this._updateTabGroupClasses()}refreshAccents(){var e,t;for(let n of this._ctx.group.model.getTabGroups()){let r=this._chipRenderers.get(n.id);(t=r==null?void 0:(e=r.chip).update)==null||t.call(e,{tabGroup:n})}this._updateTabGroupClasses()}positionAllChips(){if(this._chipRenderers.size!==0)for(let e of this._ctx.group.model.getTabGroups())this._positionChipForGroup(e)}updateDirection(){let e=this._ctx.getDirection()===`vertical`;for(let[,t]of this._chipRenderers)t.dropTarget.setTargetZones(e?[`top`]:[`left`])}snapshotChipWidths(){let e=new Map;for(let[t,n]of this._chipRenderers)e.set(t,n.chip.element.getBoundingClientRect().width);return e}positionUnderlines(){var e;(e=this._indicator)==null||e.positionUnderlines()}trackUnderlines(){var e;(e=this._indicator)==null||e.trackUnderlines()}setGroupDragImage(e,t,n){if(!e.dataTransfer)return;let r=this._ctx.getDirection()===`vertical`,i=this._ctx.tabsList.cloneNode(!0);r?(i.classList.remove(`dv-tabs-container-vertical`,`dv-vertical`),i.classList.add(`dv-horizontal`),i.style.writingMode=`horizontal-tb`,i.style.height=`${this._ctx.tabsList.offsetWidth}px`):i.style.height=`${this._ctx.tabsList.offsetHeight}px`,i.style.width=`auto`,i.style.overflow=`visible`,i.style.pointerEvents=`none`;let a=Array.from(i.children),o=Array.from(this._ctx.tabsList.children);for(let e=a.length-1;e>=0;e--)o[e]!==n&&a[e].remove();let s=document.createElement(`div`);s.className=`dv-groupview dv-active-group`,s.style.position=`fixed`,s.style.top=`-10000px`,s.style.left=`0px`,s.style.height=`auto`,s.style.width=`auto`,s.style.pointerEvents=`none`;let c=document.createElement(`div`);c.className=`dv-tabs-and-actions-container`,c.style.height=`auto`,c.style.width=`auto`,s.appendChild(c),c.appendChild(i),this._ctx.accessor.element.appendChild(s);let l=i.querySelector(`.dv-tab-group-chip`),u=n.getBoundingClientRect(),d=e.clientX-u.left,f=e.clientY-u.top;if(l){let t=l.getBoundingClientRect(),n=s.getBoundingClientRect(),r=t.left-n.left+d,i=t.top-n.top+f;e.dataTransfer.setDragImage(s,r,i)}else e.dataTransfer.setDragImage(s,d,f);requestAnimationFrame(()=>{s.remove()})}cleanupTransition(e){var t;(t=this._pendingTransitionCleanups.get(e))==null||t(),this._pendingTransitionCleanups.delete(e)}updateDragAndDropState(){let e=ry(this._ctx.accessor.options);for(let t of this._chipRenderers.values())t.chip.element.draggable=e.html5,t.html5DragSource.setDisabled(!e.html5),t.pointerDragSource.setDisabled(!e.pointer),t.pointerDragSource.setTouchOnly(!e.pointerHandlesMouse)}disposeChipDrag(e){var t,n;let r=this._chipRenderers.get(e);r&&((t=r.html5DragSource)==null||t.dispose(),(n=r.pointerDragSource)==null||n.dispose())}_buildChipGhostElement(e){let t=getComputedStyle(e),n=e.cloneNode(!0);return Array.from(t).forEach(e=>{n.style.setProperty(e,t.getPropertyValue(e),t.getPropertyPriority(e))}),n.style.position=`absolute`,n}disposeAll(){var e;(e=this._indicator)==null||e.dispose(),this._indicator=null;for(let[,e]of this._pendingTransitionCleanups)e();this._pendingTransitionCleanups.clear();for(let[,e]of this._chipRenderers)e.chip.element.remove(),e.chip.dispose(),e.disposable.dispose();this._chipRenderers.clear()}_ensureIndicator(){let e=(this._ctx.accessor.options.theme?.tabGroupIndicator??`wrap`)===`none`?yy:vy;this._indicator&&!(this._indicator instanceof e)&&(this._indicator.dispose(),this._indicator=null),this._indicator||=new e({tabsList:this._ctx.tabsList,getTabGroups:()=>this._ctx.group.model.getTabGroups(),getActivePanelId:()=>this._ctx.group.activePanel?.id,getTabMap:()=>this._ctx.getTabMap(),getChipElement:e=>this._chipRenderers.get(e)?.chip.element,getDirection:()=>this._ctx.getDirection(),getColorPalette:()=>this._ctx.accessor.tabGroupColorPalette})}_ensureChipForGroup(e){if(this._chipRenderers.has(e.id))return;let t=this._ctx.accessor.options.createTabGroupChipComponent,n=t?t(e):new gy(this._ctx.accessor.tabGroupColorPalette);n.init({tabGroup:e,api:this._ctx.accessor.api});let r=ry(this._ctx.accessor.options);n.element.draggable=r.html5;let i=Wg.getInstance(),a=()=>(i.setData([new Hg(this._ctx.accessor.id,this._ctx.group.id,null,e.id)],Hg.prototype),{dispose:()=>{i.clearData(Hg.prototype)}}),o=Hv.createDragSource(n.element,{getData:a,disabled:!r.html5,isCancelled:()=>!ry(this._ctx.accessor.options).html5,onDragStart:t=>{`dataTransfer`in t&&t.dataTransfer&&this.setGroupDragImage(t,e,n.element),this._callbacks.onChipDragStart(e,n,t)},onDragEnd:t=>{var r,i;(i=(r=this._callbacks).onChipDragEnd)==null||i.call(r,e,n,t)}});n.element.addEventListener(`dragend`,()=>{i.clearData(Hg.prototype)},{once:!0});let s=Uv.createDragSource(n.element,{getData:a,disabled:!r.pointer,touchOnly:!r.pointerHandlesMouse,isCancelled:()=>!ry(this._ctx.accessor.options).pointer,createGhost:()=>({element:this._buildChipGhostElement(n.element),offsetX:8,offsetY:8}),onDragStart:t=>{this._callbacks.onChipDragStart(e,n,t)}}),c=[e.onDidChange(()=>{var t;(t=n.update)==null||t.call(n,{tabGroup:e}),this._updateTabGroupClasses()}),e.onDidPanelChange(()=>{this._positionChipForGroup(e),this._updateTabGroupClasses()}),e.onDidCollapseChange(()=>{this._updateTabGroupClasses()}),o,s],l=t=>{s.cancelPending(),this._callbacks.onChipContextMenu(e,t)};n instanceof gy?c.push(n.onContextMenu(l)):c.push(new ny(n.element,{onLongPress:l}),Z(n.element,`contextmenu`,l));let u=this._ctx.getDirection()===`vertical`,d=new Dv(n.element,{acceptedTargetZones:u?[`top`]:[`left`],overlayModel:{activationSize:{value:100,type:`percentage`}},canDisplayOverlay:(e,t)=>{if(this._ctx.group.locked||this._ctx.accessor.options.disableDnd)return!1;let n=Gg();return n&&this._ctx.accessor.id===n.viewId?this._ctx.accessor.options.theme?.tabAnimation!==`smooth`:this._ctx.group.model.canDisplayOverlay(e,t,`tab`)}});c.push(d,d.onDrop(t=>{this._callbacks.onChipDrop(e,t)}));let f=new Jg(...c);this._chipRenderers.set(e.id,{chip:n,html5DragSource:o,pointerDragSource:s,disposable:f,dropTarget:d}),e.collapsed&&(this._skipNextCollapseAnimation=!0)}_positionChipForGroup(e){let t=this._chipRenderers.get(e.id);if(!t)return;let n=t.chip.element,r=e.panelIds;if(r.length===0){n.remove();return}let i=r[0],a=this._ctx.getTabMap().get(i);if(!a){n.remove();return}let o=a.value.element;n.nextSibling!==o&&this._ctx.tabsList.insertBefore(n,o)}_updateTabGroupClasses(){var e;let t=this._ctx.group.model.getTabGroups(),n=this._ctx.getTabs(),r=this._ctx.getTabMap(),i=!1,a=new Map;for(let e of t)for(let t of e.panelIds)a.set(t,e);for(let t of n){let n=t.value,r=n.panel.id,o=a.get(r),s=!!o;if(Q(n.element,`dv-tab--grouped`,s),o){let t=o.panelIds,a=t[0]===r,s=t[t.length-1]===r;Q(n.element,`dv-tab--group-first`,a),Q(n.element,`dv-tab--group-last`,s),my(n.element,o.color,this._ctx.accessor.tabGroupColorPalette);let c=n.element.classList.contains(`dv-tab--group-collapsed`);if(!o.collapsed&&c){i=!0,n.element.classList.remove(`dv-tab--group-collapsed`),n.element.classList.add(`dv-tab--group-expanding`),(e=this._pendingTransitionCleanups.get(r))==null||e();let t=()=>{n.element.classList.remove(`dv-tab--group-expanding`),n.element.style.removeProperty(`width`),n.element.removeEventListener(`transitionend`,t),clearTimeout(a),this._pendingTransitionCleanups.delete(r)},a=setTimeout(t,300);this._pendingTransitionCleanups.set(r,t),n.element.addEventListener(`transitionend`,t)}}else Q(n.element,`dv-tab--group-first`,!1),Q(n.element,`dv-tab--group-last`,!1),n.element.classList.remove(`dv-tab--group-collapsed`,`dv-tab--group-expanding`),n.element.style.removeProperty(`width`),n.element.style.removeProperty(`--dv-tab-group-color`)}let o=new Set;for(let e of t)if(o.add(e.id),e.collapsed&&e.panelIds.some(e=>{let t=r.get(e);return t&&!t.value.element.classList.contains(`dv-tab--group-collapsed`)}))if(this._skipNextCollapseAnimation){let t=[];for(let n of e.panelIds){let e=r.get(n);e&&(e.value.element.style.transition=`none`,e.value.element.classList.add(`dv-tab--group-collapsed`),t.push(e.value.element))}if(t.length>0){t[0].offsetHeight;for(let e of t)e.style.removeProperty(`transition`)}}else{i=!0;let t=this._ctx.getDirection()===`vertical`;for(let n of e.panelIds){let e=r.get(n);if(e&&!e.value.element.classList.contains(`dv-tab--group-collapsed`)){let n=e.value.element.getBoundingClientRect();t?e.value.element.style.height=`${n.height}px`:e.value.element.style.width=`${n.width}px`,e.value.element.offsetHeight,e.value.element.classList.add(`dv-tab--group-collapsed`)}}}this._skipNextCollapseAnimation=!1,this._ensureIndicator(),this._indicator&&(this._indicator.syncUnderlineElements(o),i?this._indicator.trackUnderlines():this._indicator.positionUnderlines())}},Sy=class extends Jg{get showTabsOverflowControl(){return this._showTabsOverflowControl}set showTabsOverflowControl(e){if(this._showTabsOverflowControl!=e&&(this._showTabsOverflowControl=e,e)){let e=new r_(this._tabsList);this._observerDisposable.value=new Jg(e,e.onDidChange(e=>{let t=e.hasScrollX||e.hasScrollY;this.toggleDropdown({reset:!t}),this._tabGroupManager.groupUnderlines.size>0&&this._tabGroupManager.positionUnderlines()}),Z(this._tabsList,`scroll`,()=>{this.toggleDropdown({reset:!1}),this._tabGroupManager.groupUnderlines.size>0&&this._tabGroupManager.positionUnderlines()}))}}get element(){return this._element}set voidContainer(e){var t;(t=this._voidContainerListeners)==null||t.dispose(),this._voidContainerListeners=null,this._voidContainer=e,e&&(this._voidContainerListeners=new Jg(Z(e,`dragover`,e=>{this._animState&&e.preventDefault()}),Z(e,`drop`,e=>{this._animState?.sourceTabGroupId&&this._animState.currentInsertionIndex!==null&&(e.preventDefault(),e.stopPropagation(),this.handleVoidDrop())})))}handleVoidDrop(){if(!this._animState?.sourceTabGroupId)return!1;let e=this._animState.sourceTabGroupId,t=this._animState.currentInsertionIndex??this._tabs.length;return this._animState=null,this._commitGroupMove(e,t),!0}get panels(){return this._tabs.map(e=>e.value.panel.id)}get size(){return this._tabs.length}get tabs(){return this._tabs.map(e=>e.value)}get direction(){return this._direction}set direction(e){if(this._direction!==e){this._direction=e,this._scrollbar&&(this._scrollbar.orientation=e),a_(this._tabsList,`dv-horizontal`,`dv-vertical`),e===`vertical`?o_(this._tabsList,`dv-tabs-container-vertical`,`dv-vertical`):(a_(this._tabsList,`dv-tabs-container-vertical`),o_(this._tabsList,`dv-horizontal`));for(let t of this._tabs)t.value.setDirection(e);this._tabGroupManager.updateDirection()}}constructor(e,t,n){super(),this.group=e,this.accessor=t,this._observerDisposable=new Yg,this._scrollbar=null,this._tabs=[],this._tabMap=new Map,this.selectedIndex=-1,this._showTabsOverflowControl=!1,this._direction=`horizontal`,this._animState=null,this._pendingMarginCleanups=new Map,this._pendingCollapse=!1,this._flipTransitionCleanup=null,this._voidContainer=null,this._voidContainerListeners=null,this._extendedDropZone=null,this._pointerInsideTabsList=!1,this._onTabDragStart=new X,this.onTabDragStart=this._onTabDragStart.event,this._onDrop=new X,this.onDrop=this._onDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._onOverflowTabsChange=new X,this.onOverflowTabsChange=this._onOverflowTabsChange.event,this._tabsList=document.createElement(`div`),this._tabsList.className=`dv-tabs-container`,this.showTabsOverflowControl=n.showTabsOverflowControl,t.options.scrollbars===`native`?this._element=this._tabsList:(this._scrollbar=new ly(this._tabsList),this._scrollbar.orientation=this.direction,this._element=this._scrollbar.element,this.addDisposables(this._scrollbar)),this._tabGroupManager=new xy({group:this.group,accessor:this.accessor,tabsList:this._tabsList,getTabs:()=>this._tabs,getTabMap:()=>this._tabMap,getDirection:()=>this._direction},{onChipContextMenu:(e,t)=>{this.accessor.contextMenuController.showForChip(e,this.group,t)},onChipDragStart:(e,t,n)=>{this._handleChipDragStart(e,t,n)},onChipDragEnd:()=>{this.resetDragAnimation()},onChipDrop:(e,t)=>{this._handleChipDrop(e,t)}}),this.addDisposables(this._onOverflowTabsChange,this._observerDisposable,this._onWillShowOverlay,this._onDrop,this._onTabDragStart,{dispose:()=>{var e;(e=this._flipTransitionCleanup)==null||e.call(this)}},jv.getInstance().onDragEnd(()=>{this._pointerInsideTabsList=!1,this.resetDragAnimation()}),jv.getInstance().onDragMove(e=>{this._handlePointerDragMove(e.clientX,e.clientY)}),Z(this.element,`pointerdown`,e=>{e.defaultPrevented||e.button===0&&this.accessor.doSetGroupActive(this.group)}),Z(this._tabsList,`wheel`,e=>{let t=this._direction===`vertical`,n=t?e.deltaY||e.deltaX:e.deltaX||e.deltaY;if(n===0)return;let r=t?this._tabsList.scrollHeight-this._tabsList.clientHeight:this._tabsList.scrollWidth-this._tabsList.clientWidth;if(r<=0)return;let i=t?this._tabsList.scrollTop:this._tabsList.scrollLeft;n<0&&i<=0||n>0&&i>=r||(e.preventDefault(),e.stopPropagation(),t?this._tabsList.scrollTop=i+n:this._tabsList.scrollLeft=i+n)},{passive:!1}),Z(this._tabsList,`dragover`,e=>{this._processDragOver(e.clientX)&&e.preventDefault()},!0),Z(this._tabsList,`dragleave`,e=>{this._processDragLeave(e.relatedTarget)},!0),Z(this._tabsList,`dragend`,()=>{this.resetDragAnimation()}),Z(this._tabsList,`drop`,e=>{var t;if(!this._animState||this._animState.currentInsertionIndex===null||this.accessor.options.theme?.tabAnimation!==`smooth`&&!this._animState.sourceTabGroupId)return;e.stopPropagation(),e.preventDefault(),(t=this.group.model.dropTargetContainer?.model)==null||t.clear();let n=this._animState;if(this._animState=null,this._pendingCollapse=!1,n.sourceTabGroupId){this._commitGroupMove(n.sourceTabGroupId,n.currentInsertionIndex);return}let r=n.currentInsertionIndex,i=n.sourceIndex,a=r-+(i!==-1&&i<r),o=this.group.model.getTabGroupForPanel(n.sourceTabId);if(a===i&&!n.targetTabGroupId&&!o){this._uncollapsSourceTab(n.sourceTabId),this.resetTabTransforms();return}this._uncollapsSourceTab(n.sourceTabId);let s=this.snapshotTabPositions();this.resetTabTransforms(),this._onDrop.fire({event:e,index:a,targetTabGroupId:n.targetTabGroupId}),this.runFlipAnimation(s,n.sourceTabId,n.sourceIndex===-1,{from:Math.min(i,a),to:Math.max(i,a)})},!0),qg.from(()=>{var e;(e=this._voidContainerListeners)==null||e.dispose(),this.resetDragAnimation(),this._tabGroupManager.disposeAll();for(let{value:e,disposable:t}of this._tabs)t.dispose(),e.dispose();this._tabs=[],this._tabMap.clear()}))}indexOf(e){return this._tabs.findIndex(t=>t.value.panel.id===e)}isActive(e){return this.selectedIndex>-1&&this._tabs[this.selectedIndex].value===e}setActivePanel(e){let t=this._direction===`vertical`,n=0;for(let r of this._tabs){let i=e.id===r.value.panel.id;if(r.value.setActive(i),i){let e=r.value.element,i=e.parentElement;t?(n<i.scrollTop||n+e.clientHeight>i.scrollTop+i.clientHeight)&&(i.scrollTop=n):(n<i.scrollLeft||n+e.clientWidth>i.scrollLeft+i.clientWidth)&&(i.scrollLeft=n)}n+=t?r.value.element.clientHeight:r.value.element.clientWidth}this._tabGroupManager.groupUnderlines.size>0&&this._tabGroupManager.positionUnderlines()}openPanel(e,t=this._tabs.length){if(this._tabMap.has(e.id))return;let n=new ay(e,this.accessor,this.group);n.setContent(e.view.tab),this._direction!==`horizontal`&&n.setDirection(this._direction);let r={value:n,disposable:new Jg(n.onDragStart(t=>{if(this._onTabDragStart.fire({nativeEvent:t,panel:e}),this.accessor.options.theme?.tabAnimation===`smooth`){let t=n.element.getBoundingClientRect().width,r=this._tabs.findIndex(e=>e.value===n);this._animState={sourceTabId:e.id,sourceIndex:r,tabPositions:this.snapshotTabPositions(),chipPositions:this._tabGroupManager.snapshotChipWidths(),currentInsertionIndex:null,targetTabGroupId:null,sourceTabGroupId:null,sourceGroupPanelIds:null,sourceChipWidth:0,cursorOffsetFromDragLeft:t/2,sourceGapWidth:t,containerLeft:this._tabsList.getBoundingClientRect().left},this._pendingCollapse=!0,requestAnimationFrame(()=>{var e;this._pendingCollapse=!1,this._animState&&(n.element.style.transition=`none`,Q(n.element,`dv-tab--dragging`,!0),n.element.offsetHeight,(e=this._animState).currentInsertionIndex??(e.currentInsertionIndex=r),this.applyDragOverTransforms(!0),n.element.style.removeProperty(`transition`))})}}),n.onTabClick(t=>{t.defaultPrevented||this.group.api.location.type===`edge`&&(this.group.activePanel===e?this.group.api.isCollapsed()?this.group.api.expand():this.group.api.collapse():(this.group.model.openPanel(e),this.group.api.isCollapsed()&&this.group.api.expand()))}),n.onPointerDown(t=>{if(t.defaultPrevented)return;let r=!this.accessor.options.disableFloatingGroups,i=this.group.api.location.type===`floating`&&this.size===1;if(r&&!i&&t.shiftKey){t.preventDefault();let e=this.accessor.getGroupPanel(n.panel.id),{top:r,left:i}=n.element.getBoundingClientRect(),{top:a,left:o}=this.accessor.element.getBoundingClientRect();this.accessor.addFloatingGroup(e,{x:i-o,y:r-a,inDragMode:!0});return}switch(t.button){case 0:this.group.api.location.type===`edge`||this.group.activePanel!==e&&this.group.model.openPanel(e);break}}),n.onDrop(e=>{let t=this._animState;this._animState=null,this._pendingCollapse=!1;let r=this._tabs.findIndex(e=>e.value===n);if(t){let n=e.position===`right`?r+1:r;if(t.sourceTabGroupId){this._commitGroupMove(t.sourceTabGroupId,t.currentInsertionIndex??n);return}this._uncollapsSourceTab(t.sourceTabId);let i=this.snapshotTabPositions();this.resetTabTransforms(),this._onDrop.fire({event:e.nativeEvent,index:n,targetTabGroupId:t.targetTabGroupId}),this.accessor.options.theme?.tabAnimation===`smooth`&&this.runFlipAnimation(i,t.sourceTabId,t.sourceIndex===-1,t.sourceIndex===-1?void 0:{from:Math.min(t.sourceIndex,n),to:Math.max(t.sourceIndex,n)})}else{let t=this._direction===`vertical`?`bottom`:`right`,i=e.position===t?r+1:r,a=Gg(),o=a?this._tabs.findIndex(e=>e.value.panel.id===a.panelId):-1,s=i-+(o!==-1&&o<i),c=this.group.model.getTabGroupForPanel(n.panel.id)?.id??null;this._onDrop.fire({event:e.nativeEvent,index:s,targetTabGroupId:c})}}),n.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(new oy(e,{kind:`tab`,panel:this.group.activePanel,api:this.accessor.api,group:this.group,getData:Gg}))}))};this.addTab(r,t),this._tabGroupManager.positionAllChips(),this._animState&&(this._animState.tabPositions=this.snapshotTabPositions(),this._animState.chipPositions=this._tabGroupManager.snapshotChipWidths(),this.applyDragOverTransforms())}delete(e){this._animState?.sourceTabId===e&&(this.resetTabTransforms(),this._animState=null),this._tabGroupManager.cleanupTransition(e);let t=this.indexOf(e),n=this._tabs.splice(t,1)[0];if(this._tabMap.delete(e),n){let{value:e,disposable:t}=n;t.dispose(),e.dispose(),e.element.remove()}this._animState&&(this._animState.tabPositions=this.snapshotTabPositions(),this._animState.chipPositions=this._tabGroupManager.snapshotChipWidths(),this.applyDragOverTransforms())}addTab(e,t=this._tabs.length){if(t<0||t>this._tabs.length)throw Error(`invalid location`);let n=t<this._tabs.length?this._tabs[t].value.element:null;this._tabsList.insertBefore(e.value.element,n),this._tabs=[...this._tabs.slice(0,t),e,...this._tabs.slice(t)],this._tabMap.set(e.value.panel.id,e),this.selectedIndex<0&&(this.selectedIndex=t)}toggleDropdown(e){if(e.reset){this._onOverflowTabsChange.fire({tabs:[],tabGroups:[],reset:!0});return}let t=this._tabs.filter(e=>!S_(e.value.element,this._tabsList)).map(e=>e.value.panel.id),n=new Set(t),r=[];for(let e of this.group.model.getTabGroups()){let i=this._tabGroupManager.chipRenderers.get(e.id),a=i&&!S_(i.chip.element,this._tabsList),o=e.panelIds.length>0&&e.panelIds.every(e=>n.has(e));if((a||o)&&(r.push(e.id),e.collapsed))for(let r of e.panelIds)n.has(r)||(n.add(r),t.push(r))}this._onOverflowTabsChange.fire({tabs:t,tabGroups:r,reset:!1})}updateDragAndDropState(){for(let e of this._tabs)e.value.updateDragAndDropState();this._tabGroupManager.updateDragAndDropState()}updateTabGroups(){this._tabGroupManager.update()}refreshTabGroupAccent(){this._tabGroupManager.refreshAccents()}_handleChipDragStart(e,t,n){let r=e.panelIds[0],i=r?this._tabs.findIndex(e=>e.value.panel.id===r):-1,a=t.element.getBoundingClientRect(),o=a.width;for(let t of e.panelIds){let e=this._tabMap.get(t);e&&(o+=e.value.element.getBoundingClientRect().width)}if(this._animState={sourceTabId:``,sourceIndex:i,tabPositions:this.snapshotTabPositions(),chipPositions:this._tabGroupManager.snapshotChipWidths(),currentInsertionIndex:null,targetTabGroupId:null,sourceTabGroupId:e.id,sourceGroupPanelIds:new Set(e.panelIds),sourceChipWidth:a.width,cursorOffsetFromDragLeft:n.clientX-a.left,sourceGapWidth:o,containerLeft:this._tabsList.getBoundingClientRect().left},this.accessor.options.theme?.tabAnimation!==`smooth`)return;let s=new Set(e.panelIds);this._pendingCollapse=!0,requestAnimationFrame(()=>{var t;if(this._pendingCollapse=!1,!this._animState)return;for(let e of this._tabs)s.has(e.value.panel.id)&&(e.value.element.style.transition=`none`,Q(e.value.element,`dv-tab--dragging`,!0));let n=this._tabGroupManager.chipRenderers.get(e.id);n&&(n.chip.element.style.transition=`none`,Q(n.chip.element,`dv-tab-group-chip--dragging`,!0)),this._tabsList.offsetHeight;let r=this._tabGroupManager.groupUnderlines.get(e.id);r&&(r.style.display=`none`),(t=this._animState).currentInsertionIndex??(t.currentInsertionIndex=i),this.applyDragOverTransforms(!0);for(let e of this._tabs)s.has(e.value.panel.id)&&e.value.element.style.removeProperty(`transition`);n&&n.chip.element.style.removeProperty(`transition`)})}_handleChipDrop(e,t){let n=e.panelIds[0];if(!n)return;let r=this._tabs.findIndex(e=>e.value.panel.id===n);if(r===-1)return;let i=Gg(),a=i&&i.groupId===this.group.id&&i.panelId?this._tabs.findIndex(e=>e.value.panel.id===i.panelId):-1,o=r-+(a!==-1&&a<r);this._onDrop.fire({event:t.nativeEvent,index:o,targetTabGroupId:null})}setExtendedDropZone(e){this._extendedDropZone=e}setExternalInsertionIndex(e){this._animState&&e!==this._animState.currentInsertionIndex&&(this._animState.currentInsertionIndex=e,this.applyDragOverTransforms())}clearExternalAnimState(){this._animState&&(this.resetTabTransforms(),this._animState.sourceIndex===-1?this._animState=null:this._animState.currentInsertionIndex=null)}snapshotTabPositions(){let e=new Map;for(let t of this._tabs)e.set(t.value.panel.id,t.value.element.getBoundingClientRect());return e}getAverageTabWidth(){if(this._tabs.length===0)return 0;let e=this._direction===`vertical`,t=0;for(let n of this._tabs){let r=n.value.element.getBoundingClientRect();t+=e?r.height:r.width}return t/this._tabs.length}_handlePointerDragMove(e,t){let n=(this._tabsList.ownerDocument??document).elementFromPoint(e,t);if(!(n&&(this._tabsList.contains(n)||this._extendedDropZone&&this._extendedDropZone.contains(n)))){this._pointerInsideTabsList&&(this._pointerInsideTabsList=!1,this._processDragLeave(n));return}this._pointerInsideTabsList=!0,this._processDragOver(e)}_processDragOver(e){var t;if(this.accessor.options.disableDnd)return!1;if(this._animState){let e=Gg();e?.tabGroupId&&e.groupId!==this.group.id&&this._animState.sourceTabGroupId!==e.tabGroupId&&(this._animState=null)}if(!this._animState){let e=Gg();if(this.accessor.options.theme?.tabAnimation==="default"&&!e?.tabGroupId)return!1;if(e&&(e.panelId||e.tabGroupId)&&e.groupId!==this.group.id){let t=this.getAverageTabWidth();if(e.tabGroupId){let n=this.accessor.getPanel(e.groupId)?.model.getTabGroups().find(t=>t.id===e.tabGroupId),r=t*(n?.panelIds.length??1)+t;this._animState={sourceTabId:``,sourceIndex:-1,tabPositions:this.snapshotTabPositions(),chipPositions:this._tabGroupManager.snapshotChipWidths(),currentInsertionIndex:null,targetTabGroupId:null,sourceTabGroupId:e.tabGroupId,sourceGroupPanelIds:n?new Set(n.panelIds):new Set,sourceChipWidth:t,cursorOffsetFromDragLeft:r/2,sourceGapWidth:r,containerLeft:this._tabsList.getBoundingClientRect().left}}else this._animState={sourceTabId:e.panelId,sourceIndex:-1,tabPositions:this.snapshotTabPositions(),chipPositions:this._tabGroupManager.snapshotChipWidths(),currentInsertionIndex:null,targetTabGroupId:null,sourceTabGroupId:null,sourceGroupPanelIds:null,sourceChipWidth:0,cursorOffsetFromDragLeft:t/2,sourceGapWidth:t,containerLeft:this._tabsList.getBoundingClientRect().left}}else return!1}return this._animState.sourceIndex!==-1&&((t=this.group.model.dropTargetContainer?.model)==null||t.clear()),this.handleDragOver({clientX:e}),!0}_processDragLeave(e){var t;if(this._animState&&!(e&&this._tabsList.contains(e))){if(e&&this._extendedDropZone?.contains(e)){this.resetTabTransforms(),this._animState.currentInsertionIndex=null;return}this._voidContainer&&e&&(e===this._voidContainer||this._voidContainer.contains(e))||(this.resetTabTransforms(),this._animState.sourceIndex===-1?((t=this.group.model.dropTargetContainer?.model)==null||t.clear(),this._animState=null):this._animState.currentInsertionIndex=null)}}handleDragOver(e){if(!this._animState)return;let t=e.clientX,n=null,r=null,i=this._animState.sourceGroupPanelIds,a=t-this._animState.cursorOffsetFromDragLeft-this._animState.containerLeft,o=0,s=new Map;if(this._tabGroupManager.chipRenderers.size>0){let e=this.group.model.getTabGroups();for(let t of e)t.id!==this._animState.sourceTabGroupId&&t.panelIds.length>0&&s.set(t.panelIds[0],t.id)}for(let e=0;e<this._tabs.length;e++){let t=this._tabs[e].value;if(t.panel.id===this._animState.sourceTabId||i?.has(t.panel.id))continue;let r=s.get(t.panel.id);if(r){let t=this._animState.chipPositions.get(r)??0;if(o+t>a){n??=e;break}o+=t}let c=this._animState.tabPositions.get(t.panel.id),l=c?c.width:t.element.getBoundingClientRect().width;if(o+l/2<=a)o+=l,n=e+1;else{n??=e;break}}if(n!==null&&this._tabGroupManager.chipRenderers.size>0){let e=!!this._animState.sourceTabGroupId,a=this.group.model.getTabGroups(),o=0;for(let e=0;e<this._tabs.length;e++){let t=this._tabs[e].value;if(t.panel.id===this._animState.sourceTabId||i?.has(t.panel.id))continue;if(e>=n)break;let r=s.get(t.panel.id);r&&(o+=this._animState.chipPositions.get(r)??0);let a=this._animState.tabPositions.get(t.panel.id);o+=a?a.width:t.element.getBoundingClientRect().width}for(let s of a){let a=s.panelIds.filter(e=>e!==this._animState.sourceTabId&&!i?.has(e));if(a.length===0)continue;let c=this._tabs.findIndex(e=>e.value.panel.id===a[0]),l=this._tabs.findIndex(e=>e.value.panel.id===a[a.length-1]);if(c===-1||l===-1)continue;let u=n>=c&&n<=l,d=!u&&n===c-1;if(!(!u&&!d)){if(e&&u){let e=(c+l+1)/2;n=n<e?c:l+1;break}if(e&&d)break;if(d){let e=!0;for(let t=n;t<c;t++){let n=this._tabs[t].value.panel.id;if(n!==this._animState.sourceTabId&&!i?.has(n)){e=!1;break}}if(!e)continue;let a=this._animState.chipPositions.get(s.id)??0;t>=(s.collapsed?this._animState.containerLeft+o+a/2:this._animState.containerLeft+o+a)&&(n=c,r=s.id);break}if(u){let e=this._animState.chipPositions.get(s.id)??0,i=this._animState.containerLeft+o+e;n===c?t>=i&&(r=s.id):r=s.id;break}}}}n===this._animState.currentInsertionIndex&&r===this._animState.targetTabGroupId||(this._animState.currentInsertionIndex=n,this._animState.targetTabGroupId=r,this.accessor.options.theme?.tabAnimation===`smooth`&&this.applyDragOverTransforms())}_removeClassInstantlyBatch(e,t){let n=[];for(let r of e)r.classList.contains(t)&&(r.style.transition=`none`,Q(r,t,!1),n.push(r));if(n.length>0){n[0].offsetHeight;for(let e of n)e.style.removeProperty(`transition`)}}_uncollapsSourceTab(e){let t=this._tabMap.get(e);t&&this._removeClassInstantlyBatch([t.value.element],`dv-tab--dragging`)}applyDragOverTransforms(e=!1){if(!this._animState||this._animState.currentInsertionIndex===null){this.resetTabTransforms();return}if(this._pendingCollapse)return;let t=this._animState.currentInsertionIndex,n,r=this._animState.sourceGroupPanelIds;if(this._animState.sourceTabGroupId&&r)n=this._animState.sourceGapWidth;else{let e=this._animState.tabPositions.get(this._animState.sourceTabId);n=e?e.width:this.getAverageTabWidth()}let i=null;if(this._tabGroupManager.chipRenderers.size>0){let e=this.group.model.getTabGroups();for(let n of e){if(n.id===this._animState.sourceTabGroupId||n.panelIds.includes(this._animState.sourceTabId))continue;let e=n.panelIds.filter(e=>e!==this._animState.sourceTabId&&!r?.has(e));if(e.length===0)continue;let a=this._tabs.findIndex(t=>t.value.panel.id===e[0]);if((!this._animState.targetTabGroupId||this._animState.targetTabGroupId===n.id&&n.collapsed)&&a>=t){let e=!1;for(let n=t;n<a;n++){let t=this._tabs[n].value.panel.id;if(t!==this._animState.sourceTabId&&!r?.has(t)){e=!0;break}}if(!e){let e=this._tabGroupManager.chipRenderers.get(n.id);e&&(i=e.chip.element)}break}}}let a=e=>e.classList.contains(`dv-tab-group-chip`)?`dv-tab-group-chip--shifting`:`dv-tab--shifting`,o=(t,n)=>{e?(t.style.transition=`none`,t.style.marginLeft=n,t.offsetHeight,t.style.removeProperty(`transition`)):t.style.marginLeft=n,Q(t,a(t),!0)},s=t=>{let n=a(t),r=this._pendingMarginCleanups.get(t);if(r&&r(),e||!t.style.marginLeft)t.style.removeProperty(`margin-left`),Q(t,n,!1);else{t.style.marginLeft=`0px`,Q(t,n,!0);let e=()=>{t.style.removeProperty(`margin-left`),Q(t,n,!1),t.removeEventListener(`transitionend`,e),clearTimeout(r),this._pendingMarginCleanups.delete(t)},r=setTimeout(e,300);this._pendingMarginCleanups.set(t,e),t.addEventListener(`transitionend`,e)}},c=!1;for(let[e,t]of this._tabGroupManager.chipRenderers)e!==this._animState.sourceTabGroupId&&s(t.chip.element);i&&(o(i,`${n}px`),c=!0);for(let e=0;e<this._tabs.length;e++){let i=this._tabs[e].value;i.panel.id!==this._animState.sourceTabId&&(r?.has(i.panel.id)||(!c&&e>=t?(o(i.element,`${n}px`),c=!0):s(i.element)))}this._tabGroupManager.trackUnderlines()}resetTabTransforms(){for(let[,e]of this._pendingMarginCleanups)e();this._pendingMarginCleanups.clear();for(let e of this._tabs)e.value.element.style.removeProperty(`margin-left`),e.value.element.style.removeProperty(`margin-right`),e.value.element.style.removeProperty(`margin-top`),e.value.element.style.removeProperty(`margin-bottom`),e.value.element.style.removeProperty(`transform`),Q(e.value.element,`dv-tab--shifting`,!1);for(let[,e]of this._tabGroupManager.chipRenderers)e.chip.element.style.removeProperty(`margin-left`),Q(e.chip.element,`dv-tab-group-chip--shifting`,!1);this._tabGroupManager.positionUnderlines()}_commitGroupMove(e,t){let n=Gg();if(this._tabGroupManager.disposeChipDrag(e),this.group.model.getTabGroups().some(t=>t.id===e))if(this.accessor.options.theme?.tabAnimation===`smooth`){this._clearGroupDragClasses(e);let n=this.snapshotTabPositions();this.resetTabTransforms(),this.group.model.moveTabGroup(e,t),this.runFlipAnimation(n,``,!1)}else this._tabGroupManager.skipNextCollapseAnimation=!0,this.group.model.moveTabGroup(e,t);else n&&(this.resetTabTransforms(),this.accessor.moveGroupOrPanel({from:{groupId:n.groupId,tabGroupId:n.tabGroupId??e},to:{group:this.group,position:`center`,index:t}}))}_clearGroupDragClasses(e){let t=this._tabGroupManager.chipRenderers.get(e);t&&this._removeClassInstantlyBatch([t.chip.element],`dv-tab-group-chip--dragging`),this._removeClassInstantlyBatch(this._tabs.map(e=>e.value.element),`dv-tab--dragging`);let n=this._tabGroupManager.groupUnderlines.get(e);n&&n.style.removeProperty(`display`),this._tabGroupManager.skipNextCollapseAnimation=!0}resetDragAnimation(){if(this._pendingCollapse=!1,this._animState){this.resetTabTransforms(),this._animState.sourceTabGroupId?this._clearGroupDragClasses(this._animState.sourceTabGroupId):this._removeClassInstantlyBatch(this._tabs.map(e=>e.value.element),`dv-tab--dragging`),this._animState=null;for(let[,e]of this._tabGroupManager.groupUnderlines)e.style.removeProperty(`display`)}}runFlipAnimation(e,t,n=!1,r){let i=this._direction===`vertical`,a=!1;for(let o=0;o<this._tabs.length;o++){let s=this._tabs[o],c=s.value.panel.id;if(c===t){if(n){let e=s.value.element.getBoundingClientRect();s.value.element.style.transform=i?`translateY(${e.height}px)`:`translateX(${e.width}px)`,Q(s.value.element,`dv-tab--shifting`,!0),a=!0}continue}if(r!==void 0&&(o<r.from||o>r.to))continue;let l=e.get(c);if(!l)continue;let u=s.value.element.getBoundingClientRect(),d=i?l.top-u.top:l.left-u.left;Math.abs(d)<1||(s.value.element.style.transform=i?`translateY(${d}px)`:`translateX(${d}px)`,Q(s.value.element,`dv-tab--shifting`,!0),a=!0)}a&&requestAnimationFrame(()=>{var e;for(let e of this._tabs)e.value.element.style.transform&&(e.value.element.style.transform=``);this._tabGroupManager.trackUnderlines(),(e=this._flipTransitionCleanup)==null||e.call(this);let t=e=>{if(e.propertyName===`transform`){n();for(let e of this._tabs)Q(e.value.element,`dv-tab--shifting`,!1);this._tabGroupManager.positionUnderlines()}},n=()=>{this._tabsList.removeEventListener(`transitionend`,t),this._flipTransitionCleanup=null};this._flipTransitionCleanup=n,this._tabsList.addEventListener(`transitionend`,t)})}},Cy=e=>{let t=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);t.setAttributeNS(null,`height`,e.height),t.setAttributeNS(null,`width`,e.width),t.setAttributeNS(null,`viewBox`,e.viewbox),t.setAttributeNS(null,`aria-hidden`,`false`),t.setAttributeNS(null,`focusable`,`false`),t.classList.add(`dv-svg`);let n=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return n.setAttributeNS(null,`d`,e.path),t.appendChild(n),t},wy=()=>Cy({width:`11`,height:`11`,viewbox:`0 0 28 28`,path:`M2.1 27.3L0 25.2L11.55 13.65L0 2.1L2.1 0L13.65 11.55L25.2 0L27.3 2.1L15.75 13.65L27.3 25.2L25.2 27.3L13.65 15.75L2.1 27.3Z`}),Ty=()=>Cy({width:`11`,height:`11`,viewbox:`0 0 24 15`,path:`M12 14.15L0 2.15L2.15 0L12 9.9L21.85 0.0499992L24 2.2L12 14.15Z`}),Ey=()=>Cy({width:`11`,height:`11`,viewbox:`0 0 15 25`,path:`M2.15 24.1L0 21.95L9.9 12.05L0 2.15L2.15 0L14.2 12.05L2.15 24.1Z`});function Dy(){let e=document.createElement(`div`);e.className=`dv-tabs-overflow-dropdown-default`;let t=document.createElement(`span`);t.textContent=``;let n=Ey();return e.appendChild(n),e.appendChild(t),{element:e,update:e=>{t.textContent=`${e.tabs}`}}}var Oy=class extends Jg{get onTabDragStart(){return this.tabs.onTabDragStart}get panels(){return this.tabs.panels}get size(){return this.tabs.size}get hidden(){return this._hidden}set hidden(e){this._hidden=e,this.element.style.display=e?`none`:``}get direction(){return this._direction}set direction(e){this._direction=e,e===`vertical`?(o_(this._element,`dv-groupview-header-vertical`),o_(this.rightActionsContainer,`dv-right-actions-container-vertical`),this.tabs.direction=e):(a_(this._element,`dv-groupview-header-vertical`),a_(this.rightActionsContainer,`dv-right-actions-container-vertical`),this.tabs.direction=e)}get element(){return this._element}constructor(e,t){super(),this.accessor=e,this.group=t,this._hidden=!1,this._direction=`horizontal`,this.dropdownPart=null,this._overflowTabs=[],this._overflowTabGroups=[],this._dropdownDisposable=new Yg,this._onDrop=new X,this.onDrop=this._onDrop.event,this._onGroupDragStart=new X,this.onGroupDragStart=this._onGroupDragStart.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._element=document.createElement(`div`),this._element.className=`dv-tabs-and-actions-container`,Q(this._element,`dv-full-width-single-tab`,this.accessor.options.singleTabMode===`fullwidth`),this.rightActionsContainer=document.createElement(`div`),this.rightActionsContainer.className=`dv-right-actions-container`,this.leftActionsContainer=document.createElement(`div`),this.leftActionsContainer.className=`dv-left-actions-container`,this.preActionsContainer=document.createElement(`div`),this.preActionsContainer.className=`dv-pre-actions-container`,this.tabs=new Sy(t,e,{showTabsOverflowControl:!e.options.disableTabsOverflowList}),this.voidContainer=new cy(this.accessor,this.group),this.tabs.voidContainer=this.voidContainer.element,this._element.appendChild(this.preActionsContainer),this._element.appendChild(this.tabs.element),this._element.appendChild(this.leftActionsContainer),this._element.appendChild(this.voidContainer.element),this._element.appendChild(this.rightActionsContainer),this.tabs.setExtendedDropZone(this._element),this.addDisposables(this.tabs.onDrop(e=>this._onDrop.fire(e)),this.tabs.onWillShowOverlay(e=>this._onWillShowOverlay.fire(e)),e.onDidOptionsChange(()=>{this.tabs.showTabsOverflowControl=!e.options.disableTabsOverflowList}),this.tabs.onOverflowTabsChange(e=>{this.toggleDropdown(e)}),this.tabs,this._onWillShowOverlay,this._onDrop,this._onGroupDragStart,this.voidContainer,this.voidContainer.onDragStart(e=>{this._onGroupDragStart.fire({nativeEvent:e,group:this.group})}),this.voidContainer.onDrop(e=>{this.tabs.handleVoidDrop()||this._onDrop.fire({event:e.nativeEvent,index:this.tabs.size})}),this.voidContainer.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(new oy(e,{kind:`header_space`,panel:this.group.activePanel,api:this.accessor.api,group:this.group,getData:Gg}))}),Z(this.leftActionsContainer,`dragleave`,e=>{let t=e.relatedTarget;!this.leftActionsContainer.contains(t)&&!this._element.contains(t)&&this.tabs.clearExternalAnimState()}),Z(this.voidContainer.element,`dragleave`,e=>{let t=e.relatedTarget;this.voidContainer.element.contains(t)||(this._element.contains(t)?this.tabs.setExternalInsertionIndex(null):this.tabs.clearExternalAnimState())}),Z(this.voidContainer.element,`pointerdown`,e=>{if(!e.defaultPrevented&&!this.accessor.options.disableFloatingGroups&&e.shiftKey&&this.group.api.location.type!==`floating`&&this.group.api.location.type!==`edge`){e.preventDefault();let{top:t,left:n}=this.element.getBoundingClientRect(),{top:r,left:i}=this.accessor.element.getBoundingClientRect();this.accessor.addFloatingGroup(this.group,{x:n-i+20,y:t-r+20,inDragMode:!0})}}))}show(){this.hidden||(this.element.style.display=``)}hide(){this._element.style.display=`none`}setRightActionsElement(e){this.rightActions!==e&&(this.rightActions&&=(this.rightActions.remove(),void 0),e&&(this.rightActionsContainer.appendChild(e),this.rightActions=e))}setLeftActionsElement(e){this.leftActions!==e&&(this.leftActions&&=(this.leftActions.remove(),void 0),e&&(this.leftActionsContainer.appendChild(e),this.leftActions=e))}setPrefixActionsElement(e){this.preActions!==e&&(this.preActions&&=(this.preActions.remove(),void 0),e&&(this.preActionsContainer.appendChild(e),this.preActions=e))}isActive(e){return this.tabs.isActive(e)}indexOf(e){return this.tabs.indexOf(e)}setActive(e){}delete(e){this.tabs.delete(e),this.updateClassnames()}setActivePanel(e){this.tabs.setActivePanel(e)}openPanel(e,t=this.tabs.size){this.tabs.openPanel(e,t),this.updateClassnames()}closePanel(e){this.delete(e.id)}updateClassnames(){Q(this._element,`dv-single-tab`,this.size===1)}toggleDropdown(e){let t=e.reset?[]:e.tabs,n=e.reset?[]:e.tabGroups;this._overflowTabs=t,this._overflowTabGroups=n;let r=this._overflowTabs.length;if(r>0&&this.dropdownPart){this.dropdownPart.update({tabs:r});return}if(r===0){this._dropdownDisposable.dispose();return}let i=document.createElement(`div`);i.className=`dv-tabs-overflow-dropdown-root`;let a=Dy();a.update({tabs:r}),this.dropdownPart=a,i.appendChild(a.element),this.rightActionsContainer.prepend(i),this._dropdownDisposable.value=new Jg(qg.from(()=>{var e,t;i.remove(),(t=(e=this.dropdownPart)?.dispose)==null||t.call(e),this.dropdownPart=null}),Z(i,`pointerdown`,e=>{e.preventDefault()},{capture:!0}),Z(i,`click`,e=>{let t=document.createElement(`div`);t.style.overflow=`auto`,t.className=`dv-tabs-overflow-container`;let n=new Set(this._overflowTabGroups),r=this.group.model.getTabGroups(),a=new Map;for(let e of r)if(n.has(e.id))for(let t of e.panelIds)a.set(t,e);let o=new Set;for(let e of this.tabs.tabs.filter(e=>this._overflowTabs.includes(e.panel.id))){let n=a.get(e.panel.id);if(n&&!o.has(n.id)){o.add(n.id);let e=document.createElement(`div`);e.className=`dv-tabs-overflow-group-header`;let r=document.createElement(`span`);r.className=`dv-tabs-overflow-group-color`,my(r,n.color,this.accessor.tabGroupColorPalette),e.appendChild(r);let i=document.createElement(`span`);if(i.className=`dv-tabs-overflow-group-label`,i.textContent=n.label||n.id,e.appendChild(i),n.collapsed){let t=document.createElement(`span`);t.className=`dv-tabs-overflow-group-collapsed-badge`,t.textContent=`${n.panelIds.length}`,e.appendChild(t)}e.addEventListener(`click`,()=>{this.accessor.getPopupServiceForGroup(this.group).close(),n.collapsed&&n.expand();let e=n.panelIds[0];e&&this.group.panels.find(t=>t.id===e)?.api.setActive()}),t.appendChild(e)}let r=this.group.panels.find(t=>t===e.panel),i=r.view.createTabRenderer(`headerOverflow`).element,s=document.createElement(`div`);Q(s,`dv-tab`,!0),Q(s,`dv-active-tab`,r.api.isActive),Q(s,`dv-inactive-tab`,!r.api.isActive),n&&Q(s,`dv-tab--grouped`,!0),s.addEventListener(`click`,t=>{this.accessor.getPopupServiceForGroup(this.group).close(),!t.defaultPrevented&&(n?.collapsed&&n.expand(),e.element.scrollIntoView(),e.panel.api.setActive())}),s.appendChild(i),t.appendChild(s)}let s=E_(i);this.accessor.getPopupServiceForGroup(this.group).openPopover(t,{x:e.clientX,y:e.clientY,zIndex:s?.style.zIndex?`calc(${s.style.zIndex} * 2)`:void 0})}))}updateDragAndDropState(){this.tabs.updateDragAndDropState(),this.voidContainer.updateDragAndDropState()}updateTabGroups(){this.tabs.updateTabGroups()}refreshTabGroupAccent(){this.tabs.refreshTabGroupAccent()}},ky=class extends Qg{constructor(e,t,n,r,i){super(),this.nativeEvent=e,this.target=t,this.position=n,this.getData=r,this.group=i}},Ay=Object.keys({disableAutoResizing:void 0,hideBorders:void 0,singleTabMode:void 0,disableFloatingGroups:void 0,floatingGroupBounds:void 0,popoutUrl:void 0,nonce:void 0,defaultRenderer:void 0,defaultHeaderPosition:void 0,debug:void 0,rootOverlayModel:void 0,locked:void 0,disableDnd:void 0,dndStrategy:void 0,className:void 0,noPanelsOverlay:void 0,dndEdges:void 0,theme:void 0,disableTabsOverflowList:void 0,scrollbars:void 0,getTabContextMenuItems:void 0,getTabGroupChipContextMenuItems:void 0,createTabGroupChipComponent:void 0,createGroupDragGhostComponent:void 0,tabGroupColors:void 0,tabGroupAccent:void 0});function jy(e){return!!e.referencePanel}function My(e){return!!e.referenceGroup}function Ny(e){return!!e.referencePanel}function Py(e){return!!e.referenceGroup}var Fy=class extends Jg{get label(){return this._label}get color(){return this._color}get componentParams(){return this._componentParams}setLabel(e){this.isDisposed||this._label===e||(this._label=e,this._onDidChange.fire())}setColor(e){if(this.isDisposed)return;let t=e===``?void 0:e;this._color!==t&&(this._color=t,this._onDidChange.fire())}setComponentParams(e){this.isDisposed||(this._componentParams=e,this._onDidChange.fire())}get collapsed(){return this._collapsed}get panelIds(){return this._panelIds}get size(){return this._panelIds.length}get isEmpty(){return this._panelIds.length===0}constructor(e,t){super(),this.id=e,this._collapsed=!1,this._panelIds=[],this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._onDidPanelChange=new X,this.onDidPanelChange=this._onDidPanelChange.event,this._onDidCollapseChange=new X,this.onDidCollapseChange=this._onDidCollapseChange.event,this._onDidDestroy=new X,this.onDidDestroy=this._onDidDestroy.event,this._label=t?.label??``,this._color=t?.color===``?void 0:t?.color,this._collapsed=t?.collapsed??!1,this._componentParams=t?.componentParams,this.addDisposables(this._onDidChange,this._onDidPanelChange,this._onDidCollapseChange,this._onDidDestroy)}addPanel(e,t){if(this.isDisposed||this._panelIds.includes(e))return;let n=t===void 0?this._panelIds.length:Math.max(0,Math.min(t,this._panelIds.length));this._panelIds.splice(n,0,e),this._onDidPanelChange.fire({panelId:e,type:`add`})}removePanel(e){if(this.isDisposed)return!1;let t=this._panelIds.indexOf(e);return t===-1?!1:(this._panelIds.splice(t,1),this._onDidPanelChange.fire({panelId:e,type:`remove`}),!0)}indexOfPanel(e){return this._panelIds.indexOf(e)}containsPanel(e){return this._panelIds.includes(e)}collapse(){this.isDisposed||this._collapsed||(this._collapsed=!0,this._onDidCollapseChange.fire(!0))}expand(){this.isDisposed||!this._collapsed||(this._collapsed=!1,this._onDidCollapseChange.fire(!1))}toggle(){this._collapsed?this.expand():this.collapse()}toJSON(){let e={id:this.id,collapsed:this._collapsed,panelIds:[...this._panelIds]};return this._label&&(e.label=this._label),this._color!==void 0&&(e.color=this._color),this._componentParams!==void 0&&(e.componentParams=this._componentParams),e}dispose(){this._onDidDestroy.fire(),super.dispose()}},Iy=class extends Zg{get nativeEvent(){return this.options.nativeEvent}get position(){return this.options.position}get panel(){return this.options.panel}get group(){return this.options.group}get api(){return this.options.api}constructor(e){super(),this.options=e}getData(){return this.options.getData()}},Ly=class extends Iy{get kind(){return this._kind}constructor(e){super(e),this._kind=e.kind}},Ry=class extends Jg{get tabGroups(){return this._tabGroups}get element(){throw Error(`dockview: not supported`)}get activePanel(){return this._activePanel}get locked(){return this._locked}set locked(e){this._locked=e,Q(this.container,`dv-locked-groupview`,e===`no-drop-target`||e)}get isActive(){return this._isGroupActive}get panels(){return this._panels}get size(){return this._panels.length}get isEmpty(){return this._panels.length===0}get hasWatermark(){return!!(this.watermark&&this.container.contains(this.watermark.element))}get header(){return this.tabsContainer}get isContentFocused(){return document.activeElement?s_(document.activeElement,this.contentContainer.element):!1}get headerPosition(){return this._headerPosition??`top`}set headerPosition(e){this._headerPosition=e,a_(this.container,`dv-groupview-header-top`,`dv-groupview-header-bottom`,`dv-groupview-header-left`,`dv-groupview-header-right`),o_(this.container,`dv-groupview-header-${e}`);let t=e===`top`||e===`bottom`?`horizontal`:`vertical`;this.tabsContainer.direction=t,this.header.direction=t,this._activePanel?.layout&&this._activePanel.layout(this._width,this._height),(this._leftHeaderActions||this._rightHeaderActions||this._prefixHeaderActions)&&this.updateHeaderActions()}get location(){return this._location}set location(e){this._location=e,Q(this.container,`dv-groupview-floating`,!1),Q(this.container,`dv-groupview-popout`,!1),Q(this.container,`dv-groupview-edge`,!1);let t=e=>{this.contentContainer.dropTarget.setTargetZones(e),this.contentContainer.pointerDropTarget.setTargetZones(e)};switch(e.type){case`grid`:t([`top`,`bottom`,`left`,`right`,`center`]);break;case`floating`:t([`center`]),t(e?[`center`]:[`top`,`bottom`,`left`,`right`,`center`]),Q(this.container,`dv-groupview-floating`,!0);break;case`popout`:t([`center`]),Q(this.container,`dv-groupview-popout`,!0);break;case`edge`:t([`center`]),Q(this.container,`dv-groupview-edge`,!0);break}this.groupPanel.api._onDidLocationChange.fire({location:this.location})}constructor(e,t,n,r,i){super(),this.container=e,this.accessor=t,this.id=n,this.options=r,this.groupPanel=i,this._isGroupActive=!1,this._locked=!1,this._rightHeaderActionsDisposable=new Yg,this._leftHeaderActionsDisposable=new Yg,this._prefixHeaderActionsDisposable=new Yg,this._location={type:`grid`},this.mostRecentlyUsed=[],this._overwriteRenderContainer=null,this._overwriteDropTargetContainer=null,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._width=0,this._height=0,this._panels=[],this._panelDisposables=new Map,this._tabGroupDisposables=new Map,this._pendingMicrotaskDisposables=new Set,this._onMove=new X,this.onMove=this._onMove.event,this._onDidDrop=new X,this.onDidDrop=this._onDidDrop.event,this._onWillDrop=new X,this.onWillDrop=this._onWillDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._onTabDragStart=new X,this.onTabDragStart=this._onTabDragStart.event,this._onGroupDragStart=new X,this.onGroupDragStart=this._onGroupDragStart.event,this._onDidAddPanel=new X,this.onDidAddPanel=this._onDidAddPanel.event,this._onDidPanelTitleChange=new X,this.onDidPanelTitleChange=this._onDidPanelTitleChange.event,this._onDidPanelParametersChange=new X,this.onDidPanelParametersChange=this._onDidPanelParametersChange.event,this._onDidRemovePanel=new X,this.onDidRemovePanel=this._onDidRemovePanel.event,this._onDidActivePanelChange=new X,this.onDidActivePanelChange=this._onDidActivePanelChange.event,this._onUnhandledDragOverEvent=new X,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this._tabGroups=[],this._tabGroupMap=new Map,this._panelToTabGroup=new Map,this._tabGroupIdCounter=0,this._pendingTabGroupUpdate=!1,this._onDidCreateTabGroup=new X,this.onDidCreateTabGroup=this._onDidCreateTabGroup.event,this._onDidDestroyTabGroup=new X,this.onDidDestroyTabGroup=this._onDidDestroyTabGroup.event,this._onDidAddPanelToTabGroup=new X,this.onDidAddPanelToTabGroup=this._onDidAddPanelToTabGroup.event,this._onDidRemovePanelFromTabGroup=new X,this.onDidRemovePanelFromTabGroup=this._onDidRemovePanelFromTabGroup.event,this._onDidTabGroupChange=new X,this.onDidTabGroupChange=this._onDidTabGroupChange.event,this._onDidTabGroupCollapsedChange=new X,this.onDidTabGroupCollapsedChange=this._onDidTabGroupCollapsedChange.event,Q(this.container,`dv-groupview`,!0),this._api=new fv(this.accessor),this.tabsContainer=new Oy(this.accessor,this.groupPanel),this.contentContainer=new $v(this.accessor,this),e.append(this.tabsContainer.element,this.contentContainer.element),this.header.hidden=!!r.hideHeader,this.locked=r.locked??!1,this.headerPosition=r.headerPosition??t.defaultHeaderPosition,this.addDisposables(this._onTabDragStart,this._onGroupDragStart,this._onWillShowOverlay,this._rightHeaderActionsDisposable,this._leftHeaderActionsDisposable,this._prefixHeaderActionsDisposable,this.tabsContainer.onTabDragStart(e=>{this._onTabDragStart.fire(e)}),this.tabsContainer.onGroupDragStart(e=>{this._onGroupDragStart.fire(e)}),this.tabsContainer.onDrop(e=>{let t=Gg()?.panelId??null;if(this.handleDropEvent(`header`,e.event,`center`,e.index),t&&e.targetTabGroupId){let n=this._tabGroupMap.get(e.targetTabGroupId),r;if(n){let e=this._panels.findIndex(e=>e.id===t);if(e!==-1){r=0;for(let t of n.panelIds)this._panels.findIndex(e=>e.id===t)<e&&r++}}this.addPanelToTabGroup(e.targetTabGroupId,t,r)}else t&&e.targetTabGroupId===null&&this.removePanelFromTabGroup(t)}),this.contentContainer.onDidFocus(()=>{this.accessor.doSetGroupActive(this.groupPanel)}),this.contentContainer.onDidBlur(()=>{}),this.contentContainer.dropTarget.onDrop(e=>{this.handleDropEvent(`content`,e.nativeEvent,e.position)}),this.contentContainer.pointerDropTarget.onDrop(e=>{this.handleDropEvent(`content`,e.nativeEvent,e.position)}),this.tabsContainer.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(e)}),this.contentContainer.dropTarget.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(new oy(e,{kind:`content`,panel:this.activePanel,api:this._api,group:this.groupPanel,getData:Gg}))}),this.contentContainer.pointerDropTarget.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(new oy(e,{kind:`content`,panel:this.activePanel,api:this._api,group:this.groupPanel,getData:Gg}))}),this._onMove,this._onDidChange,this._onDidDrop,this._onWillDrop,this._onDidAddPanel,this._onDidRemovePanel,this._onDidActivePanelChange,this._onUnhandledDragOverEvent,this._onDidPanelTitleChange,this._onDidPanelParametersChange,this._onDidCreateTabGroup,this._onDidDestroyTabGroup,this._onDidAddPanelToTabGroup,this._onDidRemovePanelFromTabGroup,this._onDidTabGroupChange,this._onDidTabGroupCollapsedChange,this._onDidCreateTabGroup.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidDestroyTabGroup.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidAddPanelToTabGroup.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidRemovePanelFromTabGroup.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidTabGroupChange.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidTabGroupCollapsedChange.event(()=>{this._scheduleTabGroupUpdate()}))}_scheduleTabGroupUpdate(){this._pendingTabGroupUpdate||(this._pendingTabGroupUpdate=!0,queueMicrotask(()=>{this._pendingTabGroupUpdate=!1,this.isDisposed||this.tabsContainer.updateTabGroups()}))}createTabGroup(e){let t=e?.id??`tg-${this.id}-${this._tabGroupIdCounter++}`,n=new Fy(t,{label:e?.label,color:e?.color,collapsed:e?.collapsed,componentParams:e?.componentParams});return this._tabGroups.push(n),this._tabGroupMap.set(t,n),this._tabGroupDisposables.set(t,new Jg(n.onDidChange(()=>{this._onDidTabGroupChange.fire({tabGroup:n})}),n.onDidCollapseChange(e=>{e?this._handleGroupCollapse(n):this._handleGroupExpand(n),this._onDidTabGroupCollapsedChange.fire({tabGroup:n})}),n.onDidDestroy(()=>{this._removeTabGroupInternal(n)}))),this._onDidCreateTabGroup.fire({tabGroup:n}),n}dissolveTabGroup(e){let t=this._tabGroupMap.get(e);if(!t)return;let n=[...t.panelIds];for(let e of n)t.removePanel(e),this._panelToTabGroup.delete(e),this._onDidRemovePanelFromTabGroup.fire({tabGroup:t,panelId:e});t.dispose()}addPanelToTabGroup(e,t,n){let r=this._tabGroupMap.get(e);if(!r||!this._panels.some(e=>e.id===t))return;let i=this.getTabGroupForPanel(t);if(i){if(i.id===e)return;this.removePanelFromTabGroup(t)}r.addPanel(t,n),this._panelToTabGroup.set(t,r),this._enforceContiguity(r,t),this._onDidAddPanelToTabGroup.fire({tabGroup:r,panelId:t})}movePanelWithinGroup(e,t,n){let r=this._tabGroupMap.get(e);!r||!r.containsPanel(t)||(r.removePanel(t),r.addPanel(t,n),this._enforceContiguity(r,t),this.tabsContainer.updateTabGroups())}movePanelBetweenGroups(e,t,n){let r=this._findTabGroupForPanel(e),i=this._tabGroupMap.get(t);i&&(r&&(r.removePanel(e),this._panelToTabGroup.delete(e),this._onDidRemovePanelFromTabGroup.fire({tabGroup:r,panelId:e}),r.isEmpty&&r.dispose()),i.addPanel(e,n),this._panelToTabGroup.set(e,i),this._enforceContiguity(i,e),this._onDidAddPanelToTabGroup.fire({tabGroup:i,panelId:e}))}moveTabGroup(e,t){let n=this._tabGroupMap.get(e);if(!n||n.panelIds.length===0)return;let r=new Set(n.panelIds),i=n.panelIds.map(e=>this._panels.find(t=>t.id===e)).filter(e=>e!==void 0);if(i.length===0)return;let a=0;for(let e=0;e<Math.min(t,this._panels.length);e++)r.has(this._panels[e].id)&&a++;for(let e of i){let t=this._panels.indexOf(e);t!==-1&&this._panels.splice(t,1)}let o=t-a,s=Math.max(0,Math.min(o,this._panels.length));this._panels.splice(s,0,...i);for(let e of this._panels)this.tabsContainer.delete(e.id);for(let e=0;e<this._panels.length;e++)this.tabsContainer.openPanel(this._panels[e],e);this.tabsContainer.updateTabGroups()}_enforceContiguity(e,t){let n=this._panels.find(e=>e.id===t);if(!n)return;let r=e.indexOfPanel(t),i=this._computeGlobalIndex(e,r),a=this._panels.indexOf(n);if(a===i)return;this._panels.splice(a,1);let o=i>a?i-1:i;this._panels.splice(o,0,n),this.tabsContainer.delete(t),this.tabsContainer.openPanel(n,o)}_computeGlobalIndex(e,t){let n=e.panelIds;if(n.length<=1){let e=this._panels.find(e=>e.id===n[0]);return e?this._panels.indexOf(e):this._panels.length}for(let e=0;e<n.length;e++){if(e===t)continue;let r=this._panels.find(t=>t.id===n[e]);if(r){let n=this._panels.indexOf(r);return Math.max(0,n+(t-e))}}return this._panels.length}removePanelFromTabGroup(e){let t=this._findTabGroupForPanel(e);t&&(t.removePanel(e),this._panelToTabGroup.delete(e),this._onDidRemovePanelFromTabGroup.fire({tabGroup:t,panelId:e}),t.isEmpty&&t.dispose())}getTabGroups(){return this._tabGroups}updateTabGroups(){this.tabsContainer.updateTabGroups()}refreshTabGroupAccent(){this.tabsContainer.refreshTabGroupAccent()}refreshWatermark(){var e,t;this.watermark&&=(this.watermark.element.remove(),(t=(e=this.watermark).dispose)==null||t.call(e),void 0),this.updateContainer()}getTabGroupForPanel(e){return this._findTabGroupForPanel(e)}_findTabGroupForPanel(e){return this._panelToTabGroup.get(e)}_removeTabGroupInternal(e){let t=this._tabGroups.indexOf(e);if(t!==-1){this._tabGroups.splice(t,1),this._tabGroupMap.delete(e.id);for(let t of e.panelIds)this._panelToTabGroup.delete(t);this._onDidDestroyTabGroup.fire({tabGroup:e});let n=this._tabGroupDisposables.get(e.id);this._tabGroupDisposables.delete(e.id),n&&(this._pendingMicrotaskDisposables.add(n),queueMicrotask(()=>{this._pendingMicrotaskDisposables.delete(n),n.dispose()}))}}_handleGroupCollapse(e){if(!this._activePanel||!e.containsPanel(this._activePanel.id))return;let t=this._panels.indexOf(this._activePanel);for(let e=t+1;e<this._panels.length;e++){let t=this._panels[e],n=this._findTabGroupForPanel(t.id);if(!n||!n.collapsed){this.doSetActivePanel(t),this.updateContainer();return}}for(let e=t-1;e>=0;e--){let t=this._panels[e],n=this._findTabGroupForPanel(t.id);if(!n||!n.collapsed){this.doSetActivePanel(t),this.updateContainer();return}}this.contentContainer.closePanel(),this.doSetActivePanel(void 0),this.updateContainer()}_handleGroupExpand(e){if(this._activePanel)return;let t=e.panelIds[0];if(t){let e=this._panels.find(e=>e.id===t);e&&(this.doSetActivePanel(e),this.updateContainer())}}restoreTabGroups(e){for(let t of e){let e=t.id.match(/-(\d+)$/);if(e){let t=parseInt(e[1],10)+1;t>this._tabGroupIdCounter&&(this._tabGroupIdCounter=t)}}for(let t of e){let e=this.createTabGroup({id:t.id,label:t.label,color:t.color,componentParams:t.componentParams}),n=this._tabGroupMap.get(e.id);for(let r of t.panelIds)this._panels.some(e=>e.id===r)&&(e.addPanel(r),this._panelToTabGroup.set(r,n),this._enforceContiguity(n,r));t.collapsed&&e.collapse(),e.isEmpty&&e.dispose()}}focusContent(){this.contentContainer.element.focus()}set renderContainer(e){this.panels.forEach(e=>{this.renderContainer.detatch(e)}),this._overwriteRenderContainer=e,this.panels.forEach(e=>{this.rerender(e)})}get renderContainer(){return this._overwriteRenderContainer??this.accessor.overlayRenderContainer}set dropTargetContainer(e){this._overwriteDropTargetContainer=e}get dropTargetContainer(){return this._overwriteDropTargetContainer??this.accessor.rootDropTargetContainer}initialize(){this.options.panels&&this.options.panels.forEach(e=>{this.doAddPanel(e)}),this.options.activePanel&&this.openPanel(this.options.activePanel),this.setActive(this.isActive,!0),this.updateContainer(),this.updateHeaderActions()}updateHeaderActions(){this.accessor.options.createRightHeaderActionComponent?(this._rightHeaderActions=this.accessor.options.createRightHeaderActionComponent(this.groupPanel),this._rightHeaderActionsDisposable.value=this._rightHeaderActions,this._rightHeaderActions.init({containerApi:this._api,api:this.groupPanel.api,group:this.groupPanel}),this.tabsContainer.setRightActionsElement(this._rightHeaderActions.element)):(this._rightHeaderActions=void 0,this._rightHeaderActionsDisposable.dispose(),this.tabsContainer.setRightActionsElement(void 0)),this.accessor.options.createLeftHeaderActionComponent?(this._leftHeaderActions=this.accessor.options.createLeftHeaderActionComponent(this.groupPanel),this._leftHeaderActionsDisposable.value=this._leftHeaderActions,this._leftHeaderActions.init({containerApi:this._api,api:this.groupPanel.api,group:this.groupPanel}),this.tabsContainer.setLeftActionsElement(this._leftHeaderActions.element)):(this._leftHeaderActions=void 0,this._leftHeaderActionsDisposable.dispose(),this.tabsContainer.setLeftActionsElement(void 0)),this.accessor.options.createPrefixHeaderActionComponent?(this._prefixHeaderActions=this.accessor.options.createPrefixHeaderActionComponent(this.groupPanel),this._prefixHeaderActionsDisposable.value=this._prefixHeaderActions,this._prefixHeaderActions.init({containerApi:this._api,api:this.groupPanel.api,group:this.groupPanel}),this.tabsContainer.setPrefixActionsElement(this._prefixHeaderActions.element)):(this._prefixHeaderActions=void 0,this._prefixHeaderActionsDisposable.dispose(),this.tabsContainer.setPrefixActionsElement(void 0))}rerender(e){this.contentContainer.renderPanel(e,{asActive:!1})}indexOf(e){return this.tabsContainer.indexOf(e.id)}toJSON(){let e={views:this.tabsContainer.panels,activeView:this._activePanel?.id,id:this.id};return this.locked!==!1&&(e.locked=this.locked),this.header.hidden&&(e.hideHeader=!0),this.headerPosition!==`top`&&(e.headerPosition=this.headerPosition),this._tabGroups.length>0&&(e.tabGroups=this._tabGroups.map(e=>e.toJSON())),e}moveToNext(e){e||={},e.panel||=this.activePanel;let t=e.panel?this.panels.indexOf(e.panel):-1,n;if(t<this.panels.length-1)n=t+1;else if(!e.suppressRoll)n=0;else return;this.openPanel(this.panels[n])}moveToPrevious(e){if(e||={},e.panel||=this.activePanel,!e.panel)return;let t=this.panels.indexOf(e.panel),n;if(t>0)n=t-1;else if(!e.suppressRoll)n=this.panels.length-1;else return;this.openPanel(this.panels[n])}containsPanel(e){return this.panels.includes(e)}init(e){}update(e){}focus(){var e;(e=this._activePanel)==null||e.focus()}openPanel(e,t={}){(typeof t.index!=`number`||t.index>this.panels.length)&&(t.index=this.panels.length);let n=!!t.skipSetActive;if(e.updateParentGroup(this.groupPanel,{skipSetActive:t.skipSetActive}),this.doAddPanel(e,t.index,{skipSetActive:n}),this._activePanel===e){this.contentContainer.renderPanel(e,{asActive:!0});return}n||this.doSetActivePanel(e),t.skipSetGroupActive||this.accessor.doSetGroupActive(this.groupPanel),t.skipSetActive||this.updateContainer()}removePanel(e,t={skipSetActive:!1}){let n=typeof e==`string`?e:e.id,r=this._panels.find(e=>e.id===n);if(!r)throw Error(`invalid operation`);return this._removePanel(r,t)}closeAllPanels(){if(this.panels.length>0){let e=[...this.panels];for(let t of e)this.doClose(t)}else this.accessor.removeGroup(this.groupPanel)}closePanel(e){this.doClose(e)}doClose(e){let t=this.panels.length===1&&this.accessor.groups.length===1;this.accessor.removePanel(e,t&&this.accessor.options.noPanelsOverlay===`emptyGroup`?{removeEmptyGroup:!1}:void 0)}isPanelActive(e){return this._activePanel===e}updateActions(e){this.tabsContainer.setRightActionsElement(e)}setActive(e,t=!1){if(!(!t&&this.isActive===e)){if(this._isGroupActive=e,Q(this.container,`dv-active-group`,e),Q(this.container,`dv-inactive-group`,!e),this.tabsContainer.setActive(this.isActive),!this._activePanel&&this.panels.length>0){let e=this._panels.find(e=>{let t=this._findTabGroupForPanel(e.id);return!t||!t.collapsed});e&&this.doSetActivePanel(e)}this.updateContainer()}}layout(e,t){this._width=e,this._height=t,this.contentContainer.layout(this._width,this._height),this._activePanel?.layout&&this._activePanel.layout(this._width,this._height)}_removePanel(e,t){let n=this._activePanel===e;if(this.doRemovePanel(e),n&&this.panels.length>0){let e=this.mostRecentlyUsed[0];this.openPanel(e,{skipSetActive:t.skipSetActive,skipSetGroupActive:t.skipSetActiveGroup})}return this._activePanel&&this.panels.length===0&&this.doSetActivePanel(void 0),t.skipSetActive||this.updateContainer(),e}doRemovePanel(e){let t=this.panels.indexOf(e);if(this._activePanel===e&&this.contentContainer.closePanel(),this.tabsContainer.delete(e.id),this._panels.splice(t,1),this.mostRecentlyUsed.includes(e)){let t=this.mostRecentlyUsed.indexOf(e);this.mostRecentlyUsed.splice(t,1)}let n=this._panelDisposables.get(e.id);n&&(n.dispose(),this._panelDisposables.delete(e.id)),this.removePanelFromTabGroup(e.id),this._onDidRemovePanel.fire({panel:e})}doAddPanel(e,t=this.panels.length,n={skipSetActive:!1}){let r=this._panels.indexOf(e)>-1;this.tabsContainer.show(),this.contentContainer.show(),this.tabsContainer.openPanel(e,t),n.skipSetActive?e.api.renderer===`always`&&this.contentContainer.renderPanel(e,{asActive:!1}):this.contentContainer.openPanel(e),!r&&(this.updateMru(e),this.panels.splice(t,0,e),this._panelDisposables.set(e.id,new Jg(e.api.onDidTitleChange(e=>this._onDidPanelTitleChange.fire(e)),e.api.onDidParametersChange(e=>this._onDidPanelParametersChange.fire(e)))),this._onDidAddPanel.fire({panel:e}))}doSetActivePanel(e){this._activePanel!==e&&(this._activePanel=e,e&&(this.tabsContainer.setActivePanel(e),this.contentContainer.openPanel(e),e.layout(this._width,this._height),this.updateMru(e),this.contentContainer.refreshFocusState(),this._onDidActivePanelChange.fire({panel:e})))}updateMru(e){this.mostRecentlyUsed.includes(e)&&this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(e),1),this.mostRecentlyUsed=[e,...this.mostRecentlyUsed]}updateContainer(){var e,t;this.panels.forEach(e=>e.runEvents());let n=this.isEmpty||!this._activePanel;if(n&&!this.watermark){let e=this.accessor.createWatermarkComponent();e.init({containerApi:this._api,group:this.groupPanel}),this.watermark=e,Z(this.watermark.element,`pointerdown`,()=>{this.isActive||this.accessor.doSetGroupActive(this.groupPanel)}),this.contentContainer.element.appendChild(this.watermark.element)}!n&&this.watermark&&(this.watermark.element.remove(),(t=(e=this.watermark).dispose)==null||t.call(e),this.watermark=void 0)}canDisplayOverlay(e,t,n){let r=new ky(e,n,t,Gg,this.accessor.getPanel(this.id));return this._onUnhandledDragOverEvent.fire(r),r.isAccepted}handleDropEvent(e,t,n,r){if(this.locked===`no-drop-target`)return;function i(){switch(e){case`header`:return typeof r==`number`?`tab`:`header_space`;case`content`:return`content`}}let a=typeof r==`number`?this.panels[r]:void 0,o=new Ly({nativeEvent:t,position:n,panel:a,getData:()=>Gg(),kind:i(),group:this.groupPanel,api:this._api});if(this._onWillDrop.fire(o),o.defaultPrevented)return;let s=Gg();if(s&&s.viewId===this.accessor.id){if(e===`content`&&s.groupId===this.id&&(n===`center`||s.panelId===null&&!s.tabGroupId)||e===`header`&&s.groupId===this.id&&s.panelId===null&&!s.tabGroupId)return;if(s.panelId===null){let{groupId:e}=s;this._onMove.fire({target:n,groupId:e,index:r,tabGroupId:s.tabGroupId});return}if(this.tabsContainer.indexOf(s.panelId)!==-1&&this.tabsContainer.size===1)return;let{groupId:t,panelId:i}=s;if(this.id===t&&!n&&this.tabsContainer.indexOf(i)===r)return;this._onMove.fire({target:n,groupId:s.groupId,itemId:s.panelId,index:r})}else this._onDidDrop.fire(new Iy({nativeEvent:t,position:n,panel:a,getData:()=>Gg(),group:this.groupPanel,api:this._api}))}updateDragAndDropState(){this.tabsContainer.updateDragAndDropState()}dispose(){var e,t,n;super.dispose(),(e=this.watermark)==null||e.element.remove(),(n=(t=this.watermark)?.dispose)==null||n.call(t),this.watermark=void 0;for(let e of[...this._tabGroups])e.dispose();for(let e of this._tabGroupDisposables.values())e.dispose();this._tabGroupDisposables.clear();for(let e of this._pendingMicrotaskDisposables)e.dispose();this._pendingMicrotaskDisposables.clear();for(let e of this.panels)e.dispose();this.tabsContainer.dispose(),this.contentContainer.dispose()}},zy=class extends qv{constructor(e,t,n){super(e,t),this._onDidConstraintsChangeInternal=new X,this.onDidConstraintsChangeInternal=this._onDidConstraintsChangeInternal.event,this._onDidConstraintsChange=new X,this.onDidConstraintsChange=this._onDidConstraintsChange.event,this._onDidSizeChange=new X,this.onDidSizeChange=this._onDidSizeChange.event,this.addDisposables(this._onDidConstraintsChangeInternal,this._onDidConstraintsChange,this._onDidSizeChange),n&&this.initialize(n)}setConstraints(e){this._onDidConstraintsChangeInternal.fire(e)}setSize(e){this._onDidSizeChange.fire(e)}},By=class extends Xv{get priority(){return this._priority}get snap(){return this._snap}get minimumWidth(){return this.__minimumWidth()}get minimumHeight(){return this.__minimumHeight()}get maximumHeight(){return this.__maximumHeight()}get maximumWidth(){return this.__maximumWidth()}__minimumWidth(){let e=typeof this._minimumWidth==`function`?this._minimumWidth():this._minimumWidth;return e!==this._evaluatedMinimumWidth&&(this._evaluatedMinimumWidth=e,this.updateConstraints()),e}__maximumWidth(){let e=typeof this._maximumWidth==`function`?this._maximumWidth():this._maximumWidth;return e!==this._evaluatedMaximumWidth&&(this._evaluatedMaximumWidth=e,this.updateConstraints()),e}__minimumHeight(){let e=typeof this._minimumHeight==`function`?this._minimumHeight():this._minimumHeight;return e!==this._evaluatedMinimumHeight&&(this._evaluatedMinimumHeight=e,this.updateConstraints()),e}__maximumHeight(){let e=typeof this._maximumHeight==`function`?this._maximumHeight():this._maximumHeight;return e!==this._evaluatedMaximumHeight&&(this._evaluatedMaximumHeight=e,this.updateConstraints()),e}get isActive(){return this.api.isActive}get isVisible(){return this.api.isVisible}constructor(e,t,n,r){super(e,t,r??new zy(e,t)),this._evaluatedMinimumWidth=0,this._evaluatedMaximumWidth=2**53-1,this._evaluatedMinimumHeight=0,this._evaluatedMaximumHeight=2**53-1,this._minimumWidth=0,this._minimumHeight=0,this._maximumWidth=2**53-1,this._maximumHeight=2**53-1,this._snap=!1,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,typeof n?.minimumWidth==`number`&&(this._minimumWidth=n.minimumWidth),typeof n?.maximumWidth==`number`&&(this._maximumWidth=n.maximumWidth),typeof n?.minimumHeight==`number`&&(this._minimumHeight=n.minimumHeight),typeof n?.maximumHeight==`number`&&(this._maximumHeight=n.maximumHeight),this.api.initialize(this),this.addDisposables(this.api.onWillVisibilityChange(e=>{let{isVisible:t}=e,{accessor:n}=this._params;n.setVisible(this,t)}),this.api.onActiveChange(()=>{let{accessor:e}=this._params;e.doSetGroupActive(this)}),this.api.onDidConstraintsChangeInternal(e=>{(typeof e.minimumWidth==`number`||typeof e.minimumWidth==`function`)&&(this._minimumWidth=e.minimumWidth),(typeof e.minimumHeight==`number`||typeof e.minimumHeight==`function`)&&(this._minimumHeight=e.minimumHeight),(typeof e.maximumWidth==`number`||typeof e.maximumWidth==`function`)&&(this._maximumWidth=e.maximumWidth),(typeof e.maximumHeight==`number`||typeof e.maximumHeight==`function`)&&(this._maximumHeight=e.maximumHeight)}),this.api.onDidSizeChange(e=>{this._onDidChange.fire({height:e.height,width:e.width})}),this._onDidChange)}setVisible(e){this.api._onDidVisibilityChange.fire({isVisible:e})}setActive(e){this.api._onDidActiveChange.fire({isActive:e})}init(e){e.maximumHeight&&(this._maximumHeight=e.maximumHeight),e.minimumHeight&&(this._minimumHeight=e.minimumHeight),e.maximumWidth&&(this._maximumWidth=e.maximumWidth),e.minimumWidth&&(this._minimumWidth=e.minimumWidth),this._priority=e.priority,this._snap=!!e.snap,super.init(e),typeof e.isVisible==`boolean`&&this.setVisible(e.isVisible)}updateConstraints(){this.api._onDidConstraintsChange.fire({minimumWidth:this._evaluatedMinimumWidth,maximumWidth:this._evaluatedMaximumWidth,minimumHeight:this._evaluatedMinimumHeight,maximumHeight:this._evaluatedMaximumHeight})}toJSON(){let e=super.toJSON(),t=e=>e===2**53-1?void 0:e,n=e=>e<=0?void 0:e;return Object.assign(Object.assign({},e),{minimumHeight:n(this.minimumHeight),maximumHeight:t(this.maximumHeight),minimumWidth:n(this.minimumWidth),maximumWidth:t(this.maximumWidth),snap:this.snap,priority:this.priority})}},Vy=`dockview: DockviewGroupPanelApiImpl not initialized`,Hy=class extends zy{get location(){if(!this._group)throw Error(Vy);return this._group.model.location}get locked(){if(!this._group)throw Error(Vy);return this._group.locked}set locked(e){if(!this._group)throw Error(Vy);this._group.locked=e}constructor(e,t){super(e,`__dockviewgroup__`),this.accessor=t,this._onDidLocationChange=new X,this.onDidLocationChange=this._onDidLocationChange.event,this._onDidActivePanelChange=new X,this.onDidActivePanelChange=this._onDidActivePanelChange.event,this._onDidCollapsedChange=new X,this.onDidCollapsedChange=this._onDidCollapsedChange.event,this.addDisposables(this._onDidLocationChange,this._onDidActivePanelChange,this._onDidCollapsedChange,this._onDidVisibilityChange.event(e=>{e.isVisible&&this._pendingSize&&(super.setSize(this._pendingSize),this._pendingSize=void 0)}))}setSize(e){this._pendingSize=Object.assign({},e),super.setSize(e)}close(){if(this._group)return this.accessor.removeGroup(this._group)}getWindow(){return this.location.type===`popout`?this.location.getWindow():window}setHeaderPosition(e){if(!this._group)throw Error(Vy);this._group.model.headerPosition=e}getHeaderPosition(){if(!this._group)throw Error(Vy);return this._group.model.headerPosition}moveTo(e){if(!this._group)throw Error(Vy);let t=e.group??this.accessor.addGroup({direction:Tv(e.position??`right`),skipSetActive:e.skipSetActive??!1});this.accessor.moveGroupOrPanel({from:{groupId:this._group.id},to:{group:t,position:e.group?e.position??`center`:`center`,index:e.index},skipSetActive:e.skipSetActive})}maximize(){if(!this._group)throw Error(Vy);this.location.type===`grid`&&this.accessor.maximizeGroup(this._group)}isMaximized(){if(!this._group)throw Error(Vy);return this.accessor.isMaximizedGroup(this._group)}exitMaximized(){if(!this._group)throw Error(Vy);this.isMaximized()&&this.accessor.exitMaximizedGroup()}collapse(){this._group&&this.accessor.setEdgeGroupCollapsed(this._group,!0)}expand(){this._group&&this.accessor.setEdgeGroupCollapsed(this._group,!1)}isCollapsed(){return this._group?this.accessor.isEdgeGroupCollapsed(this._group):!1}initialize(e){this._group=e}},Uy=100,Wy=100,Gy=class extends By{get minimumWidth(){if(typeof this._explicitConstraints.minimumWidth==`number`)return this._explicitConstraints.minimumWidth;let e=this.activePanel?.minimumWidth;return typeof e==`number`?e:super.__minimumWidth()}get minimumHeight(){if(typeof this._explicitConstraints.minimumHeight==`number`)return this._explicitConstraints.minimumHeight;let e=this.activePanel?.minimumHeight;return typeof e==`number`?e:super.__minimumHeight()}get maximumWidth(){if(typeof this._explicitConstraints.maximumWidth==`number`)return this._explicitConstraints.maximumWidth;let e=this.activePanel?.maximumWidth;return typeof e==`number`?e:super.__maximumWidth()}get maximumHeight(){if(typeof this._explicitConstraints.maximumHeight==`number`)return this._explicitConstraints.maximumHeight;let e=this.activePanel?.maximumHeight;return typeof e==`number`?e:super.__maximumHeight()}get panels(){return this._model.panels}get activePanel(){return this._model.activePanel}get size(){return this._model.size}get model(){return this._model}get locked(){return this._model.locked}set locked(e){this._model.locked=e}get header(){return this._model.header}constructor(e,t,n){super(t,`groupview_default`,{minimumHeight:n.constraints?.minimumHeight??Wy,minimumWidth:n.constraints?.minimumWidth??Uy,maximumHeight:n.constraints?.maximumHeight,maximumWidth:n.constraints?.maximumWidth},new Hy(t,e)),this._explicitConstraints={},this.api.initialize(this),this._model=new Ry(this.element,e,t,n,this),this.addDisposables(this.model.onDidActivePanelChange(e=>{this.api._onDidActivePanelChange.fire(e)}),this.api.onDidConstraintsChangeInternal(e=>{e.minimumWidth!==void 0&&(this._explicitConstraints.minimumWidth=typeof e.minimumWidth==`function`?e.minimumWidth():e.minimumWidth),e.minimumHeight!==void 0&&(this._explicitConstraints.minimumHeight=typeof e.minimumHeight==`function`?e.minimumHeight():e.minimumHeight),e.maximumWidth!==void 0&&(this._explicitConstraints.maximumWidth=typeof e.maximumWidth==`function`?e.maximumWidth():e.maximumWidth),e.maximumHeight!==void 0&&(this._explicitConstraints.maximumHeight=typeof e.maximumHeight==`function`?e.maximumHeight():e.maximumHeight)}))}focus(){this.api.isActive||this.api.setActive(),super.focus()}initialize(){this._model.initialize()}setActive(e){super.setActive(e),this.model.setActive(e)}layout(e,t){super.layout(e,t),this.model.layout(e,t)}getComponent(){return this._model}toJSON(){return this.model.toJSON()}},Ky={name:`abyss`,className:`dockview-theme-abyss`,colorScheme:`dark`,tabGroupIndicator:`none`},qy=class extends zy{get location(){return this.group.api.location}get title(){return this.panel.title}get isGroupActive(){return this.group.isActive}get renderer(){return this.panel.renderer}set group(e){let t=this._group;this._group!==e&&(this._group=e,this._onDidGroupChange.fire({}),this.setupGroupEventListeners(t),this._onDidLocationChange.fire({location:this.group.api.location}))}get group(){return this._group}get tabComponent(){return this._tabComponent}constructor(e,t,n,r,i){super(e.id,r),this.panel=e,this.accessor=n,this._onDidTitleChange=new X,this.onDidTitleChange=this._onDidTitleChange.event,this._onDidActiveGroupChange=new X,this.onDidActiveGroupChange=this._onDidActiveGroupChange.event,this._onDidGroupChange=new X,this.onDidGroupChange=this._onDidGroupChange.event,this._onDidRendererChange=new X,this.onDidRendererChange=this._onDidRendererChange.event,this._onDidLocationChange=new X,this.onDidLocationChange=this._onDidLocationChange.event,this.groupEventsDisposable=new Yg,this._tabComponent=i,this.initialize(e),this._group=t,this.setupGroupEventListeners(),this.addDisposables(this.groupEventsDisposable,this._onDidRendererChange,this._onDidTitleChange,this._onDidGroupChange,this._onDidActiveGroupChange,this._onDidLocationChange)}getWindow(){return this.group.api.getWindow()}moveTo(e){this.accessor.moveGroupOrPanel({from:{groupId:this._group.id,panelId:this.panel.id},to:{group:e.group??this._group,position:e.group?e.position??`center`:`center`,index:e.index},skipSetActive:e.skipSetActive})}setTitle(e){this.panel.setTitle(e)}setRenderer(e){this.panel.setRenderer(e)}close(){this.group.model.closePanel(this.panel)}maximize(){this.group.api.maximize()}isMaximized(){return this.group.api.isMaximized()}exitMaximized(){this.group.api.exitMaximized()}setupGroupEventListeners(e){let t=e?.isActive??!1;this.groupEventsDisposable.value=new Jg(this.group.api.onDidVisibilityChange(e=>{let t=!e.isVisible&&this.isVisible,n=e.isVisible&&!this.isVisible,r=this.group.model.isPanelActive(this.panel);(t||n&&r)&&this._onDidVisibilityChange.fire(e)}),this.group.api.onDidLocationChange(e=>{this.group===this.panel.group&&this._onDidLocationChange.fire(e)}),this.group.api.onDidActiveChange(()=>{this.group===this.panel.group&&t!==this.isGroupActive&&(t=this.isGroupActive,this._onDidActiveGroupChange.fire({isActive:this.isGroupActive}))}))}},Jy=class extends Jg{get params(){return this._params}get title(){return this._title}get group(){return this._group}get renderer(){return this._renderer??this.accessor.renderer}get minimumWidth(){return this._minimumWidth}get minimumHeight(){return this._minimumHeight}get maximumWidth(){return this._maximumWidth}get maximumHeight(){return this._maximumHeight}constructor(e,t,n,r,i,a,o,s){super(),this.id=e,this.accessor=r,this.containerApi=i,this.view=o,this._renderer=s.renderer,this._group=a,this._minimumWidth=s.minimumWidth,this._minimumHeight=s.minimumHeight,this._maximumWidth=s.maximumWidth,this._maximumHeight=s.maximumHeight,this.api=new qy(this,this._group,r,t,n),this.addDisposables(this.api.onActiveChange(()=>{r.setActivePanel(this)}),this.api.onDidSizeChange(e=>{this.group.api.setSize(e)}),this.api.onDidRendererChange(()=>{this.group.model.rerender(this)}))}init(e){this._params=e.params,this.view.init(Object.assign(Object.assign({},e),{api:this.api,containerApi:this.containerApi})),this.setTitle(e.title)}focus(){let e=new Kv;this.api._onWillFocus.fire(e),!e.defaultPrevented&&(this.api.isActive||this.api.setActive())}toJSON(){return{id:this.id,contentComponent:this.view.contentComponent,tabComponent:this.view.tabComponent,params:Object.keys(this._params||{}).length>0?this._params:void 0,title:this.title,renderer:this._renderer,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,minimumWidth:this._minimumWidth,maximumWidth:this._maximumWidth}}setTitle(e){e!==this.title&&(this._title=e,this.view.setTitle(e),this.api._onDidTitleChange.fire({title:e}))}setRenderer(e){e!==this.renderer&&(this._renderer=e,this.api._onDidRendererChange.fire({renderer:e}))}update(e){this._params=Object.assign(Object.assign({},this._params??{}),e.params);for(let t of Object.keys(e.params))e.params[t]===void 0&&delete this._params[t];this.view.update({params:this._params})}updateFromStateModel(e){this._maximumHeight=e.maximumHeight,this._minimumHeight=e.minimumHeight,this._maximumWidth=e.maximumWidth,this._minimumWidth=e.minimumWidth,this.update({params:e.params??{}}),this.setTitle(e.title??this.id),this.setRenderer(e.renderer??this.accessor.renderer)}updateParentGroup(e,t){this._group=e,this.api.group=this._group;let n=this._group.model.isPanelActive(this),r=this.group.api.isActive&&n;t?.skipSetActive||this.api.isActive!==r&&this.api._onDidActiveChange.fire({isActive:this.group.api.isActive&&n}),this.api.isVisible!==n&&this.api._onDidVisibilityChange.fire({isVisible:n})}runEvents(){let e=this._group.model.isPanelActive(this),t=this.group.api.isActive&&e;this.api.isActive!==t&&this.api._onDidActiveChange.fire({isActive:this.group.api.isActive&&e}),this.api.isVisible!==e&&this.api._onDidVisibilityChange.fire({isVisible:e})}layout(e,t){this.api._onDidDimensionChange.fire({width:e,height:t}),this.view.layout(e,t)}dispose(){this.api.dispose(),this.view.dispose()}},Yy=class extends Jg{get element(){return this._element}constructor(){super(),this._element=document.createElement(`div`),this._element.className=`dv-default-tab`,this._content=document.createElement(`div`),this._content.className=`dv-default-tab-content`,this.action=document.createElement(`div`),this.action.className=`dv-default-tab-action`,this.action.appendChild(wy()),this._element.appendChild(this._content),this._element.appendChild(this.action),this.render()}init(e){this._title=e.title,this.addDisposables(e.api.onDidTitleChange(e=>{this._title=e.title,this.render()}),Z(this.action,`pointerdown`,e=>{e.preventDefault()}),Z(this.action,`click`,t=>{t.defaultPrevented||(t.preventDefault(),e.api.close())})),this.render()}render(){this._content.textContent!==this._title&&(this._content.textContent=this._title??``)}},Xy=class{get content(){return this._content}get tab(){return this._tab}constructor(e,t,n,r){this.accessor=e,this.id=t,this.contentComponent=n,this.tabComponent=r,this._content=this.createContentComponent(this.id,n),this._tab=this.createTabComponent(this.id,r)}createTabRenderer(e){var t;let n=this.createTabComponent(this.id,this.tabComponent);return this._params&&n.init(Object.assign(Object.assign({},this._params),{tabLocation:e})),this._updateEvent&&((t=n.update)==null||t.call(n,this._updateEvent)),n}init(e){this._params=e,this.content.init(e),this.tab.init(Object.assign(Object.assign({},e),{tabLocation:`header`}))}setTitle(e){this._params&&(this._params.title=e)}layout(e,t){var n,r;(r=(n=this.content).layout)==null||r.call(n,e,t)}update(e){var t,n,r,i;this._updateEvent=e,(n=(t=this.content).update)==null||n.call(t,e),(i=(r=this.tab).update)==null||i.call(r,e)}dispose(){var e,t,n,r;(t=(e=this.content).dispose)==null||t.call(e),(r=(n=this.tab).dispose)==null||r.call(n)}createContentComponent(e,t){return this.accessor.options.createComponent({id:e,name:t})}createTabComponent(e,t){let n=t??this.accessor.options.defaultTabComponent;if(n){if(this.accessor.options.createTabComponent)return this.accessor.options.createTabComponent({id:e,name:n})||new Yy;console.warn(`dockview: tabComponent '${t}' was not found. falling back to the default tab.`)}return new Yy}},Zy=class{constructor(e){this.accessor=e}fromJSON(e,t){let n=e.id,r=e.params,i=e.title,a=e.view,o=a?a.content.id:e.contentComponent??`unknown`,s=a?a.tab?.id:e.tabComponent,c=new Xy(this.accessor,n,o,s),l=new Jy(n,o,s,this.accessor,new fv(this.accessor),t,c,{renderer:e.renderer,minimumWidth:e.minimumWidth,minimumHeight:e.minimumHeight,maximumWidth:e.maximumWidth,maximumHeight:e.maximumHeight});return l.init({title:i??n,params:r??{}}),l}},Qy=class extends Jg{get element(){return this._element}constructor(){super(),this._element=document.createElement(`div`),this._element.className=`dv-watermark`}init(e){}},$y=new class{constructor(){this._orderedList=[]}push(e){this._orderedList=[...this._orderedList.filter(t=>t!==e),e],this.update()}destroy(e){this._orderedList=this._orderedList.filter(t=>t!==e),this.update()}update(){for(let e=0;e<this._orderedList.length;e++)this._orderedList[e].setAttribute(`aria-level`,`${e}`),this._orderedList[e].style.zIndex=`calc(var(--dv-overlay-z-index, 999) + ${e*2})`}},eb=class e extends Jg{set minimumInViewportWidth(e){this.options.minimumInViewportWidth=e}set minimumInViewportHeight(e){this.options.minimumInViewportHeight=e}get element(){return this._element}get isVisible(){return this._isVisible}constructor(e){super(),this.options=e,this._element=document.createElement(`div`),this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._onDidChangeEnd=new X,this.onDidChangeEnd=this._onDidChangeEnd.event,this._onDidStartMoving=new X,this.onDidStartMoving=this._onDidStartMoving.event,this._dragMove=new Yg,this._dragCancelled=!1,this.addDisposables(this._onDidChange,this._onDidChangeEnd,this._onDidStartMoving,this._dragMove),this._element.className=`dv-resize-container`,this._isVisible=!0,this.setupResize(`top`),this.setupResize(`bottom`),this.setupResize(`left`),this.setupResize(`right`),this.setupResize(`topleft`),this.setupResize(`topright`),this.setupResize(`bottomleft`),this.setupResize(`bottomright`),this._element.appendChild(this.options.content),this.options.container.appendChild(this._element),this.setBounds(Object.assign(Object.assign(Object.assign(Object.assign({height:this.options.height,width:this.options.width},`top`in this.options&&{top:this.options.top}),`bottom`in this.options&&{bottom:this.options.bottom}),`left`in this.options&&{left:this.options.left}),`right`in this.options&&{right:this.options.right})),$y.push(this._element)}setVisible(e){e!==this.isVisible&&(this._isVisible=e,Q(this.element,`dv-hidden`,!this.isVisible))}bringToFront(){$y.push(this._element)}setBounds(e={}){typeof e.height==`number`&&(this._element.style.height=`${e.height}px`),typeof e.width==`number`&&(this._element.style.width=`${e.width}px`),`top`in e&&typeof e.top==`number`&&(this._element.style.top=`${e.top}px`,this._element.style.bottom=`auto`,this.verticalAlignment=`top`),`bottom`in e&&typeof e.bottom==`number`&&(this._element.style.bottom=`${e.bottom}px`,this._element.style.top=`auto`,this.verticalAlignment=`bottom`),`left`in e&&typeof e.left==`number`&&(this._element.style.left=`${e.left}px`,this._element.style.right=`auto`,this.horiziontalAlignment=`left`),`right`in e&&typeof e.right==`number`&&(this._element.style.right=`${e.right}px`,this._element.style.left=`auto`,this.horiziontalAlignment=`right`);let t=this.options.container.getBoundingClientRect(),n=this._element.getBoundingClientRect(),r=Math.max(0,this.getMinimumWidth(n.width)),i=Math.max(0,this.getMinimumHeight(n.height));if(this.verticalAlignment===`top`){let e=N_(n.top-t.top,-i,Math.max(0,t.height-n.height+i));this._element.style.top=`${e}px`,this._element.style.bottom=`auto`}if(this.verticalAlignment===`bottom`){let e=N_(t.bottom-n.bottom,-i,Math.max(0,t.height-n.height+i));this._element.style.bottom=`${e}px`,this._element.style.top=`auto`}if(this.horiziontalAlignment===`left`){let e=N_(n.left-t.left,-r,Math.max(0,t.width-n.width+r));this._element.style.left=`${e}px`,this._element.style.right=`auto`}if(this.horiziontalAlignment===`right`){let e=N_(t.right-n.right,-r,Math.max(0,t.width-n.width+r));this._element.style.right=`${e}px`,this._element.style.left=`auto`}this._onDidChange.fire()}toJSON(){let e=this.options.container.getBoundingClientRect(),t=this._element.getBoundingClientRect(),n={};return this.verticalAlignment===`top`?n.top=parseFloat(this._element.style.top):this.verticalAlignment===`bottom`?n.bottom=parseFloat(this._element.style.bottom):n.top=t.top-e.top,this.horiziontalAlignment===`left`?n.left=parseFloat(this._element.style.left):this.horiziontalAlignment===`right`?n.right=parseFloat(this._element.style.right):n.left=t.left-e.left,n.width=t.width,n.height=t.height,n}cancelPendingDrag(){this._dragMove.value&&(this._dragCancelled=!0,Q(this._element,`dv-resize-container-dragging`,!1),this._dragMove.value=qg.NONE)}setupDrag(e,t={inDragMode:!1}){let n=(e,t)=>{let n=null,r=!1;this._dragCancelled=!1;let i=v_();if(e&&typeof t==`number`&&typeof e.setPointerCapture==`function`)try{e.setPointerCapture(t)}catch{}let a=()=>{Q(this._element,`dv-resize-container-dragging`,!1),this._dragMove.value=qg.NONE,this._onDidChangeEnd.fire()};this._dragMove.value=new Jg({dispose:()=>{if(i.release(),e&&typeof t==`number`&&typeof e.releasePointerCapture==`function`)try{e.releasePointerCapture(t)}catch{}}},Z(window,`pointermove`,e=>{if(this._dragCancelled)return;let t=this.options.container.getBoundingClientRect(),i=e.clientX-t.left,a=e.clientY-t.top;Q(this._element,`dv-resize-container-dragging`,!0);let o=this._element.getBoundingClientRect();n===null&&(n={x:e.clientX-o.left,y:e.clientY-o.top});let s=Math.max(0,this.getMinimumWidth(o.width)),c=Math.max(0,this.getMinimumHeight(o.height)),l=N_(a-n.y,-c,Math.max(0,t.height-o.height+c)),u=N_(n.y-a+t.height-o.height,-c,Math.max(0,t.height-o.height+c)),d=N_(i-n.x,-s,Math.max(0,t.width-o.width+s)),f=N_(n.x-i+t.width-o.width,-s,Math.max(0,t.width-o.width+s)),p={};l<=u?p.top=l:p.bottom=u,d<=f?p.left=d:p.right=f,this.setBounds(p),r||(r=!0,this._onDidStartMoving.fire())}),Z(window,`pointerup`,a),Z(window,`pointercancel`,a))};this.addDisposables(Z(e,`pointerdown`,t=>{if(t.defaultPrevented){t.preventDefault();return}f_(t)||n(e,t.pointerId)}),Z(this.options.content,`pointerdown`,e=>{e.defaultPrevented||f_(e)||e.shiftKey&&n(this.options.content,e.pointerId)}),Z(this.options.content,`pointerdown`,()=>{$y.push(this._element)},!0)),t.inDragMode&&n()}setupResize(t){let n=document.createElement(`div`);n.className=`dv-resize-handle-${t}`,this._element.appendChild(n);let r=new Yg;this.addDisposables(r,Z(n,`pointerdown`,i=>{i.preventDefault();let a=null,o=v_(),s=i.pointerId;if(typeof n.setPointerCapture==`function`)try{n.setPointerCapture(s)}catch{}let c=()=>{r.dispose(),this._onDidChangeEnd.fire()};r.value=new Jg(Z(window,`pointermove`,n=>{let r=this.options.container.getBoundingClientRect(),i=this._element.getBoundingClientRect(),o=n.clientY-r.top,s=n.clientX-r.left;a===null&&(a={originalY:o,originalHeight:i.height,originalX:s,originalWidth:i.width});let c,l,u,d,f,p,m=()=>{c=N_(o,0,a.originalY+a.originalHeight>r.height?Math.max(0,r.height-e.MINIMUM_HEIGHT):Math.max(0,a.originalY+a.originalHeight-e.MINIMUM_HEIGHT)),u=a.originalY+a.originalHeight-c,l=r.height-c-u},h=()=>{c=a.originalY-a.originalHeight;let t=c<0&&typeof this.options.minimumInViewportHeight==`number`?-c+this.options.minimumInViewportHeight:e.MINIMUM_HEIGHT,n=r.height-Math.max(0,c);u=N_(o-c,t,n),l=r.height-c-u},g=()=>{d=N_(s,0,a.originalX+a.originalWidth>r.width?Math.max(0,r.width-e.MINIMUM_WIDTH):Math.max(0,a.originalX+a.originalWidth-e.MINIMUM_WIDTH)),p=a.originalX+a.originalWidth-d,f=r.width-d-p},_=()=>{d=a.originalX-a.originalWidth;let t=d<0&&typeof this.options.minimumInViewportWidth==`number`?-d+this.options.minimumInViewportWidth:e.MINIMUM_WIDTH,n=r.width-Math.max(0,d);p=N_(s-d,t,n),f=r.width-d-p};switch(t){case`top`:m();break;case`bottom`:h();break;case`left`:g();break;case`right`:_();break;case`topleft`:m(),g();break;case`topright`:m(),_();break;case`bottomleft`:h(),g();break;case`bottomright`:h(),_();break}let v={};c<=l?v.top=c:v.bottom=l,d<=f?v.left=d:v.right=f,v.height=u,v.width=p,this.setBounds(v)}),{dispose:()=>{if(o.release(),typeof n.releasePointerCapture==`function`)try{n.releasePointerCapture(s)}catch{}}},Z(window,`pointerup`,c),Z(window,`pointercancel`,c))}))}getMinimumWidth(e){return typeof this.options.minimumInViewportWidth==`number`?e-this.options.minimumInViewportWidth:0}getMinimumHeight(e){return typeof this.options.minimumInViewportHeight==`number`?e-this.options.minimumInViewportHeight:0}dispose(){$y.destroy(this._element),this._element.remove(),super.dispose()}};eb.MINIMUM_HEIGHT=20,eb.MINIMUM_WIDTH=20;var tb=class extends Jg{constructor(e,t){super(),this.group=e,this.overlay=t,this.addDisposables(t)}position(e){this.overlay.setBounds(e)}},nb=100,rb={left:100,top:100,width:300,height:300},ib=100,ab=class{constructor(){this.cache=new Map,this.currentFrameId=0,this.rafId=null}getPosition(e){let t=this.cache.get(e);if(t&&t.frameId===this.currentFrameId)return t.rect;this.scheduleFrameUpdate();let n=m_(e);return this.cache.set(e,{rect:n,frameId:this.currentFrameId}),n}invalidate(){this.currentFrameId++}scheduleFrameUpdate(){this.rafId||=requestAnimationFrame(()=>{this.currentFrameId++,this.rafId=null})}};function ob(){let e=document.createElement(`div`);return e.tabIndex=-1,e}var sb=class extends Jg{constructor(e,t){super(),this.element=e,this.accessor=t,this.map={},this._disposed=!1,this.positionCache=new ab,this.pendingUpdates=new Set,this.addDisposables(qg.from(()=>{for(let e of Object.values(this.map))e.disposable.dispose(),e.destroy.dispose();this._disposed=!0}))}updateAllPositions(){if(!this._disposed){this.positionCache.invalidate();for(let e of Object.values(this.map))e.panel.api.isVisible&&e.resize&&e.resize()}}detatch(e){if(this.map[e.api.id]){let{disposable:t,destroy:n}=this.map[e.api.id];return t.dispose(),n.dispose(),delete this.map[e.api.id],!0}return!1}attach(e){let{panel:t,referenceContainer:n}=e;if(!this.map[t.api.id]){let e=ob();e.className=`dv-render-overlay`,e.style.visibility=`hidden`,this.map[t.api.id]={panel:t,disposable:qg.NONE,destroy:qg.NONE,element:e}}let r=this.map[t.api.id].element,i=t.view.content.element;i.parentElement!==r&&r.appendChild(i),r.parentElement!==this.element&&this.element.appendChild(r);let a=()=>{let e=t.api.id;this.pendingUpdates.has(e)||(this.pendingUpdates.add(e),requestAnimationFrame(()=>{if(this.pendingUpdates.delete(e),this.isDisposed||!this.map[e])return;let i=this.positionCache.getPosition(n.element),a=this.positionCache.getPosition(this.element),o=i.left-a.left,s=i.top-a.top,c=i.width,l=i.height;r.style.left=`${o}px`,r.style.top=`${s}px`,r.style.width=`${c}px`,r.style.height=`${l}px`,t.api.isVisible?(r.style.visibility=``,r.style.pointerEvents=``):(r.style.visibility=`hidden`,r.style.pointerEvents=`none`),Q(r,`dv-render-overlay-float`,t.group.api.location.type===`floating`)}))},o=()=>{t.api.isVisible?(this.positionCache.invalidate(),a(),r.style.pointerEvents=``):(r.style.visibility=`hidden`,r.style.pointerEvents=`none`)},s=new Yg,c=()=>{t.api.location.type===`floating`?queueMicrotask(()=>{let e=this.accessor.floatingGroups.find(e=>e.group===t.api.group);if(!e)return;let n=e.overlay.element,i=()=>{let e=Number(n.getAttribute(`aria-level`));r.style.zIndex=`calc(var(--dv-overlay-z-index, 999) + ${e*2+1})`},a=new MutationObserver(()=>{i()});s.value=qg.from(()=>a.disconnect()),a.observe(n,{attributeFilter:[`aria-level`],attributes:!0}),i()}):r.style.zIndex=``},l=new Jg(s,new pv(r,{onDragEnd:e=>{n.dropTarget.dnd.onDragEnd(e)},onDragEnter:e=>{n.dropTarget.dnd.onDragEnter(e)},onDragLeave:e=>{n.dropTarget.dnd.onDragLeave(e)},onDrop:e=>{n.dropTarget.dnd.onDrop(e)},onDragOver:e=>{n.dropTarget.dnd.onDragOver(e)}}),t.api.onDidVisibilityChange(()=>{o()}),t.api.onDidDimensionsChange(()=>{t.api.isVisible&&a()}),t.api.onDidLocationChange(()=>{c()}));return this.map[t.api.id].destroy=qg.from(()=>{var e;i.parentElement===r&&r.removeChild(i),(e=r.parentElement)==null||e.removeChild(r)}),c(),queueMicrotask(()=>{this.isDisposed||o()}),this.map[t.api.id].disposable.dispose(),this.map[t.api.id].disposable=l,this.map[t.api.id].resize=a,r}};function cb(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function lb(e){let t;try{t=new URL(e,window.location.href)}catch{throw Error(`dockview: invalid popout URL: ${e}`)}if(!(t.protocol===`http:`||t.protocol===`https:`)||t.origin!==window.location.origin)throw Error(`dockview: popout URL must be same-origin http(s); got: ${e}`)}var ub=class extends Jg{get window(){return this._window?.value??null}constructor(e,t,n){super(),this.target=e,this.className=t,this.options=n,this._onWillClose=new X,this.onWillClose=this._onWillClose.event,this._onDidClose=new X,this.onDidClose=this._onDidClose.event,this._window=null,this.addDisposables(this._onWillClose,this._onDidClose,{dispose:()=>{this.close()}})}dimensions(){if(!this._window)return null;let e=this._window.value.screenX;return{top:this._window.value.screenY,left:e,width:this._window.value.innerWidth,height:this._window.value.innerHeight}}close(){var e,t;this._window&&(this._onWillClose.fire(),(t=(e=this.options).onWillClose)==null||t.call(e,{id:this.target,window:this._window.value}),this._window.disposable.dispose(),this._window=null,this._onDidClose.fire())}open(){return cb(this,void 0,void 0,function*(){var e,t;if(this._window)throw Error(`instance of popout window is already open`);let n=`${this.options.url}`;lb(n);let r=Object.entries({top:this.options.top,left:this.options.left,width:this.options.width,height:this.options.height}).map(([e,t])=>`${e}=${t}`).join(`,`),i=window.open(n,this.target,r);if(!i)return null;let a=new Jg;this._window={value:i,disposable:a},a.addDisposables(qg.from(()=>{i.close()}),Z(window,`beforeunload`,()=>{this.close()}));let o=this.createPopoutWindowContainer();return this.className&&o.classList.add(this.className),(t=(e=this.options).onDidOpen)==null||t.call(e,{id:this.target,window:i}),new Promise((e,t)=>{i.addEventListener(`unload`,e=>{}),i.addEventListener(`load`,()=>{try{let t=i.document;t.title=document.title,t.body.appendChild(o),p_(t,window.document.styleSheets,{nonce:this.options.nonce}),Z(i,`beforeunload`,()=>{this.close()}),e(o)}catch(e){t(e)}})})})}createPopoutWindowContainer(){let e=document.createElement(`div`);return e.classList.add(`dv-popout-window`),e.id=`dv-popout-window`,e.style.position=`absolute`,e.style.width=`100%`,e.style.height=`100%`,e.style.top=`0px`,e.style.left=`0px`,e}},db=class extends Jg{constructor(e){super(),this.accessor=e,this.init()}init(){let e=new Set,t=new Set;this.addDisposables(this.accessor.onDidAddPanel(t=>{if(e.has(t.api.id))throw Error(`dockview: Invalid event sequence. [onDidAddPanel] called for panel ${t.api.id} but panel already exists`);e.add(t.api.id)}),this.accessor.onDidRemovePanel(t=>{if(e.has(t.api.id))e.delete(t.api.id);else throw Error(`dockview: Invalid event sequence. [onDidRemovePanel] called for panel ${t.api.id} but panel does not exists`)}),this.accessor.onDidAddGroup(e=>{if(t.has(e.api.id))throw Error(`dockview: Invalid event sequence. [onDidAddGroup] called for group ${e.api.id} but group already exists`);t.add(e.api.id)}),this.accessor.onDidRemoveGroup(e=>{if(t.has(e.api.id))t.delete(e.api.id);else throw Error(`dockview: Invalid event sequence. [onDidRemoveGroup] called for group ${e.api.id} but group does not exists`)}))}};function fb(e){if(!e.matchMedia)return!1;let t=e.matchMedia(`(pointer: coarse)`).matches,n=e.matchMedia(`(pointer: fine)`).matches;return t&&!n}var pb=class extends Jg{constructor(e,t=window){super(),this._active=null,this._activeDisposable=new Yg,this._root=e,this._window=t,this._element=t.document.createElement(`div`),this._element.className=`dv-popover-anchor`,this._element.style.position=`relative`,this._root.prepend(this._element),this.addDisposables(qg.from(()=>{this.close()}),this._activeDisposable)}updateRoot(e){e.prepend(this._element),this._root=e}openPopover(e,t){this.close();let n=this._window.document.createElement(`div`);n.style.position=`absolute`,n.style.zIndex=t.zIndex??`var(--dv-overlay-z-index)`,n.appendChild(e);let r=this._element.getBoundingClientRect(),i=r.left,a=r.top;n.style.top=`${t.y-a}px`,n.style.left=`${t.x-i}px`,this._element.appendChild(n),this._active=n;let o=Date.now();this._activeDisposable.value=new Jg(Z(this._window,`pointerdown`,e=>{if(Date.now()-o<200)return;let t=e.target;if(!(t instanceof HTMLElement))return;let r=t;for(;r&&r!==n;)r=r?.parentElement??null;r||this.close()}),Z(this._window,`keydown`,e=>{(e.key===`Escape`||e.key===`Enter`)&&this.close()}),Z(this._window,`resize`,()=>{fb(this._window)||this.close()})),this._window.requestAnimationFrame(()=>{T_(n,this._root)})}close(){this._active&&=(this._active.remove(),this._activeDisposable.dispose(),null)}};function mb(e){if(!(e instanceof HTMLElement))return;let t=E_(e);return t?.style.zIndex?`calc(${t.style.zIndex} * 2)`:void 0}var hb=0,gb=()=>`dv-ctx-menu-item-${hb++}`;function _b(e){return typeof e==`object`}function vb(e,t,n,r){let i=document.createElement(`div`);return i.className=`dv-context-menu-item`,i.setAttribute(`role`,`menuitem`),r&&(i.classList.add(`dv-context-menu-item--disabled`),i.setAttribute(`aria-disabled`,`true`)),i.textContent=e,r||i.addEventListener(`click`,()=>{n(),t()}),i}function yb(){let e=document.createElement(`div`);return e.className=`dv-context-menu-separator`,e.setAttribute(`role`,`separator`),e}function bb(){if(typeof window>`u`||!window.matchMedia)return!1;let e=window.matchMedia(`(pointer: coarse)`).matches,t=window.matchMedia(`(pointer: fine)`).matches;return e&&!t}function xb(e){let t=document.createElement(`div`);t.className=`dv-context-menu-rename`;let n=document.createElement(`input`);return n.className=`dv-context-menu-rename-input`,n.type=`text`,n.placeholder=`Name This Group`,n.value=e.label,n.addEventListener(`input`,()=>{e.setLabel(n.value)}),n.addEventListener(`keydown`,e=>{e.key!==`Escape`&&e.key!==`Enter`&&e.stopPropagation()}),n.addEventListener(`click`,e=>{e.stopPropagation()}),t.appendChild(n),bb()||requestAnimationFrame(()=>{n.focus(),n.select()}),t}function Sb(e,t){let n=document.createElement(`div`);if(n.className=`dv-context-menu-color-picker`,!t.enabled)return n;for(let r of t.entries()){let t=document.createElement(`div`);t.className=`dv-context-menu-color-swatch`,t.style.setProperty(`--dv-tab-group-color`,r.value),r.label&&(t.title=r.label),e.color===r.id&&t.classList.add(`dv-context-menu-color-swatch--selected`),t.addEventListener(`click`,()=>{e.setColor(r.id)}),n.appendChild(t)}return n}var Cb=class{constructor(e){this.accessor=e}show(e,t,n){var r;if(!this.accessor.options.getTabContextMenuItems)return;let i=this.accessor.options.getTabContextMenuItems({panel:e,group:t,api:this.accessor.api,event:n});if(i.length===0)return;n.preventDefault();let a=this.accessor.getPopupServiceForGroup(t),o=()=>a.close(),s=document.createElement(`div`);s.className=`dv-context-menu`,s.setAttribute(`role`,`menu`);for(let n of i)if(n===`separator`)s.appendChild(yb());else if(n===`close`)s.appendChild(vb(`Close`,o,()=>e.api.close()));else if(n===`closeOthers`)s.appendChild(vb(`Close Others`,o,()=>{t.panels.filter(t=>t!==e).forEach(e=>e.api.close())}));else if(n===`closeAll`)s.appendChild(vb(`Close All`,o,()=>{[...t.panels].forEach(e=>e.api.close())}));else if(_b(n)&&n.element)s.appendChild(n.element);else if(_b(n)&&n.component){let i=(r=this.accessor.options).createContextMenuItemComponent?.call(r,{id:gb(),component:n.component});i&&(i.init({panel:e,group:t,api:this.accessor.api,close:o,componentProps:n.componentProps}),s.appendChild(i.element))}else _b(n)&&n.label&&s.appendChild(vb(n.label,o,()=>n.action?.call(n),n.disabled));a.openPopover(s,{x:n.clientX,y:n.clientY,zIndex:mb(n.target)})}showForChip(e,t,n){if(!this.accessor.options.getTabGroupChipContextMenuItems)return;let r=this.accessor.options.getTabGroupChipContextMenuItems({tabGroup:e,group:t,api:this.accessor.api,event:n});if(r.length===0)return;n.preventDefault();let i=this.accessor.getPopupServiceForGroup(t),a=()=>i.close(),o=document.createElement(`div`);o.className=`dv-context-menu`,o.setAttribute(`role`,`menu`);for(let t of r)t===`separator`?o.appendChild(yb()):t===`rename`?o.appendChild(xb(e)):t===`colorPicker`?o.appendChild(Sb(e,this.accessor.tabGroupColorPalette)):_b(t)&&t.element?o.appendChild(t.element):_b(t)&&t.label&&o.appendChild(vb(t.label,a,()=>t.action?.call(t),t.disabled));i.openPopover(o,{x:n.clientX,y:n.clientY,zIndex:mb(n.target)})}},wb=class extends Jg{get disabled(){return this._disabled}set disabled(e){var t;this.disabled!==e&&(this._disabled=e,e&&((t=this.model)==null||t.clear()))}get model(){if(!this.disabled)return{clear:()=>{var e;this._model&&((e=this._model.root.parentElement)==null||e.removeChild(this._model.root)),this._model=void 0},exists:()=>!!this._model,getElements:(e,t)=>{let n=this._outline!==t;if(this._outline=t,this._model)return this._model.changed=n,this._model;let r=this.createContainer(),i=this.createAnchor();if(this._model={root:r,overlay:i,changed:n},r.appendChild(i),this.element.appendChild(r),e?.target instanceof HTMLElement){let t=e.target.getBoundingClientRect(),n=this.element.getBoundingClientRect();i.style.left=`${t.left-n.left}px`,i.style.top=`${t.top-n.top}px`}return this._model}}}constructor(e,t){super(),this.element=e,this._disabled=!1,this._disabled=t.disabled,this.addDisposables(qg.from(()=>{var e;(e=this.model)==null||e.clear()}))}createContainer(){let e=document.createElement(`div`);return e.className=`dv-drop-target-container`,e}createAnchor(){let e=document.createElement(`div`);return e.className=`dv-drop-target-anchor`,e.style.visibility=`hidden`,e}},Tb=class{get minimumSize(){return this._isCollapsed?this._collapsedSize:this._expandedMinimumSize}get maximumSize(){return this._isCollapsed?this._collapsedSize:this._expandedMaximumSize}get element(){return this._group.element}get isCollapsed(){return this._isCollapsed}get lastExpandedSize(){return this._lastExpandedSize}get collapsedSize(){return this._collapsedSize}constructor(e,t,n){this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this.snap=!1,this.priority=z_.Low,this._isCollapsed=!1,this._group=t,this._orientation=n,t.element.classList.add(`dv-edge-group`),t.element.dataset.testid=`dv-edge-group-${e.id}`,this._collapsedSize=e.collapsedSize??35,this._expandedMaximumSize=e.maximumSize??1/0,this._expandedMinimumSize=e.minimumSize===void 0?this._collapsedSize+50:e.minimumSize,this._lastExpandedSize=e.initialSize??200,e.collapsed&&(this._isCollapsed=!0,t.element.classList.add(`dv-edge-collapsed`))}layout(e,t){this._isCollapsed||(this._lastExpandedSize=e),this._orientation===`horizontal`?this._group.layout(e,t):this._group.layout(t,e)}setCollapsed(e){this._isCollapsed!==e&&(this._isCollapsed=e,this._group.element.classList.toggle(`dv-edge-collapsed`,e))}setVisible(e){}restoreExpandedSize(e){this._lastExpandedSize=e}updateCollapsedSize(e,t){this._collapsedSize=e,this._expandedMinimumSize=t}dispose(){this._onDidChange.dispose()}},Eb=class{get element(){return this._dockviewElement}constructor(e,t){this._dockviewElement=e,this._layoutDockview=t,this.priority=z_.High,this.minimumSize=100,this.maximumSize=1/0,this._onDidChange=new X,this.onDidChange=this._onDidChange.event}layout(e,t){this._layoutDockview(t,e)}setVisible(e){}dispose(){this._onDidChange.dispose()}},Db=class{get element(){return this._element}constructor(e,t=0){this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this.minimumSize=100,this.maximumSize=1/0,this.priority=z_.High,this._element=document.createElement(`div`),this._element.className=`dv-shell-middle-column`,this._element.style.height=`100%`,this._element.style.width=`100%`,this._splitview=new V_(this._element,{orientation:L_.VERTICAL,proportionalLayout:!1,margin:t}),this._centerIndex=0,this._splitview.addView(e,{type:`distribute`},0)}addTopView(e,t){this._splitview.addView(e,t,0),this._topIndex=0,this._centerIndex+=1,this._bottomIndex!==void 0&&(this._bottomIndex+=1)}addBottomView(e,t){let n=this._splitview.length;this._splitview.addView(e,t,n),this._bottomIndex=n}removeView(e){let t=e===`top`?this._topIndex:this._bottomIndex;t!==void 0&&(this._splitview.removeView(t),e===`top`?(this._topIndex=void 0,--this._centerIndex,this._bottomIndex!==void 0&&--this._bottomIndex):this._bottomIndex=void 0)}layout(e,t){this._splitview.layout(t,e)}setVisible(e){}setViewVisible(e,t){let n=e===`top`?this._topIndex:this._bottomIndex;n!==void 0&&this._splitview.setViewVisible(n,t)}isViewVisible(e){let t=e===`top`?this._topIndex:this._bottomIndex;return t===void 0?!1:this._splitview.isViewVisible(t)}getViewSize(e){let t=e===`top`?this._topIndex:this._bottomIndex;return t===void 0?0:this._splitview.getViewSize(t)}resizeView(e,t){let n=e===`top`?this._topIndex:this._bottomIndex;n!==void 0&&this._splitview.resizeView(n,t)}updateMargin(e){this._splitview.margin=e}dispose(){this._onDidChange.dispose(),this._splitview.dispose()}};function Ob(e,t,n){let r=(e.collapsedSize??t)+n,i=Object.assign(Object.assign({},e),{collapsedSize:r});return e.minimumSize!==void 0&&(i.minimumSize=e.minimumSize+n),i}var kb=class{constructor(e,t,n,r=0,i=35){this._disposables=new Jg,this._viewConfigs=new Map,this._currentWidth=0,this._currentHeight=0,this._gap=r,this._defaultCollapsedSize=i,this._shellElement=document.createElement(`div`),this._shellElement.className=`dv-shell`,this._shellElement.style.height=`100%`,this._shellElement.style.width=`100%`,this._shellElement.style.position=`relative`,e.appendChild(this._shellElement);let a=new Eb(t,n);this._middleColumn=new Db(a,r),this._outerSplitview=new V_(this._shellElement,{orientation:L_.HORIZONTAL,proportionalLayout:!1,margin:r}),this._middleIndex=0,this._outerSplitview.addView(this._middleColumn,{type:`distribute`},0),this._disposables.addDisposables(i_(this._shellElement,e=>{let t=Math.round(e.contentRect.width),n=Math.round(e.contentRect.height);t===this._currentWidth&&n===this._currentHeight||(this._currentWidth=t,this._currentHeight=n,this.layout(t,n))}),this._outerSplitview,this._middleColumn,a)}get element(){return this._shellElement}addEdgeView(e,t,n){if(this.hasEdgeGroup(e))throw Error(`dockview: edge group already registered at position '${e}'`);this._viewConfigs.set(e,t);let r=1+ +!!this._viewConfigs.has(`left`)+ +!!this._viewConfigs.has(`right`),i=1+ +!!this._viewConfigs.has(`top`)+ +!!this._viewConfigs.has(`bottom`),a=r>1?this._gap*(r-1)/r:0,o=i>1?this._gap*(i-1)/i:0,s=e===`left`||e===`right`,c=s?a:o,l=s?`horizontal`:`vertical`,u=new Tb(Ob(Object.assign({collapsedSize:this._defaultCollapsedSize},t),this._defaultCollapsedSize,c),n,l),d=u.isCollapsed?u.collapsedSize:u.lastExpandedSize;switch(e){case`left`:this._outerSplitview.addView(u,d,0),this._leftIndex=0,this._middleIndex+=1,this._rightIndex!==void 0&&(this._rightIndex+=1),this._leftView=u;break;case`right`:{let e=this._outerSplitview.length;this._outerSplitview.addView(u,d,e),this._rightIndex=e,this._rightView=u}break;case`top`:this._middleColumn.addTopView(u,d),this._topView=u;break;case`bottom`:this._middleColumn.addBottomView(u,d),this._bottomView=u;break}return this._disposables.addDisposables(u),this.updateTheme(this._gap,this._defaultCollapsedSize),u}layout(e,t){this._outerSplitview.layout(e,t)}updateTheme(e,t){this._gap=e,this._defaultCollapsedSize=t;let n=1+ +!!this._viewConfigs.has(`left`)+ +!!this._viewConfigs.has(`right`),r=1+ +!!this._viewConfigs.has(`top`)+ +!!this._viewConfigs.has(`bottom`),i=n>1?e*(n-1)/n:0,a=r>1?e*(r-1)/r:0;this._outerSplitview.margin=e,this._middleColumn.updateMargin(e);let o=(e,n,r)=>{let i=(n.collapsedSize??t)+r,a=n.minimumSize,o=a===void 0?i+50:a+r;e.updateCollapsedSize(i,o)},s=this._viewConfigs.get(`top`);this._topView&&s&&o(this._topView,s,a);let c=this._viewConfigs.get(`bottom`);this._bottomView&&c&&o(this._bottomView,c,a);let l=this._viewConfigs.get(`left`);this._leftView&&l&&o(this._leftView,l,i);let u=this._viewConfigs.get(`right`);this._rightView&&u&&o(this._rightView,u,i),this._leftView?.isCollapsed&&this._leftIndex!==void 0&&this._outerSplitview.resizeView(this._leftIndex,this._leftView.collapsedSize),this._rightView?.isCollapsed&&this._rightIndex!==void 0&&this._outerSplitview.resizeView(this._rightIndex,this._rightView.collapsedSize),this._topView?.isCollapsed&&this._middleColumn.resizeView(`top`,this._topView.collapsedSize),this._bottomView?.isCollapsed&&this._middleColumn.resizeView(`bottom`,this._bottomView.collapsedSize),this._currentWidth>0&&this._currentHeight>0&&this.layout(this._currentWidth,this._currentHeight)}removeEdgeView(e){let t=this._getView(e);if(t){switch(e){case`left`:this._outerSplitview.removeView(this._leftIndex),this._leftIndex=void 0,this._leftView=void 0,--this._middleIndex,this._rightIndex!==void 0&&--this._rightIndex;break;case`right`:this._outerSplitview.removeView(this._rightIndex),this._rightIndex=void 0,this._rightView=void 0;break;case`top`:this._middleColumn.removeView(`top`),this._topView=void 0;break;case`bottom`:this._middleColumn.removeView(`bottom`),this._bottomView=void 0;break}this._disposables.removeDisposable(t),t.dispose(),this._viewConfigs.delete(e),this.updateTheme(this._gap,this._defaultCollapsedSize)}}hasEdgeGroup(e){switch(e){case`top`:return this._topView!==void 0;case`bottom`:return this._bottomView!==void 0;case`left`:return this._leftView!==void 0;case`right`:return this._rightView!==void 0}}setEdgeGroupVisible(e,t){switch(e){case`left`:this._leftIndex!==void 0&&this._outerSplitview.setViewVisible(this._leftIndex,t);break;case`right`:this._rightIndex!==void 0&&this._outerSplitview.setViewVisible(this._rightIndex,t);break;case`top`:case`bottom`:this._middleColumn.setViewVisible(e,t);break}}isEdgeGroupVisible(e){switch(e){case`left`:return this._leftIndex===void 0?!1:this._outerSplitview.isViewVisible(this._leftIndex);case`right`:return this._rightIndex===void 0?!1:this._outerSplitview.isViewVisible(this._rightIndex);case`top`:case`bottom`:return this._middleColumn.isViewVisible(e)}}setEdgeGroupCollapsed(e,t){let n=this._getView(e);if(!n)return;n.setCollapsed(t);let r=t?n.collapsedSize:n.lastExpandedSize;switch(e){case`left`:this._leftIndex!==void 0&&this._outerSplitview.resizeView(this._leftIndex,r);break;case`right`:this._rightIndex!==void 0&&this._outerSplitview.resizeView(this._rightIndex,r);break;case`top`:case`bottom`:this._middleColumn.resizeView(e,r);break}}isEdgeGroupCollapsed(e){return this._getView(e)?.isCollapsed??!1}_getView(e){switch(e){case`top`:return this._topView;case`bottom`:return this._bottomView;case`left`:return this._leftView;case`right`:return this._rightView}}toJSON(){let e={};return this._leftView&&this._leftIndex!==void 0&&(e.left={size:this._leftView.isCollapsed?this._leftView.lastExpandedSize:this._outerSplitview.getViewSize(this._leftIndex),visible:this._outerSplitview.isViewVisible(this._leftIndex),collapsed:this._leftView.isCollapsed||void 0}),this._rightView&&this._rightIndex!==void 0&&(e.right={size:this._rightView.isCollapsed?this._rightView.lastExpandedSize:this._outerSplitview.getViewSize(this._rightIndex),visible:this._outerSplitview.isViewVisible(this._rightIndex),collapsed:this._rightView.isCollapsed||void 0}),this._topView&&(e.top={size:this._topView.isCollapsed?this._topView.lastExpandedSize:this._middleColumn.getViewSize(`top`),visible:this._middleColumn.isViewVisible(`top`),collapsed:this._topView.isCollapsed||void 0}),this._bottomView&&(e.bottom={size:this._bottomView.isCollapsed?this._bottomView.lastExpandedSize:this._middleColumn.getViewSize(`bottom`),visible:this._middleColumn.isViewVisible(`bottom`),collapsed:this._bottomView.isCollapsed||void 0}),e}fromJSON(e){var t,n,r,i,a,o,s,c;e.left&&this._leftIndex!==void 0&&((t=this._leftView)==null||t.restoreExpandedSize(e.left.size),(n=this._leftView)==null||n.setCollapsed(e.left.collapsed??!1),this._outerSplitview.resizeView(this._leftIndex,e.left.collapsed?this._leftView?.collapsedSize??e.left.size:e.left.size),e.left.visible||this._outerSplitview.setViewVisible(this._leftIndex,!1)),e.right&&this._rightIndex!==void 0&&((r=this._rightView)==null||r.restoreExpandedSize(e.right.size),(i=this._rightView)==null||i.setCollapsed(e.right.collapsed??!1),this._outerSplitview.resizeView(this._rightIndex,e.right.collapsed?this._rightView?.collapsedSize??e.right.size:e.right.size),e.right.visible||this._outerSplitview.setViewVisible(this._rightIndex,!1)),e.top&&((a=this._topView)==null||a.restoreExpandedSize(e.top.size),(o=this._topView)==null||o.setCollapsed(e.top.collapsed??!1),this._middleColumn.resizeView(`top`,e.top.collapsed?this._topView?.collapsedSize??e.top.size:e.top.size),e.top.visible||this._middleColumn.setViewVisible(`top`,!1)),e.bottom&&((s=this._bottomView)==null||s.restoreExpandedSize(e.bottom.size),(c=this._bottomView)==null||c.setCollapsed(e.bottom.collapsed??!1),this._middleColumn.resizeView(`bottom`,e.bottom.collapsed?this._bottomView?.collapsedSize??e.bottom.size:e.bottom.size),e.bottom.visible||this._middleColumn.setViewVisible(`bottom`,!1))}dispose(){var e;this._disposables.dispose(),(e=this._shellElement.parentElement)==null||e.removeChild(this._shellElement)}},Ab={activationSize:{type:`pixels`,value:10},size:{type:`pixels`,value:20}};function jb(e){return new dy(e.tabGroupColors??uy,e.tabGroupAccent!==`off`)}function Mb(e){let t=e.from.activePanel;[...e.from.panels].map(t=>{let n=e.from.model.removePanel(t);return e.from.model.renderContainer.detatch(t),n}).forEach(n=>{e.to.model.openPanel(n,{skipSetActive:t!==n,skipSetGroupActive:!0})})}var Nb=class extends cv{get orientation(){return this.gridview.orientation}get totalPanels(){return this.panels.length}get panels(){return this.groups.flatMap(e=>e.panels)}get options(){return this._options}get tabGroupColorPalette(){return this._tabGroupColorPalette}get activePanel(){let e=this.activeGroup;if(e)return e.activePanel}get renderer(){return this.options.defaultRenderer??`onlyWhenVisible`}get defaultHeaderPosition(){return this.options.defaultHeaderPosition??`top`}get api(){return this._api}get floatingGroups(){return this._floatingGroups}get popoutRestorationPromise(){return this._popoutRestorationPromise}constructor(e,t){super(e,{proportionalLayout:!0,orientation:L_.HORIZONTAL,styles:t.hideBorders?{separatorBorder:`transparent`}:void 0,disableAutoResizing:t.disableAutoResizing,locked:t.locked,margin:t.theme?.gap??0,className:t.className}),this.nextGroupId=P_(),this._deserializer=new Zy(this),this._watermark=null,this._popoutPopupServices=new Map,this._onWillDragPanel=new X,this.onWillDragPanel=this._onWillDragPanel.event,this._onWillDragGroup=new X,this.onWillDragGroup=this._onWillDragGroup.event,this._onDidDrop=new X,this.onDidDrop=this._onDidDrop.event,this._onWillDrop=new X,this.onWillDrop=this._onWillDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._onUnhandledDragOverEvent=new X,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this._onDidRemovePanel=new X,this.onDidRemovePanel=this._onDidRemovePanel.event,this._onDidAddPanel=new X,this.onDidAddPanel=this._onDidAddPanel.event,this._onDidPopoutGroupSizeChange=new X,this.onDidPopoutGroupSizeChange=this._onDidPopoutGroupSizeChange.event,this._onDidPopoutGroupPositionChange=new X,this.onDidPopoutGroupPositionChange=this._onDidPopoutGroupPositionChange.event,this._onDidOpenPopoutWindowFail=new X,this.onDidOpenPopoutWindowFail=this._onDidOpenPopoutWindowFail.event,this._onDidLayoutFromJSON=new X,this.onDidLayoutFromJSON=this._onDidLayoutFromJSON.event,this._onDidActivePanelChange=new X({replay:!0}),this.onDidActivePanelChange=this._onDidActivePanelChange.event,this._onDidMovePanel=new X,this.onDidMovePanel=this._onDidMovePanel.event,this._onDidCreateTabGroup=new X,this.onDidCreateTabGroup=this._onDidCreateTabGroup.event,this._onDidDestroyTabGroup=new X,this.onDidDestroyTabGroup=this._onDidDestroyTabGroup.event,this._onDidAddPanelToTabGroup=new X,this.onDidAddPanelToTabGroup=this._onDidAddPanelToTabGroup.event,this._onDidRemovePanelFromTabGroup=new X,this.onDidRemovePanelFromTabGroup=this._onDidRemovePanelFromTabGroup.event,this._onDidTabGroupChange=new X,this.onDidTabGroupChange=this._onDidTabGroupChange.event,this._onDidTabGroupCollapsedChange=new X,this.onDidTabGroupCollapsedChange=this._onDidTabGroupCollapsedChange.event,this._onDidMaximizedGroupChange=new X,this.onDidMaximizedGroupChange=this._onDidMaximizedGroupChange.event,this._inShellLayout=!1,this._edgeGroups=new Map,this._edgeGroupDisposables=new Map,this._floatingGroups=[],this._popoutGroups=[],this._popoutRestorationPromise=Promise.resolve(),this._popoutRestorationCleanups=new Set,this._onDidRemoveGroup=new X,this.onDidRemoveGroup=this._onDidRemoveGroup.event,this._onDidAddGroup=new X,this.onDidAddGroup=this._onDidAddGroup.event,this._onDidOptionsChange=new X,this.onDidOptionsChange=this._onDidOptionsChange.event,this._onDidActiveGroupChange=new X,this.onDidActiveGroupChange=this._onDidActiveGroupChange.event,this._moving=!1,this._options=t,this._tabGroupColorPalette=jb(t),this.popupService=new pb(this.element),this.contextMenuController=new Cb(this),this._api=new fv(this),this.disableResizing=!0,e.removeChild(this.element),this._shellManager=new kb(e,this.element,(e,t)=>this._layoutFromShell(e,t),t.theme?.gap??0,t.theme?.edgeGroupCollapsedSize),this.popupService.updateRoot(this._shellManager.element),this._shellThemeClassnames=new b_(this._shellManager.element),this.rootDropTargetContainer=new wb(this._shellManager.element,{disabled:!0}),this.overlayRenderContainer=new sb(this._shellManager.element,this),this._floatingOverlayHost=document.createElement(`div`),this._floatingOverlayHost.className=`dv-floating-overlay-host`,this._shellManager.element.appendChild(this._floatingOverlayHost);let n=(e,t)=>{let n=Gg();if(n)return n.viewId===this.id?t===`center`?this.gridview.length===0:!0:!1;if(t===`center`&&this.gridview.length!==0)return!1;let r=new ky(e,`edge`,t,Gg);return this._onUnhandledDragOverEvent.fire(r),r.isAccepted};this._rootDropTarget=Hv.createDropTarget(this.element,{className:`dv-drop-target-edge`,canDisplayOverlay:n,acceptedTargetZones:[`top`,`bottom`,`left`,`right`,`center`],overlayModel:t.rootOverlayModel??Ab,getOverrideTarget:()=>this.rootDropTargetContainer?.model}),this._rootPointerDropTarget=Uv.createDropTarget(this.element,{className:`dv-drop-target-edge`,canDisplayOverlay:n,acceptedTargetZones:[`top`,`bottom`,`left`,`right`,`center`],overlayModel:t.rootOverlayModel??Ab,getOverrideTarget:()=>this.rootDropTargetContainer?.model}),this.updateDropTargetModel(t),Q(this.gridview.element,`dv-dockview`,!0),Q(this.element,`dv-debug`,!!t.debug),this.updateTheme(),this.updateWatermark(),t.debug&&this.addDisposables(new db(this)),this.addDisposables(this.rootDropTargetContainer,this.overlayRenderContainer,this._onWillDragPanel,this._onWillDragGroup,this._onWillShowOverlay,this._onDidActivePanelChange,this._onDidAddPanel,this._onDidRemovePanel,this._onDidLayoutFromJSON,this._onDidDrop,this._onWillDrop,this._onDidMovePanel,this._onDidMovePanel.event(()=>{this.debouncedUpdateAllPositions()}),this._onDidAddGroup,this._onDidRemoveGroup,this._onDidActiveGroupChange,this._onUnhandledDragOverEvent,this._onDidMaximizedGroupChange,this._onDidOptionsChange,this._onDidPopoutGroupSizeChange,this._onDidPopoutGroupPositionChange,this._onDidOpenPopoutWindowFail,this._onDidCreateTabGroup,this._onDidDestroyTabGroup,this._onDidAddPanelToTabGroup,this._onDidRemovePanelFromTabGroup,this._onDidTabGroupChange,this._onDidTabGroupCollapsedChange,this.onDidViewVisibilityChangeMicroTaskQueue(()=>{this.updateWatermark()}),this.onDidAdd(e=>{this._moving||this._onDidAddGroup.fire(e)}),this.onDidRemove(e=>{this._moving||this._onDidRemoveGroup.fire(e)}),this.onDidActiveChange(e=>{this._moving||this._onDidActiveGroupChange.fire(e)}),this.onDidMaximizedChange(e=>{this._onDidMaximizedGroupChange.fire({group:e.panel,isMaximized:e.isMaximized})}),Xg.any(this.onDidAdd,this.onDidRemove)(()=>{this.updateWatermark()}),Xg.any(this.onDidAddPanel,this.onDidRemovePanel,this.onDidAddGroup,this.onDidRemove,this.onDidRemoveGroup,this.onDidMovePanel,this.onDidActivePanelChange,this.onDidPopoutGroupPositionChange,this.onDidPopoutGroupSizeChange,this.onDidCreateTabGroup,this.onDidDestroyTabGroup,this.onDidAddPanelToTabGroup,this.onDidRemovePanelFromTabGroup,this.onDidTabGroupChange,this.onDidTabGroupCollapsedChange)(()=>{this._bufferOnDidLayoutChange.fire()}),qg.from(()=>{var e;for(let e of[...this._popoutRestorationCleanups])e();this._popoutRestorationCleanups.clear();for(let e of[...this._floatingGroups])e.dispose();for(let e of[...this._popoutGroups])e.disposable.dispose();(e=this._shellManager)==null||e.dispose();for(let e of this._edgeGroupDisposables.values())e.dispose();this._edgeGroupDisposables.clear()}),this._rootDropTarget,this._rootPointerDropTarget,Xg.any(this._rootDropTarget.onWillShowOverlay,this._rootPointerDropTarget.onWillShowOverlay)(e=>{this.gridview.length>0&&e.position===`center`||this._onWillShowOverlay.fire(new oy(e,{kind:`edge`,panel:void 0,api:this._api,group:void 0,getData:Gg}))}),Xg.any(this._rootDropTarget.onDrop,this._rootPointerDropTarget.onDrop)(e=>{let t=new Ly({nativeEvent:e.nativeEvent,position:e.position,panel:void 0,api:this._api,group:void 0,getData:Gg,kind:`edge`});if(this._onWillDrop.fire(t),t.defaultPrevented)return;let n=Gg();n?this.moveGroupOrPanel({from:{groupId:n.groupId,panelId:n.panelId??void 0},to:{group:this.orthogonalize(e.position),position:`center`}}):this._onDidDrop.fire(new Iy({nativeEvent:e.nativeEvent,position:e.position,panel:void 0,api:this._api,group:void 0,getData:Gg}))}))}setVisible(e,t){switch(e.api.location.type){case`grid`:super.setVisible(e,t);break;case`floating`:{let n=this.floatingGroups.find(t=>t.group===e);n&&(n.overlay.setVisible(t),e.api._onDidVisibilityChange.fire({isVisible:t}));break}case`popout`:console.warn(`dockview: You cannot hide a group that is in a popout window`);break}}getPopupServiceForGroup(e){return this._popoutPopupServices.get(e.id)??this.popupService}addPopoutGroup(e,t){if(e instanceof Gy&&e.model.location.type===`edge`)return Promise.resolve(!1);if(e instanceof Jy&&e.group.size===1)return this.addPopoutGroup(e.group,t);let n=y_(this.gridview.element),r=this.element;function i(){return t?.position?t.position:e instanceof Gy?e.element.getBoundingClientRect():e.group?e.group.element.getBoundingClientRect():r.getBoundingClientRect()}let a=i(),o=t?.overridePopoutGroup?.id??this.getNextGroupId(),s=new ub(`${this.id}-${o}`,n??``,{url:t?.popoutUrl??this.options?.popoutUrl??`/popout.html`,left:window.screenX+a.left,top:window.screenY+a.top,width:a.width,height:a.height,onDidOpen:t?.onDidOpen,onWillClose:t?.onWillClose,nonce:this.options?.nonce}),c=new Jg(s,s.onDidClose(()=>{c.dispose()}));return s.open().then(n=>{if(s.isDisposed)return!1;let r=t?.referenceGroup?t.referenceGroup:e instanceof Jy?e.group:e,i=e.api.location.type,a=r.element.parentElement!==null,l;if(a?t?.overridePopoutGroup?l=t.overridePopoutGroup:(l=this.createGroup({id:o}),n&&this._onDidAddGroup.fire(l)):l=r,n===null)return console.error(`dockview: failed to create popout. perhaps you need to allow pop-ups for this website`),c.dispose(),this._onDidOpenPopoutWindowFail.fire(),this.movingLock(()=>Mb({from:l,to:r})),r.api.isVisible||r.api.setVisible(!0),!1;let u=document.createElement(`div`);u.className=`dv-overlay-render-container`;let d=new sb(u,this);l.model.renderContainer=d,l.layout(s.window.innerWidth,s.window.innerHeight);let f;if(!t?.overridePopoutGroup&&a)if(e instanceof Jy)this.movingLock(()=>{let t=r.model.removePanel(e);l.model.openPanel(t)});else switch(this.movingLock(()=>Mb({from:r,to:l})),i){case`grid`:r.api.setVisible(!1);break;case`floating`:case`popout`:f=this._floatingGroups.find(t=>t.group.api.id===e.api.id)?.overlay.toJSON(),this.removeGroup(r);break}n.classList.add(`dv-dockview`),n.style.overflow=`hidden`,n.appendChild(u),n.appendChild(l.element);let p=document.createElement(`div`),m=new wb(p,{disabled:this.rootDropTargetContainer.disabled});n.appendChild(p),l.model.dropTargetContainer=m;let h=new pb(n,s.window);this._popoutPopupServices.set(l.id,h),c.addDisposables(h,qg.from(()=>{this._popoutPopupServices.delete(l.id)})),l.model.location={type:`popout`,getWindow:()=>s.window,popoutUrl:t?.popoutUrl},a&&e.api.location.type===`grid`&&e.api.setVisible(!1),this.doSetGroupAndPanelActive(l),c.addDisposables(l.api.onDidActiveChange(e=>{var t;e.isActive&&((t=s.window)==null||t.focus())}),l.api.onWillFocus(()=>{var e;(e=s.window)==null||e.focus()}));let g,_=a&&r&&this.getPanel(r.id),v={window:s,popoutGroup:l,referenceGroup:_?r.id:void 0,disposable:{dispose:()=>(c.dispose(),g)}},y=C_(s.window);return c.addDisposables(y,w_(s.window,()=>{this._onDidPopoutGroupSizeChange.fire({width:s.window.innerWidth,height:s.window.innerHeight,group:l})}),y.event(()=>{this._onDidPopoutGroupPositionChange.fire({screenX:s.window.screenX,screenY:s.window.screenX,group:l})}),Z(s.window,`resize`,()=>{l.layout(s.window.innerWidth,s.window.innerHeight)}),d,qg.from(()=>{if(!this.isDisposed){if(a&&this.getPanel(r.id))this.movingLock(()=>Mb({from:l,to:r})),r.api.isVisible||r.api.setVisible(!0),this.getPanel(l.id)&&this.doRemoveGroup(l,{skipPopoutAssociated:!0});else if(this.getPanel(l.id)){if(l.model.renderContainer=this.overlayRenderContainer,l.model.dropTargetContainer=this.rootDropTargetContainer,g=l,!this._popoutGroups.find(e=>e.popoutGroup===l))return;f?this.addFloatingGroup(l,{height:f.height,width:f.width,position:f}):(this.doRemoveGroup(l,{skipDispose:!0,skipActive:!0,skipPopoutReturn:!0}),l.model.location={type:`grid`},this.movingLock(()=>{this.doAddGroup(l,[0])})),this.doSetGroupAndPanelActive(l)}}})),this._popoutGroups.push(v),this.updateWatermark(),!0}).catch(e=>(console.error(`dockview: failed to create popout.`,e),!1))}addFloatingGroup(e,t){if(e instanceof Gy&&e.model.location.type===`edge`)return;let n;if(e instanceof Jy)n=this.createGroup(),this._onDidAddGroup.fire(n),this.movingLock(()=>this.removePanel(e,{removeEmptyGroup:!0,skipDispose:!0,skipSetActiveGroup:!0})),this.movingLock(()=>n.model.openPanel(e,{skipSetGroupActive:!0}));else{n=e;let r=this._popoutGroups.find(e=>e.popoutGroup===n)?.referenceGroup,i=r?this.getPanel(r):void 0;typeof t?.skipRemoveGroup==`boolean`&&t.skipRemoveGroup||(i?(this.movingLock(()=>Mb({from:e,to:i})),this.doRemoveGroup(e,{skipPopoutReturn:!0,skipPopoutAssociated:!0}),this.doRemoveGroup(i,{skipDispose:!0}),n=i):this.doRemoveGroup(e,{skipDispose:!0,skipPopoutReturn:!0,skipPopoutAssociated:!1}))}function r(){if(t?.position){let e={};return`left`in t.position?e.left=Math.max(t.position.left,0):`right`in t.position?e.right=Math.max(t.position.right,0):e.left=rb.left,`top`in t.position?e.top=Math.max(t.position.top,0):`bottom`in t.position?e.bottom=Math.max(t.position.bottom,0):e.top=rb.top,typeof t.width==`number`?e.width=Math.max(t.width,0):e.width=rb.width,typeof t.height==`number`?e.height=Math.max(t.height,0):e.height=rb.height,e}return{left:typeof t?.x==`number`?Math.max(t.x,0):rb.left,top:typeof t?.y==`number`?Math.max(t.y,0):rb.top,width:typeof t?.width==`number`?Math.max(t.width,0):rb.width,height:typeof t?.height==`number`?Math.max(t.height,0):rb.height}}let i=r(),a=new eb(Object.assign(Object.assign({container:this._floatingOverlayHost??this.gridview.element,content:n.element},i),{minimumInViewportWidth:this.options.floatingGroupBounds===`boundedWithinViewport`?void 0:this.options.floatingGroupBounds?.minimumWidthWithinViewport??nb,minimumInViewportHeight:this.options.floatingGroupBounds===`boundedWithinViewport`?void 0:this.options.floatingGroupBounds?.minimumHeightWithinViewport??nb})),o=n.element.querySelector(`.dv-void-container`);if(!o)throw Error(`dockview: failed to find drag handle`);a.setupDrag(o,{inDragMode:typeof t?.inDragMode==`boolean`?t.inDragMode:!1});let s=new tb(n,a),c=new Jg(n.api.onDidActiveChange(e=>{e.isActive&&a.bringToFront()}),(()=>{let e=-1,t=-1;return i_(n.element,r=>{let i=Math.round(r.contentRect.width),a=Math.round(r.contentRect.height);i===e&&a===t||(e=i,t=a,n.layout(i,a))})})());s.addDisposables(a.onDidChange(()=>{n.layout(n.width,n.height)}),a.onDidChangeEnd(()=>{this._bufferOnDidLayoutChange.fire()}),n.onDidChange(e=>{a.setBounds({height:e?.height,width:e?.width})}),{dispose:()=>{c.dispose(),M_(this._floatingGroups,s),n.model.location={type:`grid`},this.updateWatermark()}}),this._floatingGroups.push(s),n.model.location={type:`floating`},t?.skipActiveGroup||this.doSetGroupAndPanelActive(n),this.updateWatermark()}orthogonalize(e,t){switch(this.gridview.normalize(),e){case`top`:case`bottom`:this.gridview.orientation===L_.HORIZONTAL&&this.gridview.insertOrthogonalSplitviewAtRoot();break;case`left`:case`right`:this.gridview.orientation===L_.VERTICAL&&this.gridview.insertOrthogonalSplitviewAtRoot();break}switch(e){case`top`:case`left`:case`center`:return this.createGroupAtLocation([0],void 0,t);case`bottom`:case`right`:return this.createGroupAtLocation([this.gridview.length],void 0,t);default:throw Error(`dockview: unsupported position ${e}`)}}updateOptions(e){var t,n;if(super.updateOptions(e),`floatingGroupBounds`in e)for(let t of this._floatingGroups){switch(e.floatingGroupBounds){case`boundedWithinViewport`:t.overlay.minimumInViewportHeight=void 0,t.overlay.minimumInViewportWidth=void 0;break;case void 0:t.overlay.minimumInViewportHeight=nb,t.overlay.minimumInViewportWidth=nb;break;default:t.overlay.minimumInViewportHeight=e.floatingGroupBounds?.minimumHeightWithinViewport,t.overlay.minimumInViewportWidth=e.floatingGroupBounds?.minimumWidthWithinViewport}t.overlay.setBounds()}this.updateDropTargetModel(e);let r=this.options.disableDnd,i=this.options.dndStrategy;this._options=Object.assign(Object.assign({},this.options),e);let a=this.options.disableDnd,o=this.options.dndStrategy;if((r!==a||i!==o)&&this.updateDragAndDropState(),`theme`in e&&this.updateTheme(),`createRightHeaderActionComponent`in e||`createLeftHeaderActionComponent`in e||`createPrefixHeaderActionComponent`in e)for(let e of this.groups)e.model.updateHeaderActions();if(`createWatermarkComponent`in e){this._watermark&&=(this._watermark.element.parentElement.remove(),(n=(t=this._watermark).dispose)==null||n.call(t),null),this.updateWatermark();for(let e of this.groups)e.model.refreshWatermark()}if(`tabGroupColors`in e||`tabGroupAccent`in e){this._tabGroupColorPalette.setEntries(this._options.tabGroupColors??uy),this._tabGroupColorPalette.enabled=this._options.tabGroupAccent!==`off`;for(let e of this.groups)e.model.refreshTabGroupAccent()}this._onDidOptionsChange.fire(),this._layoutFromShell(this.gridview.width,this.gridview.height)}layout(e,t,n){if(this._shellManager&&!this._inShellLayout?this._shellManager.layout(e,t):super.layout(e,t,n),this._syncFloatingOverlayHost(),this._floatingGroups)for(let e of this._floatingGroups)e.overlay.setBounds()}_syncFloatingOverlayHost(){if(!this._floatingOverlayHost||!this._shellManager)return;let e=this._shellManager.element.getBoundingClientRect(),t=this.element.getBoundingClientRect(),n=this._floatingOverlayHost;n.style.left=`${t.left-e.left}px`,n.style.top=`${t.top-e.top}px`,n.style.width=`${t.width}px`,n.style.height=`${t.height}px`}_layoutFromShell(e,t){this._inShellLayout=!0,this.layout(e,t,!0),this._inShellLayout=!1}forceRelayout(){this._shellManager?this._layoutFromShell(this.width,this.height):super.forceRelayout()}addEdgeGroup(e,t){if(this._edgeGroups.has(e))throw Error(`dockview: edge group already exists at position '${e}'`);let n=this.createGroup({id:t.id});n.model.location={type:`edge`,position:e},n.model.headerPosition=e,this._edgeGroups.set(e,n),this._onDidAddGroup.fire(n);let r=n.model.onDidRemovePanel(()=>{n.model.isEmpty&&this.setEdgeGroupCollapsed(n,!0)});return this._edgeGroupDisposables.set(e,r),this._shellManager.addEdgeView(e,t,n),n.api}getEdgeGroup(e){return this._edgeGroups.get(e)?.api}setEdgeGroupVisible(e,t){this._shellManager.setEdgeGroupVisible(e,t)}isEdgeGroupVisible(e){return this._shellManager.isEdgeGroupVisible(e)}removeEdgeGroup(e){var t;let n=this._edgeGroups.get(e);if(!n)throw Error(`dockview: no edge group exists at position '${e}'`);for(let e of[...n.panels])this.removePanel(e,{removeEmptyGroup:!1,skipDispose:!1});(t=this._edgeGroupDisposables.get(e))==null||t.dispose(),this._edgeGroupDisposables.delete(e),this._shellManager.removeEdgeView(e),this._edgeGroups.delete(e),n.dispose(),this._groups.delete(n.id),this._onDidRemoveGroup.fire(n)}setEdgeGroupCollapsed(e,t){for(let[n,r]of this._edgeGroups)if(r===e){if(this._shellManager.isEdgeGroupCollapsed(n)===t)return;this._shellManager.setEdgeGroupCollapsed(n,t),r.api._onDidCollapsedChange.fire({isCollapsed:t});return}}isEdgeGroupCollapsed(e){for(let[t,n]of this._edgeGroups)if(n===e)return this._shellManager.isEdgeGroupCollapsed(t);return!1}updateDragAndDropState(){for(let e of this.groups)e.model.updateDragAndDropState()}focus(){var e;(e=this.activeGroup)==null||e.focus()}getGroupPanel(e){return this.panels.find(t=>t.id===e)}setActivePanel(e){e.group.model.openPanel(e),this.doSetGroupAndPanelActive(e.group)}moveToNext(e={}){if(!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}if(e.includePanel&&e.group&&e.group.activePanel!==e.group.panels[e.group.panels.length-1]){e.group.model.moveToNext({suppressRoll:!0});return}let t=X_(e.group.element),n=this.gridview.next(t)?.view;this.doSetGroupAndPanelActive(n)}moveToPrevious(e={}){if(!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}if(e.includePanel&&e.group&&e.group.activePanel!==e.group.panels[0]){e.group.model.moveToPrevious({suppressRoll:!0});return}let t=X_(e.group.element),n=this.gridview.previous(t)?.view;n&&this.doSetGroupAndPanelActive(n)}toJSON(){let e=this.gridview.serialize(),t=this.panels.reduce((e,t)=>(e[t.id]=t.toJSON(),e),{}),n=this._floatingGroups.map(e=>({data:e.group.toJSON(),position:e.overlay.toJSON()})),r=this._popoutGroups.map(e=>({data:e.popoutGroup.toJSON(),gridReferenceGroup:e.referenceGroup,position:e.window.dimensions(),url:e.popoutGroup.api.location.type===`popout`?e.popoutGroup.api.location.popoutUrl:void 0})),i={grid:e,panels:t,activeGroup:this.activeGroup?.id};if(n.length>0&&(i.floatingGroups=n),r.length>0&&(i.popoutGroups=r),this._edgeGroups.size>0){let e=this._shellManager.toJSON();for(let[t,n]of this._edgeGroups){let r=e[t];r&&(r.group=n.toJSON())}i.edgeGroups=e}return i}fromJSON(e,t){for(let e of[...this._popoutRestorationCleanups])e();this._popoutRestorationCleanups.clear();let n=new Map,r;if(t?.reuseExistingPanels){r=this.createGroup(),this._groups.delete(r.api.id);let t=Object.keys(e.panels);for(let e of this.panels)t.includes(e.api.id)&&n.set(e.api.id,e);this.movingLock(()=>{Array.from(n.values()).forEach(e=>{this.moveGroupOrPanel({from:{groupId:e.api.group.api.id,panelId:e.api.id},to:{group:r,position:`center`},keepEmptyGroups:!0})})})}if(this.clear(),typeof e!=`object`||!e)throw Error(`dockview: serialized layout must be a non-null object`);let{grid:i,panels:a,activeGroup:o}=e;if(i.root.type!==`branch`||!Array.isArray(i.root.data))throw Error(`dockview: root must be of type branch`);try{let t=this.width,s=this.height,c=e=>{let{id:t,locked:i,hideHeader:o,headerPosition:s,views:c,activeView:l}=e;if(typeof t!=`string`)throw Error(`dockview: group id must be of type string`);let u=this.createGroup({id:t,locked:!!i,hideHeader:!!o,headerPosition:s});this._onDidAddGroup.fire(u);let d=[];for(let e of c){let t=n.get(e);if(r&&t)this.movingLock(()=>{r.model.removePanel(t)}),d.push(t),t.updateFromStateModel(a[e]);else{let t=this._deserializer.fromJSON(a[e],u);d.push(t)}}for(let e=0;e<c.length;e++){let t=d[e],r=typeof l==`string`&&l===t.id;n.has(t.api.id)?this.movingLock(()=>{u.model.openPanel(t,{skipSetActive:!r,skipSetGroupActive:!0})}):u.model.openPanel(t,{skipSetActive:!r,skipSetGroupActive:!0})}return e.tabGroups&&e.tabGroups.length>0&&u.model.restoreTabGroups(e.tabGroups),!u.activePanel&&u.panels.length>0&&u.model.openPanel(u.panels[u.panels.length-1],{skipSetGroupActive:!0}),u};if(this.gridview.deserialize(i,{fromJSON:e=>c(e.data)}),this._layoutFromShell(t,s),e.edgeGroups){for(let t of[`top`,`bottom`,`left`,`right`]){let n=e.edgeGroups[t];if(n&&!this._edgeGroups.has(t)){let e=n.group?.id??`${t}-group`;this.addEdgeGroup(t,{id:e})}}for(let[t,n]of this._edgeGroups){let r=e.edgeGroups[t]?.group;if(r){let{views:e,activeView:t}=r,i=[];for(let t of e)if(a[t]){let e=this._deserializer.fromJSON(a[t],n);i.push(e)}for(let e=0;e<i.length;e++){let r=i[e],a=t===r.id;n.model.openPanel(r,{skipSetActive:!a,skipSetGroupActive:!0})}r.tabGroups&&r.tabGroups.length>0&&n.model.restoreTabGroups(r.tabGroups),!n.activePanel&&n.panels.length>0&&n.model.openPanel(n.panels[n.panels.length-1],{skipSetGroupActive:!0})}}this._shellManager.fromJSON(e.edgeGroups)}let l=e.floatingGroups??[];for(let e of l){let{data:t,position:n}=e,r=c(t);this.addFloatingGroup(r,{position:n,width:n.width,height:n.height,skipRemoveGroup:!0,inDragMode:!1})}let u=e.popoutGroups??[],d=[];u.forEach((e,t)=>{let{data:n,position:r,gridReferenceGroup:i,url:a}=e,o=c(n),s=new Promise(e=>{let n=()=>{if(this._popoutRestorationCleanups.delete(n),clearTimeout(s),!this.isDisposed&&this._groups.has(o.id)&&o.element.parentElement===null){for(let e of[...o.panels])this.removePanel(e,{removeEmptyGroup:!1});o.dispose(),this._groups.delete(o.id),this._onDidRemoveGroup.fire(o)}e()},s=setTimeout(()=>{if(this._popoutRestorationCleanups.delete(n),this.isDisposed){e();return}this.addPopoutGroup(o,{position:r??void 0,overridePopoutGroup:i?o:void 0,referenceGroup:i?this.getPanel(i):void 0,popoutUrl:a}),e()},t*ib);this._popoutRestorationCleanups.add(n)});d.push(s)}),this._popoutRestorationPromise=Promise.all(d).then(()=>void 0);for(let e of this._floatingGroups)e.overlay.setBounds();if(typeof o==`string`){let e=this.getPanel(o);e&&this.doSetGroupAndPanelActive(e)}}catch(e){console.error(`dockview: failed to deserialize layout. Reverting changes`,e);for(let e of this.groups)for(let t of e.panels)this.removePanel(t,{removeEmptyGroup:!1,skipDispose:!1});for(let e of this.groups)e.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e);for(let e of[...this._floatingGroups])e.dispose();throw this.clear(),e}this.updateWatermark(),this.debouncedUpdateAllPositions(),this._onDidLayoutFromJSON.fire()}clear(){let e=Array.from(this._groups.values()).map(e=>e.value),t=!!this.activeGroup;for(let t of e){if([...this._edgeGroups.values()].includes(t)){let e=[...t.panels];for(let t of e)this.removePanel(t,{removeEmptyGroup:!1});continue}this.removeGroup(t,{skipActive:!0})}t&&this.doSetGroupAndPanelActive(void 0),this.gridview.clear()}closeAllGroups(){for(let e of this._groups.entries()){let[t,n]=e;n.value.model.closeAllPanels()}}addPanel(e){if(this.panels.find(t=>t.id===e.id))throw Error(`dockview: panel with id ${e.id} already exists`);let t;if(e.position&&e.floating)throw Error(`dockview: you can only provide one of: position, floating as arguments to .addPanel(...)`);let n={width:e.initialWidth,height:e.initialHeight},r;if(e.position)if(jy(e.position)){let n=typeof e.position.referencePanel==`string`?this.getGroupPanel(e.position.referencePanel):e.position.referencePanel;if(r=e.position.index,!n)throw Error(`dockview: referencePanel '${e.position.referencePanel}' does not exist`);t=this.findGroup(n)}else if(My(e.position)){if(t=typeof e.position.referenceGroup==`string`?this._groups.get(e.position.referenceGroup)?.value:e.position.referenceGroup,r=e.position.index,!t)throw Error(`dockview: referenceGroup '${e.position.referenceGroup}' does not exist`)}else{let t=this.orthogonalize(wv(e.position.direction)),i=this.createPanel(e,t);return t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r}),e.inactive||this.doSetGroupAndPanelActive(t),t.api.setSize({height:n?.height,width:n?.width}),i}else t=this.activeGroup;let i;if(t){let a=sv(e.position?.direction||`within`);if(e.floating){let t=this.createGroup();this._onDidAddGroup.fire(t);let n=typeof e.floating==`object`&&e.floating!==null?e.floating:{};this.addFloatingGroup(t,Object.assign(Object.assign({},n),{inDragMode:!1,skipRemoveGroup:!0,skipActiveGroup:!0})),i=this.createPanel(e,t),t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r})}else if(t.api.location.type===`floating`||t.api.location.type===`edge`||a===`center`)i=this.createPanel(e,t),t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r}),t.api.setSize({width:n?.width,height:n?.height}),e.inactive||this.doSetGroupAndPanelActive(t);else{let o=X_(t.element),s=Z_(this.gridview.orientation,o,a),c=this.createGroupAtLocation(s,this.orientationAtLocation(s)===L_.VERTICAL?n?.height:n?.width);i=this.createPanel(e,c),c.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r}),e.inactive||this.doSetGroupAndPanelActive(c)}}else if(e.floating){let t=this.createGroup();this._onDidAddGroup.fire(t);let n=typeof e.floating==`object`&&e.floating!==null?e.floating:{};this.addFloatingGroup(t,Object.assign(Object.assign({},n),{inDragMode:!1,skipRemoveGroup:!0,skipActiveGroup:!0})),i=this.createPanel(e,t),t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r})}else{let t=this.createGroupAtLocation([0],this.gridview.orientation===L_.VERTICAL?n?.height:n?.width);i=this.createPanel(e,t),t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r}),e.inactive||this.doSetGroupAndPanelActive(t)}return i}removePanel(e,t={removeEmptyGroup:!0}){let n=e.group;if(!n)throw Error(`dockview: cannot remove panel ${e.id}. it's missing a group.`);n.model.removePanel(e,{skipSetActiveGroup:t.skipSetActiveGroup}),t.skipDispose||(e.group.model.renderContainer.detatch(e),e.dispose()),n.size===0&&t.removeEmptyGroup&&this.removeGroup(n,{skipActive:t.skipSetActiveGroup})}createWatermarkComponent(){return this.options.createWatermarkComponent?this.options.createWatermarkComponent():new Qy}updateWatermark(){var e,t;if(this.groups.filter(e=>e.api.location.type===`grid`&&e.api.isVisible).length===0){if(!this._watermark){this._watermark=this.createWatermarkComponent(),this._watermark.init({containerApi:new fv(this)});let e=document.createElement(`div`);e.className=`dv-watermark-container`,g_(e,`watermark-component`),e.appendChild(this._watermark.element),this.gridview.element.appendChild(e)}}else this._watermark&&=(this._watermark.element.parentElement.remove(),(t=(e=this._watermark).dispose)==null||t.call(e),null)}addGroup(e){if(e){let t;if(Ny(e)){let n=typeof e.referencePanel==`string`?this.panels.find(t=>t.id===e.referencePanel):e.referencePanel;if(!n)throw Error(`dockview: reference panel ${e.referencePanel} does not exist`);if(t=this.findGroup(n),!t)throw Error(`dockview: reference group for reference panel ${e.referencePanel} does not exist`)}else if(Py(e)){if(t=typeof e.referenceGroup==`string`?this._groups.get(e.referenceGroup)?.value:e.referenceGroup,!t)throw Error(`dockview: reference group ${e.referenceGroup} does not exist`)}else{let t=this.orthogonalize(wv(e.direction),e);return e.skipSetActive||this.doSetGroupAndPanelActive(t),t}let n=sv(e.direction||`within`),r=X_(t.element),i=Z_(this.gridview.orientation,r,n),a=this.createGroup(e),o=this.getLocationOrientation(i)===L_.VERTICAL?e.initialHeight:e.initialWidth;return this.doAddGroup(a,i,o),e.skipSetActive||this.doSetGroupAndPanelActive(a),a}else{let t=this.createGroup(e);return this.doAddGroup(t),this.doSetGroupAndPanelActive(t),t}}getLocationOrientation(e){return e.length%2==0&&this.gridview.orientation===L_.HORIZONTAL?L_.HORIZONTAL:L_.VERTICAL}removeGroup(e,t){this.doRemoveGroup(e,t)}doRemoveGroup(e,t){if([...this._edgeGroups.values()].includes(e))return e;let n=[...e.panels];if(!t?.skipDispose)for(let e of n)this.removePanel(e,{removeEmptyGroup:!1,skipDispose:t?.skipDispose??!1});let r=this.activePanel;if(e.api.location.type===`floating`){let n=this._floatingGroups.find(t=>t.group===e);if(n){if(t?.skipDispose||(n.group.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e)),M_(this._floatingGroups,n),n.dispose(),!t?.skipActive&&this._activeGroup===e){let e=Array.from(this._groups.values());this.doSetGroupAndPanelActive(e.length>0?e[0].value:void 0)}return n.group}throw Error(`dockview: failed to find floating group`)}if(e.api.location.type===`popout`){let n=this._popoutGroups.find(t=>t.popoutGroup===e);if(n){if(!t?.skipDispose){if(!t?.skipPopoutAssociated){let e=n.referenceGroup?this.getPanel(n.referenceGroup):void 0;e&&e.panels.length===0&&this.removeGroup(e)}n.popoutGroup.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e)}M_(this._popoutGroups,n);let r=n.disposable.dispose();if(!t?.skipPopoutReturn&&r&&(this.doAddGroup(r,[0]),this.doSetGroupAndPanelActive(r)),!t?.skipActive&&this._activeGroup===e){let e=Array.from(this._groups.values());this.doSetGroupAndPanelActive(e.length>0?e[0].value:void 0)}return this.updateWatermark(),n.popoutGroup}throw Error(`dockview: failed to find popout group`)}let i=super.doRemoveGroup(e,t);return t?.skipActive||this.activePanel!==r&&this._onDidActivePanelChange.fire(this.activePanel),i}debouncedUpdateAllPositions(){this._updatePositionsFrameId!==void 0&&cancelAnimationFrame(this._updatePositionsFrameId),this._updatePositionsFrameId=requestAnimationFrame(()=>{this._updatePositionsFrameId=void 0,this.overlayRenderContainer.updateAllPositions()})}movingLock(e){let t=this._moving;try{return this._moving=!0,e()}finally{this._moving=t}}moveGroupOrPanel(e){let t=e.to.group,n=e.from.groupId,r=e.from.panelId,i=e.to.position,a=e.to.index,o=n?this._groups.get(n)?.value:void 0;if(!o)throw Error(`dockview: Failed to find group id ${n}`);if(r===void 0){e.from.tabGroupId?this.moveTabGroupToGroup({sourceGroup:o,tabGroupId:e.from.tabGroupId,destinationGroup:t,destinationTarget:i,destinationIndex:a,skipSetActive:e.skipSetActive,keepEmptyGroups:e.keepEmptyGroups}):this.moveGroup({from:{group:o},to:{group:t,position:i},skipSetActive:e.skipSetActive});return}if(!i||i===`center`){let n=this.movingLock(()=>o.model.removePanel(r,{skipSetActive:!1,skipSetActiveGroup:!0}));if(!n)throw Error(`dockview: No panel with id ${r}`);!e.keepEmptyGroups&&o.model.size===0&&this.doRemoveGroup(o,{skipActive:!0});let i=t.model.size===0;this.movingLock(()=>t.model.openPanel(n,{index:a,skipSetActive:(e.skipSetActive??!1)&&!i,skipSetGroupActive:!0})),e.skipSetActive||this.doSetGroupAndPanelActive(t),this._onDidMovePanel.fire({panel:n,from:o})}else{let e=X_(t.element),n=Z_(this.gridview.orientation,e,i);if(o.size<2){let[e,a]=D_(n);if(o.api.location.type===`grid`){let[t,n]=D_(X_(o.element));if(O_(t,e)){this.gridview.moveView(t,n,a),this._onDidMovePanel.fire({panel:this.getGroupPanel(r),from:o});return}}if(o.api.location.type===`popout`){let e=this._popoutGroups.find(e=>e.popoutGroup===o),n=this.movingLock(()=>e.popoutGroup.model.removePanel(e.popoutGroup.panels[0],{skipSetActive:!0,skipSetActiveGroup:!0}));this.doRemoveGroup(o,{skipActive:!0});let a=Z_(this.gridview.orientation,X_(t.element),i),s=this.createGroupAtLocation(a);this.movingLock(()=>s.model.openPanel(n,{skipSetActive:!0})),this.doSetGroupAndPanelActive(s),this._onDidMovePanel.fire({panel:this.getGroupPanel(r),from:o});return}if(o.api.location.type===`edge`){let e=this.movingLock(()=>o.model.removePanel(r,{skipSetActive:!1,skipSetActiveGroup:!0}));if(!e)throw Error(`dockview: No panel with id ${r}`);let t=this.createGroupAtLocation(n);this.movingLock(()=>t.model.openPanel(e,{skipSetGroupActive:!0})),this.doSetGroupAndPanelActive(t),this._onDidMovePanel.fire({panel:e,from:o});return}let s=this.movingLock(()=>this.doRemoveGroup(o,{skipActive:!0,skipDispose:!0})),c=X_(t.element),l=Z_(this.gridview.orientation,c,i);this.movingLock(()=>this.doAddGroup(s,l)),this.doSetGroupAndPanelActive(s),this._onDidMovePanel.fire({panel:this.getGroupPanel(r),from:o})}else{let t=this.movingLock(()=>o.model.removePanel(r,{skipSetActive:!1,skipSetActiveGroup:!0}));if(!t)throw Error(`dockview: No panel with id ${r}`);let n=Z_(this.gridview.orientation,e,i),a=this.createGroupAtLocation(n);this.movingLock(()=>a.model.openPanel(t,{skipSetGroupActive:!0})),this.doSetGroupAndPanelActive(a),this._onDidMovePanel.fire({panel:t,from:o})}}}moveTabGroupToGroup(e){let{sourceGroup:t,tabGroupId:n,destinationGroup:r,destinationTarget:i,destinationIndex:a}=e,o=t.model.getTabGroups().find(e=>e.id===n);if(!o||o.panelIds.length===0)return;let s=o.label,c=o.color,l=o.collapsed,u=o.componentParams,d=[...o.panelIds],f=i&&i!==`center`?X_(r.element):void 0,p=this.movingLock(()=>d.map(e=>t.model.removePanel(e,{skipSetActive:!1,skipSetActiveGroup:!0})).filter(e=>e!==void 0));if(p.length===0)return;let m=n=>{this.movingLock(()=>{for(let e of p)n.model.openPanel(e,{index:a,skipSetActive:!0,skipSetGroupActive:!0})});let r=n.model.createTabGroup({label:s,color:c,collapsed:l,componentParams:u});for(let e of p)n.model.addPanelToTabGroup(r.id,e.id);e.skipSetActive||this.doSetGroupAndPanelActive(n);for(let e of p)this._onDidMovePanel.fire({panel:e,from:t})},h;if(!i||i===`center`||!f)h=r;else{let e=Z_(this.gridview.orientation,f,i);h=this.createGroupAtLocation(e)}!e.keepEmptyGroups&&t.model.size===0&&t!==h&&this.doRemoveGroup(t,{skipActive:!0}),m(h)}moveGroup(e){let t=e.from.group,n=e.to.group,r=e.to.position,i=t;if(r===`center`){let r=t.activePanel,i=t.model.getTabGroups().map(e=>({label:e.label,color:e.color,collapsed:e.collapsed,componentParams:e.componentParams,panelIds:[...e.panelIds]})),a=this.movingLock(()=>[...t.panels].map(e=>t.model.removePanel(e.id,{skipSetActive:!0})));t?.model.size===0&&this.doRemoveGroup(t,{skipActive:!0}),this.movingLock(()=>{for(let e of a)n.model.openPanel(e,{skipSetActive:e!==r,skipSetGroupActive:!0})});for(let e of i){let t=n.model.createTabGroup({label:e.label,color:e.color,collapsed:e.collapsed,componentParams:e.componentParams});for(let r of e.panelIds)n.model.addPanelToTabGroup(t.id,r)}e.skipSetActive===!0&&this.activePanel||this.doSetGroupAndPanelActive(n)}else{if(t.api.location.type===`edge`){let e=t.activePanel,n=t.model.getTabGroups().map(e=>({label:e.label,color:e.color,collapsed:e.collapsed,componentParams:e.componentParams,panelIds:[...e.panelIds]})),r=this.movingLock(()=>[...t.panels].map(e=>t.model.removePanel(e.id,{skipSetActive:!0})));i=this.createGroup(),this.movingLock(()=>{for(let t of r)i.model.openPanel(t,{skipSetActive:t!==e,skipSetGroupActive:!0})});for(let e of n){let t=i.model.createTabGroup({label:e.label,color:e.color,collapsed:e.collapsed,componentParams:e.componentParams});for(let n of e.panelIds)i.model.addPanelToTabGroup(t.id,n)}}else switch(t.api.location.type){case`grid`:this.gridview.removeView(X_(t.element));break;case`floating`:{let e=this._floatingGroups.find(e=>e.group===t);if(!e)throw Error(`dockview: failed to find floating group`);e.dispose();break}case`popout`:{let e=this._popoutGroups.find(e=>e.popoutGroup===t);if(!e)throw Error(`dockview: failed to find popout group`);let r=this._popoutGroups.indexOf(e);if(r>=0&&this._popoutGroups.splice(r,1),e.referenceGroup){let t=this.getPanel(e.referenceGroup);t&&!t.api.isVisible&&this.doRemoveGroup(t,{skipActive:!0})}e.window.dispose(),n.api.location.type===`grid`?(t.model.renderContainer=this.overlayRenderContainer,t.model.dropTargetContainer=this.rootDropTargetContainer,t.model.location={type:`grid`}):n.api.location.type===`floating`&&(t.model.renderContainer=this.overlayRenderContainer,t.model.dropTargetContainer=this.rootDropTargetContainer,t.model.location={type:`floating`});break}}if(n.api.location.type===`grid`){let e=X_(n.element),a=Z_(this.gridview.orientation,e,r),o;switch(this.gridview.orientation){case L_.VERTICAL:o=e.length%2==0?t.api.width:t.api.height;break;case L_.HORIZONTAL:o=e.length%2==0?t.api.height:t.api.width;break}this.gridview.addView(i,o,a)}else if(n.api.location.type===`floating`){let e=this._floatingGroups.find(e=>e.group===n);if(e){let t=e.overlay.toJSON(),n,r;n=`left`in t?t.left+50:`right`in t?Math.max(0,t.right-t.width-50):50,r=`top`in t?t.top+50:`bottom`in t?Math.max(0,t.bottom-t.height-50):50,this.addFloatingGroup(i,{height:t.height,width:t.width,position:{left:n,top:r}})}}}if(i.panels.forEach(e=>{this._onDidMovePanel.fire({panel:e,from:t})}),this.debouncedUpdateAllPositions(),e.skipSetActive===!1){let e=n??t;this.doSetGroupAndPanelActive(e)}else i!==t&&e.skipSetActive!==!0&&this.doSetGroupAndPanelActive(i)}doSetGroupActive(e){super.doSetGroupActive(e);let t=this.activePanel;!this._moving&&t!==this._onDidActivePanelChange.value&&this._onDidActivePanelChange.fire(t)}doSetGroupAndPanelActive(e){super.doSetGroupActive(e);let t=this.activePanel;e&&this.hasMaximizedGroup()&&!this.isMaximizedGroup(e)&&this.exitMaximizedGroup(),!this._moving&&t!==this._onDidActivePanelChange.value&&this._onDidActivePanelChange.fire(t)}getNextGroupId(){let e=this.nextGroupId.next();for(;this._groups.has(e);)e=this.nextGroupId.next();return e}createGroup(e){e||={};let t=e?.id;if(t&&this._groups.has(e.id)&&(console.warn(`dockview: Duplicate group id ${e?.id}. reassigning group id to avoid errors`),t=void 0),!t)for(t=this.nextGroupId.next();this._groups.has(t);)t=this.nextGroupId.next();let n=new Gy(this,t,e);if(n.init({params:{},accessor:this}),!this._groups.has(n.id)){let e=new Jg(n.model.onTabDragStart(e=>{this._onWillDragPanel.fire(e)}),n.model.onGroupDragStart(e=>{this._onWillDragGroup.fire(e)}),n.model.onMove(e=>{let{groupId:t,itemId:r,target:i,index:a,tabGroupId:o}=e;this.moveGroupOrPanel({from:{groupId:t,panelId:r,tabGroupId:o},to:{group:n,position:i,index:a}})}),n.model.onDidDrop(e=>{this._onDidDrop.fire(e)}),n.model.onWillDrop(e=>{this._onWillDrop.fire(e)}),n.model.onWillShowOverlay(e=>{if(this.options.disableDnd){e.preventDefault();return}this._onWillShowOverlay.fire(e)}),n.model.onUnhandledDragOverEvent(e=>{this._onUnhandledDragOverEvent.fire(e)}),n.model.onDidAddPanel(e=>{this._moving||this._onDidAddPanel.fire(e.panel)}),n.model.onDidRemovePanel(e=>{this._moving||this._onDidRemovePanel.fire(e.panel)}),n.model.onDidActivePanelChange(e=>{this._moving||e.panel===this.activePanel&&this._onDidActivePanelChange.value!==e.panel&&this._onDidActivePanelChange.fire(e.panel)}),n.model.onDidCreateTabGroup(e=>{this._onDidCreateTabGroup.fire(e)}),n.model.onDidDestroyTabGroup(e=>{this._onDidDestroyTabGroup.fire(e)}),n.model.onDidAddPanelToTabGroup(e=>{this._onDidAddPanelToTabGroup.fire(e)}),n.model.onDidRemovePanelFromTabGroup(e=>{this._onDidRemovePanelFromTabGroup.fire(e)}),n.model.onDidTabGroupChange(e=>{this._onDidTabGroupChange.fire(e)}),n.model.onDidTabGroupCollapsedChange(e=>{this._onDidTabGroupCollapsedChange.fire(e)}),Xg.any(n.model.onDidPanelTitleChange,n.model.onDidPanelParametersChange)(()=>{this._bufferOnDidLayoutChange.fire()}));this._groups.set(n.id,{value:n,disposable:e})}return n.initialize(),n}createPanel(e,t){let n=e.component,r=e.tabComponent??this.options.defaultTabComponent,i=new Xy(this,e.id,n,r),a=new Jy(e.id,n,r,this,this._api,t,i,{renderer:e.renderer,minimumWidth:e.minimumWidth,minimumHeight:e.minimumHeight,maximumWidth:e.maximumWidth,maximumHeight:e.maximumHeight});return a.init({title:e.title??e.id,params:e?.params??{}}),a}createGroupAtLocation(e,t,n){let r=this.createGroup(n);return this.doAddGroup(r,e,t),r}findGroup(e){return Array.from(this._groups.values()).find(t=>t.value.model.containsPanel(e))?.value}orientationAtLocation(e){let t=this.gridview.orientation;return e.length%2==1?t:ev(t)}updateDropTargetModel(e){if(`dndEdges`in e){let t=typeof e.dndEdges==`boolean`&&e.dndEdges===!1;this._rootDropTarget.disabled=t,this._rootPointerDropTarget.disabled=t,typeof e.dndEdges==`object`&&e.dndEdges!==null?(this._rootDropTarget.setOverlayModel(e.dndEdges),this._rootPointerDropTarget.setOverlayModel(e.dndEdges)):(this._rootDropTarget.setOverlayModel(Ab),this._rootPointerDropTarget.setOverlayModel(Ab))}`rootOverlayModel`in e&&this.updateDropTargetModel({dndEdges:e.dndEdges})}updateTheme(){var e,t,n,r;let i=this._options.theme??Ky;switch((e=this._shellThemeClassnames)==null||e.setClassNames(i.className),this.gridview.margin=i.gap??0,(t=this._shellManager)==null||t.updateTheme(i.gap??0,i.edgeGroupCollapsedSize??35),i.dndOverlayBorder===void 0?(this.element.style.removeProperty(`--dv-drag-over-border`),(r=this._shellManager)==null||r.element.style.removeProperty(`--dv-drag-over-border`)):(this.element.style.setProperty(`--dv-drag-over-border`,i.dndOverlayBorder),(n=this._shellManager)==null||n.element.style.setProperty(`--dv-drag-over-border`,i.dndOverlayBorder)),i.dndOverlayMounting){case`absolute`:this.rootDropTargetContainer.disabled=!1;break;default:this.rootDropTargetContainer.disabled=!0;break}let a=(i.tabGroupIndicator??`wrap`)===`none`;Q(this.element,`dv-tab-group-indicator-none`,a),this._shellManager&&Q(this._shellManager.element,`dv-tab-group-indicator-none`,a);for(let e of this.groups)e.model.updateTabGroups()}},Pb=class extends cv{get orientation(){return this.gridview.orientation}set orientation(e){this.gridview.orientation=e}get options(){return this._options}get deserializer(){return this._deserializer}set deserializer(e){this._deserializer=e}constructor(e,t){super(e,{proportionalLayout:t.proportionalLayout??!0,orientation:t.orientation,styles:t.hideBorders?{separatorBorder:`transparent`}:void 0,disableAutoResizing:t.disableAutoResizing,className:t.className}),this._onDidLayoutfromJSON=new X,this.onDidLayoutFromJSON=this._onDidLayoutfromJSON.event,this._onDidRemoveGroup=new X,this.onDidRemoveGroup=this._onDidRemoveGroup.event,this._onDidAddGroup=new X,this.onDidAddGroup=this._onDidAddGroup.event,this._onDidActiveGroupChange=new X,this.onDidActiveGroupChange=this._onDidActiveGroupChange.event,this._options=t,this.addDisposables(this._onDidAddGroup,this._onDidRemoveGroup,this._onDidActiveGroupChange,this.onDidAdd(e=>{this._onDidAddGroup.fire(e)}),this.onDidRemove(e=>{this._onDidRemoveGroup.fire(e)}),this.onDidActiveChange(e=>{this._onDidActiveGroupChange.fire(e)}))}updateOptions(e){super.updateOptions(e);let t=typeof e.orientation==`string`&&this.gridview.orientation!==e.orientation;this._options=Object.assign(Object.assign({},this.options),e),t&&(this.gridview.orientation=e.orientation),this.layout(this.gridview.width,this.gridview.height,!0)}removePanel(e){this.removeGroup(e)}toJSON(){return{grid:this.gridview.serialize(),activePanel:this.activeGroup?.id}}setVisible(e,t){this.gridview.setViewVisible(X_(e.element),t)}setActive(e){this._groups.forEach((t,n)=>{t.value.setActive(e===t.value)})}focus(){var e;(e=this.activeGroup)==null||e.focus()}fromJSON(e){this.clear();let{grid:t,activePanel:n}=e;try{let e=[],r=this.width,i=this.height;if(this.gridview.deserialize(t,{fromJSON:t=>{let{data:n}=t,r=this.options.createComponent({id:n.id,name:n.component});return e.push(()=>r.init({params:n.params,minimumWidth:n.minimumWidth,maximumWidth:n.maximumWidth,minimumHeight:n.minimumHeight,maximumHeight:n.maximumHeight,priority:n.priority,snap:!!n.snap,accessor:this,isVisible:t.visible})),this._onDidAddGroup.fire(r),this.registerPanel(r),r}}),this.layout(r,i,!0),e.forEach(e=>e()),typeof n==`string`){let e=this.getPanel(n);e&&this.doSetGroupActive(e)}}catch(e){for(let e of this.groups)e.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e);throw this.clear(),e}this._onDidLayoutfromJSON.fire()}clear(){let e=this.activeGroup,t=Array.from(this._groups.values());for(let e of t)e.disposable.dispose(),this.doRemoveGroup(e.value,{skipActive:!0});e&&this.doSetGroupActive(void 0),this.gridview.clear()}movePanel(e,t){let n,r=this.gridview.remove(e),i=this._groups.get(t.reference)?.value;if(!i)throw Error(`reference group ${t.reference} does not exist`);let a=sv(t.direction);if(a===`center`)throw Error(`${a} not supported as an option`);{let e=X_(i.element);n=Z_(this.gridview.orientation,e,a)}this.doAddGroup(r,n,t.size)}addPanel(e){let t=e.location??[0];if(e.position?.referencePanel){let n=this._groups.get(e.position.referencePanel)?.value;if(!n)throw Error(`reference group ${e.position.referencePanel} does not exist`);let r=sv(e.position.direction);if(r===`center`)throw Error(`${r} not supported as an option`);{let e=X_(n.element);t=Z_(this.gridview.orientation,e,r)}}let n=this.options.createComponent({id:e.id,name:e.component});return n.init({params:e.params??{},minimumWidth:e.minimumWidth,maximumWidth:e.maximumWidth,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,priority:e.priority,snap:!!e.snap,accessor:this,isVisible:!0}),this.doAddGroup(n,t,e.size),this.registerPanel(n),this.doSetGroupActive(n),n}registerPanel(e){let t=new Jg(e.api.onDidFocusChange(t=>{t.isFocused&&this._groups.forEach(t=>{let n=t.value;n===e?n.setActive(!0):n.setActive(!1)})}));this._groups.set(e.id,{value:e,disposable:t})}moveGroup(e,t,n){let r=this.getPanel(t);if(!r)throw Error(`invalid operation`);let i=X_(e.element),[a,o]=D_(Z_(this.gridview.orientation,i,n)),[s,c]=D_(X_(r.element));if(O_(s,a)){this.gridview.moveView(s,c,o);return}let l=this.doRemoveGroup(r,{skipActive:!0,skipDispose:!0}),u=X_(e.element),d=Z_(this.gridview.orientation,u,n);this.doAddGroup(l,d)}removeGroup(e){super.removeGroup(e)}dispose(){super.dispose(),this._onDidLayoutfromJSON.dispose()}},Fb=class extends av{get panels(){return this.splitview.getViews()}get options(){return this._options}get length(){return this._panels.size}get orientation(){return this.splitview.orientation}get splitview(){return this._splitview}set splitview(e){this._splitview&&this._splitview.dispose(),this._splitview=e,this._splitviewChangeDisposable.value=new Jg(this._splitview.onDidSashEnd(()=>{this._onDidLayoutChange.fire(void 0)}),this._splitview.onDidAddView(e=>this._onDidAddView.fire(e)),this._splitview.onDidRemoveView(e=>this._onDidRemoveView.fire(e)))}get minimumSize(){return this.splitview.minimumSize}get maximumSize(){return this.splitview.maximumSize}get height(){return this.splitview.orientation===L_.HORIZONTAL?this.splitview.orthogonalSize:this.splitview.size}get width(){return this.splitview.orientation===L_.HORIZONTAL?this.splitview.size:this.splitview.orthogonalSize}constructor(e,t){super(document.createElement(`div`),t.disableAutoResizing),this._splitviewChangeDisposable=new Yg,this._panels=new Map,this._onDidLayoutfromJSON=new X,this.onDidLayoutFromJSON=this._onDidLayoutfromJSON.event,this._onDidAddView=new X,this.onDidAddView=this._onDidAddView.event,this._onDidRemoveView=new X,this.onDidRemoveView=this._onDidRemoveView.event,this._onDidLayoutChange=new X,this.onDidLayoutChange=this._onDidLayoutChange.event,this.element.style.height=`100%`,this.element.style.width=`100%`,this._classNames=new b_(this.element),this._classNames.setClassNames(t.className??``),e.appendChild(this.element),this._options=t,this.splitview=new V_(this.element,t),this.addDisposables(this._onDidAddView,this._onDidLayoutfromJSON,this._onDidRemoveView,this._onDidLayoutChange)}updateOptions(e){`className`in e&&this._classNames.setClassNames(e.className??``),`disableResizing`in e&&(this.disableResizing=e.disableAutoResizing??!1),typeof e.orientation==`string`&&(this.splitview.orientation=e.orientation),this._options=Object.assign(Object.assign({},this.options),e),this.splitview.layout(this.splitview.size,this.splitview.orthogonalSize)}focus(){var e;(e=this._activePanel)==null||e.focus()}movePanel(e,t){this.splitview.moveView(e,t)}setVisible(e,t){let n=this.panels.indexOf(e);this.splitview.setViewVisible(n,t)}setActive(e,t){this._activePanel=e,this.panels.filter(t=>t!==e).forEach(e=>{e.api._onDidActiveChange.fire({isActive:!1}),t||e.focus()}),e.api._onDidActiveChange.fire({isActive:!0}),t||e.focus()}removePanel(e,t){let n=this._panels.get(e.id);if(!n)throw Error(`unknown splitview panel ${e.id}`);n.dispose(),this._panels.delete(e.id);let r=this.panels.findIndex(t=>t===e);this.splitview.removeView(r,t).dispose();let i=this.panels;i.length>0&&this.setActive(i[i.length-1])}getPanel(e){return this.panels.find(t=>t.id===e)}addPanel(e){if(this._panels.has(e.id))throw Error(`panel ${e.id} already exists`);let t=this.options.createComponent({id:e.id,name:e.component});t.orientation=this.splitview.orientation,t.init({params:e.params??{},minimumSize:e.minimumSize,maximumSize:e.maximumSize,snap:e.snap,priority:e.priority,accessor:this});let n=typeof e.size==`number`?e.size:B_.Distribute,r=typeof e.index==`number`?e.index:void 0;return this.splitview.addView(t,n,r),this.doAddView(t),this.setActive(t),t}layout(e,t){let[n,r]=this.splitview.orientation===L_.HORIZONTAL?[e,t]:[t,e];this.splitview.layout(n,r)}doAddView(e){let t=e.api.onDidFocusChange(t=>{t.isFocused&&this.setActive(e,!0)});this._panels.set(e.id,t)}toJSON(){return{views:this.splitview.getViews().map((e,t)=>({size:this.splitview.getViewSize(t),data:e.toJSON(),snap:!!e.snap,priority:e.priority})),activeView:this._activePanel?.id,size:this.splitview.size,orientation:this.splitview.orientation}}fromJSON(e){this.clear();let{views:t,orientation:n,size:r,activeView:i}=e,a=[],o=this.width,s=this.height;if(this.splitview=new V_(this.element,{orientation:n,proportionalLayout:this.options.proportionalLayout,descriptor:{size:r,views:t.map(e=>{let t=e.data;if(this._panels.has(t.id))throw Error(`panel ${t.id} already exists`);let r=this.options.createComponent({id:t.id,name:t.component});return a.push(()=>{r.init({params:t.params??{},minimumSize:t.minimumSize,maximumSize:t.maximumSize,snap:e.snap,priority:e.priority,accessor:this})}),r.orientation=n,this.doAddView(r),setTimeout(()=>{this._onDidAddView.fire(r)},0),{size:e.size,view:r}})}}),this.layout(o,s),a.forEach(e=>e()),typeof i==`string`){let e=this.getPanel(i);e&&this.setActive(e)}this._onDidLayoutfromJSON.fire()}clear(){for(let e of this._panels.values())e.dispose();for(this._panels.clear();this.splitview.length>0;)this.splitview.removeView(0,B_.Distribute,!0).dispose()}dispose(){for(let e of this._panels.values())e.dispose();this._panels.clear();let e=this.splitview.getViews();this._splitviewChangeDisposable.dispose(),this.splitview.dispose();for(let t of e)t.dispose();this.element.remove(),super.dispose()}},Ib=class extends Jg{get element(){return this._element}constructor(){super(),this._expandedIcon=Ty(),this._collapsedIcon=Ey(),this.disposable=new Yg,this.apiRef={api:null},this._element=document.createElement(`div`),this.element.className=`dv-default-header`,this._content=document.createElement(`span`),this._expander=document.createElement(`div`),this._expander.className=`dv-pane-header-icon`,this.element.appendChild(this._expander),this.element.appendChild(this._content),this.addDisposables(Z(this._element,`click`,()=>{var e;(e=this.apiRef.api)==null||e.setExpanded(!this.apiRef.api.isExpanded)}))}init(e){this.apiRef.api=e.api,this._content.textContent=e.title,this.updateIcon(),this.disposable.value=e.api.onDidExpansionChange(()=>{this.updateIcon()})}updateIcon(){let e=!!this.apiRef.api?.isExpanded;Q(this._expander,`collapsed`,!e),e?(this._expander.contains(this._collapsedIcon)&&this._collapsedIcon.remove(),this._expander.contains(this._expandedIcon)||this._expander.appendChild(this._expandedIcon)):(this._expander.contains(this._expandedIcon)&&this._expandedIcon.remove(),this._expander.contains(this._collapsedIcon)||this._expander.appendChild(this._collapsedIcon))}update(e){}dispose(){this.disposable.dispose(),super.dispose()}},Lb=P_(),Rb=22,zb=0,Bb=2**53-1,Vb=class extends Qv{constructor(e){super({accessor:e.accessor,id:e.id,component:e.component,headerComponent:e.headerComponent,orientation:e.orientation,isExpanded:e.isExpanded,disableDnd:e.disableDnd,headerSize:e.headerSize,minimumBodySize:e.minimumBodySize,maximumBodySize:e.maximumBodySize}),this.options=e}getBodyComponent(){return this.options.body}getHeaderComponent(){return this.options.header}},Hb=class extends av{get id(){return this._id}get panels(){return this.paneview.getPanes()}set paneview(e){this._paneview=e,this._disposable.value=new Jg(this._paneview.onDidChange(()=>{this._onDidLayoutChange.fire(void 0)}),this._paneview.onDidAddView(e=>this._onDidAddView.fire(e)),this._paneview.onDidRemoveView(e=>this._onDidRemoveView.fire(e)))}get paneview(){return this._paneview}get minimumSize(){return this.paneview.minimumSize}get maximumSize(){return this.paneview.maximumSize}get height(){return this.paneview.orientation===L_.HORIZONTAL?this.paneview.orthogonalSize:this.paneview.size}get width(){return this.paneview.orientation===L_.HORIZONTAL?this.paneview.size:this.paneview.orthogonalSize}get options(){return this._options}constructor(e,t){super(document.createElement(`div`),t.disableAutoResizing),this._id=Lb.next(),this._disposable=new Yg,this._viewDisposables=new Map,this._onDidLayoutfromJSON=new X,this.onDidLayoutFromJSON=this._onDidLayoutfromJSON.event,this._onDidLayoutChange=new X,this.onDidLayoutChange=this._onDidLayoutChange.event,this._onDidDrop=new X,this.onDidDrop=this._onDidDrop.event,this._onDidAddView=new X,this.onDidAddView=this._onDidAddView.event,this._onDidRemoveView=new X,this.onDidRemoveView=this._onDidRemoveView.event,this._onUnhandledDragOverEvent=new X,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this.element.style.height=`100%`,this.element.style.width=`100%`,this.addDisposables(this._onDidLayoutChange,this._onDidLayoutfromJSON,this._onDidDrop,this._onDidAddView,this._onDidRemoveView,this._onUnhandledDragOverEvent),this._classNames=new b_(this.element),this._classNames.setClassNames(t.className??``),e.appendChild(this.element),this._options=t,this.paneview=new U_(this.element,{orientation:L_.VERTICAL}),this.addDisposables(this._disposable)}setVisible(e,t){let n=this.panels.indexOf(e);this.paneview.setViewVisible(n,t)}focus(){}updateOptions(e){`className`in e&&this._classNames.setClassNames(e.className??``),`disableResizing`in e&&(this.disableResizing=e.disableAutoResizing??!1),this._options=Object.assign(Object.assign({},this.options),e)}addPanel(e){let t=this.options.createComponent({id:e.id,name:e.component}),n;e.headerComponent&&this.options.createHeaderComponent&&(n=this.options.createHeaderComponent({id:e.id,name:e.headerComponent})),n||=new Ib;let r=new Vb({id:e.id,component:e.component,headerComponent:e.headerComponent,header:n,body:t,orientation:L_.VERTICAL,isExpanded:!!e.isExpanded,disableDnd:!!this.options.disableDnd,accessor:this,headerSize:e.headerSize??Rb,minimumBodySize:zb,maximumBodySize:Bb});this.doAddPanel(r);let i=typeof e.size==`number`?e.size:B_.Distribute,a=typeof e.index==`number`?e.index:void 0;return r.init({params:e.params??{},minimumBodySize:e.minimumBodySize,maximumBodySize:e.maximumBodySize,isExpanded:e.isExpanded,title:e.title,containerApi:new uv(this),accessor:this}),this.paneview.addPane(r,i,a),r.orientation=this.paneview.orientation,r}removePanel(e){let t=this.panels.findIndex(t=>t===e);this.paneview.removePane(t),this.doRemovePanel(e)}movePanel(e,t){this.paneview.moveView(e,t)}getPanel(e){return this.panels.find(t=>t.id===e)}layout(e,t){let[n,r]=this.paneview.orientation===L_.HORIZONTAL?[e,t]:[t,e];this.paneview.layout(n,r)}toJSON(){let e=e=>e===2**53-1||e===1/0?void 0:e,t=e=>e<=0?void 0:e;return{views:this.paneview.getPanes().map((n,r)=>({size:this.paneview.getViewSize(r),data:n.toJSON(),minimumSize:t(n.minimumBodySize),maximumSize:e(n.maximumBodySize),headerSize:n.headerSize,expanded:n.isExpanded()})),size:this.paneview.size}}fromJSON(e){this.clear();let{views:t,size:n}=e,r=[],i=this.width,a=this.height;this.paneview=new U_(this.element,{orientation:L_.VERTICAL,descriptor:{size:n,views:t.map(e=>{let t=e.data,n=this.options.createComponent({id:t.id,name:t.component}),i;t.headerComponent&&this.options.createHeaderComponent&&(i=this.options.createHeaderComponent({id:t.id,name:t.headerComponent})),i||=new Ib;let a=new Vb({id:t.id,component:t.component,headerComponent:t.headerComponent,header:i,body:n,orientation:L_.VERTICAL,isExpanded:!!e.expanded,disableDnd:!!this.options.disableDnd,accessor:this,headerSize:e.headerSize??Rb,minimumBodySize:e.minimumSize??zb,maximumBodySize:e.maximumSize??Bb});return this.doAddPanel(a),r.push(()=>{a.init({params:t.params??{},minimumBodySize:e.minimumSize,maximumBodySize:e.maximumSize,title:t.title,isExpanded:!!e.expanded,containerApi:new uv(this),accessor:this}),a.orientation=this.paneview.orientation}),setTimeout(()=>{this._onDidAddView.fire(a)},0),{size:e.size,view:a}})}}),this.layout(i,a),r.forEach(e=>e()),this._onDidLayoutfromJSON.fire()}clear(){for(let[e,t]of this._viewDisposables.entries())t.dispose();this._viewDisposables.clear(),this.paneview.dispose()}doAddPanel(e){let t=new Jg(e.onDidDrop(e=>{this._onDidDrop.fire(e)}),e.onUnhandledDragOverEvent(e=>{this._onUnhandledDragOverEvent.fire(e)}));this._viewDisposables.set(e.id,t)}doRemovePanel(e){let t=this._viewDisposables.get(e.id);t&&(t.dispose(),this._viewDisposables.delete(e.id))}dispose(){super.dispose();for(let[e,t]of this._viewDisposables.entries())t.dispose();this._viewDisposables.clear(),this.element.remove(),this.paneview.dispose()}},Ub=class extends Xv{get priority(){return this._priority}set orientation(e){this._orientation=e}get orientation(){return this._orientation}get minimumSize(){let e=typeof this._minimumSize==`function`?this._minimumSize():this._minimumSize;return e!==this._evaluatedMinimumSize&&(this._evaluatedMinimumSize=e,this.updateConstraints()),e}get maximumSize(){let e=typeof this._maximumSize==`function`?this._maximumSize():this._maximumSize;return e!==this._evaluatedMaximumSize&&(this._evaluatedMaximumSize=e,this.updateConstraints()),e}get snap(){return this._snap}constructor(e,t){super(e,t,new Jv(e,t)),this._evaluatedMinimumSize=0,this._evaluatedMaximumSize=1/0,this._minimumSize=0,this._maximumSize=1/0,this._snap=!1,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this.api.initialize(this),this.addDisposables(this._onDidChange,this.api.onWillVisibilityChange(e=>{let{isVisible:t}=e,{accessor:n}=this._params;n.setVisible(this,t)}),this.api.onActiveChange(()=>{let{accessor:e}=this._params;e.setActive(this)}),this.api.onDidConstraintsChangeInternal(e=>{(typeof e.minimumSize==`number`||typeof e.minimumSize==`function`)&&(this._minimumSize=e.minimumSize),(typeof e.maximumSize==`number`||typeof e.maximumSize==`function`)&&(this._maximumSize=e.maximumSize),this.updateConstraints()}),this.api.onDidSizeChange(e=>{this._onDidChange.fire({size:e.size})}))}setVisible(e){this.api._onDidVisibilityChange.fire({isVisible:e})}setActive(e){this.api._onDidActiveChange.fire({isActive:e})}layout(e,t){let[n,r]=this.orientation===L_.HORIZONTAL?[e,t]:[t,e];super.layout(n,r)}init(e){super.init(e),this._priority=e.priority,e.minimumSize&&(this._minimumSize=e.minimumSize),e.maximumSize&&(this._maximumSize=e.maximumSize),e.snap&&(this._snap=e.snap)}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{minimumSize:(e=>e<=0?void 0:e)(this.minimumSize),maximumSize:(e=>e===2**53-1||e===1/0?void 0:e)(this.maximumSize)})}updateConstraints(){this.api._onDidConstraintsChange.fire({maximumSize:this._evaluatedMaximumSize,minimumSize:this._evaluatedMinimumSize})}};function Wb(e,t){return new Nb(e,t).api}function Gb(e,t){return new lv(new Fb(e,t))}function Kb(e,t){return new dv(new Pb(e,t))}function qb(e,t){return new uv(new Hb(e,t))}var Jb=(e,t)=>{let[,n]=y.useState(0),r=y.useRef(e.componentProps);return y.useImperativeHandle(t,()=>({update:e=>{r.current=Object.assign(Object.assign({},r.current),e),n(e=>e+1)}}),[]),y.createElement(e.component,r.current)};Jb.displayName=`DockviewReactJsBridge`;var Yb=(()=>{let e=1;return{next:()=>`dockview_react_portal_key_${(e++).toString()}`}})(),Xb=y.createContext({}),Zb=class{constructor(e,t,n,r,i){this.parent=e,this.portalStore=t,this.component=n,this.parameters=r,this.context=i,this._initialProps={},this.disposed=!1,this.createPortal()}update(e){if(this.disposed)throw Error(`invalid operation: resource is already disposed`);this.componentInstance?this.componentInstance.update(e):this._initialProps=Object.assign(Object.assign({},this._initialProps),e)}createPortal(){if(this.disposed)throw Error(`invalid operation: resource is already disposed`);if(!$b(this.component))throw Error(`Dockview: Only React.memo(...), React.ForwardRef(...) and functional components are accepted as components`);let e=y.createElement(y.forwardRef(Jb),{component:this.component,componentProps:this.parameters,ref:e=>{this.componentInstance=e,Object.keys(this._initialProps).length>0&&(this.componentInstance.update(this._initialProps),this._initialProps={})}}),t=this.context?y.createElement(Xb.Provider,{value:this.context},e):e,n=Pt.createPortal(t,this.parent,Yb.next());this.ref={portal:n,disposable:this.portalStore.addPortal(n)}}dispose(){var e;(e=this.ref)==null||e.disposable.dispose(),this.disposed=!0}},Qb=()=>{let[e,t]=y.useState([]);return y.useDebugValue(`Portal count: ${e.length}`),[e,y.useCallback(e=>{t(t=>[...t,e]);let n=!1;return qg.from(()=>{if(n)throw Error(`invalid operation: resource already disposed`);n=!0,t(t=>t.filter(t=>t!==e))})},[])]};function $b(e){return typeof e==`function`||!!e?.$$typeof}var ex=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._onDidFocus=new X,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new X,this.onDidBlur=this._onDidBlur.event,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}focus(){}init(e){this.part=new Zb(this.element,this.reactPortalStore,this.component,{params:e.params,api:e.api,containerApi:e.containerApi})}update(e){var t;(t=this.part)==null||t.update({params:e.params})}layout(e,t){}dispose(){var e;this._onDidFocus.dispose(),this._onDidBlur.dispose(),(e=this.part)==null||e.dispose()}},tx=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}focus(){}init(e){this.part=new Zb(this.element,this.reactPortalStore,this.component,{params:e.params,api:e.api,containerApi:e.containerApi,tabLocation:e.tabLocation})}update(e){var t;(t=this.part)==null||t.update({params:e.params})}layout(e,t){}dispose(){var e;(e=this.part)==null||e.dispose()}},nx=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}init(e){this.part=new Zb(this.element,this.reactPortalStore,this.component,{group:e.group,containerApi:e.containerApi})}focus(){}update(e){var t;this.parameters&&(this.parameters.params=e.params),(t=this.part)==null||t.update({params:this.parameters?.params??{}})}layout(e,t){}dispose(){var e;(e=this.part)==null||e.dispose()}},rx=class{get element(){return this._element}get part(){return this._part}constructor(e,t,n){this.component=e,this.reactPortalStore=t,this._group=n,this.mutableDisposable=new Yg,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}init(e){this.mutableDisposable.value=new Jg(this._group.model.onDidAddPanel(()=>{this.updatePanels()}),this._group.model.onDidRemovePanel(()=>{this.updatePanels()}),this._group.model.onDidActivePanelChange(()=>{this.updateActivePanel()}),e.api.onDidActiveChange(()=>{this.updateGroupActive()}),e.api.onDidLocationChange(e=>{this.updateLocation(e.location)})),this._part=new Zb(this.element,this.reactPortalStore,this.component,{api:e.api,containerApi:e.containerApi,panels:this._group.model.panels,activePanel:this._group.model.activePanel,isGroupActive:this._group.api.isActive,group:this._group,headerPosition:this._group.model.headerPosition,location:e.api.location})}dispose(){var e;this.mutableDisposable.dispose(),(e=this._part)==null||e.dispose()}update(e){var t;(t=this._part)==null||t.update(e.params)}updatePanels(){this.update({params:{panels:this._group.model.panels}})}updateActivePanel(){this.update({params:{activePanel:this._group.model.activePanel}})}updateGroupActive(){this.update({params:{isGroupActive:this._group.api.isActive}})}updateLocation(e){this.update({params:{location:e}})}},ix=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}init(e){this.part=new Zb(this._element,this.reactPortalStore,this.component,e)}dispose(){var e;(e=this.part)==null||e.dispose()}},ax=class{get element(){return this._element}constructor(e,t){this.component=e,this.reactPortalStore=t,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.display=`inline-flex`}init(e){this.part=new Zb(this._element,this.reactPortalStore,this.component,{tabGroup:e.tabGroup,api:e.api})}update(e){var t;(t=this.part)==null||t.update({tabGroup:e.tabGroup})}dispose(){var e;(e=this.part)==null||e.dispose()}},ox=class{get element(){return this._element}constructor(e,t){this.component=e,this.reactPortalStore=t,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.display=`inline-flex`}init(e){this.part=new Zb(this._element,this.reactPortalStore,this.component,{group:e.group,api:e.api})}dispose(){var e;(e=this.part)==null||e.dispose()}};function sx(e,t){return e?n=>new rx(e,t,n):void 0}var cx=`props.defaultTabComponent`;function lx(e){return Ay.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}var ux=y.forwardRef((e,t)=>{let n=y.useRef(null),r=y.useRef(void 0),[i,a]=Qb();y.useImperativeHandle(t,()=>n.current,[]);let o=y.useRef({});return y.useEffect(()=>{let t={};Ay.forEach(n=>{let r=n,i=e[r];r in e&&i!==o.current[r]&&(t[r]=i)}),r.current&&r.current.updateOptions(t),o.current=e},Ay.map(t=>e[t])),y.useEffect(()=>{if(!n.current)return;let t=e.tabComponents??{};e.defaultTabComponent&&(t[cx]=e.defaultTabComponent);let i={createLeftHeaderActionComponent:sx(e.leftHeaderActionsComponent,{addPortal:a}),createRightHeaderActionComponent:sx(e.rightHeaderActionsComponent,{addPortal:a}),createPrefixHeaderActionComponent:sx(e.prefixHeaderActionsComponent,{addPortal:a}),createComponent:t=>new ex(t.id,e.components[t.name],{addPortal:a}),createTabComponent(e){return new tx(e.id,t[e.name],{addPortal:a})},createWatermarkComponent:e.watermarkComponent?()=>new nx(`watermark`,e.watermarkComponent,{addPortal:a}):void 0,defaultTabComponent:e.defaultTabComponent?cx:void 0,createContextMenuItemComponent:e=>{if(e.component)return new ix(e.id,e.component,{addPortal:a})}},o=lx(e);if(e.tabGroupChipComponent){let t=e.tabGroupChipComponent;o.createTabGroupChipComponent=()=>new ax(t,{addPortal:a})}if(e.groupDragGhostComponent){let t=e.groupDragGhostComponent;o.createGroupDragGhostComponent=()=>new ox(t,{addPortal:a})}let s=Wb(n.current,Object.assign(Object.assign({},o),i)),{clientWidth:c,clientHeight:l}=n.current;return s.layout(c,l),e.onReady&&e.onReady({api:s}),r.current=s,()=>{r.current=void 0,s.dispose()}},[]),y.useEffect(()=>{if(!r.current)return()=>{};let t=r.current.onDidDrop(t=>{e.onDidDrop&&e.onDidDrop(t)});return()=>{t.dispose()}},[e.onDidDrop]),y.useEffect(()=>{if(!r.current)return()=>{};let t=r.current.onWillDrop(t=>{e.onWillDrop&&e.onWillDrop(t)});return()=>{t.dispose()}},[e.onWillDrop]),y.useEffect(()=>{r.current&&r.current.updateOptions({createTabGroupChipComponent:e.tabGroupChipComponent?()=>new ax(e.tabGroupChipComponent,{addPortal:a}):void 0})},[e.tabGroupChipComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createGroupDragGhostComponent:e.groupDragGhostComponent?()=>new ox(e.groupDragGhostComponent,{addPortal:a}):void 0})},[e.groupDragGhostComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createComponent:t=>new ex(t.id,e.components[t.name],{addPortal:a})})},[e.components]),y.useEffect(()=>{if(!r.current)return;let t=e.tabComponents??{};e.defaultTabComponent&&(t[cx]=e.defaultTabComponent),r.current.updateOptions({defaultTabComponent:e.defaultTabComponent?cx:void 0,createTabComponent(e){return new tx(e.id,t[e.name],{addPortal:a})}})},[e.tabComponents,e.defaultTabComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createWatermarkComponent:e.watermarkComponent?()=>new nx(`watermark`,e.watermarkComponent,{addPortal:a}):void 0})},[e.watermarkComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createRightHeaderActionComponent:sx(e.rightHeaderActionsComponent,{addPortal:a})})},[e.rightHeaderActionsComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createLeftHeaderActionComponent:sx(e.leftHeaderActionsComponent,{addPortal:a})})},[e.leftHeaderActionsComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createPrefixHeaderActionComponent:sx(e.prefixHeaderActionsComponent,{addPortal:a})})},[e.prefixHeaderActionsComponent]),y.createElement(`div`,{style:{height:`100%`,width:`100%`},ref:n},i)});ux.displayName=`DockviewComponent`;var dx=class extends Ub{constructor(e,t,n,r){super(e,t),this.reactComponent=n,this.reactPortalStore=r}getComponent(){return new Zb(this.element,this.reactPortalStore,this.reactComponent,{params:this._params?.params??{},api:this.api,containerApi:new lv(this._params.accessor)})}};function fx(e){return H_.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}var px=y.forwardRef((e,t)=>{let n=y.useRef(null),r=y.useRef(void 0),[i,a]=Qb();y.useImperativeHandle(t,()=>n.current,[]);let o=y.useRef({});return y.useEffect(()=>{let t={};H_.forEach(n=>{let r=n,i=e[r];r in e&&i!==o.current[r]&&(t[r]=i)}),r.current&&r.current.updateOptions(t),o.current=e},H_.map(t=>e[t])),y.useEffect(()=>{if(!n.current)return()=>{};let t=Gb(n.current,Object.assign(Object.assign({},fx(e)),{createComponent:t=>new dx(t.id,t.name,e.components[t.name],{addPortal:a})})),{clientWidth:i,clientHeight:o}=n.current;return t.layout(i,o),e.onReady&&e.onReady({api:t}),r.current=t,()=>{r.current=void 0,t.dispose()}},[]),y.useEffect(()=>{r.current&&r.current.updateOptions({createComponent:t=>new dx(t.id,t.name,e.components[t.name],{addPortal:a})})},[e.components]),y.createElement(`div`,{style:{height:`100%`,width:`100%`},ref:n},i)});px.displayName=`SplitviewComponent`;var mx=class extends By{constructor(e,t,n,r){super(e,t),this.reactComponent=n,this.reactPortalStore=r}getComponent(){return new Zb(this.element,this.reactPortalStore,this.reactComponent,{params:this._params?.params??{},api:this.api,containerApi:new dv(this._params.accessor)})}};function hx(e){return iv.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}var gx=y.forwardRef((e,t)=>{let n=y.useRef(null),r=y.useRef(void 0),[i,a]=Qb();y.useImperativeHandle(t,()=>n.current,[]);let o=y.useRef({});return y.useEffect(()=>{let t={};iv.forEach(n=>{let r=n,i=e[r];r in e&&i!==o.current[r]&&(t[r]=i)}),r.current&&r.current.updateOptions(t),o.current=e},iv.map(t=>e[t])),y.useEffect(()=>{if(!n.current)return()=>{};let t=Kb(n.current,Object.assign(Object.assign({},hx(e)),{createComponent:t=>new mx(t.id,t.name,e.components[t.name],{addPortal:a})})),{clientWidth:i,clientHeight:o}=n.current;return t.layout(i,o),e.onReady&&e.onReady({api:t}),r.current=t,()=>{r.current=void 0,t.dispose()}},[]),y.useEffect(()=>{r.current&&r.current.updateOptions({createComponent:t=>new mx(t.id,t.name,e.components[t.name],{addPortal:a})})},[e.components]),y.createElement(`div`,{style:{height:`100%`,width:`100%`},ref:n},i)});gx.displayName=`GridviewComponent`;var _x=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._element=document.createElement(`div`),this._element.style.height=`100%`,this._element.style.width=`100%`}init(e){this.part=new Zb(this.element,this.reactPortalStore,this.component,{params:e.params,api:e.api,title:e.title,containerApi:e.containerApi})}toJSON(){return{id:this.id}}update(e){var t;(t=this.part)==null||t.update(e.params)}dispose(){var e;(e=this.part)==null||e.dispose()}};function vx(e){return Wv.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}var yx=y.forwardRef((e,t)=>{let n=y.useRef(null),r=y.useRef(void 0),[i,a]=Qb();y.useImperativeHandle(t,()=>n.current,[]);let o=y.useRef({});return y.useEffect(()=>{let t={};Wv.forEach(n=>{let r=n,i=e[r];r in e&&i!==o.current[r]&&(t[r]=i)}),r.current&&r.current.updateOptions(t),o.current=e},Wv.map(t=>e[t])),y.useEffect(()=>{if(!n.current)return()=>{};let t=e.headerComponents??{},i=qb(n.current,Object.assign(Object.assign({},vx(e)),{createComponent:t=>new _x(t.id,e.components[t.name],{addPortal:a}),createHeaderComponent:e=>new _x(e.id,t[e.name],{addPortal:a})})),{clientWidth:o,clientHeight:s}=n.current;return i.layout(o,s),e.onReady&&e.onReady({api:i}),r.current=i,()=>{r.current=void 0,i.dispose()}},[]),y.useEffect(()=>{r.current&&r.current.updateOptions({createComponent:t=>new _x(t.id,e.components[t.name],{addPortal:a})})},[e.components]),y.useEffect(()=>{if(!r.current)return;let t=e.headerComponents??{};r.current.updateOptions({createHeaderComponent:e=>new _x(e.id,t[e.name],{addPortal:a})})},[e.headerComponents]),y.useEffect(()=>{if(!r.current)return()=>{};let t=r.current.onDidDrop(t=>{e.onDidDrop&&e.onDidDrop(t)});return()=>{t.dispose()}},[e.onDidDrop]),y.createElement(`div`,{style:{height:`100%`,width:`100%`},ref:n},i)});yx.displayName=`PaneviewComponent`;function bx({panelLabel:e,hint:t,open:n,onClose:r}){return(0,x.jsx)(uc,{open:n,onOpenChange:e=>{e||r()},title:`${e} settings`,description:t??`Panel settings will appear here in a later slice.`})}var $={crew:`agent-rail`,chat:`chat-workspace`,activity:`activity`,files:`files-explorer`,browser:`browser`},xx=[`external`,`settings`,`expand`,`close`];function Sx(e){return xx.filter(t=>e.includes(t))}function Cx(e){switch(e){case $.crew:return{actions:[`settings`],settingsHint:`Workspace members, invites, and contact management.`};case $.chat:return{actions:[`settings`,`expand`,`close`],settingsHint:`Context settings for the active agent lane, project, or DM.`};case $.activity:return{actions:[`close`]};case $.files:return{actions:[`close`]};case $.browser:return{actions:[`external`,`expand`,`close`]};default:return{actions:[`settings`,`expand`,`close`]}}}function wx({panelId:e,panelLabel:t,api:n,className:r,externalHref:i,settingsOpen:a,onSettingsOpenChange:o,renderSettings:s}){let c=Cx(e),l=i??c.externalHref?.(),u=Sx(c.actions).filter(e=>!(e===`external`&&!l||(e===`close`||e===`expand`)&&!n)),[d,f]=(0,y.useState)(!1),p=a??d,m=o??f,[h,g]=(0,y.useState)(()=>n?.isMaximized()??!1),_={close:(0,y.useCallback)(()=>{n?.close()},[n]),expand:(0,y.useCallback)(()=>{if(n){if(n.isMaximized()){n.exitMaximized(),g(!1);return}n.maximize(),g(!0)}},[n]),settings:(0,y.useCallback)(()=>{m(!0)},[m]),external:(0,y.useCallback)(()=>{l&&window.open(l,`_blank`,`noopener,noreferrer`)},[l])};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(kf,{delayDuration:400,children:(0,x.jsx)(`div`,{className:K(`wf-panel__controls`,r),role:`toolbar`,"aria-label":`${t} panel controls`,children:u.map(e=>(0,x.jsx)(Tx,{action:e,maximized:h,onClick:_[e]},e))})}),s?s({open:p,onClose:()=>m(!1)}):(0,x.jsx)(bx,{panelLabel:t,hint:c.settingsHint,open:p,onClose:()=>m(!1)})]})}function Tx({action:e,maximized:t,onClick:n}){let r=Ex(e,t);return(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(`button`,{type:`button`,className:`wf-panel__control-btn`,onClick:n,"aria-label":r.label,children:(0,x.jsx)(r.icon,{"aria-hidden":`true`})})}),(0,x.jsx)(Mf,{side:`bottom`,children:r.label})]})}function Ex(e,t){switch(e){case`close`:return{label:`Close panel`,icon:Nt};case`expand`:return t?{label:`Exit full screen`,icon:et}:{label:`Expand panel`,icon:Ze};case`settings`:return{label:`Panel settings`,icon:xt};case`external`:return{label:`Open in browser`,icon:be};default:return{label:e,icon:xt}}}function Dx({label:e=``,panelId:t,api:n,className:r,showLabel:i=!0,showControls:a=!0,externalHref:o,leading:s,trailing:c,settingsOpen:l,onSettingsOpenChange:u,renderSettings:d}){return(0,x.jsxs)(`div`,{className:K(`wf-panel__header`,r),children:[i&&e?(0,x.jsx)(`span`,{className:`wf-panel__label`,children:e}):null,(0,x.jsxs)(`div`,{className:`wf-panel__header-actions`,children:[s,a?(0,x.jsx)(wx,{panelId:t,panelLabel:e||t,api:n,externalHref:o,settingsOpen:l,onSettingsOpenChange:u,renderSettings:d}):null,c]})]})}function Ox({className:e}){return(0,x.jsx)(`hr`,{className:K(`wf-divider`,e),"aria-hidden":`true`})}var kx=`Workframe`,Ax=`Navigator`;function jx(e){switch(e){case $.crew:return kx;case $.chat:return`Chat`;case $.files:return Ax;case $.browser:return`Browser`;case $.activity:return`Activity`;default:return e}}var Mx=[$.chat,$.files,$.browser,$.activity],Nx=Mx,Px={[$.chat]:{initial:480,preferred:480,min:360,max:1/0,stretchable:!0},[$.files]:{initial:200,preferred:200,min:200,max:300,stretchable:!1},[$.browser]:{initial:600,preferred:600,min:200,max:1/0,stretchable:!0},[$.activity]:{initial:240,preferred:240,min:200,max:300,stretchable:!1}};Px[$.chat].preferred*2;function Fx(e){return Nx.includes(e)}function Ix(e){return Fx(e)?Px[e].initial:null}function Lx(e){return Px[e]}function Rx(e){return Mx.includes(e)}function zx(e){return[{id:$.chat,label:jx($.chat),icon:$e},{id:$.files,label:jx($.files),icon:Ie},{id:$.browser,label:jx($.browser),icon:ze},{id:$.activity,label:jx($.activity),icon:oe}]}function Bx({projectName:e,closedPanelIds:t,expanded:n,onOpen:r,className:i,showDivider:a=!0,mobile:o=!1,activePanelId:s=null}){let c=zx(e).filter(e=>o?!0:t.has(e.id));return c.length===0?null:(0,x.jsxs)(`div`,{className:K(`wf-agent-rail__shortcuts`,i),children:[a?(0,x.jsx)(Ox,{className:`wf-agent-rail__shortcuts-divider`}):null,c.map(e=>(0,x.jsx)(Vx,{panelId:e.id,label:e.label,icon:e.icon,expanded:n,active:o&&s===e.id,onOpen:()=>r(e.id)},e.id))]})}function Vx({panelId:e,label:t,icon:n,expanded:r,active:i,onOpen:a}){return(0,x.jsxs)(`button`,{type:`button`,className:K(`wf-agent-rail__item wf-agent-rail__item--shortcut`,i&&`wf-agent-rail__item--active`),"data-panel-id":e,"aria-label":`Open ${t} panel`,title:r?void 0:t,onClick:a,children:[(0,x.jsx)(`span`,{className:`wf-agent-rail__shortcut-icon`,"aria-hidden":`true`,children:(0,x.jsx)(n,{})}),r?(0,x.jsx)(`span`,{className:`wf-agent-rail__meta`,children:(0,x.jsx)(`span`,{className:`wf-agent-rail__name`,children:t})}):null]})}function Hx(){return`${`workframe`.replace(/\s+/g,``)}-agent`}var Ux=null;async function Wx(){return Ux||=(async()=>{try{let e=await fetch(`./workframe-config.json`);if(e.ok){let t=await e.json();return{projectName:t.project_name?.trim()||`Workframe`,nativeProfile:t.native_profile?.trim()||Hx()}}}catch{}return{projectName:`Workframe`,nativeProfile:Hx()}})(),Ux}function Gx(e){let t=String(e.profile||e.id||``);return{id:String(e.id||t),profile:t,displayName:String(e.display_name||e.displayName||t),role:String(e.role||``),mode:`lane`,avatarUrl:e.avatar_url||e.avatarUrl,routeStatus:e.route_status||e.routeStatus}}async function Kx(){let e=await Lm(`/api/routes`),t=(e.routes??[]).map(Gx);return{defaultProfile:String(e.default_profile||t[0]?.profile||``),routes:t}}function qx(){return`workframe.activeProfile:Workframe`}var Jx=qx(),Yx=(0,y.createContext)(null);function Xx({children:e}){let[t,n]=(0,y.useState)([]),[r,i]=(0,y.useState)(()=>{try{return window.localStorage.getItem(Jx)||``}catch{return``}}),[a,o]=(0,y.useState)(!0),[s,c]=(0,y.useState)(null),l=(0,y.useCallback)(async e=>{e?.silent||o(!0);try{let{defaultProfile:e,routes:t}=await Kx();n(t),c(null),i(n=>n&&t.some(e=>e.profile===n)?n:e||t[0]?.profile||``)}catch(t){e?.silent||(n([]),c(t instanceof Error?t.message:`Failed to load routes`))}finally{e?.silent||o(!1)}},[]);(0,y.useEffect)(()=>{l(),Wx().catch(()=>{});let e=setInterval(()=>{l({silent:!0})},1e4);return()=>clearInterval(e)},[l]),(0,y.useEffect)(()=>{try{r?window.localStorage.setItem(Jx,r):window.localStorage.removeItem(Jx)}catch{}},[r]);let u=(0,y.useCallback)(e=>{i(e)},[]),d=(0,y.useMemo)(()=>t.find(e=>e.profile===r)??null,[t,r]),f=(0,y.useMemo)(()=>({routes:t,activeRoute:d,activeProfile:r,routesLoading:a,routesError:s,setActiveRoute:u,reloadRoutes:l}),[t,d,r,a,s,u,l]);return(0,x.jsx)(Yx.Provider,{value:f,children:e})}function Zx(){let e=(0,y.useContext)(Yx);if(!e)throw Error(`useAgentRoute must be used within AgentRouteProvider`);return e}var Qx=1,$x=400,eS=new Set([`chatWorkspace`,`filesExplorer`,`browser`,`activity`]);function tS(){return`Workframe`}function nS(){return`workframe.workspaceLayout:${tS()}`}function rS(e){if(typeof window>`u`)return null;try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function iS(e,t){if(!(typeof window>`u`))try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function aS(e){if(!e||typeof e!=`object`)return!1;let t=e;if(t.version!==Qx||!t.dockview?.grid||!t.dockview.panels)return!1;let n=Object.keys(t.dockview.panels);if(!n.length)return!1;let r=new Set(Mx);if(!n.every(e=>r.has(e)))return!1;for(let e of Object.values(t.dockview.panels)){let t=e.contentComponent;if(t&&!eS.has(t))return!1}return!0}function oS(){let e=rS(nS());return aS(e)?e:null}function sS(e){let t=oS();if(!t)return!1;try{return e.fromJSON(t.dockview),!0}catch{return!1}}function cS(){return oS()?.railExpanded}var lS;function uS(e,t){typeof window>`u`||(lS&&clearTimeout(lS),lS=setTimeout(()=>{lS=void 0;try{let n={version:Qx,dockview:e.toJSON(),railExpanded:t};iS(nS(),n)}catch{}},$x))}var dS={expanded:200,collapsed:52};function fS(e,t,n){return Math.min(n,Math.max(t,e))}function pS(e,t){return t.reduce((t,n)=>t+(e[n]??0),0)}function mS(e,t){return e.reduce((e,n)=>n===t?e:e+Px[n].min,0)}function hS(){return{railExpanded:!0,widths:{},manual:{}}}function gS(e){return e.railExpanded?dS.expanded:dS.collapsed}function _S(e){let t=Px[$.chat],n=Px[$.browser],r=t.preferred,i=n.preferred;if(e<=0)return{chat:0,browser:0};if(e>=r+i)return{chat:r,browser:e-r};let a=fS(r,t.min,Math.min(t.max,e-n.min)),o=e-a;return o>=n.min?{chat:a,browser:o}:(a=Math.round(e*.5),a=fS(a,t.min,t.max),o=e-a,o<n.min&&(a=fS(e-n.min,t.min,t.max),o=e-a),{chat:a,browser:o})}function vS(e,t,n,r,i){let a=Px[e],o=n!==`init`&&n!==`panel-change`&&t.manual[e]!==void 0&&!a.stretchable?t.manual[e]:n===`panel-change`&&t.widths[e]!==void 0?t.widths[e]:a.preferred,s=Math.min(a.max,r-mS(i,e));return fS(o,a.min,Math.max(a.min,s))}function yS(e,t,n,r){let{canvas:i,visible:a}=e;if(a.length===0)return{};if(a.length===1)return{[a[0]]:Math.round(i)};let o=Object.fromEntries(a.map(e=>[e,0])),s=i;for(let e of[$.files,$.activity])a.includes(e)&&(n===`panel-change`&&r===e?o[e]=fS(Px[e].initial,Px[e].min,s):o[e]=vS(e,t,n,s,a),s-=o[e]);let c=a.includes($.chat),l=a.includes($.browser);if(c&&l){let e=_S(Math.max(0,s));o[$.chat]=e.chat,o[$.browser]=e.browser}else c?o[$.chat]=s:l&&(o[$.browser]=s);let u=pS(o,a);return u!==i&&l&&(o[$.browser]=Math.max(Px[$.browser].min,o[$.browser]+(i-u))),o}function bS(e,t,n){let{canvas:r,visible:i}=e;if(i.length===0)return{};if(i.length===1)return{[i[0]]:r};let a={};for(let e of i){let i=Px[e];a[e]=fS(t[e]??n.widths[e]??i.preferred,i.min,r)}let o=pS(a,i);if(o!==r&&i.includes($.browser)&&(a[$.browser]=Math.max(Px[$.browser].min,(a[$.browser]??0)+(r-o)),o=pS(a,i)),o>r){let e=r/o;for(let t of i){let n=Px[t];a[t]=Math.max(n.min,Math.floor((a[t]??0)*e))}let t=r-pS(a,i);t!==0&&i.includes($.browser)&&(a[$.browser]=Math.max(Px[$.browser].min,(a[$.browser]??0)+t))}for(let e of i){let t=Px[e],r=a[e]??t.preferred;!t.stretchable&&Math.abs(r-t.preferred)>2&&(n.manual[e]=r),t.stretchable&&delete n.manual[e]}return a}function xS(e){for(let t of Nx)Px[t].stretchable&&delete e.manual[t]}function SS(e){return Math.max(0,e-1)}function CS(e,t){return Math.max(Px[$.chat].min,e-t*4)}dS.expanded;function wS(e,t){return e.getPanel(t)}function TS(e){if(!e)return null;let t=e.group?.api.width??e.api.width;return!t||t<=0?null:Math.round(t)}function ES(e,t){return e.width>0?e.width:t?.clientWidth?t.clientWidth:typeof window<`u`?window.innerWidth:0}function DS(e){let t={};for(let n of Nx){let r=TS(wS(e,n));r&&(t[n]=r)}return t}function OS(e,t,n){let r=ES(e,n);if(r<=0)return null;let i=gS(t),a=Nx.filter(t=>!!wS(e,t));return{workspaceWidth:r,railWidth:i,canvas:CS(r,SS(a.length)),visible:a}}function kS(e,t){if(!e?.api.isVisible)return;let n=Math.max(1,Math.round(t));e.group.api.setSize({width:n})}function AS(e,t,n,r=!1){let i=Lx(t);e.group.api.setConstraints({minimumWidth:i.min,maximumWidth:r||!Number.isFinite(i.max)?void 0:i.max}),kS(e,n)}var jS=class{state=hS();root;api;applying=!1;lastCanvasWidth=0;sashFrame=0;disposables=[];constructor(e,t){this.api=e,this.root=t}dispose(){for(let e of this.disposables)e.dispose();this.disposables=[],cancelAnimationFrame(this.sashFrame)}setRailExpanded(e){this.state.railExpanded=e,this.layout(`rail`)}hydrateFromDockview(){let e=OS(this.api,this.state,this.root);if(!e)return!1;let t=DS(this.api),n=e.visible.length===1;this.applying=!0;try{for(let r of e.visible){let e=wS(this.api,r);if(!e)continue;let i=Lx(r);e.group.api.setConstraints({minimumWidth:i.min,maximumWidth:n||!Number.isFinite(i.max)?void 0:i.max});let a=t[r];a&&(this.state.widths[r]=a,i.stretchable||(this.state.manual[r]=a))}}finally{this.applying=!1}return this.lastCanvasWidth=e.canvas,uS(this.api,this.state.railExpanded),!0}layout(e,t={}){if(this.applying)return!1;let n=OS(this.api,this.state,this.root);if(!n)return!1;(e===`viewport`||e===`rail`)&&xS(this.state);let r=t.preferInitialFor&&Fx(t.preferInitialFor)?t.preferInitialFor:void 0,i=yS(n,this.state,e,r);return this.apply(n,i),this.state.widths={...i},this.lastCanvasWidth=n.canvas,uS(this.api,this.state.railExpanded),!0}watch(){let e=0,t=this.root?.clientWidth??0,n=()=>{cancelAnimationFrame(e),e=requestAnimationFrame(()=>this.layout(`viewport`))};if(this.root){let e=new ResizeObserver(e=>{let r=e[0]?.contentRect.width??this.root.clientWidth;r<=0||Math.abs(r-t)<1||(t=r,n())});e.observe(this.root),this.disposables.push({dispose:()=>e.disconnect()})}window.addEventListener(`resize`,n),this.disposables.push({dispose:()=>window.removeEventListener(`resize`,n)});let r=this.api.onDidLayoutChange(()=>{this.applying||(cancelAnimationFrame(this.sashFrame),this.sashFrame=requestAnimationFrame(()=>this.onDockviewLayout()))});return this.disposables.push(r),()=>this.dispose()}onDockviewLayout(){let e=OS(this.api,this.state,this.root);if(!e)return;if(Math.abs(e.canvas-this.lastCanvasWidth)>=2){this.layout(`viewport`);return}let t=bS(e,DS(this.api),this.state);this.state.widths={...t},this.lastCanvasWidth=e.canvas,uS(this.api,this.state.railExpanded)}apply(e,t){this.applying=!0;let n=e.visible.length===1;try{for(let r of e.visible){let e=wS(this.api,r);e&&AS(e,r,t[r]??Lx(r).min,n)}}finally{this.applying=!1}}},MS=null;function NS(){return MS}function PS(e,t){return MS?.dispose(),MS=new jS(e,t),MS}function FS(e,t,n={}){return MS?(MS.root=t??MS.root,MS.layout(`panel-change`,n)):new jS(e,t??null).layout(`init`,n)}function IS(e){let t=new Map;for(let n of e.panels){if(n.id===$.crew)continue;let e=TS(n);e&&t.set(n.id,e)}return t}function LS(e,t,n){n?.position===`top`||n?.position===`bottom`||(MS?MS.layout(`panel-change`):FS(e))}function RS(e){let t=Ix(e)??(e===$.browser?Px[$.browser].initial:120);if(!Fx(e))return{initialWidth:t};let n=Lx(e);return{minimumWidth:n.min,maximumWidth:Number.isFinite(n.max)?n.max:void 0,initialWidth:t}}var zS={[$.chat]:`chatWorkspace`,[$.files]:`filesExplorer`,[$.browser]:`browser`,[$.activity]:`activity`};function BS(e){return jx(e)}function VS(e,t){let n=Mx.indexOf(t);if(!(n<=0))for(let t=n-1;t>=0;--t){let n=e.getPanel(Mx[t]);if(n)return n}}function HS(e,t){let n=Mx.indexOf(t);if(!(n<0)){for(let t=n+1;t<Mx.length;t+=1){let n=e.getPanel(Mx[t]);if(n)return n}return e.panels[0]}}function US(e,t,n){if(t===$.crew||!Rx(t)||e.getPanel(t))return;let r={id:t,component:zS[t],title:BS(t),...RS(t)},i=VS(e,t);if(i)e.addPanel({...r,position:{referencePanel:i,direction:`right`}});else{let n=HS(e,t);n&&t!==n.id?e.addPanel({...r,position:{referencePanel:n,direction:`left`}}):e.addPanel(r)}}function WS(e,t){let n=e=>{requestAnimationFrame(()=>{NS()?.layout(`panel-change`,{preferInitialFor:e})})},r=[e.onDidRemovePanel(e=>{Rx(e.id)&&(t.onPanelClosed(e.id),n())}),e.onDidAddPanel(e=>{Rx(e.id)&&(t.onPanelOpened(e.id),n(Fx(e.id)?e.id:void 0))})];return()=>{for(let e of r)e.dispose()}}function GS(e){return Mx.filter(t=>!!e.getPanel(t))}function KS(e){let t=GS(e);return t.length===0?null:t.length===1?t[0]:t.includes($.chat)?$.chat:t[0]}function qS(e,t,n){if(!Rx(t))return null;e.getPanel(t)||US(e,t,n);for(let n of Mx)n!==t&&e.getPanel(n)?.api.close();return requestAnimationFrame(()=>{NS()?.layout(`panel-change`,{preferInitialFor:t})}),t}function JS(e,t,n){let r=GS(e);return qS(e,n&&r.includes(n)?n:r.includes($.chat)?$.chat:r[0]??$.chat,t)}var YS=`(max-width: 939px)`;function XS(){let[e,t]=(0,y.useState)(()=>typeof window>`u`?!1:window.matchMedia(YS).matches);return(0,y.useEffect)(()=>{let e=window.matchMedia(YS),n=e=>t(e.matches);return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}var ZS=(0,y.createContext)(null);function QS({children:e,onLogout:t}){let n=XS(),[r,i]=(0,y.useState)(()=>new Set),[a,o]=(0,y.useState)(()=>{let e=cS();return e===void 0?typeof window>`u`||window.innerWidth>=1280:e}),[s,c]=(0,y.useState)(null),[l,u]=(0,y.useState)(`Workframe`),[d,f]=(0,y.useState)($.chat),p=(0,y.useRef)(n),[m,h]=(0,y.useState)(null),[g,_]=(0,y.useState)(!1),[v,b]=(0,y.useState)(`profile`),[S,C]=(0,y.useState)(`providers`),w=(0,y.useRef)(null),T=(0,y.useRef)(null),E=(0,y.useCallback)(e=>{w.current=e},[]),D=(0,y.useCallback)(e=>{T.current=e},[]),O=(0,y.useCallback)((e,t)=>{w.current?.(e,t)},[]),k=(0,y.useCallback)(e=>{T.current?.(e)},[]),A=(0,y.useCallback)((e=`profile`,t=`providers`)=>{b(e),e===`connect`&&C(t),_(!0)},[]),j=(0,y.useCallback)(()=>{_(!1)},[]),M=(0,y.useCallback)((e,t,n,r)=>{c(e),u(t),i(new Set(Mx.filter(t=>!e.getPanel(t))));let o=PS(e,n??null);o.state.railExpanded=a,r?.restoredLayout?requestAnimationFrame(()=>o.hydrateFromDockview()):(o.layout(`init`),requestAnimationFrame(()=>o.layout(`init`)));let s=o.watch(),l=WS(e,{onPanelClosed:e=>{e!==$.crew&&i(t=>{let n=new Set(t);return n.add(e),n})},onPanelOpened:e=>{e!==$.crew&&i(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})}});return()=>{l(),s(),o.dispose()}},[a]),N=(0,y.useCallback)(e=>{NS()?.layout(`panel-change`,e)},[]),P=(0,y.useCallback)(e=>{o(e),NS()?.setRailExpanded(e)},[]),F=(0,y.useCallback)(e=>{h(e)},[]),I=(0,y.useCallback)(e=>{if(!(!s||e===$.crew)){if(n){let t=qS(s,e,l);t&&f(t);return}US(s,e,l),f(e)}},[n,l,s]),L=(0,y.useCallback)(e=>{I(e)},[I]);(0,y.useEffect)(()=>{if(!s)return;n&&(o(!1),NS()?.setRailExpanded(!1));let e=n&&!p.current,t=!n&&p.current;if(p.current=n,e){let e=JS(s,l,d);e&&f(e);return}t&&(NS()?.layout(`viewport`),f(KS(s)))},[d,n,l,s]),(0,y.useEffect)(()=>{!s||!n||f(KS(s))},[r,n,s]);let ee=(0,y.useMemo)(()=>({closedPanelIds:r,railExpanded:a,mobileLayout:n,activeWorkspacePanelId:d,activeRoom:m,userSettingsOpen:g,userSettingsTab:v,userSettingsConnectTab:S,onLogout:t,openPanel:L,focusWorkspacePanel:I,openUserSettings:A,closeUserSettings:j,openAgentSettings:O,registerOpenAgentSettings:E,registerOpenChatSettings:D,openChatSettings:k,rebalanceLayout:N,setRailExpanded:P,setActiveRoom:F,registerWorkspaceApi:M}),[r,a,n,d,m,g,v,S,t,L,I,A,j,O,E,D,k,N,M,F,P]);return(0,x.jsx)(ZS.Provider,{value:ee,children:e})}function $S(){let e=(0,y.useContext)(ZS);if(!e)throw Error(`useWorkspacePanels must be used within WorkspacePanelsProvider`);return e}function eC({children:e,className:t}){return(0,x.jsx)(`div`,{className:K(`wf-panel`,t),children:e})}function tC({label:e,htmlFor:t,hint:n,className:r,children:i}){return(0,x.jsxs)(`div`,{className:K(`wf-dialog-field`,r),children:[t?(0,x.jsx)(Br,{htmlFor:t,className:`wf-dialog-field__label`,children:e}):(0,x.jsx)(`span`,{className:`wf-dialog-field__label`,children:e}),i,n?(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:n}):null]})}function nC(e){let t=e+`CollectionProvider`,[n,r]=sa(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=y.useRef(null),a=y.useRef(new Map).current;return(0,x.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=xr(s),l=y.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,x.jsx)(c,{ref:br(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=xr(u),p=y.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=y.useRef(null),s=br(t,o),c=a(u,n);return y.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,x.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return y.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:p},m,r]}var rC=y.createContext(void 0);function iC(e){let t=y.useContext(rC);return e||t||`ltr`}var aC=`rovingFocusGroup.onEntryFocus`,oC={bubbles:!1,cancelable:!0},sC=`RovingFocusGroup`,[cC,lC,uC]=nC(sC),[dC,fC]=sa(sC,[uC]),[pC,mC]=dC(sC),hC=y.forwardRef((e,t)=>(0,x.jsx)(cC.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,x.jsx)(cC.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,x.jsx)(gC,{...e,ref:t})})}));hC.displayName=sC;var gC=y.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=y.useRef(null),p=br(t,f),m=iC(a),[h,g]=ma({prop:o,defaultProp:s??null,onChange:c,caller:sC}),[_,v]=y.useState(!1),b=_a(l),S=lC(n),C=y.useRef(!1),[w,T]=y.useState(0);return y.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(aC,b),()=>e.removeEventListener(aC,b)},[b]),(0,x.jsx)(pC,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:y.useCallback(e=>g(e),[g]),onItemShiftTab:y.useCallback(()=>v(!0),[]),onFocusableItemAdd:y.useCallback(()=>T(e=>e+1),[]),onFocusableItemRemove:y.useCallback(()=>T(e=>e-1),[]),children:(0,x.jsx)(Fr.div,{tabIndex:_||w===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:oa(e.onMouseDown,()=>{C.current=!0}),onFocus:oa(e.onFocus,e=>{let t=!C.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(aC,oC);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=S().filter(e=>e.focusable);SC([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}C.current=!1}),onBlur:oa(e.onBlur,()=>v(!1))})})}),_C=`RovingFocusGroupItem`,vC=y.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=fa(),l=a||c,u=mC(_C,n),d=u.currentTabStopId===l,f=lC(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return y.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,x.jsx)(cC.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,x.jsx)(Fr.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:oa(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:oa(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:oa(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=xC(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?CC(n,r+1):n.slice(r+1)}setTimeout(()=>SC(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});vC.displayName=_C;var yC={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function bC(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function xC(e,t,n){let r=bC(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return yC[r]}function SC(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function CC(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var wC=hC,TC=vC,EC=[`Enter`,` `],DC=[`ArrowDown`,`PageUp`,`Home`],OC=[`ArrowUp`,`PageDown`,`End`],kC=[...DC,...OC],AC={ltr:[...EC,`ArrowRight`],rtl:[...EC,`ArrowLeft`]},jC={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},MC=`Menu`,[NC,PC,FC]=nC(MC),[IC,LC]=sa(MC,[FC,yd,fC]),RC=yd(),zC=fC(),[BC,VC]=IC(MC),[HC,UC]=IC(MC),WC=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=RC(t),[c,l]=y.useState(null),u=y.useRef(!1),d=_a(a),f=iC(i);return y.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),y.useEffect(()=>{if(!n)return;let e=()=>d(!1);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,x.jsx)(Fd,{...s,children:(0,x.jsx)(BC,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,x.jsx)(HC,{scope:t,onClose:y.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};WC.displayName=MC;var GC=`MenuAnchor`,KC=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=RC(n);return(0,x.jsx)(Id,{...i,...r,ref:t})});KC.displayName=GC;var qC=`MenuPortal`,[JC,YC]=IC(qC,{forceMount:void 0}),XC=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=VC(qC,t);return(0,x.jsx)(JC,{scope:t,forceMount:n,children:(0,x.jsx)(Qa,{present:n||a.open,children:(0,x.jsx)(Xa,{asChild:!0,container:i,children:r})})})};XC.displayName=qC;var ZC=`MenuContent`,[QC,$C]=IC(ZC),ew=y.forwardRef((e,t)=>{let n=YC(ZC,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=VC(ZC,e.__scopeMenu),o=UC(ZC,e.__scopeMenu);return(0,x.jsx)(NC.Provider,{scope:e.__scopeMenu,children:(0,x.jsx)(Qa,{present:r||a.open,children:(0,x.jsx)(NC.Slot,{scope:e.__scopeMenu,children:o.modal?(0,x.jsx)(tw,{...i,ref:t}):(0,x.jsx)(nw,{...i,ref:t})})})})}),tw=y.forwardRef((e,t)=>{let n=VC(ZC,e.__scopeMenu),r=y.useRef(null),i=br(t,r);return y.useEffect(()=>{let e=r.current;if(e)return Es(e)},[]),(0,x.jsx)(iw,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:oa(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),nw=y.forwardRef((e,t)=>{let n=VC(ZC,e.__scopeMenu);return(0,x.jsx)(iw,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),rw=xr(`MenuContent.ScrollLock`),iw=y.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=VC(ZC,n),_=UC(ZC,n),v=RC(n),b=zC(n),S=PC(n),[C,w]=y.useState(null),T=y.useRef(null),E=br(t,T,g.onContentChange),D=y.useRef(0),O=y.useRef(``),k=y.useRef(0),A=y.useRef(null),j=y.useRef(`right`),M=y.useRef(0),N=m?_s:y.Fragment,P=m?{as:rw,allowPinchZoom:!0}:void 0,F=e=>{let t=O.current+e,n=S().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Hw(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){O.current=t,window.clearTimeout(D.current),t!==``&&(D.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};y.useEffect(()=>()=>window.clearTimeout(D.current),[]),oo();let I=y.useCallback(e=>j.current===A.current?.side&&Ww(e,A.current?.area),[]);return(0,x.jsx)(QC,{scope:n,searchRef:O,onItemEnter:y.useCallback(e=>{I(e)&&e.preventDefault()},[I]),onItemLeave:y.useCallback(e=>{I(e)||(T.current?.focus(),w(null))},[I]),onTriggerLeave:y.useCallback(e=>{I(e)&&e.preventDefault()},[I]),pointerGraceTimerRef:k,onPointerGraceIntentChange:y.useCallback(e=>{A.current=e},[]),children:(0,x.jsx)(N,{...P,children:(0,x.jsx)(La,{asChild:!0,trapped:i,onMountAutoFocus:oa(a,e=>{e.preventDefault(),T.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,x.jsx)(Ta,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,x.jsx)(wC,{asChild:!0,...b,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:C,onCurrentTabStopIdChange:w,onEntryFocus:oa(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,x.jsx)(Ld,{role:`menu`,"aria-orientation":`vertical`,"data-state":Lw(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:E,style:{outline:`none`,...h.style},onKeyDown:oa(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&F(e.key));let i=T.current;if(e.target!==i||!kC.includes(e.key))return;e.preventDefault();let a=S().filter(e=>!e.disabled).map(e=>e.ref.current);OC.includes(e.key)&&a.reverse(),Bw(a)}),onBlur:oa(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(D.current),O.current=``)}),onPointerMove:oa(e.onPointerMove,Gw(e=>{let t=e.target,n=M.current!==e.clientX;e.currentTarget.contains(t)&&n&&(j.current=e.clientX>M.current?`right`:`left`,M.current=e.clientX)}))})})})})})})});ew.displayName=ZC;var aw=`MenuGroup`,ow=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,x.jsx)(Fr.div,{role:`group`,...r,ref:t})});ow.displayName=aw;var sw=`MenuLabel`,cw=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,x.jsx)(Fr.div,{...r,ref:t})});cw.displayName=sw;var lw=`MenuItem`,uw=`menu.itemSelect`,dw=y.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=y.useRef(null),o=UC(lw,e.__scopeMenu),s=$C(lw,e.__scopeMenu),c=br(t,a),l=y.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(uw,{bubbles:!0,cancelable:!0});e.addEventListener(uw,e=>r?.(e),{once:!0}),Ir(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,x.jsx)(fw,{...i,ref:c,disabled:n,onClick:oa(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:oa(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:oa(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||EC.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});dw.displayName=lw;var fw=y.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=$C(lw,n),s=zC(n),c=y.useRef(null),l=br(t,c),[u,d]=y.useState(!1),[f,p]=y.useState(``);return y.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,x.jsx)(NC.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,x.jsx)(TC,{asChild:!0,...s,focusable:!r,children:(0,x.jsx)(Fr.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:oa(e.onPointerMove,Gw(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:oa(e.onPointerLeave,Gw(e=>o.onItemLeave(e))),onFocus:oa(e.onFocus,()=>d(!0)),onBlur:oa(e.onBlur,()=>d(!1))})})})}),pw=`MenuCheckboxItem`,mw=y.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,x.jsx)(Sw,{scope:e.__scopeMenu,checked:n,children:(0,x.jsx)(dw,{role:`menuitemcheckbox`,"aria-checked":Rw(n)?`mixed`:n,...i,ref:t,"data-state":zw(n),onSelect:oa(i.onSelect,()=>r?.(Rw(n)?!0:!n),{checkForDefaultPrevented:!1})})})});mw.displayName=pw;var hw=`MenuRadioGroup`,[gw,_w]=IC(hw,{value:void 0,onValueChange:()=>{}}),vw=y.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=_a(r);return(0,x.jsx)(gw,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,x.jsx)(ow,{...i,ref:t})})});vw.displayName=hw;var yw=`MenuRadioItem`,bw=y.forwardRef((e,t)=>{let{value:n,...r}=e,i=_w(yw,e.__scopeMenu),a=n===i.value;return(0,x.jsx)(Sw,{scope:e.__scopeMenu,checked:a,children:(0,x.jsx)(dw,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":zw(a),onSelect:oa(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});bw.displayName=yw;var xw=`MenuItemIndicator`,[Sw,Cw]=IC(xw,{checked:!1}),ww=y.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Cw(xw,n);return(0,x.jsx)(Qa,{present:r||Rw(a.checked)||a.checked===!0,children:(0,x.jsx)(Fr.span,{...i,ref:t,"data-state":zw(a.checked)})})});ww.displayName=xw;var Tw=`MenuSeparator`,Ew=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,x.jsx)(Fr.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Ew.displayName=Tw;var Dw=`MenuArrow`,Ow=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=RC(n);return(0,x.jsx)(Rd,{...i,...r,ref:t})});Ow.displayName=Dw;var kw=`MenuSub`,[Aw,jw]=IC(kw),Mw=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=VC(kw,t),o=RC(t),[s,c]=y.useState(null),[l,u]=y.useState(null),d=_a(i);return y.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,x.jsx)(Fd,{...o,children:(0,x.jsx)(BC,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,x.jsx)(Aw,{scope:t,contentId:fa(),triggerId:fa(),trigger:s,onTriggerChange:c,children:n})})})};Mw.displayName=kw;var Nw=`MenuSubTrigger`,Pw=y.forwardRef((e,t)=>{let n=VC(Nw,e.__scopeMenu),r=UC(Nw,e.__scopeMenu),i=jw(Nw,e.__scopeMenu),a=$C(Nw,e.__scopeMenu),o=y.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=y.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return y.useEffect(()=>u,[u]),y.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,x.jsx)(KC,{asChild:!0,...l,children:(0,x.jsx)(fw,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":n.open?i.contentId:void 0,"data-state":Lw(n.open),...e,ref:yr(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:oa(e.onPointerMove,Gw(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:oa(e.onPointerLeave,Gw(e=>{u();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:oa(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||AC[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});Pw.displayName=Nw;var Fw=`MenuSubContent`,Iw=y.forwardRef((e,t)=>{let n=YC(ZC,e.__scopeMenu),{forceMount:r=n.forceMount,align:i=`start`,...a}=e,o=VC(ZC,e.__scopeMenu),s=UC(ZC,e.__scopeMenu),c=jw(Fw,e.__scopeMenu),l=y.useRef(null),u=br(t,l);return(0,x.jsx)(NC.Provider,{scope:e.__scopeMenu,children:(0,x.jsx)(Qa,{present:r||o.open,children:(0,x.jsx)(NC.Slot,{scope:e.__scopeMenu,children:(0,x.jsx)(iw,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:u,align:i,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:oa(e.onFocusOutside,e=>{e.target!==c.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:oa(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:oa(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=jC[s.dir].includes(e.key);t&&n&&(o.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});Iw.displayName=Fw;function Lw(e){return e?`open`:`closed`}function Rw(e){return e===`indeterminate`}function zw(e){return Rw(e)?`indeterminate`:e?`checked`:`unchecked`}function Bw(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Vw(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Hw(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=Vw(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}function Uw(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],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Ww(e,t){return t?Uw({x:e.clientX,y:e.clientY},t):!1}function Gw(e){return t=>t.pointerType===`mouse`?e(t):void 0}var Kw=WC,qw=KC,Jw=XC,Yw=ew,Xw=ow,Zw=cw,Qw=dw,$w=mw,eT=vw,tT=bw,nT=ww,rT=Ew,iT=Ow,aT=Pw,oT=Iw,sT=`DropdownMenu`,[cT,lT]=sa(sT,[LC]),uT=LC(),[dT,fT]=cT(sT),pT=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=uT(t),l=y.useRef(null),[u,d]=ma({prop:i,defaultProp:a??!1,onChange:o,caller:sT});return(0,x.jsx)(dT,{scope:t,triggerId:fa(),triggerRef:l,contentId:fa(),open:u,onOpenChange:d,onOpenToggle:y.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,x.jsx)(Kw,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};pT.displayName=sT;var mT=`DropdownMenuTrigger`,hT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=fT(mT,n),o=uT(n);return(0,x.jsx)(qw,{asChild:!0,...o,children:(0,x.jsx)(Fr.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:yr(t,a.triggerRef),onPointerDown:oa(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:oa(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});hT.displayName=mT;var gT=`DropdownMenuPortal`,_T=e=>{let{__scopeDropdownMenu:t,...n}=e,r=uT(t);return(0,x.jsx)(Jw,{...r,...n})};_T.displayName=gT;var vT=`DropdownMenuContent`,yT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=fT(vT,n),a=uT(n),o=y.useRef(!1);return(0,x.jsx)(Yw,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:oa(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:oa(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});yT.displayName=vT;var bT=`DropdownMenuGroup`,xT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(Xw,{...i,...r,ref:t})});xT.displayName=bT;var ST=`DropdownMenuLabel`,CT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(Zw,{...i,...r,ref:t})});CT.displayName=ST;var wT=`DropdownMenuItem`,TT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(Qw,{...i,...r,ref:t})});TT.displayName=wT;var ET=`DropdownMenuCheckboxItem`,DT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)($w,{...i,...r,ref:t})});DT.displayName=ET;var OT=`DropdownMenuRadioGroup`,kT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(eT,{...i,...r,ref:t})});kT.displayName=OT;var AT=`DropdownMenuRadioItem`,jT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(tT,{...i,...r,ref:t})});jT.displayName=AT;var MT=`DropdownMenuItemIndicator`,NT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(nT,{...i,...r,ref:t})});NT.displayName=MT;var PT=`DropdownMenuSeparator`,FT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(rT,{...i,...r,ref:t})});FT.displayName=PT;var IT=`DropdownMenuArrow`,LT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(iT,{...i,...r,ref:t})});LT.displayName=IT;var RT=`DropdownMenuSubTrigger`,zT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(aT,{...i,...r,ref:t})});zT.displayName=RT;var BT=`DropdownMenuSubContent`,VT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(oT,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});VT.displayName=BT;var HT=pT,UT=hT,WT=_T,GT=yT,KT=TT,qT=HT,JT=UT,YT=y.forwardRef(({className:e,sideOffset:t=6,...n},r)=>(0,x.jsx)(WT,{children:(0,x.jsx)(GT,{ref:r,sideOffset:t,className:K(`wf-floating-menu z-50 min-w-[10rem] overflow-hidden p-1 text-popover-foreground`,e),...n})}));YT.displayName=GT.displayName;var XT=y.forwardRef(({className:e,...t},n)=>(0,x.jsx)(KT,{ref:n,className:K(`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...t}));XT.displayName=KT.displayName;function ZT({checked:e,children:t,...n}){return(0,x.jsxs)(XT,{...n,children:[(0,x.jsx)(G,{className:K(`size-3.5 shrink-0`,e?`opacity-100`:`opacity-0`),"aria-hidden":`true`}),t]})}function QT({id:e,value:t,onValueChange:n,options:r,disabled:i,placeholder:a=`Select…`,className:o}){let s=r.find(e=>e.value===t);return(0,x.jsxs)(qT,{children:[(0,x.jsxs)(`div`,{className:K(`wf-dialog-select`,o),children:[(0,x.jsx)(JT,{asChild:!0,disabled:i,children:(0,x.jsx)(`button`,{id:e,type:`button`,className:`wf-dialog-select__control wf-dialog-select__trigger`,disabled:i,"aria-haspopup":`listbox`,"aria-expanded":void 0,children:(0,x.jsx)(`span`,{className:`wf-dialog-select__value`,children:s?.label??a})})}),(0,x.jsx)(me,{className:`wf-dialog-select__chevron`,"aria-hidden":`true`})]}),(0,x.jsx)(YT,{className:`wf-dialog-select__menu wf-scroll wf-scroll--vertical`,align:`start`,sideOffset:4,children:r.map(e=>(0,x.jsx)(ZT,{checked:e.value===t,className:K(`wf-dialog-select__item`,e.value===t&&`is-selected`),onSelect:()=>n(e.value),children:(0,x.jsxs)(`div`,{className:`wf-dialog-select__item-copy`,children:[(0,x.jsx)(`span`,{className:`wf-dialog-select__item-label`,children:e.label}),e.description?(0,x.jsx)(`span`,{className:`wf-dialog-select__item-hint`,children:e.description}):null]})},e.value||`__empty`))})]})}var $T=`__section`;function eE({open:e,onClose:t,title:n,sectionLabel:r,summary:i,titleId:a=`wf-settings-sheet-title`,tabs:o,activeTab:s,onTabChange:c,footer:l,actions:u,loading:d=!1,contentFill:f=!1,sheetClassName:p,children:m}){let h=n||`Settings`,g=!o?.length,_=(0,y.useMemo)(()=>o?.length?o:[{id:$T,label:r?.trim()||h}],[r,h,o]),v=s??_[0]?.id,b=(0,y.useRef)(null),S=XS(),C=_.find(e=>e.id===v)?.label||h;(0,y.useEffect)(()=>{e&&b.current?.scrollTo({top:0,left:0})},[v,e]);let w=(0,x.jsx)(`nav`,{className:`wf-settings-shell__nav-track`,role:`tablist`,"aria-label":`Settings sections`,children:_.map(e=>g?(0,x.jsx)(`span`,{role:`tab`,"aria-selected":!0,className:`wf-settings-shell__nav-btn wf-settings-shell__nav-btn--solo`,children:e.label},e.id):(0,x.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":v===e.id,className:`wf-settings-shell__nav-btn`,onClick:()=>c?.(e.id),children:e.label},e.id))});return(0,x.jsx)(tc,{open:e,onOpenChange:e=>{e||t()},children:(0,x.jsxs)(ic,{showClose:!0,className:K(`wf-dialog-content--settings-shell`,S&&`wf-dialog-content--settings-shell-mobile`,f&&`wf-dialog-content--settings-fill`,p),children:[(0,x.jsxs)(`aside`,{className:`wf-settings-shell__rail`,children:[(0,x.jsx)(`div`,{className:`wf-settings-shell__rail-head`,children:(0,x.jsx)(`h2`,{className:`wf-settings-shell__rail-title`,children:h})}),S?(0,x.jsx)(`div`,{className:`wf-settings-shell__nav wf-settings-shell__nav--mobile`,children:w}):(0,x.jsx)(Zc,{axis:`vertical`,inset:`rail`,className:`wf-settings-shell__nav`,children:w}),!S&&l?(0,x.jsx)(`div`,{className:`wf-settings-shell__rail-footer`,children:l}):null]}),(0,x.jsxs)(`div`,{className:`wf-settings-shell__main`,children:[(0,x.jsx)(`header`,{className:`wf-settings-shell__header`,children:(0,x.jsxs)(`div`,{children:[(0,x.jsx)(sc,{id:a,children:C}),i?(0,x.jsx)(cc,{children:i}):null]})}),(0,x.jsx)(Zc,{ref:b,axis:`vertical`,className:K(`wf-settings-shell__scroll`,f&&`wf-settings-shell__scroll--fill`),children:(0,x.jsx)(`div`,{className:K(`wf-settings-shell__body`,f&&`wf-settings-shell__body--fill`),children:m})}),S?u||l?(0,x.jsxs)(`div`,{className:`wf-settings-shell__footer-bar`,children:[l?(0,x.jsx)(`div`,{className:`wf-settings-shell__footer-bar-start`,children:l}):null,u?(0,x.jsx)(`div`,{className:`wf-settings-shell__footer-bar-end`,children:u}):null]}):null:u?(0,x.jsx)(`div`,{className:`wf-settings-shell__actions`,children:u}):null,d?(0,x.jsx)(`div`,{className:`wf-settings-shell__load-footer`,role:`status`,"aria-live":`polite`,"aria-busy":`true`,"aria-label":`Loading settings`,children:(0,x.jsx)(`div`,{className:`wf-settings-shell__load-track`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,children:(0,x.jsx)(`div`,{className:`wf-settings-shell__load-bar`})})}):null]})]})})}function tE({children:e,className:t}){return(0,x.jsx)(`div`,{className:K(`wf-wizard-form-actions`,t),children:e})}function nE({open:e,onOpenChange:t,workspaceId:n,workspaceName:r,onInvited:i}){let[a,o]=(0,y.useState)(``),[s,c]=(0,y.useState)(`member`),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(``),_=()=>{o(``),c(`member`),f(``),m(``),g(``)},v=()=>{t(!1),_()},b=async()=>{if(!a.trim()){f(`Email is required`);return}u(!0),f(``),m(`Creating invite…`);try{let e=await Y.createWorkspaceInvite(n,{email:a.trim(),role:s});g(e.invite_url??``),m(e.email_sent?`Invite sent to ${e.email}.`:`Invite created for ${e.email}, but email delivery was not confirmed.`),o(``),i?.()}catch(e){m(``),f(e instanceof Error?e.message:`Failed to create invite`)}finally{u(!1)}};return(0,x.jsx)(eE,{open:e,onClose:v,title:`Invite teammate`,sectionLabel:`Invite details`,summary:`Invite to ${r}`,titleId:`wf-invite-member-title`,sheetClassName:`wf-dialog-content--settings-compact`,actions:(0,x.jsxs)(tE,{children:[(0,x.jsx)(Dc,{onClick:v,disabled:l,children:`Close`}),(0,x.jsx)(Oc,{onClick:()=>void b(),disabled:l||!n||!a.trim(),children:l?`Sending…`:`Send invite`})]}),children:(0,x.jsxs)(Gc,{error:d,status:p,children:[(0,x.jsx)(tC,{label:`Email`,htmlFor:`wf-invite-email`,hint:`They sign in with a verification code and accept the invite.`,children:(0,x.jsx)(_r,{id:`wf-invite-email`,className:`wf-dialog-input`,type:`email`,value:a,onChange:e=>o(e.target.value),placeholder:`teammate@example.com`,autoComplete:`email`,disabled:l})}),(0,x.jsx)(tC,{label:`Role`,htmlFor:`wf-invite-role`,children:(0,x.jsx)(QT,{id:`wf-invite-role`,value:s,onValueChange:e=>c(e),disabled:l,options:[{value:`member`,label:`Member`},{value:`viewer`,label:`Viewer`},{value:`editor`,label:`Editor`},{value:`admin`,label:`Admin`}]})}),h?(0,x.jsx)(tC,{label:`Invite link`,htmlFor:`wf-invite-link`,hint:`Share this link directly if the email does not arrive.`,children:(0,x.jsx)(lm,{id:`wf-invite-link`,label:`invite link`,value:h})}):null]})})}function rE({id:e,value:t,onChange:n,disabled:r,rows:i=12,placeholder:a=`Personality and operating instructions`}){return(0,x.jsx)(tC,{label:`Operating instructions`,htmlFor:e,hint:`Layered on the system prompt — does not replace Workframe rules.`,children:(0,x.jsx)(Qc,{id:e,className:`wf-dialog-input font-mono text-sm`,value:t,onChange:e=>n(e.target.value),disabled:r,rows:i,placeholder:a})})}var iE={hermes_profile_create:`Create Hermes profile`,strip_forbidden_skills:`Install native toolset`,install_child_base:`Write agent identity`,configure_api:`Configure gateway API`,patch_run_script:`Patch gateway run script`,gateway_start:`Start gateway`,dm_room:`Open agent chat`,bootstrap_dm_lane:`Open agent chat`,room_chat_bind:`Bind chat session`,seed_user_soul:`Save instructions`,register_route:`Register in Workframe`,assign_avatar:`Assign avatar`},aE=[{id:`hermes_profile_create`,label:iE.hermes_profile_create},{id:`strip_forbidden_skills`,label:iE.strip_forbidden_skills},{id:`configure_api`,label:iE.configure_api},{id:`dm_room`,label:iE.dm_room}];function oE(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64)}function sE({open:e,onOpenChange:t,onCreated:n}){let[r,i]=(0,y.useState)(`identity`),[a,o]=(0,y.useState)(``),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(``),[_,v]=(0,y.useState)([]),[b,S]=(0,y.useState)(()=>Hp(`agent`)),[C,w]=(0,y.useState)(),[T,E]=(0,y.useState)(!1),[D,O]=(0,y.useState)(``),[k,A]=(0,y.useState)([]),j=(0,y.useMemo)(()=>oE(a),[a]);(0,y.useEffect)(()=>{if(!e)return;let t=!1;return Y.getMe().then(e=>{t||w(e?.current_workspace?.id??e?.default_workspace?.id)}).catch(()=>{t||w(void 0)}),()=>{t=!0}},[e]);let M=()=>{i(`identity`),o(``),c(``),u(``),f(``),m(``),g(``),v([]),S(Hp(`agent`)),O(``),A([])},N=()=>{t(!1),M()},P=e=>{let t=e??[];if(!t.length)return;let n=new Map(t.map(e=>[String(e.step||``),e])),r=t.map(e=>String(e.step||``)).filter(Boolean),i=aE.map(e=>e.id).filter(e=>!r.includes(e)),a=[...r,...i.filter(e=>n.has(e))];A((a.length?a:aE.map(e=>e.id)).map(e=>{let t=n.get(e),r=iE[e]??e.replace(/_/g,` `);return t?t.ok===!1?{id:e,label:r,status:`error`,detail:String(t.error||`Failed`)}:{id:e,label:r,status:`done`}:{id:e,label:r,status:`pending`}}))},F=async e=>{let r=e.room;if(e.room_id&&(b||s.trim()||d.trim()))try{r=(await Y.patchRoom(e.room_id,{...b?{avatar_url:b}:{},...s.trim()?{name:s.trim()}:{},...d.trim()?{topic:d.trim()}:{}})).room}catch(e){throw Error(xi(e,`Save agent room`))}await new Promise(e=>window.setTimeout(e,400)),n?.({...e,room:r}),t(!1),M()},I=async()=>{if(!j){O(`Profile slug is required`),i(`identity`);return}if(!C){O(`Workframe not loaded — close this dialog and try again.`);return}if(!h.trim()){O(`Choose a provider and model before creating this agent.`),i(`model`);return}E(!0),O(``),A(aE.map((e,t)=>({...e,status:t===0?`active`:`pending`})));try{let e=b?Yp(b):null,t=await Y.createHermesProfile({name:j,description:l.trim()||void 0,display_name:s.trim()||void 0,role:l.trim()||void 0,tagline:d.trim()||void 0,soul:p.trim()||void 0,model:h.trim(),workspace_id:C,...e??{}});if(P(t.steps),!t.ok){let e=t.steps?.find(e=>e.ok===!1);throw Error(e?.error||`Workframe could not finish creating this agent.`)}let n=t.runtime_profile||t.profile;if(_.length&&n)try{await xh(_.map(e=>({provider:e.provider,model:e.model})),n)}catch(e){throw Error(xi(e,`Save agent fallbacks`))}await F({profile:n,room_id:t.room_id,room:t.room})}catch(e){O(xi(e,`Create agent`))}finally{E(!1)}};return(0,x.jsx)(eE,{open:e,onClose:N,title:`Create agent`,summary:j?`Profile slug: ${j}`:`New Hermes specialist`,titleId:`wf-create-agent-title`,sheetClassName:`wf-dialog-content--settings-compact`,tabs:[{id:`identity`,label:`Identity & Bio`},{id:`instructions`,label:`Instructions`},{id:`model`,label:`LLM models`}],activeTab:r,onTabChange:e=>i(e),actions:(0,x.jsxs)(tE,{children:[(0,x.jsx)(Dc,{onClick:N,disabled:T,children:`Cancel`}),(0,x.jsx)(Oc,{onClick:()=>void I(),disabled:T||!j||!h.trim(),children:T?`Creating…`:`Create agent`})]}),children:(0,x.jsxs)(`div`,{className:`space-y-4`,children:[T?(0,x.jsx)(Tc,{steps:k,title:`Creating agent…`}):null,r===`identity`?(0,x.jsxs)(Gc,{error:D,children:[(0,x.jsx)(tC,{label:`Profile slug`,htmlFor:`wf-create-agent-slug`,hint:j?(0,x.jsxs)(x.Fragment,{children:[`Will create `,(0,x.jsx)(`code`,{className:`wf-dialog__code`,children:j})]}):`Lowercase id for the Hermes profile folder.`,children:(0,x.jsx)(_r,{id:`wf-create-agent-slug`,className:`wf-dialog-input`,value:a,onChange:e=>o(e.target.value),placeholder:`my-specialist`,disabled:T})}),(0,x.jsx)(tC,{label:`Role`,htmlFor:`wf-create-agent-role`,hint:`What this agent specializes in.`,children:(0,x.jsx)(_r,{id:`wf-create-agent-role`,className:`wf-dialog-input`,value:l,onChange:e=>u(e.target.value),placeholder:`Implementation, research, docs…`,disabled:T})}),(0,x.jsx)(om,{avatarKind:`agent`,avatarUrl:b,onAvatarChange:S,disabled:T,primary:{id:`wf-create-agent-display-name`,label:`Display name`,value:s,onChange:c},secondary:{id:`wf-create-agent-tagline`,label:`Tagline`,value:d,onChange:f}})]}):r===`instructions`?(0,x.jsx)(Gc,{error:D,children:(0,x.jsx)(rE,{id:`wf-create-agent-soul`,value:p,onChange:m,disabled:T})}):(0,x.jsx)(Gc,{error:D,bare:!0,children:(0,x.jsx)(rg,{workspaceId:C,embedded:!0,draftOnly:!0,value:h,onChanged:g,onFallbacksDraftChange:v,onError:O})})]})})}var cE=[{id:`validate`,label:`Validate project details`},{id:`create_room`,label:`Create channel`},{id:`assign_logo`,label:`Apply project logo`}];function lE(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)}function uE({open:e,onOpenChange:t,workspaceId:n,onCreated:r}){let[i,a]=(0,y.useState)(``),[o,s]=(0,y.useState)(``),[c,l]=(0,y.useState)(()=>Hp(`logo`)||Wp),[u,d]=(0,y.useState)(!1),[f,p]=(0,y.useState)(``),[m,h]=(0,y.useState)([]),g=()=>{a(``),s(``),l(Hp(`logo`)||Wp),p(``),h([])},_=()=>{t(!1),g()},v=async()=>{let e=i.trim();if(!e){p(`Project name is required`);return}if(!n){p(`Workframe not loaded`);return}d(!0),p(``),h(cE.map((e,t)=>({...e,status:t===0?`active`:`pending`})));try{await new Promise(e=>window.setTimeout(e,200)),h(e=>e.map((e,t)=>({...e,status:t===0?`done`:t===1?`active`:`pending`})));let i=c?em(c):null;await Y.createWorkspaceRoom(n,{name:e,slug:lE(e),topic:o.trim()||void 0,room_type:`channel`,...i??{}}),h(e=>e.map(e=>({...e,status:`done`}))),await new Promise(e=>window.setTimeout(e,350)),g(),r?.(),t(!1)}catch(e){h(t=>t.map((n,r)=>n.status===`active`||r===t.length-1&&n.status!==`done`?{...n,status:`error`,detail:e instanceof Error?e.message:`Failed`}:n)),p(e instanceof Error?e.message:`Failed to create project`)}finally{d(!1)}};return(0,x.jsx)(eE,{open:e,onClose:_,title:`Create project`,sectionLabel:`Project details`,summary:`Add a project channel to this workframe.`,titleId:`wf-create-project-title`,sheetClassName:`wf-dialog-content--settings-compact`,actions:(0,x.jsxs)(tE,{children:[(0,x.jsx)(Dc,{onClick:_,disabled:u,children:`Cancel`}),(0,x.jsx)(Oc,{onClick:()=>void v(),disabled:u||!n||!i.trim(),children:u?`Creating…`:`Create project`})]}),children:(0,x.jsxs)(`div`,{className:`space-y-4`,children:[u?(0,x.jsx)(Tc,{steps:m,title:`Creating project…`}):null,(0,x.jsxs)(Gc,{error:f,children:[(0,x.jsx)(om,{avatarKind:`logo`,avatarLabel:`Logo`,avatarUrl:c,onAvatarChange:l,disabled:u,primary:{id:`wf-create-project-name`,label:`Name`,value:i,onChange:a},secondary:{id:`wf-create-project-topic`,label:`Topic`,value:o,onChange:s}}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint m-0`,children:`Optional short description.`})]})]})})}function dE(e,t,n){if(!n)return;let r=document.head.querySelector(`meta[${e}="${t}"]`);r||(r=document.createElement(`meta`),r.setAttribute(e,t),document.head.appendChild(r)),r.content=n}function fE(e,t,n){if(!t)return;let r=document.head.querySelector(`link[rel="${e}"]`);r||(r=document.createElement(`link`),r.rel=e,document.head.appendChild(r)),r.href=t,n&&(r.type=n)}function pE(e){document.title=e.title||`Workframe`,dE(`name`,`description`,e.description),dE(`name`,`theme-color`,e.theme_color),dE(`property`,`og:type`,`website`),dE(`property`,`og:site_name`,e.title),dE(`property`,`og:title`,e.title),dE(`property`,`og:description`,e.description),dE(`property`,`og:url`,e.canonical_url),dE(`property`,`og:image`,e.og_image),dE(`name`,`twitter:card`,`summary_large_image`),dE(`name`,`twitter:title`,e.title),dE(`name`,`twitter:description`,e.description),dE(`name`,`twitter:image`,e.og_image),fE(`icon`,e.favicon),fE(`apple-touch-icon`,e.favicon),fE(`manifest`,e.manifest_url||`/manifest.webmanifest`)}async function mE(){try{let e=await fetch(`/api/public/site-meta`,{credentials:`same-origin`});return e.ok?await e.json():null}catch{return null}}async function hE(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error??Error(`read_failed`)),r.readAsDataURL(e)})}function gE({disabled:e,onStatus:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(``),[o,s]=(0,y.useState)(``),[c,l]=(0,y.useState)(`#0A0A0F`),[u,d]=(0,y.useState)(!1),[f,p]=(0,y.useState)(!1);(0,y.useEffect)(()=>{Y.getInstallStack().then(e=>{let t=e.site_branding;t?.title&&a(t.title),t?.description&&s(t.description),t?.theme_color&&l(t.theme_color),d(!!t?.has_og_image),p(!!t?.has_favicon)}).catch(()=>{})},[]);let m=(0,y.useCallback)(async()=>{r(null);try{await Y.patchInstallStack({site_branding:{title:i.trim(),description:o.trim(),theme_color:c.trim()}}),t?.(`Web presence settings saved.`);let e=await mE();return e?.ok&&pE(e),!0}catch(e){return r(xi(e,`Save web presence`)),!1}},[o,t,c,i]),h=async(n,i)=>{if(!(!i||e)){r(null);try{let e=await hE(i),a=await Y.uploadSiteBrandingAsset({kind:n,data_base64:e});if(!a.ok){r(a.error||`Upload failed for ${n}`);return}n===`og`&&d(!0),n===`favicon`&&p(!0),t?.(n===`og`?`OG image uploaded.`:`Favicon uploaded.`);let o=await mE();o?.ok&&pE(o),await m()}catch(e){r(xi(e,`Upload branding asset`))}}};return(0,x.jsxs)(`div`,{className:`wf-onboarding-form space-y-4`,children:[n?(0,x.jsx)(Cm,{children:n}):null,(0,x.jsx)(`p`,{className:`wf-wizard-section__hint m-0`,children:`Link previews, mobile home-screen install, and browser tab branding. Leave title and description blank to use your workframe name and mission from above.`}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Public title override`,htmlFor:`wf-site-title`,children:(0,x.jsx)(_r,{id:`wf-site-title`,value:i,onChange:e=>a(e.target.value),placeholder:`Defaults to workframe name`,disabled:e})}),(0,x.jsx)(hm,{label:`Theme color`,htmlFor:`wf-site-theme`,children:(0,x.jsx)(_r,{id:`wf-site-theme`,value:c,onChange:e=>l(e.target.value),placeholder:`#0A0A0F`,disabled:e})})]}),(0,x.jsx)(hm,{label:`Public description override`,htmlFor:`wf-site-description`,fullWidth:!0,children:(0,x.jsx)(_r,{id:`wf-site-description`,value:o,onChange:e=>s(e.target.value),placeholder:`Defaults to mission statement`,disabled:e})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`OG / share image`,htmlFor:`wf-site-og`,hint:u?`Custom image uploaded.`:`Uses workframe logo or default until you upload (1200×630 recommended).`,children:(0,x.jsx)(_r,{id:`wf-site-og`,type:`file`,accept:`image/png,image/jpeg,image/webp`,disabled:e,onChange:e=>void h(`og`,e.target.files?.[0]??null)})}),(0,x.jsx)(hm,{label:`Favicon`,htmlFor:`wf-site-favicon`,hint:f?`Custom favicon uploaded.`:`Defaults to Workframe favicon.`,children:(0,x.jsx)(_r,{id:`wf-site-favicon`,type:`file`,accept:`image/png,image/svg+xml,image/x-icon`,disabled:e,onChange:e=>void h(`favicon`,e.target.files?.[0]??null)})})]}),(0,x.jsx)(`div`,{className:`flex justify-end`,children:(0,x.jsx)(q,{type:`button`,tone:`primary`,disabled:e,onClick:()=>void m(),children:`Save web presence`})})]})}function _E({type:e,name:t,tagline:n,avatarUrl:r,onClick:i,className:a,asAgent:o=!1}){let s=!!i;return(0,x.jsxs)(`button`,{type:`button`,onClick:i,disabled:!s,className:K(`wf-profile-entity-card`,s&&`wf-profile-entity-card--interactive`,a),children:[(0,x.jsx)(`span`,{className:`wf-profile-entity-card__avatar`,"aria-hidden":`true`,children:r?(0,x.jsx)(`img`,{src:r,alt:``,className:`wf-profile-entity-card__avatar-img`}):o?(0,x.jsx)(de,{className:`wf-profile-entity-card__avatar-icon`}):(0,x.jsx)(jt,{className:`wf-profile-entity-card__avatar-icon`})}),(0,x.jsxs)(`span`,{className:`wf-profile-entity-card__copy`,children:[(0,x.jsxs)(`span`,{className:`wf-profile-entity-card__name-row`,children:[(0,x.jsx)(`span`,{className:`wf-profile-entity-card__name`,children:t}),e?(0,x.jsx)(`span`,{className:`wf-profile-entity-card__badge`,children:e}):null]}),n?(0,x.jsx)(`span`,{className:`wf-profile-entity-card__tagline`,children:n}):null]}),s?(0,x.jsx)(he,{className:`wf-profile-entity-card__chevron`,"aria-hidden":`true`}):null]})}function vE({children:e,className:t}){return(0,x.jsx)(`div`,{className:K(`grid grid-cols-1 md:grid-cols-2 gap-3`,t),children:e})}function yE({children:e,action:t}){return(0,x.jsxs)(`div`,{className:`relative group`,children:[e,t?(0,x.jsx)(`div`,{className:`absolute right-2 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity`,children:t}):null]})}function bE({isEmpty:e,emptyMessage:t,children:n,className:r}){return e&&t?(0,x.jsx)(Tm,{children:t}):(0,x.jsx)(vE,{className:r,children:n})}function xE({name:e,tagline:t,avatarUrl:n,onClick:r}){return(0,x.jsx)(_E,{asAgent:!0,name:e,tagline:t,avatarUrl:n,onClick:r})}var SE=Op,CE=String(SE.public_base||`/assets/avatars`).replace(/\/$/,``),wE=new Map((SE.avatars??[]).map(e=>[e.id,e]));function TE(e){let t=String(e||``).trim();return t?Gp(t)||`${CE}/${wE.get(t)?.file||`${t}.png`}`:null}function EE(e){let t=TE(e.avatar_id);if(t)return t;let n=String(e.avatar_url||``).trim();if(n){let e=Jp(`agent`,n);if(e){let t=TE(e);if(t)return t}let t=n.match(/\/assets\/(?:avatars|agents|users)\/([^.]+)\.png$/i)?.[1];if(t){let e=TE(t);if(e)return e}return n}let r=String(e.key||e.profile||``).trim().toLowerCase();if(r){let e=Fh(r);if(e)return e}return e.is_native?Gp(`steve`):null}function DE(e){let t=String(e||``).trim();if(t){let e=Jp(`user`,t);if(e){let t=Vp(`user`,e);if(t)return t}return t.startsWith(`/assets/avatars/`)||t.startsWith(`/assets/users/`)||t.startsWith(`/assets/agents/`),t}return Up}function OE(e,t){let n=String(e||``).trim();if(!n)return t;let r=Jp(`logo`,n);if(r){let e=Vp(`logo`,r);if(e)return e}return n.startsWith(`/assets/project-logos/`)||n.startsWith(`/assets/logos/`),n}function kE({workspaceId:e,currentUserId:t,members:n,loading:r=!1,onChanged:i}){let{closeUserSettings:a,openAgentSettings:o}=$S(),[s,c]=(0,y.useState)([]),[l,u]=(0,y.useState)([]),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(``),[_,v]=(0,y.useState)(``),[b,S]=(0,y.useState)(!1),C=(0,y.useCallback)(async()=>{if(e){S(!0),g(``);try{let[t,n]=await Promise.all([Y.listDelegationGrants(e),Y.getMyCohort(e)]);c(t.grants??[]),u(n.cohort??[]),f(``)}catch(e){g(xi(e))}finally{S(!1)}}},[e]);(0,y.useEffect)(()=>{C()},[C]);let w=(0,y.useCallback)(e=>{let t=n.find(t=>t.user_id===e);return t?.display_name||t?.email||e},[n]),T=(0,y.useMemo)(()=>n.filter(e=>e.user_id!==t),[t,n]),E=(0,y.useMemo)(()=>T.map(e=>({value:e.user_id,label:e.display_name||e.email||e.user_id})),[T]),D=(0,y.useMemo)(()=>s.filter(e=>e.grantor_user_id===t),[t,s]),O=(0,y.useMemo)(()=>s.filter(e=>e.grantee_user_id===t),[t,s]),k=T.length>0,A=D.length>0,j=O.length>0,M=A||j,N=async()=>{if(!(!e||!d)){m(d),g(``),v(``);try{await Y.createDelegationGrant(e,d),await C(),v(`Delegation granted.`),i?.()}catch(e){g(xi(e))}finally{m(``)}}},P=async t=>{if(e){m(t),g(``),v(``);try{await Y.revokeDelegationGrant(e,t),await C(),v(`Delegation revoked.`),i?.()}catch(e){g(xi(e))}finally{m(``)}}},F=e=>{a(),o(e.runtime_slug,e.display_name)},I=r||b;return I&&!l.length&&!s.length?(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading…`}):!l.length&&!k&&!M?(0,x.jsxs)(`div`,{className:`space-y-3`,role:`tabpanel`,children:[h?(0,x.jsx)(Oi,{message:h}):null,(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Open an agent chat to bootstrap your cohort.`})]}):(0,x.jsxs)(`div`,{className:`space-y-6`,role:`tabpanel`,children:[h?(0,x.jsx)(Oi,{message:h}):null,_?(0,x.jsx)(ki,{message:_}):null,l.length?(0,x.jsxs)(`section`,{className:`wf-settings-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:`Your agents`}),(0,x.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:l.map(e=>(0,x.jsx)(xE,{name:e.display_name,tagline:e.tagline||e.role,avatarUrl:EE({avatar_url:e.avatar_url,avatar_id:e.avatar_id,profile:e.template_slug,key:e.template_slug}),onClick:()=>F(e)},e.runtime_slug))})]}):null,k?(0,x.jsxs)(`section`,{className:`wf-settings-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:`Delegate to a partner`}),(0,x.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2 max-w-md`,children:[(0,x.jsx)(QT,{id:`wf-user-delegation-grantee`,className:`flex-1`,value:d,onValueChange:f,options:E,placeholder:`Workspace member`,disabled:I||!!p}),(0,x.jsx)(q,{type:`button`,tone:`primary`,disabled:!d||!!p,onClick:()=>void N(),children:`Grant`})]})]}):null,M?(0,x.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[A?(0,x.jsxs)(`section`,{className:`wf-settings-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:`Grants you gave`}),(0,x.jsx)(`div`,{className:`space-y-2`,children:D.map(e=>(0,x.jsxs)(`div`,{className:`flex items-center justify-between gap-2 bg-card border border-border rounded-lg p-3`,children:[(0,x.jsx)(`strong`,{className:`text-sm font-medium truncate`,children:w(e.grantee_user_id)}),(0,x.jsx)(Wr,{type:`button`,variant:`outline`,size:`sm`,disabled:p===e.id,onClick:()=>void P(e.id),children:`Revoke`})]},e.id))})]}):null,j?(0,x.jsxs)(`section`,{className:`wf-settings-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:`Grants you received`}),(0,x.jsx)(`div`,{className:`space-y-2`,children:O.map(e=>(0,x.jsx)(`div`,{className:`bg-card border border-border rounded-lg p-3`,children:(0,x.jsx)(`strong`,{className:`text-sm font-medium truncate`,children:w(e.grantor_user_id)})},e.id))})]}):null]}):null]})}var AE=/upstream service unavailable|service temporarily unavailable|failed to fetch|networkerror|load failed|http_502|http_503|\b502\b|\b503\b|request_timeout|aborted|network request failed/i;function jE(e){return[{id:`apply`,label:`Apply update`},{id:`rebuild`,label:e===`hermes`?`Rebuild Hermes gateway`:e===`workframe`?`Rebuild Workframe stack`:`Rebuild stack services`},{id:`health`,label:`Wait for stack to come back`},{id:`refresh`,label:`Reload Workframe`}]}function ME(e){return e===`hermes`?`Updating Hermes gateway`:e===`workframe`?`Updating Workframe`:`Updating stack`}function NE(e){return jE(e).map((e,t)=>({...e,status:t===0?`active`:`pending`}))}function PE(e,t,n){let r=e.findIndex(e=>e.id===t);return r<0?e:e.map((e,i)=>i<r?{...e,status:`done`}:e.id===t?{...e,status:`active`,detail:n}:{...e,status:`pending`})}function FE(e){return e.map(e=>({...e,status:`done`}))}function IE(e){let t=e instanceof Error?e.message:String(e??``);return AE.test(t)}async function LE(e){let t=e?.intervalMs??2e3,n=e?.maxWaitMs??900*1e3,r=Date.now(),i=0;for(;Date.now()-r<n;){if(e?.signal?.aborted)return!1;i+=1,e?.onPoll?.(i);try{if((await Y.getApiHealth())?.ok)return!0}catch{}await new Promise(n=>{let r=window.setTimeout(n,t);e?.signal?.addEventListener(`abort`,()=>{window.clearTimeout(r),n()},{once:!0})})}return!1}var RE=92e4;function zE(){if(typeof window>`u`)return Promise.resolve(``);let e=window.workframe;return e?.getAppVersion?e.getAppVersion().catch(()=>``):Promise.resolve(``)}function BE(e,t){return e.can_update===!0?!0:e.can_update===!1?!1:t&&e.update_available}function VE(e){return e?e===`latest`||/^v/i.test(e)?e:`v${e}`:``}function HE(e){let t=e.current?.trim();if(!t)return;let n=VE(t),r=e.latest?.trim();return e.update_available&&r&&r!==t?`${n} · latest ${VE(r)}`:n}function UE(e){for(let t of[e.agent_version,e.current]){let e=t?.trim();if(e&&/^\d+\.\d+/.test(e))return VE(e)}let t=e.image_tag?.trim();return t?VE(t):void 0}function WE({name:e,detail:t,product:n,actionLabel:r,applying:i,disabled:a,dockerOk:o,onApply:s,downloadUrl:c}){let l=BE(n,o),u=!n.update_available,d=n.update_available&&!l;return(0,x.jsxs)(`div`,{className:`wf-stack-updates__card`,children:[(0,x.jsxs)(`div`,{className:`wf-stack-updates__card-main`,children:[(0,x.jsx)(`strong`,{className:`wf-stack-updates__card-title`,children:e}),t?(0,x.jsx)(`span`,{className:`wf-stack-updates__muted`,children:t}):null,d?(0,x.jsx)(`span`,{className:`wf-stack-updates__reason`,children:n.reason||`Update from the host — one-click apply is not available here.`}):null]}),(0,x.jsx)(`div`,{className:`wf-stack-updates__card-actions`,children:u?(0,x.jsx)(`span`,{className:`wf-stack-updates__status`,children:`Up to date!`}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`span`,{className:`wf-stack-updates__status`,children:d?`Manual step`:`Update available`}),c?(0,x.jsx)(Wr,{type:`button`,size:`sm`,variant:`default`,asChild:!0,children:(0,x.jsxs)(`a`,{href:c,target:`_blank`,rel:`noreferrer`,children:[(0,x.jsx)(ye,{className:`wf-stack-updates__action-icon`,"aria-hidden":`true`}),`Download`]})}):l?(0,x.jsx)(Wr,{type:`button`,size:`sm`,variant:`default`,disabled:a,onClick:s,children:i?`Updating…`:r}):null]})})]})}function GE({onBadgeChange:e}){let[t,n]=(0,y.useState)(null),[r,i]=(0,y.useState)(!1),[a,o]=(0,y.useState)(``),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)([]),[p,m]=(0,y.useState)(``),h=(0,y.useRef)(null),g=d.length>0,_=d.some(e=>e.status===`error`),v=(0,y.useMemo)(()=>{if(!t)return 0;let e=0;return t.workframe?.update_available&&(e+=1),t.hermes?.update_available&&(e+=1),t.desktop?.update_available&&(e+=1),e},[t]),b=(0,y.useMemo)(()=>{if(!t)return!1;let e=t.update_apply_ready!==!1&&t.docker_available!==!1;return!!(t.workframe.update_available&&BE(t.workframe,e)||t.hermes.update_available&&BE(t.hermes,e))},[t]),S=t?.update_apply_ready!==!1&&t?.docker_available!==!1,C=t?.update_apply_channel;(0,y.useEffect)(()=>{e?.(v)},[e,v]),(0,y.useEffect)(()=>()=>{h.current?.abort()},[]);let w=(0,y.useCallback)(async()=>{if(!g){i(!0),c(``);try{let e=await zE();n(await Y.getAdminUpdates(e||void 0))}catch(e){c(xi(e,`Check updates`))}finally{i(!1)}}},[g]);(0,y.useEffect)(()=>{w()},[w]);let T=async e=>{h.current?.abort();let t=new AbortController;h.current=t,o(e),m(e),c(``),u(``),f(NE(e));let n=(e,t)=>{f(n=>PE(n,e,t))};try{let r=!1;try{let t=await Y.applyAdminUpdate(e,{timeoutMs:RE});if(!t.ok)throw Error(t.error||`Update failed`);r=!0}catch(e){if(!IE(e))throw e}if(n(`rebuild`,r?`Update accepted`:`Stack is restarting…`),await new Promise(e=>window.setTimeout(e,450)),n(`health`,`Waiting for stack…`),!await LE({signal:t.signal,onPoll:e=>{f(t=>PE(t,`health`,e===1?`Waiting for stack…`:`Still waiting… (${e})`))}}))throw Error(`request_timeout`);n(`refresh`),f(e=>FE(e)),await new Promise(e=>window.setTimeout(e,500)),window.location.reload()}catch(e){let t=xi(e,`Apply update`);c(t),f(e=>e.map(e=>e.status===`active`?{...e,status:`error`,detail:t}:e))}finally{o(``)}},E=S,D=!E||!!a||g;return(0,x.jsxs)(`div`,{className:`wf-stack-updates space-y-3`,role:`tabpanel`,children:[s&&(!g||_)?(0,x.jsx)(Oi,{message:s,tone:`neutral`}):null,l?(0,x.jsx)(ki,{message:l}):null,r&&!t&&!g?(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:`Checking for updates…`}):null,g?(0,x.jsx)(Tc,{steps:d,title:p?ME(p):`Updating stack`,className:`wf-stack-updates__progress`}):null,t&&!S&&!g?(0,x.jsx)(Oi,{message:t.supervisor_configured?`Stack updates are not ready — check that update scripts are installed and supervisor can reach Docker.`:`In-place updates need workframe-supervisor or Docker on the stack host.`,tone:`neutral`}):null,t&&S&&C===`supervisor`&&!g?(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:`Updates apply via the stack supervisor (runtime data and configs are preserved).`}):null,t&&!g?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(WE,{name:`Workframe`,detail:HE(t.workframe),product:t.workframe,actionLabel:`Update`,applying:a===`workframe`,disabled:D,dockerOk:E,onApply:()=>void T(`workframe`)}),(0,x.jsx)(WE,{name:`Hermes gateway`,detail:UE(t.hermes),product:t.hermes,actionLabel:`Update`,applying:a===`hermes`,disabled:D,dockerOk:E,onApply:()=>void T(`hermes`)}),t.desktop.current?(0,x.jsx)(WE,{name:`Desktop app`,detail:HE(t.desktop),product:t.desktop,actionLabel:`Download`,applying:!1,disabled:D,dockerOk:E,onApply:()=>{},downloadUrl:t.desktop.update_available&&t.desktop.download_url?t.desktop.download_url:void 0}):null,v>1&&b?(0,x.jsx)(`div`,{className:`flex justify-end pt-1`,children:(0,x.jsx)(Wr,{type:`button`,variant:`default`,disabled:D,onClick:()=>void T(`all`),children:a===`all`?`Updating…`:`Update all`})}):null]}):null]})}function KE({open:e,onClose:t,workspaceId:n,workspaceSlug:r,currentUserId:i,canManage:a,onInviteClick:o,onChanged:s}){let[c,l]=(0,y.useState)(null),[u,d]=(0,y.useState)([]),[f,p]=(0,y.useState)([]),[m,h]=(0,y.useState)(``),[g,_]=(0,y.useState)(``),[v,b]=(0,y.useState)(``),[S,C]=(0,y.useState)(``),[w,T]=(0,y.useState)(`byok`),[E,D]=(0,y.useState)(`workframe`),[O,k]=(0,y.useState)(!1),[A,j]=(0,y.useState)(``),[M,N]=(0,y.useState)(!1),[P,F]=(0,y.useState)(``),[I,L]=(0,y.useState)(``),[ee,R]=(0,y.useState)(0),te=(0,y.useRef)(null),z=(0,y.useRef)(null),B=(0,y.useRef)(null),V=(0,y.useRef)(null),ne=(0,y.useCallback)(async()=>{if(n){k(!0),F(``);try{let[e,t,r]=await Promise.all([Y.getWorkspace(n),Y.listWorkspaceMembers(n),a?Y.listWorkspaceInvites(n):Promise.resolve({invites:[]})]);l(e.workspace),d(t.members??[]),p(r.invites??[]),h(e.workspace.display_name??``),_(e.workspace.tagline??``),b(e.workspace.description??``),C(nm(e.workspace.avatar_url??``)),T(e.workspace.credential_mode===`workspace`?`workspace`:`byok`)}catch(e){F(e instanceof Error?e.message:`Could not load Workframe settings`)}finally{k(!1)}}},[a,n]);(0,y.useEffect)(()=>{e&&(D(`workframe`),F(``),L(``))},[e]),(0,y.useEffect)(()=>{e&&ne()},[ne,e]),(0,y.useEffect)(()=>{if(!e||!a){R(0);return}let t=!1;return(async()=>{try{let e=window.workframe,n=e?.getAppVersion?await e.getAppVersion().catch(()=>``):``,r=await Y.getAdminUpdates(n||void 0);if(t)return;let i=0;r.workframe?.update_available&&(i+=1),r.hermes?.update_available&&(i+=1),r.desktop?.update_available&&(i+=1),R(i)}catch{t||R(0)}})(),()=>{t=!0}},[a,e]);let re=(0,y.useMemo)(()=>f.filter(e=>!e.accepted_at),[f]),H=c?.slug||r||`workframe`,ie=(0,y.useMemo)(()=>OE(S||c?.avatar_url,Wp),[S,c?.avatar_url]),U=O||M||!a,ae=async()=>{if(n){N(!0),F(``),L(``);try{let e=S?em(S):null;l((await Y.patchWorkspace(n,{display_name:m,description:v,tagline:g,...e??{}})).workspace),L(`Workframe profile saved.`),s?.(),await ne()}catch(e){F(xi(e,`Save workframe`))}finally{N(!1)}}},W=async()=>{if(!(!a||!n)){N(!0),F(``),L(``);try{if((await Promise.all([z.current?.()??Promise.resolve(!0),te.current?.()??Promise.resolve(!0),B.current?.()??Promise.resolve(!0),V.current?.()??Promise.resolve(!0)])).some(e=>!e))return;L(`Integrations saved. Changes apply on the next agent run.`),await ne(),s?.()}catch(e){F(xi(e,`Save integrations`))}finally{N(!1)}}},oe=async()=>{if(!(!a||!n)){N(!0),F(``),L(``);try{l((await Y.patchWorkspaceIntegrations(n,{credential_mode:w})).workspace),L(w===`workspace`?`Company-funded models enabled. Agents will use shared Workframe keys.`:`BYOK enabled. Each member must connect their own model provider.`),s?.()}catch(e){F(xi(e,`Save model funding`))}finally{N(!1)}}},se=async e=>{if(!(!a||!n||e.user_id===i)){j(e.user_id),F(``),L(``);try{await Y.removeWorkspaceMember(n,e.user_id),L(`Removed ${e.display_name||e.email||e.user_id}.`),await ne(),s?.()}catch(e){F(e instanceof Error?e.message:`Could not remove member`)}finally{j(``)}}};return(0,x.jsx)(eE,{open:e,onClose:t,title:`Workframe Settings`,summary:E===`workframe`?`@${H}`:void 0,titleId:`wf-team-settings-title`,loading:O,tabs:[{id:`workframe`,label:`Identity & Bio`},{id:`members`,label:`Members`},{id:`delegation`,label:`Delegation`},...a?[{id:`funding`,label:`Model funding`},{id:`updates`,label:ee>0?`Updates (${ee})`:`Updates`},{id:`invites`,label:`Invites`},{id:`integrations`,label:`Integrations`}]:[]],activeTab:E,onTabChange:e=>{D(e),F(``),L(``)},actions:E===`workframe`&&a?(0,x.jsxs)(q,{type:`button`,tone:`primary`,onClick:()=>void ae(),disabled:U,children:[(0,x.jsx)(vt,{className:`w-4 h-4 mr-2`,"aria-hidden":`true`}),M?`Saving…`:`Save changes`]}):E===`funding`&&a?(0,x.jsxs)(q,{type:`button`,tone:`primary`,onClick:()=>void oe(),disabled:U,children:[(0,x.jsx)(vt,{className:`w-4 h-4 mr-2`,"aria-hidden":`true`}),M?`Saving…`:`Save funding`]}):null,footer:(0,x.jsxs)(`p`,{className:`wf-user-settings__hint m-0`,children:[`Workframe ID: `,n]}),children:(0,x.jsxs)(`div`,{className:`wf-workframe-settings space-y-4`,children:[E===`workframe`?(0,x.jsxs)(Gc,{error:P,status:I,children:[(0,x.jsx)(om,{avatarKind:`logo`,avatarLabel:`Logo`,avatarUrl:ie,onAvatarChange:C,disabled:U,primary:{id:`wf-workframe-name`,label:`Workframe name`,value:m,onChange:h},secondary:{id:`wf-workframe-tagline`,label:`Tagline`,value:g,onChange:_},body:{id:`wf-workframe-description`,label:`Mission`,value:v,onChange:b,rows:4,placeholder:`What this Workframe is for`}}),a?(0,x.jsx)(Am,{title:`Web presence`,hint:`Link previews, PWA install name, favicon, and theme color for this Workframe.`,children:(0,x.jsx)(gE,{disabled:U,onStatus:L})}):null,a?null:(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:`Only a Workframe admin can edit these details.`})]}):null,E===`members`?(0,x.jsxs)(`div`,{className:`space-y-4`,children:[a?(0,x.jsx)(`div`,{className:`flex items-center justify-end gap-3`,children:(0,x.jsx)(q,{type:`button`,tone:`primary`,onClick:o,children:`Invite member`})}):null,(0,x.jsx)(Gc,{error:P,status:I,bare:!0,children:(0,x.jsx)(bE,{isEmpty:!u.length,emptyMessage:`No members yet.`,children:u.map(e=>{let t=e.display_name||e.email||e.user_id,n=e.user_id===i;return(0,x.jsx)(yE,{action:a&&!n?(0,x.jsx)(Wr,{type:`button`,variant:`destructive`,size:`sm`,disabled:A===e.user_id,onClick:t=>{t.stopPropagation(),se(e)},children:`Remove`}):void 0,children:(0,x.jsx)(_E,{type:e.role||`Member`,name:t,tagline:e.tagline||e.email||e.user_id,avatarUrl:DE(e.avatar_url)||null})},e.membership_id)})})})]}):null,E===`delegation`?(0,x.jsx)(kE,{workspaceId:n,currentUserId:i,members:u,loading:O,onChanged:s}):null,E===`funding`&&a?(0,x.jsxs)(Gc,{error:P,status:I,className:`space-y-6`,children:[(0,x.jsx)(Am,{title:`Who pays for agent models?`,hint:`The model belongs to each agent. This setting only decides where the provider credential comes from.`,children:(0,x.jsxs)(`div`,{className:`wf-wizard-choice-grid`,children:[(0,x.jsxs)(`label`,{className:`wf-wizard-choice-card${w===`byok`?` is-selected`:``}`,children:[(0,x.jsx)(`input`,{type:`radio`,name:`wf-settings-credential-mode`,checked:w===`byok`,disabled:U,onChange:()=>T(`byok`)}),(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`strong`,{children:`Members bring their own keys`}),(0,x.jsx)(`small`,{children:`Each person connects providers in User Settings → Integrations.`})]})]}),(0,x.jsxs)(`label`,{className:`wf-wizard-choice-card${w===`workspace`?` is-selected`:``}`,children:[(0,x.jsx)(`input`,{type:`radio`,name:`wf-settings-credential-mode`,checked:w===`workspace`,disabled:U,onChange:()=>T(`workspace`)}),(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`strong`,{children:`Company-funded shared keys`}),(0,x.jsx)(`small`,{children:`Admins connect keys once; every member's agent runs use them.`})]})]})]})}),w===`workspace`?(0,x.jsx)(Am,{title:`Shared LLM providers`,hint:`Only API-key providers can be shared. Personal OAuth accounts remain under User Settings.`,children:(0,x.jsx)(xg,{workspaceId:n,credentialScope:`workspace`,categories:[`llm`],hint:`compact`,layout:`stack`,scrollInner:!1,disabled:U,onStatus:L,onError:F,onConnected:s})}):(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:`Members manage their own LLM keys and OAuth accounts under User Settings → Integrations.`})]}):null,E===`invites`&&a?(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsx)(`div`,{className:`flex items-center justify-end gap-3`,children:(0,x.jsx)(q,{type:`button`,tone:`primary`,onClick:o,children:`Invite member`})}),(0,x.jsx)(Gc,{error:P,status:I,bare:!0,children:(0,x.jsx)(bE,{isEmpty:!re.length,emptyMessage:`No pending invites.`,children:re.map(e=>(0,x.jsx)(_E,{type:`Pending`,name:e.email,tagline:e.role||`Member`},e.id))})})]}):null,E===`updates`&&a?(0,x.jsx)(GE,{onBadgeChange:R}):null,E===`integrations`&&a?(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsx)(`div`,{className:`flex items-center justify-end gap-3`,children:(0,x.jsxs)(q,{type:`button`,tone:`primary`,onClick:()=>void W(),disabled:U,children:[(0,x.jsx)(vt,{className:`w-4 h-4 mr-2`,"aria-hidden":`true`}),M?`Saving…`:`Save all`]})}),(0,x.jsx)(Gc,{error:P,status:I,className:`space-y-8`,children:(0,x.jsx)(Mm,{variant:`settings`,workspaceId:n,disabled:U,onBindSmtpSave:e=>{V.current=e},onBindStripeSave:e=>{z.current=e},onBindOAuthSave:e=>{te.current=e},onBindMessagingSave:e=>{B.current=e},onError:F})})]}):null]})})}var qE={discord:{label:`Discord`,blurb:`Link your Discord account for messaging identity and bot allowlists.`},telegram:{label:`Telegram`,blurb:`Link your Telegram account for messaging identity and bot allowlists.`}};function JE(e,t){return t?{text:`Linked`,linked:!0}:e?{text:`Not linked`,linked:!1}:{text:`Admin setup`,linked:!1}}function YE(e,t,n){return t?`ID ${t}`:e?n?`Not linked yet`:`Connect below to link your personal account.`:n?`Ask your admin to enable sign-in.`:`Not enabled on this Workframe yet. Ask your admin to turn it on under Workframe Settings → Integrations.`}function XE({workspaceId:e,disabled:t,onLinked:n,embedded:r=!1}){let i=(0,y.useRef)(null),[a,o]=(0,y.useState)({}),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(null),[_,v]=(0,y.useState)(null),b=(0,y.useCallback)(async()=>{try{let[e,t]=await Promise.all([Y.getMe(),Y.getInstallStack()]);o(e.user.platform_ids??{}),f(!!t.discord_oauth?.enabled),u(!!t.telegram_login?.enabled),c(t.telegram_login?.bot_username??``)}catch{}},[]);(0,y.useEffect)(()=>{b()},[b]);let S=async()=>{m(!0),g(null),v(null);try{let t=await Y.startProviderOAuth(`discord`,e);if(t.redirect_url){window.location.assign(t.redirect_url);return}if(!t.ok){g(t.message||t.error||`Could not start Discord connect`);return}v(`Discord connect started — finish authorization in the window that opened.`),await b(),n?.()}catch(e){g(xi(e,`Connect Discord`))}finally{m(!1)}};(0,y.useEffect)(()=>{if(!l||!s||!i.current)return;window.onTelegramAuth=e=>{(async()=>{m(!0),g(null);try{let t=await Y.linkTelegram(e);if(!t.ok){g(t.error||`Telegram link failed`);return}t.platform_ids&&o(t.platform_ids),v(`Telegram account linked.`),n?.(),await b()}catch(e){g(xi(e,`Link Telegram`))}finally{m(!1)}})()};let e=i.current;e.innerHTML=``;let t=document.createElement(`script`);return t.async=!0,t.src=`https://telegram.org/js/telegram-widget.js?22`,t.setAttribute(`data-telegram-login`,s.replace(/^@/,``)),t.setAttribute(`data-size`,`medium`),t.setAttribute(`data-onauth`,`onTelegramAuth(user)`),t.setAttribute(`data-request-access`,`write`),e.appendChild(t),()=>{e.innerHTML=``,delete window.onTelegramAuth}},[n,b,s,l]);let C=a.discord?.trim()??``,w=a.telegram?.trim()??``;return(0,x.jsxs)(`section`,{className:`wf-platform-identity${r?` wf-platform-identity--embedded`:``}`,children:[r?null:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`h2`,{className:`wf-wizard-section__title`,children:`Messaging identity`}),(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:`Personal Discord and Telegram accounts — merged into bot allowlists, not workspace bot tokens.`})]}),h?(0,x.jsx)(Oi,{message:h,tone:`caution`}):null,_?(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:_}):null,(0,x.jsx)(`ul`,{className:`wf-sign-in-apps__list`,children:[{id:`discord`,linkedId:C,configured:d,action:d&&!C?(0,x.jsx)(q,{type:`button`,tone:`primary`,disabled:t||p,onClick:()=>void S(),children:`Connect with Discord`}):null},{id:`telegram`,linkedId:w,configured:l,action:l&&!w?(0,x.jsx)(`div`,{ref:i,className:`wf-platform-identity__telegram`}):null}].map(({id:e,linkedId:t,configured:n,action:i})=>{let a=qE[e],o=JE(n,t);return(0,x.jsxs)(`li`,{className:`wf-sign-in-app wf-platform-link${o.linked?` is-on`:``}`,children:[(0,x.jsxs)(`div`,{className:`wf-sign-in-app__head`,children:[(0,x.jsx)(`div`,{className:`wf-sign-in-app__icon`,"aria-hidden":`true`,children:(0,x.jsx)(xm,{id:e})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__copy`,children:[(0,x.jsxs)(`div`,{className:`wf-sign-in-app__title-row`,children:[(0,x.jsx)(`strong`,{children:a.label}),(0,x.jsx)(`span`,{className:`wf-sign-in-app__state${o.linked?` is-on`:``}`,children:o.text})]}),(0,x.jsx)(`p`,{className:`wf-sign-in-app__desc`,children:YE(n,t,r)||a.blurb})]})]}),i?(0,x.jsx)(`div`,{className:`wf-sign-in-app__body`,children:i}):null]},e)})})]})}function ZE(){let{theme:e,setTheme:t}=dc(),[n,r]=(0,y.useState)(``);function i(e){t(e),r(``),Y.updateMe({theme:e}).catch(e=>{r(e instanceof Error?e.message:`Could not save your theme.`)})}return(0,x.jsxs)(x.Fragment,{children:[n?(0,x.jsx)(Oi,{message:n,className:`wf-notice--wizard`}):null,(0,x.jsx)(og,{value:e,onChange:i})]})}function QE({open:e,onOpenChange:t,initialTab:n=`profile`,initialConnectTab:r=`providers`}){let{onLogout:i}=$S(),[a,o]=(0,y.useState)(`profile`),[s,c]=(0,y.useState)(`providers`),[l,u]=(0,y.useState)(null),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(!1),[_,v]=(0,y.useState)(``),[b,S]=(0,y.useState)(``),[C,w]=(0,y.useState)(``),[T,E]=(0,y.useState)(``),[D,O]=(0,y.useState)(``),[k,A]=(0,y.useState)(``),[j,M]=(0,y.useState)([]);(0,y.useEffect)(()=>{e&&(o(n),n===`connect`&&c(r===`messaging`?`messaging`:`providers`),v(``),S(``))},[e,n,r]),(0,y.useEffect)(()=>{if(!e)return;let t=!1;async function n(){f(!0),v(``);try{let e=await Y.getMe();if(t)return;u(e),w(e.user.display_name??``),E(tm(e.user.avatar_url??``)),O(e.user.tagline??``),A(e.user.bio??``);let n=e.current_workspace?.id??e.default_workspace?.id??``;if(n)try{let e=await Y.listWorkspaceMembers(n);t||M(e.members??[])}catch{t||M([])}else t||M([])}catch(e){t||v(xi(e,`Load profile`))}finally{t||f(!1)}}return n(),()=>{t=!0}},[e]);let N=(0,y.useMemo)(()=>l&&l.user.email?.trim()||``,[l]),P=(0,y.useMemo)(()=>T||DE(l?.user.avatar_url),[T,l?.user.avatar_url]),F=d||p,I=async()=>{v(``),m(!0),S(`Saving profile…`);try{let e=T?$p(T):null,t=await Y.updateMe({display_name:C,...e??{},tagline:D,bio:k});u(t),E(tm(t.user.avatar_url??T)),S(`Profile saved. Your identity updates are live.`)}catch(e){S(``),v(xi(e,`Save profile`))}finally{m(!1)}},L=async()=>{if(!(!i||h)){g(!0);try{await i()}finally{g(!1)}}};return(0,x.jsx)(eE,{open:e,onClose:()=>t(!1),title:`Settings`,summary:N||void 0,titleId:`wf-user-profile-title`,loading:d,contentFill:!1,tabs:[{id:`profile`,label:`Identity & Bio`},{id:`connect`,label:`Connected Accounts`},{id:`agents`,label:`My Agents`},{id:`appearance`,label:`Appearance`}],activeTab:a,onTabChange:e=>o(e),actions:a===`profile`?(0,x.jsxs)(q,{type:`button`,tone:`primary`,onClick:()=>void I(),disabled:F,children:[(0,x.jsx)(vt,{className:`w-4 h-4 mr-2`,"aria-hidden":`true`}),p?`Saving…`:`Save changes`]}):null,footer:i?(0,x.jsxs)(q,{type:`button`,className:`w-full justify-start gap-2`,disabled:h,onClick:()=>void L(),children:[(0,x.jsx)(Xe,{className:`w-4 h-4`,"aria-hidden":`true`}),h?`Signing out…`:`Log out`]}):null,children:(0,x.jsx)(`div`,{className:`space-y-6`,children:a===`profile`?(0,x.jsx)(Gc,{error:_,status:b,children:(0,x.jsx)(om,{avatarKind:`user`,avatarUrl:P,onAvatarChange:E,disabled:F,primary:{id:`wf-settings-profile-name`,label:`Display name`,value:C,onChange:w},secondary:{id:`wf-settings-profile-tag`,label:`Tagline`,value:D,onChange:O},body:{id:`wf-settings-profile-bio`,label:`About you`,value:k,onChange:A,rows:3}})}):a===`connect`?(0,x.jsxs)(Gc,{error:_,status:b,tabs:[{id:`providers`,label:`Integrations`},{id:`messaging`,label:`Linked accounts`}],activeTab:s,onTabChange:e=>c(e),tablistLabel:`Model keys sections`,children:[s===`providers`?(0,x.jsx)(xg,{disabled:d,workspaceId:l?.current_workspace?.id??l?.default_workspace?.id,credentialScope:`user`,categories:[`llm`,`dev`,`search`],hint:`none`,layout:`stack`,deviceOAuthPresentation:`inline`,onError:e=>{v(e),S(``)},onStatus:e=>{v(``),S(e)},onConnected:()=>{S(`Provider connected. Choose a model per agent in Agent Settings.`)}}):null,s===`messaging`?(0,x.jsx)(XE,{embedded:!0,workspaceId:l?.current_workspace?.id??l?.default_workspace?.id,disabled:d,onLinked:()=>S(`Account linked.`)}):null]}):a===`agents`?(0,x.jsx)(Gc,{error:_,status:b,children:(0,x.jsx)(kE,{workspaceId:l?.current_workspace?.id??l?.default_workspace?.id??``,currentUserId:l?.user.user_id??``,members:j,loading:d})}):(0,x.jsx)(Gc,{children:(0,x.jsx)(ZE,{})})})})}function $E(e){return e.split(/\s+/).map(e=>e[0]).join(``).slice(0,2).toUpperCase()}function eD(e){return{...e,avatarUrl:EE(e)}}function tD(e){return eD(e)}function nD(e,t){let n=t.toLowerCase(),r=e.find(e=>e.profile.toLowerCase()===n||e.key.toLowerCase()===n||e.display_name.toLowerCase()===n);if(r)return r;if(!n.match(/^u-[a-z0-9][a-z0-9-]{0,62}$/))return;let i=n.slice(2);return e.find(e=>{let t=e.profile.toLowerCase();return i===t||i.endsWith(`-${t}`)})}function rD(e){return $E(e)}var iD={xs:`wf-avatar wf-avatar--xs`,sm:`wf-avatar wf-avatar--sm`,md:`wf-avatar wf-avatar--md`,rail:`wf-avatar wf-avatar--rail`};function aD({src:e,name:t,initials:n,color:r=`var(--wf-cyan)`,size:i=`md`,className:a}){let[o,s]=(0,y.useState)(!1),c={"--agent-color":r},l=n?.trim()||rD(t);return e&&!o?(0,x.jsx)(`img`,{src:e,alt:``,"aria-hidden":`true`,className:K(iD[i],`wf-avatar--image`,a),style:c,loading:`lazy`,decoding:`async`,onError:()=>s(!0)}):(0,x.jsx)(`span`,{className:K(iD[i],a),style:c,"aria-hidden":`true`,children:l})}function oD({expanded:e,active:t,ariaLabel:n,title:r,primary:i,secondary:a,avatarSrc:o,avatarName:s,avatarInitials:c,avatarColor:l,onClick:u,className:d}){return(0,x.jsxs)(`button`,{type:`button`,className:K(`wf-agent-rail__item`,t&&`wf-agent-rail__item--active`,d),"aria-label":n,"aria-current":t?`true`:void 0,title:e?r:i,onClick:u,children:[(0,x.jsx)(aD,{src:o||void 0,name:s,initials:c||i.slice(0,2),color:l,size:`rail`,className:`wf-agent-rail__avatar`}),e?(0,x.jsxs)(`span`,{className:`wf-agent-rail__meta`,children:[(0,x.jsx)(`span`,{className:`wf-agent-rail__name`,children:i}),a?(0,x.jsx)(`span`,{className:`wf-agent-rail__role`,children:a}):null]}):null]})}var sD=null;async function cD(){return sD||=Lm(`/api/agents`).catch(e=>{throw sD=null,e}),sD}function lD(e){return`workframe.cachedCrew:${e}`}function uD(e){if(typeof window>`u`)return[];try{let t=localStorage.getItem(lD(e));return t?JSON.parse(t).crew??[]:[]}catch{return[]}}function dD(e,t){if(!(typeof window>`u`))try{localStorage.setItem(lD(e),JSON.stringify({crew:t,savedAt:Date.now()}))}catch{}}function fD(e){let[t,n]=(0,y.useState)(()=>uD(e)),[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(0),s=(0,y.useCallback)(()=>{o(e=>e+1)},[]);return(0,y.useEffect)(()=>{let r=!1;return cD().then(t=>{if(r)return;let a=(t.crew??[]).map(tD);i(null),n(a),dD(e,a)}).catch(e=>{r||(i(xi(e,`Load agents`)),t.length||n([]))}),()=>{r=!0}},[e,a]),{crew:t,error:r,reload:s}}var pD=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,mD=[`workframe-agent`,Hx(),`architect`,`visionary`,`docs`,`dev`,`research`,`designer`];function hD(e){let t=e.trim().toLowerCase();if(!/^u-[a-z0-9]/.test(t))return e.trim();let n=t.slice(2),r=[...new Set(mD.filter(Boolean))];for(let e of r)if(n===e||n.endsWith(`-${e}`))return e;return e.trim()}function gD(e,t=``){if(!yD(e))return``;let n=e?.hermes_profile?.trim();if(n)return hD(n);let r=e?.agent_profile_id?.trim()||``;if(r&&!pD.test(r))return hD(r);let i=t.trim();return i&&!pD.test(i)?hD(i):``}function _D(e,t){return gD(e,t)||(t.trim()&&!bD(t)?hD(t):``)||Hx()}function vD(e,t){return e&&!yD(e)?``:_D(e,t)}function yD(e){if(!e)return!1;let t=String(e.room_type||``).trim();return t&&t!==`direct`?!1:!!(e.hermes_profile?.trim()||e.agent_profile_id?.trim())}function bD(e){return pD.test(e.trim())}function xD(e){return e?e.room_type===`channel`||e.room_type===`group`||e.room_type===`lane`:!1}function SD(e){return yD(e)&&e?.room_type===`direct`}var CD=[`#6c5ce7`,`#00b894`,`#0984e3`,`#e17055`,`#fdcb6e`,`#a29bfe`];function wD(e){return!e||e===`online`?null:e===`unavailable`?`Offline`:e===`not_installed`?`Missing`:e}function TD(e){return e.room_type===`direct`&&!e.agent_profile_id}function ED(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)}function DD(e,t){return[e,t].sort().join(`:`)}function OD(e){let t=0;for(let n of e)t=(t+n.charCodeAt(0))%CD.length;return CD[t]??CD[0]}function kD({api:e}={}){let t=`Workframe`,{crew:n,error:r,reload:i}=fD(t),{activeProfile:a,setActiveRoute:o}=Zx(),{activeRoom:s,closedPanelIds:c,openPanel:l,mobileLayout:u,activeWorkspacePanelId:d,railExpanded:f,setRailExpanded:p,setActiveRoom:m,userSettingsOpen:h,userSettingsTab:g,userSettingsConnectTab:_,openUserSettings:v,closeUserSettings:b,registerOpenAgentSettings:S,openChatSettings:C}=$S(),[w,T]=(0,y.useState)(!1),[E,D]=(0,y.useState)(!1),[O,k]=(0,y.useState)(!1),[A,j]=(0,y.useState)(()=>Zi()),[M,N]=(0,y.useState)([]),[P,F]=(0,y.useState)(()=>{let e=Zi(),t=e?.current_workspace??e?.default_workspace??e?.workspaces?.[0];return t?.id?$m(t.id):[]}),[I,L]=(0,y.useState)(``),[ee,R]=(0,y.useState)(!1),te=(0,y.useRef)(null),z=(0,y.useRef)(!1),B=(0,y.useMemo)(()=>A?.current_workspace??A?.default_workspace??A?.workspaces?.[0]??null,[A]),V=A?.user?.user_id??``,ne=A?.user?.display_name||A?.user?.email||`Profile`,re=A?.user?.email||`Signed in`,H=(0,y.useMemo)(()=>M.some(e=>e.user_id===V&&[`owner`,`admin`].includes(e.role)),[V,M]),ie=(0,y.useCallback)(()=>{l($.chat)},[l]),U=u?!0:!f,ae=(0,y.useCallback)(async()=>{R(!0),L(``);try{let e=await Y.getMe();j(e);let t=(e.current_workspace??e.default_workspace??e.workspaces?.[0]??null)?.id??``;if(!t){N([]),F([]);return}let[n,r]=await Promise.all([Y.listWorkspaceMembers(t),Y.listWorkspaceRooms(t,!0)]),i=r.rooms??[];N(n.members??[]),F(i),eh(t,i)}catch(e){L(xi(e,`Load Workframe`)),P.length||(N([]),F([]))}finally{R(!1)}},[P.length]),W=(0,y.useCallback)(()=>{te.current&&window.clearTimeout(te.current),te.current=window.setTimeout(()=>{te.current=null,ae(),i()},600)},[i,ae]);(0,y.useEffect)(()=>(ae(),()=>{te.current&&window.clearTimeout(te.current)}),[ae]),(0,y.useEffect)(()=>{if(B?.id)return $i(B.id,W)},[B?.id,W]);let oe=(0,y.useMemo)(()=>{let e=new Map;for(let t of P){if(!TD(t))continue;let n=(t.member_user_ids??[]).filter(Boolean);if(!n.includes(V))continue;let r=n.find(e=>e!==V);r&&e.set(r,t)}return e},[V,P]),se=(0,y.useMemo)(()=>M.filter(e=>e.user_id&&e.user_id!==V).map(e=>({member:e,room:oe.get(e.user_id)??null})),[V,oe,M]),ce=(0,y.useMemo)(()=>[...P.filter(xD)].sort((e,t)=>e.slug===`general`?-1:t.slug===`general`?1:e.name.localeCompare(t.name)),[P]),le=(0,y.useCallback)(e=>e?xD(e)?!0:(e.member_user_ids??[]).filter(Boolean).includes(V)?TD(e)||!!e.agent_profile_id:!1:!1,[V]);(0,y.useEffect)(()=>{if(!s||!P.length)return;let e=P.find(e=>e.id===s.id);if(!e){if(ee)return;m(null);return}if(!le(e)){if(ee)return;m(null);return}e!==s&&m(e)},[s,le,m,ee,P]);let ue=(0,y.useCallback)(e=>{let t=P.find(t=>t.id===e.id)??e,n=gD(t,a);n&&o(n),m(t),B?.id&&V&&Qm({workspaceId:B.id,userId:V,roomId:t.id,room:t}),ie()},[a,V,B?.id,ie,m,o,P]),de=(0,y.useCallback)(async(e,t)=>{let n=hD(e),r=P.find(e=>e.room_type===`direct`&&yD(e)&&gD(e,n)===n&&(e.member_user_ids??[]).includes(V));if(r){ue(r);return}if(!B||!V){m(null),o(n),ie();return}try{let e=await Y.createWorkspaceRoom(B.id,{name:t,slug:ED(`dm-${V}-${n}`),room_type:`direct`,agent_profile_id:n,member_user_ids:[V]});F(t=>[e.room,...t.filter(t=>t.id!==e.room.id)]),ue(e.room)}catch{m(null),o(n),ie()}},[V,B,ie,ue,m,o,P]);(0,y.useEffect)(()=>(S(async(e,t)=>{await de(e,t),C()}),()=>S(null)),[C,S,de]);let fe=(0,y.useCallback)(()=>{let e=P.find(e=>e.slug===`general`);if(e){ue(e);return}let t=P.find(e=>xD(e));t&&ue(t)},[ue,P]),pe=B?.tagline?.trim()||``;(0,y.useEffect)(()=>{if(s||z.current||!B?.id||!V||ee)return;let e=Zm(B.id,V),t=e?.roomId?.trim()||``;if(t&&P.length){let n=P.find(e=>e.id===t)??(e?.room?.id===t?e.room:null);if(n&&le(n)){z.current=!0,ue(n);return}}P.length&&(z.current=!0,fe())},[s,fe,V,B?.id,le,ue,ee,P]);let G=(0,y.useCallback)(async e=>{let t=e.user_id?.trim()||``,n=e.display_name||e.email||`Contact`;if(!B||!V||!t){m(null),ie();return}let r=oe.get(t);if(r){ue(r);return}try{let e=await Y.createWorkspaceRoom(B.id,{name:n,slug:ED(`dm-${DD(V,t)}`),room_type:`direct`,member_user_ids:[V,t]});F(t=>[e.room,...t.filter(t=>t.id!==e.room.id)]),ue(e.room)}catch{m(null),ie()}},[V,B,ie,oe,ue,m]),me=(0,x.jsx)(`button`,{type:`button`,className:`wf-agent-rail__toggle`,onClick:(0,y.useCallback)(()=>{p(!f)},[f,p]),"aria-label":f?`Collapse workframe rail`:`Expand workframe rail`,"aria-expanded":f,children:f?(0,x.jsx)(ct,{"aria-hidden":`true`}):(0,x.jsx)(lt,{"aria-hidden":`true`})});return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(eC,{className:K(`wf-panel--rail`,u?`wf-panel--rail-mobile wf-panel--rail-collapsed`:f?`wf-panel--rail-expanded`:`wf-panel--rail-collapsed`),children:[u?null:f?(0,x.jsx)(Dx,{label:kx,panelId:$.crew,api:e,trailing:me,renderSettings:({open:e,onClose:t})=>(0,x.jsx)(KE,{open:e,onClose:t,workspaceId:B?.id??``,workspaceSlug:B?.slug,currentUserId:V,canManage:H,onInviteClick:()=>{t(),T(!0)},onChanged:W})}):(0,x.jsx)(`div`,{className:`wf-panel__header`,children:me}),(0,x.jsx)(Zc,{axis:u?`horizontal`:`vertical`,inset:u?void 0:`rail`,className:K(`wf-agent-rail-scroll`,u&&`wf-agent-rail-scroll--mobile`),children:(0,x.jsxs)(`nav`,{className:K(`wf-agent-rail`,U&&`wf-agent-rail--collapsed`,u&&`wf-agent-rail--mobile`),"aria-label":`Workspace rail`,children:[r&&f&&!u?(0,x.jsx)(Oi,{message:r}):null,(0,x.jsx)(AD,{title:`Projects`,expanded:!U,count:ce.length,emptyLabel:ee?`Loading projects…`:`No projects yet`,addLabel:`Create project`,onAdd:u?void 0:()=>k(!0),children:ce.map(e=>(0,x.jsx)(oD,{expanded:!U,active:s?.id===e.id,ariaLabel:`Open project ${e.name}`,primary:e.name,secondary:e.topic?.trim()||(e.slug===`general`?pe:``),avatarName:e.name,avatarSrc:OE(e.avatar_url,Wp),avatarColor:OD(e.slug),onClick:()=>ue(e)},e.id))}),(0,x.jsx)(AD,{title:`Contacts`,expanded:!U,count:se.length,emptyLabel:ee?`Loading contacts…`:`No contacts yet`,addLabel:`Add contact`,onAdd:u?void 0:H?()=>T(!0):void 0,children:se.map(({member:e,room:t})=>{let n=e.display_name||e.email||`Contact`,r=t?s?.id===t.id:!1;return(0,x.jsx)(oD,{expanded:!U,active:r,ariaLabel:`Open direct message with ${n}`,primary:n,secondary:e.tagline||e.email||`Workspace member`,avatarSrc:DE(e.avatar_url),avatarName:n,onClick:()=>void G(e)},e.membership_id)})}),(0,x.jsx)(AD,{title:`Agents`,expanded:!U,count:n.length,emptyLabel:`No agents available`,addLabel:`Create agent`,onAdd:u?void 0:H?()=>D(!0):void 0,children:n.map(e=>{let t=!!(s&&yD(s)&&gD(s,e.profile)===e.profile),n=wD(e.route_status),r=e.tagline||e.role,i=n?`${r} · ${n}`:r;return(0,x.jsx)(oD,{expanded:!U,active:t,ariaLabel:e.display_name,primary:e.display_name,secondary:i,avatarSrc:e.avatarUrl,avatarName:e.display_name,avatarInitials:e.code,avatarColor:e.color,onClick:()=>void de(e.profile,e.display_name)},e.key)})}),I&&f&&!u?(0,x.jsx)(Oi,{message:I}):null,(0,x.jsx)(Bx,{projectName:t,closedPanelIds:c,expanded:!U,mobile:u,activePanelId:d,showDivider:!u,onOpen:l}),u?(0,x.jsx)(oD,{expanded:!1,active:h,ariaLabel:`Open user profile and settings`,primary:ne,secondary:re,avatarSrc:DE(A?.user?.avatar_url),avatarName:ne,onClick:()=>v(`profile`)}):null]})}),u?null:(0,x.jsx)(`div`,{className:`wf-agent-rail__bottom`,children:(0,x.jsx)(oD,{expanded:f,active:h,ariaLabel:`Open user profile and settings`,primary:ne,secondary:re,avatarSrc:DE(A?.user?.avatar_url),avatarName:ne,onClick:()=>v(`profile`)})}),(0,x.jsx)(QE,{open:h,onOpenChange:e=>e?v(g,_):b(),initialTab:g,initialConnectTab:_})]}),(0,x.jsx)(nE,{open:w,onOpenChange:T,workspaceId:B?.id??``,workspaceName:B?.display_name??`Workspace`,onInvited:W}),(0,x.jsx)(sE,{open:E,onOpenChange:D,onCreated:e=>{if(i(),W(),e.room)ue(e.room);else if(e.room_id){let t=P.find(t=>t.id===e.room_id);t&&ue(t)}else e.profile&&de(e.profile,n.find(t=>t.profile===e.profile)?.display_name??e.profile)}}),(0,x.jsx)(uE,{open:O,onOpenChange:k,workspaceId:B?.id??``,onCreated:W})]})}function AD({title:e,expanded:t,count:n,emptyLabel:r,addLabel:i,onAdd:a,children:o}){return(0,x.jsxs)(`section`,{className:`wf-agent-rail__section`,"aria-label":e,children:[t?(0,x.jsxs)(`div`,{className:`wf-agent-rail__section-header`,children:[(0,x.jsx)(`h3`,{className:`wf-agent-rail__section-title`,children:e}),a?(0,x.jsx)(`button`,{type:`button`,className:`wf-agent-rail__section-action wf-agent-rail__section-action--icon`,onClick:a,"aria-label":i??`Add to ${e}`,children:(0,x.jsx)(ft,{"aria-hidden":`true`,size:16})}):(0,x.jsx)(`span`,{className:`wf-agent-rail__section-count`,children:n})]}):null,n>0?o:t?(0,x.jsx)(`p`,{className:`wf-agent-rail__empty`,children:r}):null]})}var jD=(0,y.createContext)(null);function MD({children:e}){let[t,n]=(0,y.useState)(!1),[r,i]=(0,y.useState)(!1),[a,o]=(0,y.useState)(!1),[s,c]=(0,y.useState)(!1),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(!1),[_,v]=(0,y.useState)(!1),[b,S]=(0,y.useState)(!1),C=()=>{n(!1),i(!1),o(!1),c(!1),u(!1),f(!1),m(!1),g(!1),v(!1),S(!1)},w=(0,y.useCallback)(()=>{C(),n(!0)},[]),T=(0,y.useCallback)(()=>{C(),i(!0)},[]),E=(0,y.useCallback)(()=>{C(),o(!0)},[]),D=(0,y.useCallback)(()=>{C(),c(!0)},[]),O=(0,y.useCallback)(()=>{C(),u(!0)},[]),k=(0,y.useCallback)(()=>{C(),f(!0)},[]),A=(0,y.useCallback)(()=>{C(),m(!0)},[]),j=(0,y.useCallback)(()=>{C(),g(!0)},[]),M=(0,y.useCallback)(()=>{C(),v(!0)},[]),N=(0,y.useCallback)(()=>{C(),S(!0)},[]),P=(0,y.useMemo)(()=>({modelOpen:t,helpOpen:r,statusOpen:a,usageOpen:s,profileOpen:l,debugOpen:d,insightsOpen:p,gquotaOpen:h,skillsOpen:_,personalityOpen:b,openModelPicker:w,openHelp:T,openStatus:E,openUsage:D,openProfile:O,openDebug:k,openInsights:A,openGquota:j,openSkills:M,openPersonality:N,closeModelPicker:()=>n(!1),closeHelp:()=>i(!1),closeStatus:()=>o(!1),closeUsage:()=>c(!1),closeProfile:()=>u(!1),closeDebug:()=>f(!1),closeInsights:()=>m(!1),closeGquota:()=>g(!1),closeSkills:()=>v(!1),closePersonality:()=>S(!1)}),[t,r,a,s,l,d,p,h,_,b,w,T,E,D,O,k,A,j,M,N]);return(0,x.jsx)(jD.Provider,{value:P,children:e})}function ND(){let e=(0,y.useContext)(jD);if(!e)throw Error(`useCommandDialogs must be used within CommandDialogsProvider`);return e}var PD=`wf-chat-client-id`,FD=`wf-chat-session-schema:`,ID=[`wf-chat-session-id`,`wf-chat-gateway-sid`,`wf-chat-state-session-id`,`wf-chat-session-v2-reset`,`wf-chat-persistent-session-id`];function LD(e,t=``){return`${FD}${e}${t?`:${t}`:``}`}function RD(){if(typeof window>`u`)return`server`;let e=localStorage.getItem(PD);if(e)return e;let t=`ui-${Math.random().toString(36).slice(2,10)}-${Date.now().toString(36)}`;return localStorage.setItem(PD,t),t}if(typeof window<`u`)for(let e of ID)sessionStorage.removeItem(e),localStorage.removeItem(e);function zD(e,t=``){if(typeof window>`u`||!e)return;let n=LD(e,t);localStorage.getItem(n)!==`2`&&localStorage.setItem(n,`2`)}function BD(){return{profileRef:(0,y.useRef)(``),templateProfileRef:(0,y.useRef)(``),roomIdRef:(0,y.useRef)(``),gatewaySidRef:(0,y.useRef)(null),stateDbSidRef:(0,y.useRef)(null),turnActiveRef:(0,y.useRef)(!1),streamMessageIdRef:(0,y.useRef)(null),pendingOutboundRef:(0,y.useRef)(null),sourceIdRef:(0,y.useRef)(`ui`),clientIdRef:(0,y.useRef)(`default`),nativeProfileRef:(0,y.useRef)(``),finalizedTurnIdsRef:(0,y.useRef)(new Set),prevRoomKeyRef:(0,y.useRef)(``),bindGenRef:(0,y.useRef)(0),initRef:(0,y.useRef)(!1),llmReadyRef:(0,y.useRef)(null)}}function VD(e){return{id:e.id,authorId:e.authorId,authorName:e.authorName,role:e.role,segments:e.segments,timestamp:e.timestamp,tokens:e.tokens,...e.model?{modelId:e.model}:{},...e.llm_provider?{llmProvider:e.llm_provider}:{}}}async function HD(e,t,n){let r=new URLSearchParams({profile:e});t&&r.set(`session`,t),n&&r.set(`source`,n);let i=await Lm(`/api/chat/messages?${r.toString()}`);return{sessionId:i.session_id??t??``,messages:i.messages.map(VD)}}async function UD(e){let t=await Rm(`/api/rooms/${encodeURIComponent(e.room_id)}/bind`,e);return{sessionId:t.session_id??``,profile:t.profile??``,templateProfile:t.template_profile??t.profile??``,agentDisplayName:t.agent_display_name??``,created:!!t.created,llmReady:t.llm_ready??t.has_llm_provider??!1,messages:(t.messages??[]).map(VD)}}async function WD(e,t){let n=await Yi(`/api/hermes/profiles/${encodeURIComponent(e.profile)}/messages/stream`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!n.ok){let t=await Ji(n);throw Error(`POST /api/hermes/profiles/${e.profile}/messages/stream failed: ${t}`)}if(!n.body)throw Error(`Streaming response body unavailable`);let r=n.body.getReader(),i=new TextDecoder,a=``,o=`message`,s=!1,c=()=>{let e=a.match(/\r?\n\r?\n/);if(!e||e.index==null)return null;let t=a.slice(0,e.index).trim();return a=a.slice(e.index+e[0].length),t},l=e=>{let n=e.split(/\r?\n/),r=[],i=o;for(let e of n)if(e){if(e.startsWith(`event:`)){i=e.slice(6).trim()||`message`;continue}e.startsWith(`data:`)&&r.push(e.slice(5).trimStart())}if(o=`message`,r.length){try{t({event:i,data:JSON.parse(r.join(`
52
+ `},fs=0,ps=[];function ms(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),i=y.useState(fs++)[0],a=y.useState(Io)[0],o=y.useRef(e);y.useEffect(function(){o.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=uo([e.lockRef.current],(e.shards||[]).map(ls),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=y.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=ss(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=es(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=es(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return os(h,t,e,h===`h`?s:c,!0)},[]),c=y.useCallback(function(e){var n=e;if(!(!ps.length||ps[ps.length-1]!==a)){var r=`deltaY`in n?cs(n):ss(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&us(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(ls).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=y.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:hs(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=y.useCallback(function(e){n.current=ss(e),r.current=void 0},[]),d=y.useCallback(function(t){l(t.type,cs(t),t.target,s(t,e.lockRef.current))},[]),f=y.useCallback(function(t){l(t.type,ss(t),t.target,s(t,e.lockRef.current))},[]);y.useEffect(function(){return ps.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,Yo),document.addEventListener(`touchmove`,c,Yo),document.addEventListener(`touchstart`,u,Yo),function(){ps=ps.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,Yo),document.removeEventListener(`touchmove`,c,Yo),document.removeEventListener(`touchstart`,u,Yo)}},[]);var p=e.removeScrollBar,m=e.inert;return y.createElement(y.Fragment,null,m?y.createElement(a,{styles:ds(i)}):null,p?y.createElement(Ko,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function hs(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var gs=To(Eo,ms),_s=y.forwardRef(function(e,t){return y.createElement(Oo,co({},e,{ref:t,sideCar:gs}))});_s.classNames=Oo.classNames;var vs=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},ys=new WeakMap,bs=new WeakMap,xs={},Ss=0,Cs=function(e){return e&&(e.host||Cs(e.parentNode))},ws=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Cs(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})},Ts=function(e,t,n,r){var i=ws(t,Array.isArray(e)?e:[e]);xs[n]||(xs[n]=new WeakMap);var a=xs[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=(ys.get(e)||0)+1,l=(a.get(e)||0)+1;ys.set(e,c),a.set(e,l),o.push(e),c===1&&i&&bs.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(),Ss++,function(){o.forEach(function(e){var t=ys.get(e)-1,i=a.get(e)-1;ys.set(e,t),a.set(e,i),t||(bs.has(e)||e.removeAttribute(r),bs.delete(e)),i||e.removeAttribute(n)}),Ss--,Ss||(ys=new WeakMap,ys=new WeakMap,bs=new WeakMap,xs={})}},Es=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||vs(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ts(r,i,n,`aria-hidden`)):function(){return null}},Ds=`Dialog`,[Os,ks]=sa(Ds),[As,js]=Os(Ds),Ms=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=y.useRef(null),c=y.useRef(null),[l,u]=ma({prop:r,defaultProp:i??!1,onChange:a,caller:Ds});return(0,x.jsx)(As,{scope:t,triggerRef:s,contentRef:c,contentId:fa(),titleId:fa(),descriptionId:fa(),open:l,onOpenChange:u,onOpenToggle:y.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};Ms.displayName=Ds;var Ns=`DialogTrigger`,Ps=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(Ns,n),a=br(t,i.triggerRef);return(0,x.jsx)(Fr.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":ec(i.open),...r,ref:a,onClick:oa(e.onClick,i.onOpenToggle)})});Ps.displayName=Ns;var Fs=`DialogPortal`,[Is,Ls]=Os(Fs,{forceMount:void 0}),Rs=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=js(Fs,t);return(0,x.jsx)(Is,{scope:t,forceMount:n,children:y.Children.map(r,e=>(0,x.jsx)(Qa,{present:n||a.open,children:(0,x.jsx)(Xa,{asChild:!0,container:i,children:e})}))})};Rs.displayName=Fs;var zs=`DialogOverlay`,Bs=y.forwardRef((e,t)=>{let n=Ls(zs,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=js(zs,e.__scopeDialog);return a.modal?(0,x.jsx)(Qa,{present:r||a.open,children:(0,x.jsx)(Hs,{...i,ref:t})}):null});Bs.displayName=zs;var Vs=xr(`DialogOverlay.RemoveScroll`),Hs=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(zs,n),a=br(t,Oa());return(0,x.jsx)(_s,{as:Vs,allowPinchZoom:!0,shards:[i.contentRef],children:(0,x.jsx)(Fr.div,{"data-state":ec(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})}),Us=`DialogContent`,Ws=y.forwardRef((e,t)=>{let n=Ls(Us,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=js(Us,e.__scopeDialog);return(0,x.jsx)(Qa,{present:r||a.open,children:a.modal?(0,x.jsx)(Gs,{...i,ref:t}):(0,x.jsx)(Ks,{...i,ref:t})})});Ws.displayName=Us;var Gs=y.forwardRef((e,t)=>{let n=js(Us,e.__scopeDialog),r=y.useRef(null),i=br(t,n.contentRef,r);return y.useEffect(()=>{let e=r.current;if(e)return Es(e)},[]),(0,x.jsx)(qs,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:oa(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:oa(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:oa(e.onFocusOutside,e=>e.preventDefault())})}),Ks=y.forwardRef((e,t)=>{let n=js(Us,e.__scopeDialog),r=y.useRef(!1),i=y.useRef(!1);return(0,x.jsx)(qs,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),qs=y.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=js(Us,n);return oo(),(0,x.jsx)(x.Fragment,{children:(0,x.jsx)(La,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,x.jsx)(Ta,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":ec(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),Js=`DialogTitle`,Ys=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(Js,n);return(0,x.jsx)(Fr.h2,{id:i.titleId,...r,ref:t})});Ys.displayName=Js;var Xs=`DialogDescription`,Zs=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(Xs,n);return(0,x.jsx)(Fr.p,{id:i.descriptionId,...r,ref:t})});Zs.displayName=Xs;var Qs=`DialogClose`,$s=y.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=js(Qs,n);return(0,x.jsx)(Fr.button,{type:`button`,...r,ref:t,onClick:oa(e.onClick,()=>i.onOpenChange(!1))})});$s.displayName=Qs;function ec(e){return e?`open`:`closed`}var tc=Ms,nc=Rs,rc=y.forwardRef(({className:e,...t},n)=>(0,x.jsx)(Bs,{ref:n,className:K(`wf-dialog-overlay`,e),...t}));rc.displayName=Bs.displayName;var ic=y.forwardRef(({className:e,children:t,showClose:n=!0,overlayClassName:r,...i},a)=>(0,x.jsxs)(nc,{children:[(0,x.jsx)(rc,{className:r}),(0,x.jsxs)(Ws,{ref:a,className:K(`wf-dialog-content`,e),...i,children:[t,n?(0,x.jsx)($s,{className:`wf-dialog-close`,"aria-label":`Close`,children:(0,x.jsx)(Nt,{"aria-hidden":`true`})}):null]})]}));ic.displayName=Ws.displayName;function ac({className:e,...t}){return(0,x.jsx)(`div`,{className:K(`wf-dialog-header`,e),...t})}function oc({className:e,...t}){return(0,x.jsx)(`div`,{className:K(`wf-dialog-footer`,e),...t})}function sc({className:e,...t}){return(0,x.jsx)(Ys,{className:K(`wf-dialog-title`,e),...t})}function cc({className:e,...t}){return(0,x.jsx)(Zs,{className:K(`wf-dialog-description`,e),...t})}function lc(e,t){return t?!0:e?e.includes(`wf-auth-dialog`)||e.includes(`wf-dialog-content--create-agent`):!1}function uc({open:e,onOpenChange:t,title:n,description:r,children:i,footer:a,showClose:o=!0,contentClassName:s,modal:c=!0}){let l=!!a,u=lc(s,l);return(0,x.jsx)(tc,{open:e,onOpenChange:t,modal:c,children:(0,x.jsxs)(ic,{showClose:o,className:K(s,l&&`wf-dialog-content--has-footer`),children:[(0,x.jsxs)(ac,{children:[(0,x.jsx)(sc,{children:n}),r?(0,x.jsx)(cc,{children:r}):null]}),i?(0,x.jsx)(`div`,{className:K(`wf-dialog-body`,u&&`wf-scroll wf-scroll--vertical wf-scroll-host`),children:i}):null,l?(0,x.jsx)(oc,{children:a}):null]})})}function dc(){let[e,t]=(0,y.useState)(()=>M());(0,y.useEffect)(()=>{P(e)},[e]),(0,y.useEffect)(()=>{let e=document.documentElement,n=new MutationObserver(()=>{let n=e.dataset.theme;O(n)&&t(n)});return n.observe(e,{attributes:!0,attributeFilter:[`data-theme`]}),()=>n.disconnect()},[]);let n=(0,y.useCallback)(e=>{t(e),F(e),P(e)},[]);return{theme:e,setTheme:n,toggleTheme:(0,y.useCallback)(()=>{n(N(e)?`neo-light`:`minimal-dark`)},[n,e])}}var fc=new Set([`mono`,`neo-color`,`minimal-color`,`leather-book`]),pc={lines:Et,neo:We,brutalist:_t,glass:wt,custom:st},mc={"minimal-light":Dt,"minimal-dark":nt,"neo-light":Dt,"neo-dark":nt,"liquid-glass-light":Dt,"liquid-glass-dark":nt,"frosted-glass-light":Dt,"frosted-glass-dark":nt,"leather-book":ue,newspaper:it,notebook:at},hc=w.filter(e=>!fc.has(e.id)).map(e=>({value:e.id,label:e.label,family:e.family,icon:mc[e.id]??pc[e.family]??st,style:e.style,texture:e.texture,preview:e.preview})),gc={lines:`Lines`,neo:`Neo`,brutalist:`Brutalist`,glass:`Glass`,custom:`Custom`},_c=[...new Set(hc.map(e=>e.family))].map(e=>({family:e,label:gc[e]??e,options:hc.filter(t=>t.family===e)})).filter(e=>e.options.length>0);function vc(){let{theme:e,setTheme:t}=dc(),[n,r]=(0,y.useState)(!1),i=(0,y.useRef)(null);(0,y.useEffect)(()=>{if(!n)return;function e(e){i.current&&!i.current.contains(e.target)&&r(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[n]);let a=hc.find(t=>t.value===e)??hc[0];return(0,x.jsx)(`div`,{className:K(`wf-theme-switcher`,n&&`wf-theme-switcher--open`),ref:i,children:(0,x.jsxs)(`div`,{className:`wf-theme-switcher__panel`,children:[(0,x.jsxs)(q,{type:`button`,className:`wf-theme-switcher__trigger`,"aria-haspopup":`listbox`,"aria-expanded":n,"aria-label":`Theme: ${a.label}`,onClick:()=>r(e=>!e),children:[(0,x.jsx)(a.icon,{"aria-hidden":`true`}),(0,x.jsx)(`span`,{children:a.label}),(0,x.jsx)(me,{"aria-hidden":`true`,className:n?`wf-theme-switcher__chevron--open`:``})]}),n?(0,x.jsx)(`ul`,{className:`wf-theme-switcher__menu`,role:`listbox`,"aria-label":`Theme`,children:_c.map(n=>(0,x.jsxs)(`li`,{className:`wf-theme-switcher__group`,role:`presentation`,children:[(0,x.jsx)(`span`,{className:`wf-theme-switcher__group-label`,children:n.label}),(0,x.jsx)(`ul`,{className:`wf-theme-switcher__group-list`,role:`group`,"aria-label":n.label,children:n.options.map(({value:n,label:i,icon:a})=>(0,x.jsx)(`li`,{role:`option`,"aria-selected":e===n,children:(0,x.jsxs)(`button`,{type:`button`,className:`wf-theme-switcher__item`,"aria-current":e===n?`true`:void 0,onClick:()=>{t(n),r(!1)},children:[(0,x.jsx)(a,{"aria-hidden":`true`}),(0,x.jsx)(`span`,{children:i}),e===n?(0,x.jsx)(G,{"aria-hidden":`true`,className:`wf-theme-switcher__check`}):null]})},n))})]},n.family))}):null]})})}function yc({projectName:e,onAuthenticated:t}){let[n,r]=(0,y.useState)(`checking`),[i,a]=(0,y.useState)(``),[o,s]=(0,y.useState)(null),c=(0,y.useMemo)(()=>new URLSearchParams(window.location.search).get(`invite_token`)?.trim()||``,[]),l=(0,y.useMemo)(()=>new URLSearchParams(window.location.search).get(`email`)?.trim()||``,[]);(0,y.useEffect)(()=>{d()},[]);async function u(){try{let e=(await Y.getMeta()).app_base_url?.trim();if(!e)return;let t=new URL(e);window.location.host!==t.host&&(window.location.replace(`${t.origin}${window.location.pathname}${window.location.search}${window.location.hash}`),await new Promise(()=>{}))}catch{}}async function d(){s(null),r(`checking`);try{await u();try{(await Y.getSetupStatus()).setup_complete||await Y.completeSetup({workframe_name:e,agent_name:`${e} Agent`})}catch{}let n=new URLSearchParams(window.location.search),i=n.get(`email`)?.trim(),o=n.get(`code`)?.trim(),d=n.get(`invite_token`)?.trim()||c,f=n.get(`invite_email`)?.trim()||l||i,p=async()=>{d&&await Y.acceptWorkspaceInvite(d)};try{await Y.restoreSession(),await p(),window.history.replaceState({},``,window.location.pathname),t();return}catch{}if(i&&o){a(i),r(`verifying`);try{await Y.verifyEmailCode(i,na(o)),d&&await Y.acceptWorkspaceInvite(d),window.history.replaceState({},``,window.location.pathname),t();return}catch(e){s(xi(e,`Verification code`)),r(`otp`)}}f&&a(f),r(`email`)}catch(e){s(xi(e,`Load authentication`)),r(`email`)}}let f=n===`checking`?`Checking your session…`:ia(n,i,``,`signin`),p=!It(),m=!!(i.trim()||l.trim());return(0,x.jsxs)(`div`,{className:`wf-onboarding-page wf-onboarding-page--gate`,children:[(0,x.jsx)(`div`,{className:`wf-onboarding-page__theme`,children:(0,x.jsx)(vc,{})}),(0,x.jsxs)(uc,{open:!0,modal:p,onOpenChange:()=>{},title:`Sign in to continue`,description:f,showClose:!1,contentClassName:`wf-auth-dialog`,children:[n===`checking`?o?(0,x.jsx)(Oi,{message:o,className:`wf-auth__alert wf-auth__alert--error`}):null:(0,x.jsx)(aa,{initialEmail:i||l,startStep:n,inviteToken:c,purpose:`signin`,skipEmailStep:m,autoSendCode:m,variant:`wizard`,onVerified:()=>{window.history.replaceState({},``,window.location.pathname),t()}}),n===`checking`?(0,x.jsx)(`div`,{className:`wf-auth__status`,children:`Checking session…`}):null]})]})}var bc={hermes:`Setting up Hermes…`,workspace:`Preparing workspace…`,ready:`Almost there…`};function xc({projectName:e,onReady:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(8),c=(0,y.useCallback)(async()=>{try{let e=await Y.getInstallStatus();return r(e),a(null),e.phase===`ready`&&e.setup_complete&&e.hermes_present?(s(100),window.setTimeout(t,400),!0):(s(e=>Math.min(e+6,92)),!1)}catch(e){return a(e instanceof Error?e.message:`Install check failed`),!1}},[t]);(0,y.useEffect)(()=>{let e=!1,t=async()=>{let n=await c();!e&&!n&&window.setTimeout(t,2e3)};return t(),()=>{e=!0}},[c]);let l=n&&bc[n.phase]||`Starting…`;return(0,x.jsxs)(uc,{open:!0,onOpenChange:()=>{},title:`Setting up ${e}`,description:`Hi there — I'm getting your Workframe ready.`,showClose:!1,contentClassName:`wf-auth-dialog`,children:[(0,x.jsx)(`p`,{className:`wf-auth__status`,children:l}),(0,x.jsx)(`div`,{className:`wf-install-progress`,role:`progressbar`,"aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,children:(0,x.jsx)(`div`,{className:`wf-install-progress__bar`,style:{width:`${o}%`}})}),i?(0,x.jsxs)(`p`,{className:`wf-auth__alert wf-auth__alert--info`,children:[i,` — retrying…`]}):null,n?.hermes_present===!1?(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Bootstrapping agent profiles in the background.`}):null]})}var Sc=`••••••••`;function Cc(e,t=`Paste secret`){return e?Sc:t}function wc({saved:e=!1,emptyPlaceholder:t=`Paste secret`,placeholder:n,...r}){return(0,x.jsx)(_r,{type:`password`,autoComplete:`off`,placeholder:n??Cc(e,t),...r})}function Tc({steps:e,title:t,className:n}){if(!e.length)return null;let r=e.filter(e=>e.status===`done`).length,i=Math.round(r/e.length*100);return(0,x.jsxs)(`div`,{className:K(`wf-operation-progress`,n),"aria-live":`polite`,children:[t?(0,x.jsx)(`p`,{className:`wf-operation-progress__title`,children:t}):null,(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__progress`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":i,children:(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__progress-bar`,style:{width:`${i}%`}})}),(0,x.jsx)(`ol`,{className:`wf-operation-progress__list`,children:e.map(e=>(0,x.jsxs)(`li`,{className:K(`wf-operation-progress__item`,e.status===`active`&&`wf-operation-progress__item--active`,e.status===`done`&&`wf-operation-progress__item--done`,e.status===`error`&&`wf-operation-progress__item--error`),children:[(0,x.jsxs)(`span`,{className:`wf-operation-progress__icon`,"aria-hidden":!0,children:[e.status===`done`?(0,x.jsx)(G,{}):null,e.status===`active`?(0,x.jsx)(Ye,{className:`wf-spin`}):null,e.status===`error`?(0,x.jsx)(Nt,{}):null]}),(0,x.jsx)(`span`,{className:`wf-operation-progress__label`,children:e.label}),e.detail?(0,x.jsx)(`span`,{className:`wf-operation-progress__detail`,children:e.detail}):null]},e.id))})]})}function Ec(e,t,n){let r=new Map((t??[]).map(e=>[String(e.step||``),e]));return e.map((e,t)=>{let i=r.get(e.id);return i?.ok===!1?{...e,status:`error`,detail:String(i.error||`Failed`)}:i?.ok===!0?{...e,status:`done`}:t===n?{...e,status:`active`}:t<n?{...e,status:`done`}:{...e,status:`pending`}})}function Dc({className:e,...t}){return(0,x.jsx)(q,{type:`button`,wizardSize:!0,className:K(e),...t})}function Oc({className:e,...t}){return(0,x.jsx)(q,{type:`button`,tone:`primary`,wizardSize:!0,className:K(e),...t})}var kc=[`Connecting your agent to Hermes…`,`Teaching your native agent your mission…`,`Opening your first chat room…`,`Almost ready — finishing setup…`];function Ac({projectName:e,steps:t,title:n=`Launching ${e}`,error:r=null,onRetry:i,onBack:a}){let[o,s]=(0,y.useState)(kc[0]);return(0,y.useEffect)(()=>{let e=0,t=window.setInterval(()=>{e=(e+1)%kc.length,s(kc[e])},2800);return()=>window.clearInterval(t)},[]),(0,x.jsx)(`div`,{className:`wf-onboarding-launch`,role:`status`,"aria-live":`polite`,"aria-busy":!r,children:(0,x.jsxs)(`div`,{className:`wf-onboarding-launch__card`,children:[(0,x.jsx)(`p`,{className:`wf-onboarding-launch__eyebrow`,children:`Workframe`}),(0,x.jsx)(`h1`,{className:`wf-onboarding-launch__title`,children:n}),(0,x.jsx)(`p`,{className:`wf-onboarding-launch__tagline`,children:r||o}),(0,x.jsx)(Tc,{steps:t}),r?(0,x.jsxs)(`div`,{className:`wf-onboarding-launch__actions`,children:[a?(0,x.jsx)(Dc,{onClick:a,children:`Back`}):null,i?(0,x.jsx)(Oc,{onClick:i,children:`Try again`}):null]}):null]})})}var jc=[{id:`runtime_profile`,label:`Create your personal agent runtime`},{id:`bootstrap_providers`,label:`Apply model and integration settings`},{id:`start_gateway`,label:`Start Hermes gateway`},{id:`dm_room`,label:`Open agent chat room`},{id:`room_chat_bind`,label:`Connect chat session`},{id:`finalize`,label:`Load Workframe`}],Mc=[{id:`save_agent`,label:`Save agent identity`}],Nc=[{id:`single_user_local`,title:`Just me on this environment`,blurb:`Solo use — skip email sign-in.`},{id:`trusted_team`,title:`My team on Docker`,blurb:`Teammates sign in with email verification.`},{id:`public_multi_user`,title:`Public on the web`,blurb:`Shared URL — DNS, HTTPS, and full security.`}],Pc=[{id:`cloud`,title:`Cloud (coming soon)`,blurb:`Provision your server, own your data, work from anywhere.`}],Fc=[{id:`setup`,label:`Prepare Workframe`},{id:`smtp`,label:`Save SMTP settings`},{id:`test-email`,label:`Send test email`},{id:`verify`,label:`Start admin verification`}];function Ic(e){let t=e.trim().replace(/\/+$/,``);return t?/^https?:\/\//i.test(t)?t:`https://${t}`:``}function Lc(e,t){return String(e?.admin_email||``).trim()||String(t||``).trim()}function Rc(e,t,n){let r=e.trim(),i=t.trim(),a=String(n||``).trim().toLowerCase();return i?!r||a&&r.toLowerCase()===a&&i.toLowerCase()!==a?i:e:r||e}function zc(e,t){return`You are ${e}, the Workframe Manager for ${t}. You help the owner run rooms, agents, and day-to-day work.`}function Bc(e,t=`pending`,n){let r=n?.includeInvites?[{id:`invites`,label:`Send team invites`}]:[],i=jc.filter(e=>e.id!==`finalize`),a=[...r,...i];return[...Ec(a,e,a.length),{id:`finalize`,label:`Load Workframe`,status:t}]}function Vc({host:e,setupComplete:t,tested:n}){let r=t?`Ready`:n?`Tested`:e.trim()?`Saved`:`Not configured`,i=e.trim()||`Enter SMTP host and send a test email`;return(0,x.jsxs)(`div`,{className:`wf-onboarding-smtp-status`,"aria-live":`polite`,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-smtp-status__badge${t?` is-ready`:n?` is-tested`:``}`,children:r}),(0,x.jsx)(`span`,{className:`wf-onboarding-smtp-status__detail`,children:i})]})}function Hc({phase:e}){if(!e)return null;let t=Fc.findIndex(t=>t.id===e);return(0,x.jsx)(`ul`,{className:`wf-onboarding-progress`,"aria-live":`polite`,"aria-busy":`true`,children:Fc.map((e,n)=>{let r=n<t,i=n===t;return(0,x.jsxs)(`li`,{className:r?`is-done`:i?`is-current`:``,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-progress__icon`,"aria-hidden":`true`,children:r?`✓`:i?`…`:``}),(0,x.jsx)(`span`,{children:e.label})]},e.id)})})}function Uc({busy:e,smtpPhase:t,smtpHost:n,smtpPort:r,smtpUser:i,smtpPass:a,smtpHasPassword:o,smtpFrom:s,smtpSetupComplete:c,smtpTested:l,onSmtpHostChange:u,onSmtpPortChange:d,onSmtpUserChange:f,onSmtpPassChange:p,onSmtpFromChange:m,onMarkSmtpDirty:h}){return(0,x.jsxs)(x.Fragment,{children:[e&&t?(0,x.jsx)(Hc,{phase:t}):(0,x.jsx)(Vc,{host:n,setupComplete:c,tested:l}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-host`,children:`SMTP host`}),(0,x.jsx)(_r,{id:`wf-smtp-host`,value:n,onChange:e=>{h(),u(e.target.value)},placeholder:`smtp.sendgrid.net`,disabled:e})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field__label-row`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-port`,children:`Port`}),(0,x.jsx)(`span`,{className:`wf-dialog-field__hint wf-dialog-field__hint--inline`,children:`465 SSL · 587 STARTTLS`})]}),(0,x.jsx)(_r,{id:`wf-smtp-port`,value:r,onChange:e=>{h(),d(e.target.value)},placeholder:`587`,disabled:e})]})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-user`,children:`Username`}),(0,x.jsx)(_r,{id:`wf-smtp-user`,value:i,onChange:e=>{h(),f(e.target.value)},disabled:e})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-pass`,children:`Password`}),(0,x.jsx)(wc,{id:`wf-smtp-pass`,value:a,onChange:e=>{h(),p(e.target.value)},saved:o,emptyPlaceholder:`SMTP password or API key`,disabled:e})]})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-from`,children:`From address`}),(0,x.jsx)(_r,{id:`wf-smtp-from`,value:s,onChange:e=>{h(),m(e.target.value)},placeholder:i||`same as username`,disabled:e}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Leave blank to use the login email as the sender.`})]})]})}function Wc({tabs:e,activeTab:t,onTabChange:n,ariaLabel:r}){return(0,x.jsx)(`div`,{className:`wf-wizard-subtabs`,role:`tablist`,"aria-label":r,children:e.map(({id:e,label:r})=>(0,x.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t===e,className:`wf-wizard-subtabs__btn${t===e?` is-active`:``}`,onClick:()=>n(e),children:r},e))})}function Gc({children:e,className:t,error:n,status:r,tabs:i,activeTab:a,onTabChange:o,tablistLabel:s=`Sections`,compact:c,authOtp:l,bare:u}){let d=(0,x.jsxs)(x.Fragment,{children:[i?.length&&a&&o?(0,x.jsx)(Wc,{tabs:i,activeTab:a,onTabChange:o,ariaLabel:s}):null,e]});return(0,x.jsxs)(`div`,{className:`wf-settings-panel-body space-y-4`,role:`tabpanel`,children:[n?(0,x.jsx)(Oi,{message:n}):null,r?(0,x.jsx)(ki,{message:r}):null,u?d:(0,x.jsx)(`div`,{className:K(`wf-wizard-panel wf-onboarding-form`,c&&`wf-onboarding-compact`,l&&`wf-wizard-panel--auth-otp`,t),children:d})]})}async function Kc(e){e.setBusy(!0);try{let t=Ic(e.publicUrl);if(e.setPublicUrl(t),!await e.patchInstallStackWhenAllowed({app_base_url:t}))return;e.setStep(`smtp`)}catch(t){e.setError(_i(t,`Save public URL`))}finally{e.setBusy(!1)}}function qc({step:e,busy:t,isInvitee:n,deploymentMode:r,workspaceId:i,publicUrl:a,canKeepAdminSetup:o,smtpSetupComplete:s,canContinueFromSmtp:c,adminVerified:l,adminEmail:u,onTestSmtp:d,onContinueFromSmtp:f,onSkipIntegrations:p,onSaveIntegrations:m,onSaveBilling:h,onSaveWorkframe:g,onSaveProfile:_,onSaveAgentModel:v,onSelectAgentModel:y,agentModelTab:b,agentModelsComplete:S,connectedProviderCount:C,onSaveAgent:w,onFinishInstall:T,onSendInvites:E,onSetupPublicHttps:D,onTestPublicUrl:O,onContinuePublish:k,onGetStarted:A,onContinueTheme:j}){switch(e){case`intro`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t||!u.trim(),onClick:A,children:`Get started`});case`theme`:return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(q,{wizardSize:!0,disabled:t,onClick:j,children:`Skip for now`}),(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:j,children:t?`Saving…`:`Use this theme`})]});case`smtp`:return(0,x.jsxs)(`div`,{className:`wf-wizard-footer-actions${o?` wf-wizard-footer-actions--cluster`:``}`,children:[(0,x.jsx)(q,{wizardSize:!0,tone:o||s?`default`:`primary`,className:`wf-wizard-footer-actions__btn`,disabled:t,onClick:d,children:t?`Working…`:`Send test email`}),(0,x.jsx)(q,{wizardSize:!0,tone:o||s?`primary`:`inactive`,className:`wf-wizard-footer-actions__btn`,disabled:t||!c,onClick:f,children:o?`Continue with current setup`:l?`Continue`:`Continue to verification`})]});case`admin_auth`:return null;case`integrations`:return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(q,{wizardSize:!0,disabled:t,onClick:p,children:`Skip`}),(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:m,children:`Continue`})]});case`billing`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:h,children:`Continue`});case`workframe`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:g,children:`Continue`});case`profile`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:_,children:`Continue`});case`agent_model`:return i?b===`keys`?(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t||C<1,onClick:y,children:`Select Model`}):(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t||!S,onClick:v,children:t?`Saving…`:n||r===`single_user_local`?`Launch Workframe`:`Continue`}):null;case`agent`:return(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:w,children:t?`Saving agent…`:`Continue`});case`invites`:return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(q,{wizardSize:!0,disabled:t,onClick:T,children:t?`Finishing…`:`Skip`}),(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:t,onClick:E,children:t?`Sending invites…`:`Send invites`})]});case`publish`:return(0,x.jsxs)(`div`,{className:`wf-wizard-footer-actions wf-wizard-footer-actions--cluster`,children:[(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,className:`wf-wizard-footer-actions__btn`,disabled:t||!a.trim(),onClick:D,children:t?`Setting up…`:`Set up HTTPS`}),(0,x.jsx)(q,{wizardSize:!0,className:`wf-wizard-footer-actions__btn`,disabled:t||!a.trim(),onClick:O,children:`Test connection`}),(0,x.jsx)(q,{wizardSize:!0,className:`wf-wizard-footer-actions__btn`,disabled:t||!a.trim(),onClick:k,children:`Continue`})]});default:return null}}var Jc=`wf-scroll`,Yc={vertical:`wf-scroll--vertical`,horizontal:`wf-scroll--horizontal`,both:`wf-scroll--both`},Xc={sm:`wf-scroll--inset-sm`,md:`wf-scroll--inset-md`,rail:`wf-scroll--inset-rail`},Zc=(0,y.forwardRef)(({axis:e=`both`,inset:t,className:n,...r},i)=>(0,x.jsx)(`div`,{ref:i,className:K(Jc,Yc[e],t&&Xc[t],e!==`horizontal`&&`wf-scroll-host`,n),...r}));Zc.displayName=`ScrollArea`;var Qc=y.forwardRef(({className:e,...t},n)=>(0,x.jsx)(`textarea`,{className:K(Jc,`wf-input wf-textarea wf-scroll--vertical`,e),ref:n,...t}));Qc.displayName=`Textarea`;function $c(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error||Error(`Failed to read avatar image`)),r.readAsDataURL(e)})}function el(e){let t=(0,y.useRef)(null),n=(0,y.useCallback)(()=>{t.current?.click()},[]),r=(0,y.useCallback)(async t=>{let n=t.target.files?.[0]??null;t.target.value=``,n&&(wi(n)||e(await $c(n)))},[e]);return{openFilePicker:n,fileInput:(0,x.jsx)(`input`,{ref:t,type:`file`,accept:`image/png,image/jpeg,image/webp,image/gif`,className:`sr-only`,onChange:e=>void r(e)})}}var tl=[`top`,`right`,`bottom`,`left`],nl=Math.min,rl=Math.max,il=Math.round,al=Math.floor,ol=e=>({x:e,y:e}),sl={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function cl(e,t,n){return rl(e,nl(t,n))}function ll(e,t){return typeof e==`function`?e(t):e}function ul(e){return e.split(`-`)[0]}function dl(e){return e.split(`-`)[1]}function fl(e){return e===`x`?`y`:`x`}function pl(e){return e===`y`?`height`:`width`}function ml(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function hl(e){return fl(ml(e))}function gl(e,t,n){n===void 0&&(n=!1);let r=dl(e),i=hl(e),a=pl(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Tl(o)),[o,Tl(o)]}function _l(e){let t=Tl(e);return[vl(e),t,vl(t)]}function vl(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var yl=[`left`,`right`],bl=[`right`,`left`],xl=[`top`,`bottom`],Sl=[`bottom`,`top`];function Cl(e,t,n){switch(e){case`top`:case`bottom`:return n?t?bl:yl:t?yl:bl;case`left`:case`right`:return t?xl:Sl;default:return[]}}function wl(e,t,n,r){let i=dl(e),a=Cl(ul(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(vl)))),a}function Tl(e){let t=ul(e);return sl[t]+e.slice(t.length)}function El(e){return{top:0,right:0,bottom:0,left:0,...e}}function Dl(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:El(e)}function Ol(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function kl(e,t,n){let{reference:r,floating:i}=e,a=ml(t),o=hl(t),s=pl(o),c=ul(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(dl(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Al(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=ll(t,e),p=Dl(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Ol(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Ol(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var jl=50,Ml=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Al},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=kl(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<jl&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=kl(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Nl=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=ll(e,t)||{};if(l==null)return{};let d=Dl(u),f={x:n,y:r},p=hl(i),m=pl(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=nl(d[_],T),D=nl(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=cl(O,A,k),M=!c.arrow&&dl(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Pl=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=ll(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=ul(r),_=ml(o),v=ul(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Tl(o)]:_l(o)),x=p!==`none`;!d&&x&&b.push(...wl(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=gl(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==ml(t))||T.every(e=>ml(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=ml(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Fl(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Il(e){return tl.some(t=>e[t]>=0)}var Ll=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=ll(e,t);switch(i){case`referenceHidden`:{let e=Fl(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Il(e)}}}case`escaped`:{let e=Fl(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Il(e)}}}default:return{}}}}},Rl=new Set([`left`,`top`]);async function zl(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=ul(n),s=dl(n),c=ml(n)===`y`,l=Rl.has(o)?-1:1,u=a&&c?-1:1,d=ll(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Bl=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await zl(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Vl=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=ll(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=ml(ul(i)),p=fl(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=cl(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=cl(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Hl=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=ll(e,t),u={x:n,y:r},d=ml(i),f=fl(d),p=u[f],m=u[d],h=ll(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Rl.has(ul(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Ul=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=ll(e,t),u=await o.detectOverflow(t,l),d=ul(i),f=dl(i),p=ml(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=nl(h-u[g],v),x=nl(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=rl(u.left,0),t=rl(u.right,0),n=rl(u.top,0),r=rl(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:rl(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:rl(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Wl(){return typeof window<`u`}function Gl(e){return Jl(e)?(e.nodeName||``).toLowerCase():`#document`}function Kl(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ql(e){return((Jl(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Jl(e){return Wl()?e instanceof Node||e instanceof Kl(e).Node:!1}function Yl(e){return Wl()?e instanceof Element||e instanceof Kl(e).Element:!1}function Xl(e){return Wl()?e instanceof HTMLElement||e instanceof Kl(e).HTMLElement:!1}function Zl(e){return!Wl()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Kl(e).ShadowRoot}function Ql(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=lu(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function $l(e){return/^(table|td|th)$/.test(Gl(e))}function eu(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var tu=/transform|translate|scale|rotate|perspective|filter/,nu=/paint|layout|strict|content/,ru=e=>!!e&&e!==`none`,iu;function au(e){let t=Yl(e)?lu(e):e;return ru(t.transform)||ru(t.translate)||ru(t.scale)||ru(t.rotate)||ru(t.perspective)||!su()&&(ru(t.backdropFilter)||ru(t.filter))||tu.test(t.willChange||``)||nu.test(t.contain||``)}function ou(e){let t=du(e);for(;Xl(t)&&!cu(t);){if(au(t))return t;if(eu(t))return null;t=du(t)}return null}function su(){return iu??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),iu}function cu(e){return/^(html|body|#document)$/.test(Gl(e))}function lu(e){return Kl(e).getComputedStyle(e)}function uu(e){return Yl(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function du(e){if(Gl(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Zl(e)&&e.host||ql(e);return Zl(t)?t.host:t}function fu(e){let t=du(e);return cu(t)?e.ownerDocument?e.ownerDocument.body:e.body:Xl(t)&&Ql(t)?t:fu(t)}function pu(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=fu(e),i=r===e.ownerDocument?.body,a=Kl(r);if(i){let e=mu(a);return t.concat(a,a.visualViewport||[],Ql(r)?r:[],e&&n?pu(e):[])}else return t.concat(r,pu(r,[],n))}function mu(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function hu(e){let t=lu(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Xl(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=il(n)!==a||il(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function gu(e){return Yl(e)?e:e.contextElement}function _u(e){let t=gu(e);if(!Xl(t))return ol(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=hu(t),o=(a?il(n.width):n.width)/r,s=(a?il(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var vu=ol(0);function yu(e){let t=Kl(e);return!su()||!t.visualViewport?vu:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function bu(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Kl(e)?!1:t}function xu(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=gu(e),o=ol(1);t&&(r?Yl(r)&&(o=_u(r)):o=_u(e));let s=bu(a,n,r)?yu(a):ol(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=Kl(a),t=r&&Yl(r)?Kl(r):r,n=e,i=mu(n);for(;i&&r&&t!==n;){let e=_u(i),t=i.getBoundingClientRect(),r=lu(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Kl(i),i=mu(n)}}return Ol({width:u,height:d,x:c,y:l})}function Su(e,t){let n=uu(e).scrollLeft;return t?t.left+n:xu(ql(e)).left+n}function Cu(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Su(e,n),y:n.top+t.scrollTop}}function wu(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=ql(r),s=t?eu(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=ol(1),u=ol(0),d=Xl(r);if((d||!d&&!a)&&((Gl(r)!==`body`||Ql(o))&&(c=uu(r)),d)){let e=xu(r);l=_u(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Cu(o,c):ol(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Tu(e){return Array.from(e.getClientRects())}function Eu(e){let t=ql(e),n=uu(e),r=e.ownerDocument.body,i=rl(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=rl(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Su(e),s=-n.scrollTop;return lu(r).direction===`rtl`&&(o+=rl(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Du=25;function Ou(e,t){let n=Kl(e),r=ql(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=su();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Su(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Du&&(a-=o)}else l<=Du&&(a+=l);return{width:a,height:o,x:s,y:c}}function ku(e,t){let n=xu(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Xl(e)?_u(e):ol(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Au(e,t,n){let r;if(t===`viewport`)r=Ou(e,n);else if(t===`document`)r=Eu(ql(e));else if(Yl(t))r=ku(t,n);else{let n=yu(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ol(r)}function ju(e,t){let n=du(e);return n===t||!Yl(n)||cu(n)?!1:lu(n).position===`fixed`||ju(n,t)}function Mu(e,t){let n=t.get(e);if(n)return n;let r=pu(e,[],!1).filter(e=>Yl(e)&&Gl(e)!==`body`),i=null,a=lu(e).position===`fixed`,o=a?du(e):e;for(;Yl(o)&&!cu(o);){let t=lu(o),n=au(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Ql(o)&&!n&&ju(e,o))?r=r.filter(e=>e!==o):i=t,o=du(o)}return t.set(e,r),r}function Nu(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?eu(t)?[]:Mu(t,this._c):[].concat(n),r],o=Au(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Au(t,a[e],i);s=rl(n.top,s),c=nl(n.right,c),l=nl(n.bottom,l),u=rl(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Pu(e){let{width:t,height:n}=hu(e);return{width:t,height:n}}function Fu(e,t,n){let r=Xl(t),i=ql(t),a=n===`fixed`,o=xu(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=ol(0);function l(){c.x=Su(i)}if(r||!r&&!a)if((Gl(t)!==`body`||Ql(i))&&(s=uu(t)),r){let e=xu(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Cu(i,s):ol(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Iu(e){return lu(e).position===`static`}function Lu(e,t){if(!Xl(e)||lu(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return ql(e)===n&&(n=n.ownerDocument.body),n}function Ru(e,t){let n=Kl(e);if(eu(e))return n;if(!Xl(e)){let t=du(e);for(;t&&!cu(t);){if(Yl(t)&&!Iu(t))return t;t=du(t)}return n}let r=Lu(e,t);for(;r&&$l(r)&&Iu(r);)r=Lu(r,t);return r&&cu(r)&&Iu(r)&&!au(r)?n:r||ou(e)||n}var zu=async function(e){let t=this.getOffsetParent||Ru,n=this.getDimensions,r=await n(e.floating);return{reference:Fu(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Bu(e){return lu(e).direction===`rtl`}var Vu={convertOffsetParentRelativeRectToViewportRelativeRect:wu,getDocumentElement:ql,getClippingRect:Nu,getOffsetParent:Ru,getElementRects:zu,getClientRects:Tu,getDimensions:Pu,getScale:_u,isElement:Yl,isRTL:Bu};function Hu(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Uu(e,t){let n=null,r,i=ql(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=al(d),h=al(i.clientWidth-(u+f)),g=al(i.clientHeight-(d+p)),_=al(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:rl(0,nl(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Hu(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Wu(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=gu(e),u=i||a?[...l?pu(l):[],...t?pu(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Uu(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?xu(e):null;c&&g();function g(){let t=xu(e);h&&!Hu(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Gu=Bl,Ku=Vl,qu=Pl,Ju=Ul,Yu=Ll,Xu=Nl,Zu=Hl,Qu=(e,t,n)=>{let r=new Map,i={platform:Vu,...n},a={...i.platform,_c:r};return Ml(e,t,{...i,platform:a})},$u=typeof document<`u`?y.useLayoutEffect:function(){};function ed(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!ed(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!ed(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function td(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function nd(e,t){let n=td(e);return Math.round(t*n)/n}function rd(e){let t=y.useRef(e);return $u(()=>{t.current=e}),t}function id(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=y.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=y.useState(r);ed(f,r)||p(r);let[m,h]=y.useState(null),[g,_]=y.useState(null),v=y.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),b=y.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=a||m,S=o||g,C=y.useRef(null),w=y.useRef(null),T=y.useRef(u),E=c!=null,D=rd(c),O=rd(i),k=rd(l),A=y.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),Qu(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!ed(T.current,t)&&(T.current=t,Pt.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);$u(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=y.useRef(!1);$u(()=>(j.current=!0,()=>{j.current=!1}),[]),$u(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=y.useMemo(()=>({reference:C,floating:w,setReference:v,setFloating:b}),[v,b]),N=y.useMemo(()=>({reference:x,floating:S}),[x,S]),P=y.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=nd(N.floating,u.x),r=nd(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...td(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return y.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var ad=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:Xu({element:r.current,padding:i}).fn(n):r?Xu({element:r,padding:i}).fn(n):{}}}},od=(e,t)=>{let n=Gu(e);return{name:n.name,fn:n.fn,options:[e,t]}},sd=(e,t)=>{let n=Ku(e);return{name:n.name,fn:n.fn,options:[e,t]}},cd=(e,t)=>({fn:Zu(e).fn,options:[e,t]}),ld=(e,t)=>{let n=qu(e);return{name:n.name,fn:n.fn,options:[e,t]}},ud=(e,t)=>{let n=Ju(e);return{name:n.name,fn:n.fn,options:[e,t]}},dd=(e,t)=>{let n=Yu(e);return{name:n.name,fn:n.fn,options:[e,t]}},fd=(e,t)=>{let n=ad(e);return{name:n.name,fn:n.fn,options:[e,t]}},pd=`Arrow`,md=y.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,x.jsx)(Fr.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,x.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});md.displayName=pd;var hd=md;function gd(e){let[t,n]=y.useState(void 0);return la(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var _d=`Popper`,[vd,yd]=sa(_d),[bd,xd]=vd(_d),Sd=e=>{let{__scopePopper:t,children:n}=e,[r,i]=y.useState(null),[a,o]=y.useState(void 0);return(0,x.jsx)(bd,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};Sd.displayName=_d;var Cd=`PopperAnchor`,wd=y.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=xd(Cd,n),o=y.useRef(null),s=a.onAnchorChange,c=br(t,y.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=y.useRef(null);y.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&Pd(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,x.jsx)(Fr.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});wd.displayName=Cd;var Td=`PopperContent`,[Ed,Dd]=vd(Td),Od=y.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=xd(Td,n),[_,v]=y.useState(null),b=br(t,e=>v(e)),[S,C]=y.useState(null),w=gd(S),T=w?.width??0,E=w?.height??0,D=r+(a===`center`?``:`-`+a),O=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},k=Array.isArray(l)?l:[l],A=k.length>0,j={padding:O,boundary:k.filter(Md),altBoundary:A},{refs:M,floatingStyles:N,placement:P,isPositioned:F,middlewareData:I}=id({strategy:`fixed`,placement:D,whileElementsMounted:(...e)=>Wu(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[od({mainAxis:i+E,alignmentAxis:o}),c&&sd({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?cd():void 0,...j}),c&&ld({...j}),ud({...j,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),S&&fd({element:S,padding:s}),Nd({arrowWidth:T,arrowHeight:E}),f&&dd({strategy:`referenceHidden`,...j,boundary:A?j.boundary:void 0})]}),L=g.setPlacementState;la(()=>(L(P),()=>{L(void 0)}),[P,L]);let[ee,R]=Pd(P),te=_a(m);la(()=>{F&&te?.()},[F,te]);let z=I.arrow?.x,B=I.arrow?.y,V=I.arrow?.centerOffset!==0,[ne,re]=y.useState();return la(()=>{_&&re(window.getComputedStyle(_).zIndex)},[_]),(0,x.jsx)(`div`,{ref:M.setFloating,"data-radix-popper-content-wrapper":``,style:{...N,transform:F?N.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ne,"--radix-popper-transform-origin":[I.transformOrigin?.x,I.transformOrigin?.y].join(` `),...I.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,x.jsx)(Ed,{scope:n,placedSide:ee,placedAlign:R,onArrowChange:C,arrowX:z,arrowY:B,shouldHideArrow:V,children:(0,x.jsx)(Fr.div,{"data-side":ee,"data-align":R,...h,ref:b,style:{...h.style,animation:F?void 0:`none`}})})})});Od.displayName=Td;var kd=`PopperArrow`,Ad={top:`bottom`,right:`left`,bottom:`top`,left:`right`},jd=y.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Dd(kd,n),a=Ad[i.placedSide];return(0,x.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,x.jsx)(hd,{...r,ref:t,style:{...r.style,display:`block`}})})});jd.displayName=kd;function Md(e){return e!==null}var Nd=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Pd(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Pd(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Fd=Sd,Id=wd,Ld=Od,Rd=jd,zd=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),Bd=`VisuallyHidden`,Vd=y.forwardRef((e,t)=>(0,x.jsx)(Fr.span,{...e,ref:t,style:{...zd,...e.style}}));Vd.displayName=Bd;var Hd=Vd,[Ud,Wd]=sa(`Tooltip`,[yd]),Gd=yd(),Kd=`TooltipProvider`,qd=700,Jd=`tooltip.open`,[Yd,Xd]=Ud(Kd),Zd=e=>{let{__scopeTooltip:t,delayDuration:n=qd,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=y.useRef(!0),s=y.useRef(!1),c=y.useRef(0);return y.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,x.jsx)(Yd,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:y.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:y.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:y.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Zd.displayName=Kd;var Qd=`Tooltip`,[$d,ef]=Ud(Qd),tf=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Xd(Qd,e.__scopeTooltip),l=Gd(t),[u,d]=y.useState(null),f=fa(),p=y.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=y.useRef(!1),[_,v]=ma({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Jd))):c.onClose(),a?.(e)},caller:Qd}),b=y.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),S=y.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),C=y.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),w=y.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return y.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,x.jsx)(Fd,{...l,children:(0,x.jsx)($d,{scope:t,contentId:f,open:_,stateAttribute:b,trigger:u,onTriggerChange:d,onTriggerEnter:y.useCallback(()=>{c.isOpenDelayedRef.current?w():S()},[c.isOpenDelayedRef,w,S]),onTriggerLeave:y.useCallback(()=>{m?C():(window.clearTimeout(p.current),p.current=0)},[C,m]),onOpen:S,onClose:C,disableHoverableContent:m,children:n})})};tf.displayName=Qd;var nf=`TooltipTrigger`,rf=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=ef(nf,n),a=Xd(nf,n),o=Gd(n),s=br(t,y.useRef(null),i.onTriggerChange),c=y.useRef(!1),l=y.useRef(!1),u=y.useCallback(()=>c.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,x.jsx)(Id,{asChild:!0,...o,children:(0,x.jsx)(Fr.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:oa(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:oa(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:oa(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:oa(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:oa(e.onBlur,i.onClose),onClick:oa(e.onClick,i.onClose)})})});rf.displayName=nf;var af=`TooltipPortal`,[of,sf]=Ud(af,{forceMount:void 0}),cf=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=ef(af,t);return(0,x.jsx)(of,{scope:t,forceMount:n,children:(0,x.jsx)(Qa,{present:n||a.open,children:(0,x.jsx)(Xa,{asChild:!0,container:i,children:r})})})};cf.displayName=af;var lf=`TooltipContent`,uf=y.forwardRef((e,t)=>{let n=sf(lf,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=ef(lf,e.__scopeTooltip);return(0,x.jsx)(Qa,{present:r||o.open,children:o.disableHoverableContent?(0,x.jsx)(hf,{side:i,...a,ref:t}):(0,x.jsx)(df,{side:i,...a,ref:t})})}),df=y.forwardRef((e,t)=>{let n=ef(lf,e.__scopeTooltip),r=Xd(lf,e.__scopeTooltip),i=y.useRef(null),a=br(t,i),[o,s]=y.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=y.useCallback(()=>{s(null),d(!1)},[d]),p=y.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=yf(r,vf(r,n.getBoundingClientRect())),a=bf(t.getBoundingClientRect());s(Sf([...i,...a])),d(!0)},[d]);return y.useEffect(()=>()=>f(),[f]),y.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),y.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!xf(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,x.jsx)(hf,{...e,ref:a})}),[ff,pf]=Ud(Qd,{isInside:!1}),mf=wr(`TooltipContent`),hf=y.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=ef(lf,n),l=Gd(n),{onClose:u}=c;return y.useEffect(()=>(document.addEventListener(Jd,u),()=>document.removeEventListener(Jd,u)),[u]),y.useEffect(()=>{if(c.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,x.jsx)(Ta,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,x.jsxs)(Ld,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,x.jsx)(mf,{children:r}),(0,x.jsx)(ff,{scope:n,isInside:!0,children:(0,x.jsx)(Hd,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});uf.displayName=lf;var gf=`TooltipArrow`,_f=y.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Gd(n);return pf(gf,n).isInside?null:(0,x.jsx)(Rd,{...i,...r,ref:t})});_f.displayName=gf;function vf(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 yf(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 bf(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 xf(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],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Sf(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)),Cf(t)}function Cf(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[t.length-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[n.length-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 wf=Zd,Tf=tf,Ef=rf,Df=cf,Of=uf,kf=wf,Af=Tf,jf=Ef,Mf=y.forwardRef(({className:e,sideOffset:t=6,...n},r)=>(0,x.jsx)(Df,{children:(0,x.jsx)(Of,{ref:r,sideOffset:t,className:K(`wf-elevated-surface wf-elevated-surface--tooltip z-50 overflow-hidden`,e),...n})}));Mf.displayName=Of.displayName;var Nf=`/assets/ada-DsvuOc9n.png`,Pf=`/assets/aibert-BCz8Lo8H.png`,Ff=`/assets/amelia-DUf3EBGu.png`,If=`/assets/andy-Cpymuhhx.png`,Lf=`/assets/bob-DRz-48Id.png`,Rf=`/assets/buzz-mC4PtMvC.png`,zf=`/assets/carl-CtE74db_.png`,Bf=`/assets/corbu-KiaMXzXQ.png`,Vf=`/assets/diana-DW0MsL38.png`,Hf=`/assets/elvis-LCFaZIcT.png`,Uf=`/assets/frida-CXFA0w3F.png`,Wf=`/assets/george-DBSH2Sm2.png`,Gf=`/assets/grace-BhV0UPc0.png`,Kf=`/assets/hedy-BR2IHift.png`,qf=`/assets/hermes-CqCzcE0y.png`,Jf=`/assets/isaac-D1nhJAuv.png`,Yf=`/assets/john-zSPWwNi4.png`,Xf=`/assets/joni-BFLoyfJP.png`,Zf=`/assets/leo-C_3IOL11.png`,Qf=`/assets/louis-DEEECFSX.png`,$f=`/assets/ludwig-_hoKhhyK.png`,ep=`/assets/marie-DET6MsfO.png`,tp=`/assets/marilyn-DTqwt8Yh.png`,np=`/assets/nikola-B4PtHrJv.png`,rp=`/assets/nina-BYbrOn0d.png`,ip=`/assets/paul-CGURYQIn.png`,ap=`/assets/ringo-WhfUNOyY.png`,op=`/assets/rosie-CAtcIf87.png`,sp=`/assets/steve-CgXXJ9EZ.png`,cp=`/assets/sun-BLNAhoZd.png`,lp=`/assets/warren-DIH7UKMY.png`,up=`/assets/woz-D2yleG-V.png`,dp=`/assets/zaha-wersOEq9.png`,fp=`/assets/1-DLJbBkOb.png`,pp=`/assets/10-uwRwj5ce.png`,mp=`/assets/11-5OuV9F_e.png`,hp=`/assets/12-u_axjxW-.png`,gp=`/assets/13-ldSvcMsH.png`,_p=`/assets/14-xdcALEYD.png`,vp=`/assets/15-aZ4snEFB.png`,yp=`/assets/16-L_5-DttY.png`,bp=`/assets/2-zOPZTppD.png`,xp=`/assets/3-Dc3WoVu5.png`,Sp=`/assets/4-C50hk7_m.png`,Cp=`/assets/5-Eweetkq4.png`,wp=`/assets/6-5sOXgfkw.png`,Tp=`/assets/7-BqRBCbiC.png`,Ep=`/assets/8-DEDKS94h.png`,Dp=`/assets/9-DNj34GW-.png`,Op={version:3,public_base:`/assets/avatars`,avatars:[{id:`ada`,file:`ada.png`,label:`Ada`},{id:`aibert`,file:`aibert.png`,label:`Aibert`},{id:`amelia`,file:`amelia.png`,label:`Amelia`},{id:`andy`,file:`andy.png`,label:`Andy`},{id:`bob`,file:`bob.png`,label:`Bob`},{id:`buzz`,file:`buzz.png`,label:`Buzz`},{id:`carl`,file:`carl.png`,label:`Carl`},{id:`corbu`,file:`corbu.png`,label:`Corbu`},{id:`diana`,file:`diana.png`,label:`Diana`},{id:`elvis`,file:`elvis.png`,label:`Elvis`},{id:`frida`,file:`frida.png`,label:`Frida`},{id:`george`,file:`george.png`,label:`George`},{id:`grace`,file:`grace.png`,label:`Grace`},{id:`hedy`,file:`hedy.png`,label:`Hedy`},{id:`hermes`,file:`hermes.png`,label:`Hermes`},{id:`isaac`,file:`isaac.png`,label:`Isaac`},{id:`john`,file:`john.png`,label:`John`},{id:`joni`,file:`joni.png`,label:`Joni`},{id:`leo`,file:`leo.png`,label:`Leo`},{id:`louis`,file:`louis.png`,label:`Louis`},{id:`ludwig`,file:`ludwig.png`,label:`Ludwig`},{id:`marie`,file:`marie.png`,label:`Marie`},{id:`marilyn`,file:`marilyn.png`,label:`Marilyn`},{id:`nikola`,file:`nikola.png`,label:`Nikola`},{id:`nina`,file:`nina.png`,label:`Nina`},{id:`paul`,file:`paul.png`,label:`Paul`},{id:`ringo`,file:`ringo.png`,label:`Ringo`},{id:`rosie`,file:`rosie.png`,label:`Rosie`},{id:`steve`,file:`steve.png`,label:`Steve`},{id:`sun`,file:`sun.png`,label:`Sun`},{id:`warren`,file:`warren.png`,label:`Warren`},{id:`woz`,file:`woz.png`,label:`Woz`},{id:`zaha`,file:`zaha.png`,label:`Zaha`}]},kp={version:2,public_base:`/assets/project-logos`,logos:[{id:`1`,file:`1.png`,label:`Logo 1`},{id:`2`,file:`2.png`,label:`Logo 2`},{id:`3`,file:`3.png`,label:`Logo 3`},{id:`4`,file:`4.png`,label:`Logo 4`},{id:`5`,file:`5.png`,label:`Logo 5`},{id:`6`,file:`6.png`,label:`Logo 6`},{id:`7`,file:`7.png`,label:`Logo 7`},{id:`8`,file:`8.png`,label:`Logo 8`},{id:`9`,file:`9.png`,label:`Logo 9`},{id:`10`,file:`10.png`,label:`Logo 10`},{id:`11`,file:`11.png`,label:`Logo 11`},{id:`12`,file:`12.png`,label:`Logo 12`},{id:`13`,file:`13.png`,label:`Logo 13`},{id:`14`,file:`14.png`,label:`Logo 14`},{id:`15`,file:`15.png`,label:`Logo 15`},{id:`16`,file:`16.png`,label:`Logo 16`}]},Ap=Op,jp=kp,Mp=Object.assign({"../assets/avatars/ada.png":Nf,"../assets/avatars/aibert.png":Pf,"../assets/avatars/amelia.png":Ff,"../assets/avatars/andy.png":If,"../assets/avatars/bob.png":Lf,"../assets/avatars/buzz.png":Rf,"../assets/avatars/carl.png":zf,"../assets/avatars/corbu.png":Bf,"../assets/avatars/diana.png":Vf,"../assets/avatars/elvis.png":Hf,"../assets/avatars/frida.png":Uf,"../assets/avatars/george.png":Wf,"../assets/avatars/grace.png":Gf,"../assets/avatars/hedy.png":Kf,"../assets/avatars/hermes.png":qf,"../assets/avatars/isaac.png":Jf,"../assets/avatars/john.png":Yf,"../assets/avatars/joni.png":Xf,"../assets/avatars/leo.png":Zf,"../assets/avatars/louis.png":Qf,"../assets/avatars/ludwig.png":$f,"../assets/avatars/marie.png":ep,"../assets/avatars/marilyn.png":tp,"../assets/avatars/nikola.png":np,"../assets/avatars/nina.png":rp,"../assets/avatars/paul.png":ip,"../assets/avatars/ringo.png":ap,"../assets/avatars/rosie.png":op,"../assets/avatars/steve.png":sp,"../assets/avatars/sun.png":cp,"../assets/avatars/warren.png":lp,"../assets/avatars/woz.png":up,"../assets/avatars/zaha.png":dp}),Np=Object.assign({"../assets/project-logos/1.png":fp,"../assets/project-logos/10.png":pp,"../assets/project-logos/11.png":mp,"../assets/project-logos/12.png":hp,"../assets/project-logos/13.png":gp,"../assets/project-logos/14.png":_p,"../assets/project-logos/15.png":vp,"../assets/project-logos/16.png":yp,"../assets/project-logos/2.png":bp,"../assets/project-logos/3.png":xp,"../assets/project-logos/4.png":Sp,"../assets/project-logos/5.png":Cp,"../assets/project-logos/6.png":wp,"../assets/project-logos/7.png":Tp,"../assets/project-logos/8.png":Ep,"../assets/project-logos/9.png":Dp}),Pp=Ap.public_base||`/assets/avatars`;function Fp(e,t){let n=`/${t}`,r=Object.keys(e).find(e=>e.replace(/\\/g,`/`).endsWith(n));return r?e[r]:``}function Ip(e,t,n){return e.map(e=>{let r=e.file||`${e.id}.png`,i=Fp(t,r)||`${n.replace(/\/$/,``)}/${r}`;return{id:e.id,src:i,label:e.label||e.id}})}var Lp=Ip(Ap.avatars??[],Mp,Pp),Rp=Ip(jp.logos??[],Np,jp.public_base||`/assets/project-logos`),zp={agent:Lp,user:Lp,logo:Rp};function Bp(e){return zp[e]}function Vp(e,t){return zp[e].find(e=>e.id===t)?.src??null}function Hp(e){let t=zp[e];return t.length?t[Math.floor(Math.random()*t.length)].src:``}var Up=Vp(`user`,`grace`)||Lp[0]?.src||``,Wp=Vp(`logo`,`4`)||Rp[0]?.src||``;function Gp(e){return Vp(`agent`,e)}function Kp(e){let t=String(e||``).trim();if(!t)return``;try{if(t.startsWith(`http://`)||t.startsWith(`https://`))return new URL(t).pathname}catch{}return t.split(`?`)[0].split(`#`)[0]}function qp(e){return e===`logo`?jp:Ap}function Jp(e,t){let n=Kp(t);if(!n)return null;let r=zp[e],i=r.find(e=>Kp(e.src)===n||e.src===t);if(i)return i.id;let a=qp(e),o=a[e===`logo`?`logos`:`avatars`]??[],s=String(a.public_base||``).replace(/\/$/,``),c=e===`logo`?[s,`/assets/logos`,`/assets/project-logos`].filter((e,t,n)=>n.indexOf(e)===t):[s,`/assets/agents`,`/assets/users`].filter((e,t,n)=>n.indexOf(e)===t);for(let e of c){if(!e)continue;let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),i=n.match(RegExp(`^${t}/([^/]+)\\.png$`,`i`));if(i){let e=i[1],t=r.find(t=>t.id===e);if(t)return t.id;for(let t of o)if(String(t.file||`${t.id}.png`).replace(/\.png$/i,``)===e||String(t.id)===e)return String(t.id)}}let l=n.match(/\/assets\/([a-z0-9]+)-[A-Za-z0-9_]+\.png$/i);if(l){let e=l[1];if(r.some(t=>t.id===e))return e;for(let t of o)if(String(t.file||`${t.id}.png`).replace(/\.png$/i,``)===e)return String(t.id)}return null}function Yp(e){let t=String(e||``).trim();if(!t)return{avatar_url:``};if(t.startsWith(`data:`))return{avatar_url:t};let n=Jp(`agent`,t);return n?{avatar_id:n,avatar_url:`${Pp}/${(Ap.avatars??[]).find(e=>e.id===n)?.file||`${n}.png`}`}:{avatar_url:t}}function Xp(e){return Zp(`agent`,e)}function Zp(e,t){let n=String(t||``).trim();if(!n)return``;let r=qp(e)[e===`logo`?`logos`:`avatars`]??[],i=Jp(e,n)||(r.some(e=>e.id===n)?n:null);return i?Vp(e,i)??n:n}function Qp(e,t){let n=String(t||``).trim();if(!n)return{avatar_url:``};if(n.startsWith(`data:`))return{avatar_url:n};let r=Jp(e,n),i=e===`logo`?jp:Ap,a=e===`logo`?`logos`:`avatars`,o=String(i.public_base||(e===`logo`?`/assets/project-logos`:`/assets/avatars`)).replace(/\/$/,``);return r?{avatar_url:`${o}/${i[a]?.find(e=>e.id===r)?.file||`${r}.png`}`}:{avatar_url:n}}function $p(e){return Qp(`user`,e)}function em(e){return Qp(`logo`,e)}function tm(e){return Zp(`user`,e)}function nm(e){return Zp(`logo`,e)}function rm(e,t,n,r){let i=String(t||``).trim();if(!i)return!1;if(i===n)return!0;let a=Jp(e,i);return!!(a&&a===r)}function im({kind:e,value:t,onChange:n,disabled:r,onUploadClick:i}){let a=(0,y.useMemo)(()=>Bp(e),[e]);return(0,x.jsxs)(`div`,{className:`wf-avatar-grid`,role:`listbox`,"aria-label":e===`logo`?`Choose logo`:e===`agent`?`Choose agent avatar`:`Choose avatar`,children:[(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(`button`,{type:`button`,className:K(`wf-avatar-grid__item wf-avatar-grid__item--upload`,t.startsWith(`data:`)&&`wf-avatar-grid__item--active`),disabled:r,onClick:i,children:(0,x.jsx)(ft,{"aria-hidden":!0})})}),(0,x.jsx)(Mf,{side:`bottom`,children:`Upload image`})]}),a.map(i=>{let a=rm(e,t,i.src,i.id);return(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":a,disabled:r,className:K(`wf-avatar-grid__item`,a&&`wf-avatar-grid__item--active`),onClick:()=>n(i.src),children:(0,x.jsx)(`img`,{src:i.src,alt:``})})}),(0,x.jsx)(Mf,{side:`bottom`,children:i.label})]},i.id)})]})}function am({withTooltipProvider:e=!0,onUploadClick:t,onChange:n,...r}){let i=el(n),a=t??i.openFilePicker,o=(0,x.jsxs)(Zc,{axis:`horizontal`,className:`wf-avatar-picker-scroll wf-scroll--horizontal`,children:[(0,x.jsx)(im,{...r,onChange:n,onUploadClick:a}),t?null:i.fileInput]});return e?(0,x.jsx)(kf,{delayDuration:400,children:o}):o}function om({avatarKind:e,avatarUrl:t,onAvatarChange:n,avatarLabel:r=`Avatar`,primary:i,secondary:a,body:o,disabled:s}){let{openFilePicker:c,fileInput:l}=el(n),u=t.startsWith(`data:`);return(0,x.jsx)(kf,{delayDuration:400,children:(0,x.jsxs)(`div`,{className:`wf-onboarding-identity`,children:[l,(0,x.jsxs)(`div`,{className:`wf-onboarding-identity__row`,children:[(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsxs)(`button`,{type:`button`,className:K(`wf-onboarding-identity__preview-btn wf-avatar-grid__item`,!t&&`wf-avatar-grid__item--upload`,u&&`wf-avatar-grid__item--active`),disabled:s,onClick:c,"aria-label":`Upload image`,children:[t?(0,x.jsx)(`img`,{src:t,alt:``}):null,(0,x.jsx)(`span`,{className:`wf-onboarding-identity__preview-overlay`,"aria-hidden":`true`,children:(0,x.jsx)(ft,{})})]})}),(0,x.jsx)(Mf,{side:`bottom`,className:`wf-tooltip-nudge-x-30`,children:`Upload image`})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-identity__fields`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:i.id,children:i.label}),(0,x.jsx)(_r,{id:i.id,value:i.value,onChange:e=>i.onChange(e.target.value),disabled:s})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:a.id,children:a.label}),(0,x.jsx)(_r,{id:a.id,value:a.value,onChange:e=>a.onChange(e.target.value),disabled:s})]})]})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{children:r}),(0,x.jsx)(am,{kind:e,value:t,onChange:n,disabled:s,onUploadClick:c,withTooltipProvider:!1})]}),o?(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:o.id,children:o.label}),(0,x.jsx)(Qc,{id:o.id,value:o.value,onChange:e=>o.onChange(e.target.value),rows:o.rows??4,placeholder:o.placeholder,disabled:s})]}):null]})})}function sm(){return(0,x.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":!0,children:[(0,x.jsx)(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`,stroke:`currentColor`,strokeWidth:`1.75`}),(0,x.jsx)(`path`,{d:`M5 15V5a2 2 0 0 1 2-2h10`,stroke:`currentColor`,strokeWidth:`1.75`,strokeLinecap:`round`})]})}function cm(){return(0,x.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M5 12.5l4.5 4.5L19 7.5`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function lm({value:e,label:t,id:n,className:r,mono:i=!0,pill:a=!1}){let[o,s]=(0,y.useState)(!1),c=(0,y.useCallback)(async()=>{if(e)try{await navigator.clipboard.writeText(e),s(!0),window.setTimeout(()=>s(!1),1600)}catch{}},[e]);return(0,x.jsxs)(`div`,{className:K(`wf-copy-input`,a&&`wf-copy-input--pill`,r),children:[(0,x.jsx)(`input`,{id:n,readOnly:!0,value:e,"aria-label":t,className:K(`wf-copy-input__value`,i&&`wf-copy-input__value--mono`)}),(0,x.jsx)(`button`,{type:`button`,className:`wf-copy-input__btn`,onClick:()=>void c(),disabled:!e,"aria-label":o?`Copied`:t?`Copy ${t}`:`Copy`,children:o?(0,x.jsx)(cm,{}):(0,x.jsx)(sm,{})})]})}function um(e){let t=e.trim();if(!t)return``;try{let e=/^https?:\/\//i.test(t)?t:`https://${t}`;return new URL(e).hostname}catch{return t.replace(/^https?:\/\//i,``).split(`/`)[0]||``}}function dm({publicUrl:e,onPublicUrlChange:t,disabled:n,httpsStatus:r}){let i=um(e),[a,o]=(0,y.useState)(null);(0,y.useEffect)(()=>{if(!i.trim()){o(null);return}let t=!1,n=window.setTimeout(()=>{Y.getPublishHints(e).then(e=>{t||o(e)}).catch(()=>{t||o(null)})},300);return()=>{t=!0,window.clearTimeout(n)}},[e,i]);let s=a?.dns.name||(i.includes(`.`)?i.split(`.`)[0]:`@`),c=a?.public_ipv4||`…`,l=a?.setup_command||`sudo bash /opt/workframe/scripts/workframe/setup-public-https.sh ${i||`your.domain.com`} ${a?.ui_port??28644}`,u=a?.registrar_links??[];return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-publish-url`,children:`Public domain`}),(0,x.jsx)(_r,{id:`wf-publish-url`,value:e,onChange:e=>t(e.target.value),placeholder:`dev.example.com`,disabled:n})]}),i?(0,x.jsxs)(`div`,{className:`wf-publish-setup`,children:[(0,x.jsxs)(`section`,{className:`wf-publish-section`,"aria-labelledby":`wf-publish-dns-title`,children:[(0,x.jsxs)(`header`,{className:`wf-publish-section__head`,children:[(0,x.jsx)(`h3`,{id:`wf-publish-dns-title`,className:`wf-publish-section__title`,children:`1 — DNS`}),(0,x.jsxs)(`p`,{className:`wf-publish-section__lede`,children:[`Add an `,(0,x.jsx)(`strong`,{children:`A record`}),` at your registrar so `,(0,x.jsx)(`code`,{children:i}),` points at this server.`]})]}),(0,x.jsxs)(`div`,{className:`wf-publish-dns-grid`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__type`,children:[(0,x.jsx)(Br,{children:`Type`}),(0,x.jsx)(lm,{value:`A`,mono:!1})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__name`,children:[(0,x.jsx)(Br,{children:`Name`}),(0,x.jsx)(lm,{value:s})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__value`,children:[(0,x.jsx)(Br,{children:`Value (server IP)`}),(0,x.jsx)(lm,{value:c})]})]}),u.length?(0,x.jsxs)(`div`,{className:`wf-publish-registrars`,children:[(0,x.jsx)(`span`,{className:`wf-publish-registrars__label`,children:`Open DNS at`}),(0,x.jsx)(`div`,{className:`wf-publish-registrars__links`,children:u.map(e=>(0,x.jsx)(`a`,{className:`wf-publish-registrars__link`,href:e.url,target:`_blank`,rel:`noreferrer`,children:e.label},e.url))})]}):(0,x.jsx)(`p`,{className:`wf-publish-section__hint`,children:`Use your domain registrar's DNS panel to add the record above.`}),a?.dns_cname?(0,x.jsxs)(`details`,{className:`wf-publish-alt`,children:[(0,x.jsx)(`summary`,{children:`Use CNAME instead (optional)`}),(0,x.jsxs)(`div`,{className:`wf-publish-dns-grid wf-publish-alt__grid`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__type`,children:[(0,x.jsx)(Br,{children:`Type`}),(0,x.jsx)(lm,{value:`CNAME`,mono:!1})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__name`,children:[(0,x.jsx)(Br,{children:`Name`}),(0,x.jsx)(lm,{value:a.dns_cname.name})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field wf-publish-dns-grid__value`,children:[(0,x.jsx)(Br,{children:`Target`}),(0,x.jsx)(lm,{value:a.dns_cname.value})]})]})]}):null]}),(0,x.jsxs)(`section`,{className:`wf-publish-section`,"aria-labelledby":`wf-publish-https-title`,children:[(0,x.jsxs)(`header`,{className:`wf-publish-section__head`,children:[(0,x.jsx)(`h3`,{id:`wf-publish-https-title`,className:`wf-publish-section__title`,children:`2 — HTTPS`}),(0,x.jsxs)(`p`,{className:`wf-publish-section__lede`,children:[`After DNS propagates, run `,(0,x.jsx)(`strong`,{children:`Set up HTTPS`}),` below (or use the SSH command if you prefer the shell).`]})]}),r?(0,x.jsx)(Oi,{message:r,tone:/installed|activated/i.test(r)?`info`:`caution`,className:`wf-notice--wizard`}):null,(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{children:`SSH command`}),(0,x.jsx)(lm,{value:l})]})]})]}):null]})}async function fm(e){if(!e.trim())return``;try{let t=await Y.setupPublicHttps(e);return t.ok?`HTTPS installed. The certificate will activate once DNS points to this server.`:xi(t.error||`HTTPS setup failed`,`HTTPS setup`)}catch(e){return xi(e,`HTTPS setup`)}}var pm=(0,y.forwardRef)(({className:e,label:t,wrapperClassName:n,...r},i)=>(0,x.jsxs)(`label`,{className:K(`archi-switch wf-switch`,n),children:[(0,x.jsx)(`input`,{ref:i,type:`checkbox`,className:K(`archi-switch__input wf-switch__input`,e),...r}),t?(0,x.jsx)(`span`,{className:`archi-switch__label`,children:t}):null]}));pm.displayName=`WfSwitch`;function mm({label:e,description:t,icon:n,enabled:r,disabled:i,onToggle:a,children:o}){return(0,x.jsxs)(`li`,{className:`wf-sign-in-app${r?` is-on`:``}`,children:[(0,x.jsxs)(`div`,{className:`wf-sign-in-app__head`,children:[(0,x.jsx)(`div`,{className:`wf-sign-in-app__icon`,"aria-hidden":`true`,children:n}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__copy`,children:[(0,x.jsx)(`div`,{className:`wf-sign-in-app__title-row`,children:(0,x.jsx)(`strong`,{children:e})}),(0,x.jsx)(`p`,{className:`wf-sign-in-app__desc`,children:t})]}),(0,x.jsx)(pm,{wrapperClassName:`wf-provider-connect__switch`,checked:r,disabled:i,"aria-label":`Enable ${e}`,onChange:e=>a(e.target.checked)})]}),r&&o?(0,x.jsx)(`div`,{className:`wf-sign-in-app__body`,children:o}):null]})}function hm({label:e,hint:t,htmlFor:n,children:r,fullWidth:i}){return(0,x.jsxs)(`div`,{className:K(`wf-sign-in-app__field`,i&&`wf-sign-in-app__field--full`),children:[(0,x.jsx)(Br,{htmlFor:n,children:e}),r,t?(0,x.jsx)(`p`,{className:`wf-sign-in-app__hint`,children:t}):null]})}var gm={workframe:`data:image/svg+xml,%3csvg%20width='1024'%20height='1024'%20viewBox='0%200%201024%201024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M64%200H0V1024H64V0Z'%20fill='black'/%3e%3cpath%20d='M256%200H128V1024H256V0Z'%20fill='black'%20fill-opacity='0.8'/%3e%3cpath%20d='M1024%200H640V1024H1024V0Z'%20fill='black'%20fill-opacity='0.4'/%3e%3cpath%20d='M576%200H320V1024H576V0Z'%20fill='black'%20fill-opacity='0.6'/%3e%3c/svg%3e`,workframeColor:`data:image/svg+xml,%3csvg%20width='384'%20height='384'%20viewBox='0%200%20384%20384'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M24%200H0V384H24V0Z'%20fill='%2379689D'/%3e%3cpath%20d='M96%200H48V384H96V0Z'%20fill='%2379689D'%20fill-opacity='0.8'/%3e%3cpath%20d='M384%200H240V384H384V0Z'%20fill='%2379689D'%20fill-opacity='0.4'/%3e%3cpath%20d='M216%200H120V384H216V0Z'%20fill='%2379689D'%20fill-opacity='0.6'/%3e%3c/svg%3e`,google:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M31.78%2015.8625C31.78%2024.7062%2025.7238%2031%2016.78%2031C8.20503%2031%201.28003%2024.075%201.28003%2015.5C1.28003%206.925%208.20503%200%2016.78%200C20.955%200%2024.4675%201.53125%2027.1738%204.05625L22.955%208.1125C17.4363%202.7875%207.17378%206.7875%207.17378%2015.5C7.17378%2020.9062%2011.4925%2025.2875%2016.78%2025.2875C22.9175%2025.2875%2025.2175%2020.8875%2025.58%2018.6063H16.78V13.275H31.5363C31.68%2014.0687%2031.78%2014.8312%2031.78%2015.8625Z'%20fill='black'/%3e%3c/svg%3e`,github:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10.8687%2024.8375C10.8687%2024.9625%2010.725%2025.0625%2010.5437%2025.0625C10.3375%2025.0813%2010.1938%2024.9812%2010.1938%2024.8375C10.1938%2024.7125%2010.3375%2024.6125%2010.5188%2024.6125C10.7063%2024.5937%2010.8687%2024.6937%2010.8687%2024.8375ZM8.925%2024.5562C8.88125%2024.6812%209.00625%2024.825%209.19375%2024.8625C9.35625%2024.925%209.54375%2024.8625%209.58125%2024.7375C9.61875%2024.6125%209.5%2024.4688%209.3125%2024.4125C9.15%2024.3688%208.96875%2024.4312%208.925%2024.5562ZM11.6875%2024.45C11.5062%2024.4938%2011.3812%2024.6125%2011.4%2024.7563C11.4187%2024.8813%2011.5813%2024.9625%2011.7688%2024.9188C11.95%2024.875%2012.075%2024.7563%2012.0562%2024.6313C12.0375%2024.5125%2011.8688%2024.4313%2011.6875%2024.45ZM15.8%200.5C7.13125%200.5%200.5%207.08125%200.5%2015.75C0.5%2022.6813%204.8625%2028.6125%2011.0938%2030.7C11.8938%2030.8438%2012.175%2030.35%2012.175%2029.9438C12.175%2029.5563%2012.1562%2027.4188%2012.1562%2026.1063C12.1562%2026.1063%207.78125%2027.0437%206.8625%2024.2437C6.8625%2024.2437%206.15%2022.425%205.125%2021.9562C5.125%2021.9562%203.69375%2020.975%205.225%2020.9937C5.225%2020.9937%206.78125%2021.1188%207.6375%2022.6063C9.00625%2025.0188%2011.3%2024.325%2012.1938%2023.9125C12.3375%2022.9125%2012.7438%2022.2187%2013.1938%2021.8062C9.7%2021.4187%206.175%2020.9125%206.175%2014.9C6.175%2013.1812%206.65%2012.3188%207.65%2011.2188C7.4875%2010.8125%206.95625%209.1375%207.8125%206.975C9.11875%206.56875%2012.125%208.6625%2012.125%208.6625C13.375%208.3125%2014.7188%208.13125%2016.05%208.13125C17.3813%208.13125%2018.725%208.3125%2019.975%208.6625C19.975%208.6625%2022.9813%206.5625%2024.2875%206.975C25.1438%209.14375%2024.6125%2010.8125%2024.45%2011.2188C25.45%2012.325%2026.0625%2013.1875%2026.0625%2014.9C26.0625%2020.9312%2022.3813%2021.4125%2018.8875%2021.8062C19.4625%2022.3%2019.95%2023.2375%2019.95%2024.7062C19.95%2026.8125%2019.9312%2029.4187%2019.9312%2029.9312C19.9312%2030.3375%2020.2188%2030.8312%2021.0125%2030.6875C27.2625%2028.6125%2031.5%2022.6813%2031.5%2015.75C31.5%207.08125%2024.4688%200.5%2015.8%200.5ZM6.575%2022.0562C6.49375%2022.1187%206.5125%2022.2625%206.61875%2022.3813C6.71875%2022.4813%206.8625%2022.525%206.94375%2022.4438C7.025%2022.3813%207.00625%2022.2375%206.9%2022.1187C6.8%2022.0187%206.65625%2021.975%206.575%2022.0562ZM5.9%2021.55C5.85625%2021.6312%205.91875%2021.7313%206.04375%2021.7938C6.14375%2021.8563%206.26875%2021.8375%206.3125%2021.75C6.35625%2021.6688%206.29375%2021.5688%206.16875%2021.5063C6.04375%2021.4688%205.94375%2021.4875%205.9%2021.55ZM7.925%2023.775C7.825%2023.8562%207.8625%2024.0438%208.00625%2024.1625C8.15%2024.3063%208.33125%2024.325%208.4125%2024.225C8.49375%2024.1438%208.45625%2023.9562%208.33125%2023.8375C8.19375%2023.6937%208.00625%2023.675%207.925%2023.775ZM7.2125%2022.8563C7.1125%2022.9188%207.1125%2023.0813%207.2125%2023.225C7.3125%2023.3688%207.48125%2023.4312%207.5625%2023.3687C7.6625%2023.2875%207.6625%2023.125%207.5625%2022.9813C7.475%2022.8375%207.3125%2022.775%207.2125%2022.8563Z'%20fill='black'/%3e%3c/svg%3e`,discord:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M27.107%205.63708C25.0356%204.66791%2022.8208%203.96356%2020.5052%203.5625C20.2208%204.07665%2019.8886%204.76819%2019.6595%205.3183C17.198%204.94812%2014.7591%204.94812%2012.3429%205.3183C12.1139%204.76819%2011.7741%204.07665%2011.4871%203.5625C9.16908%203.96356%206.95167%204.6705%204.88026%205.64221C0.70219%2011.9558%20-0.430415%2018.1126%200.135889%2024.182C2.907%2026.2514%205.59255%2027.5085%208.23277%2028.3311C8.88465%2027.4339%209.46605%2026.4802%209.9669%2025.475C9.013%2025.1126%208.09937%2024.6653%207.2361%2024.146C7.46512%2023.9763%207.68914%2023.7989%207.90557%2023.6164C13.1709%2026.0791%2018.8919%2026.0791%2024.0943%2023.6164C24.3133%2023.7989%2024.5373%2023.9763%2024.7638%2024.146C23.898%2024.6678%2022.9818%2025.1151%2022.0279%2025.4776C22.5288%2026.4802%2023.1077%2027.4365%2023.7621%2028.3336C26.4048%2027.511%2029.0929%2026.254%2031.864%2024.182C32.5285%2017.146%2030.7289%2011.0458%2027.107%205.63708ZM10.6842%2020.4494C9.10363%2020.4494%207.8074%2018.9738%207.8074%2017.1769C7.8074%2015.38%209.07595%2013.9018%2010.6842%2013.9018C12.2926%2013.9018%2013.5887%2015.3774%2013.5611%2017.1769C13.5636%2018.9738%2012.2926%2020.4494%2010.6842%2020.4494ZM21.3157%2020.4494C19.735%2020.4494%2018.4388%2018.9738%2018.4388%2017.1769C18.4388%2015.38%2019.7073%2013.9018%2021.3157%2013.9018C22.9239%2013.9018%2024.2202%2015.3774%2024.1925%2017.1769C24.1925%2018.9738%2022.9239%2020.4494%2021.3157%2020.4494Z'%20fill='black'/%3e%3c/svg%3e`,telegram:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M27.5534%204.956L3.91338%2014.072C2.30004%2014.72%202.30938%2015.62%203.61738%2016.0213L9.68671%2017.9147L23.7294%209.05467C24.3934%208.65067%2025%208.868%2024.5014%209.31067L13.124%2019.5787H13.1214L13.124%2019.58L12.7054%2025.836C13.3187%2025.836%2013.5894%2025.5547%2013.9334%2025.2227L16.8814%2022.356L23.0134%2026.8853C24.144%2027.508%2024.956%2027.188%2025.2374%2025.8387L29.2627%206.868C29.6747%205.216%2028.632%204.468%2027.5534%204.956Z'%20fill='black'/%3e%3c/svg%3e`,stripe:`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20role='img'%20aria-label='Stripe'%3e%3cpath%20fill='currentColor'%20d='M13.976%209.15c-2.172-.806-3.356-1.426-3.356-2.409%200-.831.683-1.305%201.901-1.305%202.227%200%204.515.858%206.09%201.631l.89-5.494C18.252.975%2015.697%200%2012.165%200%209.667%200%207.589.654%206.104%201.872%204.56%203.147%203.757%204.992%203.757%207.218c0%204.039%202.467%205.76%206.476%207.219%202.585.92%203.445%201.574%203.445%202.583%200%20.98-.84%201.545-2.354%201.545-1.875%200-4.965-.921-6.99-2.109l-.9%205.555C5.175%2022.99%208.385%2024%2011.714%2024c2.641%200%204.843-.624%206.328-1.813%201.664-1.305%202.525-3.236%202.525-5.732%200-4.128-2.524-5.851-6.591-7.305z'/%3e%3c/svg%3e`,netlify:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_133_28880)'%3e%3cpath%20d='M15.2457%200.31242C15.6623%20-0.10414%2016.3377%20-0.10414%2016.7542%200.31242L18.845%202.40322L14.9619%208.67595L9.19067%206.36747L15.2457%200.31242Z'%20fill='black'/%3e%3cpath%20d='M7.54952%208.00867L5.17627%2010.3819L10.0692%2016.5796L13.8219%2010.5176L7.54952%208.00867Z'%20fill='black'/%3e%3cpath%20d='M3.65745%2011.9008L0.312503%2015.2458C0.262785%2015.2955%200.219001%2015.3489%200.181152%2015.4051L7.69515%2017.0153L3.65745%2011.9008Z'%20fill='black'/%3e%3cpath%20d='M1.40796%2017.8497L3.55533%2019.9971L6.06377%2018.8474L1.40796%2017.8497Z'%20fill='black'/%3e%3cpath%20d='M5.16455%2021.6064L6.27196%2022.7138L7.66772%2020.459L5.16455%2021.6064Z'%20fill='black'/%3e%3cpath%20d='M7.82153%2024.2635L15.2457%2031.6877C15.6623%2032.1041%2016.3377%2032.1041%2016.7542%2031.6877L17.4452%2030.9967L17.6974%2029.6849L10.2809%2020.2906L7.82153%2024.2635Z'%20fill='black'/%3e%3cpath%20d='M20.135%2028.307L25.442%2022.9999L21.3252%2022.1177L20.135%2028.307Z'%20fill='black'/%3e%3cpath%20d='M27.2386%2021.2032L31.0379%2017.404L22.8606%2014.1331L21.728%2020.0223L27.2386%2021.2032Z'%20fill='black'/%3e%3cpath%20d='M31.8313%2015.4236C31.7905%2015.3606%2031.7428%2015.3009%2031.6877%2015.2457L27.7133%2011.2714L24.7949%2012.6091L31.8313%2015.4236Z'%20fill='black'/%3e%3cpath%20d='M26.1042%209.66224L24.105%207.66302L23.49%2010.8604L26.1042%209.66224Z'%20fill='black'/%3e%3cpath%20d='M22.2828%205.84103L20.3946%203.95294L16.9729%209.48039L21.2536%2011.1927L22.2828%205.84103Z'%20fill='black'/%3e%3cpath%20d='M12.7964%2018.1083L20.6127%2014.5259L19.6417%2019.5752L12.7964%2018.1083Z'%20fill='black'/%3e%3cpath%20d='M13.0398%2020.3423L19.2388%2021.6706L18.23%2026.9165L13.0398%2020.3423Z'%20fill='black'/%3e%3cpath%20d='M13.1987%2015.5772L19.3838%2012.7424L15.8329%2011.322L13.1987%2015.5772Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_133_28880'%3e%3crect%20width='32'%20height='32'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,vercel:`data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16%201.33331L32%2029.3333H0L16%201.33331Z'%20fill='black'/%3e%3c/svg%3e`,anthropic:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='88%20133%20336%20246'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M180.227%20133.523H236.521L329.48%20378.477H275.926L259.872%20331.267H159.139L142.578%20377.523H88.7266L180.227%20133.523ZM283.104%20133.672C283.47%20133.306%20332.756%20133.672%20332.756%20133.672L423.273%20378.238H372.549L283.104%20133.672ZM209.744%20194.523L176.176%20281.139H241.375L209.744%20194.523Z'%20fill='black'/%3e%3c/svg%3e`,cursor:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_191_523)'%3e%3cmask%20id='mask0_191_523'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='512'%20height='512'%3e%3cpath%20d='M0%200H512V512H0V0Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_191_523)'%3e%3cpath%20d='M390%200H122C54.6213%200%200%2054.6213%200%20122V390C0%20457.379%2054.6213%20512%20122%20512H390C457.379%20512%20512%20457.379%20512%20390V122C512%2054.6213%20457.379%200%20390%200Z'%20fill='black'/%3e%3cmask%20id='mask1_191_523'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='85'%20y='89'%20width='343'%20height='334'%3e%3cpath%20d='M85%2089H428V423H85V89Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask1_191_523)'%3e%3cmask%20id='mask2_191_523'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='85'%20y='89'%20width='343'%20height='334'%3e%3cpath%20d='M85%2089H428V423H85V89Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask2_191_523)'%3e%3cpath%20d='M255.428%20423L404.419%20339.5L255.428%20256L106.438%20339.5L255.428%20423Z'%20fill='url(%23paint0_linear_191_523)'/%3e%3cpath%20d='M404.42%20339.5V172.5L255.429%2089V256L404.42%20339.5Z'%20fill='url(%23paint1_linear_191_523)'/%3e%3cpath%20d='M255.428%2089L106.438%20172.5V339.5L255.428%20256V89Z'%20fill='url(%23paint2_linear_191_523)'/%3e%3cpath%20d='M404.42%20172.5L255.429%20423V256L404.42%20172.5Z'%20fill='%23E4E4E4'/%3e%3cpath%20d='M404.419%20172.5L255.428%20256L106.438%20172.5H404.419Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_191_523'%20x1='255.428'%20y1='256'%20x2='255.428'%20y2='423'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.16'%20stop-color='white'%20stop-opacity='0.39'/%3e%3cstop%20offset='0.658'%20stop-color='white'%20stop-opacity='0.8'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_191_523'%20x1='404.42'%20y1='173.015'%20x2='257.483'%20y2='261.497'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.182'%20stop-color='white'%20stop-opacity='0.31'/%3e%3cstop%20offset='0.715'%20stop-color='white'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint2_linear_191_523'%20x1='255.428'%20y1='89'%20x2='112.292'%20y2='342.802'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='white'%20stop-opacity='0.6'/%3e%3cstop%20offset='0.667'%20stop-color='white'%20stop-opacity='0.22'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_191_523'%3e%3crect%20width='512'%20height='512'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e`,openai:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M215.705%20207.82V175.238C215.705%20172.499%20216.743%20170.437%20219.137%20169.067L284.632%20131.354C293.555%20126.207%20304.181%20123.814%20315.152%20123.814C356.297%20123.814%20382.362%20155.703%20382.362%20189.64C382.362%20192.048%20382.362%20194.787%20382.016%20197.526L314.114%20157.75C312.27%20156.577%20310.129%20155.953%20307.943%20155.953C305.757%20155.953%20303.617%20156.577%20301.773%20157.75L215.705%20207.82ZM368.652%20334.686V256.865C368.652%20252.064%20366.59%20248.648%20362.467%20246.24L276.4%20196.171L304.512%20180.053C305.531%20179.383%20306.724%20179.025%20307.943%20179.025C309.163%20179.025%20310.356%20179.383%20311.374%20180.053L376.869%20217.781C395.741%20228.738%20408.427%20252.064%20408.427%20274.698C408.427%20300.764%20393.002%20324.767%20368.637%20334.715L368.652%20334.686ZM195.479%20266.135L167.366%20249.671C164.959%20248.302%20163.921%20246.24%20163.921%20243.501V168.044C163.921%20131.354%20192.033%20103.573%20230.108%20103.573C244.524%20103.573%20257.889%20108.373%20269.206%20116.951L201.649%20156.049C197.54%20158.442%20195.479%20161.874%20195.479%20166.674V266.12V266.135ZM256%20301.095L215.705%20278.461V230.454L256%20207.82L296.295%20230.454V278.461L256%20301.095ZM281.892%20405.328C267.476%20405.328%20254.111%20400.542%20242.794%20391.964L310.351%20352.866C314.46%20350.472%20316.521%20347.041%20316.521%20342.241V242.794L344.98%20259.258C347.387%20260.628%20348.411%20262.689%20348.411%20265.429V340.871C348.411%20377.561%20319.952%20405.328%20281.892%20405.328ZM200.626%20328.876L135.116%20291.148C116.259%20280.177%20103.573%20256.865%20103.573%20234.231C103.528%20221.37%20107.323%20208.789%20114.47%20198.097C121.618%20187.405%20131.793%20179.089%20143.694%20174.214V252.396C143.694%20257.197%20145.756%20260.628%20149.865%20263.035L235.6%20312.758L207.488%20328.876C206.47%20329.548%20205.277%20329.907%20204.057%20329.907C202.837%20329.907%20201.644%20329.548%20200.626%20328.876ZM196.848%20385.101C158.096%20385.101%20129.638%20355.965%20129.638%20319.952C129.638%20317.213%20129.984%20314.474%20130.316%20311.735L197.872%20350.804C201.995%20353.212%20206.104%20353.212%20210.213%20350.804L296.28%20301.095V333.677C296.28%20336.416%20295.271%20338.478%20292.863%20339.847L227.369%20377.561C218.445%20382.708%20207.82%20385.101%20196.848%20385.101ZM281.892%20425.9C301.651%20425.902%20320.804%20419.079%20336.112%20406.585C351.419%20394.091%20361.941%20376.693%20365.898%20357.335C404.304%20347.387%20429%20311.36%20429%20274.684C429%20250.68%20418.721%20227.368%20400.196%20210.559C401.911%20203.35%20402.935%20196.156%20402.935%20188.963C402.935%20139.931%20363.159%20103.227%20317.213%20103.227C307.958%20103.227%20299.048%20104.596%20290.11%20107.696C274.107%2091.9442%20252.576%2083.0803%20230.122%2083C210.361%2082.9991%20191.207%2089.8244%20175.899%20102.321C160.591%20114.818%20150.07%20132.219%20146.116%20151.58C107.696%20161.528%2083%20197.54%2083%20234.231C83%20258.249%2093.2791%20281.561%20111.805%20298.356C110.089%20305.565%20109.065%20312.773%20109.065%20319.967C109.065%20368.998%20148.841%20405.688%20194.787%20405.688C204.042%20405.688%20212.952%20404.319%20221.89%20401.233C237.895%20416.991%20259.433%20425.856%20281.892%20425.929V425.9Z'%20fill='black'/%3e%3c/svg%3e`,openrouter:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='84%2084%20344%20344'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M324.857%20112.05L428.344%20170.889V172.136L323.797%20230.343L324.04%20200L312.273%20199.57C297.094%20199.168%20289.182%20199.598%20279.765%20201.146C264.514%20203.655%20250.553%20209.417%20234.658%20220.525L203.612%20242.097C199.541%20244.892%20196.517%20246.913%20193.865%20248.618L186.483%20253.234L180.793%20256.588L186.311%20259.884L193.908%20264.729C200.731%20269.23%20210.678%20276.138%20232.622%20291.475C248.532%20302.583%20262.479%20308.345%20277.729%20310.854L282.029%20311.499C291.977%20312.803%20301.738%20312.846%20322.521%20311.972L322.836%20281.026L426.323%20339.864V341.111L321.776%20399.333L321.976%20372.645L312.875%20372.96C293.009%20373.562%20282.244%20372.989%20267.897%20370.638C243.616%20366.625%20221.17%20357.365%20197.936%20341.126L167.004%20319.626C163.447%20317.172%20159.839%20314.792%20156.183%20312.488L149.489%20308.474C145.874%20306.391%20142.243%20304.337%20138.596%20302.311C125.681%20295.13%2092.0692%20286.329%2084%20286.329V225.728L86.0069%20225.785C94.0909%20225.685%20127.717%20216.87%20140.602%20209.675L155.165%20201.361L161.443%20197.434C167.578%20193.421%20176.808%20187.028%20199.942%20170.874C223.177%20154.635%20245.608%20145.361%20269.903%20141.362C286.415%20138.639%20298.197%20138.309%20324.571%20139.384L324.857%20112.05Z'%20fill='black'/%3e%3c/svg%3e`,perplexity:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='39%2039%20434%20434'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M364.5%2079.9418V180.05H407.9V331.95H364.5V433.414L266.85%20346.614V418.75H245.15V345.258L147.5%20432.058V331.95H104.1V180.05H147.5V81.298L245.15%20168.098V83.7563H266.85V166.742L364.5%2079.9418ZM342.8%20128.258L284.545%20180.05H342.8V128.258ZM169.2%20129.614V180.05H225.929L169.2%20129.614ZM125.8%20201.75V310.25H147.5V272.826L227.455%20201.75H125.8ZM283.019%20201.75L364.5%20274.182V310.25H386.2V201.75H283.019ZM245.15%20215.058L169.2%20282.574V383.742L245.15%20316.247V215.058ZM266.85%20216.414V317.603L342.8%20385.098V283.93L266.85%20216.414Z'%20fill='black'/%3e%3c/svg%3e`,nvidia:`data:image/svg+xml,%3csvg%20width='512'%20height='512'%20viewBox='91%20147%20305%20219'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M213.778%20212.303V192.639C215.683%20192.493%20217.616%20192.399%20219.579%20192.334C273.375%20190.647%20308.67%20238.562%20308.67%20238.562C308.67%20238.562%20270.547%20291.5%20229.677%20291.5C224.276%20291.521%20218.903%20290.664%20213.778%20288.955V229.315C234.715%20231.844%20238.931%20241.091%20251.522%20262.086L279.525%20238.474C279.525%20238.474%20259.083%20211.664%20224.624%20211.664C220.881%20211.664%20217.297%20211.925%20213.778%20212.303ZM213.778%20147.327V176.718C215.705%20176.566%20217.638%20176.442%20219.579%20176.369C294.385%20173.854%20343.128%20237.726%20343.128%20237.726C343.128%20237.726%20287.151%20305.799%20228.826%20305.799C223.483%20305.799%20218.474%20305.305%20213.778%20304.469V322.628C217.798%20323.137%20221.964%20323.443%20226.311%20323.443C280.579%20323.443%20319.829%20295.731%20357.835%20262.922C364.137%20267.968%20389.938%20280.246%20395.237%20285.626C359.1%20315.868%20274.887%20340.258%20227.14%20340.258C222.676%20340.243%20218.22%20340.01%20213.778%20339.56V365.076H420.056V147.327H213.778ZM213.778%20288.955V304.469C163.581%20295.527%20149.645%20243.338%20149.645%20243.338C149.645%20243.338%20173.751%20216.629%20213.778%20212.303V229.315L213.698%20229.307C192.689%20226.785%20176.281%20246.413%20176.281%20246.413C176.281%20246.413%20185.477%20279.446%20213.778%20288.955ZM124.622%20241.077C124.622%20241.077%20154.37%20197.168%20213.778%20192.639V176.704C147.98%20181.989%2091%20237.711%2091%20237.711C91%20237.711%20123.27%20331.003%20213.778%20339.545V322.628C147.362%20314.276%20124.622%20241.077%20124.622%20241.077Z'%20fill='black'/%3e%3c/svg%3e`,gemini:`/assets/gemini-DqnZlvMo.svg`,grok:`data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M27.3538%2036.9356L39.7746%2028.1324C40.3835%2027.7008%2041.2539%2027.8691%2041.5441%2028.5395C43.0711%2032.0749%2042.3888%2036.3235%2039.3505%2039.2406C36.3124%2042.1575%2032.0849%2042.7973%2028.221%2041.3403L24%2043.2167C30.0542%2047.1897%2037.4059%2046.2072%2041.9999%2041.7934C45.6439%2038.2947%2046.7725%2033.5257%2045.7172%2029.2252L45.7268%2029.2343C44.1965%2022.9166%2046.103%2020.3913%2050.0084%2015.2275C50.1008%2015.1051%2050.1932%2014.9826%2050.2857%2014.8571L45.1465%2019.7913V19.776L27.3507%2036.9387'%20fill='black'/%3e%3cpath%20d='M25.1211%2039.1858C20.9439%2035.2867%2021.6641%2029.2525%2025.2283%2025.7728C27.8639%2023.1974%2032.1821%2022.1463%2035.9516%2023.6915L40.0001%2021.8648C39.2707%2021.3497%2038.3359%2020.7957%2037.2633%2020.4064C32.415%2018.4569%2026.6105%2019.4272%2022.6693%2023.2753C18.8783%2026.9796%2017.6862%2032.6754%2019.7334%2037.5357C21.2627%2041.1682%2018.7557%2043.7375%2016.2305%2046.3309C15.3356%2047.2502%2014.4376%2048.1696%2013.7144%2049.1429L25.118%2039.1887'%20fill='black'/%3e%3c/svg%3e`,brave:`/assets/brave-BoYMbZi1.svg`},_m={anthropic:gm.anthropic,openai:gm.openai,openrouter:gm.openrouter,cursor:gm.cursor,perplexity:gm.perplexity,github:gm.github,codex:gm.openai,google:gm.google,gemini:gm.gemini,brave:gm.brave,grok:gm.grok,nvidia:gm.nvidia,stripe:gm.stripe};function vm(e){return _m[e.trim().toLowerCase()]??null}function ym(e){let t=e.trim().toLowerCase();return!t||t===`custom`?``:t===`openrouter`?`OpenRouter`:t===`openai`?`OpenAI`:t===`anthropic`?`Anthropic`:t===`google`||t===`gemini`?`Gemini`:t===`codex`||t===`openai-codex`||t===`openai_codex`?`Codex`:t===`deepseek`?`DeepSeek`:t===`nous`?`Nous`:e}function bm({providerId:e=``,src:t,label:n=``,className:r,themeAware:i=!0}){let a=t===void 0?vm(e):t,[o,s]=(0,y.useState)(null),c=K(`wf-brand-mark`,i&&`wf-brand-img--theme`,r),l=(n||e||`?`).trim().slice(0,1).toUpperCase()||`?`;return!a||o===a?(0,x.jsx)(`span`,{className:K(c,`wf-brand-mark--fallback`),role:n?`img`:void 0,"aria-label":n||void 0,"aria-hidden":n?void 0:!0,children:l}):(0,x.jsx)(`img`,{src:a,alt:n,className:c,"aria-hidden":n?void 0:!0,onError:()=>s(a)})}function xm({id:e,className:t}){return(0,x.jsx)(bm,{src:gm[e],className:t??`wf-sign-in-app__brand-img wf-brand-img--theme`,themeAware:e!==`workframeColor`})}function Sm({children:e,className:t,role:n=`status`}){return(0,x.jsx)(`p`,{className:K(`wf-panel-status`,t),role:n,children:e})}function Cm({children:e,tone:t=`error`,className:n}){return(0,x.jsx)(`div`,{className:K(`wf-auth-otp-panel__notice`,t===`error`&&`wf-auth__alert--error`,t===`info`&&`wf-auth__alert--info`,n),role:t===`error`?`alert`:`status`,children:e})}function wm({children:e,className:t}){return(0,x.jsx)(`div`,{className:K(`wf-panel-footer`,t),children:e})}function Tm({children:e,className:t}){return(0,x.jsx)(`p`,{className:K(`wf-user-settings__hint text-center p-8 border border-dashed border-border rounded-xl`,t),children:e})}function Em({disabled:e,onBindSave:t,afterGithub:n}){let[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(!1),[s,c]=(0,y.useState)(!1),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(``),[_,v]=(0,y.useState)(``),[b,S]=(0,y.useState)(``),[C,w]=(0,y.useState)(``),[T,E]=(0,y.useState)(``),[D,O]=(0,y.useState)(``),[k,A]=(0,y.useState)(``),[j,M]=(0,y.useState)(``),[N,P]=(0,y.useState)(!1),[F,I]=(0,y.useState)(!1),[L,ee]=(0,y.useState)(!1),[R,te]=(0,y.useState)(!1),z=(0,y.useMemo)(()=>window.location.origin.replace(/\/$/,``),[]),B=`${z}/api/auth/google/callback`,V=`${z}/api/oauth/github/callback`,ne=`${z}/api/oauth/discord/callback`;(0,y.useEffect)(()=>{Y.getInstallStack().then(e=>{let t=e.google_oauth,n=e.github_oauth,r=e.discord_oauth,i=e.telegram_login;if(t?.client_id&&(o(!0),m(t.client_id)),P(!!t?.has_secret),n?.client_id&&(c(!0),v(n.client_id)),I(!!n?.has_secret),r?.client_id&&(u(!0),w(r.client_id)),ee(!!r?.has_secret),i?.bot_username&&(f(!0),O(i.bot_username)),te(!!i?.has_token),i?.domain)M(i.domain);else try{M(new URL(z).hostname)}catch{M(``)}}).catch(()=>{})},[z]);let re=(0,y.useCallback)(async()=>{i(null);try{let e={};e.google_oauth=a&&p.trim()?{client_id:p.trim(),...h.trim()?{client_secret:h.trim()}:{}}:{client_id:``,client_secret:``},e.github_oauth=s&&_.trim()?{client_id:_.trim(),...b.trim()?{client_secret:b.trim()}:{}}:{client_id:``,client_secret:``},e.discord_oauth=l&&C.trim()?{client_id:C.trim(),...T.trim()?{client_secret:T.trim()}:{}}:{client_id:``,client_secret:``},e.telegram_login=d&&D.trim()?{bot_username:D.trim().replace(/^@/,``),...k.trim()?{bot_token:k.trim()}:{}}:{bot_username:``,bot_token:``},await Y.patchInstallStack(e);let t=await Y.getInstallStack();return P(!!t.google_oauth?.has_secret),I(!!t.github_oauth?.has_secret),ee(!!t.discord_oauth?.has_secret),te(!!t.telegram_login?.has_token),g(``),S(``),E(``),A(``),!0}catch(e){return i(xi(e,`Save sign-in apps`)),!1}},[C,T,l,_,b,s,p,h,a,k,D,d]);return(0,y.useEffect)(()=>{t?.(re)},[t,re]),(0,x.jsxs)(`div`,{className:`wf-sign-in-apps`,children:[r?(0,x.jsx)(Cm,{children:r}):null,(0,x.jsxs)(`ul`,{className:`wf-sign-in-apps__list`,children:[(0,x.jsxs)(mm,{label:`Google`,description:`Member sign-in and Google-backed features.`,icon:(0,x.jsx)(xm,{id:`google`}),enabled:a,disabled:e,onToggle:o,children:[(0,x.jsx)(hm,{label:`Redirect URI`,hint:`Add this exact URL in Google Cloud Console → OAuth client.`,fullWidth:!0,children:(0,x.jsx)(_r,{readOnly:!0,value:B})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Client ID`,children:(0,x.jsx)(_r,{value:p,onChange:e=>m(e.target.value),placeholder:`….apps.googleusercontent.com`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Client secret`,hint:`Leave blank to keep the saved secret.`,children:(0,x.jsx)(wc,{value:h,onChange:e=>g(e.target.value),saved:N,emptyPlaceholder:`Paste client secret`,disabled:e})})]})]}),(0,x.jsxs)(mm,{label:`GitHub`,description:`Let members connect GitHub — use a Workframe OAuth app, not personal access tokens.`,icon:(0,x.jsx)(xm,{id:`github`}),enabled:s,disabled:e,onToggle:c,children:[(0,x.jsxs)(`p`,{className:`wf-sign-in-app__link-row`,children:[(0,x.jsx)(`a`,{className:`text-primary underline`,href:`https://github.com/settings/developers`,target:`_blank`,rel:`noreferrer`,children:`GitHub Developer Settings`}),` — register an OAuth app with the URLs below.`]}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Homepage URL`,children:(0,x.jsx)(_r,{readOnly:!0,value:z})}),(0,x.jsx)(hm,{label:`Callback URL`,children:(0,x.jsx)(_r,{readOnly:!0,value:V})})]}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Client ID`,children:(0,x.jsx)(_r,{value:_,onChange:e=>v(e.target.value),placeholder:`Ov23li…`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Client secret`,hint:`Leave blank to keep the saved secret.`,children:(0,x.jsx)(wc,{value:b,onChange:e=>S(e.target.value),saved:F,emptyPlaceholder:`Paste client secret`,disabled:e})})]})]}),n,(0,x.jsxs)(mm,{label:`Discord`,description:`Link member Discord accounts — OAuth identify scope, not bot tokens.`,icon:(0,x.jsx)(xm,{id:`discord`}),enabled:l,disabled:e,onToggle:u,children:[(0,x.jsxs)(`p`,{className:`wf-sign-in-app__link-row`,children:[(0,x.jsx)(`a`,{className:`text-primary underline`,href:`https://discord.com/developers/applications`,target:`_blank`,rel:`noreferrer`,children:`Discord Developer Portal`}),` — OAuth2 app with redirect below.`]}),(0,x.jsx)(hm,{label:`Redirect URI`,fullWidth:!0,children:(0,x.jsx)(_r,{readOnly:!0,value:ne})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Client ID`,children:(0,x.jsx)(_r,{value:C,onChange:e=>w(e.target.value),placeholder:`Application client ID`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Client secret`,hint:`Leave blank to keep the saved secret.`,children:(0,x.jsx)(wc,{value:T,onChange:e=>E(e.target.value),saved:L,emptyPlaceholder:`Paste client secret`,disabled:e})})]})]}),(0,x.jsxs)(mm,{label:`Telegram`,description:`Login with Telegram — one BotFather bot for this Workframe URL.`,icon:(0,x.jsx)(xm,{id:`telegram`}),enabled:d,disabled:e,onToggle:f,children:[(0,x.jsxs)(`p`,{className:`wf-sign-in-app__link-row`,children:[(0,x.jsx)(`a`,{className:`text-primary underline`,href:`https://t.me/BotFather`,target:`_blank`,rel:`noreferrer`,children:`@BotFather`}),` — create a bot, then /setdomain `,(0,x.jsx)(`strong`,{children:j||`your-domain`}),` for this install.`]}),(0,x.jsx)(hm,{label:`Domain (set in BotFather)`,fullWidth:!0,children:(0,x.jsx)(_r,{readOnly:!0,value:j||z})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Bot username`,children:(0,x.jsx)(_r,{value:D,onChange:e=>O(e.target.value),placeholder:`MyWorkframeBot`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Bot token`,hint:`Leave blank to keep the saved token.`,children:(0,x.jsx)(wc,{value:k,onChange:e=>A(e.target.value),saved:R,emptyPlaceholder:`Paste bot token`,disabled:e})})]})]})]})]})}function Dm({disabled:e,onBindSave:t,inline:n}){let[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(!1),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)(!1),p=`${(0,y.useMemo)(()=>window.location.origin.replace(/\/$/,``),[])}/api/oauth/stripe/callback`;(0,y.useEffect)(()=>{Y.getInstallStack().then(e=>{let t=e.stripe_connect;t?.client_id&&(o(!0),c(t.client_id)),f(!!t?.has_secret)}).catch(()=>{})},[]);let m=(0,y.useCallback)(async()=>{i(null);try{let e={};return e.stripe_connect=a&&s.trim()?{client_id:s.trim(),...l.trim()?{client_secret:l.trim()}:{}}:{client_id:``,client_secret:``},await Y.patchInstallStack(e),f(!!(await Y.getInstallStack()).stripe_connect?.has_secret),u(``),!0}catch(e){return i(xi(e,`Save Stripe Connect`)),!1}},[s,l,a]);(0,y.useEffect)(()=>{t?.(m)},[t,m]);let h=(0,x.jsxs)(mm,{label:`Stripe Connect`,description:`Let members connect Stripe accounts for payments, billing, and agent commerce tools.`,icon:(0,x.jsx)(xm,{id:`stripe`}),enabled:a,disabled:e,onToggle:o,children:[(0,x.jsxs)(`p`,{className:`wf-sign-in-app__link-row`,children:[(0,x.jsx)(`a`,{className:`text-primary underline`,href:`https://dashboard.stripe.com/settings/connect`,target:`_blank`,rel:`noreferrer`,children:`Stripe Dashboard → Connect`}),` — enable OAuth, add the redirect URI below, then copy your Connect client ID (ca_…) and platform secret key (sk_…).`]}),(0,x.jsx)(hm,{label:`Redirect URI`,hint:`Add this exact URL under Connect → OAuth settings.`,fullWidth:!0,children:(0,x.jsx)(_r,{readOnly:!0,value:p})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Connect client ID`,hint:`Starts with ca_`,children:(0,x.jsx)(_r,{value:s,onChange:e=>c(e.target.value),placeholder:`ca_…`,disabled:e,autoComplete:`off`})}),(0,x.jsx)(hm,{label:`Platform secret key`,hint:`Your platform sk_test_… or sk_live_… key — leave blank to keep the saved key.`,children:(0,x.jsx)(wc,{value:l,onChange:e=>u(e.target.value),saved:d,emptyPlaceholder:`sk_test_… or sk_live_…`,disabled:e})})]})]});return n?h:(0,x.jsxs)(`div`,{className:`wf-sign-in-apps`,children:[r?(0,x.jsx)(Cm,{children:r}):null,(0,x.jsx)(`ul`,{className:`wf-sign-in-apps__list`,children:h})]})}var Om={home_channel:``,allowed_users:``,bot_token_configured:!1};function km({workspaceId:e,disabled:t,onBindSave:n,onError:r}){let[i,a]=(0,y.useState)(Om),[o,s]=(0,y.useState)(Om),[c,l]=(0,y.useState)(``),[u,d]=(0,y.useState)(``),[f,p]=(0,y.useState)(!0),m=(0,y.useCallback)(async()=>{p(!0);try{let t=(await Y.getWorkspace(e)).workspace?.integrations?.messaging,n=t?.discord,r=t?.telegram;a({home_channel:n?.home_channel??``,allowed_users:n?.allowed_users??``,bot_token_configured:!!n?.bot_token_configured}),s({home_channel:r?.home_channel??``,allowed_users:r?.allowed_users??``,bot_token_configured:!!r?.bot_token_configured})}catch(e){r?.(e instanceof Error?e.message:`Failed to load messaging settings`)}finally{p(!1)}},[r,e]);(0,y.useEffect)(()=>{m()},[m]);let h=(0,y.useCallback)(async()=>{r?.(``);try{if(c.trim()){let t=await Y.storeWorkspaceCredential(e,{provider:`discord`,api_key:c.trim(),label:`Discord`});if(!t.ok)return r?.(t.error??`Failed to save Discord bot token`),!1;l(``)}if(u.trim()){let t=await Y.storeWorkspaceCredential(e,{provider:`telegram`,api_key:u.trim(),label:`Telegram`});if(!t.ok)return r?.(t.error??`Failed to save Telegram bot token`),!1;d(``)}return await Y.patchWorkspaceIntegrations(e,{messaging:{discord:{home_channel:i.home_channel.trim(),allowed_users:i.allowed_users.trim()},telegram:{home_channel:o.home_channel.trim(),allowed_users:o.allowed_users.trim()}}}),await m(),!0}catch(e){return r?.(e instanceof Error?e.message:`Failed to save messaging settings`),!1}},[i,m,r,c,o,u,e]);return(0,y.useEffect)(()=>{n?.(h)},[n,h]),f?(0,x.jsx)(Sm,{children:`Loading messaging channels…`}):(0,x.jsxs)(`div`,{className:`wf-onboarding-form`,children:[(0,x.jsxs)(`section`,{className:`wf-wizard-section`,children:[(0,x.jsx)(`h2`,{className:`wf-wizard-section__title`,children:`Discord`}),(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:`Shared bot for this Workframe. Token is vault-encrypted and synced to the gateway.`}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-discord-token`,children:`Bot token`}),(0,x.jsx)(wc,{id:`wf-discord-token`,value:c,onChange:e=>l(e.target.value),saved:i.bot_token_configured,emptyPlaceholder:`Paste bot token`,disabled:t})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-discord-home`,children:`Home channel ID`}),(0,x.jsx)(_r,{id:`wf-discord-home`,value:i.home_channel,onChange:e=>a(t=>({...t,home_channel:e.target.value})),placeholder:`123456789012345678`,disabled:t})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-discord-allow`,children:`Seed allowlist (optional)`}),(0,x.jsx)(_r,{id:`wf-discord-allow`,value:i.allowed_users,onChange:e=>a(t=>({...t,allowed_users:e.target.value})),placeholder:`user ids, comma-separated`,disabled:t})]})]})]}),(0,x.jsxs)(`section`,{className:`wf-wizard-section`,children:[(0,x.jsx)(`h2`,{className:`wf-wizard-section__title`,children:`Telegram`}),(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:`Shared bot for this Workframe. Members link their Telegram user ID under Linked accounts.`}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-telegram-token`,children:`Bot token`}),(0,x.jsx)(wc,{id:`wf-telegram-token`,value:u,onChange:e=>d(e.target.value),saved:o.bot_token_configured,emptyPlaceholder:`Paste bot token`,disabled:t})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-telegram-home`,children:`Home chat ID`}),(0,x.jsx)(_r,{id:`wf-telegram-home`,value:o.home_channel,onChange:e=>s(t=>({...t,home_channel:e.target.value})),placeholder:`-1001234567890`,disabled:t})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-telegram-allow`,children:`Seed allowlist (optional)`}),(0,x.jsx)(_r,{id:`wf-telegram-allow`,value:o.allowed_users,onChange:e=>s(t=>({...t,allowed_users:e.target.value})),placeholder:`user ids, comma-separated`,disabled:t})]})]})]})]})}function Am({title:e,hint:t,children:n,className:r}){return(0,x.jsxs)(`section`,{className:r??`wf-settings-section wf-wizard-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:e}),t?(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:t}):null,n]})}function jm({disabled:e,onBindSave:t,onError:n}){let[r,i]=(0,y.useState)(``),[a,o]=(0,y.useState)(`587`),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(!0),_=(0,y.useCallback)(async()=>{g(!0);try{let e=(await Y.getInstallStack()).smtp;e?.host&&i(e.host),o(String(e?.port||587)),e?.user&&c(e.user),e?.from&&f(e.from),m(!!e?.has_password),u(``)}catch(e){n?.(e instanceof Error?e.message:`Failed to load SMTP settings`)}finally{g(!1)}},[n]);(0,y.useEffect)(()=>{_()},[_]);let v=(0,y.useCallback)(async()=>{n?.(``);try{return await Y.patchInstallStack({smtp:{host:r.trim(),port:Number(a)||587,user:s.trim(),from:d.trim(),...l.trim()?{password:l.trim()}:{}}}),u(``),await _(),!0}catch(e){return n?.(e instanceof Error?e.message:`Failed to save SMTP settings`),!1}},[d,r,_,n,l,a,s]);return(0,y.useEffect)(()=>{t?.(v)},[t,v]),h?(0,x.jsx)(Sm,{children:`Loading email delivery…`}):(0,x.jsxs)(`div`,{className:`wf-onboarding-form`,children:[(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-host`,children:`SMTP host`}),(0,x.jsx)(_r,{id:`wf-smtp-settings-host`,value:r,onChange:e=>i(e.target.value),placeholder:`smtp.sendgrid.net`,disabled:e})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field__label-row`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-port`,children:`Port`}),(0,x.jsx)(`span`,{className:`wf-dialog-field__hint wf-dialog-field__hint--inline`,children:`465 SSL · 587 STARTTLS`})]}),(0,x.jsx)(_r,{id:`wf-smtp-settings-port`,value:a,onChange:e=>o(e.target.value),placeholder:`587`,disabled:e})]})]}),(0,x.jsxs)(`div`,{className:`wf-onboarding-form__row wf-onboarding-form__row--2col`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-user`,children:`Username`}),(0,x.jsx)(_r,{id:`wf-smtp-settings-user`,value:s,onChange:e=>c(e.target.value),disabled:e})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-pass`,children:`Password`}),(0,x.jsx)(wc,{id:`wf-smtp-settings-pass`,value:l,onChange:e=>u(e.target.value),saved:p,emptyPlaceholder:`SMTP password or API key`,disabled:e})]})]}),(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-smtp-settings-from`,children:`From address`}),(0,x.jsx)(_r,{id:`wf-smtp-settings-from`,value:d,onChange:e=>f(e.target.value),placeholder:s||`same as username`,disabled:e}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Leave blank to use the login email as the sender.`})]})]})}function Mm({variant:e,disabled:t,workspaceId:n,onBindOAuthSave:r,onBindStripeSave:i,onBindSmtpSave:a,onBindMessagingSave:o,onError:s}){let c=(0,y.useRef)(null),l=(0,y.useRef)(null),u=(0,y.useCallback)(()=>{r?.(async()=>c.current&&!await c.current()?!1:l.current?l.current():!0)},[r]);return(0,y.useEffect)(()=>{e===`onboarding`&&u()},[u,e]),e===`onboarding`?(0,x.jsxs)(`section`,{className:`wf-sign-in-apps-section`,children:[(0,x.jsxs)(`header`,{className:`wf-sign-in-apps-section__header`,children:[(0,x.jsx)(`h2`,{className:`wf-wizard-section__title`,children:`Sign-in`}),(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:`OAuth apps for member sign-in — Google, GitHub, Discord, Telegram, and Stripe Connect.`})]}),(0,x.jsx)(Em,{disabled:t,afterGithub:(0,x.jsx)(Dm,{inline:!0,disabled:t,onBindSave:e=>{c.current=e,u()}}),onBindSave:e=>{l.current=e,u()}})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(Am,{title:`Email delivery`,hint:`SMTP for invites, sign-in codes, and notifications. Password is vault-encrypted on the stack.`,children:(0,x.jsx)(jm,{disabled:t,onBindSave:a,onError:s})}),(0,x.jsx)(Am,{title:`Payments partner`,hint:`Stripe Connect OAuth — members connect their own Stripe accounts for billing and commerce tools.`,children:(0,x.jsx)(Dm,{disabled:t,onBindSave:i})}),(0,x.jsx)(Am,{title:`Sign-in apps`,hint:`OAuth apps for member sign-in — Google, GitHub, Discord, and Telegram Login.`,children:(0,x.jsx)(Em,{disabled:t,onBindSave:r})}),n?(0,x.jsx)(Am,{title:`Agent messaging`,hint:`Shared bot tokens and home channels for Discord and Telegram — separate from member sign-in OAuth.`,children:(0,x.jsx)(km,{workspaceId:n,disabled:t,onBindSave:o,onError:s})}):null]})}function Nm({disabled:e,onBindOAuthSave:t}){return(0,x.jsx)(Mm,{variant:`onboarding`,disabled:e,onBindOAuthSave:t})}function Pm({provider:e,children:t}){return(0,x.jsxs)(`div`,{className:`wf-dialog__group`,children:[(0,x.jsx)(`p`,{className:`wf-dialog__group-label`,children:e}),t]})}function Fm({label:e,model:t,provider:n,description:r,isCurrent:i,isPending:a,disabled:o,singleLine:s,onSelect:c}){let l=e.trim()||t;return(0,x.jsxs)(`button`,{type:`button`,className:K(`wf-dialog__option`,s&&`wf-dialog__option--single-line`,i&&`is-current`),onClick:c,disabled:o,"data-current":i?`true`:void 0,title:s?t:void 0,children:[n?(0,x.jsx)(bm,{providerId:n,className:`wf-dialog__option-icon`}):null,(0,x.jsx)(`span`,{className:`wf-dialog__option-label`,children:l}),!s&&r?(0,x.jsx)(`span`,{className:`wf-dialog__option-desc`,children:r}):null,i?(0,x.jsx)(`span`,{className:`wf-dialog__option-tag`,children:`active`}):null,a?(0,x.jsx)(`span`,{className:`wf-dialog__option-tag`,children:`saving…`}):null]})}async function Im(e,t,n){if(!e.ok)throw new Kr(await yi(e),t,n);return e.json()}async function Lm(e){return Im(await Yi(e),`GET`,e)}async function Rm(e,t){return Im(await Yi(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),`POST`,e)}async function zm(e,t){return Im(await Yi(e,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),`PATCH`,e)}function Bm(){return`Workframe`}function Vm(e,t){return`workframe.activeLane:${Bm()}:${e}:${t}`}function Hm(e){return`workframe.cachedRooms:${Bm()}:${e}`}function Um(e,t){return`workframe.cachedMessages:${Bm()}:${e}:${t.trim()}`}function Wm(e){return`workframe.cachedRoomBind:${Bm()}:${e}`}function Gm(e){return`workframe.cachedModels:${Bm()}:${e.trim()}`}function Km(e){return`workframe.cachedActivity:${Bm()}:${e.trim()}`}var qm=10080*60*1e3;function Jm(e){if(!e||typeof window>`u`)return null;try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function Ym(e,t){if(!(!e||typeof window>`u`))try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function Xm(){let e=Zi();return{workspaceId:e?.current_workspace?.id??e?.default_workspace?.id??e?.workspaces?.[0]?.id??``,userId:e?.user?.user_id??``}}function Zm(e,t){return Jm(Vm(e,t))}function Qm(e){let t=e.workspaceId??Xm().workspaceId,n=e.userId??Xm().userId;if(!t||!n||!e.roomId)return;let r=Zm(t,n);Ym(Vm(t,n),{roomId:e.roomId,savedAt:Date.now(),room:e.room??(r?.roomId===e.roomId?r.room:void 0)})}if(typeof window<`u`){let e=[],t=`workframe.bindHint:${Bm()}:`;for(let n=0;n<localStorage.length;n++){let r=localStorage.key(n);r?.startsWith(t)&&e.push(r)}for(let t of e)localStorage.removeItem(t)}function $m(e){return Jm(Hm(e))?.rooms??[]}function eh(e,t){Ym(Hm(e),{rooms:t,savedAt:Date.now()})}function th(e){let t=e.trim();return t?Jm(Km(t))?.nodes??[]:[]}function nh(e){return th(e)}function rh(e,t){let n=e.trim();n&&Ym(Km(n),{nodes:t,savedAt:Date.now()})}function ih(e){if(!e.trim())return null;let t=Jm(Wm(e));return!t?.sessionId?.trim()||Date.now()-(t.savedAt||0)>qm?null:t}function ah(e,t){!e.trim()||!t.sessionId.trim()||Ym(Wm(e),{...t,savedAt:Date.now()})}function oh(e){if(!(!e.trim()||typeof window>`u`))try{localStorage.removeItem(Wm(e))}catch{}}function sh(e,t){let n=e.trim();!n||!t.ok||Ym(Gm(n),{models:t,savedAt:Date.now()})}function ch(e){let t=e.trim();if(!(!t||typeof window>`u`))try{localStorage.removeItem(Gm(t))}catch{}}var lh=`__project_room__`;function uh(e){return fh(e,lh)}function dh(e,t){ph(e,lh,t)}function fh(e,t){let n=t.trim();return n?(Jm(Um(e,n))?.messages??[]).filter(e=>!e.ephemeral).slice(-80):[]}function ph(e,t,n){let r=t.trim();if(!r)return;let i=n.filter(e=>!e.ephemeral).slice(-80);i.length&&Ym(Um(e,r),{messages:i,savedAt:Date.now()})}function mh(e,t){if(!(typeof window>`u`||!e))try{if(t?.trim()){localStorage.removeItem(Um(e,t));return}let n=`workframe.cachedMessages:${Bm()}:${e}:`,r=[];for(let e=0;e<localStorage.length;e++){let t=localStorage.key(e);t?.startsWith(n)&&r.push(t)}for(let e of r)localStorage.removeItem(e)}catch{}}async function hh(){return(await Lm(`/api/hermes/skills`)).skills??[]}async function gh(){return(await Lm(`/api/hermes/commands`)).entries??[]}async function _h(e){return Rm(`/api/hermes/commands/exec`,{line:e})}async function vh(e,t,n){let r=new URLSearchParams;e?.trim()&&r.set(`profile`,e.trim()),t?.trim()&&r.set(`workspace_id`,t.trim()),n?.selectionOnly&&r.set(`selection_only`,`1`);let i=await Lm(`/api/hermes/models${r.toString()?`?${r.toString()}`:``}`),a=e?.trim();return i.ok&&a&&sh(a,i),i}function yh(e=``){window.dispatchEvent(new CustomEvent(`workframe:hermes-models-changed`,{detail:{profile:e}}))}async function bh(e,t,n,r){let i=await Rm(`/api/hermes/model`,{model:e,profile:t??``,workspace_id:n??``,selection_only:!!r?.selectionOnly,billing_provider:r?.billingProvider?.trim()??``});return i.ok&&!r?.selectionOnly&&yh(t??``),i.ok&&t?.trim()&&ch(t.trim()),i}async function xh(e,t,n){let r=await Rm(`/api/hermes/fallback-chain`,{chain:e,profile:t??``,workspace_id:n?.workspaceId?.trim()??``,selection_only:!!n?.selectionOnly});return r.ok&&!n?.selectionOnly&&yh(t??``),r.ok&&t?.trim()&&ch(t.trim()),r}async function Sh(){return Lm(`/api/hermes/usage`)}async function Ch(e,t){return Rm(`/api/hermes/gateway/exec`,{line:e,profile:t??``})}async function wh(){return Lm(`/api/hermes/profile`)}async function Th(e){return Lm(`/api/hermes/profiles/${encodeURIComponent(e)}`)}async function Eh(e,t){return zm(`/api/hermes/profiles/${encodeURIComponent(e)}`,t)}async function Dh(e){return Lm(`/api/hermes/profiles/${encodeURIComponent(e)}/soul`)}async function Oh(e,t){return Rm(`/api/hermes/profiles/${encodeURIComponent(e)}/soul`,{soul:t})}async function kh(){return Lm(`/api/hermes/debug`)}async function Ah(){return Lm(`/api/hermes/insights`)}async function jh(){return Lm(`/api/hermes/gquota`)}async function Mh(e){return Rm(`/api/chat/stop`,{profile:e})}async function Nh(e,t){return Rm(`/api/chat/steer`,{profile:e,text:t})}var Ph={visionary:Gp(`steve`)??``,dev:Gp(`woz`)??``,designer:Gp(`ada`)??``,architect:Gp(`andy`)??``,docs:Gp(`joni`)??``,research:Gp(`nikola`)??``,qa:Gp(`grace`)??``,andy:Gp(`andy`)??``};function Fh(e){return Ph[e.toLowerCase()]||null}function Ih(e){let t=e.toLowerCase();return t.startsWith(`openai-codex/`)||t.startsWith(`codex/`)?`codex`:t.startsWith(`anthropic/`)?`anthropic`:t.startsWith(`openai/`)?`openai`:t.startsWith(`nous/`)?`nous`:t.includes(`cursor`)?`cursor`:t.includes(`perplexity`)?`perplexity`:null}function Lh(e,t=120){let n=e.segments.map(e=>e.kind===`text`?e.text:e.kind===`thinking`?``:e.kind===`image`?e.name?`Image: ${e.name}`:`Image attachment`:e.kind===`tool`?`Tool: ${e.name}`:e.notice.message).join(` `).replace(/\s+/g,` `).trim();return n?n.length>t?`${n.slice(0,Math.max(1,t-1)).trimEnd()}…`:n:`Message`}function Rh(e){let t=e.trim();if(!t)return`No model`;let n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t}function zh(e,t){let n=ym(e??``);if(n)return n;let r=Ih(t??``);return r?ym(r):``}function Bh(e,t){let n=Rh(t??``),r=zh(e,t),i=!!t?.trim()&&n!==`No model`;return r&&i?`${r} · ${n}`:i?n:r}function Vh(e,t){let n=e?.trim()??``;return n&&/^u-[a-z0-9][a-z0-9-]*$/i.test(n)?``:Bh(t,n)}function Hh(e,t){return{id:t?.id??`sys-notice-${e.code??Date.now()}`,authorId:`system`,authorName:t?.authorName??`Workframe`,role:`agent`,segments:[{kind:`concierge`,notice:e}],timestamp:new Date().toISOString(),tokens:0,avatarUrl:t?.avatarUrl}}function Uh(e,t,n,r,i){return{id:e,authorId:t,authorName:n,role:`agent`,segments:[],timestamp:r,tokens:0,ephemeral:!0,...i?{avatarUrl:i}:{}}}function Wh(e,t,n){return{id:e,authorId:`user`,authorName:`You`,role:`user`,segments:[{kind:`text`,text:t}],timestamp:n,tokens:0}}function Gh(e,t,n,r,i=``){let a=[{kind:`image`,path:t,name:n,alt:n}];return i.trim()&&a.push({kind:`text`,text:i.trim()}),{id:e,authorId:`user`,authorName:`You`,role:`user`,segments:a,timestamp:r,tokens:0}}var Kh=null;async function qh(){return Kh||=Lm(`/api/meta`).catch(e=>{throw Kh=null,e}),Kh}function Jh(){Kh=null}function Yh(e,t){return xi(e).trim()||t}var Xh=[{id:`primary`,label:`Primary`,hint:`Default model for this agent`},{id:`fallback-0`,label:`Fallback 1`,hint:`Used when primary is unavailable`},{id:`fallback-1`,label:`Fallback 2`,hint:`Second backup in the chain`}];function Zh(e,t){return t?e?.suggestions.find(e=>e.model===t)?.label?.trim()||t:`—`}function Qh(e,t){return e.suggestions.find(e=>e.model===t)??null}function $h(e){return(e.billing_provider||e.provider||``).trim()}function eg(e,t=``){return zh(e,t)||e}function tg(e){let t=e.trim().toLowerCase().replace(/_/g,`-`);return t===`openai-codex`||t===`codex`||t===`openai codex`?`codex`:t===`openrouter`?`openrouter`:t===`openai`?`openai`:t===`anthropic`?`anthropic`:t===`google`||t===`gemini`?`google`:t===`deepseek`?`deepseek`:t===`nous`?`nous`:t}function ng(e,t,n){return`${Xh.find(t=>t.id===e)?.label??`Model`} set to ${Zh(n,t)}.`}function rg({profile:e,workspaceId:t,compact:n,embedded:r=!1,selectionOnly:i=!1,draftOnly:a=!1,value:o,onChanged:s,onFallbacksDraftChange:c,onError:l,onStatus:u,onLoaded:d}){let[f,p]=(0,y.useState)(null),[m,h]=(0,y.useState)(!0),[g,_]=(0,y.useState)(``),[v,b]=(0,y.useState)(!1),[S,C]=(0,y.useState)(null),[w,T]=(0,y.useState)(``),[E,D]=(0,y.useState)(`primary`),[O,k]=(0,y.useState)(null),[A,j]=(0,y.useState)([null,null]),M=(0,y.useEffectEvent)(e=>l?.(e)),N=(0,y.useEffectEvent)(e=>{if(d?.(e),i||a){let t=e.fallback_chain??[];j([t[0]??null,t[1]??null]);let n=(e.primary||e.default_primary||``).trim();n&&s?.(n)}});(0,y.useEffect)(()=>{let n=!1,r=i||a;return vh(r?void 0:e,t,{selectionOnly:r}).then(e=>{if(n)return;if(!e.ok){let e=`Could not load models`;_(e),M(e);return}_(``),p(e);let t=e.primary||e.default_primary||``,r=e.suggestions.find(e=>e.model===t);k(tg(r?$h(r):e.billing_provider||e.provider||``)||null),N(e)}).catch(e=>{if(n)return;let t=Yh(e,`Could not load models`);_(t),M(t)}).finally(()=>{n||h(!1)}),()=>{n=!0}},[a,e,i,t]);let P=(0,y.useMemo)(()=>{let e=new Map,t=new Set;for(let n of f?.suggestions??[]){let r=tg($h(n)),i=`${r}:${n.model}`;if(t.has(i))continue;t.add(i);let a=e.get(r)??[];a.push(n),e.set(r,a)}return e},[f?.suggestions]),F=(0,y.useMemo)(()=>{let e=new Set(P.keys());for(let t of f?.connected_providers??[])e.add(tg(t));return[...e].sort((e,t)=>eg(e).localeCompare(eg(t)))},[f?.connected_providers,P]),I=(0,y.useMemo)(()=>{if(!O)return[...P.entries()];let e=P.get(O);return e?[[O,e]]:[]},[O,P]),L=O?f?.catalog_status?.[O]?.message??`No live chat models were returned for this provider.`:`No connected provider returned a live chat model. You can retry later or enter a custom model id.`;async function ee(n){if(f){if(i){b(!0);try{let e=await xh(n.map(e=>({provider:e.provider,model:e.model})),void 0,{selectionOnly:!0,workspaceId:t});if(!e.ok){l?.(e.error??`Failed to set fallbacks`);return}p({...f,fallback_chain:e.fallback_chain??n}),R([n[0]??null,n[1]??null]),await te()}catch(e){l?.(Yh(e,`Failed to set fallbacks`))}finally{b(!1),C(null)}return}b(!0);try{let r=await xh(n.map(e=>({provider:e.provider,model:e.model})),e??f.profile,{selectionOnly:i,workspaceId:t});if(!r.ok){l?.(r.error??`Failed to set fallbacks`);return}p({...f,fallback_chain:r.fallback_chain??n}),Jh(),await te()}catch(e){l?.(Yh(e,`Failed to set fallbacks`))}finally{b(!1),C(null)}}}function R(e){j(e),c?.(e.filter(e=>!!(e?.provider&&e?.model)))}async function te(){try{let n=i||a,r=await vh(n?void 0:e,t,{selectionOnly:n});r.ok&&p(r)}catch{}}async function z(n,r=``){let c=n.trim();if(v||!f||!c)return;let d=()=>{let e=c.indexOf(`/`);return e<=0?null:{provider:c.slice(0,e),model:c}};if(i||a){if(E===`primary`){if(c===o)return;if(a){s?.(c),u?.(ng(`primary`,c,f));return}b(!0);try{let e=await bh(c,void 0,t,{selectionOnly:!0,billingProvider:r});if(!e.ok){l?.(e.error??`Failed to set model`);return}s?.(e.model??c),u?.(ng(`primary`,e.model??c,f)),await te()}catch(e){l?.(Yh(e,`Failed to set model`))}finally{b(!1)}return}let e=Qh(f,c)??d();if(!e){l?.(`Use provider/model format for custom fallbacks (e.g. openrouter/owl-alpha).`);return}let n={provider:$h(e)||e.provider,model:e.model},i=E===`fallback-0`?0:1,p=[...A];if(p[i]=n,R(p),a){u?.(ng(E,c,f));return}await ee(p.filter(e=>!!(e?.provider&&e?.model))),u?.(ng(E,c,f));return}if(E===`primary`){if(c===f.primary){s?.(c);return}b(!0),C(c);try{let n=Qh(f,c),i=d(),a=n?$h(n):i?i.provider:r,o=await bh(c,e??f.profile,t,{billingProvider:a});if(!o.ok){l?.(o.error??`Failed to set model`);return}let m=o.model??c;p({...f,primary:m}),s?.(m),u?.(ng(`primary`,m,f)),Jh(),await te()}catch(e){l?.(Yh(e,`Failed to set model`))}finally{b(!1),C(null)}return}let m=Qh(f,c)??d();if(!m){l?.(`Use provider/model format for custom fallbacks (e.g. openrouter/owl-alpha).`);return}let h={provider:`billing_provider`in m?$h(m):m.provider,model:m.model},g=f.fallback_chain??[],_=[g[0]??null,g[1]??null],y=E===`fallback-0`?0:1;_[y]=h;let x=_.filter(e=>!!(e?.provider&&e?.model));C(c),await ee(x),u?.(ng(E,c,f))}if(m)return(0,x.jsx)(Sm,{children:`Loading models…`});if(g)return(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:g});if(!f)return(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Could not load models.`});let B=i||a,V=B?o??``:f.primary||``,ne=f.fallback_chain??[],re={primary:V,"fallback-0":B?A[0]?.model??``:ne[0]?.model??``,"fallback-1":B?A[1]?.model??``:ne[1]?.model??``},H=re[E];return f.has_llm_provider?(0,x.jsxs)(`div`,{className:K(`wf-llm-models`,n&&`wf-llm-models--compact`,r&&`wf-llm-models--embedded`),children:[(0,x.jsx)(`div`,{className:`wf-llm-models__slots`,role:`tablist`,"aria-label":`Model slots`,children:Xh.map(e=>{let t=re[e.id];return(0,x.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":E===e.id,className:K(`wf-llm-models__slot`,E===e.id&&`is-active`,t&&`is-filled`),onClick:()=>{D(e.id);let n=Qh(f,t);n&&k(tg($h(n)))},disabled:v,title:t||e.hint,children:[(0,x.jsx)(`span`,{className:`wf-llm-models__slot-label`,children:e.label}),(0,x.jsx)(`span`,{className:`wf-llm-models__slot-value`,children:Zh(f,t)})]},e.id)})}),(0,x.jsxs)(`div`,{className:`wf-llm-models__body`,children:[F.length>1?(0,x.jsxs)(`div`,{className:`wf-llm-models__providers`,role:`tablist`,"aria-label":`Filter by integration`,children:[(0,x.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":O===null,className:K(`wf-llm-models__provider`,O===null&&`is-active`),onClick:()=>k(null),children:`All`}),F.map(e=>(0,x.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":O===e,className:K(`wf-llm-models__provider`,O===e&&`is-active`),onClick:()=>k(e),children:[(0,x.jsx)(bm,{providerId:e,className:`wf-llm-models__provider-icon`}),eg(e)]},e))]}):null,(0,x.jsx)(`div`,{className:K(`wf-llm-models__list`,r?`wf-llm-models__list--embedded`:n?`wf-llm-models__list--compact`:``),children:I.length?I.map(([e,t])=>(0,x.jsx)(Pm,{provider:eg(e),children:t.map(e=>(0,x.jsx)(Fm,{label:e.label,model:e.model,provider:e.provider,isCurrent:e.model===H,isPending:!B&&S===e.model,disabled:v,singleLine:!0,onSelect:()=>void z(e.model,$h(e))},`${$h(e)}:${e.model}`))},e)):(0,x.jsx)(Sm,{children:L})}),n?null:(0,x.jsxs)(`div`,{className:`wf-llm-models__custom`,children:[(0,x.jsx)(`label`,{className:`wf-dialog-field__label`,htmlFor:`wf-model-custom-panel`,children:`Other model ID`}),(0,x.jsxs)(`div`,{className:`wf-dialog__custom-model-row`,children:[(0,x.jsx)(_r,{id:`wf-model-custom-panel`,className:`wf-dialog-input`,value:w,onChange:e=>T(e.target.value),placeholder:O===`openrouter`?`vendor/model-id`:`model-id`,disabled:v}),(0,x.jsx)(Oc,{onClick:()=>void z(w,O??``),disabled:v||!w.trim(),children:`Set`})]})]})]})]}):(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connect an LLM integration first.`})}var ig={mono:{canvas:`#f7f9fb`,surface:`#ffffff`,ink:`#0f172a`,inkMuted:`#55637a`,accent:`#0f172a`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid #d5dbe6`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},"minimal-light":{canvas:`#f7f9fb`,surface:`#ffffff`,ink:`#0f172a`,inkMuted:`#55637a`,accent:`#0f172a`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid #d5dbe6`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},"minimal-dark":{canvas:`#0b1120`,surface:`#121a2b`,ink:`#eef2f8`,inkMuted:`#9aa7bd`,accent:`#eef2f8`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid #33425e`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},"minimal-color":{canvas:`#f7f9fb`,surface:`#ffffff`,ink:`#0f172a`,inkMuted:`#55637a`,accent:`#0f766e`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid #d5dbe6`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},"neo-light":{canvas:`#e0e0e6`,surface:`#e0e0e6`,ink:`#27272a`,inkMuted:`#5d5d66`,accent:`#51466f`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`12px`,border:`none`,cardShadow:`3px 3px 6px rgba(0,0,0,0.15), -3px -3px 6px rgba(255,255,255,0.8)`,panelShadow:`3px 3px 6px rgba(0,0,0,0.15), -3px -3px 6px rgba(255,255,255,0.8)`,panelInsetShadow:`inset 3px 3px 6px rgba(0,0,0,0.15), inset -3px -3px 6px rgba(255,255,255,0.8)`,panelBorder:`none`},"neo-dark":{canvas:`#2a2d34`,surface:`#2a2d34`,ink:`#f4f4f5`,inkMuted:`#b5b7bd`,accent:`#d9d4ec`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`12px`,border:`none`,cardShadow:`3px 3px 6px rgba(0,0,0,0.5), -3px -3px 6px rgba(255,255,255,0.1)`,panelShadow:`3px 3px 6px rgba(0,0,0,0.5), -3px -3px 6px rgba(255,255,255,0.1)`,panelInsetShadow:`inset 3px 3px 6px rgba(0,0,0,0.5), inset -3px -3px 6px rgba(255,255,255,0.1)`,panelBorder:`none`},"neo-color":{canvas:`#e6e1f2`,surface:`#e6e1f2`,ink:`#2f2a45`,inkMuted:`#5c5479`,accent:`#5b4b8a`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`12px`,border:`none`,cardShadow:`3px 3px 6px rgba(47,42,69,0.18), -3px -3px 6px rgba(255,255,255,0.78)`,panelShadow:`3px 3px 6px rgba(47,42,69,0.18), -3px -3px 6px rgba(255,255,255,0.78)`,panelInsetShadow:`inset 3px 3px 6px rgba(47,42,69,0.18), inset -3px -3px 6px rgba(255,255,255,0.78)`,panelBorder:`none`},"brutalist-light":{canvas:`#fffdf7`,surface:`#ffffff`,ink:`#111111`,inkMuted:`#3d3d3d`,accent:`#ff90e8`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`4px`,border:`2px solid #111111`,cardShadow:`3px 3px 0 #111111`,panelShadow:`3px 3px 0 #111111`,panelInsetShadow:`none`,panelBorder:`2px solid #111111`},"brutalist-dark":{canvas:`#111111`,surface:`#1a1a1a`,ink:`#f5f2ea`,inkMuted:`#c9c4b8`,accent:`#ff90e8`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`4px`,border:`2px solid #f5f2ea`,cardShadow:`3px 3px 0 #f5f2ea`,panelShadow:`3px 3px 0 #f5f2ea`,panelInsetShadow:`none`,panelBorder:`2px solid #f5f2ea`},"liquid-glass-light":{canvas:`#dfe6f2`,surface:`color-mix(in srgb, #ffffff 30%, transparent)`,ink:`#17233f`,inkMuted:`#4a5a78`,accent:`#6e61ff`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`16px`,border:`1px solid rgb(255 255 255 / 34%)`,cardShadow:`0 8px 24px rgb(15 23 42 / 12%)`,panelShadow:`0 5px 12px rgb(0 0 0 / 12%)`,panelInsetShadow:`none`,panelBorder:`1px solid rgb(255 255 255 / 34%)`},"liquid-glass-dark":{canvas:`#10131c`,surface:`color-mix(in srgb, #161d33 30%, transparent)`,ink:`#f4f7ff`,inkMuted:`#9aa8c7`,accent:`#8e7cff`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`16px`,border:`1px solid rgb(255 255 255 / 14%)`,cardShadow:`0 10px 28px rgb(0 0 0 / 45%)`,panelShadow:`0 5px 12px rgb(0 0 0 / 35%)`,panelInsetShadow:`none`,panelBorder:`1px solid rgb(255 255 255 / 14%)`},"frosted-glass-light":{canvas:`#e4e8ef`,surface:`color-mix(in srgb, #f8fbfd 62%, transparent)`,ink:`#1c252c`,inkMuted:`#5c6b75`,accent:`#4d7c8a`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`10px`,border:`1px solid rgb(255 255 255 / 40%)`,cardShadow:`0 6px 18px rgb(15 23 42 / 10%)`,panelShadow:`0 4px 10px rgb(0 0 0 / 8%)`,panelInsetShadow:`none`,panelBorder:`1px solid rgb(255 255 255 / 40%)`},"frosted-glass-dark":{canvas:`#14161d`,surface:`color-mix(in srgb, #222a30 62%, transparent)`,ink:`#f1f5f7`,inkMuted:`#9aa5ad`,accent:`#8cb8c4`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`10px`,border:`1px solid rgb(255 255 255 / 12%)`,cardShadow:`0 8px 22px rgb(0 0 0 / 40%)`,panelShadow:`0 4px 10px rgb(0 0 0 / 30%)`,panelInsetShadow:`none`,panelBorder:`1px solid rgb(255 255 255 / 12%)`},bauhaus:{canvas:`#eeeeee`,surface:`#eeeeee`,ink:`#111111`,inkMuted:`#111111`,accent:`#0b3d91`,fontFamily:`"Helvetica Neue", Helvetica, Futura, "Century Gothic", Avenir, Arial, sans-serif`,radius:`0`,border:`2px solid #111111`,cardShadow:`3px 3px 0 #111111`,panelShadow:`3px 3px 0 #111111`,panelInsetShadow:`none`,panelBorder:`2px solid #111111`},"leather-book":{canvas:`#ede3cd`,surface:`#f7f0de`,ink:`#3a2c1c`,inkMuted:`#6b5949`,accent:`#7a4a21`,fontFamily:`"EB Garamond", Georgia, serif`,radius:`6px`,border:`1px solid #d3c3a0`,cardShadow:`0 1px 3px rgba(58,44,28,0.25)`,panelShadow:`0 1px 3px rgba(58,44,28,0.25)`,panelInsetShadow:`none`,panelBorder:`1px solid #cbb98f`},newspaper:{canvas:`#faf7f0`,surface:`#faf7f0`,ink:`#191817`,inkMuted:`#45423c`,accent:`#191817`,fontFamily:`"Source Serif 4", Georgia, serif`,radius:`0`,border:`1px solid #191817`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`},notebook:{canvas:`#fcfcfa`,surface:`#ffffff`,ink:`#26262b`,inkMuted:`#5a5a61`,accent:`#26262b`,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`0`,border:`1px solid #d4d4cc`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`1px solid #d4d4cc`},blueprint:{canvas:`#1d3d5c`,surface:`#234666`,ink:`#eaf2f9`,inkMuted:`#a9c3d8`,accent:`#eaf2f9`,fontFamily:`"IBM Plex Sans", ui-sans-serif, sans-serif`,radius:`0`,border:`1px solid rgba(234,242,249,0.38)`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`1px solid rgba(234,242,249,0.38)`}};function ag(e,t){return ig[e]||{canvas:t.canvas,surface:t.surface,ink:t.ink,inkMuted:t.ink,accent:t.accent,fontFamily:`"Archivo", ui-sans-serif, system-ui, sans-serif`,radius:`8px`,border:`1px solid color-mix(in srgb, currentColor 20%, transparent)`,cardShadow:`none`,panelShadow:`none`,panelInsetShadow:`none`,panelBorder:`none`}}function og({value:e,onChange:t,className:n,compact:r=!1,disabled:i=!1,label:a=`Theme`}){return(0,x.jsx)(`div`,{className:K(`wf-theme-settings`,r&&`wf-theme-settings--compact`,n),role:`radiogroup`,"aria-label":a,children:_c.map(n=>(0,x.jsxs)(`section`,{className:`wf-theme-settings__group`,"aria-label":n.label,children:[(0,x.jsx)(`h3`,{className:`wf-theme-settings__group-label`,children:n.label}),(0,x.jsx)(`ul`,{className:`wf-theme-settings__group-list`,children:n.options.map(({value:n,label:r,preview:a,style:o,texture:s})=>{let c=e===n,l=ag(n,a),u={"--wf-theme-preview-canvas":l.canvas,"--wf-theme-preview-surface":l.surface,"--wf-theme-preview-ink":l.ink,"--wf-theme-preview-ink-muted":l.inkMuted,"--wf-theme-preview-accent":l.accent,"--wf-theme-preview-font":l.fontFamily,"--wf-theme-preview-radius":l.radius,"--wf-theme-preview-panel-shadow":l.panelShadow,"--wf-theme-preview-panel-inset-shadow":l.panelInsetShadow,"--wf-theme-preview-panel-border":l.panelBorder};return(0,x.jsx)(`li`,{children:(0,x.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":c,className:K(`archi-theme-swatch wf-theme-settings__option`,c&&`is-active`),"aria-current":c?`true`:void 0,"data-preview-theme":n,"data-preview-style":o,"data-preview-texture":s,onClick:()=>t(n),disabled:i,children:(0,x.jsxs)(`span`,{className:`archi-theme-swatch__fill wf-theme-settings__fill`,style:u,children:[(0,x.jsxs)(`span`,{className:`wf-theme-settings__mock`,"aria-hidden":`true`,children:[(0,x.jsx)(`span`,{className:`wf-theme-settings__mock-rail`}),(0,x.jsxs)(`span`,{className:`wf-theme-settings__mock-surface`,children:[(0,x.jsx)(`span`,{className:`wf-theme-settings__mock-line`}),(0,x.jsx)(`span`,{className:`wf-theme-settings__mock-line is-short`}),(0,x.jsx)(`span`,{className:`wf-theme-settings__mock-action`})]})]}),(0,x.jsxs)(`span`,{className:`wf-theme-settings__option-copy`,children:[(0,x.jsx)(`span`,{className:`wf-theme-settings__label`,children:r}),(0,x.jsx)(`span`,{className:`wf-theme-settings__meta`,children:o})]}),c?(0,x.jsx)(G,{"aria-hidden":`true`,className:`wf-theme-settings__check`}):null]})})},n)})})]},n.family))})}function sg({title:e,children:t}){return(0,x.jsxs)(`div`,{className:`wf-provider-connect__group`,children:[(0,x.jsx)(`h4`,{className:`wf-provider-connect__group-title`,children:e}),(0,x.jsx)(`ul`,{className:`wf-provider-connect__list`,children:t})]})}function cg({row:e,disabled:t,isBusy:n,isExpanded:r,secretDraft:i=``,draftExtraSecrets:a={},oauthOutput:o,onToggle:s,onSecretChange:c,onExtraSecretChange:l,onCancel:u,onSave:d,onOAuth:f,lockSharedCredential:p}){let m=e.connect_mode===`bot_token`?`bot token`:`API key`,h=e.id===`github`&&e.connect_mode===`oauth`;return(0,x.jsxs)(`li`,{className:`wf-provider-connect__item`,children:[(0,x.jsxs)(`div`,{className:`wf-provider-connect__row`,children:[(0,x.jsx)(`div`,{className:`wf-sign-in-app__icon`,"aria-hidden":`true`,children:(0,x.jsx)(bm,{providerId:e.id,className:`wf-sign-in-app__brand-img`})}),(0,x.jsxs)(`div`,{className:`wf-provider-connect__copy`,children:[(0,x.jsxs)(`div`,{className:`wf-provider-connect__title-row`,children:[(0,x.jsx)(`strong`,{children:e.label}),(0,x.jsx)(`code`,{className:`wf-provider-connect__env`,children:e.env_var||`OAuth`}),e.user_only?(0,x.jsx)(`span`,{className:`wf-provider-connect__badge`,children:`per-user`}):null,e.source===`workspace`?(0,x.jsx)(`span`,{className:`wf-provider-connect__badge`,children:`shared`}):null]}),(0,x.jsx)(`span`,{className:`wf-provider-connect__desc`,children:e.description})]}),(0,x.jsx)(pm,{wrapperClassName:`wf-provider-connect__switch`,checked:e.connected,disabled:t||n||p&&e.source===`workspace`,"aria-label":`Connect ${e.label}`,onChange:e=>s(e.target.checked)})]}),r&&(e.connect_mode!==`oauth`||h)?(0,x.jsxs)(`div`,{className:`wf-provider-connect__editor`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-provider-secret-${e.id}`,children:h?`GitHub personal access token`:m}),h&&e.oauth_configured===!1?(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Fine-grained PAT works on its own — a workframe OAuth app is only needed for one-click GitHub connect.`}):null,(0,x.jsx)(wc,{id:`wf-provider-secret-${e.id}`,value:i,onChange:e=>c(e.target.value),saved:e.connected&&!i,emptyPlaceholder:h?`Paste personal access token`:`Paste ${m}`})]}),(e.extra_env_vars??[]).map(t=>(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-provider-extra-${e.id}-${t}`,children:t}),(0,x.jsx)(wc,{id:`wf-provider-extra-${e.id}-${t}`,value:a[t]??``,onChange:e=>l(t,e.target.value),saved:e.connected&&!(a[t]??``).trim(),emptyPlaceholder:`Paste ${t}`})]},t)),(0,x.jsxs)(`div`,{className:`wf-provider-connect__editor-actions`,children:[(0,x.jsx)(q,{wizardSize:!0,onClick:u,children:`Cancel`}),h&&e.oauth_configured&&f?(0,x.jsx)(q,{wizardSize:!0,disabled:n,onClick:f,children:`OAuth instead`}):null,(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,disabled:n||!i.trim(),onClick:d,children:n?`Saving…`:`Save`})]})]}):null,o?(0,x.jsx)(`pre`,{className:`wf-provider-connect__oauth-output wf-scroll wf-scroll--vertical`,children:o}):null]})}var lg=new Set([`codex`,`nous`]),ug={codex:`https://auth.openai.com/codex/device`};function dg(e){return lg.has(e)}function fg(e){return ug[e]??null}function pg({providerId:e,providerLabel:t,verificationUri:n,userCode:r,status:i,message:a,copied:o,presentation:s=`dialog`,onCopyCode:c,onCancel:l}){let u=n??fg(e),d=i===`error`,f=i===`connected`,p=!d,m=i===`starting`?`Starting device sign-in…`:i===`pending`&&!r?`Preparing your code…`:i===`pending`?`Waiting for sign-in — this updates automatically.`:f?a||`${t} is connected.`:``,h=f?`Done`:d?`Back`:`Cancel`;return(0,x.jsxs)(`div`,{className:K(`wf-auth-otp-panel`,s===`inline`&&`wf-device-oauth-panel--inline`),children:[p?(0,x.jsxs)(`div`,{className:`wf-auth-otp-panel__notice`,children:[`Sign in with your `,t,` account. Keep this open until connection completes.`]}):null,d&&a?(0,x.jsx)(Cm,{tone:`error`,children:a}):null,p?(0,x.jsxs)(`div`,{className:`wf-auth__form wf-auth-otp-panel__form`,children:[u?(0,x.jsxs)(`div`,{className:`wf-auth-otp-panel__field`,children:[(0,x.jsx)(Br,{className:`wf-auth-otp-panel__label`,children:`Sign-in page`}),(0,x.jsx)(`div`,{className:`wf-auth-otp-panel__actions`,children:(0,x.jsx)(`div`,{className:`wf-auth__row`,children:(0,x.jsx)(`a`,{href:u,target:`_blank`,rel:`noreferrer`,className:`wf-action-btn wf-wizard-btn`,"data-tone":`primary`,children:`Open sign-in page`})})})]}):null,r?(0,x.jsxs)(`div`,{className:`wf-auth-otp-panel__field`,children:[(0,x.jsx)(Br,{className:`wf-auth-otp-panel__label`,children:`Device code`}),(0,x.jsxs)(`div`,{className:`wf-auth__dev-code`,"aria-live":`polite`,children:[(0,x.jsx)(`span`,{className:`wf-auth__dev-code-label`,children:`Your code`}),(0,x.jsx)(`span`,{className:`wf-auth__dev-code-value`,children:r})]})]}):(0,x.jsxs)(`div`,{className:`wf-auth-otp-panel__field`,children:[(0,x.jsx)(Br,{className:`wf-auth-otp-panel__label`,children:`Device code`}),(0,x.jsx)(Sm,{children:i===`starting`?`Preparing your code…`:`Waiting for code…`})]}),m?(0,x.jsx)(`div`,{className:`wf-auth__row wf-auth-otp-panel__resend`,children:(0,x.jsx)(`span`,{className:`wf-auth__muted`,children:m})}):null]}):null,l&&s===`inline`?(0,x.jsx)(wm,{children:(0,x.jsxs)(`div`,{className:`wf-auth__row`,children:[r&&p?(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,onClick:c,children:o?`Copied`:`Copy code`}):null,(0,x.jsx)(q,{wizardSize:!0,onClick:l,children:h})]})}):r&&p&&s===`dialog`?(0,x.jsx)(`div`,{className:`wf-auth-otp-panel__actions`,children:(0,x.jsx)(`div`,{className:`wf-auth__row`,children:(0,x.jsx)(q,{wizardSize:!0,tone:`primary`,onClick:c,children:o?`Copied`:`Copy code`})})}):null]})}function mg(e,t,n){Object.is(n.current,e)||(n.current=e,t(e))}function hg(e,t){return(e.message||e.output||e.error||t).trim()}function gg({providerId:e,providerLabel:t,workspaceId:n,active:r,onConnected:i,onError:a}){let[o,s]=(0,y.useState)(null),[c,l]=(0,y.useState)(null),[u,d]=(0,y.useState)(`idle`),[f,p]=(0,y.useState)(``),[m,h]=(0,y.useState)(!1),g=(0,y.useRef)(null),_=(0,y.useRef)(i),v=(0,y.useRef)(a),b=(0,y.useRef)(null),x=(0,y.useRef)(null),S=(0,y.useRef)(null);_.current=i,v.current=a;let C=(0,y.useCallback)(()=>{g.current!==null&&(window.clearInterval(g.current),g.current=null)},[]),w=(0,y.useCallback)(e=>{C(),S.current=null,d(`error`),p(e),v.current?.(e)},[C]),T=(0,y.useCallback)(()=>{C(),S.current=null,b.current=null,x.current=null,s(null),l(null),d(`idle`),p(``),h(!1)},[C]);return(0,y.useEffect)(()=>{if(!r){T();return}if(!e)return;let i=`${e}:${n??``}`;if(S.current===i)return;let a=!1;return S.current=i,d(`starting`),p(``),(async()=>{try{let r=await Y.startProviderOAuth(e,n);if(a)return;if(r.redirect_url){window.location.assign(r.redirect_url);return}if(!r.ok||!r.session_id){w(hg(r,`Could not start ${t} OAuth`));return}if(mg(r.verification_uri??null,s,b),mg(r.user_code??null,l,x),r.status===`connected`){d(`connected`),p(`${t} is connected.`),_.current?.();return}if(r.status===`error`){w(hg(r,`${t} OAuth failed`));return}d(`pending`);let i=r.session_id;g.current=window.setInterval(()=>{Y.providerOAuthStatus(e,i).then(e=>{if(!a){if(mg(e.verification_uri??null,s,b),mg(e.user_code??null,l,x),e.status===`connected`&&e.ok){C(),d(`connected`),p(`${t} is connected.`),_.current?.();return}(e.status===`error`||e.ok===!1)&&w(hg(e,`${t} OAuth failed`))}}).catch(e=>{a||w(e instanceof Error?e.message:`${t} OAuth failed`)})},3e3)}catch(e){if(a)return;w(e instanceof Error?e.message:`Failed to start ${t} OAuth`)}})(),()=>{a=!0,C()}},[r,C,w,e,t,T,n]),{verificationUri:o,userCode:c,status:u,message:f,copied:m,copyCode:(0,y.useCallback)(async()=>{if(c)try{await navigator.clipboard.writeText(c),h(!0),window.setTimeout(()=>h(!1),2e3)}catch{v.current?.(`Could not copy code to clipboard`)}},[c])}}function _g({row:e,workspaceId:t,active:n,presentation:r=`dialog`,reportToParent:i,onActiveChange:a,onConnected:o,onError:s}){let c=i??r===`dialog`,l=gg({providerId:e?.id??``,providerLabel:e?.label??`Provider`,workspaceId:t,active:n&&!!e,onConnected:o,onError:c?s:void 0});if(!e||!n)return null;let u=(0,x.jsx)(pg,{providerId:e.id,providerLabel:e.label,verificationUri:l.verificationUri,userCode:l.userCode,status:l.status,message:l.message,copied:l.copied,presentation:r,onCopyCode:()=>void l.copyCode(),onCancel:r===`inline`?()=>a?.(!1):void 0});return r===`inline`?u:(0,x.jsx)(tc,{open:n,onOpenChange:e=>a?.(e),children:(0,x.jsxs)(ic,{className:`wf-auth-dialog wf-dialog-content--device-oauth`,overlayClassName:`wf-dialog-overlay--opaque`,children:[(0,x.jsx)(ac,{children:(0,x.jsxs)(sc,{children:[`Connect `,e.label]})}),u,(0,x.jsx)(oc,{children:(0,x.jsx)(q,{wizardSize:!0,onClick:()=>a?.(!1),children:l.status===`connected`?`Done`:`Cancel`})})]})})}function vg(){let e=new URLSearchParams(window.location.search),t=e.get(`provider_connect`)?.trim();if(!t)return null;let n=e.get(`status`)===`ok`?`ok`:`error`;return{provider:t,status:n,message:e.get(`message`)?.trim()||(n===`ok`?`${t} connected`:`${t} connection failed`)}}function yg(){let e=new URLSearchParams(window.location.search);if(!e.has(`provider_connect`))return;e.delete(`provider_connect`),e.delete(`status`),e.delete(`message`);let t=e.toString(),n=`${window.location.pathname}${t?`?${t}`:``}${window.location.hash}`;window.history.replaceState({},``,n)}var bg={llm:`LLM integrations`,search:`Search integrations`,messaging:`Messaging integrations`,dev:`Developer integrations`,payments:`Payment integrations`};function xg({disabled:e,workspaceId:t,credentialScope:n=`user`,categories:r,providerIds:i,hint:a=`full`,layout:o=`stack`,scrollInner:s=!0,deviceOAuthPresentation:c=`dialog`,onStatus:l,onError:u,onConnected:d}){let[f,p]=(0,y.useState)([]),[m,h]=(0,y.useState)(!1),[g,_]=(0,y.useState)(null),[v,b]=(0,y.useState)({}),[S,C]=(0,y.useState)({}),[w,T]=(0,y.useState)(null),[E,D]=(0,y.useState)({}),[O,k]=(0,y.useState)(null),[A,j]=(0,y.useState)(``),M=(0,y.useRef)(null),N=(0,y.useRef)(u),P=(0,y.useRef)(l),F=(0,y.useRef)(d);M.current=O,N.current=u,P.current=l,F.current=d;let I=(0,y.useCallback)(async()=>{h(!0);try{p((await Y.listProviders(t,n===`workspace`?`workspace`:`effective`)).providers??[])}catch(e){N.current?.(e instanceof Error?e.message:`Failed to load integrations`)}finally{h(!1)}},[n,t]);(0,y.useEffect)(()=>{I()},[I]),(0,y.useEffect)(()=>{let e=vg();e&&(e.status===`ok`?(P.current?.(e.message),I(),F.current?.()):N.current?.(e.message),yg())},[I]);let L=(0,y.useMemo)(()=>{let e=new Map,t=r?.length?new Set(r):null,a=i?.length?new Set(i):null;for(let r of f){if(n===`workspace`&&(r.user_only||r.connect_mode===`oauth`)||t&&!t.has(r.category)||a&&!a.has(r.id))continue;let i=e.get(r.category)??[];i.push(r),e.set(r.category,i)}return[...e.entries()]},[r,n,i,f]);(0,y.useEffect)(()=>{L.length&&j(e=>e&&L.some(([t])=>t===e)?e:L[0][0])},[L]);let ee=(e,t)=>{p(n=>n.map(n=>n.id===e?{...n,...t}:n))},R=async e=>{_(e.id),u?.(``);try{n===`workspace`&&e.credential_id&&t?await Y.revokeWorkspaceCredential(t,e.credential_id):e.credential_id?await Y.disconnectCredential(e.credential_id):await Y.disconnectProvider(e.id),ee(e.id,{connected:!1,credential_id:null}),T(t=>t===e.id?null:t),b(t=>{let n={...t};return delete n[e.id],n}),l?.(`Disconnected ${e.label}.`)}catch(t){u?.(t instanceof Error?t.message:`Failed to disconnect ${e.label}`)}finally{_(null)}},te=async e=>{let r=(v[e.id]??``).trim();if(!r){u?.(`Enter a ${e.connect_mode===`bot_token`?`bot token`:`API key`} for ${e.label}.`);return}_(e.id),u?.(``);try{if(n===`workspace`){let n=t?.trim();if(!n){u?.(`Workspace ID is required for shared keys.`);return}let i=await Y.storeWorkspaceCredential(n,{provider:e.id,api_key:r,label:e.label});if(!i.ok){u?.(i.error??`Failed to save ${e.label}`);return}ee(e.id,{connected:!0,credential_id:i.credential_id??null}),b(t=>({...t,[e.id]:``})),T(null),l?.(`Saved ${e.label} for the workspace.`),e.category===`llm`&&d?.(),I();return}let i=await Y.saveUserCredential({provider:e.id,credential_type:e.connect_mode===`bot_token`?`bot_token`:(e.connect_mode,`api_key`),secret:r,env_var:e.env_var,label:e.label});ee(e.id,{connected:!0,credential_id:i.credential_id});for(let t of e.extra_env_vars??[]){let n=(S[e.id]?.[t]??``).trim();n&&await Y.saveUserCredential({provider:e.id,credential_type:`bot_token`,secret:n,env_var:t,label:`${e.label} ${t}`})}b(t=>({...t,[e.id]:``})),C(t=>({...t,[e.id]:{}})),T(null),l?.(`Saved ${e.label} to your Hermes profile.`),e.category===`llm`&&d?.(),I()}catch(t){u?.(t instanceof Error?t.message:`Failed to save ${e.label}`)}finally{_(null)}},z=async e=>{if(dg(e.id)){P.current?.(``),k(e);return}_(e.id),u?.(``);try{let n=await Y.startProviderOAuth(e.id,t);if(n.redirect_url){window.location.assign(n.redirect_url);return}n.output&&D(t=>({...t,[e.id]:n.output??``})),n.ok?(ee(e.id,{connected:!0}),l?.(`Started ${e.label} OAuth — finish in the opened window or follow the CLI output below.`)):u?.(n.message||n.output||n.error||`Could not start ${e.label} OAuth`),I()}catch(t){u?.(t instanceof Error?t.message:`Failed to start ${e.label} OAuth`)}finally{_(null)}},B=(0,y.useCallback)(()=>{let e=M.current;e&&(ee(e.id,{connected:!0}),P.current?.(`Connected ${e.label}.`),e.category===`llm`&&F.current?.(),I(),k(null))},[I]),V=async(t,r)=>{if(!(e||g)){if(!r&&n===`user`&&t.source===`workspace`){l?.(`This provider is funded by your Workframe. A Workframe admin manages the shared key.`);return}if(r){if(t.connect_mode===`oauth`){if(t.id===`github`&&t.oauth_configured===!1){T(t.id),l?.(`Paste a personal access token below, or use OAuth if your admin configured it.`);return}if(t.id===`stripe`&&t.oauth_configured===!1){u?.(`Ask your Workframe admin to register Stripe Connect under Integrations first.`);return}await z(t);return}T(t.id),l?.(`Paste your ${t.label} secret, then save.`);return}t.connected?await R(t):T(null)}};if(m&&!f.length)return(0,x.jsx)(Sm,{children:`Loading integrations…`});if(O&&c===`inline`)return(0,x.jsx)(_g,{row:O,workspaceId:t,active:!0,presentation:`inline`,reportToParent:!1,onActiveChange:e=>{e||k(null)},onConnected:B});let ne=o===`tabs`&&A?L.filter(([e])=>e===A):L;return(0,x.jsxs)(`div`,{className:`wf-provider-connect${o===`tabs`?` wf-provider-connect--tabs`:``}`,children:[a===`full`?(0,x.jsx)(`p`,{className:`wf-connect-panel__hint wf-connect-panel__hint--security`,children:n===`workspace`?(0,x.jsx)(x.Fragment,{children:`Shared workframe credentials — vault-encrypted and synced to the gateway.`}):(0,x.jsxs)(x.Fragment,{children:[`Keys here are `,(0,x.jsx)(`strong`,{children:`yours`}),` — agents, kanban, and dev actions bill and authenticate as you. Workframe bot tokens and OAuth apps are configured under Workframe Settings → Integrations.`]})}):a===`compact`?(0,x.jsx)(`p`,{className:`wf-connect-panel__hint wf-connect-panel__hint--inline`,children:n===`workspace`?`Shared workframe keys — vault-encrypted.`:`Your keys — saved to your Hermes profile.`}):null,o===`tabs`&&L.length>1?(0,x.jsx)(`div`,{className:`wf-provider-connect__tabs`,role:`tablist`,"aria-label":`Integration categories`,children:L.map(([e])=>(0,x.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":A===e,className:`wf-provider-connect__tab${A===e?` is-active`:``}`,onClick:()=>j(e),children:bg[e]??e},e))}):null,(0,x.jsx)(`div`,{className:o===`tabs`&&s?`wf-provider-connect__tab-panel wf-scroll wf-scroll--vertical`:o===`tabs`?`wf-provider-connect__tab-panel`:void 0,children:ne.map(([t,r])=>(0,x.jsx)(sg,{title:bg[t]??t,children:r.map(t=>(0,x.jsx)(cg,{row:t,disabled:e,isBusy:g===t.id,isExpanded:w===t.id,secretDraft:v[t.id]??``,draftExtraSecrets:S[t.id]??{},oauthOutput:E[t.id],lockSharedCredential:n===`user`,onToggle:e=>void V(t,e),onSecretChange:e=>b(n=>({...n,[t.id]:e})),onExtraSecretChange:(e,n)=>C(r=>({...r,[t.id]:{...r[t.id]??{},[e]:n}})),onCancel:()=>T(null),onSave:()=>void te(t),onOAuth:()=>void z(t)},t.id))},t))}),(0,x.jsx)(_g,{row:O,workspaceId:t,active:O!==null,presentation:`dialog`,onActiveChange:e=>{e||k(null)},onConnected:B,onError:u})]})}function Sg({step:e,busy:t,isInvitee:n=!1,adminEmail:r,credentialMode:i,workspaceId:a,mission:o,workframeName:s,workframeTagline:c,logoUrl:l,displayName:u,tagline:d,bio:f,avatarUrl:p,agentName:m,agentTagline:h,agentSoul:g,agentAvatar:_,agentPrimaryModel:v,agentModelTab:y,agentSteps:b,inviteEmails:S,publicUrl:C,httpsStatus:w,theme:T,resolveWorkframeName:E,onAdminEmailChange:D,onAdminEmailBlur:O,onPickMode:k,onCredentialModeChange:A,onLogoUrlChange:j,onWorkframeNameChange:M,onWorkframeTaglineChange:N,onMissionChange:P,onDisplayNameChange:F,onTaglineChange:I,onBioChange:L,onAvatarUrlChange:ee,onAgentNameChange:R,onAgentTaglineChange:te,onAgentSoulChange:z,onAgentAvatarChange:B,onAgentModelTabChange:V,onAgentPrimaryModelChange:ne,onAgentFallbackChainChange:re,onAgentProvidersConnected:H,onInviteEmailsChange:ie,onPublicUrlChange:U,onBindOAuthSave:ae,onError:W,onThemeChange:oe}){if(e===`theme`)return(0,x.jsx)(og,{value:T,onChange:oe,compact:!0,disabled:t,label:`Choose your theme`});if(e===`intro`)return(0,x.jsx)(Gc,{children:(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-intro-admin-email`,children:`Admin email`}),(0,x.jsx)(_r,{id:`wf-intro-admin-email`,type:`email`,value:r,onChange:e=>D(e.target.value),onBlur:O,placeholder:`admin@company.com`,disabled:t,autoComplete:`email`}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Primary admin account for this install — used for sign-in codes and setup notifications.`})]})});if(e===`welcome`)return(0,x.jsxs)(`div`,{className:`wf-wizard-mode-grid`,children:[Nc.map(e=>(0,x.jsxs)(`button`,{type:`button`,className:`wf-wizard-mode-card`,disabled:t,onClick:()=>k(e.id),children:[(0,x.jsx)(`strong`,{children:e.title}),(0,x.jsx)(`span`,{children:e.blurb})]},e.id)),Pc.map(e=>(0,x.jsxs)(`div`,{className:`wf-wizard-mode-card is-inactive`,"aria-disabled":`true`,children:[(0,x.jsx)(`strong`,{children:e.title}),(0,x.jsx)(`span`,{children:e.blurb})]},e.id))]});if(e===`integrations`)return(0,x.jsx)(Gc,{children:(0,x.jsx)(Nm,{disabled:t,onBindOAuthSave:e=>{ae(e)}})});if(e===`billing`)return(0,x.jsxs)(`div`,{className:`wf-wizard-choice-grid`,role:`radiogroup`,"aria-label":`Billing model`,children:[(0,x.jsxs)(`label`,{className:`wf-wizard-choice-card${i===`byok`?` is-selected`:``}`,children:[(0,x.jsx)(`input`,{type:`radio`,className:`wf-wizard-choice-card__input`,name:`wf-credential-mode`,checked:i===`byok`,onChange:()=>A(`byok`)}),(0,x.jsx)(`span`,{className:`wf-wizard-choice-card__radio`,"aria-hidden":`true`}),(0,x.jsxs)(`span`,{className:`wf-wizard-choice-card__body`,children:[(0,x.jsx)(`strong`,{children:`BYOK — bring your own keys`}),(0,x.jsx)(`span`,{children:`Each member connects personal LLM keys. Usage bills to them.`})]})]}),(0,x.jsxs)(`label`,{className:`wf-wizard-choice-card${i===`workspace`?` is-selected`:``}`,children:[(0,x.jsx)(`input`,{type:`radio`,className:`wf-wizard-choice-card__input`,name:`wf-credential-mode`,checked:i===`workspace`,onChange:()=>A(`workspace`)}),(0,x.jsx)(`span`,{className:`wf-wizard-choice-card__radio`,"aria-hidden":`true`}),(0,x.jsxs)(`span`,{className:`wf-wizard-choice-card__body`,children:[(0,x.jsx)(`strong`,{children:`Company-pays — shared keys`}),(0,x.jsx)(`span`,{children:`One shared key pool for all members. Admin manages integration keys.`})]})]})]});if(e===`workframe`)return(0,x.jsx)(Gc,{children:(0,x.jsx)(om,{avatarKind:`logo`,avatarUrl:l,onAvatarChange:j,avatarLabel:`Logo`,disabled:t,primary:{id:`wf-wf-name`,label:`Workframe name`,value:s,onChange:M},secondary:{id:`wf-wf-tag`,label:`Workframe tagline`,value:c,onChange:N},body:{id:`wf-wf-mission`,label:`Mission`,value:o,onChange:P,rows:3}})});if(e===`profile`)return(0,x.jsx)(Gc,{children:(0,x.jsx)(om,{avatarKind:`user`,avatarUrl:p,onAvatarChange:ee,disabled:t,primary:{id:`wf-profile-name`,label:`Display name`,value:u,onChange:F},secondary:{id:`wf-profile-tag`,label:`Tagline`,value:d,onChange:I},body:{id:`wf-profile-bio`,label:`About you`,value:f,onChange:L,rows:3}})});if(e===`agent_model`&&a){let e=n&&i===`workspace`;return(0,x.jsxs)(Gc,{tabs:e?[{id:`model`,label:`Models`}]:[{id:`keys`,label:n?`Your keys`:`Providers`},{id:`model`,label:`Models`}],activeTab:e?`model`:y,onTabChange:e=>V(e),tablistLabel:`Model setup`,children:[!e&&y===`keys`?(0,x.jsx)(xg,{workspaceId:a,credentialScope:i===`workspace`?`workspace`:`user`,categories:[`llm`],hint:`none`,layout:`stack`,scrollInner:!1,disabled:t,onConnected:H,onError:e=>{let t=e.trim();W(t?{tone:`caution`,message:t}:null)}}):null,e||y===`model`?(0,x.jsx)(rg,{workspaceId:a,embedded:!0,selectionOnly:!0,value:v,onChanged:ne,onFallbacksDraftChange:re,onLoaded:e=>{e.primary?.trim()&&ne(e.primary.trim());let t=(e.fallback_chain??[]).filter(e=>!!(e?.provider?.trim()&&e?.model?.trim()));t.length&&re(t)},onError:e=>{let t=e.trim();W(t?{tone:`caution`,message:t}:null)}}):null]})}return e===`agent`?(0,x.jsxs)(Gc,{children:[b.length?(0,x.jsx)(Tc,{steps:b,title:`Setting up your agent`,className:`wf-mb-4`}):null,(0,x.jsx)(om,{avatarKind:`agent`,avatarUrl:_,onAvatarChange:B,disabled:t,primary:{id:`wf-agent-name`,label:`Name`,value:m,onChange:R},secondary:{id:`wf-agent-tag`,label:`Tagline`,value:h,onChange:te},body:{id:`wf-agent-soul`,label:`Soul / instructions`,value:g,onChange:z,rows:4,placeholder:zc(m,E())}})]}):e===`invites`?(0,x.jsx)(Gc,{children:(0,x.jsxs)(`div`,{className:`wf-dialog-field`,children:[(0,x.jsx)(Br,{htmlFor:`wf-invite-emails`,children:`Email addresses`}),(0,x.jsx)(_r,{id:`wf-invite-emails`,value:S,onChange:e=>ie(e.target.value),placeholder:`a@co.com, b@co.com`}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:`Comma-separated. Skip to invite teammates later in Workframe Settings.`})]})}):e===`publish`?(0,x.jsx)(Gc,{className:`wf-publish-step`,children:(0,x.jsx)(dm,{publicUrl:C,onPublicUrlChange:U,disabled:t,httpsStatus:w})}):null}function Cg({title:e,description:t,children:n}){return(0,x.jsxs)(`div`,{className:`wf-onboarding-page wf-onboarding-page--gate`,children:[(0,x.jsx)(`div`,{className:`wf-onboarding-page__theme`,children:(0,x.jsx)(vc,{})}),(0,x.jsx)(uc,{open:!0,modal:!It(),onOpenChange:()=>{},title:e,description:t,showClose:!1,contentClassName:`wf-auth-dialog`,children:n})]})}function wg(e){return N(e)?{src:gm.workframe,mono:!0}:{src:gm.workframeColor,mono:!1}}function Tg({projectName:e,brandLogoUrl:t,step:n,steps:r,maxReachableIndex:i,onStepSelect:a,title:o,description:s,footer:c,children:l}){let u=ee(),d=(0,y.useRef)(null),f=Math.max(0,r.findIndex(e=>e.id===n)),p=i??f,m=r.length>1?Math.round((f+1)/r.length*100):100,h=(0,y.useMemo)(()=>{let e=new Map;for(let t of r){let n=e.get(t.group)??[];n.push(t),e.set(t.group,n)}return[...e.entries()]},[r]),g=wg(u),_=t??g.src,v=t?!1:g.mono;return(0,y.useLayoutEffect)(()=>{d.current?.scrollTo({top:0,left:0,behavior:`auto`})},[n]),(0,x.jsxs)(`div`,{className:`wf-onboarding-page`,children:[(0,x.jsx)(`div`,{className:`wf-onboarding-page__theme`,children:(0,x.jsx)(vc,{})}),(0,x.jsxs)(`div`,{className:`wf-onboarding-wizard`,children:[(0,x.jsxs)(`aside`,{className:`wf-onboarding-wizard__rail`,"aria-label":`Setup steps`,children:[(0,x.jsxs)(`div`,{className:`wf-onboarding-wizard__brand`,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__logo wf-onboarding-wizard__logo--image`,"aria-hidden":`true`,children:(0,x.jsx)(`img`,{src:_,alt:``,className:v?`wf-brand-img--mono`:void 0})}),(0,x.jsxs)(`div`,{className:`wf-onboarding-wizard__brand-copy`,children:[(0,x.jsx)(`strong`,{children:e}),(0,x.jsx)(`span`,{children:`Setup wizard`})]})]}),(0,x.jsx)(`nav`,{className:`wf-onboarding-wizard__nav wf-scroll wf-scroll--vertical wf-scroll--inset-rail wf-scroll-host`,children:h.map(([e,t])=>(0,x.jsxs)(`div`,{className:`wf-onboarding-wizard__group`,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__group-label`,children:e}),(0,x.jsx)(`ol`,{className:`wf-onboarding-wizard__steps`,children:t.map(e=>{let t=r.findIndex(t=>t.id===e.id),n=t<f?`done`:t===f?`current`:`upcoming`,i=!!a&&t>=0&&t<=p&&n!==`current`,o=(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__step-mark`,"aria-hidden":`true`,children:n===`done`?`✓`:e.configured&&n===`upcoming`?`●`:String(t+1)}),(0,x.jsxs)(`span`,{className:`wf-onboarding-wizard__step-copy`,children:[(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__step-label`,children:e.label}),e.detail?(0,x.jsx)(`span`,{className:`wf-onboarding-wizard__step-detail`,children:e.detail}):null]})]});return(0,x.jsx)(`li`,{className:`is-${n}${e.configured?` is-configured`:``}${i?` is-clickable`:``}`,"aria-current":n===`current`?`step`:void 0,children:i?(0,x.jsx)(`button`,{type:`button`,className:`wf-onboarding-wizard__step-btn`,title:e.detail?`${e.label}: ${e.detail}`:e.label,onClick:()=>a?.(e.id),children:o}):(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__step-btn is-static`,children:o})},e.id)})})]},e))})]}),(0,x.jsxs)(`section`,{className:`wf-onboarding-wizard__panel`,children:[(0,x.jsxs)(`header`,{className:`wf-onboarding-wizard__header`,children:[(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__progress`,role:`progressbar`,"aria-valuenow":m,"aria-valuemin":0,"aria-valuemax":100,"aria-label":`Setup progress`,children:(0,x.jsx)(`div`,{className:`wf-onboarding-wizard__progress-bar`,style:{width:`${m}%`}})}),(0,x.jsxs)(`p`,{className:`wf-onboarding-wizard__step-count`,children:[`Step `,f+1,` of `,r.length]}),(0,x.jsx)(`h1`,{className:`wf-onboarding-wizard__title`,children:o}),s?(0,x.jsx)(`p`,{className:`wf-onboarding-wizard__description`,children:s}):null]}),(0,x.jsx)(`div`,{ref:d,className:`wf-onboarding-wizard__body wf-scroll wf-scroll--vertical wf-scroll-host`,children:l}),c?(0,x.jsx)(`footer`,{className:`wf-onboarding-wizard__footer`,children:c}):null]})]})]})}function Eg(e){async function t(){if(!e.workspaceId){e.setLaunchError(xi(Error(`workspace_missing`),`Finish join`));return}e.setLaunching(!0),e.setLaunchError(null),e.setLaunchSteps(Bc(void 0,`pending`).map((e,t)=>({...e,status:t===0?`active`:`pending`}))),e.setBusy(!0);try{if(!(await Y.getMyCohort(e.workspaceId)).ok)throw Error(`Agent runtime provisioning failed`);e.setLaunchSteps(Bc(void 0,`done`)),e.setStep(`done`),await new Promise(e=>window.setTimeout(e,350)),e.onComplete()}catch(t){let n=xi(t,`Finish join`);e.setLaunchError(n),e.setLaunchSteps(e=>e.map(e=>e.status===`active`?{...e,status:`error`,detail:n}:e))}finally{e.setBusy(!1),e.setLaunching(!1)}}async function n(n){if(e.isInvitee){await t();return}if(e.deploymentMode!==`single_user_local`&&!e.adminVerified){let t=xi(Error(`no_session`),`Finish setup`);e.setLaunchError(t),e.setStep(`smtp`);return}n?.alreadyLaunching?e.setLaunchSteps(e=>{let t=e.filter(e=>e.id!==`finalize`),n=t.findIndex(e=>e.status===`pending`);return t.map((e,t)=>t===n?{...e,status:`active`}:e)}):(e.setLaunching(!0),e.setLaunchError(null),e.setLaunchSteps(Bc().map((e,t)=>({...e,status:t===0?`active`:`pending`})))),e.setBusy(!0);try{if(e.deploymentMode===`single_user_local`&&!e.isInvitee){let t=e.adminEmail.trim().toLowerCase();if(!t||!t.includes(`@`))throw Error(`email_required`);let n={display_name:e.displayName||t.split(`@`)[0]||`Owner`,email:t,bio:e.bio,workframe_name:e.resolveWorkframeName(),agent_name:e.agentName,agent_tagline:e.agentTagline,agent_soul:e.agentSoul.trim()||e.bio,model:e.agentPrimaryModel.trim()},r=await Y.completeInstall(n);if(!r.ok)throw Error(r.error||`Finish setup failed`);e.setLaunchSteps(Bc(r.steps,`active`)),await new Promise(e=>window.setTimeout(e,450)),e.setLaunchSteps(Bc(r.steps,`done`)),e.setStep(`done`),await new Promise(e=>window.setTimeout(e,350)),e.onComplete();return}let t={bio:e.bio,workframe_name:e.resolveWorkframeName(),agent_name:e.agentName,agent_tagline:e.agentTagline,agent_soul:e.agentSoul.trim()||e.bio,model:e.agentPrimaryModel.trim()},n=await Y.completeInstall(t);if(!n.ok)throw Error(n.error||`Finish setup failed`);e.setLaunchSteps(Bc(n.steps,`active`)),await new Promise(e=>window.setTimeout(e,450)),e.setLaunchSteps(Bc(n.steps,`done`)),e.setStep(`done`),await new Promise(e=>window.setTimeout(e,350)),e.onComplete()}catch(t){let n=xi(t,`Finish setup`);e.setLaunchError(n),e.setLaunchSteps(e=>e.map(e=>e.status===`active`?{...e,status:`error`,detail:n}:(e.status,e)))}finally{e.setBusy(!1)}}async function r(){if(!e.workspaceId)return;let t=e.inviteEmails.split(/[,\s]+/).map(e=>e.trim()).filter(Boolean);e.setLaunching(!0),e.setLaunchError(null),e.setLaunchSteps(Bc(void 0,`pending`,{includeInvites:!0}).map((e,t)=>({...e,status:t===0?`active`:`pending`})));try{for(let n=0;n<t.length;n+=1){let r=t[n];e.setLaunchSteps(e=>e.map(e=>e.id===`invites`?{...e,status:`active`,detail:`Sending ${n+1} of ${t.length}…`}:e)),await Y.createWorkspaceInvite(e.workspaceId,{email:r,role:`member`})}t.length?e.setLaunchSteps(e=>e.map(e=>e.id===`invites`?{...e,status:`done`,detail:`${t.length} sent`}:e)):e.setLaunchSteps(e=>e.filter(e=>e.id!==`invites`)),await n({alreadyLaunching:!0})}catch(t){let n=xi(t,`Send invites`);e.setLaunchError(n),e.setLaunchSteps(e=>e.map(e=>e.status===`active`?{...e,status:`error`,detail:n}:e)),e.setLaunching(!0)}}return{finishInviteeOnboarding:t,finishInstall:n,sendInvites:r}}function Dg(e){async function t(t=!1){e.setBusy(!0),e.setError(null);try{if(!await e.ensureAdminSession())return;if(!t){let t=e.oauthSaveRef.current;if(t&&!await t())return}await e.reloadStack(),e.workspaceId&&await Y.patchWorkspaceIntegrations(e.workspaceId,{admin_integrations_done:!0}),e.setStep(`profile`)}catch(t){e.setError(_i(t,`Save integrations`))}finally{e.setBusy(!1)}}async function n(){await t(!0)}async function r(){if(!e.workspaceId){e.setStep(`integrations`);return}e.setBusy(!0);try{if(!await e.ensureAdminSession())return;await Y.patchWorkspaceIntegrations(e.workspaceId,{credential_mode:e.credentialMode,admin_integrations_done:!0}),e.setStep(`integrations`)}catch(t){e.setError(_i(t,`Save billing`))}finally{e.setBusy(!1)}}async function i(){if(e.workspaceId){e.setBusy(!0);try{if(!await e.ensureAdminSession())return;let t=e.logoUrl?em(e.logoUrl):null;await Y.patchWorkspace(e.workspaceId,{display_name:e.resolveWorkframeName(),description:e.mission,...t??{},tagline:e.workframeTagline}),await Y.patchWorkspaceIntegrations(e.workspaceId,{admin_onboarding_done:!0}),e.setStep(`billing`)}catch(t){e.setError(_i(t,`Save workframe`))}finally{e.setBusy(!1)}}}async function a(){e.setBusy(!0);try{let t=e.avatarUrl?$p(e.avatarUrl):null;await Y.updateMe({display_name:e.displayName||void 0,tagline:e.tagline||void 0,bio:e.bio||void 0,...t??{}}),e.setStep(e.isInvitee?`agent_model`:`agent`)}catch(t){e.setError(_i(t,`Save profile`))}finally{e.setBusy(!1)}}async function o(){if(e.workspaceId){e.setBusy(!0),e.setError(null);try{let t=await vh(void 0,e.workspaceId,{selectionOnly:!0}),n=(e.agentPrimaryModel||t.primary||``).trim(),r=e.agentFallbackChain.length>=2?e.agentFallbackChain:t.fallback_chain??[],i=r[0]?.model?.trim()??``,a=r[1]?.model?.trim()??``,o=t.connected_providers??[],s=!!(t.has_llm_provider||o.length||e.connectedProviders.length),c=e.credentialMode===`byok`,l=!!(t.stack_llm_available||s);if(c&&!s){e.setError({tone:`caution`,message:`Connect at least one LLM integration first.`,hint:`Add a provider key under Providers, then pick primary and fallback models.`}),e.setAgentModelTab(`keys`);return}if(!c&&!l&&!e.connectedProviders.length){e.setError({tone:`caution`,message:`No workspace LLM provider is configured yet.`,hint:`Ask your admin to connect a shared provider, or switch this workspace to BYOK.`}),e.setAgentModelTab(`keys`);return}if(!n||!e.isInvitee&&(!i||!a)){e.setError({tone:`caution`,message:`Configure primary and both fallback models.`,hint:`Pick one model for each slot — Primary, Fallback 1, and Fallback 2.`}),e.setAgentModelTab(`model`);return}let u=String(t.billing_provider||t.provider||``).trim(),d=await bh(n,void 0,e.workspaceId,{selectionOnly:!0,billingProvider:u||void 0});if(!d.ok)throw Error(d.error||`Could not save primary model`);if(r.length){let e=await xh(r.map(e=>({provider:e.provider,model:e.model})),void 0,{selectionOnly:!0});if(!e.ok)throw Error(e.error||`Could not save fallback models`)}if(e.setAgentPrimaryModel(n),e.isInvitee){await e.finishInviteeOnboarding();return}if(e.deploymentMode===`single_user_local`){await e.finishInstall();return}e.setStep(`invites`)}catch(t){e.setError(_i(t,`Save agent model`))}finally{e.setBusy(!1)}}}async function s(){if(e.workspaceId){e.setBusy(!0),e.setError(null),e.setAgentSteps(Mc.map((e,t)=>({...e,status:t===0?`active`:`pending`})));try{let t=e.agentSoul.trim()||zc(e.agentName,e.resolveWorkframeName()),n=e.agentAvatar?Yp(e.agentAvatar):null;await Y.patchNativeAgent({workspace_id:e.workspaceId,display_name:e.agentName,tagline:e.agentTagline,...n??{},soul:t}),e.setAgentSteps(Mc.map(e=>({...e,status:`done`}))),e.setStep(`agent_model`)}catch(t){e.setAgentSteps(Mc.map(e=>({...e,status:`error`,detail:t instanceof Error?t.message:`Failed`}))),e.setError(_i(t,`Save agent`))}finally{e.setBusy(!1),e.isInvitee||window.setTimeout(()=>e.setAgentSteps([]),600)}}}return{saveIntegrations:t,skipIntegrations:n,saveBilling:r,saveWorkframe:i,saveProfile:a,saveAgentModel:o,saveAgent:s}}function Og(e){async function t(t=!1){let n=Number(e.smtpPort)||587,r=e.smtpFrom.trim(),i=e.smtpPass.trim(),a=e.adminEmail.trim();if(t&&!a)throw Error(`Admin email is required`);if(t&&!i&&!e.smtpHasPassword)throw Error(`SMTP password is required`);return await e.patchInstallStackWhenAllowed({smtp:{host:e.smtpHost,port:n,user:e.smtpUser,...a?{admin_email:a}:{},...i?{password:i}:{},...r?{from:r}:{},secure:n===465?`ssl`:`starttls`}})?(i&&(e.setSmtpHasPassword(!0),e.setSmtpPass(``)),await e.reloadStack(),!0):!1}async function n(){e.setBusy(!0),e.setError(null),e.setSmtpPhase(`setup`);try{if(e.setSmtpPhase(`smtp`),!await t(!0))return!1;let n=e.adminEmail.trim();if(!n)throw Error(`Admin email is required`);if(e.setSmtpPhase(`test-email`),!(await Y.testInstallEmail(n)).ok)throw Error(`Test email failed`);return await e.reloadStack(),e.setSmtpFieldsDirty(!1),e.setError(null),!0}catch(t){return e.setError(_i(t,`SMTP test`)),!1}finally{e.setBusy(!1),e.setSmtpPhase(null)}}async function r(){e.setBusy(!0),e.setError(null);try{if(!await t(!1))return;if(!e.adminEmail.trim())throw Error(`Admin email is required`);let{devOtp:n,notice:r}=ta(await Y.startEmailVerification(e.adminEmail.trim()),e.adminEmail.trim());e.setAdminAuthDevOtp(n),e.setAdminAuthNotice(r),e.setAdminOtpStep(`otp`),e.setStep(`admin_auth`)}catch(t){e.setError(_i(t,`Send verification code`))}finally{e.setBusy(!1)}}async function i(){let t=e.adminEmail.trim();t&&await e.patchInstallStackWhenAllowed({smtp:{admin_email:t}})}async function a(){if(e.canKeepAdminSetup){e.setBusy(!0),e.setError(null);try{if(e.smtpHost.trim()&&!await t(!1))return;e.setSmtpFieldsDirty(!1),e.setStep(`workframe`)}catch(t){e.setError(_i(t,`Save SMTP`))}finally{e.setBusy(!1)}return}if(e.adminVerified){e.setBusy(!0),e.setError(null);try{if(e.smtpHost.trim()&&!await t(!1))return;e.setSmtpFieldsDirty(!1),e.setStep(`workframe`)}catch(t){e.setError(_i(t,`Save SMTP`))}finally{e.setBusy(!1)}return}if(e.smtpFieldsDirty&&e.smtpSetupComplete){e.setError({tone:`caution`,message:`SMTP settings changed.`,hint:`Send a test email to confirm your changes before continuing.`});return}if(!e.smtpSetupComplete){e.setError({tone:`caution`,message:`Send a test email before continuing.`,hint:`Use “Send test email” once to verify SMTP. After that you can move between steps without testing again.`});return}await r()}return{testSmtpOnly:n,persistAdminEmail:i,continueFromSmtp:a}}function kg(e){return e}var Ag=[{id:`theme`,label:`Your Theme`,group:`Join`},{id:`profile`,label:`Your Identity`,group:`Join`},{id:`agent_model`,label:`Provider & model`,group:`Join`}];function jg(e,t,n){if(n)return Ag;if(!t)return[{id:`intro`,label:`Welcome`,group:`Setup`},{id:`theme`,label:`Your Theme`,group:`Setup`},{id:`welcome`,label:`Deployment`,group:`Setup`}];let r=[{id:`intro`,label:`Welcome`,group:`Setup`},{id:`theme`,label:`Your Theme`,group:`Setup`},{id:`welcome`,label:`Deployment`,group:`Setup`}];return e===`public_multi_user`&&r.push({id:`publish`,label:`Public URL`,group:`Setup`}),e!==`single_user_local`&&r.push({id:`smtp`,label:`Email delivery`,group:`Setup`},{id:`admin_auth`,label:`Verify email`,group:`Setup`}),r.push({id:`workframe`,label:`Workframe Profile`,group:`Workframe`},{id:`billing`,label:`Billing Model`,group:`Workframe`},{id:`integrations`,label:`Integrations`,group:`Workframe`},{id:`profile`,label:`Your Identity`,group:`User Profile`},{id:`agent`,label:`Your Agent`,group:`User Profile`},{id:`agent_model`,label:`Agent's Model`,group:`User Profile`}),e!==`single_user_local`&&r.push({id:`invites`,label:`Your Team`,group:`User Profile`}),r}function Mg(e,t,n){switch(e){case`intro`:return{title:`Set up ${t}`,description:`Enter the admin email to register the owner account, then continue through deployment, SMTP, and email verification.`};case`welcome`:return{title:`Deployment`,description:`Choose who will use this Workframe install.`};case`theme`:return{title:`Pick a theme`,description:`Make Workframe feel like yours. You can change this anytime in User Settings → Appearance.`};case`smtp`:return{title:`Email delivery`,description:`Configure and test SMTP for sign-in codes, invites, and notifications.`};case`admin_auth`:return{title:`Verify admin email`,description:`Enter the temporary code sent to your admin email.`};case`integrations`:return{title:`Integrations`,description:`Optional — member sign-in (OAuth) and agent messaging bots.`};case`billing`:return{title:`Billing Model`,description:`Choose BYOK (each member’s keys) or company-pays (shared keys).`};case`workframe`:return{title:`Workframe Profile`,description:`Name, logo, and mission shown across your Workframe.`};case`profile`:return{title:n?`Join ${t}`:`Your Identity`,description:n?`Set how teammates see you in chat and rooms.`:`Your display name and avatar in Workframe.`};case`agent`:return{title:`Your Agent`,description:`Your concierge agent — name, avatar, and operating instructions.`};case`agent_model`:return n?{title:`Provider & model`,description:`Connect your LLM key (BYOK) or pick a model when your workspace shares billing.`}:{title:`Agent's Model`,description:`Choose the primary model for your native agent. Connect integration keys first when using BYOK.`};case`invites`:return{title:`Your Team`,description:`Send email invites now, or skip and invite later in Workframe Settings.`};case`publish`:return{title:`Public URL`,description:`Point DNS at this server, enable HTTPS, then test the connection.`};default:return{title:t,description:``}}}var Ng={single_user_local:`Just me on this environment`,trusted_team:`My team on Docker`,public_multi_user:`Public on the web`};function Pg(e,t=36){let n=e.trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function Fg(e,t=2){let n=e.filter(Boolean);return n.length?n.length<=t?n.join(`, `):`${n.slice(0,t).join(`, `)} +${n.length-t}`:``}function Ig(e,t){return e.map(e=>{switch(e.id){case`intro`:return t.adminEmail.trim()?{...e,configured:!0,detail:Pg(t.adminEmail,42)}:e;case`welcome`:return t.modeChosen?{...e,configured:!0,detail:Ng[t.deploymentMode]??t.deploymentMode}:e;case`theme`:return{...e,configured:t.themeConfirmed,detail:t.themeLabel||`Optional`};case`smtp`:{let n=t.smtpHost.trim()||t.stack?.smtp?.host?.trim()||``,r=!!(t.stack?.smtp?.configured||n);return t.adminVerified?{...e,configured:!0,detail:n?`${n} · verified`:t.smtpUser.trim()||`Admin verified`}:r?{...e,configured:!!t.stack?.smtp?.setup_complete,detail:n?`${n}${t.stack?.smtp?.setup_complete?` · ready`:t.stack?.smtp?.tested?` · tested`:``}`:`Configure SMTP`}:e}case`admin_auth`:return t.adminVerified?{...e,configured:!0,detail:Pg(t.adminEmail,42)||`Verified`}:{...e,detail:t.adminEmail.trim()?Pg(t.adminEmail,42):`Code required`};case`integrations`:{let n=[];t.stack?.google_oauth?.enabled&&n.push(`Google`),t.stack?.github_oauth?.enabled&&n.push(`GitHub`),t.stack?.discord_oauth?.enabled&&n.push(`Discord`),t.stack?.telegram_login?.enabled&&n.push(`Telegram`),t.workspaceIntegrations?.github_oauth_configured&&!t.stack?.github_oauth?.enabled&&n.push(`GitHub`);let r=Fg(n);return r?{...e,configured:!0,detail:r}:{...e,detail:`Optional`}}case`billing`:return{...e,configured:!0,detail:t.credentialMode===`workspace`?`Company-pays`:`BYOK`};case`workframe`:{let n=t.workframeTagline.trim()?Pg(t.workframeTagline):t.workframeName.trim()?Pg(t.workframeName):`Logo & tagline`;return{...e,configured:!!(t.workframeTagline.trim()||t.workframeName.trim()),detail:n}}case`profile`:{let n=t.userTagline.trim()||t.displayName.trim()||void 0;return{...e,configured:!!n,detail:n}}case`agent`:return{...e,configured:!!t.agentName.trim(),detail:t.agentTagline.trim()||t.agentName.trim()||void 0};case`agent_model`:{let n=Pg(t.agentPrimaryModel,42);return t.agentPrimaryModel.trim()?{...e,configured:!0,detail:n}:{...e,detail:t.connectedProviders.length?`Choose model`:`Connect keys`}}case`invites`:{let n=t.inviteEmails.split(/[,\s]+/).map(e=>e.trim()).filter(Boolean);return n.length?{...e,configured:!0,detail:`${n.length} invite${n.length===1?``:`s`}`}:{...e,detail:`Optional`}}case`publish`:return t.publicUrl.trim()?{...e,configured:!0,detail:Pg(t.publicUrl,42)}:{...e,detail:`Set public URL`};default:return e}})}function Lg(e){return e}function Rg({projectName:e,onComplete:t,inviteToken:n=``,inviteEmail:r=``}){let i=!!n.trim(),{theme:a,setTheme:o}=dc(),[s,c]=(0,y.useState)(!1),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(i?`theme`:`intro`),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(null),[_,v]=(0,y.useState)(null),[b,x]=(0,y.useState)(null),[S,C]=(0,y.useState)(`trusted_team`),[w,T]=(0,y.useState)(!1),[E,D]=(0,y.useState)(``),[O,A]=(0,y.useState)(`587`),[j,M]=(0,y.useState)(``),[N,P]=(0,y.useState)(``),[F,I]=(0,y.useState)(!1),[L,ee]=(0,y.useState)(``),[R,te]=(0,y.useState)(r),[z,B]=(0,y.useState)(null),[V,ne]=(0,y.useState)(``),[re,H]=(0,y.useState)(`otp`),[ie,U]=(0,y.useState)(!1),[ae,W]=(0,y.useState)(!1),[oe,se]=(0,y.useState)(!1),[ce,le]=(0,y.useState)(0),[ue,de]=(0,y.useState)(),[fe,pe]=(0,y.useState)([]),[G,me]=(0,y.useState)(`byok`),[he,ge]=(0,y.useState)(``),[_e,ve]=(0,y.useState)(``),[ye,be]=(0,y.useState)(e),[xe,Se]=(0,y.useState)(``),[Ce,we]=(0,y.useState)(()=>Hp(`logo`)||Wp),[Te,Ee]=(0,y.useState)(``),[De,Oe]=(0,y.useState)(``),[ke,Ae]=(0,y.useState)(``),[je,Me]=(0,y.useState)(()=>Hp(`user`)||Up),[Ne,Pe]=(0,y.useState)(`${e} Agent`),[Fe,Ie]=(0,y.useState)(`Workframe Manager`),[Le,Re]=(0,y.useState)(``),ze=(0,y.useRef)(``),[Be,Ve]=(0,y.useState)(()=>Hp(`agent`)||Up),[He,Ue]=(0,y.useState)(``),[We,Ge]=(0,y.useState)(``),[Ke,qe]=(0,y.useState)(null),[Je,Ye]=(0,y.useState)(``),[Xe,Ze]=(0,y.useState)([]),[Qe,$e]=(0,y.useState)(`keys`),[et,tt]=(0,y.useState)([]),[nt,rt]=(0,y.useState)(!1),[it,at]=(0,y.useState)([]),[ot,st]=(0,y.useState)(null),[ct,lt]=(0,y.useState)(!1),[ut,dt]=(0,y.useState)(!1),ft=(0,y.useRef)(null),pt=(0,y.useCallback)(e=>{ft.current=e},[]),mt=(0,y.useCallback)(()=>ye.trim()||e,[ye,e]),ht=(0,y.useCallback)(async e=>{let t=await Y.getInstallStatus();return t.install_window_open&&!t.install_complete||await Y.peekSession()?(await Y.patchInstallStack(e),!0):(lt(!0),!1)},[]),gt=(0,y.useCallback)(async()=>{let e=await Y.peekSession();if(e)return!0;try{if(e=await Y.restoreSession(),e)return!0}catch{}return f(`admin_auth`),v(_i({error:`no_session`},`Sign in`)),!1},[]),_t=(0,y.useCallback)(()=>se(!0),[]),vt=(0,y.useCallback)(async()=>{try{let e=await Y.peekSession(),t=await Y.getInstallStack();if(x(t),t.deployment_mode&&(C(t.deployment_mode),T(!0)),t.app_base_url&&Ge(t.app_base_url),t.smtp){let n=Lc(t.smtp,e?.user?.email??void 0);n&&te(e=>Rc(e,n,t.smtp?.user)),I(!!t.smtp.has_password),t.smtp.host&&(D(t.smtp.host),A(String(t.smtp.port||587)),t.smtp.user&&M(t.smtp.user),t.smtp.from&&ee(t.smtp.from))}return t}catch{if(await Y.peekSession())return null;try{(await Y.getInstallStatus()).install_complete&&lt(!0)}catch{}return null}},[]),yt=(0,y.useCallback)(async e=>{if(e)try{let[t,n]=await Promise.all([Y.getWorkspace(e),Y.listProviders(e)]);de(t.workspace?.integrations),t.workspace?.credential_mode&&me(t.workspace.credential_mode),t.workspace&&(t.workspace.display_name&&be(t.workspace.display_name),ve(t.workspace.description??``),t.workspace.avatar_url&&we(nm(t.workspace.avatar_url)),Se(t.workspace.tagline??``)),pe((n.providers??[]).filter(e=>e.connected&&e.category===`llm`).map(e=>e.label))}catch{}},[]);(0,y.useEffect)(()=>{d===`agent_model`&&$e(`keys`)},[d]);let bt=(0,y.useMemo)(()=>{let e=Je.trim(),t=Xe[0]?.model?.trim()??``,n=Xe[1]?.model?.trim()??``;return!!(e&&t&&n)},[Xe,Je]),xt=fe.length>0;(0,y.useEffect)(()=>{qh().then(e=>{e.install_id&&Pi(e.install_id)}).catch(()=>{})},[]),(0,y.useEffect)(()=>{be(e)},[e]),(0,y.useEffect)(()=>{let e=zc(Ne,mt());Re(t=>t&&t!==ze.current?t:(ze.current=e,e))},[Ne,mt]),(0,y.useEffect)(()=>{let t=ye.trim();!t||t===e||Pe(n=>n===`${e} Agent`?`${t} Agent`:n)},[ye,e]),(0,y.useEffect)(()=>{(async()=>{try{if(i){try{u(!!(await Y.restoreSession()).user.theme);try{await Y.acceptWorkspaceInvite(n)}catch{}let e=await Y.getMe();ge(e.current_workspace?.id||e.default_workspace?.id||``),c(!0)}catch{}return}let e=!1;try{let t=await Y.getInstallStatus();e=!!t.install_complete;let n=await Y.peekSession();if(t.install_complete&&!n){lt(!0);return}}catch{}let r=await vt(),a=await Y.peekSession();if(!a)try{a=await Y.restoreSession()}catch{}let o=r?.wizard,s=String(r?.smtp?.admin_email||``).trim();s&&te(s);let l=!!(o?.admin_verified||r?.smtp?.admin_verified),d=!!o?.owner_claimed;(a||d)&&W(!!a),l&&U(!0),r?.deployment_mode&&T(!0);let p=String(o?.resume_step||``).trim(),m=p===`admin_auth`&&l||p===`smtp`&&l&&r?.smtp?.setup_complete?`workframe`:p;!r?.deployment_mode&&[`theme`,`publish`,`smtp`,`admin_auth`,`workframe`,`billing`,`integrations`,`profile`,`agent`,`agent_model`,`invites`].includes(m)&&(m=d||s?`welcome`:`intro`),!d&&!s&&m!==`intro`&&(m=`intro`),[`intro`,`theme`,`welcome`,`publish`,`smtp`,`admin_auth`,`workframe`,`billing`,`integrations`,`profile`,`agent`,`agent_model`,`invites`,`done`].includes(m)&&m!==`intro`&&f(m);try{let n=await Y.getMe(),i=n.current_workspace?.id||n.default_workspace?.id||``;i&&ge(i),Ee(n.user.display_name??``),Oe(n.user.tagline??``),Ae(n.user.bio??``),n.user.avatar_url&&Me(tm(n.user.avatar_url)),u(!!n.user.theme),n.user.email&&te(e=>Rc(e,n.user.email||``,r?.smtp?.user)),n.ok&&l&&(U(!0),W(!0)),i&&(async()=>{try{let[e,t]=await Promise.all([qh(),Y.getMyCohort(i)]),n=t.cohort?.find(t=>t.template_slug===e.native_profile)??t.cohort?.[0];if(n){Pe(n.display_name||e.native_agent_name||`Workframe Agent`),Ie(n.tagline||n.role||`Workframe Manager`);let t=n.avatar_url||n.avatar_id||``;t&&Ve(Xp(t));try{let e=await Dh(n.template_slug);e.soul?.trim()&&Re(e.soul)}catch{}}}catch{}})(),(await Y.getOnboarding()).complete&&e&&t()}catch{}}finally{dt(!0)}})()},[r,n,i,t,vt]),(0,y.useEffect)(()=>{!ut||i||Y.getInstallStatus().then(e=>{if(!(!e.install_window_open||e.install_complete))return ht({wizard_step:d})}).catch(()=>{})},[ut,i,ht,d]);let St=(0,y.useMemo)(()=>!!(b?.smtp?.configured||b?.smtp?.has_password||E.trim()),[b?.smtp?.configured,b?.smtp?.has_password,E]),Ct=(0,y.useMemo)(()=>!!b?.smtp?.setup_complete,[b?.smtp?.setup_complete]),wt=(0,y.useMemo)(()=>Ct&&ie&&!oe,[ie,oe,Ct]),Tt=(0,y.useMemo)(()=>wt||ie?!0:R.trim()?Ct:!1,[ie,R,wt,Ct]);(0,y.useEffect)(()=>{i||w||(d===`smtp`||d===`admin_auth`||d===`publish`)&&f(R.trim()?`welcome`:`intro`)},[R,i,w,d]),(0,y.useEffect)(()=>{d===`smtp`&&Y.peekSession().then(e=>{W(!!e),e?.user?.email&&te(t=>Rc(t,e.user.email||``,j))})},[j,d]);let Et=(0,y.useMemo)(()=>{let e=jg(S,w,i);if(!e.length)return 0;let t=t=>e.findIndex(e=>e.id===t);if(i)return s&&he?e.length-1:Math.max(t(`profile`),0);let n=0;return w&&(n=Math.max(n,t(`welcome`))),S===`single_user_local`&&w&&ie&&(n=Math.max(n,t(`workframe`))),S!==`single_user_local`&&w&&(n=Math.max(n,t(`smtp`))),Ct&&!ie&&(n=Math.max(n,t(`admin_auth`))),St&&ie&&(n=Math.max(n,t(`workframe`))),ie&&he&&(n=e.length-1),n},[ie,S,s,i,w,St,Ct,he]),Dt=Math.max(ce,Et);(0,y.useEffect)(()=>{d===`admin_auth`&&ie&&f(`workframe`)},[ie,d]),(0,y.useEffect)(()=>{d!==`admin_auth`||ie||z||V||(H(`email`),f(`smtp`))},[d,ie,z,V]),(0,y.useEffect)(()=>{he&&yt(he)},[he,yt,d]),(0,y.useEffect)(()=>{let e=kg(d),t=jg(S,w,i).findIndex(t=>t.id===e);t>=0&&le(e=>Math.max(e,t))},[d,S,w,i]);async function Ot(e){m(!0),v(null);try{if(C(e),T(!0),!await ht({deployment_mode:e}))return;if(e===`single_user_local`){let e=R.trim().toLowerCase();if(!e||!e.includes(`@`)){v(_i({error:`email_required`},`Choose deployment`));return}await Y.completeSetup({workframe_name:mt(),agent_name:Ne}),await ht({smtp:{admin_email:e}}),ae||await Y.localBootstrap(Te||e.split(`@`)[0]||`Owner`,e);let t=await Y.getMe();ge(t.current_workspace?.id||t.default_workspace?.id||``),U(!0),W(!0),f(`workframe`)}else e===`public_multi_user`?f(`publish`):(await Y.completeSetup({workframe_name:mt(),agent_name:Ne}),f(`smtp`))}catch(e){v(_i(e,`Save mode`))}finally{m(!1)}}let kt=(0,y.useCallback)(async()=>{m(!0),v(null);try{let e=await Y.startGoogleAuth(R.trim(),n);window.location.href=e.auth_url}catch(e){v(_i(e,`Google sign-in`)),m(!1)}},[R,n]),{finishInviteeOnboarding:At,finishInstall:jt,sendInvites:Mt}=Eg({workspaceId:he,inviteEmails:He,isInvitee:i,deploymentMode:S,adminVerified:ie,adminEmail:R,agentPrimaryModel:Je,displayName:Te,bio:ke,agentName:Ne,agentTagline:Fe,agentSoul:Le,resolveWorkframeName:mt,onComplete:t,setLaunching:rt,setLaunchError:st,setLaunchSteps:at,setBusy:m,setStep:f}),{saveIntegrations:Nt,skipIntegrations:Pt,saveBilling:Ft,saveWorkframe:It,saveProfile:Lt,saveAgentModel:Rt,saveAgent:zt}=Dg({workspaceId:he,credentialMode:G,mission:_e,workframeTagline:xe,logoUrl:Ce,displayName:Te,tagline:De,bio:ke,avatarUrl:je,agentName:Ne,agentTagline:Fe,agentSoul:Le,agentAvatar:Be,agentPrimaryModel:Je,agentFallbackChain:Xe,connectedProviders:fe,isInvitee:i,deploymentMode:S,oauthSaveRef:ft,resolveWorkframeName:mt,ensureAdminSession:gt,reloadStack:vt,finishInviteeOnboarding:At,finishInstall:jt,setBusy:m,setError:v,setStep:f,setAgentModelTab:$e,setAgentPrimaryModel:Ye,setAgentSteps:tt}),{testSmtpOnly:Bt,persistAdminEmail:Vt,continueFromSmtp:Ht}=Og({smtpPort:O,smtpFrom:L,smtpPass:N,smtpHost:E,smtpUser:j,adminEmail:R,smtpHasPassword:F,smtpSetupComplete:Ct,smtpFieldsDirty:oe,canKeepAdminSetup:wt,adminVerified:ie,patchInstallStackWhenAllowed:ht,reloadStack:vt,setSmtpHasPassword:I,setSmtpPass:P,setSmtpFieldsDirty:se,setSmtpPhase:g,setBusy:m,setError:v,setAdminAuthDevOtp:ne,setAdminAuthNotice:B,setAdminOtpStep:H,setStep:f});async function Ut(){let e=R.trim().toLowerCase();if(!e||!e.includes(`@`)){v(_i({error:`email_required`},`Admin email`));return}m(!0),v(null);try{let t=await Y.registerInstallAdmin(Te||e.split(`@`)[0]||`Owner`,e);ge(t.current_workspace?.id||t.default_workspace?.id||``),W(!0),f(`theme`)}catch(e){v(_i(e,`Admin email`))}finally{m(!1)}}function Wt(e){ge(e.current_workspace?.id||e.default_workspace?.id||``),B(null),ne(``),U(!0),W(!0),se(!1),S===`public_multi_user`&&Y.completeSetup({workframe_name:mt(),agent_name:Ne}).catch(()=>{}),f(`workframe`)}function Gt(e){if(lt(!1),ge(e.current_workspace?.id||e.default_workspace?.id||``),e.user.email&&te(e.user.email),U(!0),W(!0),vt(),!w){f(`intro`);return}f(S===`single_user_local`?`workframe`:S===`public_multi_user`&&!St?`publish`:St?`workframe`:`smtp`)}async function Kt(e){let t=e.current_workspace?.id||e.default_workspace?.id||``;ge(t),c(!0),u(!!e.user.theme),f(`theme`),t&&await yt(t)}(0,y.useEffect)(()=>{!i||!s||G!==`workspace`||$e(`model`)},[G,s,i]);async function qt(){m(!0);try{let e=Ic(We);if(Ge(e),!await ht({app_base_url:e}))return;let t=await Y.testInstallUrl(e);t.ok?v({tone:`info`,message:`Connection test passed.`,hint:`Your public URL is reachable from this install.`}):v({tone:`caution`,message:t.error||`Connection test failed`,hint:t.hint||`Confirm DNS points at this server, then try again.`})}catch(e){v(_i(e,`URL test`))}finally{m(!1)}}async function Jt(){m(!0),qe(null);try{let e=Ic(We);Ge(e),qe(await fm(e))}finally{m(!1)}}async function Yt(){m(!0),v(null);try{await Y.updateMe({theme:a}),u(!0),f(i?`profile`:`welcome`)}catch(e){v(_i(e,`Save theme`))}finally{m(!1)}}let Xt=(0,y.useMemo)(()=>Ig(jg(S,w,i),{deploymentMode:S,modeChosen:w,stack:b,smtpHost:E,smtpUser:j,adminEmail:R,adminVerified:ie,workspaceIntegrations:ue,credentialMode:G,mission:_e,workframeName:ye,workframeTagline:xe,displayName:Te,userTagline:De,connectedProviders:fe,agentName:Ne,agentTagline:Fe,agentPrimaryModel:Je,inviteEmails:He,publicUrl:We,themeLabel:k(a).label,themeConfirmed:l}),[R,ie,Ne,Fe,Je,fe,G,S,Te,He,i,_e,w,We,a,l,E,j,b,De,ye,xe,ue]),Zt=kg(d),Qt=(0,y.useMemo)(()=>{let e=Xt.findIndex(e=>e.id===`workframe`);return e<0?!1:d===`workframe`||ce>=e},[d,ce,Xt]);function $t(e){if(i&&(e===`smtp`||e===`admin_auth`)||!w&&(e===`smtp`||e===`admin_auth`||e===`publish`)||p)return;let t=Xt.findIndex(t=>t.id===e);t<0||t>Dt||(v(null),f(Lg(e)))}let en=Mg(d,e,i);return{isInvitee:i,inviteToken:n,inviteEmail:r,projectName:e,bootstrapDone:ut,ownerSignInRequired:ct,inviteeAuthed:s,launching:nt,launchSteps:it,launchError:ot,step:d,busy:p,error:_,stack:b,smtpPhase:h,smtpHost:E,smtpPort:O,smtpUser:j,smtpPass:N,smtpHasPassword:F,smtpFrom:L,adminEmail:R,adminOtpStep:re,adminAuthDevOtp:V,adminAuthNotice:z,adminVerified:ie,deploymentMode:S,workspaceId:he,credentialMode:G,mission:_e,workframeName:ye,workframeTagline:xe,logoUrl:Ce,displayName:Te,tagline:De,bio:ke,avatarUrl:je,agentName:Ne,agentTagline:Fe,agentSoul:Le,agentAvatar:Be,agentPrimaryModel:Je,agentFallbackChain:Xe,agentModelTab:Qe,agentModelsComplete:bt,hasLlmProvider:xt,connectedProviders:fe,agentSteps:et,inviteEmails:He,publicUrl:We,httpsStatus:Ke,theme:a,wizardSteps:Xt,currentRailStep:Zt,showBrandLogo:Qt,maxReachableIndex:Dt,title:en.title,description:d===`admin_auth`?ia(re,R,V,`register`):en.description,smtpSetupComplete:Ct,canKeepAdminSetup:wt,canContinueFromSmtp:Tt,resolveWorkframeName:mt,patchInstallStackWhenAllowed:ht,bindOAuthSave:pt,setStep:f,setBusy:m,setError:v,setAdminEmail:te,setSmtpHost:D,setSmtpPort:A,setSmtpUser:M,setSmtpPass:P,setSmtpFrom:ee,setAdminOtpStep:H,setCredentialMode:me,setLogoUrl:we,setWorkframeName:be,setWorkframeTagline:Se,setMission:ve,setDisplayName:Ee,setTagline:Oe,setBio:Ae,setAvatarUrl:Me,setAgentName:Pe,setAgentTagline:Ie,setAgentSoul:Re,setAgentAvatar:Ve,setAgentModelTab:$e,setAgentPrimaryModel:Ye,setAgentFallbackChain:Ze,setInviteEmails:Ue,setPublicUrl:Ge,setTheme:o,markSmtpDirty:_t,pickMode:Ot,startGoogleSignIn:kt,testSmtpOnly:Bt,continueFromSmtp:Ht,continueFromIntro:Ut,continueFromTheme:Yt,persistAdminEmail:Vt,saveIntegrations:Nt,skipIntegrations:Pt,saveBilling:Ft,saveWorkframe:It,saveProfile:Lt,saveAgentModel:Rt,saveAgent:zt,refreshAgentModelStep:()=>{he&&yt(he)},sendInvites:Mt,finishInstall:jt,testPublicUrl:qt,setupPublicHttps:Jt,goToRailStep:$t,handleAdminRegistered:Wt,handleOwnerSignedIn:Gt,handleInviteeVerified:Kt}}function zg({projectName:e,onComplete:t,inviteToken:n=``,inviteEmail:r=``}){let i=Rg({projectName:e,onComplete:t,inviteToken:n,inviteEmail:r});if(!i.bootstrapDone&&!i.isInvitee)return(0,x.jsx)(S,{label:`Loading setup wizard`});if(i.ownerSignInRequired)return(0,x.jsx)(Cg,{title:`Sign in to continue setup`,description:`Sign in as the Workframe admin to resume setup.`,children:(0,x.jsx)(aa,{initialEmail:i.adminEmail,startStep:`email`,purpose:`signin`,variant:`wizard`,onVerified:i.handleOwnerSignedIn})});if(i.isInvitee&&!i.inviteeAuthed)return(0,x.jsx)(Cg,{title:`Join ${e}`,description:`Verify your invite email to continue.`,children:(0,x.jsx)(aa,{initialEmail:r,startStep:`email`,skipEmailStep:!!r.trim(),autoSendCode:!!r.trim(),inviteToken:n,purpose:`signin`,variant:`wizard`,onVerified:i.handleInviteeVerified})});if(i.launching)return(0,x.jsx)(Ac,{projectName:e,steps:i.launchSteps,error:i.launchError,onRetry:()=>void i.finishInstall()});let a=(0,x.jsx)(qc,{step:i.step,busy:i.busy,isInvitee:i.isInvitee,deploymentMode:i.deploymentMode,workspaceId:i.workspaceId,publicUrl:i.publicUrl,canKeepAdminSetup:i.canKeepAdminSetup,smtpSetupComplete:i.smtpSetupComplete,canContinueFromSmtp:i.canContinueFromSmtp,adminVerified:i.adminVerified,adminEmail:i.adminEmail,onTestSmtp:()=>void i.testSmtpOnly(),onContinueFromSmtp:()=>void i.continueFromSmtp(),onSkipIntegrations:()=>void i.skipIntegrations(),onSaveIntegrations:()=>void i.saveIntegrations(),onSaveBilling:()=>void i.saveBilling(),onSaveWorkframe:()=>void i.saveWorkframe(),onSaveProfile:()=>void i.saveProfile(),onSaveAgentModel:()=>void i.saveAgentModel(),onSelectAgentModel:()=>i.setAgentModelTab(`model`),agentModelTab:i.agentModelTab,agentModelsComplete:i.agentModelsComplete,connectedProviderCount:i.connectedProviders.length,onSaveAgent:()=>void i.saveAgent(),onFinishInstall:()=>void i.finishInstall(),onSendInvites:()=>void i.sendInvites(),onSetupPublicHttps:()=>void i.setupPublicHttps(),onTestPublicUrl:()=>void i.testPublicUrl(),onContinuePublish:()=>void Kc({publicUrl:i.publicUrl,setPublicUrl:i.setPublicUrl,patchInstallStackWhenAllowed:i.patchInstallStackWhenAllowed,setStep:i.setStep,setBusy:i.setBusy,setError:i.setError}),onGetStarted:()=>void i.continueFromIntro(),onContinueTheme:()=>void i.continueFromTheme()});return(0,x.jsxs)(Tg,{projectName:i.workframeName.trim()||e,brandLogoUrl:i.showBrandLogo?i.logoUrl:void 0,step:i.currentRailStep,steps:i.wizardSteps,maxReachableIndex:i.maxReachableIndex,onStepSelect:i.goToRailStep,title:i.title,description:i.description||void 0,footer:a,children:[i.error?.message?.trim()?(0,x.jsx)(Oi,{info:i.error,className:`wf-notice--wizard`}):null,i.step===`smtp`?(0,x.jsx)(Gc,{compact:!0,children:(0,x.jsx)(Uc,{busy:i.busy,smtpPhase:i.smtpPhase,smtpHost:i.smtpHost,smtpPort:i.smtpPort,smtpUser:i.smtpUser,smtpPass:i.smtpPass,smtpHasPassword:i.smtpHasPassword,smtpFrom:i.smtpFrom,smtpSetupComplete:i.smtpSetupComplete,smtpTested:!!i.stack?.smtp?.tested,onSmtpHostChange:i.setSmtpHost,onSmtpPortChange:i.setSmtpPort,onSmtpUserChange:i.setSmtpUser,onSmtpPassChange:i.setSmtpPass,onSmtpFromChange:i.setSmtpFrom,onMarkSmtpDirty:i.markSmtpDirty})}):i.step===`admin_auth`?(0,x.jsx)(Gc,{compact:!0,authOtp:!0,children:(0,x.jsx)(aa,{initialEmail:i.adminEmail,startStep:i.adminOtpStep,initialDevOtp:i.adminAuthDevOtp,initialAuthNotice:i.adminAuthNotice,inviteToken:n,emailInputId:`wf-concierge-admin-email`,purpose:`register`,variant:`wizard`,skipEmailStep:!!i.adminEmail.trim(),googleOAuthEnabled:!!i.stack?.google_oauth?.enabled,onGoogleSignIn:()=>void i.startGoogleSignIn(),onStepChange:i.setAdminOtpStep,onVerified:i.handleAdminRegistered})}):(0,x.jsx)(Sg,{step:i.step,busy:i.busy,isInvitee:i.isInvitee,adminEmail:i.adminEmail,credentialMode:i.credentialMode,workspaceId:i.workspaceId,mission:i.mission,workframeName:i.workframeName,workframeTagline:i.workframeTagline,logoUrl:i.logoUrl,displayName:i.displayName,tagline:i.tagline,bio:i.bio,avatarUrl:i.avatarUrl,agentName:i.agentName,agentTagline:i.agentTagline,agentSoul:i.agentSoul,agentAvatar:i.agentAvatar,agentPrimaryModel:i.agentPrimaryModel,agentModelTab:i.agentModelTab,agentSteps:i.agentSteps,inviteEmails:i.inviteEmails,publicUrl:i.publicUrl,httpsStatus:i.httpsStatus,theme:i.theme,resolveWorkframeName:i.resolveWorkframeName,onAdminEmailChange:i.setAdminEmail,onAdminEmailBlur:()=>void i.persistAdminEmail(),onPickMode:e=>void i.pickMode(e),onCredentialModeChange:i.setCredentialMode,onLogoUrlChange:i.setLogoUrl,onWorkframeNameChange:i.setWorkframeName,onWorkframeTaglineChange:i.setWorkframeTagline,onMissionChange:i.setMission,onDisplayNameChange:i.setDisplayName,onTaglineChange:i.setTagline,onBioChange:i.setBio,onAvatarUrlChange:i.setAvatarUrl,onAgentNameChange:i.setAgentName,onAgentTaglineChange:i.setAgentTagline,onAgentSoulChange:i.setAgentSoul,onAgentAvatarChange:i.setAgentAvatar,onAgentModelTabChange:i.setAgentModelTab,onAgentPrimaryModelChange:i.setAgentPrimaryModel,onAgentFallbackChainChange:i.setAgentFallbackChain,onAgentProvidersConnected:i.refreshAgentModelStep,onInviteEmailsChange:i.setInviteEmails,onPublicUrlChange:i.setPublicUrl,onBindOAuthSave:i.bindOAuthSave,onError:i.setError,onThemeChange:i.setTheme})]})}function Bg({mainFill:e=!1,children:t}){return(0,x.jsx)(`div`,{className:`wf-shell wf-shell--chromeless`,children:(0,x.jsx)(`main`,{className:e?`wf-shell__main wf-shell__main--fill`:`wf-shell__main`,children:t})})}var Vg=class{},Hg=class extends Vg{constructor(e,t,n,r){super(),this.viewId=e,this.groupId=t,this.panelId=n,this.tabGroupId=r}},Ug=class extends Vg{constructor(e,t){super(),this.viewId=e,this.paneId=t}},Wg=class e{constructor(){}static getInstance(){return e.INSTANCE}hasData(e){return e&&e===this.proto}clearData(e){this.hasData(e)&&(this.proto=void 0,this.data=void 0)}getData(e){if(this.hasData(e))return this.data}setData(e,t){t&&(this.data=e,this.proto=t)}};Wg.INSTANCE=new Wg;function Gg(){let e=Wg.getInstance();if(e.hasData(Hg.prototype))return e.getData(Hg.prototype)[0]}function Kg(){let e=Wg.getInstance();if(e.hasData(Ug.prototype))return e.getData(Ug.prototype)[0]}var qg;(function(e){e.NONE={dispose:()=>{}};function t(e){return{dispose:()=>{e()}}}e.from=t})(qg||={});var Jg=class{get isDisposed(){return this._isDisposed}constructor(...e){this._isDisposed=!1,this._disposables=new Set(e)}addDisposables(...e){e.forEach(e=>this._disposables.add(e))}removeDisposable(e){this._disposables.delete(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposables.forEach(e=>e.dispose()),this._disposables.clear())}},Yg=class{constructor(){this._disposable=qg.NONE}set value(e){this._disposable&&this._disposable.dispose(),this._disposable=e}dispose(){this._disposable&&=(this._disposable.dispose(),qg.NONE)}},Xg;(function(e){e.any=(...e)=>t=>{let n=e.map(e=>e(t));return{dispose:()=>{n.forEach(e=>{e.dispose()})}}}})(Xg||={});var Zg=class{constructor(){this._defaultPrevented=!1}get defaultPrevented(){return this._defaultPrevented}preventDefault(){this._defaultPrevented=!0}},Qg=class{constructor(){this._isAccepted=!1}get isAccepted(){return this._isAccepted}accept(){this._isAccepted=!0}},$g=class{constructor(){this.events=new Map}get size(){return this.events.size}add(e,t){this.events.set(e,t)}delete(e){this.events.delete(e)}clear(){this.events.clear()}},e_=class e{static create(){return new e(Error().stack??``)}constructor(e){this.value=e}print(){console.warn(`dockview: stacktrace`,this.value)}},t_=class{constructor(e,t){this.callback=e,this.stacktrace=t}},X=class e{static setLeakageMonitorEnabled(t){t!==e.ENABLE_TRACKING&&e.MEMORY_LEAK_WATCHER.clear(),e.ENABLE_TRACKING=t}get value(){return this._last}constructor(e){this.options=e,this._listeners=[],this._disposed=!1,this._pauseTokens=new Set}get event(){return this._event||(this._event=t=>{this.options?.replay&&this._last!==void 0&&t(this._last);let n=new t_(t,e.ENABLE_TRACKING?e_.create():void 0);return this._listeners.push(n),{dispose:()=>{let t=this._listeners.indexOf(n);t>-1?this._listeners.splice(t,1):e.ENABLE_TRACKING}}},e.ENABLE_TRACKING&&e.MEMORY_LEAK_WATCHER.add(this._event,e_.create())),this._event}fire(e){if(!(this._pauseTokens.size>0)){this.options?.replay&&(this._last=e);for(let t of this._listeners)t.callback(e)}}pause(){let e={};return this._pauseTokens.add(e),qg.from(()=>this._pauseTokens.delete(e))}dispose(){this._disposed||(this._disposed=!0,this._listeners.length>0&&(e.ENABLE_TRACKING&&queueMicrotask(()=>{for(let e of this._listeners)console.warn(`dockview: stacktrace`,e.stacktrace?.print())}),this._listeners=[]),e.ENABLE_TRACKING&&this._event&&e.MEMORY_LEAK_WATCHER.delete(this._event))}};X.ENABLE_TRACKING=!1,X.MEMORY_LEAK_WATCHER=new $g;function Z(e,t,n,r){return e.addEventListener(t,n,r),{dispose:()=>{e.removeEventListener(t,n,r)}}}var n_=class{constructor(){this._onFired=new X,this._currentFireCount=0,this._queued=!1,this.onEvent=e=>{let t=this._currentFireCount;return this._onFired.event(()=>{this._currentFireCount>t&&e()})}}fire(){this._currentFireCount++,!this._queued&&(this._queued=!0,queueMicrotask(()=>{this._queued=!1,this._onFired.fire()}))}dispose(){this._onFired.dispose()}},r_=class extends Jg{constructor(e){super(),this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._value=null,this.addDisposables(this._onDidChange,i_(e,e=>{let t=e.target.scrollWidth>e.target.clientWidth,n=e.target.scrollHeight>e.target.clientHeight;this._value={hasScrollX:t,hasScrollY:n},this._onDidChange.fire(this._value)}))}};function i_(e,t){let n=new ResizeObserver(e=>{requestAnimationFrame(()=>{let n=e[0];t(n)})});return n.observe(e),{dispose:()=>{n.unobserve(e),n.disconnect()}}}var a_=(e,...t)=>{for(let n of t)e.classList.contains(n)&&e.classList.remove(n)},o_=(e,...t)=>{for(let n of t)e.classList.contains(n)||e.classList.add(n)},Q=(e,t,n)=>{let r=e.classList.contains(t);n&&!r&&e.classList.add(t),!n&&r&&e.classList.remove(t)};function s_(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function c_(e){return new l_(e)}var l_=class extends Jg{constructor(e){super(),this._onDidFocus=new X,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new X,this.onDidBlur=this._onDidBlur.event,this.addDisposables(this._onDidFocus,this._onDidBlur);let t=s_(document.activeElement,e),n=!1,r=()=>{n=!1,t||(t=!0,this._onDidFocus.fire())},i=()=>{t&&(n=!0,window.setTimeout(()=>{n&&(n=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{s_(document.activeElement,e)!==t&&(t?i():r())},this.addDisposables(Z(e,`focus`,r,!0)),this.addDisposables(Z(e,`blur`,i,!0))}refreshState(){this._refreshStateHandler()}},u_=`dv-quasiPreventDefault`;function d_(e){e[u_]=!0}function f_(e){return e[u_]}function p_(e,t,n={}){let r=Array.from(t),{nonce:i}=n,a=typeof i==`function`?i(e):i;for(let t of r){if(t.href){let n=e.createElement(`link`);n.href=t.href,n.type=t.type,n.rel=`stylesheet`,e.head.appendChild(n);continue}let n=[];try{t.cssRules&&(n=Array.from(t.cssRules).map(e=>e.cssText))}catch(e){console.warn(`dockview: failed to access stylesheet rules due to security restrictions`,e)}let r=e.createDocumentFragment();for(let t of n){let n=e.createElement(`style`);a&&n.setAttribute(`nonce`,a),n.appendChild(e.createTextNode(t)),r.appendChild(n)}e.head.appendChild(r)}}function m_(e){let{left:t,top:n,width:r,height:i}=e.getBoundingClientRect();return{left:t+window.scrollX,top:n+window.scrollY,width:r,height:i}}function h_(e){let t=e;for(;t?.parentNode;)if(t.parentNode===document)return!0;else t=t.parentNode instanceof DocumentFragment?t.parentNode.host:t.parentNode;return!1}function g_(e,t){e.setAttribute(`data-testid`,t)}function __(e,t){let n=[];function r(t){if(t.nodeType===Node.ELEMENT_NODE){e.includes(t.tagName)&&n.push(t),t.shadowRoot&&r(t.shadowRoot);for(let e of t.children)r(e)}}return r(t instanceof Document?t.documentElement:t),n}function v_(e=document){let t=__([`IFRAME`,`WEBVIEW`],e),n=new WeakMap;for(let e of t)n.set(e,e.style.pointerEvents),e.style.pointerEvents=`none`;return{release:()=>{for(let e of t)e.style.pointerEvents=n.get(e)??`auto`;t.splice(0,t.length)}}}function y_(e){function t(e){let t=[];for(let n=0;n<e.classList.length;n++)t.push(e.classList.item(n));return t}let n,r=e;for(;r!==null&&(n=t(r).find(e=>e.startsWith(`dockview-theme-`)),typeof n!=`string`);)r=r.parentElement;return n}var b_=class{constructor(e){this.element=e,this._classNames=[]}setClassNames(e){for(let e of this._classNames)Q(this.element,e,!1);this._classNames=e.split(` `).filter(e=>e.trim().length>0);for(let e of this._classNames)Q(this.element,e,!0)}},x_=100;function S_(e,t){let n=m_(e),r=m_(t);return!(n.left<r.left||n.left+n.width>r.left+r.width||n.top<r.top||n.top+n.height>r.top+r.height)}function C_(e){let t=new X,n=e.screenX,r=e.screenY,i,a=()=>{if(e.closed)return;let o=e.screenX,s=e.screenY;(o!==n||s!==r)&&(clearTimeout(i),i=setTimeout(()=>{t.fire()},x_),n=o,r=s),requestAnimationFrame(a)};return a(),t}function w_(e,t){let n;return new Jg(Z(e,`resize`,()=>{clearTimeout(n),n=setTimeout(()=>{t()},x_)}))}function T_(e,t,n={buffer:10}){let r=n.buffer,i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=0,s=0,c=i.left-a.left,l=i.top-a.top,u=i.bottom-a.bottom,d=i.right-a.right;c<r?o=r-c:d>r&&(o=-r-d),l<r?s=r-l:u>r&&(s=-u-r),(o!==0||s!==0)&&(e.style.transform=`translate(${o}px, ${s}px)`)}function E_(e){let t=e;for(;t&&(t.style.zIndex===`auto`||t.style.zIndex===``);)t=t.parentElement;return t}function D_(e){if(e.length===0)throw Error(`Invalid tail call`);return[e.slice(0,e.length-1),e[e.length-1]]}function O_(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function k_(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function A_(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function j_(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return n}return-1}function M_(e,t){let n=e.findIndex(e=>e===t);return n>-1?(e.splice(n,1),!0):!1}var N_=(e,t,n)=>t>n?t:Math.min(n,Math.max(e,t)),P_=()=>{let e=1;return{next:()=>(e++).toString()}},F_=(e,t)=>{let n=[];if(typeof t!=`number`&&(t=e,e=0),e<=t)for(let r=e;r<t;r++)n.push(r);else for(let r=e;r>t;r--)n.push(r);return n},I_=class{set size(e){this._size=e}get size(){return this._size}get cachedVisibleSize(){return this._cachedVisibleSize}get visible(){return this._cachedVisibleSize===void 0}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?``:`none`}constructor(e,t,n,r){this.container=e,this.view=t,this.disposable=r,this._cachedVisibleSize=void 0,typeof n==`number`?(this._size=n,this._cachedVisibleSize=void 0,e.classList.add(`visible`)):(this._size=0,this._cachedVisibleSize=n.cachedVisibleSize)}setVisible(e,t){e!==this.visible&&(e?(this.size=N_(this._cachedVisibleSize??0,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof t==`number`?t:this.size,this.size=0),this.container.classList.toggle(`visible`,e),this.view.setVisible&&this.view.setVisible(e))}dispose(){return this.disposable.dispose(),this.view}},L_;(function(e){e.HORIZONTAL=`HORIZONTAL`,e.VERTICAL=`VERTICAL`})(L_||={});var R_;(function(e){e[e.MAXIMUM=0]=`MAXIMUM`,e[e.MINIMUM=1]=`MINIMUM`,e[e.DISABLED=2]=`DISABLED`,e[e.ENABLED=3]=`ENABLED`})(R_||={});var z_;(function(e){e.Low=`low`,e.High=`high`,e.Normal=`normal`})(z_||={});var B_;(function(e){e.Distribute={type:`distribute`};function t(e){return{type:`split`,index:e}}e.Split=t;function n(e){return{type:`invisible`,cachedVisibleSize:e}}e.Invisible=n})(B_||={});var V_=class{get contentSize(){return this._contentSize}get size(){return this._size}set size(e){this._size=e}get orthogonalSize(){return this._orthogonalSize}set orthogonalSize(e){this._orthogonalSize=e}get length(){return this.viewItems.length}get proportions(){return this._proportions?[...this._proportions]:void 0}get orientation(){return this._orientation}set orientation(e){this._orientation=e;let t=this.size;this.size=this.orthogonalSize,this.orthogonalSize=t,a_(this.element,`dv-horizontal`,`dv-vertical`),this.element.classList.add(this.orientation==L_.HORIZONTAL?`dv-horizontal`:`dv-vertical`)}get minimumSize(){return this.viewItems.reduce((e,t)=>e+t.minimumSize,0)}get maximumSize(){return this.length===0?1/0:this.viewItems.reduce((e,t)=>e+t.maximumSize,0)}get startSnappingEnabled(){return this._startSnappingEnabled}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}get endSnappingEnabled(){return this._endSnappingEnabled}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}get disabled(){return this._disabled}set disabled(e){this._disabled=e,Q(this.element,`dv-splitview-disabled`,e)}get margin(){return this._margin}set margin(e){this._margin=e,Q(this.element,`dv-splitview-has-margin`,e!==0)}constructor(e,t){this.container=e,this.viewItems=[],this.sashes=[],this._size=0,this._orthogonalSize=0,this._contentSize=0,this._proportions=void 0,this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this._disabled=!1,this._margin=0,this._onDidSashEnd=new X,this.onDidSashEnd=this._onDidSashEnd.event,this._onDidAddView=new X,this.onDidAddView=this._onDidAddView.event,this._onDidRemoveView=new X,this.onDidRemoveView=this._onDidRemoveView.event,this.resize=(e,t,n=this.viewItems.map(e=>e.size),r,i,a=-1/0,o=1/0,s,c)=>{if(e<0||e>this.viewItems.length)return 0;let l=F_(e,-1),u=F_(e+1,this.viewItems.length);if(i)for(let e of i)k_(l,e),k_(u,e);if(r)for(let e of r)A_(l,e),A_(u,e);let d=l.map(e=>this.viewItems[e]),f=l.map(e=>n[e]),p=u.map(e=>this.viewItems[e]),m=u.map(e=>n[e]),h=l.reduce((e,t)=>e+this.viewItems[t].minimumSize-n[t],0),g=l.reduce((e,t)=>e+this.viewItems[t].maximumSize-n[t],0),_=u.length===0?1/0:u.reduce((e,t)=>e+n[t]-this.viewItems[t].minimumSize,0),v=u.length===0?-1/0:u.reduce((e,t)=>e+n[t]-this.viewItems[t].maximumSize,0),y=Math.max(h,v),b=Math.min(_,g),x=!1;if(s){let e=this.viewItems[s.index],n=t>=s.limitDelta;x=n!==e.visible,e.setVisible(n,s.size)}if(!x&&c){let e=this.viewItems[c.index],n=t<c.limitDelta;x=n!==e.visible,e.setVisible(n,c.size)}if(x)return this.resize(e,t,n,r,i,a,o);let S=N_(t,y,b),C=0,w=S;for(let e=0;e<d.length;e++){let t=d[e],n=N_(f[e]+w,t.minimumSize,t.maximumSize),r=n-f[e];C+=r,w-=r,t.size=n}let T=C;for(let e=0;e<p.length;e++){let t=p[e],n=N_(m[e]-T,t.minimumSize,t.maximumSize),r=n-m[e];T+=r,t.size=n}return t},this._orientation=t.orientation??L_.VERTICAL,this.element=this.createContainer(),this.margin=t.margin??0,this.proportionalLayout=t.proportionalLayout===void 0?!0:!!t.proportionalLayout,this.viewContainer=this.createViewContainer(),this.sashContainer=this.createSashContainer(),this.element.appendChild(this.sashContainer),this.element.appendChild(this.viewContainer),this.container.appendChild(this.element),this.style(t.styles),t.descriptor&&(this._size=t.descriptor.size,t.descriptor.views.forEach((e,t)=>{let n=e.visible===void 0||e.visible?e.size:{type:`invisible`,cachedVisibleSize:e.size},r=e.view;this.addView(r,n,t,!0)}),this._contentSize=this.viewItems.reduce((e,t)=>e+t.size,0),this.saveProportions())}style(e){e?.separatorBorder===`transparent`?(a_(this.element,`dv-separator-border`),this.element.style.removeProperty(`--dv-separator-border`)):(o_(this.element,`dv-separator-border`),e?.separatorBorder&&this.element.style.setProperty(`--dv-separator-border`,e.separatorBorder))}isViewVisible(e){if(e<0||e>=this.viewItems.length)throw Error(`Index out of bounds`);return this.viewItems[e].visible}setViewVisible(e,t){if(e<0||e>=this.viewItems.length)throw Error(`Index out of bounds`);let n=this.viewItems[e];n.setVisible(t,n.size),this.distributeEmptySpace(e),this.layoutViews(),this.saveProportions()}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}resizeView(e,t){if(e<0||e>=this.viewItems.length)return;let n=F_(this.viewItems.length).filter(t=>t!==e),r=[...n.filter(e=>this.viewItems[e].priority===z_.Low),e],i=n.filter(e=>this.viewItems[e].priority===z_.High),a=this.viewItems[e];t=Math.round(t),t=N_(t,a.minimumSize,Math.min(a.maximumSize,this._size)),a.size=t,this.relayout(r,i)}getViews(){return this.viewItems.map(e=>e.view)}onDidChange(e,t){let n=this.viewItems.indexOf(e);if(n<0||n>=this.viewItems.length)return;t=typeof t==`number`?t:e.size,t=N_(t,e.minimumSize,e.maximumSize),e.size=t;let r=F_(this.viewItems.length).filter(e=>e!==n),i=[...r.filter(e=>this.viewItems[e].priority===z_.Low),n],a=r.filter(e=>this.viewItems[e].priority===z_.High);this.relayout([...i,n],a)}addView(e,t={type:`distribute`},n=this.viewItems.length,r){let i=document.createElement(`div`);i.className=`dv-view`,i.appendChild(e.element);let a;a=typeof t==`number`?t:t.type===`split`?this.getViewSize(t.index)/2:t.type===`invisible`?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize;let o=e.onDidChange(e=>this.onDidChange(s,e.size)),s=new I_(i,e,a,{dispose:()=>{o.dispose(),this.viewContainer.removeChild(i)}});if(n===this.viewItems.length?this.viewContainer.appendChild(i):this.viewContainer.insertBefore(i,this.viewContainer.children.item(n)),this.viewItems.splice(n,0,s),this.viewItems.length>1){let e=document.createElement(`div`);e.className=`dv-sash`;let t=t=>{for(let e of this.viewItems)e.enabled=!1;let n=v_(),r=this._orientation===L_.HORIZONTAL?t.clientX:t.clientY,i=j_(this.sashes,t=>t.container===e),a=this.viewItems.map(e=>e.size),o,s,c=F_(i,-1),l=F_(i+1,this.viewItems.length),u=c.reduce((e,t)=>e+(this.viewItems[t].minimumSize-a[t]),0),d=c.reduce((e,t)=>e+(this.viewItems[t].viewMaximumSize-a[t]),0),f=l.length===0?1/0:l.reduce((e,t)=>e+(a[t]-this.viewItems[t].minimumSize),0),p=l.length===0?-1/0:l.reduce((e,t)=>e+(a[t]-this.viewItems[t].viewMaximumSize),0),m=Math.max(u,p),h=Math.min(f,d),g=this.findFirstSnapIndex(c),_=this.findFirstSnapIndex(l);if(typeof g==`number`){let e=this.viewItems[g],t=Math.floor(e.viewMinimumSize/2);o={index:g,limitDelta:e.visible?m-t:m+t,size:e.size}}if(typeof _==`number`){let e=this.viewItems[_],t=Math.floor(e.viewMinimumSize/2);s={index:_,limitDelta:e.visible?h+t:h-t,size:e.size}}let v=e=>{let t=(this._orientation===L_.HORIZONTAL?e.clientX:e.clientY)-r;this.resize(i,t,a,void 0,void 0,m,h,o,s),this.distributeEmptySpace(),this.layoutViews()},y=()=>{for(let e of this.viewItems)e.enabled=!0;n.release(),this.saveProportions(),document.removeEventListener(`pointermove`,v),document.removeEventListener(`pointerup`,y),document.removeEventListener(`pointercancel`,y),document.removeEventListener(`contextmenu`,y),this._onDidSashEnd.fire(void 0)};document.addEventListener(`pointermove`,v),document.addEventListener(`pointerup`,y),document.addEventListener(`pointercancel`,y),document.addEventListener(`contextmenu`,y)};e.addEventListener(`pointerdown`,t);let n={container:e,disposable:()=>{e.removeEventListener(`pointerdown`,t),this.sashContainer.removeChild(e)}};this.sashContainer.appendChild(e),this.sashes.push(n)}r||this.relayout([n]),!r&&typeof t!=`number`&&t.type===`distribute`&&this.distributeViewSizes(),this._onDidAddView.fire(e)}distributeViewSizes(){let e=[],t=0;for(let n of this.viewItems)n.maximumSize-n.minimumSize>0&&(e.push(n),t+=n.size);let n=Math.floor(t/e.length);for(let t of e)t.size=N_(n,t.minimumSize,t.maximumSize);let r=F_(this.viewItems.length),i=r.filter(e=>this.viewItems[e].priority===z_.Low),a=r.filter(e=>this.viewItems[e].priority===z_.High);this.relayout(i,a)}removeView(e,t,n=!1){let r=this.viewItems.splice(e,1)[0];if(r.dispose(),this.viewItems.length>=1){let t=Math.max(e-1,0);this.sashes.splice(t,1)[0].disposable()}return n||this.relayout(),t&&t.type===`distribute`&&this.distributeViewSizes(),this._onDidRemoveView.fire(r.view),r.view}getViewCachedVisibleSize(e){if(e<0||e>=this.viewItems.length)throw Error(`Index out of bounds`);return this.viewItems[e].cachedVisibleSize}moveView(e,t){let n=this.getViewCachedVisibleSize(e),r=n===void 0?this.getViewSize(e):B_.Invisible(n),i=this.removeView(e,void 0,!0);this.addView(i,r,t)}layout(e,t){let n=Math.max(this.size,this._contentSize);if(this.size=e,this.orthogonalSize=t,this.proportions){let t=0;for(let n=0;n<this.viewItems.length;n++){let r=this.viewItems[n],i=this.proportions[n];typeof i==`number`?t+=i:e-=r.size}for(let n=0;n<this.viewItems.length;n++){let r=this.viewItems[n],i=this.proportions[n];typeof i==`number`&&t>0&&(r.size=N_(Math.round(i*e/t),r.minimumSize,r.maximumSize))}}else{let t=F_(this.viewItems.length),r=t.filter(e=>this.viewItems[e].priority===z_.Low),i=t.filter(e=>this.viewItems[e].priority===z_.High);this.resize(this.viewItems.length-1,e-n,void 0,r,i)}this.distributeEmptySpace(),this.layoutViews()}relayout(e,t){let n=this.viewItems.reduce((e,t)=>e+t.size,0);this.resize(this.viewItems.length-1,this._size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}distributeEmptySpace(e){let t=this.viewItems.reduce((e,t)=>e+t.size,0),n=this.size-t,r=F_(this.viewItems.length-1,-1),i=r.filter(e=>this.viewItems[e].priority===z_.Low),a=r.filter(e=>this.viewItems[e].priority===z_.High);for(let e of a)k_(r,e);for(let e of i)A_(r,e);typeof e==`number`&&A_(r,e);for(let e=0;n!==0&&e<r.length;e++){let t=this.viewItems[r[e]],i=N_(t.size+n,t.minimumSize,t.maximumSize),a=i-t.size;n-=a,t.size=i}}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this._proportions=this.viewItems.map(e=>e.visible?e.size/this._contentSize:void 0))}layoutViews(){if(this._contentSize=this.viewItems.reduce((e,t)=>e+t.size,0),this.updateSashEnablement(),this.viewItems.length===0)return;let e=this.viewItems.filter(e=>e.visible),t=Math.max(0,e.length-1),n=this.margin*t/Math.max(1,e.length),r=0,i=[],a=this.viewItems.reduce((e,t,n)=>{let r=+!!t.visible;return n===0?e.push(r):e.push(e[n-1]+r),e},[]);this.viewItems.forEach((e,o)=>{r+=this.viewItems[o].size,i.push(r);let s=e.visible?e.size-n:0,c=Math.max(0,a[o]-1),l=o===0||c===0?0:i[o-1]+c/t*n;if(o<this.viewItems.length-1){let t=e.visible?l+s-4/2+this.margin/2:l;this._orientation===L_.HORIZONTAL&&(this.sashes[o].container.style.left=`${t}px`,this.sashes[o].container.style.top=`0px`),this._orientation===L_.VERTICAL&&(this.sashes[o].container.style.left=`0px`,this.sashes[o].container.style.top=`${t}px`)}this._orientation===L_.HORIZONTAL&&(e.container.style.width=`${s}px`,e.container.style.left=`${l}px`,e.container.style.top=``,e.container.style.height=``),this._orientation===L_.VERTICAL&&(e.container.style.height=`${s}px`,e.container.style.top=`${l}px`,e.container.style.width=``,e.container.style.left=``),e.view.layout(e.size-n,this._orthogonalSize)})}findFirstSnapIndex(e){for(let t of e){let e=this.viewItems[t];if(e.visible&&e.snap)return t}for(let t of e){let e=this.viewItems[t];if(e.visible&&e.maximumSize-e.minimumSize>0)return;if(!e.visible&&e.snap)return t}}updateSashEnablement(){let e=!1,t=this.viewItems.map(t=>e=t.size-t.minimumSize>0||e);e=!1;let n=this.viewItems.map(t=>e=t.maximumSize-t.size>0||e),r=[...this.viewItems].reverse();e=!1;let i=r.map(t=>e=t.size-t.minimumSize>0||e).reverse();e=!1;let a=r.map(t=>e=t.maximumSize-t.size>0||e).reverse(),o=0;for(let e=0;e<this.sashes.length;e++){let r=this.sashes[e],s=this.viewItems[e];o+=s.size;let c=!(t[e]&&a[e+1]),l=!(n[e]&&i[e+1]);if(c&&l){let n=F_(e,-1),a=F_(e+1,this.viewItems.length),s=this.findFirstSnapIndex(n),c=this.findFirstSnapIndex(a),l=typeof s==`number`&&!this.viewItems[s].visible,u=typeof c==`number`&&!this.viewItems[c].visible;l&&i[e]&&(o>0||this.startSnappingEnabled)?this.updateSash(r,R_.MINIMUM):u&&t[e]&&(o<this._contentSize||this.endSnappingEnabled)?this.updateSash(r,R_.MAXIMUM):this.updateSash(r,R_.DISABLED)}else c&&!l?this.updateSash(r,R_.MINIMUM):!c&&l?this.updateSash(r,R_.MAXIMUM):this.updateSash(r,R_.ENABLED)}}updateSash(e,t){Q(e.container,`dv-disabled`,t===R_.DISABLED),Q(e.container,`dv-enabled`,t===R_.ENABLED),Q(e.container,`dv-maximum`,t===R_.MAXIMUM),Q(e.container,`dv-minimum`,t===R_.MINIMUM)}createViewContainer(){let e=document.createElement(`div`);return e.className=`dv-view-container`,e}createSashContainer(){let e=document.createElement(`div`);return e.className=`dv-sash-container`,e}createContainer(){let e=document.createElement(`div`);return e.className=`dv-split-view-container ${this._orientation===L_.HORIZONTAL?`dv-horizontal`:`dv-vertical`}`,e}dispose(){this._onDidSashEnd.dispose(),this._onDidAddView.dispose(),this._onDidRemoveView.dispose();for(let e=0;e<this.element.children.length;e++)if(this.element.children.item(e)===this.element){this.element.removeChild(this.element);break}for(let e of this.viewItems)e.dispose();this.element.remove()}},H_=Object.keys({orientation:void 0,descriptor:void 0,proportionalLayout:void 0,styles:void 0,margin:void 0,disableAutoResizing:void 0,className:void 0}),U_=class extends Jg{get onDidAddView(){return this.splitview.onDidAddView}get onDidRemoveView(){return this.splitview.onDidRemoveView}get minimumSize(){return this.splitview.minimumSize}get maximumSize(){return this.splitview.maximumSize}get orientation(){return this.splitview.orientation}get size(){return this.splitview.size}get orthogonalSize(){return this.splitview.orthogonalSize}constructor(e,t){super(),this.paneItems=[],this.skipAnimation=!1,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._orientation=t.orientation??L_.VERTICAL,this.element=document.createElement(`div`),this.element.className=`dv-pane-container`,e.appendChild(this.element),this.splitview=new V_(this.element,{orientation:this._orientation,proportionalLayout:!1,descriptor:t.descriptor}),this.getPanes().forEach(e=>{let t=new Jg(e.onDidChangeExpansionState(()=>{this.setupAnimation(),this._onDidChange.fire(void 0)})),n={pane:e,disposable:{dispose:()=>{t.dispose()}}};this.paneItems.push(n),e.orthogonalSize=this.splitview.orthogonalSize}),this.addDisposables(this._onDidChange,this.splitview.onDidSashEnd(()=>{this._onDidChange.fire(void 0)}),this.splitview.onDidAddView(()=>{this._onDidChange.fire()}),this.splitview.onDidRemoveView(()=>{this._onDidChange.fire()}))}setViewVisible(e,t){this.splitview.setViewVisible(e,t)}addPane(e,t,n=this.splitview.length,r=!1){let i=e.onDidChangeExpansionState(()=>{this.setupAnimation(),this._onDidChange.fire(void 0)}),a={pane:e,disposable:{dispose:()=>{i.dispose()}}};this.paneItems.splice(n,0,a),e.orthogonalSize=this.splitview.orthogonalSize,this.splitview.addView(e,t,n,r)}getViewSize(e){return this.splitview.getViewSize(e)}getPanes(){return this.splitview.getViews()}removePane(e,t={skipDispose:!1}){let n=this.paneItems.splice(e,1)[0];return this.splitview.removeView(e),t.skipDispose||(n.disposable.dispose(),n.pane.dispose()),n}moveView(e,t){if(e===t)return;let n=this.removePane(e,{skipDispose:!0});this.skipAnimation=!0;try{this.addPane(n.pane,n.pane.size,t,!1)}finally{this.skipAnimation=!1}}layout(e,t){this.splitview.layout(e,t)}setupAnimation(){this.skipAnimation||(this.animationTimer&&=(clearTimeout(this.animationTimer),void 0),o_(this.element,`dv-animated`),this.animationTimer=setTimeout(()=>{this.animationTimer=void 0,a_(this.element,`dv-animated`)},200))}dispose(){super.dispose(),this.animationTimer&&=(clearTimeout(this.animationTimer),void 0),this.paneItems.forEach(e=>{e.disposable.dispose(),e.pane.dispose()}),this.paneItems=[],this.splitview.dispose(),this.element.remove()}},W_=class{get minimumWidth(){return this.view.minimumWidth}get maximumWidth(){return this.view.maximumWidth}get minimumHeight(){return this.view.minimumHeight}get maximumHeight(){return this.view.maximumHeight}get priority(){return this.view.priority}get snap(){return this.view.snap}get minimumSize(){return this.orientation===L_.HORIZONTAL?this.minimumHeight:this.minimumWidth}get maximumSize(){return this.orientation===L_.HORIZONTAL?this.maximumHeight:this.maximumWidth}get minimumOrthogonalSize(){return this.orientation===L_.HORIZONTAL?this.minimumWidth:this.minimumHeight}get maximumOrthogonalSize(){return this.orientation===L_.HORIZONTAL?this.maximumWidth:this.maximumHeight}get orthogonalSize(){return this._orthogonalSize}get size(){return this._size}get element(){return this.view.element}get width(){return this.orientation===L_.HORIZONTAL?this.orthogonalSize:this.size}get height(){return this.orientation===L_.HORIZONTAL?this.size:this.orthogonalSize}constructor(e,t,n,r=0){this.view=e,this.orientation=t,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._orthogonalSize=n,this._size=r,this._disposable=this.view.onDidChange(e=>{e?this._onDidChange.fire({size:this.orientation===L_.VERTICAL?e.width:e.height,orthogonalSize:this.orientation===L_.VERTICAL?e.height:e.width}):this._onDidChange.fire({})})}setVisible(e){this.view.setVisible&&this.view.setVisible(e)}layout(e,t){this._size=e,this._orthogonalSize=t,this.view.layout(this.width,this.height)}dispose(){this._onDidChange.dispose(),this._disposable.dispose()}},G_=class e extends Jg{get width(){return this.orientation===L_.HORIZONTAL?this.size:this.orthogonalSize}get height(){return this.orientation===L_.HORIZONTAL?this.orthogonalSize:this.size}get minimumSize(){return this.children.length===0?0:Math.max(...this.children.map((e,t)=>this.splitview.isViewVisible(t)?e.minimumOrthogonalSize:0))}get maximumSize(){return Math.min(...this.children.map((e,t)=>this.splitview.isViewVisible(t)?e.maximumOrthogonalSize:1/0))}get minimumOrthogonalSize(){return this.splitview.minimumSize}get maximumOrthogonalSize(){return this.splitview.maximumSize}get orthogonalSize(){return this._orthogonalSize}get size(){return this._size}get minimumWidth(){return this.orientation===L_.HORIZONTAL?this.minimumOrthogonalSize:this.minimumSize}get minimumHeight(){return this.orientation===L_.HORIZONTAL?this.minimumSize:this.minimumOrthogonalSize}get maximumWidth(){return this.orientation===L_.HORIZONTAL?this.maximumOrthogonalSize:this.maximumSize}get maximumHeight(){return this.orientation===L_.HORIZONTAL?this.maximumSize:this.maximumOrthogonalSize}get priority(){if(this.children.length===0)return z_.Normal;let e=this.children.map(e=>e.priority===void 0?z_.Normal:e.priority);return e.some(e=>e===z_.High)?z_.High:e.some(e=>e===z_.Low)?z_.Low:z_.Normal}get disabled(){return this.splitview.disabled}set disabled(e){this.splitview.disabled=e}get margin(){return this.splitview.margin}set margin(t){this.splitview.margin=t,this.children.forEach(n=>{n instanceof e&&(n.margin=t)})}constructor(e,t,n,r,i,a,o,s){if(super(),this.orientation=e,this.proportionalLayout=t,this.styles=n,this._childrenDisposable=qg.NONE,this.children=[],this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._onDidVisibilityChange=new X,this.onDidVisibilityChange=this._onDidVisibilityChange.event,this._orthogonalSize=i,this._size=r,this.element=document.createElement(`div`),this.element.className=`dv-branch-node`,!s)this.splitview=new V_(this.element,{orientation:this.orientation,proportionalLayout:t,styles:n,margin:o}),this.splitview.layout(this.size,this.orthogonalSize);else{let e={views:s.map(e=>({view:e.node,size:e.node.size,visible:e.node instanceof W_&&e.visible!==void 0?e.visible:!0})),size:this.orthogonalSize};this.children=s.map(e=>e.node),this.splitview=new V_(this.element,{orientation:this.orientation,descriptor:e,proportionalLayout:t,styles:n,margin:o})}this.disabled=a,this.addDisposables(this._onDidChange,this._onDidVisibilityChange,this.splitview.onDidSashEnd(()=>{this._onDidChange.fire({})})),this.setupChildrenEvents()}setVisible(e){}isChildVisible(e){if(e<0||e>=this.children.length)throw Error(`Invalid index`);return this.splitview.isViewVisible(e)}setChildVisible(e,t){if(e<0||e>=this.children.length)throw Error(`Invalid index`);if(this.splitview.isViewVisible(e)===t)return;let n=this.splitview.contentSize===0;this.splitview.setViewVisible(e,t);let r=this.splitview.contentSize===0;(t&&n||!t&&r)&&this._onDidVisibilityChange.fire({visible:t})}moveChild(e,t){if(e===t)return;if(e<0||e>=this.children.length)throw Error(`Invalid from index`);e<t&&t--,this.splitview.moveView(e,t);let n=this._removeChild(e);this._addChild(n,t)}getChildSize(e){if(e<0||e>=this.children.length)throw Error(`Invalid index`);return this.splitview.getViewSize(e)}resizeChild(e,t){if(e<0||e>=this.children.length)throw Error(`Invalid index`);this.splitview.resizeView(e,t)}layout(e,t){this._size=t,this._orthogonalSize=e,this.splitview.layout(t,e)}addChild(e,t,n,r){if(n<0||n>this.children.length)throw Error(`Invalid index`);this.splitview.addView(e,t,n,r),this._addChild(e,n)}getChildCachedVisibleSize(e){if(e<0||e>=this.children.length)throw Error(`Invalid index`);return this.splitview.getViewCachedVisibleSize(e)}removeChild(e,t){if(e<0||e>=this.children.length)throw Error(`Invalid index`);return this.splitview.removeView(e,t),this._removeChild(e)}_addChild(e,t){this.children.splice(t,0,e),this.setupChildrenEvents()}_removeChild(e){let[t]=this.children.splice(e,1);return this.setupChildrenEvents(),t}setupChildrenEvents(){this._childrenDisposable.dispose(),this._childrenDisposable=new Jg(Xg.any(...this.children.map(e=>e.onDidChange))(e=>{this._onDidChange.fire({size:e.orthogonalSize})}),...this.children.map((t,n)=>t instanceof e?t.onDidVisibilityChange(({visible:e})=>{this.setChildVisible(n,e)}):qg.NONE))}dispose(){this._childrenDisposable.dispose(),this.splitview.dispose(),this.children.forEach(e=>e.dispose()),super.dispose()}};function K_(e,t){if(e instanceof W_)return e;if(e instanceof G_)return K_(e.children[t?e.children.length-1:0],t);throw Error(`invalid node`)}function q_(e,t,n){if(e instanceof G_){let r=new G_(e.orientation,e.proportionalLayout,e.styles,t,n,e.disabled,e.margin);for(let t=e.children.length-1;t>=0;t--){let n=e.children[t];r.addChild(q_(n,n.size,n.orthogonalSize),n.size,0,!0)}return r}else return new W_(e.view,e.orientation,n)}function J_(e,t,n){if(e instanceof G_){let r=new G_(ev(e.orientation),e.proportionalLayout,e.styles,t,n,e.disabled,e.margin),i=0;for(let a=e.children.length-1;a>=0;a--){let o=e.children[a],s=o instanceof G_?o.orthogonalSize:o.size,c=e.size===0?0:Math.round(t*s/e.size);i+=c,a===0&&(c+=t-i),r.addChild(J_(o,n,c),c,0,!0)}return r}else return new W_(e.view,ev(e.orientation),n)}function Y_(e){let t=e.parentElement;if(!t)throw Error(`Invalid grid element`);let n=t.firstElementChild,r=0;for(;n!==e&&n!==t.lastElementChild&&n;)n=n.nextElementSibling,r++;return r}function X_(e){let t=e.parentElement;if(!t)throw Error(`Invalid grid element`);if(/\bdv-grid-view\b/.test(t.className))return[];let n=Y_(t),r=t.parentElement.parentElement.parentElement;return[...X_(r),n]}function Z_(e,t,n){if($_(e,t)===Q_(n)){let[e,r]=D_(t),i=r;return(n===`right`||n===`bottom`)&&(i+=1),[...e,i]}else{let e=+(n===`right`||n===`bottom`);return[...t,e]}}function Q_(e){return e===`top`||e===`bottom`?L_.VERTICAL:L_.HORIZONTAL}function $_(e,t){return t.length%2==0?ev(e):e}var ev=e=>e===L_.HORIZONTAL?L_.VERTICAL:L_.HORIZONTAL;function tv(e){return!!e.children}var nv=(e,t)=>{let n=t===L_.VERTICAL?e.box.width:e.box.height;return tv(e)?{type:`branch`,data:e.children.map(e=>nv(e,ev(t))),size:n}:typeof e.cachedVisibleSize==`number`?{type:`leaf`,data:e.view.toJSON(),size:e.cachedVisibleSize,visible:!1}:{type:`leaf`,data:e.view.toJSON(),size:n}},rv=class{get length(){return this._root?this._root.children.length:0}get orientation(){return this.root.orientation}set orientation(e){if(this.root.orientation===e)return;let{size:t,orthogonalSize:n}=this.root;this.root=J_(this.root,n,t),this.root.layout(t,n)}get width(){return this.root.width}get height(){return this.root.height}get minimumWidth(){return this.root.minimumWidth}get minimumHeight(){return this.root.minimumHeight}get maximumWidth(){return this.root.maximumHeight}get maximumHeight(){return this.root.maximumHeight}get locked(){return this._locked}set locked(e){this._locked=e;let t=[this.root];for(;t.length>0;){let n=t.pop();n instanceof G_&&(n.disabled=e,t.push(...n.children))}}get margin(){return this._margin}set margin(e){this._margin=e,this.root.margin=e}maximizedView(){return this._maximizedNode?.leaf.view}hasMaximizedView(){return this._maximizedNode!==void 0}maximizeView(e){let t=X_(e.element),[n,r]=this.getNode(t);if(!(r instanceof W_)||this._maximizedNode?.leaf===r)return;this.hasMaximizedView()&&this.exitMaximizedView(),nv(this.getView(),this.orientation);let i=[];function a(e,t){for(let n=0;n<e.children.length;n++){let r=e.children[n];r instanceof W_?r!==t&&(e.isChildVisible(n)?e.setChildVisible(n,!1):i.push(r)):a(r,t)}}a(this.root,r),this._maximizedNode={leaf:r,hiddenOnMaximize:i},this._onDidMaximizedNodeChange.fire({view:r.view,isMaximized:!0})}exitMaximizedView(){if(!this._maximizedNode)return;let e=this._maximizedNode.hiddenOnMaximize;function t(n){for(let r=n.children.length-1;r>=0;r--){let i=n.children[r];i instanceof W_?e.includes(i)||n.setChildVisible(r,!0):t(i)}}t(this.root);let n=this._maximizedNode.leaf;this._maximizedNode=void 0,this._onDidMaximizedNodeChange.fire({view:n.view,isMaximized:!1})}serialize(){let e=this.maximizedView(),t;e&&(t=X_(e.element));let n=this._onDidMaximizedNodeChange.pause();try{this.hasMaximizedView()&&this.exitMaximizedView();let n={root:nv(this.getView(),this.orientation),width:this.width,height:this.height,orientation:this.orientation};return t&&(n.maximizedNode={location:t}),e&&this.maximizeView(e),n}finally{n.dispose()}}dispose(){this.disposable.dispose(),this._onDidChange.dispose(),this._onDidMaximizedNodeChange.dispose(),this._onDidViewVisibilityChange.dispose(),this.root.dispose(),this._maximizedNode=void 0,this.element.remove()}clear(){let e=this.root.orientation;this.root=new G_(e,this.proportionalLayout,this.styles,this.root.size,this.root.orthogonalSize,this.locked,this.margin)}deserialize(e,t){let n=e.orientation,r=n===L_.VERTICAL?e.height:e.width;if(this._deserialize(e.root,n,t,r),this.layout(e.width,e.height),e.maximizedNode){let t=e.maximizedNode.location,[n,r]=this.getNode(t);if(!(r instanceof W_))return;this.maximizeView(r.view)}}_deserialize(e,t,n,r){this.root=this._deserializeNode(e,t,n,r)}_deserializeNode(e,t,n,r){var i;let a;if(e.type===`branch`){let i=e.data.map(r=>({node:this._deserializeNode(r,ev(t),n,e.size),visible:r.visible}));a=new G_(t,this.proportionalLayout,this.styles,e.size,r,this.locked,this.margin,i)}else{let o=n.fromJSON(e);typeof e.visible==`boolean`&&((i=o.setVisible)==null||i.call(o,e.visible)),a=new W_(o,t,r,e.size)}return a}get root(){return this._root}set root(e){let t=this._root;t&&(t.dispose(),this._maximizedNode=void 0,this.element.removeChild(t.element)),this._root=e,this.element.appendChild(this._root.element),this.disposable.value=this._root.onDidChange(e=>{this._onDidChange.fire(e)})}normalize(){if(!this._root||this._root.children.length!==1)return;let e=this.root,t=e.children[0];if(t instanceof W_)return;e.element.remove();let n=e.removeChild(0);e.dispose(),n.dispose(),this._root=q_(t,t.size,t.orthogonalSize),this.element.appendChild(this._root.element),this.disposable.value=this._root.onDidChange(e=>{this._onDidChange.fire(e)})}insertOrthogonalSplitviewAtRoot(){if(!this._root)return;let e=this.root;if(e.element.remove(),this._root=new G_(ev(e.orientation),this.proportionalLayout,this.styles,this.root.orthogonalSize,this.root.size,this.locked,this.margin),e.children.length!==0)if(e.children.length===1){let t=e.children[0];e.removeChild(0).dispose(),e.dispose(),this._root.addChild(J_(t,t.orthogonalSize,t.size),B_.Distribute,0)}else this._root.addChild(e,B_.Distribute,0);this.element.appendChild(this._root.element),this.disposable.value=this._root.onDidChange(e=>{this._onDidChange.fire(e)})}next(e){return this.progmaticSelect(e)}previous(e){return this.progmaticSelect(e,!0)}getView(e){let t=e?this.getNode(e)[1]:this.root;return this._getViews(t,this.orientation)}_getViews(e,t,n){let r={height:e.height,width:e.width};if(e instanceof W_)return{box:r,view:e.view,cachedVisibleSize:n};let i=[];for(let n=0;n<e.children.length;n++){let r=e.children[n],a=e.getChildCachedVisibleSize(n);i.push(this._getViews(r,ev(t),a))}return{box:r,children:i}}progmaticSelect(e,t=!1){let[n,r]=this.getNode(e);if(!(r instanceof W_))throw Error(`invalid location`);for(let r=n.length-1;r>-1;r--){let i=n[r],a=e[r]||0;if(t?a-1>-1:a+1<i.children.length)return K_(i.children[t?a-1:a+1],t)}return K_(this.root,t)}constructor(e,t,n,r,i){this.proportionalLayout=e,this.styles=t,this._locked=!1,this._margin=0,this._maximizedNode=void 0,this.disposable=new Yg,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._onDidViewVisibilityChange=new X,this.onDidViewVisibilityChange=this._onDidViewVisibilityChange.event,this._onDidMaximizedNodeChange=new X,this.onDidMaximizedNodeChange=this._onDidMaximizedNodeChange.event,this.element=document.createElement(`div`),this.element.className=`dv-grid-view`,this._locked=r??!1,this._margin=i??0,this.root=new G_(n,e,t,0,0,this.locked,this.margin)}isViewVisible(e){let[t,n]=D_(e),[,r]=this.getNode(t);if(!(r instanceof G_))throw Error(`Invalid from location`);return r.isChildVisible(n)}setViewVisible(e,t){this.hasMaximizedView()&&this.exitMaximizedView();let[n,r]=D_(e),[,i]=this.getNode(n);if(!(i instanceof G_))throw Error(`Invalid from location`);this._onDidViewVisibilityChange.fire(),i.setChildVisible(r,t)}moveView(e,t,n){this.hasMaximizedView()&&this.exitMaximizedView();let[,r]=this.getNode(e);if(!(r instanceof G_))throw Error(`Invalid location`);r.moveChild(t,n)}addView(e,t,n){this.hasMaximizedView()&&this.exitMaximizedView();let[r,i]=D_(n),[a,o]=this.getNode(r);if(o instanceof G_){let n=new W_(e,ev(o.orientation),o.orthogonalSize);o.addChild(n,t,i)}else{let[n,...s]=[...a].reverse(),[c,...l]=[...r].reverse(),u=0,d=n.getChildCachedVisibleSize(c);typeof d==`number`&&(u=B_.Invisible(d)),n.removeChild(c).dispose();let f=new G_(o.orientation,this.proportionalLayout,this.styles,o.size,o.orthogonalSize,this.locked,this.margin);n.addChild(f,o.size,c);let p=new W_(o.view,n.orientation,o.size);f.addChild(p,u,0),typeof t!=`number`&&t.type===`split`&&(t={type:`split`,index:0});let m=new W_(e,n.orientation,o.size);f.addChild(m,t,i)}}remove(e,t){let n=X_(e.element);return this.removeView(n,t)}removeView(e,t){this.hasMaximizedView()&&this.exitMaximizedView();let[n,r]=D_(e),[i,a]=this.getNode(n);if(!(a instanceof G_))throw Error(`Invalid location`);let o=a.children[r];if(!(o instanceof W_))throw Error(`Invalid location`);if(a.removeChild(r,t),o.dispose(),a.children.length!==1)return o.view;let s=a.children[0];if(i.length===0)return s instanceof W_?o.view:(a.removeChild(0,t),this.root=s,o.view);let[c,...l]=[...i].reverse(),[u,...d]=[...n].reverse(),f=a.isChildVisible(0);a.removeChild(0,t);let p=c.children.map((e,t)=>c.getChildSize(t));if(c.removeChild(u,t).dispose(),s instanceof G_){p.splice(u,1,...s.children.map(e=>e.size));for(let e=0;e<s.children.length;e++){let t=s.children[e];c.addChild(t,t.size,u+e)}for(;s.children.length>0;)s.removeChild(0)}else{let e=new W_(s.view,ev(s.orientation),s.size),t=f?s.orthogonalSize:B_.Invisible(s.orthogonalSize);c.addChild(e,t,u)}s.dispose();for(let e=0;e<p.length;e++)c.resizeChild(e,p[e]);return o.view}layout(e,t){let[n,r]=this.root.orientation===L_.HORIZONTAL?[t,e]:[e,t];this.root.layout(n,r)}getNode(e,t=this.root,n=[]){if(e.length===0)return[n,t];if(!(t instanceof G_))throw Error(`Invalid location`);let[r,...i]=e;if(r<0||r>=t.children.length)throw Error(`Invalid location`);let a=t.children[r];return n.push(t),this.getNode(i,a,n)}},iv=Object.keys({disableAutoResizing:void 0,proportionalLayout:void 0,orientation:void 0,hideBorders:void 0,className:void 0}),av=class extends Jg{get element(){return this._element}get disableResizing(){return this._disableResizing}set disableResizing(e){this._disableResizing=e}constructor(e,t=!1){super(),this._lastWidth=-1,this._lastHeight=-1,this._disableResizing=t,this._element=e,this.addDisposables(i_(this._element,e=>{if(this.isDisposed||this.disableResizing||!this._element.offsetParent||!h_(this._element))return;let t=Math.round(e.contentRect.width),n=Math.round(e.contentRect.height);t===this._lastWidth&&n===this._lastHeight||(this._lastWidth=t,this._lastHeight=n,this.layout(t,n))}))}},ov=P_();function sv(e){switch(e){case`left`:return`left`;case`right`:return`right`;case`above`:return`top`;case`below`:return`bottom`;default:return`center`}}var cv=class extends av{get id(){return this._id}get size(){return this._groups.size}get groups(){return Array.from(this._groups.values()).map(e=>e.value)}get width(){return this.gridview.width}get height(){return this.gridview.height}get minimumHeight(){return this.gridview.minimumHeight}get maximumHeight(){return this.gridview.maximumHeight}get minimumWidth(){return this.gridview.minimumWidth}get maximumWidth(){return this.gridview.maximumWidth}get activeGroup(){return this._activeGroup}get locked(){return this.gridview.locked}set locked(e){this.gridview.locked=e}constructor(e,t){super(document.createElement(`div`),t.disableAutoResizing),this._id=ov.next(),this._groups=new Map,this._onDidRemove=new X,this.onDidRemove=this._onDidRemove.event,this._onDidAdd=new X,this.onDidAdd=this._onDidAdd.event,this._onDidMaximizedChange=new X,this.onDidMaximizedChange=this._onDidMaximizedChange.event,this._onDidActiveChange=new X,this.onDidActiveChange=this._onDidActiveChange.event,this._bufferOnDidLayoutChange=new n_,this.onDidLayoutChange=this._bufferOnDidLayoutChange.onEvent,this._onDidViewVisibilityChangeMicroTaskQueue=new n_,this.onDidViewVisibilityChangeMicroTaskQueue=this._onDidViewVisibilityChangeMicroTaskQueue.onEvent,this.element.style.height=`100%`,this.element.style.width=`100%`,this._classNames=new b_(this.element),this._classNames.setClassNames(t.className??``),e.appendChild(this.element),this.gridview=new rv(!!t.proportionalLayout,t.styles,t.orientation,t.locked,t.margin),this.gridview.locked=!!t.locked,this.element.appendChild(this.gridview.element),this.layout(0,0,!0),this.addDisposables(this.gridview.onDidMaximizedNodeChange(e=>{this._onDidMaximizedChange.fire({panel:e.view,isMaximized:e.isMaximized})}),this.gridview.onDidViewVisibilityChange(()=>this._onDidViewVisibilityChangeMicroTaskQueue.fire()),this.onDidViewVisibilityChangeMicroTaskQueue(()=>{this.forceRelayout()}),qg.from(()=>{var e;(e=this.element.parentElement)==null||e.removeChild(this.element)}),this.gridview.onDidChange(()=>{this._bufferOnDidLayoutChange.fire()}),Xg.any(this.onDidAdd,this.onDidRemove,this.onDidActiveChange)(()=>{this._bufferOnDidLayoutChange.fire()}),this._onDidMaximizedChange,this._onDidViewVisibilityChangeMicroTaskQueue,this._bufferOnDidLayoutChange)}setVisible(e,t){this.gridview.setViewVisible(X_(e.element),t),this._bufferOnDidLayoutChange.fire()}isVisible(e){return this.gridview.isViewVisible(X_(e.element))}updateOptions(e){e.proportionalLayout,e.orientation&&(this.gridview.orientation=e.orientation),`disableResizing`in e&&(this.disableResizing=e.disableAutoResizing??!1),`locked`in e&&(this.locked=e.locked??!1),`margin`in e&&(this.gridview.margin=e.margin??0),`className`in e&&this._classNames.setClassNames(e.className??``)}maximizeGroup(e){this.gridview.maximizeView(e),this.doSetGroupActive(e)}isMaximizedGroup(e){return this.gridview.maximizedView()===e}exitMaximizedGroup(){this.gridview.exitMaximizedView()}hasMaximizedGroup(){return this.gridview.hasMaximizedView()}doAddGroup(e,t=[0],n){this.gridview.addView(e,n??B_.Distribute,t),this._onDidAdd.fire(e)}doRemoveGroup(e,t){if(!this._groups.has(e.id))throw Error(`invalid operation`);let n=this._groups.get(e.id),r=this.gridview.remove(e,B_.Distribute);if(n&&!t?.skipDispose&&(n.disposable.dispose(),n.value.dispose(),this._groups.delete(e.id),this._onDidRemove.fire(e)),!t?.skipActive&&this._activeGroup===e){let e=Array.from(this._groups.values());this.doSetGroupActive(e.length>0?e[0].value:void 0)}return r}getPanel(e){return this._groups.get(e)?.value}doSetGroupActive(e){this._activeGroup!==e&&(this._activeGroup&&this._activeGroup.setActive(!1),e&&e.setActive(!0),this._activeGroup=e,this._onDidActiveChange.fire(e))}removeGroup(e){this.doRemoveGroup(e)}moveToNext(e){if(e||={},!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}let t=X_(e.group.element),n=this.gridview.next(t)?.view;this.doSetGroupActive(n)}moveToPrevious(e){if(e||={},!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}let t=X_(e.group.element),n=this.gridview.previous(t)?.view;this.doSetGroupActive(n)}forceRelayout(){this.layout(this.width,this.height,!0)}layout(e,t,n){(n||e!==this.width||t!==this.height)&&(this.gridview.element.style.height=`${t}px`,this.gridview.element.style.width=`${e}px`,this.gridview.layout(e,t))}dispose(){this._onDidActiveChange.dispose(),this._onDidAdd.dispose(),this._onDidRemove.dispose();for(let e of this.groups)e.dispose();this.gridview.dispose(),super.dispose()}},lv=class{get minimumSize(){return this.component.minimumSize}get maximumSize(){return this.component.maximumSize}get width(){return this.component.width}get height(){return this.component.height}get length(){return this.component.length}get orientation(){return this.component.orientation}get panels(){return this.component.panels}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidAddView(){return this.component.onDidAddView}get onDidRemoveView(){return this.component.onDidRemoveView}constructor(e){this.component=e}removePanel(e,t){this.component.removePanel(e,t)}focus(){this.component.focus()}getPanel(e){return this.component.getPanel(e)}layout(e,t){return this.component.layout(e,t)}addPanel(e){return this.component.addPanel(e)}movePanel(e,t){this.component.movePanel(e,t)}fromJSON(e){this.component.fromJSON(e)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}},uv=class{get minimumSize(){return this.component.minimumSize}get maximumSize(){return this.component.maximumSize}get width(){return this.component.width}get height(){return this.component.height}get panels(){return this.component.panels}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get onDidAddView(){return this.component.onDidAddView}get onDidRemoveView(){return this.component.onDidRemoveView}get onDidDrop(){return this.component.onDidDrop}get onUnhandledDragOverEvent(){return this.component.onUnhandledDragOverEvent}constructor(e){this.component=e}removePanel(e){this.component.removePanel(e)}getPanel(e){return this.component.getPanel(e)}movePanel(e,t){this.component.movePanel(e,t)}focus(){this.component.focus()}layout(e,t){this.component.layout(e,t)}addPanel(e){return this.component.addPanel(e)}fromJSON(e){this.component.fromJSON(e)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}},dv=class{get width(){return this.component.width}get height(){return this.component.height}get minimumHeight(){return this.component.minimumHeight}get maximumHeight(){return this.component.maximumHeight}get minimumWidth(){return this.component.minimumWidth}get maximumWidth(){return this.component.maximumWidth}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidAddPanel(){return this.component.onDidAddGroup}get onDidRemovePanel(){return this.component.onDidRemoveGroup}get onDidActivePanelChange(){return this.component.onDidActiveGroupChange}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get panels(){return this.component.groups}get orientation(){return this.component.orientation}set orientation(e){this.component.updateOptions({orientation:e})}constructor(e){this.component=e}focus(){this.component.focus()}layout(e,t,n=!1){this.component.layout(e,t,n)}addPanel(e){return this.component.addPanel(e)}removePanel(e,t){this.component.removePanel(e,t)}movePanel(e,t){this.component.movePanel(e,t)}getPanel(e){return this.component.getPanel(e)}fromJSON(e){return this.component.fromJSON(e)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}updateOptions(e){this.component.updateOptions(e)}dispose(){this.component.dispose()}},fv=class{get id(){return this.component.id}get width(){return this.component.width}get height(){return this.component.height}get minimumHeight(){return this.component.minimumHeight}get maximumHeight(){return this.component.maximumHeight}get minimumWidth(){return this.component.minimumWidth}get maximumWidth(){return this.component.maximumWidth}get size(){return this.component.size}get tabGroupColors(){return this.component.tabGroupColorPalette.entries()}get totalPanels(){return this.component.totalPanels}get onDidActiveGroupChange(){return this.component.onDidActiveGroupChange}get onDidAddGroup(){return this.component.onDidAddGroup}get onDidRemoveGroup(){return this.component.onDidRemoveGroup}get onDidActivePanelChange(){return this.component.onDidActivePanelChange}get onDidAddPanel(){return this.component.onDidAddPanel}get onDidRemovePanel(){return this.component.onDidRemovePanel}get onDidMovePanel(){return this.component.onDidMovePanel}get onDidLayoutFromJSON(){return this.component.onDidLayoutFromJSON}get onDidLayoutChange(){return this.component.onDidLayoutChange}get onDidDrop(){return this.component.onDidDrop}get onWillDrop(){return this.component.onWillDrop}get onWillShowOverlay(){return this.component.onWillShowOverlay}get onWillDragGroup(){return this.component.onWillDragGroup}get onWillDragPanel(){return this.component.onWillDragPanel}get onUnhandledDragOverEvent(){return this.component.onUnhandledDragOverEvent}get onDidPopoutGroupSizeChange(){return this.component.onDidPopoutGroupSizeChange}get onDidPopoutGroupPositionChange(){return this.component.onDidPopoutGroupPositionChange}get onDidOpenPopoutWindowFail(){return this.component.onDidOpenPopoutWindowFail}get onDidCreateTabGroup(){return this.component.onDidCreateTabGroup}get onDidDestroyTabGroup(){return this.component.onDidDestroyTabGroup}get onDidAddPanelToTabGroup(){return this.component.onDidAddPanelToTabGroup}get onDidRemovePanelFromTabGroup(){return this.component.onDidRemovePanelFromTabGroup}get onDidTabGroupChange(){return this.component.onDidTabGroupChange}get onDidTabGroupCollapsedChange(){return this.component.onDidTabGroupCollapsedChange}get panels(){return this.component.panels}get groups(){return this.component.groups}get activePanel(){return this.component.activePanel}get activeGroup(){return this.component.activeGroup}constructor(e){this.component=e}focus(){this.component.focus()}getPanel(e){return this.component.getGroupPanel(e)}layout(e,t,n=!1){this.component.layout(e,t,n)}addPanel(e){return this.component.addPanel(e)}removePanel(e){this.component.removePanel(e)}addGroup(e){return this.component.addGroup(e)}closeAllGroups(){return this.component.closeAllGroups()}removeGroup(e){this.component.removeGroup(e)}getGroup(e){return this.component.getPanel(e)}addFloatingGroup(e,t){return this.component.addFloatingGroup(e,t)}fromJSON(e,t){this.component.fromJSON(e,t)}toJSON(){return this.component.toJSON()}clear(){this.component.clear()}moveToNext(e){this.component.moveToNext(e)}moveToPrevious(e){this.component.moveToPrevious(e)}maximizeGroup(e){this.component.maximizeGroup(e.group)}hasMaximizedGroup(){return this.component.hasMaximizedGroup()}exitMaximizedGroup(){this.component.exitMaximizedGroup()}get onDidMaximizedGroupChange(){return this.component.onDidMaximizedGroupChange}addPopoutGroup(e,t){return this.component.addPopoutGroup(e,t)}addEdgeGroup(e,t){return this.component.addEdgeGroup(e,t)}getEdgeGroup(e){return this.component.getEdgeGroup(e)}setEdgeGroupVisible(e,t){this.component.setEdgeGroupVisible(e,t)}isEdgeGroupVisible(e){return this.component.isEdgeGroupVisible(e)}removeEdgeGroup(e){this.component.removeEdgeGroup(e)}updateOptions(e){this.component.updateOptions(e)}_getGroupModel(e){let t=this.component.getPanel(e);if(!t)throw Error(`dockview: group '${e}' not found`);return t.model}createTabGroup(e){return this._getGroupModel(e.groupId).createTabGroup({label:e.label,color:e.color,componentParams:e.componentParams})}dissolveTabGroup(e){this._getGroupModel(e.groupId).dissolveTabGroup(e.tabGroupId)}addPanelToTabGroup(e){this._getGroupModel(e.groupId).addPanelToTabGroup(e.tabGroupId,e.panelId,e.index)}removePanelFromTabGroup(e){this._getGroupModel(e.groupId).removePanelFromTabGroup(e.panelId)}getTabGroups(e){return this._getGroupModel(e.groupId).getTabGroups()}getTabGroupForPanel(e){return this._getGroupModel(e.groupId).getTabGroupForPanel(e.panelId)}moveTabGroup(e){this._getGroupModel(e.groupId).moveTabGroup(e.tabGroupId,e.index)}dispose(){this.component.dispose()}},pv=class extends Jg{constructor(e,t){super(),this.element=e,this.callbacks=t,this.target=null,this.registerListeners()}onDragEnter(e){this.target=e.target,this.callbacks.onDragEnter(e)}onDragOver(e){e.preventDefault(),this.callbacks.onDragOver&&this.callbacks.onDragOver(e)}onDragLeave(e){this.target===e.target&&(this.target=null,this.callbacks.onDragLeave(e))}onDragEnd(e){this.target=null,this.callbacks.onDragEnd(e)}onDrop(e){this.callbacks.onDrop(e)}registerListeners(){this.addDisposables(Z(this.element,`dragenter`,e=>{this.onDragEnter(e)},!0)),this.addDisposables(Z(this.element,`dragover`,e=>{this.onDragOver(e)},!0)),this.addDisposables(Z(this.element,`dragleave`,e=>{this.onDragLeave(e)})),this.addDisposables(Z(this.element,`dragend`,e=>{this.onDragEnd(e)})),this.addDisposables(Z(this.element,`drop`,e=>{this.onDrop(e)}))}},mv={value:50,type:`percentage`},hv=100,gv=100;function _v(){let e=document.createElement(`div`);e.className=`dv-drop-target-dropzone`;let t=document.createElement(`div`);return t.className=`dv-drop-target-selection`,e.appendChild(t),{dropzone:e,selection:t}}function vv(e,t,n,r){let i=r?.smallWidthBoundary??hv,a=r?.smallHeightBoundary??gv,o=t<i,s=n<a,c=e===`left`,l=e===`right`,u=e===`top`,d=e===`bottom`,f=!o&&l,p=!o&&c,m=!s&&u,h=!s&&d,g=1,_=r?.size??mv;return _.type===`percentage`?g=N_(_.value,0,100)/100:((f||p)&&(g=N_(0,_.value,t)/t),(m||h)&&(g=N_(0,_.value,n)/n)),{isSmallX:o,isSmallY:s,isLeft:c,isRight:l,isTop:u,isBottom:d,rightClass:f,leftClass:p,topClass:m,bottomClass:h,size:g}}function yv(e,t,n,r,i){let a=vv(t,n,r,i),{rightClass:o,leftClass:s,topClass:c,bottomClass:l,size:u}=a,d={top:`0px`,left:`0px`,width:`100%`,height:`100%`};o?(d.left=`${100*(1-u)}%`,d.width=`${100*u}%`):s?d.width=`${100*u}%`:c?d.height=`${100*u}%`:l&&(d.top=`${100*(1-u)}%`,d.height=`${100*u}%`),a.isSmallX&&a.isLeft&&(d.width=`4px`),a.isSmallX&&a.isRight&&(d.left=`${n-4}px`,d.width=`4px`),a.isSmallY&&a.isTop&&(d.height=`4px`),a.isSmallY&&a.isBottom&&(d.top=`${r-4}px`,d.height=`4px`),e.style.top=d.top,e.style.left=d.left,e.style.width=d.width,e.style.height=d.height,e.style.visibility=`visible`,(!e.style.transform||e.style.transform===``)&&(e.style.transform=`translate3d(0, 0, 0)`);let f=a.isSmallX&&(a.isLeft||a.isRight)||a.isSmallY&&(a.isTop||a.isBottom);Q(e,`dv-drop-target-small-vertical`,a.isSmallY),Q(e,`dv-drop-target-small-horizontal`,a.isSmallX),Q(e,`dv-drop-target-selection-line`,f),Q(e,`dv-drop-target-left`,a.isLeft),Q(e,`dv-drop-target-right`,a.isRight),Q(e,`dv-drop-target-top`,a.isTop),Q(e,`dv-drop-target-bottom`,a.isBottom),Q(e,`dv-drop-target-center`,t===`center`)}function bv(e,t){let n=`${Math.round(t.top)}px`,r=`${Math.round(t.left)}px`,i=`${Math.round(t.width)}px`,a=`${Math.round(t.height)}px`;return e.style.top!==n||e.style.left!==r||e.style.width!==i||e.style.height!==a}function xv(e,t){e.style.top=`${Math.round(t.top)}px`,e.style.left=`${Math.round(t.left)}px`,e.style.width=`${Math.round(t.width)}px`,e.style.height=`${Math.round(t.height)}px`,e.style.visibility=`visible`,(!e.style.transform||e.style.transform===``)&&(e.style.transform=`translate3d(0, 0, 0)`)}function Sv(e){let t=vv(e.quadrant,e.width,e.height,e.overlayModel),{rightClass:n,leftClass:r,topClass:i,bottomClass:a,size:o}=t,s=e.outlineElement.getBoundingClientRect(),c=e.targetModel.getElements(void 0,e.outlineElement),l=c.root,u=c.overlay,d=l.getBoundingClientRect(),f=s.top-d.top,p=s.left-d.left,m={top:f,left:p,width:e.width,height:e.height};return n?(m.left=p+e.width*(1-o),m.width=e.width*o):r?m.width=e.width*o:i?m.height=e.height*o:a&&(m.top=f+e.height*(1-o),m.height=e.height*o),t.isSmallX&&t.isLeft&&(m.width=4),t.isSmallX&&t.isRight&&(m.left=p+e.width-4,m.width=4),t.isSmallY&&t.isTop&&(m.height=4),t.isSmallY&&t.isBottom&&(m.top=f+e.height-4,m.height=4),bv(u,m)?(xv(u,m),u.className=`dv-drop-target-anchor${e.className?` ${e.className}`:``}`,Q(u,`dv-drop-target-left`,t.isLeft),Q(u,`dv-drop-target-right`,t.isRight),Q(u,`dv-drop-target-top`,t.isTop),Q(u,`dv-drop-target-bottom`,t.isBottom),Q(u,`dv-drop-target-anchor-line`,t.isSmallX&&(t.isLeft||t.isRight)||t.isSmallY&&(t.isTop||t.isBottom)),Q(u,`dv-drop-target-center`,e.quadrant===`center`),c.changed&&(Q(u,`dv-drop-target-anchor-container-changed`,!0),setTimeout(()=>{Q(u,`dv-drop-target-anchor-container-changed`,!1)},10)),{boundsChanged:!0,targetChanged:c.changed}):{boundsChanged:!1,targetChanged:c.changed}}var Cv=class extends Zg{get nativeEvent(){return this.options.nativeEvent}get position(){return this.options.position}constructor(e){super(),this.options=e}};function wv(e){switch(e){case`above`:return`top`;case`below`:return`bottom`;case`left`:return`left`;case`right`:return`right`;case`within`:return`center`;default:throw Error(`invalid direction '${e}'`)}}function Tv(e){switch(e){case`top`:return`above`;case`bottom`:return`below`;case`left`:return`left`;case`right`:return`right`;case`center`:return`within`;default:throw Error(`invalid position '${e}'`)}}var Ev={value:20,type:`percentage`},Dv=class e extends Jg{get disabled(){return this._disabled}set disabled(e){this._disabled=e}get state(){return this._state}constructor(t,n){super(),this.element=t,this.options=n,this._onDrop=new X,this.onDrop=this._onDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._disabled=!1,this._acceptedTargetZonesSet=new Set(this.options.acceptedTargetZones),this.dnd=new pv(this.element,{onDragEnter:()=>{var e,t;(t=(e=this.options).getOverrideTarget?.call(e))==null||t.getElements()},onDragOver:t=>{var n,r;e.ACTUAL_TARGET=this;let i=(n=this.options).getOverrideTarget?.call(n);if(this._acceptedTargetZonesSet.size===0){if(i)return;this.removeDropTarget();return}let a=(r=this.options).getOverlayOutline?.call(r)??this.element,o=a.offsetWidth,s=a.offsetHeight;if(o===0||s===0)return;let c=t.currentTarget.getBoundingClientRect(),l=(t.clientX??0)-c.left,u=(t.clientY??0)-c.top,d=this.calculateQuadrant(this._acceptedTargetZonesSet,l,u,o,s);if(this.isAlreadyUsed(t)||d===null){this.removeDropTarget();return}if(!this.options.canDisplayOverlay(t,d)){if(i)return;this.removeDropTarget();return}let f=new Cv({nativeEvent:t,position:d});if(this._onWillShowOverlay.fire(f),f.defaultPrevented){this.removeDropTarget();return}if(this.markAsUsed(t),!i&&!this.targetElement){let e=_v();this.targetElement=e.dropzone,this.overlayElement=e.selection,this._state=`center`,a.classList.add(`dv-drop-target`),a.append(this.targetElement)}this.toggleClasses(d,o,s),this._state=d},onDragLeave:()=>{var e;(e=this.options).getOverrideTarget?.call(e)||this.removeDropTarget()},onDragEnd:t=>{var n;let r=(n=this.options).getOverrideTarget?.call(n);r&&e.ACTUAL_TARGET===this&&this._state&&(t.stopPropagation(),this._onDrop.fire({position:this._state,nativeEvent:t})),this.removeDropTarget(),r?.clear()},onDrop:e=>{var t,n;e.preventDefault();let r=this._state;this.removeDropTarget(),(n=(t=this.options).getOverrideTarget?.call(t))==null||n.clear(),r&&(e.stopPropagation(),this._onDrop.fire({position:r,nativeEvent:e}))}}),this.addDisposables(this._onDrop,this._onWillShowOverlay,this.dnd)}setTargetZones(e){this._acceptedTargetZonesSet=new Set(e)}setOverlayModel(e){this.options.overlayModel=e}dispose(){this.removeDropTarget(),super.dispose()}markAsUsed(t){t[e.USED_EVENT_ID]=!0}isAlreadyUsed(t){let n=t[e.USED_EVENT_ID];return typeof n==`boolean`&&n}toggleClasses(e,t,n){var r,i;let a=(r=this.options).getOverrideTarget?.call(r);if(a){Sv({outlineElement:(i=this.options).getOverlayOutline?.call(i)??this.element,targetModel:a,quadrant:e,width:t,height:n,overlayModel:this.options.overlayModel,className:this.options.className});return}this.overlayElement&&yv(this.overlayElement,e,t,n,this.options.overlayModel)}calculateQuadrant(e,t,n,r,i){let a=this.options.overlayModel?.activationSize??Ev;return a.type===`percentage`?Ov(e,t,n,r,i,a.value):kv(e,t,n,r,i,a.value)}removeDropTarget(){var e;this.targetElement&&(this._state=void 0,(e=this.targetElement.parentElement)==null||e.classList.remove(`dv-drop-target`),this.targetElement.remove(),this.targetElement=void 0,this.overlayElement=void 0)}};Dv.USED_EVENT_ID=`__dockview_droptarget_event_is_used__`;function Ov(e,t,n,r,i,a){let o=100*t/r,s=100*n/i;return e.has(`left`)&&o<a?`left`:e.has(`right`)&&o>100-a?`right`:e.has(`top`)&&s<a?`top`:e.has(`bottom`)&&s>100-a?`bottom`:e.has(`center`)?`center`:null}function kv(e,t,n,r,i,a){return e.has(`left`)&&t<a?`left`:e.has(`right`)&&t>r-a?`right`:e.has(`top`)&&n<a?`top`:e.has(`bottom`)&&n>i-a?`bottom`:e.has(`center`)?`center`:null}function Av(e,t,n){o_(t,`dv-dragged`),t.style.top=`-9999px`,document.body.appendChild(t),e.setDragImage(t,n?.x??0,n?.y??0),setTimeout(()=>{a_(t,`dv-dragged`),t.remove()},0)}var jv=class e extends Jg{static getInstance(){return e._instance||=new e,e._instance}constructor(){super(),this._targets=new Set,this._targetByElement=new Map,this._onDragStart=new X,this.onDragStart=this._onDragStart.event,this._onDragMove=new X,this.onDragMove=this._onDragMove.event,this._onDragEnd=new X,this.onDragEnd=this._onDragEnd.event,this.addDisposables(this._onDragStart,this._onDragMove,this._onDragEnd)}get active(){return this._active}registerTarget(e){return this._targets.add(e),this._targetByElement.set(e.element,e),{dispose:()=>{this._targets.delete(e),this._targetByElement.get(e.element)===e&&this._targetByElement.delete(e.element),this._currentTarget===e&&(this._currentTarget=void 0)}}}beginDrag(e){this._active&&this.cancel();let{pointerEvent:t,source:n}=e,r=e.getData();this._active={pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,source:n},this._onDragMoveCallback=e.onDragMove,this._onDragEndCallback=e.onDragEnd,this._dataDisposable=r,this._ghost=e.ghost,this._iframeShield=v_(n.ownerDocument??document);let i={clientX:t.clientX,clientY:t.clientY,pointerEvent:t};this._onDragStart.fire(i);let a=n.ownerDocument?.defaultView??window;this._moveListener=Z(a,`pointermove`,e=>{!this._active||e.pointerId!==this._active.pointerId||this._handleMove(e)}),this._upListener=Z(a,`pointerup`,e=>{!this._active||e.pointerId!==this._active.pointerId||this._handleEnd(e,!0)}),this._cancelListener=Z(a,`pointercancel`,e=>{!this._active||e.pointerId!==this._active.pointerId||this._handleEnd(e,!1)})}cancel(){var e,t;this._active&&((e=this._currentTarget)==null||e.handleDragLeave(),this._teardown(),(t=this._dataDisposable)==null||t.dispose(),this._dataDisposable=void 0)}_findTargetUnder(e,t){let n=(this._active?.source.ownerDocument??document).elementsFromPoint(e,t);for(let e of n){let t=e;for(;t;){let e=this._targetByElement.get(t);if(e)return e;t=t.parentElement}}}_handleMove(e){var t,n,r;(t=this._ghost)==null||t.update(e.clientX,e.clientY);let i={clientX:e.clientX,clientY:e.clientY,pointerEvent:e},a=this._findTargetUnder(e.clientX,e.clientY);a!==this._currentTarget&&((n=this._currentTarget)==null||n.handleDragLeave(),this._currentTarget=a),a&&a.handleDragOver(i),(r=this._onDragMoveCallback)==null||r.call(this,i),this._onDragMove.fire(i)}_handleEnd(e,t){var n;let r={clientX:e.clientX,clientY:e.clientY,pointerEvent:e};t&&this._currentTarget?this._currentTarget.handleDrop(r):(n=this._currentTarget)==null||n.handleDragLeave();let i=this._onDragEndCallback,a=this._dataDisposable;this._teardown(),this._dataDisposable=void 0,setTimeout(()=>a?.dispose(),0),i?.(r,t),this._onDragEnd.fire(r)}_teardown(){var e,t,n,r,i;this._currentTarget=void 0,this._active=void 0,this._onDragMoveCallback=void 0,this._onDragEndCallback=void 0,(e=this._ghost)==null||e.dispose(),this._ghost=void 0,(t=this._iframeShield)==null||t.release(),this._iframeShield=void 0,(n=this._moveListener)==null||n.dispose(),(r=this._upListener)==null||r.dispose(),(i=this._cancelListener)==null||i.dispose(),this._moveListener=void 0,this._upListener=void 0,this._cancelListener=void 0}},Mv={value:20,type:`percentage`},Nv=class extends Jg{get disabled(){return this._disabled}set disabled(e){this._disabled=e,e&&this._removeOverlay()}get state(){return this._state}constructor(e,t){super(),this.element=e,this.options=t,this._onDrop=new X,this.onDrop=this._onDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._disabled=!1,this._acceptedTargetZonesSet=new Set(t.acceptedTargetZones);let n={element:this.element,handleDragOver:e=>this._onDragOver(e),handleDragLeave:()=>this._onDragLeave(),handleDrop:e=>this._onDropEvent(e)};this.addDisposables(this._onDrop,this._onWillShowOverlay,jv.getInstance().registerTarget(n))}setTargetZones(e){this._acceptedTargetZonesSet=new Set(e)}setOverlayModel(e){this.options.overlayModel=e}dispose(){this._removeOverlay(),super.dispose()}_onDragOver(e){var t,n;if(this._disabled){this._removeOverlay();return}let r=(t=this.options).getOverrideTarget?.call(t);if(this._acceptedTargetZonesSet.size===0){if(r)return;this._removeOverlay();return}let i=(n=this.options).getOverlayOutline?.call(n)??this.element,a=i.offsetWidth,o=i.offsetHeight;if(a===0||o===0)return;let s=i.getBoundingClientRect(),c=e.clientX-s.left,l=e.clientY-s.top,u=this._calculateQuadrant(c,l,a,o);if(u===null){this._removeOverlay();return}if(!this.options.canDisplayOverlay(e.pointerEvent,u)){if(r)return;this._removeOverlay();return}let d=new Cv({nativeEvent:e.pointerEvent,position:u});if(this._onWillShowOverlay.fire(d),d.defaultPrevented){this._removeOverlay();return}if(r){Sv({outlineElement:i,targetModel:r,quadrant:u,width:a,height:o,overlayModel:this.options.overlayModel,className:this.options.className}),this._state=u;return}if(!this._targetElement){let e=_v();this._targetElement=e.dropzone,this._overlayElement=e.selection,this._state=`center`,this.element.classList.add(`dv-drop-target`),this.element.append(this._targetElement)}this._overlayElement&&yv(this._overlayElement,u,a,o,this.options.overlayModel),this._state=u}_onDragLeave(){var e;let t=(e=this.options).getOverrideTarget?.call(e);if(t){this._state=void 0,t.clear();return}this._removeOverlay()}_onDropEvent(e){var t;let n=this._state,r=(t=this.options).getOverrideTarget?.call(t);this._removeOverlay(),r?.clear(),n&&this._onDrop.fire({position:n,nativeEvent:e.pointerEvent})}_calculateQuadrant(e,t,n,r){let i=this.options.overlayModel?.activationSize??Mv;return i.type===`percentage`?Ov(this._acceptedTargetZonesSet,e,t,n,r,i.value):kv(this._acceptedTargetZonesSet,e,t,n,r,i.value)}_removeOverlay(){var e;this._targetElement?(this._state=void 0,(e=this._targetElement.parentElement)==null||e.classList.remove(`dv-drop-target`),this._targetElement.remove(),this._targetElement=void 0,this._overlayElement=void 0):this._state=void 0}},Pv=5,Fv=250,Iv=8,Lv=class extends Jg{constructor(e,t){super(),this.element=e,this.options=t,this._disabled=!1,this._armed=!1,this._startX=0,this._startY=0,this._touchOnly=t.touchOnly??!0,this.addDisposables(Z(this.element,`pointerdown`,e=>{this._onPointerDown(e)}))}setDisabled(e){this._disabled=e,e&&this._cancelPending()}setTouchOnly(e){this._touchOnly!==e&&(this._touchOnly=e,e&&this._cancelPending())}_shouldHandle(e){var t;return!(this._disabled||this._touchOnly&&e.pointerType!==`touch`&&e.pointerType!==`pen`||(t=this.options).isCancelled?.call(t,e))}_onPointerDown(e){if(!this._shouldHandle(e))return;this._cancelPending(),this._pendingPointerId=e.pointerId,this._startX=e.clientX,this._startY=e.clientY,this._startEvent=e;let t=e.pointerType===`touch`||e.pointerType===`pen`,n=this.options.touchInitiationDelay,r=(typeof n==`function`?n():n)??Fv;this._armed=!t||r<=0,t&&r>0&&isFinite(r)&&(this._armTimer=setTimeout(()=>{this._armTimer=void 0,this._armed=!0},r));let i=this.options.threshold??Pv,a=this.options.pressTolerance,o=(typeof a==`function`?a():a)??Iv,s=this.element.ownerDocument?.defaultView??window;this._pendingMoveListener=Z(s,`pointermove`,e=>{if(e.pointerId!==this._pendingPointerId)return;let t=e.clientX-this._startX,n=e.clientY-this._startY,r=Math.hypot(t,n);if(this._armed){r>=i&&this._beginDrag(e);return}r>o&&this._beginDrag(e)}),this._pendingUpListener=Z(s,`pointerup`,e=>{e.pointerId===this._pendingPointerId&&this._cancelPending()}),this._pendingCancelListener=Z(s,`pointercancel`,e=>{e.pointerId===this._pendingPointerId&&this._cancelPending()})}cancelPending(){this._cancelPending()}_cancelPending(){var e,t,n;this._pendingPointerId=void 0,this._armTimer!==void 0&&(clearTimeout(this._armTimer),this._armTimer=void 0),this._armed=!1,(e=this._pendingMoveListener)==null||e.dispose(),(t=this._pendingUpListener)==null||t.dispose(),(n=this._pendingCancelListener)==null||n.dispose(),this._pendingMoveListener=void 0,this._pendingUpListener=void 0,this._pendingCancelListener=void 0,this._startEvent=void 0}_beginDrag(e){var t,n,r;let i=this._startEvent??e;this._cancelPending(),(n=(t=this.options).onDragStart)==null||n.call(t,i);let a=(r=this.options).createGhost?.call(r,i);jv.getInstance().beginDrag({pointerEvent:e,source:this.element,getData:()=>this.options.getData(i),ghost:a,onDragMove:this.options.onDragMove,onDragEnd:this.options.onDragEnd})}dispose(){this._cancelPending(),super.dispose()}},Rv=class{constructor(e){this._disposed=!1,this.element=e.element,this.offsetX=e.offsetX??0,this.offsetY=e.offsetY??0,this.element.style.position=`fixed`,this.element.style.left=`0px`,this.element.style.top=`0px`,this.element.style.pointerEvents=`none`,this.element.style.zIndex=`99999`,this.element.style.opacity=String(e.opacity??.8),this.element.style.willChange=`transform`,this.element.style.transform=`translate3d(${e.initialX-this.offsetX}px, ${e.initialY-this.offsetY}px, 0)`,(e.owner?.ownerDocument??document).body.appendChild(this.element)}update(e,t){this._disposed||(this.element.style.transform=`translate3d(${e-this.offsetX}px, ${t-this.offsetY}px, 0)`)}dispose(){this._disposed||(this._disposed=!0,this.element.remove())}},zv=class extends Jg{constructor(e,t){super(),this.el=e,this.opts=t,this._dataDisposable=new Yg,this._pointerEventsDisposable=new Yg,this._disabled=!!t.disabled,this.addDisposables(this._dataDisposable,this._pointerEventsDisposable,Z(this.el,`dragstart`,e=>{var t,n,r,i;if(e.defaultPrevented||this._disabled||(t=this.opts).isCancelled?.call(t,e)){e.preventDefault();return}let a=v_(this.el.ownerDocument??document);this._pointerEventsDisposable.value={dispose:()=>a.release()},this.el.classList.add(`dv-dragged`),setTimeout(()=>this.el.classList.remove(`dv-dragged`),0),this._dataDisposable.value=this.opts.getData(e);let o=(n=this.opts).createGhost?.call(n,e);if(o&&e.dataTransfer&&(Av(e.dataTransfer,o.element,{x:o.offsetX??0,y:o.offsetY??0}),o.dispose)){let e=o.dispose;setTimeout(()=>e(),0)}e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.items.length===0&&e.dataTransfer.setData(`text/plain`,``)),(i=(r=this.opts).onDragStart)==null||i.call(r,e)}),Z(this.el,`dragend`,e=>{var t,n;this._pointerEventsDisposable.dispose(),setTimeout(()=>this._dataDisposable.dispose(),0),(n=(t=this.opts).onDragEnd)==null||n.call(t,e)}))}setDisabled(e){this._disabled=e}setTouchOnly(e){}cancelPending(){}},Bv=class{constructor(){this.kind=`html5`}createDropTarget(e,t){return new Dv(e,t)}createDragSource(e,t){return new zv(e,t)}},Vv=class{constructor(){this.kind=`pointer`}createDropTarget(e,t){return new Nv(e,t)}createDragSource(e,t){let n=t.createGhost?n=>{let r=t.createGhost(n);if(!r)return;let i=new Rv({element:r.element,initialX:n.clientX,initialY:n.clientY,offsetX:r.offsetX,offsetY:r.offsetY,owner:e});if(r.dispose){let e=i.dispose.bind(i),t=r.dispose;i.dispose=()=>{e(),t()}}return i}:void 0,r=new Lv(e,{getData:t.getData,isCancelled:t.isCancelled,onDragStart:t.onDragStart,onDragEnd:t.onDragEnd?e=>t.onDragEnd(e.pointerEvent):void 0,createGhost:n,touchOnly:t.touchOnly,touchInitiationDelay:t.touchInitiationDelay,pressTolerance:t.pressTolerance,threshold:t.threshold});return t.disabled&&r.setDisabled(!0),r}},Hv=new Bv,Uv=new Vv,Wv=Object.keys({disableAutoResizing:void 0,disableDnd:void 0,className:void 0}),Gv=class extends Qg{constructor(e,t,n,r){super(),this.nativeEvent=e,this.position=t,this.getData=n,this.panel=r}},Kv=class extends Zg{constructor(){super()}},qv=class extends Jg{get isFocused(){return this._isFocused}get isActive(){return this._isActive}get isVisible(){return this._isVisible}get width(){return this._width}get height(){return this._height}constructor(e,t){super(),this.id=e,this.component=t,this._isFocused=!1,this._isActive=!1,this._isVisible=!0,this._width=0,this._height=0,this._parameters={},this.panelUpdatesDisposable=new Yg,this._onDidDimensionChange=new X,this.onDidDimensionsChange=this._onDidDimensionChange.event,this._onDidChangeFocus=new X,this.onDidFocusChange=this._onDidChangeFocus.event,this._onWillFocus=new X,this.onWillFocus=this._onWillFocus.event,this._onDidVisibilityChange=new X,this.onDidVisibilityChange=this._onDidVisibilityChange.event,this._onWillVisibilityChange=new X,this.onWillVisibilityChange=this._onWillVisibilityChange.event,this._onDidActiveChange=new X,this.onDidActiveChange=this._onDidActiveChange.event,this._onActiveChange=new X,this.onActiveChange=this._onActiveChange.event,this._onDidParametersChange=new X,this.onDidParametersChange=this._onDidParametersChange.event,this.addDisposables(this.onDidFocusChange(e=>{this._isFocused=e.isFocused}),this.onDidActiveChange(e=>{this._isActive=e.isActive}),this.onDidVisibilityChange(e=>{this._isVisible=e.isVisible}),this.onDidDimensionsChange(e=>{this._width=e.width,this._height=e.height}),this.panelUpdatesDisposable,this._onDidDimensionChange,this._onDidChangeFocus,this._onDidVisibilityChange,this._onDidActiveChange,this._onWillFocus,this._onActiveChange,this._onWillFocus,this._onWillVisibilityChange,this._onDidParametersChange)}getParameters(){return this._parameters}initialize(e){this.panelUpdatesDisposable.value=this._onDidParametersChange.event(t=>{this._parameters=t,e.update({params:t})})}setVisible(e){this._onWillVisibilityChange.fire({isVisible:e})}setActive(){this._onActiveChange.fire()}updateParameters(e){this._onDidParametersChange.fire(e)}},Jv=class extends qv{constructor(e,t){super(e,t),this._onDidConstraintsChangeInternal=new X,this.onDidConstraintsChangeInternal=this._onDidConstraintsChangeInternal.event,this._onDidConstraintsChange=new X({replay:!0}),this.onDidConstraintsChange=this._onDidConstraintsChange.event,this._onDidSizeChange=new X,this.onDidSizeChange=this._onDidSizeChange.event,this.addDisposables(this._onDidConstraintsChangeInternal,this._onDidConstraintsChange,this._onDidSizeChange)}setConstraints(e){this._onDidConstraintsChangeInternal.fire(e)}setSize(e){this._onDidSizeChange.fire(e)}},Yv=class extends Jv{set pane(e){this._pane=e}constructor(e,t){super(e,t),this._onDidExpansionChange=new X({replay:!0}),this.onDidExpansionChange=this._onDidExpansionChange.event,this._onMouseEnter=new X({}),this.onMouseEnter=this._onMouseEnter.event,this._onMouseLeave=new X({}),this.onMouseLeave=this._onMouseLeave.event,this.addDisposables(this._onDidExpansionChange,this._onMouseEnter,this._onMouseLeave)}setExpanded(e){var t;(t=this._pane)==null||t.setExpanded(e)}get isExpanded(){return!!this._pane?.isExpanded()}},Xv=class extends Jg{get element(){return this._element}get width(){return this._width}get height(){return this._height}get params(){return this._params?.params}constructor(e,t,n){super(),this.id=e,this.component=t,this.api=n,this._height=0,this._width=0,this._element=document.createElement(`div`),this._element.tabIndex=-1,this._element.style.outline=`none`,this._element.style.height=`100%`,this._element.style.width=`100%`,this._element.style.overflow=`hidden`;let r=c_(this._element);this.addDisposables(this.api,r.onDidFocus(()=>{this.api._onDidChangeFocus.fire({isFocused:!0})}),r.onDidBlur(()=>{this.api._onDidChangeFocus.fire({isFocused:!1})}),r)}focus(){let e=new Kv;this.api._onWillFocus.fire(e),!e.defaultPrevented&&this._element.focus()}layout(e,t){this._width=e,this._height=t,this.api._onDidDimensionChange.fire({width:e,height:t}),this.part&&this._params&&this.part.update(this._params.params)}init(e){this._params=e,this.part=this.getComponent()}update(e){var t;this._params=Object.assign(Object.assign({},this._params),{params:Object.assign(Object.assign({},this._params?.params),e.params)});for(let t of Object.keys(e.params))e.params[t]===void 0&&delete this._params.params[t];(t=this.part)==null||t.update({params:this._params.params})}toJSON(){let e=this._params?.params??{};return{id:this.id,component:this.component,params:Object.keys(e).length>0?e:void 0}}dispose(){var e;this.api.dispose(),(e=this.part)==null||e.dispose(),super.dispose()}},Zv=class extends Xv{set orientation(e){this._orientation=e}get orientation(){return this._orientation}get minimumSize(){return this.headerSize+(this.isExpanded()?this._minimumBodySize:0)}get maximumSize(){return this.headerSize+(this.isExpanded()?this._maximumBodySize:0)}get size(){return this._size}get orthogonalSize(){return this._orthogonalSize}set orthogonalSize(e){this._orthogonalSize=e}get minimumBodySize(){return this._minimumBodySize}set minimumBodySize(e){this._minimumBodySize=typeof e==`number`?e:0}get maximumBodySize(){return this._maximumBodySize}set maximumBodySize(e){this._maximumBodySize=typeof e==`number`?e:1/0}get headerVisible(){return this._headerVisible}set headerVisible(e){this._headerVisible=e,this.header.style.display=e?``:`none`}constructor(e){super(e.id,e.component,new Yv(e.id,e.component)),this._onDidChangeExpansionState=new X({replay:!0}),this.onDidChangeExpansionState=this._onDidChangeExpansionState.event,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._orthogonalSize=0,this._size=0,this._isExpanded=!1,this.api.pane=this,this.api.initialize(this),this.headerSize=e.headerSize,this.headerComponent=e.headerComponent,this._minimumBodySize=e.minimumBodySize,this._maximumBodySize=e.maximumBodySize,this._isExpanded=e.isExpanded,this._headerVisible=e.isHeaderVisible,this._onDidChangeExpansionState.fire(this.isExpanded()),this._orientation=e.orientation,this.element.classList.add(`dv-pane`),this.addDisposables(this.api.onWillVisibilityChange(e=>{let{isVisible:t}=e,{accessor:n}=this._params;n.setVisible(this,t)}),this.api.onDidSizeChange(e=>{this._onDidChange.fire({size:e.size})}),Z(this.element,`mouseenter`,e=>{this.api._onMouseEnter.fire(e)}),Z(this.element,`mouseleave`,e=>{this.api._onMouseLeave.fire(e)})),this.addDisposables(this._onDidChangeExpansionState,this.onDidChangeExpansionState(e=>{this.api._onDidExpansionChange.fire({isExpanded:e})}),this.api.onDidFocusChange(e=>{this.header&&(e.isFocused?o_(this.header,`focused`):a_(this.header,`focused`))})),this.renderOnce()}setVisible(e){this.api._onDidVisibilityChange.fire({isVisible:e})}setActive(e){this.api._onDidActiveChange.fire({isActive:e})}isExpanded(){return this._isExpanded}setExpanded(e){this._isExpanded!==e&&(this._isExpanded=e,e?(this.animationTimer&&clearTimeout(this.animationTimer),this.body&&this.element.appendChild(this.body)):this.animationTimer=setTimeout(()=>{var e;(e=this.body)==null||e.remove()},200),this._onDidChange.fire(e?{size:this.width}:{}),this._onDidChangeExpansionState.fire(e))}layout(e,t){this._size=e,this._orthogonalSize=t;let[n,r]=this.orientation===L_.HORIZONTAL?[e,t]:[t,e];super.layout(n,r)}init(e){var t,n;super.init(e),typeof e.minimumBodySize==`number`&&(this.minimumBodySize=e.minimumBodySize),typeof e.maximumBodySize==`number`&&(this.maximumBodySize=e.maximumBodySize),this.bodyPart=this.getBodyComponent(),this.headerPart=this.getHeaderComponent(),this.bodyPart.init(Object.assign(Object.assign({},e),{api:this.api})),this.headerPart.init(Object.assign(Object.assign({},e),{api:this.api})),(t=this.body)==null||t.append(this.bodyPart.element),(n=this.header)==null||n.append(this.headerPart.element),typeof e.isExpanded==`boolean`&&this.setExpanded(e.isExpanded)}toJSON(){let e=this._params;return Object.assign(Object.assign({},super.toJSON()),{headerComponent:this.headerComponent,title:e.title})}renderOnce(){this.header=document.createElement(`div`),this.header.tabIndex=0,this.header.className=`dv-pane-header`,this.header.style.height=`${this.headerSize}px`,this.header.style.lineHeight=`${this.headerSize}px`,this.header.style.minHeight=`${this.headerSize}px`,this.header.style.maxHeight=`${this.headerSize}px`,this.element.appendChild(this.header),this.body=document.createElement(`div`),this.body.className=`dv-pane-body`,this.element.appendChild(this.body)}getComponent(){return{update:e=>{var t,n;(t=this.bodyPart)==null||t.update({params:e}),(n=this.headerPart)==null||n.update({params:e})},dispose:()=>{var e,t;(e=this.bodyPart)==null||e.dispose(),(t=this.headerPart)==null||t.dispose()}}}},Qv=class extends Zv{constructor(e){super({id:e.id,component:e.component,headerComponent:e.headerComponent,orientation:e.orientation,isExpanded:e.isExpanded,isHeaderVisible:!0,headerSize:e.headerSize,minimumBodySize:e.minimumBodySize,maximumBodySize:e.maximumBodySize}),this._onDidDrop=new X,this.onDidDrop=this._onDidDrop.event,this._onUnhandledDragOverEvent=new X,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this.accessor=e.accessor,this.addDisposables(this._onDidDrop,this._onUnhandledDragOverEvent),e.disableDnd||this.initDragFeatures()}initDragFeatures(){if(!this.header)return;let e=this.id,t=this.accessor.id;this.header.draggable=!0;let n={getData:()=>(Wg.getInstance().setData([new Ug(t,e)],Ug.prototype),{dispose:()=>{Wg.getInstance().clearData(Ug.prototype)}})};this.html5DragSource=Hv.createDragSource(this.header,n),this.pointerDragSource=Uv.createDragSource(this.header,n);let r={acceptedTargetZones:[`top`,`bottom`],overlayModel:{activationSize:{type:`percentage`,value:50}},canDisplayOverlay:(e,t)=>{let n=Kg();if(n&&n.paneId!==this.id&&n.viewId===this.accessor.id)return!0;let r=new Gv(e,t,Kg,this);return this._onUnhandledDragOverEvent.fire(r),r.isAccepted}};this.target=Hv.createDropTarget(this.element,r),this.pointerTarget=Uv.createDropTarget(this.element,r),this.addDisposables(this._onDidDrop,this.html5DragSource,this.pointerDragSource,this.target,this.pointerTarget,this.target.onDrop(e=>{this.onDrop(e)}),this.pointerTarget.onDrop(e=>{this.onDrop(e)}))}onDrop(e){let t=Kg();if(!t||t.viewId!==this.accessor.id){this._onDidDrop.fire(Object.assign(Object.assign({},e),{panel:this,api:new uv(this.accessor),getData:Kg}));return}let n=this._params.containerApi,r=t.paneId,i=n.getPanel(r);if(!i){this._onDidDrop.fire(Object.assign(Object.assign({},e),{panel:this,getData:Kg,api:new uv(this.accessor)}));return}let a=n.panels,o=a.indexOf(i),s=n.panels.indexOf(this);(e.position===`left`||e.position===`top`)&&(s=Math.max(0,s-1)),(e.position===`right`||e.position===`bottom`)&&(o>s&&s++,s=Math.min(a.length-1,s)),n.movePanel(o,s)}},$v=class extends Jg{get element(){return this._element}constructor(e,t){super(),this.accessor=e,this.group=t,this.disposable=new Yg,this._onDidFocus=new X,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new X,this.onDidBlur=this._onDidBlur.event,this._element=document.createElement(`div`),this._element.className=`dv-content-container`,this._element.tabIndex=-1,this.addDisposables(this._onDidFocus,this._onDidBlur);let n=t.dropTargetContainer,r=(e,t)=>{if(this.group.locked===`no-drop-target`||this.group.locked&&t===`center`)return!1;let n=Gg();return!n&&e.shiftKey&&this.group.location.type!==`floating`?!1:n&&n.viewId===this.accessor.id?!0:this.group.canDisplayOverlay(e,t,`content`)};this.dropTarget=new Dv(this.element,{getOverlayOutline:()=>e.options.theme?.dndPanelOverlay===`group`?this.element.parentElement:null,className:`dv-drop-target-content`,acceptedTargetZones:[`top`,`bottom`,`left`,`right`,`center`],canDisplayOverlay:r,getOverrideTarget:n?()=>n.model:void 0}),this.pointerDropTarget=Uv.createDropTarget(this.element,{acceptedTargetZones:[`top`,`bottom`,`left`,`right`,`center`],canDisplayOverlay:r,getOverlayOutline:()=>e.options.theme?.dndPanelOverlay===`group`?this.element.parentElement:null,className:`dv-drop-target-content`,getOverrideTarget:n?()=>n.model:void 0}),this.addDisposables(this.dropTarget,this.pointerDropTarget)}show(){this.element.style.display=``}hide(){this.element.style.display=`none`}renderPanel(e,t={asActive:!0}){var n,r,i,a;let o=t.asActive||this.panel&&this.group.isPanelActive(this.panel);this.panel&&this.panel.view.content.element.parentElement===this._element&&(this._element.removeChild(this.panel.view.content.element),(r=(n=this.panel.view.content).onHide)==null||r.call(n)),this.panel=e;let s;switch(e.api.renderer){case`onlyWhenVisible`:this.group.renderContainer.detatch(e),this.panel&&o&&(this._element.appendChild(this.panel.view.content.element),(a=(i=this.panel.view.content).onShow)==null||a.call(i)),s=this._element;break;case`always`:e.view.content.element.parentElement===this._element&&this._element.removeChild(e.view.content.element),s=this.group.renderContainer.attach({panel:e,referenceContainer:this});break;default:throw Error(`dockview: invalid renderer type '${e.api.renderer}'`)}if(o){let e=c_(s);this.focusTracker=e;let t=new Jg;t.addDisposables(e,e.onDidFocus(()=>this._onDidFocus.fire()),e.onDidBlur(()=>this._onDidBlur.fire())),this.disposable.value=t}}openPanel(e){this.panel!==e&&this.renderPanel(e)}layout(e,t){}closePanel(){var e,t,n;this.panel&&this.panel.api.renderer===`onlyWhenVisible`&&((e=this.panel.view.content.element.parentElement)==null||e.removeChild(this.panel.view.content.element),(n=(t=this.panel.view.content).onHide)==null||n.call(t)),this.panel=void 0}dispose(){this.disposable.dispose(),super.dispose()}refreshFocusState(){this.focusTracker?.refreshState&&this.focusTracker.refreshState()}},ey=500,ty=8,ny=class extends Jg{constructor(e,t){super(),this.element=e,this.options=t,this._startX=0,this._startY=0,this.addDisposables(Z(this.element,`pointerdown`,e=>{this._onPointerDown(e)}))}_onPointerDown(e){if((this.options.touchOnly??!0)&&e.pointerType!==`touch`&&e.pointerType!==`pen`)return;this._cancelPending(),this._pointerId=e.pointerId,this._startX=e.clientX,this._startY=e.clientY;let t=this.options.delay??ey,n=this.options.tolerance??ty,r=this.element.ownerDocument?.defaultView??window;this._timer=setTimeout(()=>{this._timer=void 0,this._cancelPending(),this._installContextMenuGuard(r),this._installClickGuard(r),this.options.onLongPress(e)},t),this._moveListener=Z(r,`pointermove`,e=>{if(e.pointerId!==this._pointerId)return;let t=e.clientX-this._startX,r=e.clientY-this._startY;Math.hypot(t,r)>n&&this._cancelPending()}),this._upListener=Z(r,`pointerup`,e=>{e.pointerId===this._pointerId&&this._cancelPending()}),this._cancelListener=Z(r,`pointercancel`,e=>{e.pointerId===this._pointerId&&this._cancelPending()})}_installContextMenuGuard(e){let t,n=setTimeout(()=>t?.dispose(),500);t=Z(e,`contextmenu`,e=>{e.preventDefault(),clearTimeout(n),t?.dispose()},{capture:!0})}_installClickGuard(e){let t,n=setTimeout(()=>t?.dispose(),500);t=Z(e,`click`,e=>{let r=e.target;r&&this.element.contains(r)&&(e.preventDefault(),e.stopPropagation()),clearTimeout(n),t?.dispose()},{capture:!0})}_cancelPending(){var e,t,n;this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0),this._pointerId=void 0,(e=this._moveListener)==null||e.dispose(),(t=this._upListener)==null||t.dispose(),(n=this._cancelListener)==null||n.dispose(),this._moveListener=void 0,this._upListener=void 0,this._cancelListener=void 0}dispose(){this._cancelPending(),super.dispose()}};function ry(e){if(e.disableDnd)return{html5:!1,pointer:!1,pointerHandlesMouse:!1};switch(e.dndStrategy){case`pointer`:return{html5:!1,pointer:!0,pointerHandlesMouse:!0};case`html5`:return{html5:!0,pointer:!1,pointerHandlesMouse:!1};case`auto`:case void 0:default:return iy()?{html5:!1,pointer:!0,pointerHandlesMouse:!0}:{html5:!0,pointer:!0,pointerHandlesMouse:!1}}}function iy(){if(typeof window>`u`||!window.matchMedia)return!1;let e=window.matchMedia(`(pointer: coarse)`).matches,t=window.matchMedia(`(pointer: fine)`).matches;return e&&!t}var ay=class extends Jg{get element(){return this._element}constructor(e,t,n){super(),this.panel=e,this.accessor=t,this.group=n,this.content=void 0,this.panelTransfer=Wg.getInstance(),this._direction=`horizontal`,this._onPointDown=new X,this.onPointerDown=this._onPointDown.event,this._onTabClick=new X,this.onTabClick=this._onTabClick.event,this._onDropped=new X,this.onDrop=this._onDropped.event,this._onDragStart=new X,this.onDragStart=this._onDragStart.event,this._onDragEnd=new X,this.onDragEnd=this._onDragEnd.event;let r=ry(this.accessor.options);this._element=document.createElement(`div`),this._element.className=`dv-tab`,this._element.tabIndex=0,this._element.draggable=r.html5,Q(this.element,`dv-inactive-tab`,!0);let i=(e,t)=>{if(this.group.locked)return!1;let n=Gg();return n&&this.accessor.id===n.viewId?this.accessor.options.theme?.tabAnimation!==`smooth`:this.group.model.canDisplayOverlay(e,t,`tab`)};this.dropTarget=Hv.createDropTarget(this._element,{acceptedTargetZones:[`left`,`right`],overlayModel:this._buildOverlayModel(),canDisplayOverlay:i,getOverrideTarget:()=>n.model.dropTargetContainer?.model}),this.pointerDropTarget=Uv.createDropTarget(this._element,{acceptedTargetZones:[`left`,`right`],overlayModel:this._buildOverlayModel(),canDisplayOverlay:i,getOverrideTarget:()=>n.model.dropTargetContainer?.model});let a={getData:()=>(this.panelTransfer.setData([new Hg(this.accessor.id,this.group.id,this.panel.id)],Hg.prototype),{dispose:()=>{this.panelTransfer.clearData(Hg.prototype)}}),createGhost:()=>({element:this._buildGhostElement(),offsetX:30,offsetY:-10}),onDragStart:e=>{this._onDragStart.fire(e),!(e instanceof PointerEvent)&&this.accessor.options.theme?.tabAnimation===`smooth`&&requestAnimationFrame(()=>{Q(this.element,`dv-tab--dragging`,!0)})},onDragEnd:e=>{this._onDragEnd.fire(e)}};this.html5DragSource=Hv.createDragSource(this._element,Object.assign(Object.assign({},a),{disabled:!r.html5})),this.pointerDragSource=Uv.createDragSource(this._element,Object.assign(Object.assign({},a),{disabled:!r.pointer,touchOnly:!r.pointerHandlesMouse,isCancelled:()=>!ry(this.accessor.options).pointer})),this.onWillShowOverlay=Xg.any(this.dropTarget.onWillShowOverlay,this.pointerDropTarget.onWillShowOverlay),this.addDisposables(this._onPointDown,this._onTabClick,this._onDropped,this._onDragStart,this._onDragEnd,this.accessor.onDidOptionsChange(()=>{let e=this._buildOverlayModel();this.dropTarget.setOverlayModel(e),this.pointerDropTarget.setOverlayModel(e)}),Z(this._element,`dragend`,()=>{Q(this.element,`dv-tab--dragging`,!1)}),this.html5DragSource,Z(this._element,`pointerdown`,e=>{this._onPointDown.fire(e)}),Z(this._element,`click`,e=>{this._onTabClick.fire(e)}),Z(this._element,`contextmenu`,e=>{this.accessor.contextMenuController.show(this.panel,this.group,e)}),new ny(this._element,{onLongPress:e=>{this.pointerDragSource.cancelPending(),this.accessor.contextMenuController.show(this.panel,this.group,e)}}),this.dropTarget.onDrop(e=>{this._onDropped.fire(e)}),this.pointerDropTarget.onDrop(e=>{this._onDropped.fire(e)}),this.dropTarget,this.pointerDropTarget,this.pointerDragSource)}setActive(e){Q(this.element,`dv-active-tab`,e),Q(this.element,`dv-inactive-tab`,!e)}setContent(e){this.content&&this._element.removeChild(this.content.element),this.content=e,this._element.appendChild(this.content.element)}_buildOverlayModel(){let e=this.accessor.options.theme?.dndTabIndicator===`line`?1/0:0;return{activationSize:{value:50,type:`percentage`},smallWidthBoundary:e,smallHeightBoundary:e}}setDirection(e){this._direction=e;let t=e===`vertical`?[`top`,`bottom`]:[`left`,`right`];this.dropTarget.setTargetZones(t),this.pointerDropTarget.setTargetZones(t)}updateDragAndDropState(){let e=ry(this.accessor.options);this._element.draggable=e.html5,this.html5DragSource.setDisabled(!e.html5),this.pointerDragSource.setDisabled(!e.pointer),this.pointerDragSource.setTouchOnly(!e.pointerHandlesMouse)}_buildGhostElement(){let e=getComputedStyle(this.element),t=this.element.cloneNode(!0),n=this._direction===`vertical`,r=new Set([`writing-mode`,`inline-size`,`block-size`,`min-inline-size`,`min-block-size`,`max-inline-size`,`max-block-size`,`margin-inline`,`margin-inline-start`,`margin-inline-end`,`margin-block`,`margin-block-start`,`margin-block-end`,`padding-inline`,`padding-inline-start`,`padding-inline-end`,`padding-block`,`padding-block-start`,`padding-block-end`]);return Array.from(e).forEach(i=>{n&&r.has(i)||t.style.setProperty(i,e.getPropertyValue(i),e.getPropertyPriority(i))}),n&&(t.style.setProperty(`writing-mode`,`horizontal-tb`),t.style.setProperty(`width`,e.height),t.style.setProperty(`height`,e.width)),t.style.position=`absolute`,t.classList.add(`dv-tab-ghost-drag`),t}},oy=class{get kind(){return this.options.kind}get nativeEvent(){return this.event.nativeEvent}get position(){return this.event.position}get defaultPrevented(){return this.event.defaultPrevented}get panel(){return this.options.panel}get api(){return this.options.api}get group(){return this.options.group}preventDefault(){this.event.preventDefault()}getData(){return this.options.getData()}constructor(e,t){this.event=e,this.options=t}},sy=500,cy=class extends Jg{get element(){return this._element}constructor(e,t){super(),this.accessor=e,this.group=t,this.panelTransfer=Wg.getInstance(),this._onDrop=new X,this.onDrop=this._onDrop.event,this._onDragStart=new X,this.onDragStart=this._onDragStart.event;let n=ry(this.accessor.options);this._element=document.createElement(`div`),this._element.className=`dv-void-container`,this._element.draggable=n.html5,Q(this._element,`dv-draggable`,n.html5||n.pointer),this.addDisposables(this._onDrop,this._onDragStart,Z(this._element,`pointerdown`,()=>{this.accessor.doSetGroupActive(this.group)}),Z(this._element,`pointerdown`,e=>{e.shiftKey&&d_(e)},!0));let r=(e,n)=>{if(this.group.api.locked)return!1;let r=Gg();return r&&this.accessor.id===r.viewId?!0:t.model.canDisplayOverlay(e,n,`header_space`)};this.dropTarget=Hv.createDropTarget(this._element,{acceptedTargetZones:[`center`],canDisplayOverlay:r,getOverrideTarget:()=>t.model.dropTargetContainer?.model}),this.pointerDropTarget=Uv.createDropTarget(this._element,{acceptedTargetZones:[`center`],canDisplayOverlay:r,getOverrideTarget:()=>t.model.dropTargetContainer?.model});let i=()=>{let e=document.createElement(`div`),t=window.getComputedStyle(this._element),n=t.getPropertyValue(`--dv-activegroup-visiblepanel-tab-background-color`),r=t.getPropertyValue(`--dv-activegroup-visiblepanel-tab-color`);return e.style.backgroundColor=n,e.style.color=r,e.style.padding=`2px 8px`,e.style.height=`24px`,e.style.fontSize=`11px`,e.style.lineHeight=`20px`,e.style.borderRadius=`12px`,e.style.whiteSpace=`nowrap`,e.style.boxSizing=`border-box`,e.style.display=`inline-block`,e.textContent=`Multiple Panels (${this.group.size})`,e},a={getData:()=>(this.panelTransfer.setData([new Hg(this.accessor.id,this.group.id,null)],Hg.prototype),{dispose:()=>{this.panelTransfer.clearData(Hg.prototype)}}),createGhost:()=>{let e=this.accessor.options.createGroupDragGhostComponent;if(e){let t=e(this.group);return t.init({group:this.group,api:this.accessor.api}),{element:t.element,offsetX:30,offsetY:-10,dispose:t.dispose?()=>t.dispose?.call(t):void 0}}return{element:i(),offsetX:30,offsetY:-10}},onDragStart:e=>{this._onDragStart.fire(e)}};this.html5DragSource=Hv.createDragSource(this._element,Object.assign(Object.assign({},a),{disabled:!n.html5,isCancelled:e=>this.group.api.location.type===`floating`&&!e.shiftKey||this.group.api.location.type===`edge`&&this.group.size===0}));let o=()=>this.group?.api?.location?.type===`floating`;this.pointerDragSource=Uv.createDragSource(this._element,Object.assign(Object.assign({},a),{disabled:!n.pointer,touchOnly:!n.pointerHandlesMouse,touchInitiationDelay:()=>o()?sy:250,pressTolerance:()=>o()?1/0:8,isCancelled:()=>!ry(this.accessor.options).pointer||this.group.api.location.type===`edge`&&this.group.size===0,onDragStart:e=>{var t;(t=this.getFloatingOverlay())==null||t.cancelPendingDrag(),this._onDragStart.fire(e)}}));let s=new Yg,c=()=>{let e=this.getFloatingOverlay();s.value=e?e.onDidStartMoving(()=>{this.pointerDragSource.cancelPending()}):qg.NONE};c(),this.addDisposables(s);let l=this.group?.api?.onDidLocationChange;l&&this.addDisposables(l(c)),this.onWillShowOverlay=Xg.any(this.dropTarget.onWillShowOverlay,this.pointerDropTarget.onWillShowOverlay),this.addDisposables(this.html5DragSource,this.dropTarget.onDrop(e=>{this._onDrop.fire(e)}),this.pointerDropTarget.onDrop(e=>{this._onDrop.fire(e)}),this.dropTarget,this.pointerDropTarget,this.pointerDragSource)}updateDragAndDropState(){let e=ry(this.accessor.options);this._element.draggable=e.html5,Q(this._element,`dv-draggable`,e.html5||e.pointer),this.html5DragSource.setDisabled(!e.html5),this.pointerDragSource.setDisabled(!e.pointer),this.pointerDragSource.setTouchOnly(!e.pointerHandlesMouse)}getFloatingOverlay(){if(this.group)return this.accessor.floatingGroups?.find(e=>e.group===this.group)?.overlay}},ly=class e extends Jg{get element(){return this._element}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._scrollOffset=0,this._orientation=e,a_(this._scrollbar,`dv-scrollbar-vertical`,`dv-scrollbar-horizontal`),e===`vertical`?o_(this._scrollbar,`dv-scrollbar-vertical`):o_(this._scrollbar,`dv-scrollbar-horizontal`))}constructor(t){super(),this.scrollableElement=t,this._scrollOffset=0,this._orientation=`horizontal`,this._element=document.createElement(`div`),this._element.className=`dv-scrollable`,this._scrollbar=document.createElement(`div`),this._scrollbar.className=`dv-scrollbar dv-scrollbar-horizontal`,this.element.appendChild(t),this.element.appendChild(this._scrollbar),this.addDisposables(Z(this.element,`wheel`,t=>{this._scrollOffset+=t.deltaY*e.MouseWheelSpeed,this.calculateScrollbarStyles()}),Z(this._scrollbar,`pointerdown`,e=>{e.preventDefault(),Q(this.element,`dv-scrollable-scrolling`,!0);let t=this._orientation===`horizontal`?e.clientX:e.clientY,n=this._scrollOffset,r=e=>{let r=this._orientation===`horizontal`?e.clientX-t:e.clientY-t,i=(this._orientation===`horizontal`?this.element.clientWidth:this.element.clientHeight)/(this._orientation===`horizontal`?this.scrollableElement.scrollWidth:this.scrollableElement.scrollHeight);this._scrollOffset=n+r/i,this.calculateScrollbarStyles()},i=()=>{Q(this.element,`dv-scrollable-scrolling`,!1),document.removeEventListener(`pointermove`,r),document.removeEventListener(`pointerup`,i),document.removeEventListener(`pointercancel`,i)};document.addEventListener(`pointermove`,r),document.addEventListener(`pointerup`,i),document.addEventListener(`pointercancel`,i)}),Z(this.element,`scroll`,()=>{this.calculateScrollbarStyles()}),Z(this.scrollableElement,`scroll`,()=>{this._scrollOffset=this._orientation===`horizontal`?this.scrollableElement.scrollLeft:this.scrollableElement.scrollTop,this.calculateScrollbarStyles()}),i_(this.element,()=>{Q(this.element,`dv-scrollable-resizing`,!0),this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(()=>{clearTimeout(this._animationTimer),Q(this.element,`dv-scrollable-resizing`,!1)},500),this.calculateScrollbarStyles()}))}calculateScrollbarStyles(){let e=this._orientation===`horizontal`?this.element.clientWidth:this.element.clientHeight,t=this._orientation===`horizontal`?this.scrollableElement.scrollWidth:this.scrollableElement.scrollHeight;if(t>e){let n=e/t*e;this._orientation===`horizontal`?(this._scrollbar.style.width=`${n}px`,this._scrollbar.style.height=``):(this._scrollbar.style.height=`${n}px`,this._scrollbar.style.width=``),this._scrollOffset=N_(this._scrollOffset,0,t-e),this._orientation===`horizontal`?this.scrollableElement.scrollLeft=this._scrollOffset:this.scrollableElement.scrollTop=this._scrollOffset;let r=this._scrollOffset/(t-e);this._orientation===`horizontal`?(this._scrollbar.style.left=`${(e-n)*r}px`,this._scrollbar.style.top=``):(this._scrollbar.style.top=`${(e-n)*r}px`,this._scrollbar.style.left=``)}else this._orientation===`horizontal`?(this._scrollbar.style.width=`0px`,this._scrollbar.style.left=`0px`):(this._scrollbar.style.height=`0px`,this._scrollbar.style.top=`0px`),this._scrollOffset=0}};ly.MouseWheelSpeed=1;var uy=[{id:`grey`,value:`var(--dv-tab-group-color-grey)`,label:`Grey`},{id:`blue`,value:`var(--dv-tab-group-color-blue)`,label:`Blue`},{id:`red`,value:`var(--dv-tab-group-color-red)`,label:`Red`},{id:`yellow`,value:`var(--dv-tab-group-color-yellow)`,label:`Yellow`},{id:`green`,value:`var(--dv-tab-group-color-green)`,label:`Green`},{id:`pink`,value:`var(--dv-tab-group-color-pink)`,label:`Pink`},{id:`purple`,value:`var(--dv-tab-group-color-purple)`,label:`Purple`},{id:`cyan`,value:`var(--dv-tab-group-color-cyan)`,label:`Cyan`},{id:`orange`,value:`var(--dv-tab-group-color-orange)`,label:`Orange`}],dy=class{constructor(e,t=!0){this._entries=e.slice(),this._byId=new Map(e.map(e=>[e.id,e])),this._enabled=t}get enabled(){return this._enabled}set enabled(e){this._enabled=e}setEntries(e){this._entries=e.slice(),this._byId=new Map(e.map(e=>[e.id,e]))}entries(){return this._entries}has(e){return this._byId.has(e)}get(e){return this._byId.get(e)}defaultId(){return this._entries[0]?.id}resolveValue(e){if(!this._enabled||!e)return;let t=this._byId.get(e);return t?t.value:e}},fy;function py(){return fy||=new dy(uy,!0),fy}function my(e,t,n){let r=(n??py()).resolveValue(t);r===void 0?e.style.removeProperty(`--dv-tab-group-color`):e.style.setProperty(`--dv-tab-group-color`,r)}function hy(e,t){return(t??py()).resolveValue(e)}var gy=class extends Jg{get element(){return this._element}constructor(e){super(),this._palette=e,this._onClick=new X,this.onClick=this._onClick.event,this._onContextMenu=new X,this.onContextMenu=this._onContextMenu.event,this._element=document.createElement(`div`),this._element.className=`dv-tab-group-chip`,this._element.tabIndex=0,this._label=document.createElement(`span`),this._label.className=`dv-tab-group-chip-label`,this._element.appendChild(this._label),this.addDisposables(this._onClick,this._onContextMenu,new ny(this._element,{onLongPress:e=>{this._onContextMenu.fire(e)}}),Z(this._element,`click`,e=>{this._onClick.fire(e)}),Z(this._element,`contextmenu`,e=>{this._onContextMenu.fire(e)}))}init(e){this._tabGroup=e.tabGroup,this.updateColor(e.tabGroup.color),this.updateLabel(e.tabGroup.label),this.updateCollapsed(e.tabGroup.collapsed),this.addDisposables(e.tabGroup.onDidChange(()=>{this._tabGroup&&(this.updateColor(this._tabGroup.color),this.updateLabel(this._tabGroup.label))}),e.tabGroup.onDidCollapseChange(e=>{this.updateCollapsed(e)}),this._onClick.event(()=>{var e;(e=this._tabGroup)==null||e.toggle()}))}update(e){this._tabGroup=e.tabGroup,this.updateColor(e.tabGroup.color),this.updateLabel(e.tabGroup.label),this.updateCollapsed(e.tabGroup.collapsed)}updateColor(e){my(this._element,e,this._palette),Q(this._element,`dv-tab-group-chip--accent-off`,this._palette?.enabled===!1)}updateLabel(e){this._label.textContent=e,Q(this._label,`dv-tab-group-chip-label--empty`,!e)}updateCollapsed(e){Q(this._element,`dv-tab-group-chip--collapsed`,e)}},_y=class{get underlines(){return this._underlines}constructor(e){this._ctx=e,this._underlines=new Map,this._rafId=null}positionUnderlines(){requestAnimationFrame(()=>{this._positionUnderlinesSync()})}trackUnderlines(){this._rafId!==null&&cancelAnimationFrame(this._rafId);let e=performance.now(),t=()=>{this._positionUnderlinesSync(),performance.now()-e<250?this._rafId=requestAnimationFrame(t):this._rafId=null};this._rafId=requestAnimationFrame(t)}syncUnderlineElements(e){for(let t of e)if(!this._underlines.has(t)){let e=document.createElement(`div`);e.className=`dv-tab-group-underline`,this._ctx.tabsList.appendChild(e),this._underlines.set(t,e)}for(let[t,n]of this._underlines)e.has(t)||(n.remove(),this._underlines.delete(t))}getUnderline(e){return this._underlines.get(e)}dispose(){this._rafId!==null&&(cancelAnimationFrame(this._rafId),this._rafId=null);for(let[,e]of this._underlines)e.remove();this._underlines.clear()}_positionUnderlinesSync(){let e=this._ctx.tabsList.getBoundingClientRect(),t=this._ctx.getTabGroups(),n=this._ctx.getDirection()===`vertical`,r=n?e.width:e.height,i=this._ctx.getActivePanelId(),a=this._ctx.getTabMap();for(let o of t){let t=this._underlines.get(o.id);if(!t)continue;let s=o.panelIds;if(s.length===0){t.style.display=`none`;continue}t.style.display=``;let c=this._ctx.getChipElement(o.id),l;if(c){let t=c.getBoundingClientRect(),r=getComputedStyle(c),i=n?Number.parseFloat(r.marginTop)||0:Number.parseFloat(r.marginLeft)||0;l=n?t.top-e.top-i:t.left-e.left-i}else{let t=s[0],r=a.get(t);if(r){let t=r.value.element.getBoundingClientRect();l=n?t.top-e.top:t.left-e.left}else l=0}let u=s[s.length-1],d=a.get(u);if(!d){n?(t.style.top=`${l}px`,t.style.height=`0px`,t.style.left=``,t.style.width=``):(t.style.left=`${l}px`,t.style.width=`0px`,t.style.top=``,t.style.height=``);continue}let f=d.value.element.getBoundingClientRect(),p=n?f.bottom-e.top:f.right-e.left,m=p-l;if((o.collapsed||o.panelIds.some(e=>{let t=a.get(e);return t&&t.value.element.classList.contains(`dv-tab--group-expanding`)}))&&c){let t=c.getBoundingClientRect(),r=n?t.top+t.height/2-e.top:t.left+t.width/2-e.left,i=0,s=0;for(let e of o.panelIds){let t=a.get(e);if(!t)continue;let r=t.value.element;n?(i+=r.getBoundingClientRect().height,s+=r.scrollHeight):(i+=r.getBoundingClientRect().width,s+=r.scrollWidth)}let u=s>0?Math.min(1,i/s):0;l=r+(l-r)*u,p=r+(p-r)*u,m=Math.max(0,p-l)}n?(t.style.top=`${l}px`,t.style.height=`${Math.max(0,m)}px`,t.style.left=``,t.style.width=``):(t.style.left=`${l}px`,t.style.width=`${Math.max(0,m)}px`,t.style.top=``,t.style.height=``),this.applyShape(t,o,l,m,r,i,e,n)}}},vy=class extends _y{_applyStraightLine(e,t,n,r,i,a){a?(e.setAttribute(`width`,String(r)),e.setAttribute(`height`,String(i)),n.style.width=`${r}px`,n.style.height=`${i}px`,t.setAttribute(`d`,`M ${r/2},0 L ${r/2},${i}`)):(e.setAttribute(`width`,String(i)),e.setAttribute(`height`,String(r)),n.style.width=`${i}px`,n.style.height=`${r}px`,t.setAttribute(`d`,`M 0,${r/2} L ${i},${r/2}`))}applyShape(e,t,n,r,i,a,o,s){let c=i,l=r,u=hy(t.color,this._ctx.getColorPalette());if(l<=0||c<=0||u===void 0){e.style.display=`none`;return}e.style.display=``;let d;a&&t.panelIds.includes(a)&&(d=this._ctx.getTabMap().get(a));let f=e.firstElementChild,p;if(!f||f.tagName!==`svg`?(e.replaceChildren(),f=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`),f.style.display=`block`,p=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),p.setAttribute(`fill`,`none`),f.appendChild(p),e.appendChild(f)):p=f.firstElementChild,p.setAttribute(`stroke`,u),p.setAttribute(`stroke-width`,`2`),!d){this._applyStraightLine(f,p,e,2,l,s);return}let m=d.value.element.getBoundingClientRect(),h,g;if(s?(h=Math.max(0,m.top-o.top-n),g=Math.min(l,m.bottom-o.top-n)):(h=Math.max(0,m.left-o.left-n),g=Math.min(l,m.right-o.left-n)),g<=h){this._applyStraightLine(f,p,e,2,l,s);return}if(s){let t=c,n=l;f.setAttribute(`width`,String(t)),f.setAttribute(`height`,String(n)),e.style.width=`${t}px`,e.style.height=`${n}px`;let r=t-1,i=[`M 1,0`,`L 1,${h-6}`,`Q 1,${h} 7,${h}`,`L ${r-6},${h}`,`Q ${r},${h} ${r},${h+6}`,`L ${r},${g-6}`,`Q ${r},${g} ${r-6},${g}`,`L 7,${g}`,`Q 1,${g} 1,${g+6}`,`L 1,${n}`].join(` `);p.setAttribute(`d`,i)}else{let t=l,n=c;f.setAttribute(`width`,String(t)),f.setAttribute(`height`,String(n)),e.style.width=`${t}px`,e.style.height=`${n}px`;let r=n-1,i=[`M 0,${r}`,`L ${h-6},${r}`,`Q ${h},${r} ${h},${r-6}`,`L ${h},7`,`Q ${h},1 ${h+6},1`,`L ${g-6},1`,`Q ${g},1 ${g},7`,`L ${g},${r-6}`,`Q ${g},${r} ${g+6},${r}`,`L ${t},${r}`].join(` `);p.setAttribute(`d`,i)}}},yy=class extends _y{applyShape(e,t,n,r,i,a,o,s){let c=hy(t.color,this._ctx.getColorPalette());if(r<=0||c===void 0){e.style.display=`none`;return}e.style.display=``,e.firstElementChild&&e.replaceChildren(),e.style.backgroundColor=c,s?(e.style.width=`2px`,e.style.height=`${r}px`):(e.style.width=`${r}px`,e.style.height=`2px`)}},by=new Map,xy=class{get chipRenderers(){return this._chipRenderers}get groupUnderlines(){return this._indicator?.underlines??by}get skipNextCollapseAnimation(){return this._skipNextCollapseAnimation}set skipNextCollapseAnimation(e){this._skipNextCollapseAnimation=e}constructor(e,t){this._ctx=e,this._callbacks=t,this._chipRenderers=new Map,this._indicator=null,this._skipNextCollapseAnimation=!1,this._pendingTransitionCleanups=new Map}update(){let e=this._ctx.group.model.getTabGroups(),t=new Set;for(let n of e)t.add(n.id),this._ensureChipForGroup(n),this._positionChipForGroup(n);for(let[e,n]of this._chipRenderers)t.has(e)||(n.chip.element.remove(),n.chip.dispose(),n.disposable.dispose(),this._chipRenderers.delete(e));this._updateTabGroupClasses()}refreshAccents(){var e,t;for(let n of this._ctx.group.model.getTabGroups()){let r=this._chipRenderers.get(n.id);(t=r==null?void 0:(e=r.chip).update)==null||t.call(e,{tabGroup:n})}this._updateTabGroupClasses()}positionAllChips(){if(this._chipRenderers.size!==0)for(let e of this._ctx.group.model.getTabGroups())this._positionChipForGroup(e)}updateDirection(){let e=this._ctx.getDirection()===`vertical`;for(let[,t]of this._chipRenderers)t.dropTarget.setTargetZones(e?[`top`]:[`left`])}snapshotChipWidths(){let e=new Map;for(let[t,n]of this._chipRenderers)e.set(t,n.chip.element.getBoundingClientRect().width);return e}positionUnderlines(){var e;(e=this._indicator)==null||e.positionUnderlines()}trackUnderlines(){var e;(e=this._indicator)==null||e.trackUnderlines()}setGroupDragImage(e,t,n){if(!e.dataTransfer)return;let r=this._ctx.getDirection()===`vertical`,i=this._ctx.tabsList.cloneNode(!0);r?(i.classList.remove(`dv-tabs-container-vertical`,`dv-vertical`),i.classList.add(`dv-horizontal`),i.style.writingMode=`horizontal-tb`,i.style.height=`${this._ctx.tabsList.offsetWidth}px`):i.style.height=`${this._ctx.tabsList.offsetHeight}px`,i.style.width=`auto`,i.style.overflow=`visible`,i.style.pointerEvents=`none`;let a=Array.from(i.children),o=Array.from(this._ctx.tabsList.children);for(let e=a.length-1;e>=0;e--)o[e]!==n&&a[e].remove();let s=document.createElement(`div`);s.className=`dv-groupview dv-active-group`,s.style.position=`fixed`,s.style.top=`-10000px`,s.style.left=`0px`,s.style.height=`auto`,s.style.width=`auto`,s.style.pointerEvents=`none`;let c=document.createElement(`div`);c.className=`dv-tabs-and-actions-container`,c.style.height=`auto`,c.style.width=`auto`,s.appendChild(c),c.appendChild(i),this._ctx.accessor.element.appendChild(s);let l=i.querySelector(`.dv-tab-group-chip`),u=n.getBoundingClientRect(),d=e.clientX-u.left,f=e.clientY-u.top;if(l){let t=l.getBoundingClientRect(),n=s.getBoundingClientRect(),r=t.left-n.left+d,i=t.top-n.top+f;e.dataTransfer.setDragImage(s,r,i)}else e.dataTransfer.setDragImage(s,d,f);requestAnimationFrame(()=>{s.remove()})}cleanupTransition(e){var t;(t=this._pendingTransitionCleanups.get(e))==null||t(),this._pendingTransitionCleanups.delete(e)}updateDragAndDropState(){let e=ry(this._ctx.accessor.options);for(let t of this._chipRenderers.values())t.chip.element.draggable=e.html5,t.html5DragSource.setDisabled(!e.html5),t.pointerDragSource.setDisabled(!e.pointer),t.pointerDragSource.setTouchOnly(!e.pointerHandlesMouse)}disposeChipDrag(e){var t,n;let r=this._chipRenderers.get(e);r&&((t=r.html5DragSource)==null||t.dispose(),(n=r.pointerDragSource)==null||n.dispose())}_buildChipGhostElement(e){let t=getComputedStyle(e),n=e.cloneNode(!0);return Array.from(t).forEach(e=>{n.style.setProperty(e,t.getPropertyValue(e),t.getPropertyPriority(e))}),n.style.position=`absolute`,n}disposeAll(){var e;(e=this._indicator)==null||e.dispose(),this._indicator=null;for(let[,e]of this._pendingTransitionCleanups)e();this._pendingTransitionCleanups.clear();for(let[,e]of this._chipRenderers)e.chip.element.remove(),e.chip.dispose(),e.disposable.dispose();this._chipRenderers.clear()}_ensureIndicator(){let e=(this._ctx.accessor.options.theme?.tabGroupIndicator??`wrap`)===`none`?yy:vy;this._indicator&&!(this._indicator instanceof e)&&(this._indicator.dispose(),this._indicator=null),this._indicator||=new e({tabsList:this._ctx.tabsList,getTabGroups:()=>this._ctx.group.model.getTabGroups(),getActivePanelId:()=>this._ctx.group.activePanel?.id,getTabMap:()=>this._ctx.getTabMap(),getChipElement:e=>this._chipRenderers.get(e)?.chip.element,getDirection:()=>this._ctx.getDirection(),getColorPalette:()=>this._ctx.accessor.tabGroupColorPalette})}_ensureChipForGroup(e){if(this._chipRenderers.has(e.id))return;let t=this._ctx.accessor.options.createTabGroupChipComponent,n=t?t(e):new gy(this._ctx.accessor.tabGroupColorPalette);n.init({tabGroup:e,api:this._ctx.accessor.api});let r=ry(this._ctx.accessor.options);n.element.draggable=r.html5;let i=Wg.getInstance(),a=()=>(i.setData([new Hg(this._ctx.accessor.id,this._ctx.group.id,null,e.id)],Hg.prototype),{dispose:()=>{i.clearData(Hg.prototype)}}),o=Hv.createDragSource(n.element,{getData:a,disabled:!r.html5,isCancelled:()=>!ry(this._ctx.accessor.options).html5,onDragStart:t=>{`dataTransfer`in t&&t.dataTransfer&&this.setGroupDragImage(t,e,n.element),this._callbacks.onChipDragStart(e,n,t)},onDragEnd:t=>{var r,i;(i=(r=this._callbacks).onChipDragEnd)==null||i.call(r,e,n,t)}});n.element.addEventListener(`dragend`,()=>{i.clearData(Hg.prototype)},{once:!0});let s=Uv.createDragSource(n.element,{getData:a,disabled:!r.pointer,touchOnly:!r.pointerHandlesMouse,isCancelled:()=>!ry(this._ctx.accessor.options).pointer,createGhost:()=>({element:this._buildChipGhostElement(n.element),offsetX:8,offsetY:8}),onDragStart:t=>{this._callbacks.onChipDragStart(e,n,t)}}),c=[e.onDidChange(()=>{var t;(t=n.update)==null||t.call(n,{tabGroup:e}),this._updateTabGroupClasses()}),e.onDidPanelChange(()=>{this._positionChipForGroup(e),this._updateTabGroupClasses()}),e.onDidCollapseChange(()=>{this._updateTabGroupClasses()}),o,s],l=t=>{s.cancelPending(),this._callbacks.onChipContextMenu(e,t)};n instanceof gy?c.push(n.onContextMenu(l)):c.push(new ny(n.element,{onLongPress:l}),Z(n.element,`contextmenu`,l));let u=this._ctx.getDirection()===`vertical`,d=new Dv(n.element,{acceptedTargetZones:u?[`top`]:[`left`],overlayModel:{activationSize:{value:100,type:`percentage`}},canDisplayOverlay:(e,t)=>{if(this._ctx.group.locked||this._ctx.accessor.options.disableDnd)return!1;let n=Gg();return n&&this._ctx.accessor.id===n.viewId?this._ctx.accessor.options.theme?.tabAnimation!==`smooth`:this._ctx.group.model.canDisplayOverlay(e,t,`tab`)}});c.push(d,d.onDrop(t=>{this._callbacks.onChipDrop(e,t)}));let f=new Jg(...c);this._chipRenderers.set(e.id,{chip:n,html5DragSource:o,pointerDragSource:s,disposable:f,dropTarget:d}),e.collapsed&&(this._skipNextCollapseAnimation=!0)}_positionChipForGroup(e){let t=this._chipRenderers.get(e.id);if(!t)return;let n=t.chip.element,r=e.panelIds;if(r.length===0){n.remove();return}let i=r[0],a=this._ctx.getTabMap().get(i);if(!a){n.remove();return}let o=a.value.element;n.nextSibling!==o&&this._ctx.tabsList.insertBefore(n,o)}_updateTabGroupClasses(){var e;let t=this._ctx.group.model.getTabGroups(),n=this._ctx.getTabs(),r=this._ctx.getTabMap(),i=!1,a=new Map;for(let e of t)for(let t of e.panelIds)a.set(t,e);for(let t of n){let n=t.value,r=n.panel.id,o=a.get(r),s=!!o;if(Q(n.element,`dv-tab--grouped`,s),o){let t=o.panelIds,a=t[0]===r,s=t[t.length-1]===r;Q(n.element,`dv-tab--group-first`,a),Q(n.element,`dv-tab--group-last`,s),my(n.element,o.color,this._ctx.accessor.tabGroupColorPalette);let c=n.element.classList.contains(`dv-tab--group-collapsed`);if(!o.collapsed&&c){i=!0,n.element.classList.remove(`dv-tab--group-collapsed`),n.element.classList.add(`dv-tab--group-expanding`),(e=this._pendingTransitionCleanups.get(r))==null||e();let t=()=>{n.element.classList.remove(`dv-tab--group-expanding`),n.element.style.removeProperty(`width`),n.element.removeEventListener(`transitionend`,t),clearTimeout(a),this._pendingTransitionCleanups.delete(r)},a=setTimeout(t,300);this._pendingTransitionCleanups.set(r,t),n.element.addEventListener(`transitionend`,t)}}else Q(n.element,`dv-tab--group-first`,!1),Q(n.element,`dv-tab--group-last`,!1),n.element.classList.remove(`dv-tab--group-collapsed`,`dv-tab--group-expanding`),n.element.style.removeProperty(`width`),n.element.style.removeProperty(`--dv-tab-group-color`)}let o=new Set;for(let e of t)if(o.add(e.id),e.collapsed&&e.panelIds.some(e=>{let t=r.get(e);return t&&!t.value.element.classList.contains(`dv-tab--group-collapsed`)}))if(this._skipNextCollapseAnimation){let t=[];for(let n of e.panelIds){let e=r.get(n);e&&(e.value.element.style.transition=`none`,e.value.element.classList.add(`dv-tab--group-collapsed`),t.push(e.value.element))}if(t.length>0){t[0].offsetHeight;for(let e of t)e.style.removeProperty(`transition`)}}else{i=!0;let t=this._ctx.getDirection()===`vertical`;for(let n of e.panelIds){let e=r.get(n);if(e&&!e.value.element.classList.contains(`dv-tab--group-collapsed`)){let n=e.value.element.getBoundingClientRect();t?e.value.element.style.height=`${n.height}px`:e.value.element.style.width=`${n.width}px`,e.value.element.offsetHeight,e.value.element.classList.add(`dv-tab--group-collapsed`)}}}this._skipNextCollapseAnimation=!1,this._ensureIndicator(),this._indicator&&(this._indicator.syncUnderlineElements(o),i?this._indicator.trackUnderlines():this._indicator.positionUnderlines())}},Sy=class extends Jg{get showTabsOverflowControl(){return this._showTabsOverflowControl}set showTabsOverflowControl(e){if(this._showTabsOverflowControl!=e&&(this._showTabsOverflowControl=e,e)){let e=new r_(this._tabsList);this._observerDisposable.value=new Jg(e,e.onDidChange(e=>{let t=e.hasScrollX||e.hasScrollY;this.toggleDropdown({reset:!t}),this._tabGroupManager.groupUnderlines.size>0&&this._tabGroupManager.positionUnderlines()}),Z(this._tabsList,`scroll`,()=>{this.toggleDropdown({reset:!1}),this._tabGroupManager.groupUnderlines.size>0&&this._tabGroupManager.positionUnderlines()}))}}get element(){return this._element}set voidContainer(e){var t;(t=this._voidContainerListeners)==null||t.dispose(),this._voidContainerListeners=null,this._voidContainer=e,e&&(this._voidContainerListeners=new Jg(Z(e,`dragover`,e=>{this._animState&&e.preventDefault()}),Z(e,`drop`,e=>{this._animState?.sourceTabGroupId&&this._animState.currentInsertionIndex!==null&&(e.preventDefault(),e.stopPropagation(),this.handleVoidDrop())})))}handleVoidDrop(){if(!this._animState?.sourceTabGroupId)return!1;let e=this._animState.sourceTabGroupId,t=this._animState.currentInsertionIndex??this._tabs.length;return this._animState=null,this._commitGroupMove(e,t),!0}get panels(){return this._tabs.map(e=>e.value.panel.id)}get size(){return this._tabs.length}get tabs(){return this._tabs.map(e=>e.value)}get direction(){return this._direction}set direction(e){if(this._direction!==e){this._direction=e,this._scrollbar&&(this._scrollbar.orientation=e),a_(this._tabsList,`dv-horizontal`,`dv-vertical`),e===`vertical`?o_(this._tabsList,`dv-tabs-container-vertical`,`dv-vertical`):(a_(this._tabsList,`dv-tabs-container-vertical`),o_(this._tabsList,`dv-horizontal`));for(let t of this._tabs)t.value.setDirection(e);this._tabGroupManager.updateDirection()}}constructor(e,t,n){super(),this.group=e,this.accessor=t,this._observerDisposable=new Yg,this._scrollbar=null,this._tabs=[],this._tabMap=new Map,this.selectedIndex=-1,this._showTabsOverflowControl=!1,this._direction=`horizontal`,this._animState=null,this._pendingMarginCleanups=new Map,this._pendingCollapse=!1,this._flipTransitionCleanup=null,this._voidContainer=null,this._voidContainerListeners=null,this._extendedDropZone=null,this._pointerInsideTabsList=!1,this._onTabDragStart=new X,this.onTabDragStart=this._onTabDragStart.event,this._onDrop=new X,this.onDrop=this._onDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._onOverflowTabsChange=new X,this.onOverflowTabsChange=this._onOverflowTabsChange.event,this._tabsList=document.createElement(`div`),this._tabsList.className=`dv-tabs-container`,this.showTabsOverflowControl=n.showTabsOverflowControl,t.options.scrollbars===`native`?this._element=this._tabsList:(this._scrollbar=new ly(this._tabsList),this._scrollbar.orientation=this.direction,this._element=this._scrollbar.element,this.addDisposables(this._scrollbar)),this._tabGroupManager=new xy({group:this.group,accessor:this.accessor,tabsList:this._tabsList,getTabs:()=>this._tabs,getTabMap:()=>this._tabMap,getDirection:()=>this._direction},{onChipContextMenu:(e,t)=>{this.accessor.contextMenuController.showForChip(e,this.group,t)},onChipDragStart:(e,t,n)=>{this._handleChipDragStart(e,t,n)},onChipDragEnd:()=>{this.resetDragAnimation()},onChipDrop:(e,t)=>{this._handleChipDrop(e,t)}}),this.addDisposables(this._onOverflowTabsChange,this._observerDisposable,this._onWillShowOverlay,this._onDrop,this._onTabDragStart,{dispose:()=>{var e;(e=this._flipTransitionCleanup)==null||e.call(this)}},jv.getInstance().onDragEnd(()=>{this._pointerInsideTabsList=!1,this.resetDragAnimation()}),jv.getInstance().onDragMove(e=>{this._handlePointerDragMove(e.clientX,e.clientY)}),Z(this.element,`pointerdown`,e=>{e.defaultPrevented||e.button===0&&this.accessor.doSetGroupActive(this.group)}),Z(this._tabsList,`wheel`,e=>{let t=this._direction===`vertical`,n=t?e.deltaY||e.deltaX:e.deltaX||e.deltaY;if(n===0)return;let r=t?this._tabsList.scrollHeight-this._tabsList.clientHeight:this._tabsList.scrollWidth-this._tabsList.clientWidth;if(r<=0)return;let i=t?this._tabsList.scrollTop:this._tabsList.scrollLeft;n<0&&i<=0||n>0&&i>=r||(e.preventDefault(),e.stopPropagation(),t?this._tabsList.scrollTop=i+n:this._tabsList.scrollLeft=i+n)},{passive:!1}),Z(this._tabsList,`dragover`,e=>{this._processDragOver(e.clientX)&&e.preventDefault()},!0),Z(this._tabsList,`dragleave`,e=>{this._processDragLeave(e.relatedTarget)},!0),Z(this._tabsList,`dragend`,()=>{this.resetDragAnimation()}),Z(this._tabsList,`drop`,e=>{var t;if(!this._animState||this._animState.currentInsertionIndex===null||this.accessor.options.theme?.tabAnimation!==`smooth`&&!this._animState.sourceTabGroupId)return;e.stopPropagation(),e.preventDefault(),(t=this.group.model.dropTargetContainer?.model)==null||t.clear();let n=this._animState;if(this._animState=null,this._pendingCollapse=!1,n.sourceTabGroupId){this._commitGroupMove(n.sourceTabGroupId,n.currentInsertionIndex);return}let r=n.currentInsertionIndex,i=n.sourceIndex,a=r-+(i!==-1&&i<r),o=this.group.model.getTabGroupForPanel(n.sourceTabId);if(a===i&&!n.targetTabGroupId&&!o){this._uncollapsSourceTab(n.sourceTabId),this.resetTabTransforms();return}this._uncollapsSourceTab(n.sourceTabId);let s=this.snapshotTabPositions();this.resetTabTransforms(),this._onDrop.fire({event:e,index:a,targetTabGroupId:n.targetTabGroupId}),this.runFlipAnimation(s,n.sourceTabId,n.sourceIndex===-1,{from:Math.min(i,a),to:Math.max(i,a)})},!0),qg.from(()=>{var e;(e=this._voidContainerListeners)==null||e.dispose(),this.resetDragAnimation(),this._tabGroupManager.disposeAll();for(let{value:e,disposable:t}of this._tabs)t.dispose(),e.dispose();this._tabs=[],this._tabMap.clear()}))}indexOf(e){return this._tabs.findIndex(t=>t.value.panel.id===e)}isActive(e){return this.selectedIndex>-1&&this._tabs[this.selectedIndex].value===e}setActivePanel(e){let t=this._direction===`vertical`,n=0;for(let r of this._tabs){let i=e.id===r.value.panel.id;if(r.value.setActive(i),i){let e=r.value.element,i=e.parentElement;t?(n<i.scrollTop||n+e.clientHeight>i.scrollTop+i.clientHeight)&&(i.scrollTop=n):(n<i.scrollLeft||n+e.clientWidth>i.scrollLeft+i.clientWidth)&&(i.scrollLeft=n)}n+=t?r.value.element.clientHeight:r.value.element.clientWidth}this._tabGroupManager.groupUnderlines.size>0&&this._tabGroupManager.positionUnderlines()}openPanel(e,t=this._tabs.length){if(this._tabMap.has(e.id))return;let n=new ay(e,this.accessor,this.group);n.setContent(e.view.tab),this._direction!==`horizontal`&&n.setDirection(this._direction);let r={value:n,disposable:new Jg(n.onDragStart(t=>{if(this._onTabDragStart.fire({nativeEvent:t,panel:e}),this.accessor.options.theme?.tabAnimation===`smooth`){let t=n.element.getBoundingClientRect().width,r=this._tabs.findIndex(e=>e.value===n);this._animState={sourceTabId:e.id,sourceIndex:r,tabPositions:this.snapshotTabPositions(),chipPositions:this._tabGroupManager.snapshotChipWidths(),currentInsertionIndex:null,targetTabGroupId:null,sourceTabGroupId:null,sourceGroupPanelIds:null,sourceChipWidth:0,cursorOffsetFromDragLeft:t/2,sourceGapWidth:t,containerLeft:this._tabsList.getBoundingClientRect().left},this._pendingCollapse=!0,requestAnimationFrame(()=>{var e;this._pendingCollapse=!1,this._animState&&(n.element.style.transition=`none`,Q(n.element,`dv-tab--dragging`,!0),n.element.offsetHeight,(e=this._animState).currentInsertionIndex??(e.currentInsertionIndex=r),this.applyDragOverTransforms(!0),n.element.style.removeProperty(`transition`))})}}),n.onTabClick(t=>{t.defaultPrevented||this.group.api.location.type===`edge`&&(this.group.activePanel===e?this.group.api.isCollapsed()?this.group.api.expand():this.group.api.collapse():(this.group.model.openPanel(e),this.group.api.isCollapsed()&&this.group.api.expand()))}),n.onPointerDown(t=>{if(t.defaultPrevented)return;let r=!this.accessor.options.disableFloatingGroups,i=this.group.api.location.type===`floating`&&this.size===1;if(r&&!i&&t.shiftKey){t.preventDefault();let e=this.accessor.getGroupPanel(n.panel.id),{top:r,left:i}=n.element.getBoundingClientRect(),{top:a,left:o}=this.accessor.element.getBoundingClientRect();this.accessor.addFloatingGroup(e,{x:i-o,y:r-a,inDragMode:!0});return}switch(t.button){case 0:this.group.api.location.type===`edge`||this.group.activePanel!==e&&this.group.model.openPanel(e);break}}),n.onDrop(e=>{let t=this._animState;this._animState=null,this._pendingCollapse=!1;let r=this._tabs.findIndex(e=>e.value===n);if(t){let n=e.position===`right`?r+1:r;if(t.sourceTabGroupId){this._commitGroupMove(t.sourceTabGroupId,t.currentInsertionIndex??n);return}this._uncollapsSourceTab(t.sourceTabId);let i=this.snapshotTabPositions();this.resetTabTransforms(),this._onDrop.fire({event:e.nativeEvent,index:n,targetTabGroupId:t.targetTabGroupId}),this.accessor.options.theme?.tabAnimation===`smooth`&&this.runFlipAnimation(i,t.sourceTabId,t.sourceIndex===-1,t.sourceIndex===-1?void 0:{from:Math.min(t.sourceIndex,n),to:Math.max(t.sourceIndex,n)})}else{let t=this._direction===`vertical`?`bottom`:`right`,i=e.position===t?r+1:r,a=Gg(),o=a?this._tabs.findIndex(e=>e.value.panel.id===a.panelId):-1,s=i-+(o!==-1&&o<i),c=this.group.model.getTabGroupForPanel(n.panel.id)?.id??null;this._onDrop.fire({event:e.nativeEvent,index:s,targetTabGroupId:c})}}),n.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(new oy(e,{kind:`tab`,panel:this.group.activePanel,api:this.accessor.api,group:this.group,getData:Gg}))}))};this.addTab(r,t),this._tabGroupManager.positionAllChips(),this._animState&&(this._animState.tabPositions=this.snapshotTabPositions(),this._animState.chipPositions=this._tabGroupManager.snapshotChipWidths(),this.applyDragOverTransforms())}delete(e){this._animState?.sourceTabId===e&&(this.resetTabTransforms(),this._animState=null),this._tabGroupManager.cleanupTransition(e);let t=this.indexOf(e),n=this._tabs.splice(t,1)[0];if(this._tabMap.delete(e),n){let{value:e,disposable:t}=n;t.dispose(),e.dispose(),e.element.remove()}this._animState&&(this._animState.tabPositions=this.snapshotTabPositions(),this._animState.chipPositions=this._tabGroupManager.snapshotChipWidths(),this.applyDragOverTransforms())}addTab(e,t=this._tabs.length){if(t<0||t>this._tabs.length)throw Error(`invalid location`);let n=t<this._tabs.length?this._tabs[t].value.element:null;this._tabsList.insertBefore(e.value.element,n),this._tabs=[...this._tabs.slice(0,t),e,...this._tabs.slice(t)],this._tabMap.set(e.value.panel.id,e),this.selectedIndex<0&&(this.selectedIndex=t)}toggleDropdown(e){if(e.reset){this._onOverflowTabsChange.fire({tabs:[],tabGroups:[],reset:!0});return}let t=this._tabs.filter(e=>!S_(e.value.element,this._tabsList)).map(e=>e.value.panel.id),n=new Set(t),r=[];for(let e of this.group.model.getTabGroups()){let i=this._tabGroupManager.chipRenderers.get(e.id),a=i&&!S_(i.chip.element,this._tabsList),o=e.panelIds.length>0&&e.panelIds.every(e=>n.has(e));if((a||o)&&(r.push(e.id),e.collapsed))for(let r of e.panelIds)n.has(r)||(n.add(r),t.push(r))}this._onOverflowTabsChange.fire({tabs:t,tabGroups:r,reset:!1})}updateDragAndDropState(){for(let e of this._tabs)e.value.updateDragAndDropState();this._tabGroupManager.updateDragAndDropState()}updateTabGroups(){this._tabGroupManager.update()}refreshTabGroupAccent(){this._tabGroupManager.refreshAccents()}_handleChipDragStart(e,t,n){let r=e.panelIds[0],i=r?this._tabs.findIndex(e=>e.value.panel.id===r):-1,a=t.element.getBoundingClientRect(),o=a.width;for(let t of e.panelIds){let e=this._tabMap.get(t);e&&(o+=e.value.element.getBoundingClientRect().width)}if(this._animState={sourceTabId:``,sourceIndex:i,tabPositions:this.snapshotTabPositions(),chipPositions:this._tabGroupManager.snapshotChipWidths(),currentInsertionIndex:null,targetTabGroupId:null,sourceTabGroupId:e.id,sourceGroupPanelIds:new Set(e.panelIds),sourceChipWidth:a.width,cursorOffsetFromDragLeft:n.clientX-a.left,sourceGapWidth:o,containerLeft:this._tabsList.getBoundingClientRect().left},this.accessor.options.theme?.tabAnimation!==`smooth`)return;let s=new Set(e.panelIds);this._pendingCollapse=!0,requestAnimationFrame(()=>{var t;if(this._pendingCollapse=!1,!this._animState)return;for(let e of this._tabs)s.has(e.value.panel.id)&&(e.value.element.style.transition=`none`,Q(e.value.element,`dv-tab--dragging`,!0));let n=this._tabGroupManager.chipRenderers.get(e.id);n&&(n.chip.element.style.transition=`none`,Q(n.chip.element,`dv-tab-group-chip--dragging`,!0)),this._tabsList.offsetHeight;let r=this._tabGroupManager.groupUnderlines.get(e.id);r&&(r.style.display=`none`),(t=this._animState).currentInsertionIndex??(t.currentInsertionIndex=i),this.applyDragOverTransforms(!0);for(let e of this._tabs)s.has(e.value.panel.id)&&e.value.element.style.removeProperty(`transition`);n&&n.chip.element.style.removeProperty(`transition`)})}_handleChipDrop(e,t){let n=e.panelIds[0];if(!n)return;let r=this._tabs.findIndex(e=>e.value.panel.id===n);if(r===-1)return;let i=Gg(),a=i&&i.groupId===this.group.id&&i.panelId?this._tabs.findIndex(e=>e.value.panel.id===i.panelId):-1,o=r-+(a!==-1&&a<r);this._onDrop.fire({event:t.nativeEvent,index:o,targetTabGroupId:null})}setExtendedDropZone(e){this._extendedDropZone=e}setExternalInsertionIndex(e){this._animState&&e!==this._animState.currentInsertionIndex&&(this._animState.currentInsertionIndex=e,this.applyDragOverTransforms())}clearExternalAnimState(){this._animState&&(this.resetTabTransforms(),this._animState.sourceIndex===-1?this._animState=null:this._animState.currentInsertionIndex=null)}snapshotTabPositions(){let e=new Map;for(let t of this._tabs)e.set(t.value.panel.id,t.value.element.getBoundingClientRect());return e}getAverageTabWidth(){if(this._tabs.length===0)return 0;let e=this._direction===`vertical`,t=0;for(let n of this._tabs){let r=n.value.element.getBoundingClientRect();t+=e?r.height:r.width}return t/this._tabs.length}_handlePointerDragMove(e,t){let n=(this._tabsList.ownerDocument??document).elementFromPoint(e,t);if(!(n&&(this._tabsList.contains(n)||this._extendedDropZone&&this._extendedDropZone.contains(n)))){this._pointerInsideTabsList&&(this._pointerInsideTabsList=!1,this._processDragLeave(n));return}this._pointerInsideTabsList=!0,this._processDragOver(e)}_processDragOver(e){var t;if(this.accessor.options.disableDnd)return!1;if(this._animState){let e=Gg();e?.tabGroupId&&e.groupId!==this.group.id&&this._animState.sourceTabGroupId!==e.tabGroupId&&(this._animState=null)}if(!this._animState){let e=Gg();if(this.accessor.options.theme?.tabAnimation==="default"&&!e?.tabGroupId)return!1;if(e&&(e.panelId||e.tabGroupId)&&e.groupId!==this.group.id){let t=this.getAverageTabWidth();if(e.tabGroupId){let n=this.accessor.getPanel(e.groupId)?.model.getTabGroups().find(t=>t.id===e.tabGroupId),r=t*(n?.panelIds.length??1)+t;this._animState={sourceTabId:``,sourceIndex:-1,tabPositions:this.snapshotTabPositions(),chipPositions:this._tabGroupManager.snapshotChipWidths(),currentInsertionIndex:null,targetTabGroupId:null,sourceTabGroupId:e.tabGroupId,sourceGroupPanelIds:n?new Set(n.panelIds):new Set,sourceChipWidth:t,cursorOffsetFromDragLeft:r/2,sourceGapWidth:r,containerLeft:this._tabsList.getBoundingClientRect().left}}else this._animState={sourceTabId:e.panelId,sourceIndex:-1,tabPositions:this.snapshotTabPositions(),chipPositions:this._tabGroupManager.snapshotChipWidths(),currentInsertionIndex:null,targetTabGroupId:null,sourceTabGroupId:null,sourceGroupPanelIds:null,sourceChipWidth:0,cursorOffsetFromDragLeft:t/2,sourceGapWidth:t,containerLeft:this._tabsList.getBoundingClientRect().left}}else return!1}return this._animState.sourceIndex!==-1&&((t=this.group.model.dropTargetContainer?.model)==null||t.clear()),this.handleDragOver({clientX:e}),!0}_processDragLeave(e){var t;if(this._animState&&!(e&&this._tabsList.contains(e))){if(e&&this._extendedDropZone?.contains(e)){this.resetTabTransforms(),this._animState.currentInsertionIndex=null;return}this._voidContainer&&e&&(e===this._voidContainer||this._voidContainer.contains(e))||(this.resetTabTransforms(),this._animState.sourceIndex===-1?((t=this.group.model.dropTargetContainer?.model)==null||t.clear(),this._animState=null):this._animState.currentInsertionIndex=null)}}handleDragOver(e){if(!this._animState)return;let t=e.clientX,n=null,r=null,i=this._animState.sourceGroupPanelIds,a=t-this._animState.cursorOffsetFromDragLeft-this._animState.containerLeft,o=0,s=new Map;if(this._tabGroupManager.chipRenderers.size>0){let e=this.group.model.getTabGroups();for(let t of e)t.id!==this._animState.sourceTabGroupId&&t.panelIds.length>0&&s.set(t.panelIds[0],t.id)}for(let e=0;e<this._tabs.length;e++){let t=this._tabs[e].value;if(t.panel.id===this._animState.sourceTabId||i?.has(t.panel.id))continue;let r=s.get(t.panel.id);if(r){let t=this._animState.chipPositions.get(r)??0;if(o+t>a){n??=e;break}o+=t}let c=this._animState.tabPositions.get(t.panel.id),l=c?c.width:t.element.getBoundingClientRect().width;if(o+l/2<=a)o+=l,n=e+1;else{n??=e;break}}if(n!==null&&this._tabGroupManager.chipRenderers.size>0){let e=!!this._animState.sourceTabGroupId,a=this.group.model.getTabGroups(),o=0;for(let e=0;e<this._tabs.length;e++){let t=this._tabs[e].value;if(t.panel.id===this._animState.sourceTabId||i?.has(t.panel.id))continue;if(e>=n)break;let r=s.get(t.panel.id);r&&(o+=this._animState.chipPositions.get(r)??0);let a=this._animState.tabPositions.get(t.panel.id);o+=a?a.width:t.element.getBoundingClientRect().width}for(let s of a){let a=s.panelIds.filter(e=>e!==this._animState.sourceTabId&&!i?.has(e));if(a.length===0)continue;let c=this._tabs.findIndex(e=>e.value.panel.id===a[0]),l=this._tabs.findIndex(e=>e.value.panel.id===a[a.length-1]);if(c===-1||l===-1)continue;let u=n>=c&&n<=l,d=!u&&n===c-1;if(!(!u&&!d)){if(e&&u){let e=(c+l+1)/2;n=n<e?c:l+1;break}if(e&&d)break;if(d){let e=!0;for(let t=n;t<c;t++){let n=this._tabs[t].value.panel.id;if(n!==this._animState.sourceTabId&&!i?.has(n)){e=!1;break}}if(!e)continue;let a=this._animState.chipPositions.get(s.id)??0;t>=(s.collapsed?this._animState.containerLeft+o+a/2:this._animState.containerLeft+o+a)&&(n=c,r=s.id);break}if(u){let e=this._animState.chipPositions.get(s.id)??0,i=this._animState.containerLeft+o+e;n===c?t>=i&&(r=s.id):r=s.id;break}}}}n===this._animState.currentInsertionIndex&&r===this._animState.targetTabGroupId||(this._animState.currentInsertionIndex=n,this._animState.targetTabGroupId=r,this.accessor.options.theme?.tabAnimation===`smooth`&&this.applyDragOverTransforms())}_removeClassInstantlyBatch(e,t){let n=[];for(let r of e)r.classList.contains(t)&&(r.style.transition=`none`,Q(r,t,!1),n.push(r));if(n.length>0){n[0].offsetHeight;for(let e of n)e.style.removeProperty(`transition`)}}_uncollapsSourceTab(e){let t=this._tabMap.get(e);t&&this._removeClassInstantlyBatch([t.value.element],`dv-tab--dragging`)}applyDragOverTransforms(e=!1){if(!this._animState||this._animState.currentInsertionIndex===null){this.resetTabTransforms();return}if(this._pendingCollapse)return;let t=this._animState.currentInsertionIndex,n,r=this._animState.sourceGroupPanelIds;if(this._animState.sourceTabGroupId&&r)n=this._animState.sourceGapWidth;else{let e=this._animState.tabPositions.get(this._animState.sourceTabId);n=e?e.width:this.getAverageTabWidth()}let i=null;if(this._tabGroupManager.chipRenderers.size>0){let e=this.group.model.getTabGroups();for(let n of e){if(n.id===this._animState.sourceTabGroupId||n.panelIds.includes(this._animState.sourceTabId))continue;let e=n.panelIds.filter(e=>e!==this._animState.sourceTabId&&!r?.has(e));if(e.length===0)continue;let a=this._tabs.findIndex(t=>t.value.panel.id===e[0]);if((!this._animState.targetTabGroupId||this._animState.targetTabGroupId===n.id&&n.collapsed)&&a>=t){let e=!1;for(let n=t;n<a;n++){let t=this._tabs[n].value.panel.id;if(t!==this._animState.sourceTabId&&!r?.has(t)){e=!0;break}}if(!e){let e=this._tabGroupManager.chipRenderers.get(n.id);e&&(i=e.chip.element)}break}}}let a=e=>e.classList.contains(`dv-tab-group-chip`)?`dv-tab-group-chip--shifting`:`dv-tab--shifting`,o=(t,n)=>{e?(t.style.transition=`none`,t.style.marginLeft=n,t.offsetHeight,t.style.removeProperty(`transition`)):t.style.marginLeft=n,Q(t,a(t),!0)},s=t=>{let n=a(t),r=this._pendingMarginCleanups.get(t);if(r&&r(),e||!t.style.marginLeft)t.style.removeProperty(`margin-left`),Q(t,n,!1);else{t.style.marginLeft=`0px`,Q(t,n,!0);let e=()=>{t.style.removeProperty(`margin-left`),Q(t,n,!1),t.removeEventListener(`transitionend`,e),clearTimeout(r),this._pendingMarginCleanups.delete(t)},r=setTimeout(e,300);this._pendingMarginCleanups.set(t,e),t.addEventListener(`transitionend`,e)}},c=!1;for(let[e,t]of this._tabGroupManager.chipRenderers)e!==this._animState.sourceTabGroupId&&s(t.chip.element);i&&(o(i,`${n}px`),c=!0);for(let e=0;e<this._tabs.length;e++){let i=this._tabs[e].value;i.panel.id!==this._animState.sourceTabId&&(r?.has(i.panel.id)||(!c&&e>=t?(o(i.element,`${n}px`),c=!0):s(i.element)))}this._tabGroupManager.trackUnderlines()}resetTabTransforms(){for(let[,e]of this._pendingMarginCleanups)e();this._pendingMarginCleanups.clear();for(let e of this._tabs)e.value.element.style.removeProperty(`margin-left`),e.value.element.style.removeProperty(`margin-right`),e.value.element.style.removeProperty(`margin-top`),e.value.element.style.removeProperty(`margin-bottom`),e.value.element.style.removeProperty(`transform`),Q(e.value.element,`dv-tab--shifting`,!1);for(let[,e]of this._tabGroupManager.chipRenderers)e.chip.element.style.removeProperty(`margin-left`),Q(e.chip.element,`dv-tab-group-chip--shifting`,!1);this._tabGroupManager.positionUnderlines()}_commitGroupMove(e,t){let n=Gg();if(this._tabGroupManager.disposeChipDrag(e),this.group.model.getTabGroups().some(t=>t.id===e))if(this.accessor.options.theme?.tabAnimation===`smooth`){this._clearGroupDragClasses(e);let n=this.snapshotTabPositions();this.resetTabTransforms(),this.group.model.moveTabGroup(e,t),this.runFlipAnimation(n,``,!1)}else this._tabGroupManager.skipNextCollapseAnimation=!0,this.group.model.moveTabGroup(e,t);else n&&(this.resetTabTransforms(),this.accessor.moveGroupOrPanel({from:{groupId:n.groupId,tabGroupId:n.tabGroupId??e},to:{group:this.group,position:`center`,index:t}}))}_clearGroupDragClasses(e){let t=this._tabGroupManager.chipRenderers.get(e);t&&this._removeClassInstantlyBatch([t.chip.element],`dv-tab-group-chip--dragging`),this._removeClassInstantlyBatch(this._tabs.map(e=>e.value.element),`dv-tab--dragging`);let n=this._tabGroupManager.groupUnderlines.get(e);n&&n.style.removeProperty(`display`),this._tabGroupManager.skipNextCollapseAnimation=!0}resetDragAnimation(){if(this._pendingCollapse=!1,this._animState){this.resetTabTransforms(),this._animState.sourceTabGroupId?this._clearGroupDragClasses(this._animState.sourceTabGroupId):this._removeClassInstantlyBatch(this._tabs.map(e=>e.value.element),`dv-tab--dragging`),this._animState=null;for(let[,e]of this._tabGroupManager.groupUnderlines)e.style.removeProperty(`display`)}}runFlipAnimation(e,t,n=!1,r){let i=this._direction===`vertical`,a=!1;for(let o=0;o<this._tabs.length;o++){let s=this._tabs[o],c=s.value.panel.id;if(c===t){if(n){let e=s.value.element.getBoundingClientRect();s.value.element.style.transform=i?`translateY(${e.height}px)`:`translateX(${e.width}px)`,Q(s.value.element,`dv-tab--shifting`,!0),a=!0}continue}if(r!==void 0&&(o<r.from||o>r.to))continue;let l=e.get(c);if(!l)continue;let u=s.value.element.getBoundingClientRect(),d=i?l.top-u.top:l.left-u.left;Math.abs(d)<1||(s.value.element.style.transform=i?`translateY(${d}px)`:`translateX(${d}px)`,Q(s.value.element,`dv-tab--shifting`,!0),a=!0)}a&&requestAnimationFrame(()=>{var e;for(let e of this._tabs)e.value.element.style.transform&&(e.value.element.style.transform=``);this._tabGroupManager.trackUnderlines(),(e=this._flipTransitionCleanup)==null||e.call(this);let t=e=>{if(e.propertyName===`transform`){n();for(let e of this._tabs)Q(e.value.element,`dv-tab--shifting`,!1);this._tabGroupManager.positionUnderlines()}},n=()=>{this._tabsList.removeEventListener(`transitionend`,t),this._flipTransitionCleanup=null};this._flipTransitionCleanup=n,this._tabsList.addEventListener(`transitionend`,t)})}},Cy=e=>{let t=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);t.setAttributeNS(null,`height`,e.height),t.setAttributeNS(null,`width`,e.width),t.setAttributeNS(null,`viewBox`,e.viewbox),t.setAttributeNS(null,`aria-hidden`,`false`),t.setAttributeNS(null,`focusable`,`false`),t.classList.add(`dv-svg`);let n=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return n.setAttributeNS(null,`d`,e.path),t.appendChild(n),t},wy=()=>Cy({width:`11`,height:`11`,viewbox:`0 0 28 28`,path:`M2.1 27.3L0 25.2L11.55 13.65L0 2.1L2.1 0L13.65 11.55L25.2 0L27.3 2.1L15.75 13.65L27.3 25.2L25.2 27.3L13.65 15.75L2.1 27.3Z`}),Ty=()=>Cy({width:`11`,height:`11`,viewbox:`0 0 24 15`,path:`M12 14.15L0 2.15L2.15 0L12 9.9L21.85 0.0499992L24 2.2L12 14.15Z`}),Ey=()=>Cy({width:`11`,height:`11`,viewbox:`0 0 15 25`,path:`M2.15 24.1L0 21.95L9.9 12.05L0 2.15L2.15 0L14.2 12.05L2.15 24.1Z`});function Dy(){let e=document.createElement(`div`);e.className=`dv-tabs-overflow-dropdown-default`;let t=document.createElement(`span`);t.textContent=``;let n=Ey();return e.appendChild(n),e.appendChild(t),{element:e,update:e=>{t.textContent=`${e.tabs}`}}}var Oy=class extends Jg{get onTabDragStart(){return this.tabs.onTabDragStart}get panels(){return this.tabs.panels}get size(){return this.tabs.size}get hidden(){return this._hidden}set hidden(e){this._hidden=e,this.element.style.display=e?`none`:``}get direction(){return this._direction}set direction(e){this._direction=e,e===`vertical`?(o_(this._element,`dv-groupview-header-vertical`),o_(this.rightActionsContainer,`dv-right-actions-container-vertical`),this.tabs.direction=e):(a_(this._element,`dv-groupview-header-vertical`),a_(this.rightActionsContainer,`dv-right-actions-container-vertical`),this.tabs.direction=e)}get element(){return this._element}constructor(e,t){super(),this.accessor=e,this.group=t,this._hidden=!1,this._direction=`horizontal`,this.dropdownPart=null,this._overflowTabs=[],this._overflowTabGroups=[],this._dropdownDisposable=new Yg,this._onDrop=new X,this.onDrop=this._onDrop.event,this._onGroupDragStart=new X,this.onGroupDragStart=this._onGroupDragStart.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._element=document.createElement(`div`),this._element.className=`dv-tabs-and-actions-container`,Q(this._element,`dv-full-width-single-tab`,this.accessor.options.singleTabMode===`fullwidth`),this.rightActionsContainer=document.createElement(`div`),this.rightActionsContainer.className=`dv-right-actions-container`,this.leftActionsContainer=document.createElement(`div`),this.leftActionsContainer.className=`dv-left-actions-container`,this.preActionsContainer=document.createElement(`div`),this.preActionsContainer.className=`dv-pre-actions-container`,this.tabs=new Sy(t,e,{showTabsOverflowControl:!e.options.disableTabsOverflowList}),this.voidContainer=new cy(this.accessor,this.group),this.tabs.voidContainer=this.voidContainer.element,this._element.appendChild(this.preActionsContainer),this._element.appendChild(this.tabs.element),this._element.appendChild(this.leftActionsContainer),this._element.appendChild(this.voidContainer.element),this._element.appendChild(this.rightActionsContainer),this.tabs.setExtendedDropZone(this._element),this.addDisposables(this.tabs.onDrop(e=>this._onDrop.fire(e)),this.tabs.onWillShowOverlay(e=>this._onWillShowOverlay.fire(e)),e.onDidOptionsChange(()=>{this.tabs.showTabsOverflowControl=!e.options.disableTabsOverflowList}),this.tabs.onOverflowTabsChange(e=>{this.toggleDropdown(e)}),this.tabs,this._onWillShowOverlay,this._onDrop,this._onGroupDragStart,this.voidContainer,this.voidContainer.onDragStart(e=>{this._onGroupDragStart.fire({nativeEvent:e,group:this.group})}),this.voidContainer.onDrop(e=>{this.tabs.handleVoidDrop()||this._onDrop.fire({event:e.nativeEvent,index:this.tabs.size})}),this.voidContainer.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(new oy(e,{kind:`header_space`,panel:this.group.activePanel,api:this.accessor.api,group:this.group,getData:Gg}))}),Z(this.leftActionsContainer,`dragleave`,e=>{let t=e.relatedTarget;!this.leftActionsContainer.contains(t)&&!this._element.contains(t)&&this.tabs.clearExternalAnimState()}),Z(this.voidContainer.element,`dragleave`,e=>{let t=e.relatedTarget;this.voidContainer.element.contains(t)||(this._element.contains(t)?this.tabs.setExternalInsertionIndex(null):this.tabs.clearExternalAnimState())}),Z(this.voidContainer.element,`pointerdown`,e=>{if(!e.defaultPrevented&&!this.accessor.options.disableFloatingGroups&&e.shiftKey&&this.group.api.location.type!==`floating`&&this.group.api.location.type!==`edge`){e.preventDefault();let{top:t,left:n}=this.element.getBoundingClientRect(),{top:r,left:i}=this.accessor.element.getBoundingClientRect();this.accessor.addFloatingGroup(this.group,{x:n-i+20,y:t-r+20,inDragMode:!0})}}))}show(){this.hidden||(this.element.style.display=``)}hide(){this._element.style.display=`none`}setRightActionsElement(e){this.rightActions!==e&&(this.rightActions&&=(this.rightActions.remove(),void 0),e&&(this.rightActionsContainer.appendChild(e),this.rightActions=e))}setLeftActionsElement(e){this.leftActions!==e&&(this.leftActions&&=(this.leftActions.remove(),void 0),e&&(this.leftActionsContainer.appendChild(e),this.leftActions=e))}setPrefixActionsElement(e){this.preActions!==e&&(this.preActions&&=(this.preActions.remove(),void 0),e&&(this.preActionsContainer.appendChild(e),this.preActions=e))}isActive(e){return this.tabs.isActive(e)}indexOf(e){return this.tabs.indexOf(e)}setActive(e){}delete(e){this.tabs.delete(e),this.updateClassnames()}setActivePanel(e){this.tabs.setActivePanel(e)}openPanel(e,t=this.tabs.size){this.tabs.openPanel(e,t),this.updateClassnames()}closePanel(e){this.delete(e.id)}updateClassnames(){Q(this._element,`dv-single-tab`,this.size===1)}toggleDropdown(e){let t=e.reset?[]:e.tabs,n=e.reset?[]:e.tabGroups;this._overflowTabs=t,this._overflowTabGroups=n;let r=this._overflowTabs.length;if(r>0&&this.dropdownPart){this.dropdownPart.update({tabs:r});return}if(r===0){this._dropdownDisposable.dispose();return}let i=document.createElement(`div`);i.className=`dv-tabs-overflow-dropdown-root`;let a=Dy();a.update({tabs:r}),this.dropdownPart=a,i.appendChild(a.element),this.rightActionsContainer.prepend(i),this._dropdownDisposable.value=new Jg(qg.from(()=>{var e,t;i.remove(),(t=(e=this.dropdownPart)?.dispose)==null||t.call(e),this.dropdownPart=null}),Z(i,`pointerdown`,e=>{e.preventDefault()},{capture:!0}),Z(i,`click`,e=>{let t=document.createElement(`div`);t.style.overflow=`auto`,t.className=`dv-tabs-overflow-container`;let n=new Set(this._overflowTabGroups),r=this.group.model.getTabGroups(),a=new Map;for(let e of r)if(n.has(e.id))for(let t of e.panelIds)a.set(t,e);let o=new Set;for(let e of this.tabs.tabs.filter(e=>this._overflowTabs.includes(e.panel.id))){let n=a.get(e.panel.id);if(n&&!o.has(n.id)){o.add(n.id);let e=document.createElement(`div`);e.className=`dv-tabs-overflow-group-header`;let r=document.createElement(`span`);r.className=`dv-tabs-overflow-group-color`,my(r,n.color,this.accessor.tabGroupColorPalette),e.appendChild(r);let i=document.createElement(`span`);if(i.className=`dv-tabs-overflow-group-label`,i.textContent=n.label||n.id,e.appendChild(i),n.collapsed){let t=document.createElement(`span`);t.className=`dv-tabs-overflow-group-collapsed-badge`,t.textContent=`${n.panelIds.length}`,e.appendChild(t)}e.addEventListener(`click`,()=>{this.accessor.getPopupServiceForGroup(this.group).close(),n.collapsed&&n.expand();let e=n.panelIds[0];e&&this.group.panels.find(t=>t.id===e)?.api.setActive()}),t.appendChild(e)}let r=this.group.panels.find(t=>t===e.panel),i=r.view.createTabRenderer(`headerOverflow`).element,s=document.createElement(`div`);Q(s,`dv-tab`,!0),Q(s,`dv-active-tab`,r.api.isActive),Q(s,`dv-inactive-tab`,!r.api.isActive),n&&Q(s,`dv-tab--grouped`,!0),s.addEventListener(`click`,t=>{this.accessor.getPopupServiceForGroup(this.group).close(),!t.defaultPrevented&&(n?.collapsed&&n.expand(),e.element.scrollIntoView(),e.panel.api.setActive())}),s.appendChild(i),t.appendChild(s)}let s=E_(i);this.accessor.getPopupServiceForGroup(this.group).openPopover(t,{x:e.clientX,y:e.clientY,zIndex:s?.style.zIndex?`calc(${s.style.zIndex} * 2)`:void 0})}))}updateDragAndDropState(){this.tabs.updateDragAndDropState(),this.voidContainer.updateDragAndDropState()}updateTabGroups(){this.tabs.updateTabGroups()}refreshTabGroupAccent(){this.tabs.refreshTabGroupAccent()}},ky=class extends Qg{constructor(e,t,n,r,i){super(),this.nativeEvent=e,this.target=t,this.position=n,this.getData=r,this.group=i}},Ay=Object.keys({disableAutoResizing:void 0,hideBorders:void 0,singleTabMode:void 0,disableFloatingGroups:void 0,floatingGroupBounds:void 0,popoutUrl:void 0,nonce:void 0,defaultRenderer:void 0,defaultHeaderPosition:void 0,debug:void 0,rootOverlayModel:void 0,locked:void 0,disableDnd:void 0,dndStrategy:void 0,className:void 0,noPanelsOverlay:void 0,dndEdges:void 0,theme:void 0,disableTabsOverflowList:void 0,scrollbars:void 0,getTabContextMenuItems:void 0,getTabGroupChipContextMenuItems:void 0,createTabGroupChipComponent:void 0,createGroupDragGhostComponent:void 0,tabGroupColors:void 0,tabGroupAccent:void 0});function jy(e){return!!e.referencePanel}function My(e){return!!e.referenceGroup}function Ny(e){return!!e.referencePanel}function Py(e){return!!e.referenceGroup}var Fy=class extends Jg{get label(){return this._label}get color(){return this._color}get componentParams(){return this._componentParams}setLabel(e){this.isDisposed||this._label===e||(this._label=e,this._onDidChange.fire())}setColor(e){if(this.isDisposed)return;let t=e===``?void 0:e;this._color!==t&&(this._color=t,this._onDidChange.fire())}setComponentParams(e){this.isDisposed||(this._componentParams=e,this._onDidChange.fire())}get collapsed(){return this._collapsed}get panelIds(){return this._panelIds}get size(){return this._panelIds.length}get isEmpty(){return this._panelIds.length===0}constructor(e,t){super(),this.id=e,this._collapsed=!1,this._panelIds=[],this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._onDidPanelChange=new X,this.onDidPanelChange=this._onDidPanelChange.event,this._onDidCollapseChange=new X,this.onDidCollapseChange=this._onDidCollapseChange.event,this._onDidDestroy=new X,this.onDidDestroy=this._onDidDestroy.event,this._label=t?.label??``,this._color=t?.color===``?void 0:t?.color,this._collapsed=t?.collapsed??!1,this._componentParams=t?.componentParams,this.addDisposables(this._onDidChange,this._onDidPanelChange,this._onDidCollapseChange,this._onDidDestroy)}addPanel(e,t){if(this.isDisposed||this._panelIds.includes(e))return;let n=t===void 0?this._panelIds.length:Math.max(0,Math.min(t,this._panelIds.length));this._panelIds.splice(n,0,e),this._onDidPanelChange.fire({panelId:e,type:`add`})}removePanel(e){if(this.isDisposed)return!1;let t=this._panelIds.indexOf(e);return t===-1?!1:(this._panelIds.splice(t,1),this._onDidPanelChange.fire({panelId:e,type:`remove`}),!0)}indexOfPanel(e){return this._panelIds.indexOf(e)}containsPanel(e){return this._panelIds.includes(e)}collapse(){this.isDisposed||this._collapsed||(this._collapsed=!0,this._onDidCollapseChange.fire(!0))}expand(){this.isDisposed||!this._collapsed||(this._collapsed=!1,this._onDidCollapseChange.fire(!1))}toggle(){this._collapsed?this.expand():this.collapse()}toJSON(){let e={id:this.id,collapsed:this._collapsed,panelIds:[...this._panelIds]};return this._label&&(e.label=this._label),this._color!==void 0&&(e.color=this._color),this._componentParams!==void 0&&(e.componentParams=this._componentParams),e}dispose(){this._onDidDestroy.fire(),super.dispose()}},Iy=class extends Zg{get nativeEvent(){return this.options.nativeEvent}get position(){return this.options.position}get panel(){return this.options.panel}get group(){return this.options.group}get api(){return this.options.api}constructor(e){super(),this.options=e}getData(){return this.options.getData()}},Ly=class extends Iy{get kind(){return this._kind}constructor(e){super(e),this._kind=e.kind}},Ry=class extends Jg{get tabGroups(){return this._tabGroups}get element(){throw Error(`dockview: not supported`)}get activePanel(){return this._activePanel}get locked(){return this._locked}set locked(e){this._locked=e,Q(this.container,`dv-locked-groupview`,e===`no-drop-target`||e)}get isActive(){return this._isGroupActive}get panels(){return this._panels}get size(){return this._panels.length}get isEmpty(){return this._panels.length===0}get hasWatermark(){return!!(this.watermark&&this.container.contains(this.watermark.element))}get header(){return this.tabsContainer}get isContentFocused(){return document.activeElement?s_(document.activeElement,this.contentContainer.element):!1}get headerPosition(){return this._headerPosition??`top`}set headerPosition(e){this._headerPosition=e,a_(this.container,`dv-groupview-header-top`,`dv-groupview-header-bottom`,`dv-groupview-header-left`,`dv-groupview-header-right`),o_(this.container,`dv-groupview-header-${e}`);let t=e===`top`||e===`bottom`?`horizontal`:`vertical`;this.tabsContainer.direction=t,this.header.direction=t,this._activePanel?.layout&&this._activePanel.layout(this._width,this._height),(this._leftHeaderActions||this._rightHeaderActions||this._prefixHeaderActions)&&this.updateHeaderActions()}get location(){return this._location}set location(e){this._location=e,Q(this.container,`dv-groupview-floating`,!1),Q(this.container,`dv-groupview-popout`,!1),Q(this.container,`dv-groupview-edge`,!1);let t=e=>{this.contentContainer.dropTarget.setTargetZones(e),this.contentContainer.pointerDropTarget.setTargetZones(e)};switch(e.type){case`grid`:t([`top`,`bottom`,`left`,`right`,`center`]);break;case`floating`:t([`center`]),t(e?[`center`]:[`top`,`bottom`,`left`,`right`,`center`]),Q(this.container,`dv-groupview-floating`,!0);break;case`popout`:t([`center`]),Q(this.container,`dv-groupview-popout`,!0);break;case`edge`:t([`center`]),Q(this.container,`dv-groupview-edge`,!0);break}this.groupPanel.api._onDidLocationChange.fire({location:this.location})}constructor(e,t,n,r,i){super(),this.container=e,this.accessor=t,this.id=n,this.options=r,this.groupPanel=i,this._isGroupActive=!1,this._locked=!1,this._rightHeaderActionsDisposable=new Yg,this._leftHeaderActionsDisposable=new Yg,this._prefixHeaderActionsDisposable=new Yg,this._location={type:`grid`},this.mostRecentlyUsed=[],this._overwriteRenderContainer=null,this._overwriteDropTargetContainer=null,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._width=0,this._height=0,this._panels=[],this._panelDisposables=new Map,this._tabGroupDisposables=new Map,this._pendingMicrotaskDisposables=new Set,this._onMove=new X,this.onMove=this._onMove.event,this._onDidDrop=new X,this.onDidDrop=this._onDidDrop.event,this._onWillDrop=new X,this.onWillDrop=this._onWillDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._onTabDragStart=new X,this.onTabDragStart=this._onTabDragStart.event,this._onGroupDragStart=new X,this.onGroupDragStart=this._onGroupDragStart.event,this._onDidAddPanel=new X,this.onDidAddPanel=this._onDidAddPanel.event,this._onDidPanelTitleChange=new X,this.onDidPanelTitleChange=this._onDidPanelTitleChange.event,this._onDidPanelParametersChange=new X,this.onDidPanelParametersChange=this._onDidPanelParametersChange.event,this._onDidRemovePanel=new X,this.onDidRemovePanel=this._onDidRemovePanel.event,this._onDidActivePanelChange=new X,this.onDidActivePanelChange=this._onDidActivePanelChange.event,this._onUnhandledDragOverEvent=new X,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this._tabGroups=[],this._tabGroupMap=new Map,this._panelToTabGroup=new Map,this._tabGroupIdCounter=0,this._pendingTabGroupUpdate=!1,this._onDidCreateTabGroup=new X,this.onDidCreateTabGroup=this._onDidCreateTabGroup.event,this._onDidDestroyTabGroup=new X,this.onDidDestroyTabGroup=this._onDidDestroyTabGroup.event,this._onDidAddPanelToTabGroup=new X,this.onDidAddPanelToTabGroup=this._onDidAddPanelToTabGroup.event,this._onDidRemovePanelFromTabGroup=new X,this.onDidRemovePanelFromTabGroup=this._onDidRemovePanelFromTabGroup.event,this._onDidTabGroupChange=new X,this.onDidTabGroupChange=this._onDidTabGroupChange.event,this._onDidTabGroupCollapsedChange=new X,this.onDidTabGroupCollapsedChange=this._onDidTabGroupCollapsedChange.event,Q(this.container,`dv-groupview`,!0),this._api=new fv(this.accessor),this.tabsContainer=new Oy(this.accessor,this.groupPanel),this.contentContainer=new $v(this.accessor,this),e.append(this.tabsContainer.element,this.contentContainer.element),this.header.hidden=!!r.hideHeader,this.locked=r.locked??!1,this.headerPosition=r.headerPosition??t.defaultHeaderPosition,this.addDisposables(this._onTabDragStart,this._onGroupDragStart,this._onWillShowOverlay,this._rightHeaderActionsDisposable,this._leftHeaderActionsDisposable,this._prefixHeaderActionsDisposable,this.tabsContainer.onTabDragStart(e=>{this._onTabDragStart.fire(e)}),this.tabsContainer.onGroupDragStart(e=>{this._onGroupDragStart.fire(e)}),this.tabsContainer.onDrop(e=>{let t=Gg()?.panelId??null;if(this.handleDropEvent(`header`,e.event,`center`,e.index),t&&e.targetTabGroupId){let n=this._tabGroupMap.get(e.targetTabGroupId),r;if(n){let e=this._panels.findIndex(e=>e.id===t);if(e!==-1){r=0;for(let t of n.panelIds)this._panels.findIndex(e=>e.id===t)<e&&r++}}this.addPanelToTabGroup(e.targetTabGroupId,t,r)}else t&&e.targetTabGroupId===null&&this.removePanelFromTabGroup(t)}),this.contentContainer.onDidFocus(()=>{this.accessor.doSetGroupActive(this.groupPanel)}),this.contentContainer.onDidBlur(()=>{}),this.contentContainer.dropTarget.onDrop(e=>{this.handleDropEvent(`content`,e.nativeEvent,e.position)}),this.contentContainer.pointerDropTarget.onDrop(e=>{this.handleDropEvent(`content`,e.nativeEvent,e.position)}),this.tabsContainer.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(e)}),this.contentContainer.dropTarget.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(new oy(e,{kind:`content`,panel:this.activePanel,api:this._api,group:this.groupPanel,getData:Gg}))}),this.contentContainer.pointerDropTarget.onWillShowOverlay(e=>{this._onWillShowOverlay.fire(new oy(e,{kind:`content`,panel:this.activePanel,api:this._api,group:this.groupPanel,getData:Gg}))}),this._onMove,this._onDidChange,this._onDidDrop,this._onWillDrop,this._onDidAddPanel,this._onDidRemovePanel,this._onDidActivePanelChange,this._onUnhandledDragOverEvent,this._onDidPanelTitleChange,this._onDidPanelParametersChange,this._onDidCreateTabGroup,this._onDidDestroyTabGroup,this._onDidAddPanelToTabGroup,this._onDidRemovePanelFromTabGroup,this._onDidTabGroupChange,this._onDidTabGroupCollapsedChange,this._onDidCreateTabGroup.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidDestroyTabGroup.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidAddPanelToTabGroup.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidRemovePanelFromTabGroup.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidTabGroupChange.event(()=>{this._scheduleTabGroupUpdate()}),this._onDidTabGroupCollapsedChange.event(()=>{this._scheduleTabGroupUpdate()}))}_scheduleTabGroupUpdate(){this._pendingTabGroupUpdate||(this._pendingTabGroupUpdate=!0,queueMicrotask(()=>{this._pendingTabGroupUpdate=!1,this.isDisposed||this.tabsContainer.updateTabGroups()}))}createTabGroup(e){let t=e?.id??`tg-${this.id}-${this._tabGroupIdCounter++}`,n=new Fy(t,{label:e?.label,color:e?.color,collapsed:e?.collapsed,componentParams:e?.componentParams});return this._tabGroups.push(n),this._tabGroupMap.set(t,n),this._tabGroupDisposables.set(t,new Jg(n.onDidChange(()=>{this._onDidTabGroupChange.fire({tabGroup:n})}),n.onDidCollapseChange(e=>{e?this._handleGroupCollapse(n):this._handleGroupExpand(n),this._onDidTabGroupCollapsedChange.fire({tabGroup:n})}),n.onDidDestroy(()=>{this._removeTabGroupInternal(n)}))),this._onDidCreateTabGroup.fire({tabGroup:n}),n}dissolveTabGroup(e){let t=this._tabGroupMap.get(e);if(!t)return;let n=[...t.panelIds];for(let e of n)t.removePanel(e),this._panelToTabGroup.delete(e),this._onDidRemovePanelFromTabGroup.fire({tabGroup:t,panelId:e});t.dispose()}addPanelToTabGroup(e,t,n){let r=this._tabGroupMap.get(e);if(!r||!this._panels.some(e=>e.id===t))return;let i=this.getTabGroupForPanel(t);if(i){if(i.id===e)return;this.removePanelFromTabGroup(t)}r.addPanel(t,n),this._panelToTabGroup.set(t,r),this._enforceContiguity(r,t),this._onDidAddPanelToTabGroup.fire({tabGroup:r,panelId:t})}movePanelWithinGroup(e,t,n){let r=this._tabGroupMap.get(e);!r||!r.containsPanel(t)||(r.removePanel(t),r.addPanel(t,n),this._enforceContiguity(r,t),this.tabsContainer.updateTabGroups())}movePanelBetweenGroups(e,t,n){let r=this._findTabGroupForPanel(e),i=this._tabGroupMap.get(t);i&&(r&&(r.removePanel(e),this._panelToTabGroup.delete(e),this._onDidRemovePanelFromTabGroup.fire({tabGroup:r,panelId:e}),r.isEmpty&&r.dispose()),i.addPanel(e,n),this._panelToTabGroup.set(e,i),this._enforceContiguity(i,e),this._onDidAddPanelToTabGroup.fire({tabGroup:i,panelId:e}))}moveTabGroup(e,t){let n=this._tabGroupMap.get(e);if(!n||n.panelIds.length===0)return;let r=new Set(n.panelIds),i=n.panelIds.map(e=>this._panels.find(t=>t.id===e)).filter(e=>e!==void 0);if(i.length===0)return;let a=0;for(let e=0;e<Math.min(t,this._panels.length);e++)r.has(this._panels[e].id)&&a++;for(let e of i){let t=this._panels.indexOf(e);t!==-1&&this._panels.splice(t,1)}let o=t-a,s=Math.max(0,Math.min(o,this._panels.length));this._panels.splice(s,0,...i);for(let e of this._panels)this.tabsContainer.delete(e.id);for(let e=0;e<this._panels.length;e++)this.tabsContainer.openPanel(this._panels[e],e);this.tabsContainer.updateTabGroups()}_enforceContiguity(e,t){let n=this._panels.find(e=>e.id===t);if(!n)return;let r=e.indexOfPanel(t),i=this._computeGlobalIndex(e,r),a=this._panels.indexOf(n);if(a===i)return;this._panels.splice(a,1);let o=i>a?i-1:i;this._panels.splice(o,0,n),this.tabsContainer.delete(t),this.tabsContainer.openPanel(n,o)}_computeGlobalIndex(e,t){let n=e.panelIds;if(n.length<=1){let e=this._panels.find(e=>e.id===n[0]);return e?this._panels.indexOf(e):this._panels.length}for(let e=0;e<n.length;e++){if(e===t)continue;let r=this._panels.find(t=>t.id===n[e]);if(r){let n=this._panels.indexOf(r);return Math.max(0,n+(t-e))}}return this._panels.length}removePanelFromTabGroup(e){let t=this._findTabGroupForPanel(e);t&&(t.removePanel(e),this._panelToTabGroup.delete(e),this._onDidRemovePanelFromTabGroup.fire({tabGroup:t,panelId:e}),t.isEmpty&&t.dispose())}getTabGroups(){return this._tabGroups}updateTabGroups(){this.tabsContainer.updateTabGroups()}refreshTabGroupAccent(){this.tabsContainer.refreshTabGroupAccent()}refreshWatermark(){var e,t;this.watermark&&=(this.watermark.element.remove(),(t=(e=this.watermark).dispose)==null||t.call(e),void 0),this.updateContainer()}getTabGroupForPanel(e){return this._findTabGroupForPanel(e)}_findTabGroupForPanel(e){return this._panelToTabGroup.get(e)}_removeTabGroupInternal(e){let t=this._tabGroups.indexOf(e);if(t!==-1){this._tabGroups.splice(t,1),this._tabGroupMap.delete(e.id);for(let t of e.panelIds)this._panelToTabGroup.delete(t);this._onDidDestroyTabGroup.fire({tabGroup:e});let n=this._tabGroupDisposables.get(e.id);this._tabGroupDisposables.delete(e.id),n&&(this._pendingMicrotaskDisposables.add(n),queueMicrotask(()=>{this._pendingMicrotaskDisposables.delete(n),n.dispose()}))}}_handleGroupCollapse(e){if(!this._activePanel||!e.containsPanel(this._activePanel.id))return;let t=this._panels.indexOf(this._activePanel);for(let e=t+1;e<this._panels.length;e++){let t=this._panels[e],n=this._findTabGroupForPanel(t.id);if(!n||!n.collapsed){this.doSetActivePanel(t),this.updateContainer();return}}for(let e=t-1;e>=0;e--){let t=this._panels[e],n=this._findTabGroupForPanel(t.id);if(!n||!n.collapsed){this.doSetActivePanel(t),this.updateContainer();return}}this.contentContainer.closePanel(),this.doSetActivePanel(void 0),this.updateContainer()}_handleGroupExpand(e){if(this._activePanel)return;let t=e.panelIds[0];if(t){let e=this._panels.find(e=>e.id===t);e&&(this.doSetActivePanel(e),this.updateContainer())}}restoreTabGroups(e){for(let t of e){let e=t.id.match(/-(\d+)$/);if(e){let t=parseInt(e[1],10)+1;t>this._tabGroupIdCounter&&(this._tabGroupIdCounter=t)}}for(let t of e){let e=this.createTabGroup({id:t.id,label:t.label,color:t.color,componentParams:t.componentParams}),n=this._tabGroupMap.get(e.id);for(let r of t.panelIds)this._panels.some(e=>e.id===r)&&(e.addPanel(r),this._panelToTabGroup.set(r,n),this._enforceContiguity(n,r));t.collapsed&&e.collapse(),e.isEmpty&&e.dispose()}}focusContent(){this.contentContainer.element.focus()}set renderContainer(e){this.panels.forEach(e=>{this.renderContainer.detatch(e)}),this._overwriteRenderContainer=e,this.panels.forEach(e=>{this.rerender(e)})}get renderContainer(){return this._overwriteRenderContainer??this.accessor.overlayRenderContainer}set dropTargetContainer(e){this._overwriteDropTargetContainer=e}get dropTargetContainer(){return this._overwriteDropTargetContainer??this.accessor.rootDropTargetContainer}initialize(){this.options.panels&&this.options.panels.forEach(e=>{this.doAddPanel(e)}),this.options.activePanel&&this.openPanel(this.options.activePanel),this.setActive(this.isActive,!0),this.updateContainer(),this.updateHeaderActions()}updateHeaderActions(){this.accessor.options.createRightHeaderActionComponent?(this._rightHeaderActions=this.accessor.options.createRightHeaderActionComponent(this.groupPanel),this._rightHeaderActionsDisposable.value=this._rightHeaderActions,this._rightHeaderActions.init({containerApi:this._api,api:this.groupPanel.api,group:this.groupPanel}),this.tabsContainer.setRightActionsElement(this._rightHeaderActions.element)):(this._rightHeaderActions=void 0,this._rightHeaderActionsDisposable.dispose(),this.tabsContainer.setRightActionsElement(void 0)),this.accessor.options.createLeftHeaderActionComponent?(this._leftHeaderActions=this.accessor.options.createLeftHeaderActionComponent(this.groupPanel),this._leftHeaderActionsDisposable.value=this._leftHeaderActions,this._leftHeaderActions.init({containerApi:this._api,api:this.groupPanel.api,group:this.groupPanel}),this.tabsContainer.setLeftActionsElement(this._leftHeaderActions.element)):(this._leftHeaderActions=void 0,this._leftHeaderActionsDisposable.dispose(),this.tabsContainer.setLeftActionsElement(void 0)),this.accessor.options.createPrefixHeaderActionComponent?(this._prefixHeaderActions=this.accessor.options.createPrefixHeaderActionComponent(this.groupPanel),this._prefixHeaderActionsDisposable.value=this._prefixHeaderActions,this._prefixHeaderActions.init({containerApi:this._api,api:this.groupPanel.api,group:this.groupPanel}),this.tabsContainer.setPrefixActionsElement(this._prefixHeaderActions.element)):(this._prefixHeaderActions=void 0,this._prefixHeaderActionsDisposable.dispose(),this.tabsContainer.setPrefixActionsElement(void 0))}rerender(e){this.contentContainer.renderPanel(e,{asActive:!1})}indexOf(e){return this.tabsContainer.indexOf(e.id)}toJSON(){let e={views:this.tabsContainer.panels,activeView:this._activePanel?.id,id:this.id};return this.locked!==!1&&(e.locked=this.locked),this.header.hidden&&(e.hideHeader=!0),this.headerPosition!==`top`&&(e.headerPosition=this.headerPosition),this._tabGroups.length>0&&(e.tabGroups=this._tabGroups.map(e=>e.toJSON())),e}moveToNext(e){e||={},e.panel||=this.activePanel;let t=e.panel?this.panels.indexOf(e.panel):-1,n;if(t<this.panels.length-1)n=t+1;else if(!e.suppressRoll)n=0;else return;this.openPanel(this.panels[n])}moveToPrevious(e){if(e||={},e.panel||=this.activePanel,!e.panel)return;let t=this.panels.indexOf(e.panel),n;if(t>0)n=t-1;else if(!e.suppressRoll)n=this.panels.length-1;else return;this.openPanel(this.panels[n])}containsPanel(e){return this.panels.includes(e)}init(e){}update(e){}focus(){var e;(e=this._activePanel)==null||e.focus()}openPanel(e,t={}){(typeof t.index!=`number`||t.index>this.panels.length)&&(t.index=this.panels.length);let n=!!t.skipSetActive;if(e.updateParentGroup(this.groupPanel,{skipSetActive:t.skipSetActive}),this.doAddPanel(e,t.index,{skipSetActive:n}),this._activePanel===e){this.contentContainer.renderPanel(e,{asActive:!0});return}n||this.doSetActivePanel(e),t.skipSetGroupActive||this.accessor.doSetGroupActive(this.groupPanel),t.skipSetActive||this.updateContainer()}removePanel(e,t={skipSetActive:!1}){let n=typeof e==`string`?e:e.id,r=this._panels.find(e=>e.id===n);if(!r)throw Error(`invalid operation`);return this._removePanel(r,t)}closeAllPanels(){if(this.panels.length>0){let e=[...this.panels];for(let t of e)this.doClose(t)}else this.accessor.removeGroup(this.groupPanel)}closePanel(e){this.doClose(e)}doClose(e){let t=this.panels.length===1&&this.accessor.groups.length===1;this.accessor.removePanel(e,t&&this.accessor.options.noPanelsOverlay===`emptyGroup`?{removeEmptyGroup:!1}:void 0)}isPanelActive(e){return this._activePanel===e}updateActions(e){this.tabsContainer.setRightActionsElement(e)}setActive(e,t=!1){if(!(!t&&this.isActive===e)){if(this._isGroupActive=e,Q(this.container,`dv-active-group`,e),Q(this.container,`dv-inactive-group`,!e),this.tabsContainer.setActive(this.isActive),!this._activePanel&&this.panels.length>0){let e=this._panels.find(e=>{let t=this._findTabGroupForPanel(e.id);return!t||!t.collapsed});e&&this.doSetActivePanel(e)}this.updateContainer()}}layout(e,t){this._width=e,this._height=t,this.contentContainer.layout(this._width,this._height),this._activePanel?.layout&&this._activePanel.layout(this._width,this._height)}_removePanel(e,t){let n=this._activePanel===e;if(this.doRemovePanel(e),n&&this.panels.length>0){let e=this.mostRecentlyUsed[0];this.openPanel(e,{skipSetActive:t.skipSetActive,skipSetGroupActive:t.skipSetActiveGroup})}return this._activePanel&&this.panels.length===0&&this.doSetActivePanel(void 0),t.skipSetActive||this.updateContainer(),e}doRemovePanel(e){let t=this.panels.indexOf(e);if(this._activePanel===e&&this.contentContainer.closePanel(),this.tabsContainer.delete(e.id),this._panels.splice(t,1),this.mostRecentlyUsed.includes(e)){let t=this.mostRecentlyUsed.indexOf(e);this.mostRecentlyUsed.splice(t,1)}let n=this._panelDisposables.get(e.id);n&&(n.dispose(),this._panelDisposables.delete(e.id)),this.removePanelFromTabGroup(e.id),this._onDidRemovePanel.fire({panel:e})}doAddPanel(e,t=this.panels.length,n={skipSetActive:!1}){let r=this._panels.indexOf(e)>-1;this.tabsContainer.show(),this.contentContainer.show(),this.tabsContainer.openPanel(e,t),n.skipSetActive?e.api.renderer===`always`&&this.contentContainer.renderPanel(e,{asActive:!1}):this.contentContainer.openPanel(e),!r&&(this.updateMru(e),this.panels.splice(t,0,e),this._panelDisposables.set(e.id,new Jg(e.api.onDidTitleChange(e=>this._onDidPanelTitleChange.fire(e)),e.api.onDidParametersChange(e=>this._onDidPanelParametersChange.fire(e)))),this._onDidAddPanel.fire({panel:e}))}doSetActivePanel(e){this._activePanel!==e&&(this._activePanel=e,e&&(this.tabsContainer.setActivePanel(e),this.contentContainer.openPanel(e),e.layout(this._width,this._height),this.updateMru(e),this.contentContainer.refreshFocusState(),this._onDidActivePanelChange.fire({panel:e})))}updateMru(e){this.mostRecentlyUsed.includes(e)&&this.mostRecentlyUsed.splice(this.mostRecentlyUsed.indexOf(e),1),this.mostRecentlyUsed=[e,...this.mostRecentlyUsed]}updateContainer(){var e,t;this.panels.forEach(e=>e.runEvents());let n=this.isEmpty||!this._activePanel;if(n&&!this.watermark){let e=this.accessor.createWatermarkComponent();e.init({containerApi:this._api,group:this.groupPanel}),this.watermark=e,Z(this.watermark.element,`pointerdown`,()=>{this.isActive||this.accessor.doSetGroupActive(this.groupPanel)}),this.contentContainer.element.appendChild(this.watermark.element)}!n&&this.watermark&&(this.watermark.element.remove(),(t=(e=this.watermark).dispose)==null||t.call(e),this.watermark=void 0)}canDisplayOverlay(e,t,n){let r=new ky(e,n,t,Gg,this.accessor.getPanel(this.id));return this._onUnhandledDragOverEvent.fire(r),r.isAccepted}handleDropEvent(e,t,n,r){if(this.locked===`no-drop-target`)return;function i(){switch(e){case`header`:return typeof r==`number`?`tab`:`header_space`;case`content`:return`content`}}let a=typeof r==`number`?this.panels[r]:void 0,o=new Ly({nativeEvent:t,position:n,panel:a,getData:()=>Gg(),kind:i(),group:this.groupPanel,api:this._api});if(this._onWillDrop.fire(o),o.defaultPrevented)return;let s=Gg();if(s&&s.viewId===this.accessor.id){if(e===`content`&&s.groupId===this.id&&(n===`center`||s.panelId===null&&!s.tabGroupId)||e===`header`&&s.groupId===this.id&&s.panelId===null&&!s.tabGroupId)return;if(s.panelId===null){let{groupId:e}=s;this._onMove.fire({target:n,groupId:e,index:r,tabGroupId:s.tabGroupId});return}if(this.tabsContainer.indexOf(s.panelId)!==-1&&this.tabsContainer.size===1)return;let{groupId:t,panelId:i}=s;if(this.id===t&&!n&&this.tabsContainer.indexOf(i)===r)return;this._onMove.fire({target:n,groupId:s.groupId,itemId:s.panelId,index:r})}else this._onDidDrop.fire(new Iy({nativeEvent:t,position:n,panel:a,getData:()=>Gg(),group:this.groupPanel,api:this._api}))}updateDragAndDropState(){this.tabsContainer.updateDragAndDropState()}dispose(){var e,t,n;super.dispose(),(e=this.watermark)==null||e.element.remove(),(n=(t=this.watermark)?.dispose)==null||n.call(t),this.watermark=void 0;for(let e of[...this._tabGroups])e.dispose();for(let e of this._tabGroupDisposables.values())e.dispose();this._tabGroupDisposables.clear();for(let e of this._pendingMicrotaskDisposables)e.dispose();this._pendingMicrotaskDisposables.clear();for(let e of this.panels)e.dispose();this.tabsContainer.dispose(),this.contentContainer.dispose()}},zy=class extends qv{constructor(e,t,n){super(e,t),this._onDidConstraintsChangeInternal=new X,this.onDidConstraintsChangeInternal=this._onDidConstraintsChangeInternal.event,this._onDidConstraintsChange=new X,this.onDidConstraintsChange=this._onDidConstraintsChange.event,this._onDidSizeChange=new X,this.onDidSizeChange=this._onDidSizeChange.event,this.addDisposables(this._onDidConstraintsChangeInternal,this._onDidConstraintsChange,this._onDidSizeChange),n&&this.initialize(n)}setConstraints(e){this._onDidConstraintsChangeInternal.fire(e)}setSize(e){this._onDidSizeChange.fire(e)}},By=class extends Xv{get priority(){return this._priority}get snap(){return this._snap}get minimumWidth(){return this.__minimumWidth()}get minimumHeight(){return this.__minimumHeight()}get maximumHeight(){return this.__maximumHeight()}get maximumWidth(){return this.__maximumWidth()}__minimumWidth(){let e=typeof this._minimumWidth==`function`?this._minimumWidth():this._minimumWidth;return e!==this._evaluatedMinimumWidth&&(this._evaluatedMinimumWidth=e,this.updateConstraints()),e}__maximumWidth(){let e=typeof this._maximumWidth==`function`?this._maximumWidth():this._maximumWidth;return e!==this._evaluatedMaximumWidth&&(this._evaluatedMaximumWidth=e,this.updateConstraints()),e}__minimumHeight(){let e=typeof this._minimumHeight==`function`?this._minimumHeight():this._minimumHeight;return e!==this._evaluatedMinimumHeight&&(this._evaluatedMinimumHeight=e,this.updateConstraints()),e}__maximumHeight(){let e=typeof this._maximumHeight==`function`?this._maximumHeight():this._maximumHeight;return e!==this._evaluatedMaximumHeight&&(this._evaluatedMaximumHeight=e,this.updateConstraints()),e}get isActive(){return this.api.isActive}get isVisible(){return this.api.isVisible}constructor(e,t,n,r){super(e,t,r??new zy(e,t)),this._evaluatedMinimumWidth=0,this._evaluatedMaximumWidth=2**53-1,this._evaluatedMinimumHeight=0,this._evaluatedMaximumHeight=2**53-1,this._minimumWidth=0,this._minimumHeight=0,this._maximumWidth=2**53-1,this._maximumHeight=2**53-1,this._snap=!1,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,typeof n?.minimumWidth==`number`&&(this._minimumWidth=n.minimumWidth),typeof n?.maximumWidth==`number`&&(this._maximumWidth=n.maximumWidth),typeof n?.minimumHeight==`number`&&(this._minimumHeight=n.minimumHeight),typeof n?.maximumHeight==`number`&&(this._maximumHeight=n.maximumHeight),this.api.initialize(this),this.addDisposables(this.api.onWillVisibilityChange(e=>{let{isVisible:t}=e,{accessor:n}=this._params;n.setVisible(this,t)}),this.api.onActiveChange(()=>{let{accessor:e}=this._params;e.doSetGroupActive(this)}),this.api.onDidConstraintsChangeInternal(e=>{(typeof e.minimumWidth==`number`||typeof e.minimumWidth==`function`)&&(this._minimumWidth=e.minimumWidth),(typeof e.minimumHeight==`number`||typeof e.minimumHeight==`function`)&&(this._minimumHeight=e.minimumHeight),(typeof e.maximumWidth==`number`||typeof e.maximumWidth==`function`)&&(this._maximumWidth=e.maximumWidth),(typeof e.maximumHeight==`number`||typeof e.maximumHeight==`function`)&&(this._maximumHeight=e.maximumHeight)}),this.api.onDidSizeChange(e=>{this._onDidChange.fire({height:e.height,width:e.width})}),this._onDidChange)}setVisible(e){this.api._onDidVisibilityChange.fire({isVisible:e})}setActive(e){this.api._onDidActiveChange.fire({isActive:e})}init(e){e.maximumHeight&&(this._maximumHeight=e.maximumHeight),e.minimumHeight&&(this._minimumHeight=e.minimumHeight),e.maximumWidth&&(this._maximumWidth=e.maximumWidth),e.minimumWidth&&(this._minimumWidth=e.minimumWidth),this._priority=e.priority,this._snap=!!e.snap,super.init(e),typeof e.isVisible==`boolean`&&this.setVisible(e.isVisible)}updateConstraints(){this.api._onDidConstraintsChange.fire({minimumWidth:this._evaluatedMinimumWidth,maximumWidth:this._evaluatedMaximumWidth,minimumHeight:this._evaluatedMinimumHeight,maximumHeight:this._evaluatedMaximumHeight})}toJSON(){let e=super.toJSON(),t=e=>e===2**53-1?void 0:e,n=e=>e<=0?void 0:e;return Object.assign(Object.assign({},e),{minimumHeight:n(this.minimumHeight),maximumHeight:t(this.maximumHeight),minimumWidth:n(this.minimumWidth),maximumWidth:t(this.maximumWidth),snap:this.snap,priority:this.priority})}},Vy=`dockview: DockviewGroupPanelApiImpl not initialized`,Hy=class extends zy{get location(){if(!this._group)throw Error(Vy);return this._group.model.location}get locked(){if(!this._group)throw Error(Vy);return this._group.locked}set locked(e){if(!this._group)throw Error(Vy);this._group.locked=e}constructor(e,t){super(e,`__dockviewgroup__`),this.accessor=t,this._onDidLocationChange=new X,this.onDidLocationChange=this._onDidLocationChange.event,this._onDidActivePanelChange=new X,this.onDidActivePanelChange=this._onDidActivePanelChange.event,this._onDidCollapsedChange=new X,this.onDidCollapsedChange=this._onDidCollapsedChange.event,this.addDisposables(this._onDidLocationChange,this._onDidActivePanelChange,this._onDidCollapsedChange,this._onDidVisibilityChange.event(e=>{e.isVisible&&this._pendingSize&&(super.setSize(this._pendingSize),this._pendingSize=void 0)}))}setSize(e){this._pendingSize=Object.assign({},e),super.setSize(e)}close(){if(this._group)return this.accessor.removeGroup(this._group)}getWindow(){return this.location.type===`popout`?this.location.getWindow():window}setHeaderPosition(e){if(!this._group)throw Error(Vy);this._group.model.headerPosition=e}getHeaderPosition(){if(!this._group)throw Error(Vy);return this._group.model.headerPosition}moveTo(e){if(!this._group)throw Error(Vy);let t=e.group??this.accessor.addGroup({direction:Tv(e.position??`right`),skipSetActive:e.skipSetActive??!1});this.accessor.moveGroupOrPanel({from:{groupId:this._group.id},to:{group:t,position:e.group?e.position??`center`:`center`,index:e.index},skipSetActive:e.skipSetActive})}maximize(){if(!this._group)throw Error(Vy);this.location.type===`grid`&&this.accessor.maximizeGroup(this._group)}isMaximized(){if(!this._group)throw Error(Vy);return this.accessor.isMaximizedGroup(this._group)}exitMaximized(){if(!this._group)throw Error(Vy);this.isMaximized()&&this.accessor.exitMaximizedGroup()}collapse(){this._group&&this.accessor.setEdgeGroupCollapsed(this._group,!0)}expand(){this._group&&this.accessor.setEdgeGroupCollapsed(this._group,!1)}isCollapsed(){return this._group?this.accessor.isEdgeGroupCollapsed(this._group):!1}initialize(e){this._group=e}},Uy=100,Wy=100,Gy=class extends By{get minimumWidth(){if(typeof this._explicitConstraints.minimumWidth==`number`)return this._explicitConstraints.minimumWidth;let e=this.activePanel?.minimumWidth;return typeof e==`number`?e:super.__minimumWidth()}get minimumHeight(){if(typeof this._explicitConstraints.minimumHeight==`number`)return this._explicitConstraints.minimumHeight;let e=this.activePanel?.minimumHeight;return typeof e==`number`?e:super.__minimumHeight()}get maximumWidth(){if(typeof this._explicitConstraints.maximumWidth==`number`)return this._explicitConstraints.maximumWidth;let e=this.activePanel?.maximumWidth;return typeof e==`number`?e:super.__maximumWidth()}get maximumHeight(){if(typeof this._explicitConstraints.maximumHeight==`number`)return this._explicitConstraints.maximumHeight;let e=this.activePanel?.maximumHeight;return typeof e==`number`?e:super.__maximumHeight()}get panels(){return this._model.panels}get activePanel(){return this._model.activePanel}get size(){return this._model.size}get model(){return this._model}get locked(){return this._model.locked}set locked(e){this._model.locked=e}get header(){return this._model.header}constructor(e,t,n){super(t,`groupview_default`,{minimumHeight:n.constraints?.minimumHeight??Wy,minimumWidth:n.constraints?.minimumWidth??Uy,maximumHeight:n.constraints?.maximumHeight,maximumWidth:n.constraints?.maximumWidth},new Hy(t,e)),this._explicitConstraints={},this.api.initialize(this),this._model=new Ry(this.element,e,t,n,this),this.addDisposables(this.model.onDidActivePanelChange(e=>{this.api._onDidActivePanelChange.fire(e)}),this.api.onDidConstraintsChangeInternal(e=>{e.minimumWidth!==void 0&&(this._explicitConstraints.minimumWidth=typeof e.minimumWidth==`function`?e.minimumWidth():e.minimumWidth),e.minimumHeight!==void 0&&(this._explicitConstraints.minimumHeight=typeof e.minimumHeight==`function`?e.minimumHeight():e.minimumHeight),e.maximumWidth!==void 0&&(this._explicitConstraints.maximumWidth=typeof e.maximumWidth==`function`?e.maximumWidth():e.maximumWidth),e.maximumHeight!==void 0&&(this._explicitConstraints.maximumHeight=typeof e.maximumHeight==`function`?e.maximumHeight():e.maximumHeight)}))}focus(){this.api.isActive||this.api.setActive(),super.focus()}initialize(){this._model.initialize()}setActive(e){super.setActive(e),this.model.setActive(e)}layout(e,t){super.layout(e,t),this.model.layout(e,t)}getComponent(){return this._model}toJSON(){return this.model.toJSON()}},Ky={name:`abyss`,className:`dockview-theme-abyss`,colorScheme:`dark`,tabGroupIndicator:`none`},qy=class extends zy{get location(){return this.group.api.location}get title(){return this.panel.title}get isGroupActive(){return this.group.isActive}get renderer(){return this.panel.renderer}set group(e){let t=this._group;this._group!==e&&(this._group=e,this._onDidGroupChange.fire({}),this.setupGroupEventListeners(t),this._onDidLocationChange.fire({location:this.group.api.location}))}get group(){return this._group}get tabComponent(){return this._tabComponent}constructor(e,t,n,r,i){super(e.id,r),this.panel=e,this.accessor=n,this._onDidTitleChange=new X,this.onDidTitleChange=this._onDidTitleChange.event,this._onDidActiveGroupChange=new X,this.onDidActiveGroupChange=this._onDidActiveGroupChange.event,this._onDidGroupChange=new X,this.onDidGroupChange=this._onDidGroupChange.event,this._onDidRendererChange=new X,this.onDidRendererChange=this._onDidRendererChange.event,this._onDidLocationChange=new X,this.onDidLocationChange=this._onDidLocationChange.event,this.groupEventsDisposable=new Yg,this._tabComponent=i,this.initialize(e),this._group=t,this.setupGroupEventListeners(),this.addDisposables(this.groupEventsDisposable,this._onDidRendererChange,this._onDidTitleChange,this._onDidGroupChange,this._onDidActiveGroupChange,this._onDidLocationChange)}getWindow(){return this.group.api.getWindow()}moveTo(e){this.accessor.moveGroupOrPanel({from:{groupId:this._group.id,panelId:this.panel.id},to:{group:e.group??this._group,position:e.group?e.position??`center`:`center`,index:e.index},skipSetActive:e.skipSetActive})}setTitle(e){this.panel.setTitle(e)}setRenderer(e){this.panel.setRenderer(e)}close(){this.group.model.closePanel(this.panel)}maximize(){this.group.api.maximize()}isMaximized(){return this.group.api.isMaximized()}exitMaximized(){this.group.api.exitMaximized()}setupGroupEventListeners(e){let t=e?.isActive??!1;this.groupEventsDisposable.value=new Jg(this.group.api.onDidVisibilityChange(e=>{let t=!e.isVisible&&this.isVisible,n=e.isVisible&&!this.isVisible,r=this.group.model.isPanelActive(this.panel);(t||n&&r)&&this._onDidVisibilityChange.fire(e)}),this.group.api.onDidLocationChange(e=>{this.group===this.panel.group&&this._onDidLocationChange.fire(e)}),this.group.api.onDidActiveChange(()=>{this.group===this.panel.group&&t!==this.isGroupActive&&(t=this.isGroupActive,this._onDidActiveGroupChange.fire({isActive:this.isGroupActive}))}))}},Jy=class extends Jg{get params(){return this._params}get title(){return this._title}get group(){return this._group}get renderer(){return this._renderer??this.accessor.renderer}get minimumWidth(){return this._minimumWidth}get minimumHeight(){return this._minimumHeight}get maximumWidth(){return this._maximumWidth}get maximumHeight(){return this._maximumHeight}constructor(e,t,n,r,i,a,o,s){super(),this.id=e,this.accessor=r,this.containerApi=i,this.view=o,this._renderer=s.renderer,this._group=a,this._minimumWidth=s.minimumWidth,this._minimumHeight=s.minimumHeight,this._maximumWidth=s.maximumWidth,this._maximumHeight=s.maximumHeight,this.api=new qy(this,this._group,r,t,n),this.addDisposables(this.api.onActiveChange(()=>{r.setActivePanel(this)}),this.api.onDidSizeChange(e=>{this.group.api.setSize(e)}),this.api.onDidRendererChange(()=>{this.group.model.rerender(this)}))}init(e){this._params=e.params,this.view.init(Object.assign(Object.assign({},e),{api:this.api,containerApi:this.containerApi})),this.setTitle(e.title)}focus(){let e=new Kv;this.api._onWillFocus.fire(e),!e.defaultPrevented&&(this.api.isActive||this.api.setActive())}toJSON(){return{id:this.id,contentComponent:this.view.contentComponent,tabComponent:this.view.tabComponent,params:Object.keys(this._params||{}).length>0?this._params:void 0,title:this.title,renderer:this._renderer,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,minimumWidth:this._minimumWidth,maximumWidth:this._maximumWidth}}setTitle(e){e!==this.title&&(this._title=e,this.view.setTitle(e),this.api._onDidTitleChange.fire({title:e}))}setRenderer(e){e!==this.renderer&&(this._renderer=e,this.api._onDidRendererChange.fire({renderer:e}))}update(e){this._params=Object.assign(Object.assign({},this._params??{}),e.params);for(let t of Object.keys(e.params))e.params[t]===void 0&&delete this._params[t];this.view.update({params:this._params})}updateFromStateModel(e){this._maximumHeight=e.maximumHeight,this._minimumHeight=e.minimumHeight,this._maximumWidth=e.maximumWidth,this._minimumWidth=e.minimumWidth,this.update({params:e.params??{}}),this.setTitle(e.title??this.id),this.setRenderer(e.renderer??this.accessor.renderer)}updateParentGroup(e,t){this._group=e,this.api.group=this._group;let n=this._group.model.isPanelActive(this),r=this.group.api.isActive&&n;t?.skipSetActive||this.api.isActive!==r&&this.api._onDidActiveChange.fire({isActive:this.group.api.isActive&&n}),this.api.isVisible!==n&&this.api._onDidVisibilityChange.fire({isVisible:n})}runEvents(){let e=this._group.model.isPanelActive(this),t=this.group.api.isActive&&e;this.api.isActive!==t&&this.api._onDidActiveChange.fire({isActive:this.group.api.isActive&&e}),this.api.isVisible!==e&&this.api._onDidVisibilityChange.fire({isVisible:e})}layout(e,t){this.api._onDidDimensionChange.fire({width:e,height:t}),this.view.layout(e,t)}dispose(){this.api.dispose(),this.view.dispose()}},Yy=class extends Jg{get element(){return this._element}constructor(){super(),this._element=document.createElement(`div`),this._element.className=`dv-default-tab`,this._content=document.createElement(`div`),this._content.className=`dv-default-tab-content`,this.action=document.createElement(`div`),this.action.className=`dv-default-tab-action`,this.action.appendChild(wy()),this._element.appendChild(this._content),this._element.appendChild(this.action),this.render()}init(e){this._title=e.title,this.addDisposables(e.api.onDidTitleChange(e=>{this._title=e.title,this.render()}),Z(this.action,`pointerdown`,e=>{e.preventDefault()}),Z(this.action,`click`,t=>{t.defaultPrevented||(t.preventDefault(),e.api.close())})),this.render()}render(){this._content.textContent!==this._title&&(this._content.textContent=this._title??``)}},Xy=class{get content(){return this._content}get tab(){return this._tab}constructor(e,t,n,r){this.accessor=e,this.id=t,this.contentComponent=n,this.tabComponent=r,this._content=this.createContentComponent(this.id,n),this._tab=this.createTabComponent(this.id,r)}createTabRenderer(e){var t;let n=this.createTabComponent(this.id,this.tabComponent);return this._params&&n.init(Object.assign(Object.assign({},this._params),{tabLocation:e})),this._updateEvent&&((t=n.update)==null||t.call(n,this._updateEvent)),n}init(e){this._params=e,this.content.init(e),this.tab.init(Object.assign(Object.assign({},e),{tabLocation:`header`}))}setTitle(e){this._params&&(this._params.title=e)}layout(e,t){var n,r;(r=(n=this.content).layout)==null||r.call(n,e,t)}update(e){var t,n,r,i;this._updateEvent=e,(n=(t=this.content).update)==null||n.call(t,e),(i=(r=this.tab).update)==null||i.call(r,e)}dispose(){var e,t,n,r;(t=(e=this.content).dispose)==null||t.call(e),(r=(n=this.tab).dispose)==null||r.call(n)}createContentComponent(e,t){return this.accessor.options.createComponent({id:e,name:t})}createTabComponent(e,t){let n=t??this.accessor.options.defaultTabComponent;if(n){if(this.accessor.options.createTabComponent)return this.accessor.options.createTabComponent({id:e,name:n})||new Yy;console.warn(`dockview: tabComponent '${t}' was not found. falling back to the default tab.`)}return new Yy}},Zy=class{constructor(e){this.accessor=e}fromJSON(e,t){let n=e.id,r=e.params,i=e.title,a=e.view,o=a?a.content.id:e.contentComponent??`unknown`,s=a?a.tab?.id:e.tabComponent,c=new Xy(this.accessor,n,o,s),l=new Jy(n,o,s,this.accessor,new fv(this.accessor),t,c,{renderer:e.renderer,minimumWidth:e.minimumWidth,minimumHeight:e.minimumHeight,maximumWidth:e.maximumWidth,maximumHeight:e.maximumHeight});return l.init({title:i??n,params:r??{}}),l}},Qy=class extends Jg{get element(){return this._element}constructor(){super(),this._element=document.createElement(`div`),this._element.className=`dv-watermark`}init(e){}},$y=new class{constructor(){this._orderedList=[]}push(e){this._orderedList=[...this._orderedList.filter(t=>t!==e),e],this.update()}destroy(e){this._orderedList=this._orderedList.filter(t=>t!==e),this.update()}update(){for(let e=0;e<this._orderedList.length;e++)this._orderedList[e].setAttribute(`aria-level`,`${e}`),this._orderedList[e].style.zIndex=`calc(var(--dv-overlay-z-index, 999) + ${e*2})`}},eb=class e extends Jg{set minimumInViewportWidth(e){this.options.minimumInViewportWidth=e}set minimumInViewportHeight(e){this.options.minimumInViewportHeight=e}get element(){return this._element}get isVisible(){return this._isVisible}constructor(e){super(),this.options=e,this._element=document.createElement(`div`),this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this._onDidChangeEnd=new X,this.onDidChangeEnd=this._onDidChangeEnd.event,this._onDidStartMoving=new X,this.onDidStartMoving=this._onDidStartMoving.event,this._dragMove=new Yg,this._dragCancelled=!1,this.addDisposables(this._onDidChange,this._onDidChangeEnd,this._onDidStartMoving,this._dragMove),this._element.className=`dv-resize-container`,this._isVisible=!0,this.setupResize(`top`),this.setupResize(`bottom`),this.setupResize(`left`),this.setupResize(`right`),this.setupResize(`topleft`),this.setupResize(`topright`),this.setupResize(`bottomleft`),this.setupResize(`bottomright`),this._element.appendChild(this.options.content),this.options.container.appendChild(this._element),this.setBounds(Object.assign(Object.assign(Object.assign(Object.assign({height:this.options.height,width:this.options.width},`top`in this.options&&{top:this.options.top}),`bottom`in this.options&&{bottom:this.options.bottom}),`left`in this.options&&{left:this.options.left}),`right`in this.options&&{right:this.options.right})),$y.push(this._element)}setVisible(e){e!==this.isVisible&&(this._isVisible=e,Q(this.element,`dv-hidden`,!this.isVisible))}bringToFront(){$y.push(this._element)}setBounds(e={}){typeof e.height==`number`&&(this._element.style.height=`${e.height}px`),typeof e.width==`number`&&(this._element.style.width=`${e.width}px`),`top`in e&&typeof e.top==`number`&&(this._element.style.top=`${e.top}px`,this._element.style.bottom=`auto`,this.verticalAlignment=`top`),`bottom`in e&&typeof e.bottom==`number`&&(this._element.style.bottom=`${e.bottom}px`,this._element.style.top=`auto`,this.verticalAlignment=`bottom`),`left`in e&&typeof e.left==`number`&&(this._element.style.left=`${e.left}px`,this._element.style.right=`auto`,this.horiziontalAlignment=`left`),`right`in e&&typeof e.right==`number`&&(this._element.style.right=`${e.right}px`,this._element.style.left=`auto`,this.horiziontalAlignment=`right`);let t=this.options.container.getBoundingClientRect(),n=this._element.getBoundingClientRect(),r=Math.max(0,this.getMinimumWidth(n.width)),i=Math.max(0,this.getMinimumHeight(n.height));if(this.verticalAlignment===`top`){let e=N_(n.top-t.top,-i,Math.max(0,t.height-n.height+i));this._element.style.top=`${e}px`,this._element.style.bottom=`auto`}if(this.verticalAlignment===`bottom`){let e=N_(t.bottom-n.bottom,-i,Math.max(0,t.height-n.height+i));this._element.style.bottom=`${e}px`,this._element.style.top=`auto`}if(this.horiziontalAlignment===`left`){let e=N_(n.left-t.left,-r,Math.max(0,t.width-n.width+r));this._element.style.left=`${e}px`,this._element.style.right=`auto`}if(this.horiziontalAlignment===`right`){let e=N_(t.right-n.right,-r,Math.max(0,t.width-n.width+r));this._element.style.right=`${e}px`,this._element.style.left=`auto`}this._onDidChange.fire()}toJSON(){let e=this.options.container.getBoundingClientRect(),t=this._element.getBoundingClientRect(),n={};return this.verticalAlignment===`top`?n.top=parseFloat(this._element.style.top):this.verticalAlignment===`bottom`?n.bottom=parseFloat(this._element.style.bottom):n.top=t.top-e.top,this.horiziontalAlignment===`left`?n.left=parseFloat(this._element.style.left):this.horiziontalAlignment===`right`?n.right=parseFloat(this._element.style.right):n.left=t.left-e.left,n.width=t.width,n.height=t.height,n}cancelPendingDrag(){this._dragMove.value&&(this._dragCancelled=!0,Q(this._element,`dv-resize-container-dragging`,!1),this._dragMove.value=qg.NONE)}setupDrag(e,t={inDragMode:!1}){let n=(e,t)=>{let n=null,r=!1;this._dragCancelled=!1;let i=v_();if(e&&typeof t==`number`&&typeof e.setPointerCapture==`function`)try{e.setPointerCapture(t)}catch{}let a=()=>{Q(this._element,`dv-resize-container-dragging`,!1),this._dragMove.value=qg.NONE,this._onDidChangeEnd.fire()};this._dragMove.value=new Jg({dispose:()=>{if(i.release(),e&&typeof t==`number`&&typeof e.releasePointerCapture==`function`)try{e.releasePointerCapture(t)}catch{}}},Z(window,`pointermove`,e=>{if(this._dragCancelled)return;let t=this.options.container.getBoundingClientRect(),i=e.clientX-t.left,a=e.clientY-t.top;Q(this._element,`dv-resize-container-dragging`,!0);let o=this._element.getBoundingClientRect();n===null&&(n={x:e.clientX-o.left,y:e.clientY-o.top});let s=Math.max(0,this.getMinimumWidth(o.width)),c=Math.max(0,this.getMinimumHeight(o.height)),l=N_(a-n.y,-c,Math.max(0,t.height-o.height+c)),u=N_(n.y-a+t.height-o.height,-c,Math.max(0,t.height-o.height+c)),d=N_(i-n.x,-s,Math.max(0,t.width-o.width+s)),f=N_(n.x-i+t.width-o.width,-s,Math.max(0,t.width-o.width+s)),p={};l<=u?p.top=l:p.bottom=u,d<=f?p.left=d:p.right=f,this.setBounds(p),r||(r=!0,this._onDidStartMoving.fire())}),Z(window,`pointerup`,a),Z(window,`pointercancel`,a))};this.addDisposables(Z(e,`pointerdown`,t=>{if(t.defaultPrevented){t.preventDefault();return}f_(t)||n(e,t.pointerId)}),Z(this.options.content,`pointerdown`,e=>{e.defaultPrevented||f_(e)||e.shiftKey&&n(this.options.content,e.pointerId)}),Z(this.options.content,`pointerdown`,()=>{$y.push(this._element)},!0)),t.inDragMode&&n()}setupResize(t){let n=document.createElement(`div`);n.className=`dv-resize-handle-${t}`,this._element.appendChild(n);let r=new Yg;this.addDisposables(r,Z(n,`pointerdown`,i=>{i.preventDefault();let a=null,o=v_(),s=i.pointerId;if(typeof n.setPointerCapture==`function`)try{n.setPointerCapture(s)}catch{}let c=()=>{r.dispose(),this._onDidChangeEnd.fire()};r.value=new Jg(Z(window,`pointermove`,n=>{let r=this.options.container.getBoundingClientRect(),i=this._element.getBoundingClientRect(),o=n.clientY-r.top,s=n.clientX-r.left;a===null&&(a={originalY:o,originalHeight:i.height,originalX:s,originalWidth:i.width});let c,l,u,d,f,p,m=()=>{c=N_(o,0,a.originalY+a.originalHeight>r.height?Math.max(0,r.height-e.MINIMUM_HEIGHT):Math.max(0,a.originalY+a.originalHeight-e.MINIMUM_HEIGHT)),u=a.originalY+a.originalHeight-c,l=r.height-c-u},h=()=>{c=a.originalY-a.originalHeight;let t=c<0&&typeof this.options.minimumInViewportHeight==`number`?-c+this.options.minimumInViewportHeight:e.MINIMUM_HEIGHT,n=r.height-Math.max(0,c);u=N_(o-c,t,n),l=r.height-c-u},g=()=>{d=N_(s,0,a.originalX+a.originalWidth>r.width?Math.max(0,r.width-e.MINIMUM_WIDTH):Math.max(0,a.originalX+a.originalWidth-e.MINIMUM_WIDTH)),p=a.originalX+a.originalWidth-d,f=r.width-d-p},_=()=>{d=a.originalX-a.originalWidth;let t=d<0&&typeof this.options.minimumInViewportWidth==`number`?-d+this.options.minimumInViewportWidth:e.MINIMUM_WIDTH,n=r.width-Math.max(0,d);p=N_(s-d,t,n),f=r.width-d-p};switch(t){case`top`:m();break;case`bottom`:h();break;case`left`:g();break;case`right`:_();break;case`topleft`:m(),g();break;case`topright`:m(),_();break;case`bottomleft`:h(),g();break;case`bottomright`:h(),_();break}let v={};c<=l?v.top=c:v.bottom=l,d<=f?v.left=d:v.right=f,v.height=u,v.width=p,this.setBounds(v)}),{dispose:()=>{if(o.release(),typeof n.releasePointerCapture==`function`)try{n.releasePointerCapture(s)}catch{}}},Z(window,`pointerup`,c),Z(window,`pointercancel`,c))}))}getMinimumWidth(e){return typeof this.options.minimumInViewportWidth==`number`?e-this.options.minimumInViewportWidth:0}getMinimumHeight(e){return typeof this.options.minimumInViewportHeight==`number`?e-this.options.minimumInViewportHeight:0}dispose(){$y.destroy(this._element),this._element.remove(),super.dispose()}};eb.MINIMUM_HEIGHT=20,eb.MINIMUM_WIDTH=20;var tb=class extends Jg{constructor(e,t){super(),this.group=e,this.overlay=t,this.addDisposables(t)}position(e){this.overlay.setBounds(e)}},nb=100,rb={left:100,top:100,width:300,height:300},ib=100,ab=class{constructor(){this.cache=new Map,this.currentFrameId=0,this.rafId=null}getPosition(e){let t=this.cache.get(e);if(t&&t.frameId===this.currentFrameId)return t.rect;this.scheduleFrameUpdate();let n=m_(e);return this.cache.set(e,{rect:n,frameId:this.currentFrameId}),n}invalidate(){this.currentFrameId++}scheduleFrameUpdate(){this.rafId||=requestAnimationFrame(()=>{this.currentFrameId++,this.rafId=null})}};function ob(){let e=document.createElement(`div`);return e.tabIndex=-1,e}var sb=class extends Jg{constructor(e,t){super(),this.element=e,this.accessor=t,this.map={},this._disposed=!1,this.positionCache=new ab,this.pendingUpdates=new Set,this.addDisposables(qg.from(()=>{for(let e of Object.values(this.map))e.disposable.dispose(),e.destroy.dispose();this._disposed=!0}))}updateAllPositions(){if(!this._disposed){this.positionCache.invalidate();for(let e of Object.values(this.map))e.panel.api.isVisible&&e.resize&&e.resize()}}detatch(e){if(this.map[e.api.id]){let{disposable:t,destroy:n}=this.map[e.api.id];return t.dispose(),n.dispose(),delete this.map[e.api.id],!0}return!1}attach(e){let{panel:t,referenceContainer:n}=e;if(!this.map[t.api.id]){let e=ob();e.className=`dv-render-overlay`,e.style.visibility=`hidden`,this.map[t.api.id]={panel:t,disposable:qg.NONE,destroy:qg.NONE,element:e}}let r=this.map[t.api.id].element,i=t.view.content.element;i.parentElement!==r&&r.appendChild(i),r.parentElement!==this.element&&this.element.appendChild(r);let a=()=>{let e=t.api.id;this.pendingUpdates.has(e)||(this.pendingUpdates.add(e),requestAnimationFrame(()=>{if(this.pendingUpdates.delete(e),this.isDisposed||!this.map[e])return;let i=this.positionCache.getPosition(n.element),a=this.positionCache.getPosition(this.element),o=i.left-a.left,s=i.top-a.top,c=i.width,l=i.height;r.style.left=`${o}px`,r.style.top=`${s}px`,r.style.width=`${c}px`,r.style.height=`${l}px`,t.api.isVisible?(r.style.visibility=``,r.style.pointerEvents=``):(r.style.visibility=`hidden`,r.style.pointerEvents=`none`),Q(r,`dv-render-overlay-float`,t.group.api.location.type===`floating`)}))},o=()=>{t.api.isVisible?(this.positionCache.invalidate(),a(),r.style.pointerEvents=``):(r.style.visibility=`hidden`,r.style.pointerEvents=`none`)},s=new Yg,c=()=>{t.api.location.type===`floating`?queueMicrotask(()=>{let e=this.accessor.floatingGroups.find(e=>e.group===t.api.group);if(!e)return;let n=e.overlay.element,i=()=>{let e=Number(n.getAttribute(`aria-level`));r.style.zIndex=`calc(var(--dv-overlay-z-index, 999) + ${e*2+1})`},a=new MutationObserver(()=>{i()});s.value=qg.from(()=>a.disconnect()),a.observe(n,{attributeFilter:[`aria-level`],attributes:!0}),i()}):r.style.zIndex=``},l=new Jg(s,new pv(r,{onDragEnd:e=>{n.dropTarget.dnd.onDragEnd(e)},onDragEnter:e=>{n.dropTarget.dnd.onDragEnter(e)},onDragLeave:e=>{n.dropTarget.dnd.onDragLeave(e)},onDrop:e=>{n.dropTarget.dnd.onDrop(e)},onDragOver:e=>{n.dropTarget.dnd.onDragOver(e)}}),t.api.onDidVisibilityChange(()=>{o()}),t.api.onDidDimensionsChange(()=>{t.api.isVisible&&a()}),t.api.onDidLocationChange(()=>{c()}));return this.map[t.api.id].destroy=qg.from(()=>{var e;i.parentElement===r&&r.removeChild(i),(e=r.parentElement)==null||e.removeChild(r)}),c(),queueMicrotask(()=>{this.isDisposed||o()}),this.map[t.api.id].disposable.dispose(),this.map[t.api.id].disposable=l,this.map[t.api.id].resize=a,r}};function cb(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function lb(e){let t;try{t=new URL(e,window.location.href)}catch{throw Error(`dockview: invalid popout URL: ${e}`)}if(!(t.protocol===`http:`||t.protocol===`https:`)||t.origin!==window.location.origin)throw Error(`dockview: popout URL must be same-origin http(s); got: ${e}`)}var ub=class extends Jg{get window(){return this._window?.value??null}constructor(e,t,n){super(),this.target=e,this.className=t,this.options=n,this._onWillClose=new X,this.onWillClose=this._onWillClose.event,this._onDidClose=new X,this.onDidClose=this._onDidClose.event,this._window=null,this.addDisposables(this._onWillClose,this._onDidClose,{dispose:()=>{this.close()}})}dimensions(){if(!this._window)return null;let e=this._window.value.screenX;return{top:this._window.value.screenY,left:e,width:this._window.value.innerWidth,height:this._window.value.innerHeight}}close(){var e,t;this._window&&(this._onWillClose.fire(),(t=(e=this.options).onWillClose)==null||t.call(e,{id:this.target,window:this._window.value}),this._window.disposable.dispose(),this._window=null,this._onDidClose.fire())}open(){return cb(this,void 0,void 0,function*(){var e,t;if(this._window)throw Error(`instance of popout window is already open`);let n=`${this.options.url}`;lb(n);let r=Object.entries({top:this.options.top,left:this.options.left,width:this.options.width,height:this.options.height}).map(([e,t])=>`${e}=${t}`).join(`,`),i=window.open(n,this.target,r);if(!i)return null;let a=new Jg;this._window={value:i,disposable:a},a.addDisposables(qg.from(()=>{i.close()}),Z(window,`beforeunload`,()=>{this.close()}));let o=this.createPopoutWindowContainer();return this.className&&o.classList.add(this.className),(t=(e=this.options).onDidOpen)==null||t.call(e,{id:this.target,window:i}),new Promise((e,t)=>{i.addEventListener(`unload`,e=>{}),i.addEventListener(`load`,()=>{try{let t=i.document;t.title=document.title,t.body.appendChild(o),p_(t,window.document.styleSheets,{nonce:this.options.nonce}),Z(i,`beforeunload`,()=>{this.close()}),e(o)}catch(e){t(e)}})})})}createPopoutWindowContainer(){let e=document.createElement(`div`);return e.classList.add(`dv-popout-window`),e.id=`dv-popout-window`,e.style.position=`absolute`,e.style.width=`100%`,e.style.height=`100%`,e.style.top=`0px`,e.style.left=`0px`,e}},db=class extends Jg{constructor(e){super(),this.accessor=e,this.init()}init(){let e=new Set,t=new Set;this.addDisposables(this.accessor.onDidAddPanel(t=>{if(e.has(t.api.id))throw Error(`dockview: Invalid event sequence. [onDidAddPanel] called for panel ${t.api.id} but panel already exists`);e.add(t.api.id)}),this.accessor.onDidRemovePanel(t=>{if(e.has(t.api.id))e.delete(t.api.id);else throw Error(`dockview: Invalid event sequence. [onDidRemovePanel] called for panel ${t.api.id} but panel does not exists`)}),this.accessor.onDidAddGroup(e=>{if(t.has(e.api.id))throw Error(`dockview: Invalid event sequence. [onDidAddGroup] called for group ${e.api.id} but group already exists`);t.add(e.api.id)}),this.accessor.onDidRemoveGroup(e=>{if(t.has(e.api.id))t.delete(e.api.id);else throw Error(`dockview: Invalid event sequence. [onDidRemoveGroup] called for group ${e.api.id} but group does not exists`)}))}};function fb(e){if(!e.matchMedia)return!1;let t=e.matchMedia(`(pointer: coarse)`).matches,n=e.matchMedia(`(pointer: fine)`).matches;return t&&!n}var pb=class extends Jg{constructor(e,t=window){super(),this._active=null,this._activeDisposable=new Yg,this._root=e,this._window=t,this._element=t.document.createElement(`div`),this._element.className=`dv-popover-anchor`,this._element.style.position=`relative`,this._root.prepend(this._element),this.addDisposables(qg.from(()=>{this.close()}),this._activeDisposable)}updateRoot(e){e.prepend(this._element),this._root=e}openPopover(e,t){this.close();let n=this._window.document.createElement(`div`);n.style.position=`absolute`,n.style.zIndex=t.zIndex??`var(--dv-overlay-z-index)`,n.appendChild(e);let r=this._element.getBoundingClientRect(),i=r.left,a=r.top;n.style.top=`${t.y-a}px`,n.style.left=`${t.x-i}px`,this._element.appendChild(n),this._active=n;let o=Date.now();this._activeDisposable.value=new Jg(Z(this._window,`pointerdown`,e=>{if(Date.now()-o<200)return;let t=e.target;if(!(t instanceof HTMLElement))return;let r=t;for(;r&&r!==n;)r=r?.parentElement??null;r||this.close()}),Z(this._window,`keydown`,e=>{(e.key===`Escape`||e.key===`Enter`)&&this.close()}),Z(this._window,`resize`,()=>{fb(this._window)||this.close()})),this._window.requestAnimationFrame(()=>{T_(n,this._root)})}close(){this._active&&=(this._active.remove(),this._activeDisposable.dispose(),null)}};function mb(e){if(!(e instanceof HTMLElement))return;let t=E_(e);return t?.style.zIndex?`calc(${t.style.zIndex} * 2)`:void 0}var hb=0,gb=()=>`dv-ctx-menu-item-${hb++}`;function _b(e){return typeof e==`object`}function vb(e,t,n,r){let i=document.createElement(`div`);return i.className=`dv-context-menu-item`,i.setAttribute(`role`,`menuitem`),r&&(i.classList.add(`dv-context-menu-item--disabled`),i.setAttribute(`aria-disabled`,`true`)),i.textContent=e,r||i.addEventListener(`click`,()=>{n(),t()}),i}function yb(){let e=document.createElement(`div`);return e.className=`dv-context-menu-separator`,e.setAttribute(`role`,`separator`),e}function bb(){if(typeof window>`u`||!window.matchMedia)return!1;let e=window.matchMedia(`(pointer: coarse)`).matches,t=window.matchMedia(`(pointer: fine)`).matches;return e&&!t}function xb(e){let t=document.createElement(`div`);t.className=`dv-context-menu-rename`;let n=document.createElement(`input`);return n.className=`dv-context-menu-rename-input`,n.type=`text`,n.placeholder=`Name This Group`,n.value=e.label,n.addEventListener(`input`,()=>{e.setLabel(n.value)}),n.addEventListener(`keydown`,e=>{e.key!==`Escape`&&e.key!==`Enter`&&e.stopPropagation()}),n.addEventListener(`click`,e=>{e.stopPropagation()}),t.appendChild(n),bb()||requestAnimationFrame(()=>{n.focus(),n.select()}),t}function Sb(e,t){let n=document.createElement(`div`);if(n.className=`dv-context-menu-color-picker`,!t.enabled)return n;for(let r of t.entries()){let t=document.createElement(`div`);t.className=`dv-context-menu-color-swatch`,t.style.setProperty(`--dv-tab-group-color`,r.value),r.label&&(t.title=r.label),e.color===r.id&&t.classList.add(`dv-context-menu-color-swatch--selected`),t.addEventListener(`click`,()=>{e.setColor(r.id)}),n.appendChild(t)}return n}var Cb=class{constructor(e){this.accessor=e}show(e,t,n){var r;if(!this.accessor.options.getTabContextMenuItems)return;let i=this.accessor.options.getTabContextMenuItems({panel:e,group:t,api:this.accessor.api,event:n});if(i.length===0)return;n.preventDefault();let a=this.accessor.getPopupServiceForGroup(t),o=()=>a.close(),s=document.createElement(`div`);s.className=`dv-context-menu`,s.setAttribute(`role`,`menu`);for(let n of i)if(n===`separator`)s.appendChild(yb());else if(n===`close`)s.appendChild(vb(`Close`,o,()=>e.api.close()));else if(n===`closeOthers`)s.appendChild(vb(`Close Others`,o,()=>{t.panels.filter(t=>t!==e).forEach(e=>e.api.close())}));else if(n===`closeAll`)s.appendChild(vb(`Close All`,o,()=>{[...t.panels].forEach(e=>e.api.close())}));else if(_b(n)&&n.element)s.appendChild(n.element);else if(_b(n)&&n.component){let i=(r=this.accessor.options).createContextMenuItemComponent?.call(r,{id:gb(),component:n.component});i&&(i.init({panel:e,group:t,api:this.accessor.api,close:o,componentProps:n.componentProps}),s.appendChild(i.element))}else _b(n)&&n.label&&s.appendChild(vb(n.label,o,()=>n.action?.call(n),n.disabled));a.openPopover(s,{x:n.clientX,y:n.clientY,zIndex:mb(n.target)})}showForChip(e,t,n){if(!this.accessor.options.getTabGroupChipContextMenuItems)return;let r=this.accessor.options.getTabGroupChipContextMenuItems({tabGroup:e,group:t,api:this.accessor.api,event:n});if(r.length===0)return;n.preventDefault();let i=this.accessor.getPopupServiceForGroup(t),a=()=>i.close(),o=document.createElement(`div`);o.className=`dv-context-menu`,o.setAttribute(`role`,`menu`);for(let t of r)t===`separator`?o.appendChild(yb()):t===`rename`?o.appendChild(xb(e)):t===`colorPicker`?o.appendChild(Sb(e,this.accessor.tabGroupColorPalette)):_b(t)&&t.element?o.appendChild(t.element):_b(t)&&t.label&&o.appendChild(vb(t.label,a,()=>t.action?.call(t),t.disabled));i.openPopover(o,{x:n.clientX,y:n.clientY,zIndex:mb(n.target)})}},wb=class extends Jg{get disabled(){return this._disabled}set disabled(e){var t;this.disabled!==e&&(this._disabled=e,e&&((t=this.model)==null||t.clear()))}get model(){if(!this.disabled)return{clear:()=>{var e;this._model&&((e=this._model.root.parentElement)==null||e.removeChild(this._model.root)),this._model=void 0},exists:()=>!!this._model,getElements:(e,t)=>{let n=this._outline!==t;if(this._outline=t,this._model)return this._model.changed=n,this._model;let r=this.createContainer(),i=this.createAnchor();if(this._model={root:r,overlay:i,changed:n},r.appendChild(i),this.element.appendChild(r),e?.target instanceof HTMLElement){let t=e.target.getBoundingClientRect(),n=this.element.getBoundingClientRect();i.style.left=`${t.left-n.left}px`,i.style.top=`${t.top-n.top}px`}return this._model}}}constructor(e,t){super(),this.element=e,this._disabled=!1,this._disabled=t.disabled,this.addDisposables(qg.from(()=>{var e;(e=this.model)==null||e.clear()}))}createContainer(){let e=document.createElement(`div`);return e.className=`dv-drop-target-container`,e}createAnchor(){let e=document.createElement(`div`);return e.className=`dv-drop-target-anchor`,e.style.visibility=`hidden`,e}},Tb=class{get minimumSize(){return this._isCollapsed?this._collapsedSize:this._expandedMinimumSize}get maximumSize(){return this._isCollapsed?this._collapsedSize:this._expandedMaximumSize}get element(){return this._group.element}get isCollapsed(){return this._isCollapsed}get lastExpandedSize(){return this._lastExpandedSize}get collapsedSize(){return this._collapsedSize}constructor(e,t,n){this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this.snap=!1,this.priority=z_.Low,this._isCollapsed=!1,this._group=t,this._orientation=n,t.element.classList.add(`dv-edge-group`),t.element.dataset.testid=`dv-edge-group-${e.id}`,this._collapsedSize=e.collapsedSize??35,this._expandedMaximumSize=e.maximumSize??1/0,this._expandedMinimumSize=e.minimumSize===void 0?this._collapsedSize+50:e.minimumSize,this._lastExpandedSize=e.initialSize??200,e.collapsed&&(this._isCollapsed=!0,t.element.classList.add(`dv-edge-collapsed`))}layout(e,t){this._isCollapsed||(this._lastExpandedSize=e),this._orientation===`horizontal`?this._group.layout(e,t):this._group.layout(t,e)}setCollapsed(e){this._isCollapsed!==e&&(this._isCollapsed=e,this._group.element.classList.toggle(`dv-edge-collapsed`,e))}setVisible(e){}restoreExpandedSize(e){this._lastExpandedSize=e}updateCollapsedSize(e,t){this._collapsedSize=e,this._expandedMinimumSize=t}dispose(){this._onDidChange.dispose()}},Eb=class{get element(){return this._dockviewElement}constructor(e,t){this._dockviewElement=e,this._layoutDockview=t,this.priority=z_.High,this.minimumSize=100,this.maximumSize=1/0,this._onDidChange=new X,this.onDidChange=this._onDidChange.event}layout(e,t){this._layoutDockview(t,e)}setVisible(e){}dispose(){this._onDidChange.dispose()}},Db=class{get element(){return this._element}constructor(e,t=0){this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this.minimumSize=100,this.maximumSize=1/0,this.priority=z_.High,this._element=document.createElement(`div`),this._element.className=`dv-shell-middle-column`,this._element.style.height=`100%`,this._element.style.width=`100%`,this._splitview=new V_(this._element,{orientation:L_.VERTICAL,proportionalLayout:!1,margin:t}),this._centerIndex=0,this._splitview.addView(e,{type:`distribute`},0)}addTopView(e,t){this._splitview.addView(e,t,0),this._topIndex=0,this._centerIndex+=1,this._bottomIndex!==void 0&&(this._bottomIndex+=1)}addBottomView(e,t){let n=this._splitview.length;this._splitview.addView(e,t,n),this._bottomIndex=n}removeView(e){let t=e===`top`?this._topIndex:this._bottomIndex;t!==void 0&&(this._splitview.removeView(t),e===`top`?(this._topIndex=void 0,--this._centerIndex,this._bottomIndex!==void 0&&--this._bottomIndex):this._bottomIndex=void 0)}layout(e,t){this._splitview.layout(t,e)}setVisible(e){}setViewVisible(e,t){let n=e===`top`?this._topIndex:this._bottomIndex;n!==void 0&&this._splitview.setViewVisible(n,t)}isViewVisible(e){let t=e===`top`?this._topIndex:this._bottomIndex;return t===void 0?!1:this._splitview.isViewVisible(t)}getViewSize(e){let t=e===`top`?this._topIndex:this._bottomIndex;return t===void 0?0:this._splitview.getViewSize(t)}resizeView(e,t){let n=e===`top`?this._topIndex:this._bottomIndex;n!==void 0&&this._splitview.resizeView(n,t)}updateMargin(e){this._splitview.margin=e}dispose(){this._onDidChange.dispose(),this._splitview.dispose()}};function Ob(e,t,n){let r=(e.collapsedSize??t)+n,i=Object.assign(Object.assign({},e),{collapsedSize:r});return e.minimumSize!==void 0&&(i.minimumSize=e.minimumSize+n),i}var kb=class{constructor(e,t,n,r=0,i=35){this._disposables=new Jg,this._viewConfigs=new Map,this._currentWidth=0,this._currentHeight=0,this._gap=r,this._defaultCollapsedSize=i,this._shellElement=document.createElement(`div`),this._shellElement.className=`dv-shell`,this._shellElement.style.height=`100%`,this._shellElement.style.width=`100%`,this._shellElement.style.position=`relative`,e.appendChild(this._shellElement);let a=new Eb(t,n);this._middleColumn=new Db(a,r),this._outerSplitview=new V_(this._shellElement,{orientation:L_.HORIZONTAL,proportionalLayout:!1,margin:r}),this._middleIndex=0,this._outerSplitview.addView(this._middleColumn,{type:`distribute`},0),this._disposables.addDisposables(i_(this._shellElement,e=>{let t=Math.round(e.contentRect.width),n=Math.round(e.contentRect.height);t===this._currentWidth&&n===this._currentHeight||(this._currentWidth=t,this._currentHeight=n,this.layout(t,n))}),this._outerSplitview,this._middleColumn,a)}get element(){return this._shellElement}addEdgeView(e,t,n){if(this.hasEdgeGroup(e))throw Error(`dockview: edge group already registered at position '${e}'`);this._viewConfigs.set(e,t);let r=1+ +!!this._viewConfigs.has(`left`)+ +!!this._viewConfigs.has(`right`),i=1+ +!!this._viewConfigs.has(`top`)+ +!!this._viewConfigs.has(`bottom`),a=r>1?this._gap*(r-1)/r:0,o=i>1?this._gap*(i-1)/i:0,s=e===`left`||e===`right`,c=s?a:o,l=s?`horizontal`:`vertical`,u=new Tb(Ob(Object.assign({collapsedSize:this._defaultCollapsedSize},t),this._defaultCollapsedSize,c),n,l),d=u.isCollapsed?u.collapsedSize:u.lastExpandedSize;switch(e){case`left`:this._outerSplitview.addView(u,d,0),this._leftIndex=0,this._middleIndex+=1,this._rightIndex!==void 0&&(this._rightIndex+=1),this._leftView=u;break;case`right`:{let e=this._outerSplitview.length;this._outerSplitview.addView(u,d,e),this._rightIndex=e,this._rightView=u}break;case`top`:this._middleColumn.addTopView(u,d),this._topView=u;break;case`bottom`:this._middleColumn.addBottomView(u,d),this._bottomView=u;break}return this._disposables.addDisposables(u),this.updateTheme(this._gap,this._defaultCollapsedSize),u}layout(e,t){this._outerSplitview.layout(e,t)}updateTheme(e,t){this._gap=e,this._defaultCollapsedSize=t;let n=1+ +!!this._viewConfigs.has(`left`)+ +!!this._viewConfigs.has(`right`),r=1+ +!!this._viewConfigs.has(`top`)+ +!!this._viewConfigs.has(`bottom`),i=n>1?e*(n-1)/n:0,a=r>1?e*(r-1)/r:0;this._outerSplitview.margin=e,this._middleColumn.updateMargin(e);let o=(e,n,r)=>{let i=(n.collapsedSize??t)+r,a=n.minimumSize,o=a===void 0?i+50:a+r;e.updateCollapsedSize(i,o)},s=this._viewConfigs.get(`top`);this._topView&&s&&o(this._topView,s,a);let c=this._viewConfigs.get(`bottom`);this._bottomView&&c&&o(this._bottomView,c,a);let l=this._viewConfigs.get(`left`);this._leftView&&l&&o(this._leftView,l,i);let u=this._viewConfigs.get(`right`);this._rightView&&u&&o(this._rightView,u,i),this._leftView?.isCollapsed&&this._leftIndex!==void 0&&this._outerSplitview.resizeView(this._leftIndex,this._leftView.collapsedSize),this._rightView?.isCollapsed&&this._rightIndex!==void 0&&this._outerSplitview.resizeView(this._rightIndex,this._rightView.collapsedSize),this._topView?.isCollapsed&&this._middleColumn.resizeView(`top`,this._topView.collapsedSize),this._bottomView?.isCollapsed&&this._middleColumn.resizeView(`bottom`,this._bottomView.collapsedSize),this._currentWidth>0&&this._currentHeight>0&&this.layout(this._currentWidth,this._currentHeight)}removeEdgeView(e){let t=this._getView(e);if(t){switch(e){case`left`:this._outerSplitview.removeView(this._leftIndex),this._leftIndex=void 0,this._leftView=void 0,--this._middleIndex,this._rightIndex!==void 0&&--this._rightIndex;break;case`right`:this._outerSplitview.removeView(this._rightIndex),this._rightIndex=void 0,this._rightView=void 0;break;case`top`:this._middleColumn.removeView(`top`),this._topView=void 0;break;case`bottom`:this._middleColumn.removeView(`bottom`),this._bottomView=void 0;break}this._disposables.removeDisposable(t),t.dispose(),this._viewConfigs.delete(e),this.updateTheme(this._gap,this._defaultCollapsedSize)}}hasEdgeGroup(e){switch(e){case`top`:return this._topView!==void 0;case`bottom`:return this._bottomView!==void 0;case`left`:return this._leftView!==void 0;case`right`:return this._rightView!==void 0}}setEdgeGroupVisible(e,t){switch(e){case`left`:this._leftIndex!==void 0&&this._outerSplitview.setViewVisible(this._leftIndex,t);break;case`right`:this._rightIndex!==void 0&&this._outerSplitview.setViewVisible(this._rightIndex,t);break;case`top`:case`bottom`:this._middleColumn.setViewVisible(e,t);break}}isEdgeGroupVisible(e){switch(e){case`left`:return this._leftIndex===void 0?!1:this._outerSplitview.isViewVisible(this._leftIndex);case`right`:return this._rightIndex===void 0?!1:this._outerSplitview.isViewVisible(this._rightIndex);case`top`:case`bottom`:return this._middleColumn.isViewVisible(e)}}setEdgeGroupCollapsed(e,t){let n=this._getView(e);if(!n)return;n.setCollapsed(t);let r=t?n.collapsedSize:n.lastExpandedSize;switch(e){case`left`:this._leftIndex!==void 0&&this._outerSplitview.resizeView(this._leftIndex,r);break;case`right`:this._rightIndex!==void 0&&this._outerSplitview.resizeView(this._rightIndex,r);break;case`top`:case`bottom`:this._middleColumn.resizeView(e,r);break}}isEdgeGroupCollapsed(e){return this._getView(e)?.isCollapsed??!1}_getView(e){switch(e){case`top`:return this._topView;case`bottom`:return this._bottomView;case`left`:return this._leftView;case`right`:return this._rightView}}toJSON(){let e={};return this._leftView&&this._leftIndex!==void 0&&(e.left={size:this._leftView.isCollapsed?this._leftView.lastExpandedSize:this._outerSplitview.getViewSize(this._leftIndex),visible:this._outerSplitview.isViewVisible(this._leftIndex),collapsed:this._leftView.isCollapsed||void 0}),this._rightView&&this._rightIndex!==void 0&&(e.right={size:this._rightView.isCollapsed?this._rightView.lastExpandedSize:this._outerSplitview.getViewSize(this._rightIndex),visible:this._outerSplitview.isViewVisible(this._rightIndex),collapsed:this._rightView.isCollapsed||void 0}),this._topView&&(e.top={size:this._topView.isCollapsed?this._topView.lastExpandedSize:this._middleColumn.getViewSize(`top`),visible:this._middleColumn.isViewVisible(`top`),collapsed:this._topView.isCollapsed||void 0}),this._bottomView&&(e.bottom={size:this._bottomView.isCollapsed?this._bottomView.lastExpandedSize:this._middleColumn.getViewSize(`bottom`),visible:this._middleColumn.isViewVisible(`bottom`),collapsed:this._bottomView.isCollapsed||void 0}),e}fromJSON(e){var t,n,r,i,a,o,s,c;e.left&&this._leftIndex!==void 0&&((t=this._leftView)==null||t.restoreExpandedSize(e.left.size),(n=this._leftView)==null||n.setCollapsed(e.left.collapsed??!1),this._outerSplitview.resizeView(this._leftIndex,e.left.collapsed?this._leftView?.collapsedSize??e.left.size:e.left.size),e.left.visible||this._outerSplitview.setViewVisible(this._leftIndex,!1)),e.right&&this._rightIndex!==void 0&&((r=this._rightView)==null||r.restoreExpandedSize(e.right.size),(i=this._rightView)==null||i.setCollapsed(e.right.collapsed??!1),this._outerSplitview.resizeView(this._rightIndex,e.right.collapsed?this._rightView?.collapsedSize??e.right.size:e.right.size),e.right.visible||this._outerSplitview.setViewVisible(this._rightIndex,!1)),e.top&&((a=this._topView)==null||a.restoreExpandedSize(e.top.size),(o=this._topView)==null||o.setCollapsed(e.top.collapsed??!1),this._middleColumn.resizeView(`top`,e.top.collapsed?this._topView?.collapsedSize??e.top.size:e.top.size),e.top.visible||this._middleColumn.setViewVisible(`top`,!1)),e.bottom&&((s=this._bottomView)==null||s.restoreExpandedSize(e.bottom.size),(c=this._bottomView)==null||c.setCollapsed(e.bottom.collapsed??!1),this._middleColumn.resizeView(`bottom`,e.bottom.collapsed?this._bottomView?.collapsedSize??e.bottom.size:e.bottom.size),e.bottom.visible||this._middleColumn.setViewVisible(`bottom`,!1))}dispose(){var e;this._disposables.dispose(),(e=this._shellElement.parentElement)==null||e.removeChild(this._shellElement)}},Ab={activationSize:{type:`pixels`,value:10},size:{type:`pixels`,value:20}};function jb(e){return new dy(e.tabGroupColors??uy,e.tabGroupAccent!==`off`)}function Mb(e){let t=e.from.activePanel;[...e.from.panels].map(t=>{let n=e.from.model.removePanel(t);return e.from.model.renderContainer.detatch(t),n}).forEach(n=>{e.to.model.openPanel(n,{skipSetActive:t!==n,skipSetGroupActive:!0})})}var Nb=class extends cv{get orientation(){return this.gridview.orientation}get totalPanels(){return this.panels.length}get panels(){return this.groups.flatMap(e=>e.panels)}get options(){return this._options}get tabGroupColorPalette(){return this._tabGroupColorPalette}get activePanel(){let e=this.activeGroup;if(e)return e.activePanel}get renderer(){return this.options.defaultRenderer??`onlyWhenVisible`}get defaultHeaderPosition(){return this.options.defaultHeaderPosition??`top`}get api(){return this._api}get floatingGroups(){return this._floatingGroups}get popoutRestorationPromise(){return this._popoutRestorationPromise}constructor(e,t){super(e,{proportionalLayout:!0,orientation:L_.HORIZONTAL,styles:t.hideBorders?{separatorBorder:`transparent`}:void 0,disableAutoResizing:t.disableAutoResizing,locked:t.locked,margin:t.theme?.gap??0,className:t.className}),this.nextGroupId=P_(),this._deserializer=new Zy(this),this._watermark=null,this._popoutPopupServices=new Map,this._onWillDragPanel=new X,this.onWillDragPanel=this._onWillDragPanel.event,this._onWillDragGroup=new X,this.onWillDragGroup=this._onWillDragGroup.event,this._onDidDrop=new X,this.onDidDrop=this._onDidDrop.event,this._onWillDrop=new X,this.onWillDrop=this._onWillDrop.event,this._onWillShowOverlay=new X,this.onWillShowOverlay=this._onWillShowOverlay.event,this._onUnhandledDragOverEvent=new X,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this._onDidRemovePanel=new X,this.onDidRemovePanel=this._onDidRemovePanel.event,this._onDidAddPanel=new X,this.onDidAddPanel=this._onDidAddPanel.event,this._onDidPopoutGroupSizeChange=new X,this.onDidPopoutGroupSizeChange=this._onDidPopoutGroupSizeChange.event,this._onDidPopoutGroupPositionChange=new X,this.onDidPopoutGroupPositionChange=this._onDidPopoutGroupPositionChange.event,this._onDidOpenPopoutWindowFail=new X,this.onDidOpenPopoutWindowFail=this._onDidOpenPopoutWindowFail.event,this._onDidLayoutFromJSON=new X,this.onDidLayoutFromJSON=this._onDidLayoutFromJSON.event,this._onDidActivePanelChange=new X({replay:!0}),this.onDidActivePanelChange=this._onDidActivePanelChange.event,this._onDidMovePanel=new X,this.onDidMovePanel=this._onDidMovePanel.event,this._onDidCreateTabGroup=new X,this.onDidCreateTabGroup=this._onDidCreateTabGroup.event,this._onDidDestroyTabGroup=new X,this.onDidDestroyTabGroup=this._onDidDestroyTabGroup.event,this._onDidAddPanelToTabGroup=new X,this.onDidAddPanelToTabGroup=this._onDidAddPanelToTabGroup.event,this._onDidRemovePanelFromTabGroup=new X,this.onDidRemovePanelFromTabGroup=this._onDidRemovePanelFromTabGroup.event,this._onDidTabGroupChange=new X,this.onDidTabGroupChange=this._onDidTabGroupChange.event,this._onDidTabGroupCollapsedChange=new X,this.onDidTabGroupCollapsedChange=this._onDidTabGroupCollapsedChange.event,this._onDidMaximizedGroupChange=new X,this.onDidMaximizedGroupChange=this._onDidMaximizedGroupChange.event,this._inShellLayout=!1,this._edgeGroups=new Map,this._edgeGroupDisposables=new Map,this._floatingGroups=[],this._popoutGroups=[],this._popoutRestorationPromise=Promise.resolve(),this._popoutRestorationCleanups=new Set,this._onDidRemoveGroup=new X,this.onDidRemoveGroup=this._onDidRemoveGroup.event,this._onDidAddGroup=new X,this.onDidAddGroup=this._onDidAddGroup.event,this._onDidOptionsChange=new X,this.onDidOptionsChange=this._onDidOptionsChange.event,this._onDidActiveGroupChange=new X,this.onDidActiveGroupChange=this._onDidActiveGroupChange.event,this._moving=!1,this._options=t,this._tabGroupColorPalette=jb(t),this.popupService=new pb(this.element),this.contextMenuController=new Cb(this),this._api=new fv(this),this.disableResizing=!0,e.removeChild(this.element),this._shellManager=new kb(e,this.element,(e,t)=>this._layoutFromShell(e,t),t.theme?.gap??0,t.theme?.edgeGroupCollapsedSize),this.popupService.updateRoot(this._shellManager.element),this._shellThemeClassnames=new b_(this._shellManager.element),this.rootDropTargetContainer=new wb(this._shellManager.element,{disabled:!0}),this.overlayRenderContainer=new sb(this._shellManager.element,this),this._floatingOverlayHost=document.createElement(`div`),this._floatingOverlayHost.className=`dv-floating-overlay-host`,this._shellManager.element.appendChild(this._floatingOverlayHost);let n=(e,t)=>{let n=Gg();if(n)return n.viewId===this.id?t===`center`?this.gridview.length===0:!0:!1;if(t===`center`&&this.gridview.length!==0)return!1;let r=new ky(e,`edge`,t,Gg);return this._onUnhandledDragOverEvent.fire(r),r.isAccepted};this._rootDropTarget=Hv.createDropTarget(this.element,{className:`dv-drop-target-edge`,canDisplayOverlay:n,acceptedTargetZones:[`top`,`bottom`,`left`,`right`,`center`],overlayModel:t.rootOverlayModel??Ab,getOverrideTarget:()=>this.rootDropTargetContainer?.model}),this._rootPointerDropTarget=Uv.createDropTarget(this.element,{className:`dv-drop-target-edge`,canDisplayOverlay:n,acceptedTargetZones:[`top`,`bottom`,`left`,`right`,`center`],overlayModel:t.rootOverlayModel??Ab,getOverrideTarget:()=>this.rootDropTargetContainer?.model}),this.updateDropTargetModel(t),Q(this.gridview.element,`dv-dockview`,!0),Q(this.element,`dv-debug`,!!t.debug),this.updateTheme(),this.updateWatermark(),t.debug&&this.addDisposables(new db(this)),this.addDisposables(this.rootDropTargetContainer,this.overlayRenderContainer,this._onWillDragPanel,this._onWillDragGroup,this._onWillShowOverlay,this._onDidActivePanelChange,this._onDidAddPanel,this._onDidRemovePanel,this._onDidLayoutFromJSON,this._onDidDrop,this._onWillDrop,this._onDidMovePanel,this._onDidMovePanel.event(()=>{this.debouncedUpdateAllPositions()}),this._onDidAddGroup,this._onDidRemoveGroup,this._onDidActiveGroupChange,this._onUnhandledDragOverEvent,this._onDidMaximizedGroupChange,this._onDidOptionsChange,this._onDidPopoutGroupSizeChange,this._onDidPopoutGroupPositionChange,this._onDidOpenPopoutWindowFail,this._onDidCreateTabGroup,this._onDidDestroyTabGroup,this._onDidAddPanelToTabGroup,this._onDidRemovePanelFromTabGroup,this._onDidTabGroupChange,this._onDidTabGroupCollapsedChange,this.onDidViewVisibilityChangeMicroTaskQueue(()=>{this.updateWatermark()}),this.onDidAdd(e=>{this._moving||this._onDidAddGroup.fire(e)}),this.onDidRemove(e=>{this._moving||this._onDidRemoveGroup.fire(e)}),this.onDidActiveChange(e=>{this._moving||this._onDidActiveGroupChange.fire(e)}),this.onDidMaximizedChange(e=>{this._onDidMaximizedGroupChange.fire({group:e.panel,isMaximized:e.isMaximized})}),Xg.any(this.onDidAdd,this.onDidRemove)(()=>{this.updateWatermark()}),Xg.any(this.onDidAddPanel,this.onDidRemovePanel,this.onDidAddGroup,this.onDidRemove,this.onDidRemoveGroup,this.onDidMovePanel,this.onDidActivePanelChange,this.onDidPopoutGroupPositionChange,this.onDidPopoutGroupSizeChange,this.onDidCreateTabGroup,this.onDidDestroyTabGroup,this.onDidAddPanelToTabGroup,this.onDidRemovePanelFromTabGroup,this.onDidTabGroupChange,this.onDidTabGroupCollapsedChange)(()=>{this._bufferOnDidLayoutChange.fire()}),qg.from(()=>{var e;for(let e of[...this._popoutRestorationCleanups])e();this._popoutRestorationCleanups.clear();for(let e of[...this._floatingGroups])e.dispose();for(let e of[...this._popoutGroups])e.disposable.dispose();(e=this._shellManager)==null||e.dispose();for(let e of this._edgeGroupDisposables.values())e.dispose();this._edgeGroupDisposables.clear()}),this._rootDropTarget,this._rootPointerDropTarget,Xg.any(this._rootDropTarget.onWillShowOverlay,this._rootPointerDropTarget.onWillShowOverlay)(e=>{this.gridview.length>0&&e.position===`center`||this._onWillShowOverlay.fire(new oy(e,{kind:`edge`,panel:void 0,api:this._api,group:void 0,getData:Gg}))}),Xg.any(this._rootDropTarget.onDrop,this._rootPointerDropTarget.onDrop)(e=>{let t=new Ly({nativeEvent:e.nativeEvent,position:e.position,panel:void 0,api:this._api,group:void 0,getData:Gg,kind:`edge`});if(this._onWillDrop.fire(t),t.defaultPrevented)return;let n=Gg();n?this.moveGroupOrPanel({from:{groupId:n.groupId,panelId:n.panelId??void 0},to:{group:this.orthogonalize(e.position),position:`center`}}):this._onDidDrop.fire(new Iy({nativeEvent:e.nativeEvent,position:e.position,panel:void 0,api:this._api,group:void 0,getData:Gg}))}))}setVisible(e,t){switch(e.api.location.type){case`grid`:super.setVisible(e,t);break;case`floating`:{let n=this.floatingGroups.find(t=>t.group===e);n&&(n.overlay.setVisible(t),e.api._onDidVisibilityChange.fire({isVisible:t}));break}case`popout`:console.warn(`dockview: You cannot hide a group that is in a popout window`);break}}getPopupServiceForGroup(e){return this._popoutPopupServices.get(e.id)??this.popupService}addPopoutGroup(e,t){if(e instanceof Gy&&e.model.location.type===`edge`)return Promise.resolve(!1);if(e instanceof Jy&&e.group.size===1)return this.addPopoutGroup(e.group,t);let n=y_(this.gridview.element),r=this.element;function i(){return t?.position?t.position:e instanceof Gy?e.element.getBoundingClientRect():e.group?e.group.element.getBoundingClientRect():r.getBoundingClientRect()}let a=i(),o=t?.overridePopoutGroup?.id??this.getNextGroupId(),s=new ub(`${this.id}-${o}`,n??``,{url:t?.popoutUrl??this.options?.popoutUrl??`/popout.html`,left:window.screenX+a.left,top:window.screenY+a.top,width:a.width,height:a.height,onDidOpen:t?.onDidOpen,onWillClose:t?.onWillClose,nonce:this.options?.nonce}),c=new Jg(s,s.onDidClose(()=>{c.dispose()}));return s.open().then(n=>{if(s.isDisposed)return!1;let r=t?.referenceGroup?t.referenceGroup:e instanceof Jy?e.group:e,i=e.api.location.type,a=r.element.parentElement!==null,l;if(a?t?.overridePopoutGroup?l=t.overridePopoutGroup:(l=this.createGroup({id:o}),n&&this._onDidAddGroup.fire(l)):l=r,n===null)return console.error(`dockview: failed to create popout. perhaps you need to allow pop-ups for this website`),c.dispose(),this._onDidOpenPopoutWindowFail.fire(),this.movingLock(()=>Mb({from:l,to:r})),r.api.isVisible||r.api.setVisible(!0),!1;let u=document.createElement(`div`);u.className=`dv-overlay-render-container`;let d=new sb(u,this);l.model.renderContainer=d,l.layout(s.window.innerWidth,s.window.innerHeight);let f;if(!t?.overridePopoutGroup&&a)if(e instanceof Jy)this.movingLock(()=>{let t=r.model.removePanel(e);l.model.openPanel(t)});else switch(this.movingLock(()=>Mb({from:r,to:l})),i){case`grid`:r.api.setVisible(!1);break;case`floating`:case`popout`:f=this._floatingGroups.find(t=>t.group.api.id===e.api.id)?.overlay.toJSON(),this.removeGroup(r);break}n.classList.add(`dv-dockview`),n.style.overflow=`hidden`,n.appendChild(u),n.appendChild(l.element);let p=document.createElement(`div`),m=new wb(p,{disabled:this.rootDropTargetContainer.disabled});n.appendChild(p),l.model.dropTargetContainer=m;let h=new pb(n,s.window);this._popoutPopupServices.set(l.id,h),c.addDisposables(h,qg.from(()=>{this._popoutPopupServices.delete(l.id)})),l.model.location={type:`popout`,getWindow:()=>s.window,popoutUrl:t?.popoutUrl},a&&e.api.location.type===`grid`&&e.api.setVisible(!1),this.doSetGroupAndPanelActive(l),c.addDisposables(l.api.onDidActiveChange(e=>{var t;e.isActive&&((t=s.window)==null||t.focus())}),l.api.onWillFocus(()=>{var e;(e=s.window)==null||e.focus()}));let g,_=a&&r&&this.getPanel(r.id),v={window:s,popoutGroup:l,referenceGroup:_?r.id:void 0,disposable:{dispose:()=>(c.dispose(),g)}},y=C_(s.window);return c.addDisposables(y,w_(s.window,()=>{this._onDidPopoutGroupSizeChange.fire({width:s.window.innerWidth,height:s.window.innerHeight,group:l})}),y.event(()=>{this._onDidPopoutGroupPositionChange.fire({screenX:s.window.screenX,screenY:s.window.screenX,group:l})}),Z(s.window,`resize`,()=>{l.layout(s.window.innerWidth,s.window.innerHeight)}),d,qg.from(()=>{if(!this.isDisposed){if(a&&this.getPanel(r.id))this.movingLock(()=>Mb({from:l,to:r})),r.api.isVisible||r.api.setVisible(!0),this.getPanel(l.id)&&this.doRemoveGroup(l,{skipPopoutAssociated:!0});else if(this.getPanel(l.id)){if(l.model.renderContainer=this.overlayRenderContainer,l.model.dropTargetContainer=this.rootDropTargetContainer,g=l,!this._popoutGroups.find(e=>e.popoutGroup===l))return;f?this.addFloatingGroup(l,{height:f.height,width:f.width,position:f}):(this.doRemoveGroup(l,{skipDispose:!0,skipActive:!0,skipPopoutReturn:!0}),l.model.location={type:`grid`},this.movingLock(()=>{this.doAddGroup(l,[0])})),this.doSetGroupAndPanelActive(l)}}})),this._popoutGroups.push(v),this.updateWatermark(),!0}).catch(e=>(console.error(`dockview: failed to create popout.`,e),!1))}addFloatingGroup(e,t){if(e instanceof Gy&&e.model.location.type===`edge`)return;let n;if(e instanceof Jy)n=this.createGroup(),this._onDidAddGroup.fire(n),this.movingLock(()=>this.removePanel(e,{removeEmptyGroup:!0,skipDispose:!0,skipSetActiveGroup:!0})),this.movingLock(()=>n.model.openPanel(e,{skipSetGroupActive:!0}));else{n=e;let r=this._popoutGroups.find(e=>e.popoutGroup===n)?.referenceGroup,i=r?this.getPanel(r):void 0;typeof t?.skipRemoveGroup==`boolean`&&t.skipRemoveGroup||(i?(this.movingLock(()=>Mb({from:e,to:i})),this.doRemoveGroup(e,{skipPopoutReturn:!0,skipPopoutAssociated:!0}),this.doRemoveGroup(i,{skipDispose:!0}),n=i):this.doRemoveGroup(e,{skipDispose:!0,skipPopoutReturn:!0,skipPopoutAssociated:!1}))}function r(){if(t?.position){let e={};return`left`in t.position?e.left=Math.max(t.position.left,0):`right`in t.position?e.right=Math.max(t.position.right,0):e.left=rb.left,`top`in t.position?e.top=Math.max(t.position.top,0):`bottom`in t.position?e.bottom=Math.max(t.position.bottom,0):e.top=rb.top,typeof t.width==`number`?e.width=Math.max(t.width,0):e.width=rb.width,typeof t.height==`number`?e.height=Math.max(t.height,0):e.height=rb.height,e}return{left:typeof t?.x==`number`?Math.max(t.x,0):rb.left,top:typeof t?.y==`number`?Math.max(t.y,0):rb.top,width:typeof t?.width==`number`?Math.max(t.width,0):rb.width,height:typeof t?.height==`number`?Math.max(t.height,0):rb.height}}let i=r(),a=new eb(Object.assign(Object.assign({container:this._floatingOverlayHost??this.gridview.element,content:n.element},i),{minimumInViewportWidth:this.options.floatingGroupBounds===`boundedWithinViewport`?void 0:this.options.floatingGroupBounds?.minimumWidthWithinViewport??nb,minimumInViewportHeight:this.options.floatingGroupBounds===`boundedWithinViewport`?void 0:this.options.floatingGroupBounds?.minimumHeightWithinViewport??nb})),o=n.element.querySelector(`.dv-void-container`);if(!o)throw Error(`dockview: failed to find drag handle`);a.setupDrag(o,{inDragMode:typeof t?.inDragMode==`boolean`?t.inDragMode:!1});let s=new tb(n,a),c=new Jg(n.api.onDidActiveChange(e=>{e.isActive&&a.bringToFront()}),(()=>{let e=-1,t=-1;return i_(n.element,r=>{let i=Math.round(r.contentRect.width),a=Math.round(r.contentRect.height);i===e&&a===t||(e=i,t=a,n.layout(i,a))})})());s.addDisposables(a.onDidChange(()=>{n.layout(n.width,n.height)}),a.onDidChangeEnd(()=>{this._bufferOnDidLayoutChange.fire()}),n.onDidChange(e=>{a.setBounds({height:e?.height,width:e?.width})}),{dispose:()=>{c.dispose(),M_(this._floatingGroups,s),n.model.location={type:`grid`},this.updateWatermark()}}),this._floatingGroups.push(s),n.model.location={type:`floating`},t?.skipActiveGroup||this.doSetGroupAndPanelActive(n),this.updateWatermark()}orthogonalize(e,t){switch(this.gridview.normalize(),e){case`top`:case`bottom`:this.gridview.orientation===L_.HORIZONTAL&&this.gridview.insertOrthogonalSplitviewAtRoot();break;case`left`:case`right`:this.gridview.orientation===L_.VERTICAL&&this.gridview.insertOrthogonalSplitviewAtRoot();break}switch(e){case`top`:case`left`:case`center`:return this.createGroupAtLocation([0],void 0,t);case`bottom`:case`right`:return this.createGroupAtLocation([this.gridview.length],void 0,t);default:throw Error(`dockview: unsupported position ${e}`)}}updateOptions(e){var t,n;if(super.updateOptions(e),`floatingGroupBounds`in e)for(let t of this._floatingGroups){switch(e.floatingGroupBounds){case`boundedWithinViewport`:t.overlay.minimumInViewportHeight=void 0,t.overlay.minimumInViewportWidth=void 0;break;case void 0:t.overlay.minimumInViewportHeight=nb,t.overlay.minimumInViewportWidth=nb;break;default:t.overlay.minimumInViewportHeight=e.floatingGroupBounds?.minimumHeightWithinViewport,t.overlay.minimumInViewportWidth=e.floatingGroupBounds?.minimumWidthWithinViewport}t.overlay.setBounds()}this.updateDropTargetModel(e);let r=this.options.disableDnd,i=this.options.dndStrategy;this._options=Object.assign(Object.assign({},this.options),e);let a=this.options.disableDnd,o=this.options.dndStrategy;if((r!==a||i!==o)&&this.updateDragAndDropState(),`theme`in e&&this.updateTheme(),`createRightHeaderActionComponent`in e||`createLeftHeaderActionComponent`in e||`createPrefixHeaderActionComponent`in e)for(let e of this.groups)e.model.updateHeaderActions();if(`createWatermarkComponent`in e){this._watermark&&=(this._watermark.element.parentElement.remove(),(n=(t=this._watermark).dispose)==null||n.call(t),null),this.updateWatermark();for(let e of this.groups)e.model.refreshWatermark()}if(`tabGroupColors`in e||`tabGroupAccent`in e){this._tabGroupColorPalette.setEntries(this._options.tabGroupColors??uy),this._tabGroupColorPalette.enabled=this._options.tabGroupAccent!==`off`;for(let e of this.groups)e.model.refreshTabGroupAccent()}this._onDidOptionsChange.fire(),this._layoutFromShell(this.gridview.width,this.gridview.height)}layout(e,t,n){if(this._shellManager&&!this._inShellLayout?this._shellManager.layout(e,t):super.layout(e,t,n),this._syncFloatingOverlayHost(),this._floatingGroups)for(let e of this._floatingGroups)e.overlay.setBounds()}_syncFloatingOverlayHost(){if(!this._floatingOverlayHost||!this._shellManager)return;let e=this._shellManager.element.getBoundingClientRect(),t=this.element.getBoundingClientRect(),n=this._floatingOverlayHost;n.style.left=`${t.left-e.left}px`,n.style.top=`${t.top-e.top}px`,n.style.width=`${t.width}px`,n.style.height=`${t.height}px`}_layoutFromShell(e,t){this._inShellLayout=!0,this.layout(e,t,!0),this._inShellLayout=!1}forceRelayout(){this._shellManager?this._layoutFromShell(this.width,this.height):super.forceRelayout()}addEdgeGroup(e,t){if(this._edgeGroups.has(e))throw Error(`dockview: edge group already exists at position '${e}'`);let n=this.createGroup({id:t.id});n.model.location={type:`edge`,position:e},n.model.headerPosition=e,this._edgeGroups.set(e,n),this._onDidAddGroup.fire(n);let r=n.model.onDidRemovePanel(()=>{n.model.isEmpty&&this.setEdgeGroupCollapsed(n,!0)});return this._edgeGroupDisposables.set(e,r),this._shellManager.addEdgeView(e,t,n),n.api}getEdgeGroup(e){return this._edgeGroups.get(e)?.api}setEdgeGroupVisible(e,t){this._shellManager.setEdgeGroupVisible(e,t)}isEdgeGroupVisible(e){return this._shellManager.isEdgeGroupVisible(e)}removeEdgeGroup(e){var t;let n=this._edgeGroups.get(e);if(!n)throw Error(`dockview: no edge group exists at position '${e}'`);for(let e of[...n.panels])this.removePanel(e,{removeEmptyGroup:!1,skipDispose:!1});(t=this._edgeGroupDisposables.get(e))==null||t.dispose(),this._edgeGroupDisposables.delete(e),this._shellManager.removeEdgeView(e),this._edgeGroups.delete(e),n.dispose(),this._groups.delete(n.id),this._onDidRemoveGroup.fire(n)}setEdgeGroupCollapsed(e,t){for(let[n,r]of this._edgeGroups)if(r===e){if(this._shellManager.isEdgeGroupCollapsed(n)===t)return;this._shellManager.setEdgeGroupCollapsed(n,t),r.api._onDidCollapsedChange.fire({isCollapsed:t});return}}isEdgeGroupCollapsed(e){for(let[t,n]of this._edgeGroups)if(n===e)return this._shellManager.isEdgeGroupCollapsed(t);return!1}updateDragAndDropState(){for(let e of this.groups)e.model.updateDragAndDropState()}focus(){var e;(e=this.activeGroup)==null||e.focus()}getGroupPanel(e){return this.panels.find(t=>t.id===e)}setActivePanel(e){e.group.model.openPanel(e),this.doSetGroupAndPanelActive(e.group)}moveToNext(e={}){if(!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}if(e.includePanel&&e.group&&e.group.activePanel!==e.group.panels[e.group.panels.length-1]){e.group.model.moveToNext({suppressRoll:!0});return}let t=X_(e.group.element),n=this.gridview.next(t)?.view;this.doSetGroupAndPanelActive(n)}moveToPrevious(e={}){if(!e.group){if(!this.activeGroup)return;e.group=this.activeGroup}if(e.includePanel&&e.group&&e.group.activePanel!==e.group.panels[0]){e.group.model.moveToPrevious({suppressRoll:!0});return}let t=X_(e.group.element),n=this.gridview.previous(t)?.view;n&&this.doSetGroupAndPanelActive(n)}toJSON(){let e=this.gridview.serialize(),t=this.panels.reduce((e,t)=>(e[t.id]=t.toJSON(),e),{}),n=this._floatingGroups.map(e=>({data:e.group.toJSON(),position:e.overlay.toJSON()})),r=this._popoutGroups.map(e=>({data:e.popoutGroup.toJSON(),gridReferenceGroup:e.referenceGroup,position:e.window.dimensions(),url:e.popoutGroup.api.location.type===`popout`?e.popoutGroup.api.location.popoutUrl:void 0})),i={grid:e,panels:t,activeGroup:this.activeGroup?.id};if(n.length>0&&(i.floatingGroups=n),r.length>0&&(i.popoutGroups=r),this._edgeGroups.size>0){let e=this._shellManager.toJSON();for(let[t,n]of this._edgeGroups){let r=e[t];r&&(r.group=n.toJSON())}i.edgeGroups=e}return i}fromJSON(e,t){for(let e of[...this._popoutRestorationCleanups])e();this._popoutRestorationCleanups.clear();let n=new Map,r;if(t?.reuseExistingPanels){r=this.createGroup(),this._groups.delete(r.api.id);let t=Object.keys(e.panels);for(let e of this.panels)t.includes(e.api.id)&&n.set(e.api.id,e);this.movingLock(()=>{Array.from(n.values()).forEach(e=>{this.moveGroupOrPanel({from:{groupId:e.api.group.api.id,panelId:e.api.id},to:{group:r,position:`center`},keepEmptyGroups:!0})})})}if(this.clear(),typeof e!=`object`||!e)throw Error(`dockview: serialized layout must be a non-null object`);let{grid:i,panels:a,activeGroup:o}=e;if(i.root.type!==`branch`||!Array.isArray(i.root.data))throw Error(`dockview: root must be of type branch`);try{let t=this.width,s=this.height,c=e=>{let{id:t,locked:i,hideHeader:o,headerPosition:s,views:c,activeView:l}=e;if(typeof t!=`string`)throw Error(`dockview: group id must be of type string`);let u=this.createGroup({id:t,locked:!!i,hideHeader:!!o,headerPosition:s});this._onDidAddGroup.fire(u);let d=[];for(let e of c){let t=n.get(e);if(r&&t)this.movingLock(()=>{r.model.removePanel(t)}),d.push(t),t.updateFromStateModel(a[e]);else{let t=this._deserializer.fromJSON(a[e],u);d.push(t)}}for(let e=0;e<c.length;e++){let t=d[e],r=typeof l==`string`&&l===t.id;n.has(t.api.id)?this.movingLock(()=>{u.model.openPanel(t,{skipSetActive:!r,skipSetGroupActive:!0})}):u.model.openPanel(t,{skipSetActive:!r,skipSetGroupActive:!0})}return e.tabGroups&&e.tabGroups.length>0&&u.model.restoreTabGroups(e.tabGroups),!u.activePanel&&u.panels.length>0&&u.model.openPanel(u.panels[u.panels.length-1],{skipSetGroupActive:!0}),u};if(this.gridview.deserialize(i,{fromJSON:e=>c(e.data)}),this._layoutFromShell(t,s),e.edgeGroups){for(let t of[`top`,`bottom`,`left`,`right`]){let n=e.edgeGroups[t];if(n&&!this._edgeGroups.has(t)){let e=n.group?.id??`${t}-group`;this.addEdgeGroup(t,{id:e})}}for(let[t,n]of this._edgeGroups){let r=e.edgeGroups[t]?.group;if(r){let{views:e,activeView:t}=r,i=[];for(let t of e)if(a[t]){let e=this._deserializer.fromJSON(a[t],n);i.push(e)}for(let e=0;e<i.length;e++){let r=i[e],a=t===r.id;n.model.openPanel(r,{skipSetActive:!a,skipSetGroupActive:!0})}r.tabGroups&&r.tabGroups.length>0&&n.model.restoreTabGroups(r.tabGroups),!n.activePanel&&n.panels.length>0&&n.model.openPanel(n.panels[n.panels.length-1],{skipSetGroupActive:!0})}}this._shellManager.fromJSON(e.edgeGroups)}let l=e.floatingGroups??[];for(let e of l){let{data:t,position:n}=e,r=c(t);this.addFloatingGroup(r,{position:n,width:n.width,height:n.height,skipRemoveGroup:!0,inDragMode:!1})}let u=e.popoutGroups??[],d=[];u.forEach((e,t)=>{let{data:n,position:r,gridReferenceGroup:i,url:a}=e,o=c(n),s=new Promise(e=>{let n=()=>{if(this._popoutRestorationCleanups.delete(n),clearTimeout(s),!this.isDisposed&&this._groups.has(o.id)&&o.element.parentElement===null){for(let e of[...o.panels])this.removePanel(e,{removeEmptyGroup:!1});o.dispose(),this._groups.delete(o.id),this._onDidRemoveGroup.fire(o)}e()},s=setTimeout(()=>{if(this._popoutRestorationCleanups.delete(n),this.isDisposed){e();return}this.addPopoutGroup(o,{position:r??void 0,overridePopoutGroup:i?o:void 0,referenceGroup:i?this.getPanel(i):void 0,popoutUrl:a}),e()},t*ib);this._popoutRestorationCleanups.add(n)});d.push(s)}),this._popoutRestorationPromise=Promise.all(d).then(()=>void 0);for(let e of this._floatingGroups)e.overlay.setBounds();if(typeof o==`string`){let e=this.getPanel(o);e&&this.doSetGroupAndPanelActive(e)}}catch(e){console.error(`dockview: failed to deserialize layout. Reverting changes`,e);for(let e of this.groups)for(let t of e.panels)this.removePanel(t,{removeEmptyGroup:!1,skipDispose:!1});for(let e of this.groups)e.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e);for(let e of[...this._floatingGroups])e.dispose();throw this.clear(),e}this.updateWatermark(),this.debouncedUpdateAllPositions(),this._onDidLayoutFromJSON.fire()}clear(){let e=Array.from(this._groups.values()).map(e=>e.value),t=!!this.activeGroup;for(let t of e){if([...this._edgeGroups.values()].includes(t)){let e=[...t.panels];for(let t of e)this.removePanel(t,{removeEmptyGroup:!1});continue}this.removeGroup(t,{skipActive:!0})}t&&this.doSetGroupAndPanelActive(void 0),this.gridview.clear()}closeAllGroups(){for(let e of this._groups.entries()){let[t,n]=e;n.value.model.closeAllPanels()}}addPanel(e){if(this.panels.find(t=>t.id===e.id))throw Error(`dockview: panel with id ${e.id} already exists`);let t;if(e.position&&e.floating)throw Error(`dockview: you can only provide one of: position, floating as arguments to .addPanel(...)`);let n={width:e.initialWidth,height:e.initialHeight},r;if(e.position)if(jy(e.position)){let n=typeof e.position.referencePanel==`string`?this.getGroupPanel(e.position.referencePanel):e.position.referencePanel;if(r=e.position.index,!n)throw Error(`dockview: referencePanel '${e.position.referencePanel}' does not exist`);t=this.findGroup(n)}else if(My(e.position)){if(t=typeof e.position.referenceGroup==`string`?this._groups.get(e.position.referenceGroup)?.value:e.position.referenceGroup,r=e.position.index,!t)throw Error(`dockview: referenceGroup '${e.position.referenceGroup}' does not exist`)}else{let t=this.orthogonalize(wv(e.position.direction)),i=this.createPanel(e,t);return t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r}),e.inactive||this.doSetGroupAndPanelActive(t),t.api.setSize({height:n?.height,width:n?.width}),i}else t=this.activeGroup;let i;if(t){let a=sv(e.position?.direction||`within`);if(e.floating){let t=this.createGroup();this._onDidAddGroup.fire(t);let n=typeof e.floating==`object`&&e.floating!==null?e.floating:{};this.addFloatingGroup(t,Object.assign(Object.assign({},n),{inDragMode:!1,skipRemoveGroup:!0,skipActiveGroup:!0})),i=this.createPanel(e,t),t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r})}else if(t.api.location.type===`floating`||t.api.location.type===`edge`||a===`center`)i=this.createPanel(e,t),t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r}),t.api.setSize({width:n?.width,height:n?.height}),e.inactive||this.doSetGroupAndPanelActive(t);else{let o=X_(t.element),s=Z_(this.gridview.orientation,o,a),c=this.createGroupAtLocation(s,this.orientationAtLocation(s)===L_.VERTICAL?n?.height:n?.width);i=this.createPanel(e,c),c.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r}),e.inactive||this.doSetGroupAndPanelActive(c)}}else if(e.floating){let t=this.createGroup();this._onDidAddGroup.fire(t);let n=typeof e.floating==`object`&&e.floating!==null?e.floating:{};this.addFloatingGroup(t,Object.assign(Object.assign({},n),{inDragMode:!1,skipRemoveGroup:!0,skipActiveGroup:!0})),i=this.createPanel(e,t),t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r})}else{let t=this.createGroupAtLocation([0],this.gridview.orientation===L_.VERTICAL?n?.height:n?.width);i=this.createPanel(e,t),t.model.openPanel(i,{skipSetActive:e.inactive,skipSetGroupActive:e.inactive,index:r}),e.inactive||this.doSetGroupAndPanelActive(t)}return i}removePanel(e,t={removeEmptyGroup:!0}){let n=e.group;if(!n)throw Error(`dockview: cannot remove panel ${e.id}. it's missing a group.`);n.model.removePanel(e,{skipSetActiveGroup:t.skipSetActiveGroup}),t.skipDispose||(e.group.model.renderContainer.detatch(e),e.dispose()),n.size===0&&t.removeEmptyGroup&&this.removeGroup(n,{skipActive:t.skipSetActiveGroup})}createWatermarkComponent(){return this.options.createWatermarkComponent?this.options.createWatermarkComponent():new Qy}updateWatermark(){var e,t;if(this.groups.filter(e=>e.api.location.type===`grid`&&e.api.isVisible).length===0){if(!this._watermark){this._watermark=this.createWatermarkComponent(),this._watermark.init({containerApi:new fv(this)});let e=document.createElement(`div`);e.className=`dv-watermark-container`,g_(e,`watermark-component`),e.appendChild(this._watermark.element),this.gridview.element.appendChild(e)}}else this._watermark&&=(this._watermark.element.parentElement.remove(),(t=(e=this._watermark).dispose)==null||t.call(e),null)}addGroup(e){if(e){let t;if(Ny(e)){let n=typeof e.referencePanel==`string`?this.panels.find(t=>t.id===e.referencePanel):e.referencePanel;if(!n)throw Error(`dockview: reference panel ${e.referencePanel} does not exist`);if(t=this.findGroup(n),!t)throw Error(`dockview: reference group for reference panel ${e.referencePanel} does not exist`)}else if(Py(e)){if(t=typeof e.referenceGroup==`string`?this._groups.get(e.referenceGroup)?.value:e.referenceGroup,!t)throw Error(`dockview: reference group ${e.referenceGroup} does not exist`)}else{let t=this.orthogonalize(wv(e.direction),e);return e.skipSetActive||this.doSetGroupAndPanelActive(t),t}let n=sv(e.direction||`within`),r=X_(t.element),i=Z_(this.gridview.orientation,r,n),a=this.createGroup(e),o=this.getLocationOrientation(i)===L_.VERTICAL?e.initialHeight:e.initialWidth;return this.doAddGroup(a,i,o),e.skipSetActive||this.doSetGroupAndPanelActive(a),a}else{let t=this.createGroup(e);return this.doAddGroup(t),this.doSetGroupAndPanelActive(t),t}}getLocationOrientation(e){return e.length%2==0&&this.gridview.orientation===L_.HORIZONTAL?L_.HORIZONTAL:L_.VERTICAL}removeGroup(e,t){this.doRemoveGroup(e,t)}doRemoveGroup(e,t){if([...this._edgeGroups.values()].includes(e))return e;let n=[...e.panels];if(!t?.skipDispose)for(let e of n)this.removePanel(e,{removeEmptyGroup:!1,skipDispose:t?.skipDispose??!1});let r=this.activePanel;if(e.api.location.type===`floating`){let n=this._floatingGroups.find(t=>t.group===e);if(n){if(t?.skipDispose||(n.group.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e)),M_(this._floatingGroups,n),n.dispose(),!t?.skipActive&&this._activeGroup===e){let e=Array.from(this._groups.values());this.doSetGroupAndPanelActive(e.length>0?e[0].value:void 0)}return n.group}throw Error(`dockview: failed to find floating group`)}if(e.api.location.type===`popout`){let n=this._popoutGroups.find(t=>t.popoutGroup===e);if(n){if(!t?.skipDispose){if(!t?.skipPopoutAssociated){let e=n.referenceGroup?this.getPanel(n.referenceGroup):void 0;e&&e.panels.length===0&&this.removeGroup(e)}n.popoutGroup.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e)}M_(this._popoutGroups,n);let r=n.disposable.dispose();if(!t?.skipPopoutReturn&&r&&(this.doAddGroup(r,[0]),this.doSetGroupAndPanelActive(r)),!t?.skipActive&&this._activeGroup===e){let e=Array.from(this._groups.values());this.doSetGroupAndPanelActive(e.length>0?e[0].value:void 0)}return this.updateWatermark(),n.popoutGroup}throw Error(`dockview: failed to find popout group`)}let i=super.doRemoveGroup(e,t);return t?.skipActive||this.activePanel!==r&&this._onDidActivePanelChange.fire(this.activePanel),i}debouncedUpdateAllPositions(){this._updatePositionsFrameId!==void 0&&cancelAnimationFrame(this._updatePositionsFrameId),this._updatePositionsFrameId=requestAnimationFrame(()=>{this._updatePositionsFrameId=void 0,this.overlayRenderContainer.updateAllPositions()})}movingLock(e){let t=this._moving;try{return this._moving=!0,e()}finally{this._moving=t}}moveGroupOrPanel(e){let t=e.to.group,n=e.from.groupId,r=e.from.panelId,i=e.to.position,a=e.to.index,o=n?this._groups.get(n)?.value:void 0;if(!o)throw Error(`dockview: Failed to find group id ${n}`);if(r===void 0){e.from.tabGroupId?this.moveTabGroupToGroup({sourceGroup:o,tabGroupId:e.from.tabGroupId,destinationGroup:t,destinationTarget:i,destinationIndex:a,skipSetActive:e.skipSetActive,keepEmptyGroups:e.keepEmptyGroups}):this.moveGroup({from:{group:o},to:{group:t,position:i},skipSetActive:e.skipSetActive});return}if(!i||i===`center`){let n=this.movingLock(()=>o.model.removePanel(r,{skipSetActive:!1,skipSetActiveGroup:!0}));if(!n)throw Error(`dockview: No panel with id ${r}`);!e.keepEmptyGroups&&o.model.size===0&&this.doRemoveGroup(o,{skipActive:!0});let i=t.model.size===0;this.movingLock(()=>t.model.openPanel(n,{index:a,skipSetActive:(e.skipSetActive??!1)&&!i,skipSetGroupActive:!0})),e.skipSetActive||this.doSetGroupAndPanelActive(t),this._onDidMovePanel.fire({panel:n,from:o})}else{let e=X_(t.element),n=Z_(this.gridview.orientation,e,i);if(o.size<2){let[e,a]=D_(n);if(o.api.location.type===`grid`){let[t,n]=D_(X_(o.element));if(O_(t,e)){this.gridview.moveView(t,n,a),this._onDidMovePanel.fire({panel:this.getGroupPanel(r),from:o});return}}if(o.api.location.type===`popout`){let e=this._popoutGroups.find(e=>e.popoutGroup===o),n=this.movingLock(()=>e.popoutGroup.model.removePanel(e.popoutGroup.panels[0],{skipSetActive:!0,skipSetActiveGroup:!0}));this.doRemoveGroup(o,{skipActive:!0});let a=Z_(this.gridview.orientation,X_(t.element),i),s=this.createGroupAtLocation(a);this.movingLock(()=>s.model.openPanel(n,{skipSetActive:!0})),this.doSetGroupAndPanelActive(s),this._onDidMovePanel.fire({panel:this.getGroupPanel(r),from:o});return}if(o.api.location.type===`edge`){let e=this.movingLock(()=>o.model.removePanel(r,{skipSetActive:!1,skipSetActiveGroup:!0}));if(!e)throw Error(`dockview: No panel with id ${r}`);let t=this.createGroupAtLocation(n);this.movingLock(()=>t.model.openPanel(e,{skipSetGroupActive:!0})),this.doSetGroupAndPanelActive(t),this._onDidMovePanel.fire({panel:e,from:o});return}let s=this.movingLock(()=>this.doRemoveGroup(o,{skipActive:!0,skipDispose:!0})),c=X_(t.element),l=Z_(this.gridview.orientation,c,i);this.movingLock(()=>this.doAddGroup(s,l)),this.doSetGroupAndPanelActive(s),this._onDidMovePanel.fire({panel:this.getGroupPanel(r),from:o})}else{let t=this.movingLock(()=>o.model.removePanel(r,{skipSetActive:!1,skipSetActiveGroup:!0}));if(!t)throw Error(`dockview: No panel with id ${r}`);let n=Z_(this.gridview.orientation,e,i),a=this.createGroupAtLocation(n);this.movingLock(()=>a.model.openPanel(t,{skipSetGroupActive:!0})),this.doSetGroupAndPanelActive(a),this._onDidMovePanel.fire({panel:t,from:o})}}}moveTabGroupToGroup(e){let{sourceGroup:t,tabGroupId:n,destinationGroup:r,destinationTarget:i,destinationIndex:a}=e,o=t.model.getTabGroups().find(e=>e.id===n);if(!o||o.panelIds.length===0)return;let s=o.label,c=o.color,l=o.collapsed,u=o.componentParams,d=[...o.panelIds],f=i&&i!==`center`?X_(r.element):void 0,p=this.movingLock(()=>d.map(e=>t.model.removePanel(e,{skipSetActive:!1,skipSetActiveGroup:!0})).filter(e=>e!==void 0));if(p.length===0)return;let m=n=>{this.movingLock(()=>{for(let e of p)n.model.openPanel(e,{index:a,skipSetActive:!0,skipSetGroupActive:!0})});let r=n.model.createTabGroup({label:s,color:c,collapsed:l,componentParams:u});for(let e of p)n.model.addPanelToTabGroup(r.id,e.id);e.skipSetActive||this.doSetGroupAndPanelActive(n);for(let e of p)this._onDidMovePanel.fire({panel:e,from:t})},h;if(!i||i===`center`||!f)h=r;else{let e=Z_(this.gridview.orientation,f,i);h=this.createGroupAtLocation(e)}!e.keepEmptyGroups&&t.model.size===0&&t!==h&&this.doRemoveGroup(t,{skipActive:!0}),m(h)}moveGroup(e){let t=e.from.group,n=e.to.group,r=e.to.position,i=t;if(r===`center`){let r=t.activePanel,i=t.model.getTabGroups().map(e=>({label:e.label,color:e.color,collapsed:e.collapsed,componentParams:e.componentParams,panelIds:[...e.panelIds]})),a=this.movingLock(()=>[...t.panels].map(e=>t.model.removePanel(e.id,{skipSetActive:!0})));t?.model.size===0&&this.doRemoveGroup(t,{skipActive:!0}),this.movingLock(()=>{for(let e of a)n.model.openPanel(e,{skipSetActive:e!==r,skipSetGroupActive:!0})});for(let e of i){let t=n.model.createTabGroup({label:e.label,color:e.color,collapsed:e.collapsed,componentParams:e.componentParams});for(let r of e.panelIds)n.model.addPanelToTabGroup(t.id,r)}e.skipSetActive===!0&&this.activePanel||this.doSetGroupAndPanelActive(n)}else{if(t.api.location.type===`edge`){let e=t.activePanel,n=t.model.getTabGroups().map(e=>({label:e.label,color:e.color,collapsed:e.collapsed,componentParams:e.componentParams,panelIds:[...e.panelIds]})),r=this.movingLock(()=>[...t.panels].map(e=>t.model.removePanel(e.id,{skipSetActive:!0})));i=this.createGroup(),this.movingLock(()=>{for(let t of r)i.model.openPanel(t,{skipSetActive:t!==e,skipSetGroupActive:!0})});for(let e of n){let t=i.model.createTabGroup({label:e.label,color:e.color,collapsed:e.collapsed,componentParams:e.componentParams});for(let n of e.panelIds)i.model.addPanelToTabGroup(t.id,n)}}else switch(t.api.location.type){case`grid`:this.gridview.removeView(X_(t.element));break;case`floating`:{let e=this._floatingGroups.find(e=>e.group===t);if(!e)throw Error(`dockview: failed to find floating group`);e.dispose();break}case`popout`:{let e=this._popoutGroups.find(e=>e.popoutGroup===t);if(!e)throw Error(`dockview: failed to find popout group`);let r=this._popoutGroups.indexOf(e);if(r>=0&&this._popoutGroups.splice(r,1),e.referenceGroup){let t=this.getPanel(e.referenceGroup);t&&!t.api.isVisible&&this.doRemoveGroup(t,{skipActive:!0})}e.window.dispose(),n.api.location.type===`grid`?(t.model.renderContainer=this.overlayRenderContainer,t.model.dropTargetContainer=this.rootDropTargetContainer,t.model.location={type:`grid`}):n.api.location.type===`floating`&&(t.model.renderContainer=this.overlayRenderContainer,t.model.dropTargetContainer=this.rootDropTargetContainer,t.model.location={type:`floating`});break}}if(n.api.location.type===`grid`){let e=X_(n.element),a=Z_(this.gridview.orientation,e,r),o;switch(this.gridview.orientation){case L_.VERTICAL:o=e.length%2==0?t.api.width:t.api.height;break;case L_.HORIZONTAL:o=e.length%2==0?t.api.height:t.api.width;break}this.gridview.addView(i,o,a)}else if(n.api.location.type===`floating`){let e=this._floatingGroups.find(e=>e.group===n);if(e){let t=e.overlay.toJSON(),n,r;n=`left`in t?t.left+50:`right`in t?Math.max(0,t.right-t.width-50):50,r=`top`in t?t.top+50:`bottom`in t?Math.max(0,t.bottom-t.height-50):50,this.addFloatingGroup(i,{height:t.height,width:t.width,position:{left:n,top:r}})}}}if(i.panels.forEach(e=>{this._onDidMovePanel.fire({panel:e,from:t})}),this.debouncedUpdateAllPositions(),e.skipSetActive===!1){let e=n??t;this.doSetGroupAndPanelActive(e)}else i!==t&&e.skipSetActive!==!0&&this.doSetGroupAndPanelActive(i)}doSetGroupActive(e){super.doSetGroupActive(e);let t=this.activePanel;!this._moving&&t!==this._onDidActivePanelChange.value&&this._onDidActivePanelChange.fire(t)}doSetGroupAndPanelActive(e){super.doSetGroupActive(e);let t=this.activePanel;e&&this.hasMaximizedGroup()&&!this.isMaximizedGroup(e)&&this.exitMaximizedGroup(),!this._moving&&t!==this._onDidActivePanelChange.value&&this._onDidActivePanelChange.fire(t)}getNextGroupId(){let e=this.nextGroupId.next();for(;this._groups.has(e);)e=this.nextGroupId.next();return e}createGroup(e){e||={};let t=e?.id;if(t&&this._groups.has(e.id)&&(console.warn(`dockview: Duplicate group id ${e?.id}. reassigning group id to avoid errors`),t=void 0),!t)for(t=this.nextGroupId.next();this._groups.has(t);)t=this.nextGroupId.next();let n=new Gy(this,t,e);if(n.init({params:{},accessor:this}),!this._groups.has(n.id)){let e=new Jg(n.model.onTabDragStart(e=>{this._onWillDragPanel.fire(e)}),n.model.onGroupDragStart(e=>{this._onWillDragGroup.fire(e)}),n.model.onMove(e=>{let{groupId:t,itemId:r,target:i,index:a,tabGroupId:o}=e;this.moveGroupOrPanel({from:{groupId:t,panelId:r,tabGroupId:o},to:{group:n,position:i,index:a}})}),n.model.onDidDrop(e=>{this._onDidDrop.fire(e)}),n.model.onWillDrop(e=>{this._onWillDrop.fire(e)}),n.model.onWillShowOverlay(e=>{if(this.options.disableDnd){e.preventDefault();return}this._onWillShowOverlay.fire(e)}),n.model.onUnhandledDragOverEvent(e=>{this._onUnhandledDragOverEvent.fire(e)}),n.model.onDidAddPanel(e=>{this._moving||this._onDidAddPanel.fire(e.panel)}),n.model.onDidRemovePanel(e=>{this._moving||this._onDidRemovePanel.fire(e.panel)}),n.model.onDidActivePanelChange(e=>{this._moving||e.panel===this.activePanel&&this._onDidActivePanelChange.value!==e.panel&&this._onDidActivePanelChange.fire(e.panel)}),n.model.onDidCreateTabGroup(e=>{this._onDidCreateTabGroup.fire(e)}),n.model.onDidDestroyTabGroup(e=>{this._onDidDestroyTabGroup.fire(e)}),n.model.onDidAddPanelToTabGroup(e=>{this._onDidAddPanelToTabGroup.fire(e)}),n.model.onDidRemovePanelFromTabGroup(e=>{this._onDidRemovePanelFromTabGroup.fire(e)}),n.model.onDidTabGroupChange(e=>{this._onDidTabGroupChange.fire(e)}),n.model.onDidTabGroupCollapsedChange(e=>{this._onDidTabGroupCollapsedChange.fire(e)}),Xg.any(n.model.onDidPanelTitleChange,n.model.onDidPanelParametersChange)(()=>{this._bufferOnDidLayoutChange.fire()}));this._groups.set(n.id,{value:n,disposable:e})}return n.initialize(),n}createPanel(e,t){let n=e.component,r=e.tabComponent??this.options.defaultTabComponent,i=new Xy(this,e.id,n,r),a=new Jy(e.id,n,r,this,this._api,t,i,{renderer:e.renderer,minimumWidth:e.minimumWidth,minimumHeight:e.minimumHeight,maximumWidth:e.maximumWidth,maximumHeight:e.maximumHeight});return a.init({title:e.title??e.id,params:e?.params??{}}),a}createGroupAtLocation(e,t,n){let r=this.createGroup(n);return this.doAddGroup(r,e,t),r}findGroup(e){return Array.from(this._groups.values()).find(t=>t.value.model.containsPanel(e))?.value}orientationAtLocation(e){let t=this.gridview.orientation;return e.length%2==1?t:ev(t)}updateDropTargetModel(e){if(`dndEdges`in e){let t=typeof e.dndEdges==`boolean`&&e.dndEdges===!1;this._rootDropTarget.disabled=t,this._rootPointerDropTarget.disabled=t,typeof e.dndEdges==`object`&&e.dndEdges!==null?(this._rootDropTarget.setOverlayModel(e.dndEdges),this._rootPointerDropTarget.setOverlayModel(e.dndEdges)):(this._rootDropTarget.setOverlayModel(Ab),this._rootPointerDropTarget.setOverlayModel(Ab))}`rootOverlayModel`in e&&this.updateDropTargetModel({dndEdges:e.dndEdges})}updateTheme(){var e,t,n,r;let i=this._options.theme??Ky;switch((e=this._shellThemeClassnames)==null||e.setClassNames(i.className),this.gridview.margin=i.gap??0,(t=this._shellManager)==null||t.updateTheme(i.gap??0,i.edgeGroupCollapsedSize??35),i.dndOverlayBorder===void 0?(this.element.style.removeProperty(`--dv-drag-over-border`),(r=this._shellManager)==null||r.element.style.removeProperty(`--dv-drag-over-border`)):(this.element.style.setProperty(`--dv-drag-over-border`,i.dndOverlayBorder),(n=this._shellManager)==null||n.element.style.setProperty(`--dv-drag-over-border`,i.dndOverlayBorder)),i.dndOverlayMounting){case`absolute`:this.rootDropTargetContainer.disabled=!1;break;default:this.rootDropTargetContainer.disabled=!0;break}let a=(i.tabGroupIndicator??`wrap`)===`none`;Q(this.element,`dv-tab-group-indicator-none`,a),this._shellManager&&Q(this._shellManager.element,`dv-tab-group-indicator-none`,a);for(let e of this.groups)e.model.updateTabGroups()}},Pb=class extends cv{get orientation(){return this.gridview.orientation}set orientation(e){this.gridview.orientation=e}get options(){return this._options}get deserializer(){return this._deserializer}set deserializer(e){this._deserializer=e}constructor(e,t){super(e,{proportionalLayout:t.proportionalLayout??!0,orientation:t.orientation,styles:t.hideBorders?{separatorBorder:`transparent`}:void 0,disableAutoResizing:t.disableAutoResizing,className:t.className}),this._onDidLayoutfromJSON=new X,this.onDidLayoutFromJSON=this._onDidLayoutfromJSON.event,this._onDidRemoveGroup=new X,this.onDidRemoveGroup=this._onDidRemoveGroup.event,this._onDidAddGroup=new X,this.onDidAddGroup=this._onDidAddGroup.event,this._onDidActiveGroupChange=new X,this.onDidActiveGroupChange=this._onDidActiveGroupChange.event,this._options=t,this.addDisposables(this._onDidAddGroup,this._onDidRemoveGroup,this._onDidActiveGroupChange,this.onDidAdd(e=>{this._onDidAddGroup.fire(e)}),this.onDidRemove(e=>{this._onDidRemoveGroup.fire(e)}),this.onDidActiveChange(e=>{this._onDidActiveGroupChange.fire(e)}))}updateOptions(e){super.updateOptions(e);let t=typeof e.orientation==`string`&&this.gridview.orientation!==e.orientation;this._options=Object.assign(Object.assign({},this.options),e),t&&(this.gridview.orientation=e.orientation),this.layout(this.gridview.width,this.gridview.height,!0)}removePanel(e){this.removeGroup(e)}toJSON(){return{grid:this.gridview.serialize(),activePanel:this.activeGroup?.id}}setVisible(e,t){this.gridview.setViewVisible(X_(e.element),t)}setActive(e){this._groups.forEach((t,n)=>{t.value.setActive(e===t.value)})}focus(){var e;(e=this.activeGroup)==null||e.focus()}fromJSON(e){this.clear();let{grid:t,activePanel:n}=e;try{let e=[],r=this.width,i=this.height;if(this.gridview.deserialize(t,{fromJSON:t=>{let{data:n}=t,r=this.options.createComponent({id:n.id,name:n.component});return e.push(()=>r.init({params:n.params,minimumWidth:n.minimumWidth,maximumWidth:n.maximumWidth,minimumHeight:n.minimumHeight,maximumHeight:n.maximumHeight,priority:n.priority,snap:!!n.snap,accessor:this,isVisible:t.visible})),this._onDidAddGroup.fire(r),this.registerPanel(r),r}}),this.layout(r,i,!0),e.forEach(e=>e()),typeof n==`string`){let e=this.getPanel(n);e&&this.doSetGroupActive(e)}}catch(e){for(let e of this.groups)e.dispose(),this._groups.delete(e.id),this._onDidRemoveGroup.fire(e);throw this.clear(),e}this._onDidLayoutfromJSON.fire()}clear(){let e=this.activeGroup,t=Array.from(this._groups.values());for(let e of t)e.disposable.dispose(),this.doRemoveGroup(e.value,{skipActive:!0});e&&this.doSetGroupActive(void 0),this.gridview.clear()}movePanel(e,t){let n,r=this.gridview.remove(e),i=this._groups.get(t.reference)?.value;if(!i)throw Error(`reference group ${t.reference} does not exist`);let a=sv(t.direction);if(a===`center`)throw Error(`${a} not supported as an option`);{let e=X_(i.element);n=Z_(this.gridview.orientation,e,a)}this.doAddGroup(r,n,t.size)}addPanel(e){let t=e.location??[0];if(e.position?.referencePanel){let n=this._groups.get(e.position.referencePanel)?.value;if(!n)throw Error(`reference group ${e.position.referencePanel} does not exist`);let r=sv(e.position.direction);if(r===`center`)throw Error(`${r} not supported as an option`);{let e=X_(n.element);t=Z_(this.gridview.orientation,e,r)}}let n=this.options.createComponent({id:e.id,name:e.component});return n.init({params:e.params??{},minimumWidth:e.minimumWidth,maximumWidth:e.maximumWidth,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,priority:e.priority,snap:!!e.snap,accessor:this,isVisible:!0}),this.doAddGroup(n,t,e.size),this.registerPanel(n),this.doSetGroupActive(n),n}registerPanel(e){let t=new Jg(e.api.onDidFocusChange(t=>{t.isFocused&&this._groups.forEach(t=>{let n=t.value;n===e?n.setActive(!0):n.setActive(!1)})}));this._groups.set(e.id,{value:e,disposable:t})}moveGroup(e,t,n){let r=this.getPanel(t);if(!r)throw Error(`invalid operation`);let i=X_(e.element),[a,o]=D_(Z_(this.gridview.orientation,i,n)),[s,c]=D_(X_(r.element));if(O_(s,a)){this.gridview.moveView(s,c,o);return}let l=this.doRemoveGroup(r,{skipActive:!0,skipDispose:!0}),u=X_(e.element),d=Z_(this.gridview.orientation,u,n);this.doAddGroup(l,d)}removeGroup(e){super.removeGroup(e)}dispose(){super.dispose(),this._onDidLayoutfromJSON.dispose()}},Fb=class extends av{get panels(){return this.splitview.getViews()}get options(){return this._options}get length(){return this._panels.size}get orientation(){return this.splitview.orientation}get splitview(){return this._splitview}set splitview(e){this._splitview&&this._splitview.dispose(),this._splitview=e,this._splitviewChangeDisposable.value=new Jg(this._splitview.onDidSashEnd(()=>{this._onDidLayoutChange.fire(void 0)}),this._splitview.onDidAddView(e=>this._onDidAddView.fire(e)),this._splitview.onDidRemoveView(e=>this._onDidRemoveView.fire(e)))}get minimumSize(){return this.splitview.minimumSize}get maximumSize(){return this.splitview.maximumSize}get height(){return this.splitview.orientation===L_.HORIZONTAL?this.splitview.orthogonalSize:this.splitview.size}get width(){return this.splitview.orientation===L_.HORIZONTAL?this.splitview.size:this.splitview.orthogonalSize}constructor(e,t){super(document.createElement(`div`),t.disableAutoResizing),this._splitviewChangeDisposable=new Yg,this._panels=new Map,this._onDidLayoutfromJSON=new X,this.onDidLayoutFromJSON=this._onDidLayoutfromJSON.event,this._onDidAddView=new X,this.onDidAddView=this._onDidAddView.event,this._onDidRemoveView=new X,this.onDidRemoveView=this._onDidRemoveView.event,this._onDidLayoutChange=new X,this.onDidLayoutChange=this._onDidLayoutChange.event,this.element.style.height=`100%`,this.element.style.width=`100%`,this._classNames=new b_(this.element),this._classNames.setClassNames(t.className??``),e.appendChild(this.element),this._options=t,this.splitview=new V_(this.element,t),this.addDisposables(this._onDidAddView,this._onDidLayoutfromJSON,this._onDidRemoveView,this._onDidLayoutChange)}updateOptions(e){`className`in e&&this._classNames.setClassNames(e.className??``),`disableResizing`in e&&(this.disableResizing=e.disableAutoResizing??!1),typeof e.orientation==`string`&&(this.splitview.orientation=e.orientation),this._options=Object.assign(Object.assign({},this.options),e),this.splitview.layout(this.splitview.size,this.splitview.orthogonalSize)}focus(){var e;(e=this._activePanel)==null||e.focus()}movePanel(e,t){this.splitview.moveView(e,t)}setVisible(e,t){let n=this.panels.indexOf(e);this.splitview.setViewVisible(n,t)}setActive(e,t){this._activePanel=e,this.panels.filter(t=>t!==e).forEach(e=>{e.api._onDidActiveChange.fire({isActive:!1}),t||e.focus()}),e.api._onDidActiveChange.fire({isActive:!0}),t||e.focus()}removePanel(e,t){let n=this._panels.get(e.id);if(!n)throw Error(`unknown splitview panel ${e.id}`);n.dispose(),this._panels.delete(e.id);let r=this.panels.findIndex(t=>t===e);this.splitview.removeView(r,t).dispose();let i=this.panels;i.length>0&&this.setActive(i[i.length-1])}getPanel(e){return this.panels.find(t=>t.id===e)}addPanel(e){if(this._panels.has(e.id))throw Error(`panel ${e.id} already exists`);let t=this.options.createComponent({id:e.id,name:e.component});t.orientation=this.splitview.orientation,t.init({params:e.params??{},minimumSize:e.minimumSize,maximumSize:e.maximumSize,snap:e.snap,priority:e.priority,accessor:this});let n=typeof e.size==`number`?e.size:B_.Distribute,r=typeof e.index==`number`?e.index:void 0;return this.splitview.addView(t,n,r),this.doAddView(t),this.setActive(t),t}layout(e,t){let[n,r]=this.splitview.orientation===L_.HORIZONTAL?[e,t]:[t,e];this.splitview.layout(n,r)}doAddView(e){let t=e.api.onDidFocusChange(t=>{t.isFocused&&this.setActive(e,!0)});this._panels.set(e.id,t)}toJSON(){return{views:this.splitview.getViews().map((e,t)=>({size:this.splitview.getViewSize(t),data:e.toJSON(),snap:!!e.snap,priority:e.priority})),activeView:this._activePanel?.id,size:this.splitview.size,orientation:this.splitview.orientation}}fromJSON(e){this.clear();let{views:t,orientation:n,size:r,activeView:i}=e,a=[],o=this.width,s=this.height;if(this.splitview=new V_(this.element,{orientation:n,proportionalLayout:this.options.proportionalLayout,descriptor:{size:r,views:t.map(e=>{let t=e.data;if(this._panels.has(t.id))throw Error(`panel ${t.id} already exists`);let r=this.options.createComponent({id:t.id,name:t.component});return a.push(()=>{r.init({params:t.params??{},minimumSize:t.minimumSize,maximumSize:t.maximumSize,snap:e.snap,priority:e.priority,accessor:this})}),r.orientation=n,this.doAddView(r),setTimeout(()=>{this._onDidAddView.fire(r)},0),{size:e.size,view:r}})}}),this.layout(o,s),a.forEach(e=>e()),typeof i==`string`){let e=this.getPanel(i);e&&this.setActive(e)}this._onDidLayoutfromJSON.fire()}clear(){for(let e of this._panels.values())e.dispose();for(this._panels.clear();this.splitview.length>0;)this.splitview.removeView(0,B_.Distribute,!0).dispose()}dispose(){for(let e of this._panels.values())e.dispose();this._panels.clear();let e=this.splitview.getViews();this._splitviewChangeDisposable.dispose(),this.splitview.dispose();for(let t of e)t.dispose();this.element.remove(),super.dispose()}},Ib=class extends Jg{get element(){return this._element}constructor(){super(),this._expandedIcon=Ty(),this._collapsedIcon=Ey(),this.disposable=new Yg,this.apiRef={api:null},this._element=document.createElement(`div`),this.element.className=`dv-default-header`,this._content=document.createElement(`span`),this._expander=document.createElement(`div`),this._expander.className=`dv-pane-header-icon`,this.element.appendChild(this._expander),this.element.appendChild(this._content),this.addDisposables(Z(this._element,`click`,()=>{var e;(e=this.apiRef.api)==null||e.setExpanded(!this.apiRef.api.isExpanded)}))}init(e){this.apiRef.api=e.api,this._content.textContent=e.title,this.updateIcon(),this.disposable.value=e.api.onDidExpansionChange(()=>{this.updateIcon()})}updateIcon(){let e=!!this.apiRef.api?.isExpanded;Q(this._expander,`collapsed`,!e),e?(this._expander.contains(this._collapsedIcon)&&this._collapsedIcon.remove(),this._expander.contains(this._expandedIcon)||this._expander.appendChild(this._expandedIcon)):(this._expander.contains(this._expandedIcon)&&this._expandedIcon.remove(),this._expander.contains(this._collapsedIcon)||this._expander.appendChild(this._collapsedIcon))}update(e){}dispose(){this.disposable.dispose(),super.dispose()}},Lb=P_(),Rb=22,zb=0,Bb=2**53-1,Vb=class extends Qv{constructor(e){super({accessor:e.accessor,id:e.id,component:e.component,headerComponent:e.headerComponent,orientation:e.orientation,isExpanded:e.isExpanded,disableDnd:e.disableDnd,headerSize:e.headerSize,minimumBodySize:e.minimumBodySize,maximumBodySize:e.maximumBodySize}),this.options=e}getBodyComponent(){return this.options.body}getHeaderComponent(){return this.options.header}},Hb=class extends av{get id(){return this._id}get panels(){return this.paneview.getPanes()}set paneview(e){this._paneview=e,this._disposable.value=new Jg(this._paneview.onDidChange(()=>{this._onDidLayoutChange.fire(void 0)}),this._paneview.onDidAddView(e=>this._onDidAddView.fire(e)),this._paneview.onDidRemoveView(e=>this._onDidRemoveView.fire(e)))}get paneview(){return this._paneview}get minimumSize(){return this.paneview.minimumSize}get maximumSize(){return this.paneview.maximumSize}get height(){return this.paneview.orientation===L_.HORIZONTAL?this.paneview.orthogonalSize:this.paneview.size}get width(){return this.paneview.orientation===L_.HORIZONTAL?this.paneview.size:this.paneview.orthogonalSize}get options(){return this._options}constructor(e,t){super(document.createElement(`div`),t.disableAutoResizing),this._id=Lb.next(),this._disposable=new Yg,this._viewDisposables=new Map,this._onDidLayoutfromJSON=new X,this.onDidLayoutFromJSON=this._onDidLayoutfromJSON.event,this._onDidLayoutChange=new X,this.onDidLayoutChange=this._onDidLayoutChange.event,this._onDidDrop=new X,this.onDidDrop=this._onDidDrop.event,this._onDidAddView=new X,this.onDidAddView=this._onDidAddView.event,this._onDidRemoveView=new X,this.onDidRemoveView=this._onDidRemoveView.event,this._onUnhandledDragOverEvent=new X,this.onUnhandledDragOverEvent=this._onUnhandledDragOverEvent.event,this.element.style.height=`100%`,this.element.style.width=`100%`,this.addDisposables(this._onDidLayoutChange,this._onDidLayoutfromJSON,this._onDidDrop,this._onDidAddView,this._onDidRemoveView,this._onUnhandledDragOverEvent),this._classNames=new b_(this.element),this._classNames.setClassNames(t.className??``),e.appendChild(this.element),this._options=t,this.paneview=new U_(this.element,{orientation:L_.VERTICAL}),this.addDisposables(this._disposable)}setVisible(e,t){let n=this.panels.indexOf(e);this.paneview.setViewVisible(n,t)}focus(){}updateOptions(e){`className`in e&&this._classNames.setClassNames(e.className??``),`disableResizing`in e&&(this.disableResizing=e.disableAutoResizing??!1),this._options=Object.assign(Object.assign({},this.options),e)}addPanel(e){let t=this.options.createComponent({id:e.id,name:e.component}),n;e.headerComponent&&this.options.createHeaderComponent&&(n=this.options.createHeaderComponent({id:e.id,name:e.headerComponent})),n||=new Ib;let r=new Vb({id:e.id,component:e.component,headerComponent:e.headerComponent,header:n,body:t,orientation:L_.VERTICAL,isExpanded:!!e.isExpanded,disableDnd:!!this.options.disableDnd,accessor:this,headerSize:e.headerSize??Rb,minimumBodySize:zb,maximumBodySize:Bb});this.doAddPanel(r);let i=typeof e.size==`number`?e.size:B_.Distribute,a=typeof e.index==`number`?e.index:void 0;return r.init({params:e.params??{},minimumBodySize:e.minimumBodySize,maximumBodySize:e.maximumBodySize,isExpanded:e.isExpanded,title:e.title,containerApi:new uv(this),accessor:this}),this.paneview.addPane(r,i,a),r.orientation=this.paneview.orientation,r}removePanel(e){let t=this.panels.findIndex(t=>t===e);this.paneview.removePane(t),this.doRemovePanel(e)}movePanel(e,t){this.paneview.moveView(e,t)}getPanel(e){return this.panels.find(t=>t.id===e)}layout(e,t){let[n,r]=this.paneview.orientation===L_.HORIZONTAL?[e,t]:[t,e];this.paneview.layout(n,r)}toJSON(){let e=e=>e===2**53-1||e===1/0?void 0:e,t=e=>e<=0?void 0:e;return{views:this.paneview.getPanes().map((n,r)=>({size:this.paneview.getViewSize(r),data:n.toJSON(),minimumSize:t(n.minimumBodySize),maximumSize:e(n.maximumBodySize),headerSize:n.headerSize,expanded:n.isExpanded()})),size:this.paneview.size}}fromJSON(e){this.clear();let{views:t,size:n}=e,r=[],i=this.width,a=this.height;this.paneview=new U_(this.element,{orientation:L_.VERTICAL,descriptor:{size:n,views:t.map(e=>{let t=e.data,n=this.options.createComponent({id:t.id,name:t.component}),i;t.headerComponent&&this.options.createHeaderComponent&&(i=this.options.createHeaderComponent({id:t.id,name:t.headerComponent})),i||=new Ib;let a=new Vb({id:t.id,component:t.component,headerComponent:t.headerComponent,header:i,body:n,orientation:L_.VERTICAL,isExpanded:!!e.expanded,disableDnd:!!this.options.disableDnd,accessor:this,headerSize:e.headerSize??Rb,minimumBodySize:e.minimumSize??zb,maximumBodySize:e.maximumSize??Bb});return this.doAddPanel(a),r.push(()=>{a.init({params:t.params??{},minimumBodySize:e.minimumSize,maximumBodySize:e.maximumSize,title:t.title,isExpanded:!!e.expanded,containerApi:new uv(this),accessor:this}),a.orientation=this.paneview.orientation}),setTimeout(()=>{this._onDidAddView.fire(a)},0),{size:e.size,view:a}})}}),this.layout(i,a),r.forEach(e=>e()),this._onDidLayoutfromJSON.fire()}clear(){for(let[e,t]of this._viewDisposables.entries())t.dispose();this._viewDisposables.clear(),this.paneview.dispose()}doAddPanel(e){let t=new Jg(e.onDidDrop(e=>{this._onDidDrop.fire(e)}),e.onUnhandledDragOverEvent(e=>{this._onUnhandledDragOverEvent.fire(e)}));this._viewDisposables.set(e.id,t)}doRemovePanel(e){let t=this._viewDisposables.get(e.id);t&&(t.dispose(),this._viewDisposables.delete(e.id))}dispose(){super.dispose();for(let[e,t]of this._viewDisposables.entries())t.dispose();this._viewDisposables.clear(),this.element.remove(),this.paneview.dispose()}},Ub=class extends Xv{get priority(){return this._priority}set orientation(e){this._orientation=e}get orientation(){return this._orientation}get minimumSize(){let e=typeof this._minimumSize==`function`?this._minimumSize():this._minimumSize;return e!==this._evaluatedMinimumSize&&(this._evaluatedMinimumSize=e,this.updateConstraints()),e}get maximumSize(){let e=typeof this._maximumSize==`function`?this._maximumSize():this._maximumSize;return e!==this._evaluatedMaximumSize&&(this._evaluatedMaximumSize=e,this.updateConstraints()),e}get snap(){return this._snap}constructor(e,t){super(e,t,new Jv(e,t)),this._evaluatedMinimumSize=0,this._evaluatedMaximumSize=1/0,this._minimumSize=0,this._maximumSize=1/0,this._snap=!1,this._onDidChange=new X,this.onDidChange=this._onDidChange.event,this.api.initialize(this),this.addDisposables(this._onDidChange,this.api.onWillVisibilityChange(e=>{let{isVisible:t}=e,{accessor:n}=this._params;n.setVisible(this,t)}),this.api.onActiveChange(()=>{let{accessor:e}=this._params;e.setActive(this)}),this.api.onDidConstraintsChangeInternal(e=>{(typeof e.minimumSize==`number`||typeof e.minimumSize==`function`)&&(this._minimumSize=e.minimumSize),(typeof e.maximumSize==`number`||typeof e.maximumSize==`function`)&&(this._maximumSize=e.maximumSize),this.updateConstraints()}),this.api.onDidSizeChange(e=>{this._onDidChange.fire({size:e.size})}))}setVisible(e){this.api._onDidVisibilityChange.fire({isVisible:e})}setActive(e){this.api._onDidActiveChange.fire({isActive:e})}layout(e,t){let[n,r]=this.orientation===L_.HORIZONTAL?[e,t]:[t,e];super.layout(n,r)}init(e){super.init(e),this._priority=e.priority,e.minimumSize&&(this._minimumSize=e.minimumSize),e.maximumSize&&(this._maximumSize=e.maximumSize),e.snap&&(this._snap=e.snap)}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{minimumSize:(e=>e<=0?void 0:e)(this.minimumSize),maximumSize:(e=>e===2**53-1||e===1/0?void 0:e)(this.maximumSize)})}updateConstraints(){this.api._onDidConstraintsChange.fire({maximumSize:this._evaluatedMaximumSize,minimumSize:this._evaluatedMinimumSize})}};function Wb(e,t){return new Nb(e,t).api}function Gb(e,t){return new lv(new Fb(e,t))}function Kb(e,t){return new dv(new Pb(e,t))}function qb(e,t){return new uv(new Hb(e,t))}var Jb=(e,t)=>{let[,n]=y.useState(0),r=y.useRef(e.componentProps);return y.useImperativeHandle(t,()=>({update:e=>{r.current=Object.assign(Object.assign({},r.current),e),n(e=>e+1)}}),[]),y.createElement(e.component,r.current)};Jb.displayName=`DockviewReactJsBridge`;var Yb=(()=>{let e=1;return{next:()=>`dockview_react_portal_key_${(e++).toString()}`}})(),Xb=y.createContext({}),Zb=class{constructor(e,t,n,r,i){this.parent=e,this.portalStore=t,this.component=n,this.parameters=r,this.context=i,this._initialProps={},this.disposed=!1,this.createPortal()}update(e){if(this.disposed)throw Error(`invalid operation: resource is already disposed`);this.componentInstance?this.componentInstance.update(e):this._initialProps=Object.assign(Object.assign({},this._initialProps),e)}createPortal(){if(this.disposed)throw Error(`invalid operation: resource is already disposed`);if(!$b(this.component))throw Error(`Dockview: Only React.memo(...), React.ForwardRef(...) and functional components are accepted as components`);let e=y.createElement(y.forwardRef(Jb),{component:this.component,componentProps:this.parameters,ref:e=>{this.componentInstance=e,Object.keys(this._initialProps).length>0&&(this.componentInstance.update(this._initialProps),this._initialProps={})}}),t=this.context?y.createElement(Xb.Provider,{value:this.context},e):e,n=Pt.createPortal(t,this.parent,Yb.next());this.ref={portal:n,disposable:this.portalStore.addPortal(n)}}dispose(){var e;(e=this.ref)==null||e.disposable.dispose(),this.disposed=!0}},Qb=()=>{let[e,t]=y.useState([]);return y.useDebugValue(`Portal count: ${e.length}`),[e,y.useCallback(e=>{t(t=>[...t,e]);let n=!1;return qg.from(()=>{if(n)throw Error(`invalid operation: resource already disposed`);n=!0,t(t=>t.filter(t=>t!==e))})},[])]};function $b(e){return typeof e==`function`||!!e?.$$typeof}var ex=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._onDidFocus=new X,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new X,this.onDidBlur=this._onDidBlur.event,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}focus(){}init(e){this.part=new Zb(this.element,this.reactPortalStore,this.component,{params:e.params,api:e.api,containerApi:e.containerApi})}update(e){var t;(t=this.part)==null||t.update({params:e.params})}layout(e,t){}dispose(){var e;this._onDidFocus.dispose(),this._onDidBlur.dispose(),(e=this.part)==null||e.dispose()}},tx=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}focus(){}init(e){this.part=new Zb(this.element,this.reactPortalStore,this.component,{params:e.params,api:e.api,containerApi:e.containerApi,tabLocation:e.tabLocation})}update(e){var t;(t=this.part)==null||t.update({params:e.params})}layout(e,t){}dispose(){var e;(e=this.part)==null||e.dispose()}},nx=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}init(e){this.part=new Zb(this.element,this.reactPortalStore,this.component,{group:e.group,containerApi:e.containerApi})}focus(){}update(e){var t;this.parameters&&(this.parameters.params=e.params),(t=this.part)==null||t.update({params:this.parameters?.params??{}})}layout(e,t){}dispose(){var e;(e=this.part)==null||e.dispose()}},rx=class{get element(){return this._element}get part(){return this._part}constructor(e,t,n){this.component=e,this.reactPortalStore=t,this._group=n,this.mutableDisposable=new Yg,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}init(e){this.mutableDisposable.value=new Jg(this._group.model.onDidAddPanel(()=>{this.updatePanels()}),this._group.model.onDidRemovePanel(()=>{this.updatePanels()}),this._group.model.onDidActivePanelChange(()=>{this.updateActivePanel()}),e.api.onDidActiveChange(()=>{this.updateGroupActive()}),e.api.onDidLocationChange(e=>{this.updateLocation(e.location)})),this._part=new Zb(this.element,this.reactPortalStore,this.component,{api:e.api,containerApi:e.containerApi,panels:this._group.model.panels,activePanel:this._group.model.activePanel,isGroupActive:this._group.api.isActive,group:this._group,headerPosition:this._group.model.headerPosition,location:e.api.location})}dispose(){var e;this.mutableDisposable.dispose(),(e=this._part)==null||e.dispose()}update(e){var t;(t=this._part)==null||t.update(e.params)}updatePanels(){this.update({params:{panels:this._group.model.panels}})}updateActivePanel(){this.update({params:{activePanel:this._group.model.activePanel}})}updateGroupActive(){this.update({params:{isGroupActive:this._group.api.isActive}})}updateLocation(e){this.update({params:{location:e}})}},ix=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.height=`100%`,this._element.style.width=`100%`}init(e){this.part=new Zb(this._element,this.reactPortalStore,this.component,e)}dispose(){var e;(e=this.part)==null||e.dispose()}},ax=class{get element(){return this._element}constructor(e,t){this.component=e,this.reactPortalStore=t,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.display=`inline-flex`}init(e){this.part=new Zb(this._element,this.reactPortalStore,this.component,{tabGroup:e.tabGroup,api:e.api})}update(e){var t;(t=this.part)==null||t.update({tabGroup:e.tabGroup})}dispose(){var e;(e=this.part)==null||e.dispose()}},ox=class{get element(){return this._element}constructor(e,t){this.component=e,this.reactPortalStore=t,this._element=document.createElement(`div`),this._element.className=`dv-react-part`,this._element.style.display=`inline-flex`}init(e){this.part=new Zb(this._element,this.reactPortalStore,this.component,{group:e.group,api:e.api})}dispose(){var e;(e=this.part)==null||e.dispose()}};function sx(e,t){return e?n=>new rx(e,t,n):void 0}var cx=`props.defaultTabComponent`;function lx(e){return Ay.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}var ux=y.forwardRef((e,t)=>{let n=y.useRef(null),r=y.useRef(void 0),[i,a]=Qb();y.useImperativeHandle(t,()=>n.current,[]);let o=y.useRef({});return y.useEffect(()=>{let t={};Ay.forEach(n=>{let r=n,i=e[r];r in e&&i!==o.current[r]&&(t[r]=i)}),r.current&&r.current.updateOptions(t),o.current=e},Ay.map(t=>e[t])),y.useEffect(()=>{if(!n.current)return;let t=e.tabComponents??{};e.defaultTabComponent&&(t[cx]=e.defaultTabComponent);let i={createLeftHeaderActionComponent:sx(e.leftHeaderActionsComponent,{addPortal:a}),createRightHeaderActionComponent:sx(e.rightHeaderActionsComponent,{addPortal:a}),createPrefixHeaderActionComponent:sx(e.prefixHeaderActionsComponent,{addPortal:a}),createComponent:t=>new ex(t.id,e.components[t.name],{addPortal:a}),createTabComponent(e){return new tx(e.id,t[e.name],{addPortal:a})},createWatermarkComponent:e.watermarkComponent?()=>new nx(`watermark`,e.watermarkComponent,{addPortal:a}):void 0,defaultTabComponent:e.defaultTabComponent?cx:void 0,createContextMenuItemComponent:e=>{if(e.component)return new ix(e.id,e.component,{addPortal:a})}},o=lx(e);if(e.tabGroupChipComponent){let t=e.tabGroupChipComponent;o.createTabGroupChipComponent=()=>new ax(t,{addPortal:a})}if(e.groupDragGhostComponent){let t=e.groupDragGhostComponent;o.createGroupDragGhostComponent=()=>new ox(t,{addPortal:a})}let s=Wb(n.current,Object.assign(Object.assign({},o),i)),{clientWidth:c,clientHeight:l}=n.current;return s.layout(c,l),e.onReady&&e.onReady({api:s}),r.current=s,()=>{r.current=void 0,s.dispose()}},[]),y.useEffect(()=>{if(!r.current)return()=>{};let t=r.current.onDidDrop(t=>{e.onDidDrop&&e.onDidDrop(t)});return()=>{t.dispose()}},[e.onDidDrop]),y.useEffect(()=>{if(!r.current)return()=>{};let t=r.current.onWillDrop(t=>{e.onWillDrop&&e.onWillDrop(t)});return()=>{t.dispose()}},[e.onWillDrop]),y.useEffect(()=>{r.current&&r.current.updateOptions({createTabGroupChipComponent:e.tabGroupChipComponent?()=>new ax(e.tabGroupChipComponent,{addPortal:a}):void 0})},[e.tabGroupChipComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createGroupDragGhostComponent:e.groupDragGhostComponent?()=>new ox(e.groupDragGhostComponent,{addPortal:a}):void 0})},[e.groupDragGhostComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createComponent:t=>new ex(t.id,e.components[t.name],{addPortal:a})})},[e.components]),y.useEffect(()=>{if(!r.current)return;let t=e.tabComponents??{};e.defaultTabComponent&&(t[cx]=e.defaultTabComponent),r.current.updateOptions({defaultTabComponent:e.defaultTabComponent?cx:void 0,createTabComponent(e){return new tx(e.id,t[e.name],{addPortal:a})}})},[e.tabComponents,e.defaultTabComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createWatermarkComponent:e.watermarkComponent?()=>new nx(`watermark`,e.watermarkComponent,{addPortal:a}):void 0})},[e.watermarkComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createRightHeaderActionComponent:sx(e.rightHeaderActionsComponent,{addPortal:a})})},[e.rightHeaderActionsComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createLeftHeaderActionComponent:sx(e.leftHeaderActionsComponent,{addPortal:a})})},[e.leftHeaderActionsComponent]),y.useEffect(()=>{r.current&&r.current.updateOptions({createPrefixHeaderActionComponent:sx(e.prefixHeaderActionsComponent,{addPortal:a})})},[e.prefixHeaderActionsComponent]),y.createElement(`div`,{style:{height:`100%`,width:`100%`},ref:n},i)});ux.displayName=`DockviewComponent`;var dx=class extends Ub{constructor(e,t,n,r){super(e,t),this.reactComponent=n,this.reactPortalStore=r}getComponent(){return new Zb(this.element,this.reactPortalStore,this.reactComponent,{params:this._params?.params??{},api:this.api,containerApi:new lv(this._params.accessor)})}};function fx(e){return H_.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}var px=y.forwardRef((e,t)=>{let n=y.useRef(null),r=y.useRef(void 0),[i,a]=Qb();y.useImperativeHandle(t,()=>n.current,[]);let o=y.useRef({});return y.useEffect(()=>{let t={};H_.forEach(n=>{let r=n,i=e[r];r in e&&i!==o.current[r]&&(t[r]=i)}),r.current&&r.current.updateOptions(t),o.current=e},H_.map(t=>e[t])),y.useEffect(()=>{if(!n.current)return()=>{};let t=Gb(n.current,Object.assign(Object.assign({},fx(e)),{createComponent:t=>new dx(t.id,t.name,e.components[t.name],{addPortal:a})})),{clientWidth:i,clientHeight:o}=n.current;return t.layout(i,o),e.onReady&&e.onReady({api:t}),r.current=t,()=>{r.current=void 0,t.dispose()}},[]),y.useEffect(()=>{r.current&&r.current.updateOptions({createComponent:t=>new dx(t.id,t.name,e.components[t.name],{addPortal:a})})},[e.components]),y.createElement(`div`,{style:{height:`100%`,width:`100%`},ref:n},i)});px.displayName=`SplitviewComponent`;var mx=class extends By{constructor(e,t,n,r){super(e,t),this.reactComponent=n,this.reactPortalStore=r}getComponent(){return new Zb(this.element,this.reactPortalStore,this.reactComponent,{params:this._params?.params??{},api:this.api,containerApi:new dv(this._params.accessor)})}};function hx(e){return iv.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}var gx=y.forwardRef((e,t)=>{let n=y.useRef(null),r=y.useRef(void 0),[i,a]=Qb();y.useImperativeHandle(t,()=>n.current,[]);let o=y.useRef({});return y.useEffect(()=>{let t={};iv.forEach(n=>{let r=n,i=e[r];r in e&&i!==o.current[r]&&(t[r]=i)}),r.current&&r.current.updateOptions(t),o.current=e},iv.map(t=>e[t])),y.useEffect(()=>{if(!n.current)return()=>{};let t=Kb(n.current,Object.assign(Object.assign({},hx(e)),{createComponent:t=>new mx(t.id,t.name,e.components[t.name],{addPortal:a})})),{clientWidth:i,clientHeight:o}=n.current;return t.layout(i,o),e.onReady&&e.onReady({api:t}),r.current=t,()=>{r.current=void 0,t.dispose()}},[]),y.useEffect(()=>{r.current&&r.current.updateOptions({createComponent:t=>new mx(t.id,t.name,e.components[t.name],{addPortal:a})})},[e.components]),y.createElement(`div`,{style:{height:`100%`,width:`100%`},ref:n},i)});gx.displayName=`GridviewComponent`;var _x=class{get element(){return this._element}constructor(e,t,n){this.id=e,this.component=t,this.reactPortalStore=n,this._element=document.createElement(`div`),this._element.style.height=`100%`,this._element.style.width=`100%`}init(e){this.part=new Zb(this.element,this.reactPortalStore,this.component,{params:e.params,api:e.api,title:e.title,containerApi:e.containerApi})}toJSON(){return{id:this.id}}update(e){var t;(t=this.part)==null||t.update(e.params)}dispose(){var e;(e=this.part)==null||e.dispose()}};function vx(e){return Wv.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}var yx=y.forwardRef((e,t)=>{let n=y.useRef(null),r=y.useRef(void 0),[i,a]=Qb();y.useImperativeHandle(t,()=>n.current,[]);let o=y.useRef({});return y.useEffect(()=>{let t={};Wv.forEach(n=>{let r=n,i=e[r];r in e&&i!==o.current[r]&&(t[r]=i)}),r.current&&r.current.updateOptions(t),o.current=e},Wv.map(t=>e[t])),y.useEffect(()=>{if(!n.current)return()=>{};let t=e.headerComponents??{},i=qb(n.current,Object.assign(Object.assign({},vx(e)),{createComponent:t=>new _x(t.id,e.components[t.name],{addPortal:a}),createHeaderComponent:e=>new _x(e.id,t[e.name],{addPortal:a})})),{clientWidth:o,clientHeight:s}=n.current;return i.layout(o,s),e.onReady&&e.onReady({api:i}),r.current=i,()=>{r.current=void 0,i.dispose()}},[]),y.useEffect(()=>{r.current&&r.current.updateOptions({createComponent:t=>new _x(t.id,e.components[t.name],{addPortal:a})})},[e.components]),y.useEffect(()=>{if(!r.current)return;let t=e.headerComponents??{};r.current.updateOptions({createHeaderComponent:e=>new _x(e.id,t[e.name],{addPortal:a})})},[e.headerComponents]),y.useEffect(()=>{if(!r.current)return()=>{};let t=r.current.onDidDrop(t=>{e.onDidDrop&&e.onDidDrop(t)});return()=>{t.dispose()}},[e.onDidDrop]),y.createElement(`div`,{style:{height:`100%`,width:`100%`},ref:n},i)});yx.displayName=`PaneviewComponent`;function bx({panelLabel:e,hint:t,open:n,onClose:r}){return(0,x.jsx)(uc,{open:n,onOpenChange:e=>{e||r()},title:`${e} settings`,description:t??`Panel settings will appear here in a later slice.`})}var $={crew:`agent-rail`,chat:`chat-workspace`,activity:`activity`,files:`files-explorer`,browser:`browser`},xx=[`external`,`settings`,`expand`,`close`];function Sx(e){return xx.filter(t=>e.includes(t))}function Cx(e){switch(e){case $.crew:return{actions:[`settings`],settingsHint:`Workspace members, invites, and contact management.`};case $.chat:return{actions:[`settings`,`expand`,`close`],settingsHint:`Context settings for the active agent lane, project, or DM.`};case $.activity:return{actions:[`close`]};case $.files:return{actions:[`close`]};case $.browser:return{actions:[`external`,`expand`,`close`]};default:return{actions:[`settings`,`expand`,`close`]}}}function wx({panelId:e,panelLabel:t,api:n,className:r,externalHref:i,settingsOpen:a,onSettingsOpenChange:o,renderSettings:s}){let c=Cx(e),l=i??c.externalHref?.(),u=Sx(c.actions).filter(e=>!(e===`external`&&!l||(e===`close`||e===`expand`)&&!n)),[d,f]=(0,y.useState)(!1),p=a??d,m=o??f,[h,g]=(0,y.useState)(()=>n?.isMaximized()??!1),_={close:(0,y.useCallback)(()=>{n?.close()},[n]),expand:(0,y.useCallback)(()=>{if(n){if(n.isMaximized()){n.exitMaximized(),g(!1);return}n.maximize(),g(!0)}},[n]),settings:(0,y.useCallback)(()=>{m(!0)},[m]),external:(0,y.useCallback)(()=>{l&&window.open(l,`_blank`,`noopener,noreferrer`)},[l])};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(kf,{delayDuration:400,children:(0,x.jsx)(`div`,{className:K(`wf-panel__controls`,r),role:`toolbar`,"aria-label":`${t} panel controls`,children:u.map(e=>(0,x.jsx)(Tx,{action:e,maximized:h,onClick:_[e]},e))})}),s?s({open:p,onClose:()=>m(!1)}):(0,x.jsx)(bx,{panelLabel:t,hint:c.settingsHint,open:p,onClose:()=>m(!1)})]})}function Tx({action:e,maximized:t,onClick:n}){let r=Ex(e,t);return(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(`button`,{type:`button`,className:`wf-panel__control-btn`,onClick:n,"aria-label":r.label,children:(0,x.jsx)(r.icon,{"aria-hidden":`true`})})}),(0,x.jsx)(Mf,{side:`bottom`,children:r.label})]})}function Ex(e,t){switch(e){case`close`:return{label:`Close panel`,icon:Nt};case`expand`:return t?{label:`Exit full screen`,icon:et}:{label:`Expand panel`,icon:Ze};case`settings`:return{label:`Panel settings`,icon:xt};case`external`:return{label:`Open in browser`,icon:be};default:return{label:e,icon:xt}}}function Dx({label:e=``,panelId:t,api:n,className:r,showLabel:i=!0,showControls:a=!0,externalHref:o,leading:s,trailing:c,settingsOpen:l,onSettingsOpenChange:u,renderSettings:d}){return(0,x.jsxs)(`div`,{className:K(`wf-panel__header`,r),children:[i&&e?(0,x.jsx)(`span`,{className:`wf-panel__label`,children:e}):null,(0,x.jsxs)(`div`,{className:`wf-panel__header-actions`,children:[s,a?(0,x.jsx)(wx,{panelId:t,panelLabel:e||t,api:n,externalHref:o,settingsOpen:l,onSettingsOpenChange:u,renderSettings:d}):null,c]})]})}function Ox({className:e}){return(0,x.jsx)(`hr`,{className:K(`wf-divider`,e),"aria-hidden":`true`})}var kx=`Workframe`,Ax=`Navigator`;function jx(e){switch(e){case $.crew:return kx;case $.chat:return`Chat`;case $.files:return Ax;case $.browser:return`Browser`;case $.activity:return`Activity`;default:return e}}var Mx=[$.chat,$.files,$.browser,$.activity],Nx=Mx,Px={[$.chat]:{initial:480,preferred:480,min:360,max:1/0,stretchable:!0},[$.files]:{initial:200,preferred:200,min:200,max:300,stretchable:!1},[$.browser]:{initial:600,preferred:600,min:200,max:1/0,stretchable:!0},[$.activity]:{initial:240,preferred:240,min:200,max:300,stretchable:!1}};Px[$.chat].preferred*2;function Fx(e){return Nx.includes(e)}function Ix(e){return Fx(e)?Px[e].initial:null}function Lx(e){return Px[e]}function Rx(e){return Mx.includes(e)}function zx(e){return[{id:$.chat,label:jx($.chat),icon:$e},{id:$.files,label:jx($.files),icon:Ie},{id:$.browser,label:jx($.browser),icon:ze},{id:$.activity,label:jx($.activity),icon:oe}]}function Bx({projectName:e,closedPanelIds:t,expanded:n,onOpen:r,className:i,showDivider:a=!0,mobile:o=!1,activePanelId:s=null}){let c=zx(e).filter(e=>o?!0:t.has(e.id));return c.length===0?null:(0,x.jsxs)(`div`,{className:K(`wf-agent-rail__shortcuts`,i),children:[a?(0,x.jsx)(Ox,{className:`wf-agent-rail__shortcuts-divider`}):null,c.map(e=>(0,x.jsx)(Vx,{panelId:e.id,label:e.label,icon:e.icon,expanded:n,active:o&&s===e.id,onOpen:()=>r(e.id)},e.id))]})}function Vx({panelId:e,label:t,icon:n,expanded:r,active:i,onOpen:a}){return(0,x.jsxs)(`button`,{type:`button`,className:K(`wf-agent-rail__item wf-agent-rail__item--shortcut`,i&&`wf-agent-rail__item--active`),"data-panel-id":e,"aria-label":`Open ${t} panel`,title:r?void 0:t,onClick:a,children:[(0,x.jsx)(`span`,{className:`wf-agent-rail__shortcut-icon`,"aria-hidden":`true`,children:(0,x.jsx)(n,{})}),r?(0,x.jsx)(`span`,{className:`wf-agent-rail__meta`,children:(0,x.jsx)(`span`,{className:`wf-agent-rail__name`,children:t})}):null]})}function Hx(){return`${`workframe`.replace(/\s+/g,``)}-agent`}var Ux=null;async function Wx(){return Ux||=(async()=>{try{let e=await fetch(`./workframe-config.json`);if(e.ok){let t=await e.json();return{projectName:t.project_name?.trim()||`Workframe`,nativeProfile:t.native_profile?.trim()||Hx()}}}catch{}return{projectName:`Workframe`,nativeProfile:Hx()}})(),Ux}function Gx(e){let t=String(e.profile||e.id||``);return{id:String(e.id||t),profile:t,displayName:String(e.display_name||e.displayName||t),role:String(e.role||``),mode:`lane`,avatarUrl:e.avatar_url||e.avatarUrl,routeStatus:e.route_status||e.routeStatus}}async function Kx(){let e=await Lm(`/api/routes`),t=(e.routes??[]).map(Gx);return{defaultProfile:String(e.default_profile||t[0]?.profile||``),routes:t}}function qx(){return`workframe.activeProfile:Workframe`}var Jx=qx(),Yx=(0,y.createContext)(null);function Xx({children:e}){let[t,n]=(0,y.useState)([]),[r,i]=(0,y.useState)(()=>{try{return window.localStorage.getItem(Jx)||``}catch{return``}}),[a,o]=(0,y.useState)(!0),[s,c]=(0,y.useState)(null),l=(0,y.useCallback)(async e=>{e?.silent||o(!0);try{let{defaultProfile:e,routes:t}=await Kx();n(t),c(null),i(n=>n&&t.some(e=>e.profile===n)?n:e||t[0]?.profile||``)}catch(t){e?.silent||(n([]),c(t instanceof Error?t.message:`Failed to load routes`))}finally{e?.silent||o(!1)}},[]);(0,y.useEffect)(()=>{l(),Wx().catch(()=>{});let e=setInterval(()=>{l({silent:!0})},1e4);return()=>clearInterval(e)},[l]),(0,y.useEffect)(()=>{try{r?window.localStorage.setItem(Jx,r):window.localStorage.removeItem(Jx)}catch{}},[r]);let u=(0,y.useCallback)(e=>{i(e)},[]),d=(0,y.useMemo)(()=>t.find(e=>e.profile===r)??null,[t,r]),f=(0,y.useMemo)(()=>({routes:t,activeRoute:d,activeProfile:r,routesLoading:a,routesError:s,setActiveRoute:u,reloadRoutes:l}),[t,d,r,a,s,u,l]);return(0,x.jsx)(Yx.Provider,{value:f,children:e})}function Zx(){let e=(0,y.useContext)(Yx);if(!e)throw Error(`useAgentRoute must be used within AgentRouteProvider`);return e}var Qx=1,$x=400,eS=new Set([`chatWorkspace`,`filesExplorer`,`browser`,`activity`]);function tS(){return`Workframe`}function nS(){return`workframe.workspaceLayout:${tS()}`}function rS(e){if(typeof window>`u`)return null;try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function iS(e,t){if(!(typeof window>`u`))try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function aS(e){if(!e||typeof e!=`object`)return!1;let t=e;if(t.version!==Qx||!t.dockview?.grid||!t.dockview.panels)return!1;let n=Object.keys(t.dockview.panels);if(!n.length)return!1;let r=new Set(Mx);if(!n.every(e=>r.has(e)))return!1;for(let e of Object.values(t.dockview.panels)){let t=e.contentComponent;if(t&&!eS.has(t))return!1}return!0}function oS(){let e=rS(nS());return aS(e)?e:null}function sS(e){let t=oS();if(!t)return!1;try{return e.fromJSON(t.dockview),!0}catch{return!1}}function cS(){return oS()?.railExpanded}var lS;function uS(e,t){typeof window>`u`||(lS&&clearTimeout(lS),lS=setTimeout(()=>{lS=void 0;try{let n={version:Qx,dockview:e.toJSON(),railExpanded:t};iS(nS(),n)}catch{}},$x))}var dS={expanded:200,collapsed:52};function fS(e,t,n){return Math.min(n,Math.max(t,e))}function pS(e,t){return t.reduce((t,n)=>t+(e[n]??0),0)}function mS(e,t){return e.reduce((e,n)=>n===t?e:e+Px[n].min,0)}function hS(){return{railExpanded:!0,widths:{},manual:{}}}function gS(e){return e.railExpanded?dS.expanded:dS.collapsed}function _S(e){let t=Px[$.chat],n=Px[$.browser],r=t.preferred,i=n.preferred;if(e<=0)return{chat:0,browser:0};if(e>=r+i)return{chat:r,browser:e-r};let a=fS(r,t.min,Math.min(t.max,e-n.min)),o=e-a;return o>=n.min?{chat:a,browser:o}:(a=Math.round(e*.5),a=fS(a,t.min,t.max),o=e-a,o<n.min&&(a=fS(e-n.min,t.min,t.max),o=e-a),{chat:a,browser:o})}function vS(e,t,n,r,i){let a=Px[e],o=n!==`init`&&n!==`panel-change`&&t.manual[e]!==void 0&&!a.stretchable?t.manual[e]:n===`panel-change`&&t.widths[e]!==void 0?t.widths[e]:a.preferred,s=Math.min(a.max,r-mS(i,e));return fS(o,a.min,Math.max(a.min,s))}function yS(e,t,n,r){let{canvas:i,visible:a}=e;if(a.length===0)return{};if(a.length===1)return{[a[0]]:Math.round(i)};let o=Object.fromEntries(a.map(e=>[e,0])),s=i;for(let e of[$.files,$.activity])a.includes(e)&&(n===`panel-change`&&r===e?o[e]=fS(Px[e].initial,Px[e].min,s):o[e]=vS(e,t,n,s,a),s-=o[e]);let c=a.includes($.chat),l=a.includes($.browser);if(c&&l){let e=_S(Math.max(0,s));o[$.chat]=e.chat,o[$.browser]=e.browser}else c?o[$.chat]=s:l&&(o[$.browser]=s);let u=pS(o,a);return u!==i&&l&&(o[$.browser]=Math.max(Px[$.browser].min,o[$.browser]+(i-u))),o}function bS(e,t,n){let{canvas:r,visible:i}=e;if(i.length===0)return{};if(i.length===1)return{[i[0]]:r};let a={};for(let e of i){let i=Px[e];a[e]=fS(t[e]??n.widths[e]??i.preferred,i.min,r)}let o=pS(a,i);if(o!==r&&i.includes($.browser)&&(a[$.browser]=Math.max(Px[$.browser].min,(a[$.browser]??0)+(r-o)),o=pS(a,i)),o>r){let e=r/o;for(let t of i){let n=Px[t];a[t]=Math.max(n.min,Math.floor((a[t]??0)*e))}let t=r-pS(a,i);t!==0&&i.includes($.browser)&&(a[$.browser]=Math.max(Px[$.browser].min,(a[$.browser]??0)+t))}for(let e of i){let t=Px[e],r=a[e]??t.preferred;!t.stretchable&&Math.abs(r-t.preferred)>2&&(n.manual[e]=r),t.stretchable&&delete n.manual[e]}return a}function xS(e){for(let t of Nx)Px[t].stretchable&&delete e.manual[t]}function SS(e){return Math.max(0,e-1)}function CS(e,t){return Math.max(Px[$.chat].min,e-t*4)}dS.expanded;function wS(e,t){return e.getPanel(t)}function TS(e){if(!e)return null;let t=e.group?.api.width??e.api.width;return!t||t<=0?null:Math.round(t)}function ES(e,t){return e.width>0?e.width:t?.clientWidth?t.clientWidth:typeof window<`u`?window.innerWidth:0}function DS(e){let t={};for(let n of Nx){let r=TS(wS(e,n));r&&(t[n]=r)}return t}function OS(e,t,n){let r=ES(e,n);if(r<=0)return null;let i=gS(t),a=Nx.filter(t=>!!wS(e,t));return{workspaceWidth:r,railWidth:i,canvas:CS(r,SS(a.length)),visible:a}}function kS(e,t){if(!e?.api.isVisible)return;let n=Math.max(1,Math.round(t));e.group.api.setSize({width:n})}function AS(e,t,n,r=!1){let i=Lx(t);e.group.api.setConstraints({minimumWidth:i.min,maximumWidth:r||!Number.isFinite(i.max)?void 0:i.max}),kS(e,n)}var jS=class{state=hS();root;api;applying=!1;lastCanvasWidth=0;sashFrame=0;disposables=[];constructor(e,t){this.api=e,this.root=t}dispose(){for(let e of this.disposables)e.dispose();this.disposables=[],cancelAnimationFrame(this.sashFrame)}setRailExpanded(e){this.state.railExpanded=e,this.layout(`rail`)}hydrateFromDockview(){let e=OS(this.api,this.state,this.root);if(!e)return!1;let t=DS(this.api),n=e.visible.length===1;this.applying=!0;try{for(let r of e.visible){let e=wS(this.api,r);if(!e)continue;let i=Lx(r);e.group.api.setConstraints({minimumWidth:i.min,maximumWidth:n||!Number.isFinite(i.max)?void 0:i.max});let a=t[r];a&&(this.state.widths[r]=a,i.stretchable||(this.state.manual[r]=a))}}finally{this.applying=!1}return this.lastCanvasWidth=e.canvas,uS(this.api,this.state.railExpanded),!0}layout(e,t={}){if(this.applying)return!1;let n=OS(this.api,this.state,this.root);if(!n)return!1;(e===`viewport`||e===`rail`)&&xS(this.state);let r=t.preferInitialFor&&Fx(t.preferInitialFor)?t.preferInitialFor:void 0,i=yS(n,this.state,e,r);return this.apply(n,i),this.state.widths={...i},this.lastCanvasWidth=n.canvas,uS(this.api,this.state.railExpanded),!0}watch(){let e=0,t=this.root?.clientWidth??0,n=()=>{cancelAnimationFrame(e),e=requestAnimationFrame(()=>this.layout(`viewport`))};if(this.root){let e=new ResizeObserver(e=>{let r=e[0]?.contentRect.width??this.root.clientWidth;r<=0||Math.abs(r-t)<1||(t=r,n())});e.observe(this.root),this.disposables.push({dispose:()=>e.disconnect()})}window.addEventListener(`resize`,n),this.disposables.push({dispose:()=>window.removeEventListener(`resize`,n)});let r=this.api.onDidLayoutChange(()=>{this.applying||(cancelAnimationFrame(this.sashFrame),this.sashFrame=requestAnimationFrame(()=>this.onDockviewLayout()))});return this.disposables.push(r),()=>this.dispose()}onDockviewLayout(){let e=OS(this.api,this.state,this.root);if(!e)return;if(Math.abs(e.canvas-this.lastCanvasWidth)>=2){this.layout(`viewport`);return}let t=bS(e,DS(this.api),this.state);this.state.widths={...t},this.lastCanvasWidth=e.canvas,uS(this.api,this.state.railExpanded)}apply(e,t){this.applying=!0;let n=e.visible.length===1;try{for(let r of e.visible){let e=wS(this.api,r);e&&AS(e,r,t[r]??Lx(r).min,n)}}finally{this.applying=!1}}},MS=null;function NS(){return MS}function PS(e,t){return MS?.dispose(),MS=new jS(e,t),MS}function FS(e,t,n={}){return MS?(MS.root=t??MS.root,MS.layout(`panel-change`,n)):new jS(e,t??null).layout(`init`,n)}function IS(e){let t=new Map;for(let n of e.panels){if(n.id===$.crew)continue;let e=TS(n);e&&t.set(n.id,e)}return t}function LS(e,t,n){n?.position===`top`||n?.position===`bottom`||(MS?MS.layout(`panel-change`):FS(e))}function RS(e){let t=Ix(e)??(e===$.browser?Px[$.browser].initial:120);if(!Fx(e))return{initialWidth:t};let n=Lx(e);return{minimumWidth:n.min,maximumWidth:Number.isFinite(n.max)?n.max:void 0,initialWidth:t}}var zS={[$.chat]:`chatWorkspace`,[$.files]:`filesExplorer`,[$.browser]:`browser`,[$.activity]:`activity`};function BS(e){return jx(e)}function VS(e,t){let n=Mx.indexOf(t);if(!(n<=0))for(let t=n-1;t>=0;--t){let n=e.getPanel(Mx[t]);if(n)return n}}function HS(e,t){let n=Mx.indexOf(t);if(!(n<0)){for(let t=n+1;t<Mx.length;t+=1){let n=e.getPanel(Mx[t]);if(n)return n}return e.panels[0]}}function US(e,t,n){if(t===$.crew||!Rx(t)||e.getPanel(t))return;let r={id:t,component:zS[t],title:BS(t),...RS(t)},i=VS(e,t);if(i)e.addPanel({...r,position:{referencePanel:i,direction:`right`}});else{let n=HS(e,t);n&&t!==n.id?e.addPanel({...r,position:{referencePanel:n,direction:`left`}}):e.addPanel(r)}}function WS(e,t){let n=e=>{requestAnimationFrame(()=>{NS()?.layout(`panel-change`,{preferInitialFor:e})})},r=[e.onDidRemovePanel(e=>{Rx(e.id)&&(t.onPanelClosed(e.id),n())}),e.onDidAddPanel(e=>{Rx(e.id)&&(t.onPanelOpened(e.id),n(Fx(e.id)?e.id:void 0))})];return()=>{for(let e of r)e.dispose()}}function GS(e){return Mx.filter(t=>!!e.getPanel(t))}function KS(e){let t=GS(e);return t.length===0?null:t.length===1?t[0]:t.includes($.chat)?$.chat:t[0]}function qS(e,t,n){if(!Rx(t))return null;e.getPanel(t)||US(e,t,n);for(let n of Mx)n!==t&&e.getPanel(n)?.api.close();return requestAnimationFrame(()=>{NS()?.layout(`panel-change`,{preferInitialFor:t})}),t}function JS(e,t,n){let r=GS(e);return qS(e,n&&r.includes(n)?n:r.includes($.chat)?$.chat:r[0]??$.chat,t)}var YS=`(max-width: 939px)`;function XS(){let[e,t]=(0,y.useState)(()=>typeof window>`u`?!1:window.matchMedia(YS).matches);return(0,y.useEffect)(()=>{let e=window.matchMedia(YS),n=e=>t(e.matches);return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}var ZS=(0,y.createContext)(null);function QS({children:e,onLogout:t}){let n=XS(),[r,i]=(0,y.useState)(()=>new Set),[a,o]=(0,y.useState)(()=>{let e=cS();return e===void 0?typeof window>`u`||window.innerWidth>=1280:e}),[s,c]=(0,y.useState)(null),[l,u]=(0,y.useState)(`Workframe`),[d,f]=(0,y.useState)($.chat),p=(0,y.useRef)(n),[m,h]=(0,y.useState)(null),[g,_]=(0,y.useState)(!1),[v,b]=(0,y.useState)(`profile`),[S,C]=(0,y.useState)(`providers`),w=(0,y.useRef)(null),T=(0,y.useRef)(null),E=(0,y.useCallback)(e=>{w.current=e},[]),D=(0,y.useCallback)(e=>{T.current=e},[]),O=(0,y.useCallback)((e,t)=>{w.current?.(e,t)},[]),k=(0,y.useCallback)(e=>{T.current?.(e)},[]),A=(0,y.useCallback)((e=`profile`,t=`providers`)=>{b(e),e===`connect`&&C(t),_(!0)},[]),j=(0,y.useCallback)(()=>{_(!1)},[]),M=(0,y.useCallback)((e,t,n,r)=>{c(e),u(t),i(new Set(Mx.filter(t=>!e.getPanel(t))));let o=PS(e,n??null);o.state.railExpanded=a,r?.restoredLayout?requestAnimationFrame(()=>o.hydrateFromDockview()):(o.layout(`init`),requestAnimationFrame(()=>o.layout(`init`)));let s=o.watch(),l=WS(e,{onPanelClosed:e=>{e!==$.crew&&i(t=>{let n=new Set(t);return n.add(e),n})},onPanelOpened:e=>{e!==$.crew&&i(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})}});return()=>{l(),s(),o.dispose()}},[a]),N=(0,y.useCallback)(e=>{NS()?.layout(`panel-change`,e)},[]),P=(0,y.useCallback)(e=>{o(e),NS()?.setRailExpanded(e)},[]),F=(0,y.useCallback)(e=>{h(e)},[]),I=(0,y.useCallback)(e=>{if(!(!s||e===$.crew)){if(n){let t=qS(s,e,l);t&&f(t);return}US(s,e,l),f(e)}},[n,l,s]),L=(0,y.useCallback)(e=>{I(e)},[I]);(0,y.useEffect)(()=>{if(!s)return;n&&(o(!1),NS()?.setRailExpanded(!1));let e=n&&!p.current,t=!n&&p.current;if(p.current=n,e){let e=JS(s,l,d);e&&f(e);return}t&&(NS()?.layout(`viewport`),f(KS(s)))},[d,n,l,s]),(0,y.useEffect)(()=>{!s||!n||f(KS(s))},[r,n,s]);let ee=(0,y.useMemo)(()=>({closedPanelIds:r,railExpanded:a,mobileLayout:n,activeWorkspacePanelId:d,activeRoom:m,userSettingsOpen:g,userSettingsTab:v,userSettingsConnectTab:S,onLogout:t,openPanel:L,focusWorkspacePanel:I,openUserSettings:A,closeUserSettings:j,openAgentSettings:O,registerOpenAgentSettings:E,registerOpenChatSettings:D,openChatSettings:k,rebalanceLayout:N,setRailExpanded:P,setActiveRoom:F,registerWorkspaceApi:M}),[r,a,n,d,m,g,v,S,t,L,I,A,j,O,E,D,k,N,M,F,P]);return(0,x.jsx)(ZS.Provider,{value:ee,children:e})}function $S(){let e=(0,y.useContext)(ZS);if(!e)throw Error(`useWorkspacePanels must be used within WorkspacePanelsProvider`);return e}function eC({children:e,className:t}){return(0,x.jsx)(`div`,{className:K(`wf-panel`,t),children:e})}function tC({label:e,htmlFor:t,hint:n,className:r,children:i}){return(0,x.jsxs)(`div`,{className:K(`wf-dialog-field`,r),children:[t?(0,x.jsx)(Br,{htmlFor:t,className:`wf-dialog-field__label`,children:e}):(0,x.jsx)(`span`,{className:`wf-dialog-field__label`,children:e}),i,n?(0,x.jsx)(`p`,{className:`wf-dialog-field__hint`,children:n}):null]})}function nC(e){let t=e+`CollectionProvider`,[n,r]=sa(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=y.useRef(null),a=y.useRef(new Map).current;return(0,x.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=xr(s),l=y.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,x.jsx)(c,{ref:br(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=xr(u),p=y.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=y.useRef(null),s=br(t,o),c=a(u,n);return y.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,x.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return y.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:p},m,r]}var rC=y.createContext(void 0);function iC(e){let t=y.useContext(rC);return e||t||`ltr`}var aC=`rovingFocusGroup.onEntryFocus`,oC={bubbles:!1,cancelable:!0},sC=`RovingFocusGroup`,[cC,lC,uC]=nC(sC),[dC,fC]=sa(sC,[uC]),[pC,mC]=dC(sC),hC=y.forwardRef((e,t)=>(0,x.jsx)(cC.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,x.jsx)(cC.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,x.jsx)(gC,{...e,ref:t})})}));hC.displayName=sC;var gC=y.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=y.useRef(null),p=br(t,f),m=iC(a),[h,g]=ma({prop:o,defaultProp:s??null,onChange:c,caller:sC}),[_,v]=y.useState(!1),b=_a(l),S=lC(n),C=y.useRef(!1),[w,T]=y.useState(0);return y.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(aC,b),()=>e.removeEventListener(aC,b)},[b]),(0,x.jsx)(pC,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:y.useCallback(e=>g(e),[g]),onItemShiftTab:y.useCallback(()=>v(!0),[]),onFocusableItemAdd:y.useCallback(()=>T(e=>e+1),[]),onFocusableItemRemove:y.useCallback(()=>T(e=>e-1),[]),children:(0,x.jsx)(Fr.div,{tabIndex:_||w===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:oa(e.onMouseDown,()=>{C.current=!0}),onFocus:oa(e.onFocus,e=>{let t=!C.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(aC,oC);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=S().filter(e=>e.focusable);SC([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}C.current=!1}),onBlur:oa(e.onBlur,()=>v(!1))})})}),_C=`RovingFocusGroupItem`,vC=y.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=fa(),l=a||c,u=mC(_C,n),d=u.currentTabStopId===l,f=lC(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return y.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,x.jsx)(cC.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,x.jsx)(Fr.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:oa(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:oa(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:oa(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=xC(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?CC(n,r+1):n.slice(r+1)}setTimeout(()=>SC(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});vC.displayName=_C;var yC={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function bC(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function xC(e,t,n){let r=bC(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return yC[r]}function SC(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function CC(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var wC=hC,TC=vC,EC=[`Enter`,` `],DC=[`ArrowDown`,`PageUp`,`Home`],OC=[`ArrowUp`,`PageDown`,`End`],kC=[...DC,...OC],AC={ltr:[...EC,`ArrowRight`],rtl:[...EC,`ArrowLeft`]},jC={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},MC=`Menu`,[NC,PC,FC]=nC(MC),[IC,LC]=sa(MC,[FC,yd,fC]),RC=yd(),zC=fC(),[BC,VC]=IC(MC),[HC,UC]=IC(MC),WC=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=RC(t),[c,l]=y.useState(null),u=y.useRef(!1),d=_a(a),f=iC(i);return y.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),y.useEffect(()=>{if(!n)return;let e=()=>d(!1);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,x.jsx)(Fd,{...s,children:(0,x.jsx)(BC,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,x.jsx)(HC,{scope:t,onClose:y.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};WC.displayName=MC;var GC=`MenuAnchor`,KC=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=RC(n);return(0,x.jsx)(Id,{...i,...r,ref:t})});KC.displayName=GC;var qC=`MenuPortal`,[JC,YC]=IC(qC,{forceMount:void 0}),XC=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=VC(qC,t);return(0,x.jsx)(JC,{scope:t,forceMount:n,children:(0,x.jsx)(Qa,{present:n||a.open,children:(0,x.jsx)(Xa,{asChild:!0,container:i,children:r})})})};XC.displayName=qC;var ZC=`MenuContent`,[QC,$C]=IC(ZC),ew=y.forwardRef((e,t)=>{let n=YC(ZC,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=VC(ZC,e.__scopeMenu),o=UC(ZC,e.__scopeMenu);return(0,x.jsx)(NC.Provider,{scope:e.__scopeMenu,children:(0,x.jsx)(Qa,{present:r||a.open,children:(0,x.jsx)(NC.Slot,{scope:e.__scopeMenu,children:o.modal?(0,x.jsx)(tw,{...i,ref:t}):(0,x.jsx)(nw,{...i,ref:t})})})})}),tw=y.forwardRef((e,t)=>{let n=VC(ZC,e.__scopeMenu),r=y.useRef(null),i=br(t,r);return y.useEffect(()=>{let e=r.current;if(e)return Es(e)},[]),(0,x.jsx)(iw,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:oa(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),nw=y.forwardRef((e,t)=>{let n=VC(ZC,e.__scopeMenu);return(0,x.jsx)(iw,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),rw=xr(`MenuContent.ScrollLock`),iw=y.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=VC(ZC,n),_=UC(ZC,n),v=RC(n),b=zC(n),S=PC(n),[C,w]=y.useState(null),T=y.useRef(null),E=br(t,T,g.onContentChange),D=y.useRef(0),O=y.useRef(``),k=y.useRef(0),A=y.useRef(null),j=y.useRef(`right`),M=y.useRef(0),N=m?_s:y.Fragment,P=m?{as:rw,allowPinchZoom:!0}:void 0,F=e=>{let t=O.current+e,n=S().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Hw(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){O.current=t,window.clearTimeout(D.current),t!==``&&(D.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};y.useEffect(()=>()=>window.clearTimeout(D.current),[]),oo();let I=y.useCallback(e=>j.current===A.current?.side&&Ww(e,A.current?.area),[]);return(0,x.jsx)(QC,{scope:n,searchRef:O,onItemEnter:y.useCallback(e=>{I(e)&&e.preventDefault()},[I]),onItemLeave:y.useCallback(e=>{I(e)||(T.current?.focus(),w(null))},[I]),onTriggerLeave:y.useCallback(e=>{I(e)&&e.preventDefault()},[I]),pointerGraceTimerRef:k,onPointerGraceIntentChange:y.useCallback(e=>{A.current=e},[]),children:(0,x.jsx)(N,{...P,children:(0,x.jsx)(La,{asChild:!0,trapped:i,onMountAutoFocus:oa(a,e=>{e.preventDefault(),T.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,x.jsx)(Ta,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,x.jsx)(wC,{asChild:!0,...b,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:C,onCurrentTabStopIdChange:w,onEntryFocus:oa(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,x.jsx)(Ld,{role:`menu`,"aria-orientation":`vertical`,"data-state":Lw(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:E,style:{outline:`none`,...h.style},onKeyDown:oa(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&F(e.key));let i=T.current;if(e.target!==i||!kC.includes(e.key))return;e.preventDefault();let a=S().filter(e=>!e.disabled).map(e=>e.ref.current);OC.includes(e.key)&&a.reverse(),Bw(a)}),onBlur:oa(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(D.current),O.current=``)}),onPointerMove:oa(e.onPointerMove,Gw(e=>{let t=e.target,n=M.current!==e.clientX;e.currentTarget.contains(t)&&n&&(j.current=e.clientX>M.current?`right`:`left`,M.current=e.clientX)}))})})})})})})});ew.displayName=ZC;var aw=`MenuGroup`,ow=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,x.jsx)(Fr.div,{role:`group`,...r,ref:t})});ow.displayName=aw;var sw=`MenuLabel`,cw=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,x.jsx)(Fr.div,{...r,ref:t})});cw.displayName=sw;var lw=`MenuItem`,uw=`menu.itemSelect`,dw=y.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=y.useRef(null),o=UC(lw,e.__scopeMenu),s=$C(lw,e.__scopeMenu),c=br(t,a),l=y.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(uw,{bubbles:!0,cancelable:!0});e.addEventListener(uw,e=>r?.(e),{once:!0}),Ir(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,x.jsx)(fw,{...i,ref:c,disabled:n,onClick:oa(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:oa(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:oa(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||EC.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});dw.displayName=lw;var fw=y.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=$C(lw,n),s=zC(n),c=y.useRef(null),l=br(t,c),[u,d]=y.useState(!1),[f,p]=y.useState(``);return y.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,x.jsx)(NC.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,x.jsx)(TC,{asChild:!0,...s,focusable:!r,children:(0,x.jsx)(Fr.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:oa(e.onPointerMove,Gw(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:oa(e.onPointerLeave,Gw(e=>o.onItemLeave(e))),onFocus:oa(e.onFocus,()=>d(!0)),onBlur:oa(e.onBlur,()=>d(!1))})})})}),pw=`MenuCheckboxItem`,mw=y.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,x.jsx)(Sw,{scope:e.__scopeMenu,checked:n,children:(0,x.jsx)(dw,{role:`menuitemcheckbox`,"aria-checked":Rw(n)?`mixed`:n,...i,ref:t,"data-state":zw(n),onSelect:oa(i.onSelect,()=>r?.(Rw(n)?!0:!n),{checkForDefaultPrevented:!1})})})});mw.displayName=pw;var hw=`MenuRadioGroup`,[gw,_w]=IC(hw,{value:void 0,onValueChange:()=>{}}),vw=y.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=_a(r);return(0,x.jsx)(gw,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,x.jsx)(ow,{...i,ref:t})})});vw.displayName=hw;var yw=`MenuRadioItem`,bw=y.forwardRef((e,t)=>{let{value:n,...r}=e,i=_w(yw,e.__scopeMenu),a=n===i.value;return(0,x.jsx)(Sw,{scope:e.__scopeMenu,checked:a,children:(0,x.jsx)(dw,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":zw(a),onSelect:oa(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});bw.displayName=yw;var xw=`MenuItemIndicator`,[Sw,Cw]=IC(xw,{checked:!1}),ww=y.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Cw(xw,n);return(0,x.jsx)(Qa,{present:r||Rw(a.checked)||a.checked===!0,children:(0,x.jsx)(Fr.span,{...i,ref:t,"data-state":zw(a.checked)})})});ww.displayName=xw;var Tw=`MenuSeparator`,Ew=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,x.jsx)(Fr.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Ew.displayName=Tw;var Dw=`MenuArrow`,Ow=y.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=RC(n);return(0,x.jsx)(Rd,{...i,...r,ref:t})});Ow.displayName=Dw;var kw=`MenuSub`,[Aw,jw]=IC(kw),Mw=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=VC(kw,t),o=RC(t),[s,c]=y.useState(null),[l,u]=y.useState(null),d=_a(i);return y.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,x.jsx)(Fd,{...o,children:(0,x.jsx)(BC,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,x.jsx)(Aw,{scope:t,contentId:fa(),triggerId:fa(),trigger:s,onTriggerChange:c,children:n})})})};Mw.displayName=kw;var Nw=`MenuSubTrigger`,Pw=y.forwardRef((e,t)=>{let n=VC(Nw,e.__scopeMenu),r=UC(Nw,e.__scopeMenu),i=jw(Nw,e.__scopeMenu),a=$C(Nw,e.__scopeMenu),o=y.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=y.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return y.useEffect(()=>u,[u]),y.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,x.jsx)(KC,{asChild:!0,...l,children:(0,x.jsx)(fw,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":n.open?i.contentId:void 0,"data-state":Lw(n.open),...e,ref:yr(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:oa(e.onPointerMove,Gw(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:oa(e.onPointerLeave,Gw(e=>{u();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:oa(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||AC[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});Pw.displayName=Nw;var Fw=`MenuSubContent`,Iw=y.forwardRef((e,t)=>{let n=YC(ZC,e.__scopeMenu),{forceMount:r=n.forceMount,align:i=`start`,...a}=e,o=VC(ZC,e.__scopeMenu),s=UC(ZC,e.__scopeMenu),c=jw(Fw,e.__scopeMenu),l=y.useRef(null),u=br(t,l);return(0,x.jsx)(NC.Provider,{scope:e.__scopeMenu,children:(0,x.jsx)(Qa,{present:r||o.open,children:(0,x.jsx)(NC.Slot,{scope:e.__scopeMenu,children:(0,x.jsx)(iw,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:u,align:i,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:oa(e.onFocusOutside,e=>{e.target!==c.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:oa(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:oa(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=jC[s.dir].includes(e.key);t&&n&&(o.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});Iw.displayName=Fw;function Lw(e){return e?`open`:`closed`}function Rw(e){return e===`indeterminate`}function zw(e){return Rw(e)?`indeterminate`:e?`checked`:`unchecked`}function Bw(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Vw(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Hw(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=Vw(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}function Uw(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],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Ww(e,t){return t?Uw({x:e.clientX,y:e.clientY},t):!1}function Gw(e){return t=>t.pointerType===`mouse`?e(t):void 0}var Kw=WC,qw=KC,Jw=XC,Yw=ew,Xw=ow,Zw=cw,Qw=dw,$w=mw,eT=vw,tT=bw,nT=ww,rT=Ew,iT=Ow,aT=Pw,oT=Iw,sT=`DropdownMenu`,[cT,lT]=sa(sT,[LC]),uT=LC(),[dT,fT]=cT(sT),pT=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=uT(t),l=y.useRef(null),[u,d]=ma({prop:i,defaultProp:a??!1,onChange:o,caller:sT});return(0,x.jsx)(dT,{scope:t,triggerId:fa(),triggerRef:l,contentId:fa(),open:u,onOpenChange:d,onOpenToggle:y.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,x.jsx)(Kw,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};pT.displayName=sT;var mT=`DropdownMenuTrigger`,hT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=fT(mT,n),o=uT(n);return(0,x.jsx)(qw,{asChild:!0,...o,children:(0,x.jsx)(Fr.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:yr(t,a.triggerRef),onPointerDown:oa(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:oa(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});hT.displayName=mT;var gT=`DropdownMenuPortal`,_T=e=>{let{__scopeDropdownMenu:t,...n}=e,r=uT(t);return(0,x.jsx)(Jw,{...r,...n})};_T.displayName=gT;var vT=`DropdownMenuContent`,yT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=fT(vT,n),a=uT(n),o=y.useRef(!1);return(0,x.jsx)(Yw,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:oa(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:oa(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});yT.displayName=vT;var bT=`DropdownMenuGroup`,xT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(Xw,{...i,...r,ref:t})});xT.displayName=bT;var ST=`DropdownMenuLabel`,CT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(Zw,{...i,...r,ref:t})});CT.displayName=ST;var wT=`DropdownMenuItem`,TT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(Qw,{...i,...r,ref:t})});TT.displayName=wT;var ET=`DropdownMenuCheckboxItem`,DT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)($w,{...i,...r,ref:t})});DT.displayName=ET;var OT=`DropdownMenuRadioGroup`,kT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(eT,{...i,...r,ref:t})});kT.displayName=OT;var AT=`DropdownMenuRadioItem`,jT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(tT,{...i,...r,ref:t})});jT.displayName=AT;var MT=`DropdownMenuItemIndicator`,NT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(nT,{...i,...r,ref:t})});NT.displayName=MT;var PT=`DropdownMenuSeparator`,FT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(rT,{...i,...r,ref:t})});FT.displayName=PT;var IT=`DropdownMenuArrow`,LT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(iT,{...i,...r,ref:t})});LT.displayName=IT;var RT=`DropdownMenuSubTrigger`,zT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(aT,{...i,...r,ref:t})});zT.displayName=RT;var BT=`DropdownMenuSubContent`,VT=y.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=uT(n);return(0,x.jsx)(oT,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});VT.displayName=BT;var HT=pT,UT=hT,WT=_T,GT=yT,KT=TT,qT=HT,JT=UT,YT=y.forwardRef(({className:e,sideOffset:t=6,...n},r)=>(0,x.jsx)(WT,{children:(0,x.jsx)(GT,{ref:r,sideOffset:t,className:K(`wf-floating-menu z-50 min-w-[10rem] overflow-hidden p-1 text-popover-foreground`,e),...n})}));YT.displayName=GT.displayName;var XT=y.forwardRef(({className:e,...t},n)=>(0,x.jsx)(KT,{ref:n,className:K(`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...t}));XT.displayName=KT.displayName;function ZT({checked:e,children:t,...n}){return(0,x.jsxs)(XT,{...n,children:[(0,x.jsx)(G,{className:K(`size-3.5 shrink-0`,e?`opacity-100`:`opacity-0`),"aria-hidden":`true`}),t]})}function QT({id:e,value:t,onValueChange:n,options:r,disabled:i,placeholder:a=`Select…`,className:o}){let s=r.find(e=>e.value===t);return(0,x.jsxs)(qT,{children:[(0,x.jsxs)(`div`,{className:K(`wf-dialog-select`,o),children:[(0,x.jsx)(JT,{asChild:!0,disabled:i,children:(0,x.jsx)(`button`,{id:e,type:`button`,className:`wf-dialog-select__control wf-dialog-select__trigger`,disabled:i,"aria-haspopup":`listbox`,"aria-expanded":void 0,children:(0,x.jsx)(`span`,{className:`wf-dialog-select__value`,children:s?.label??a})})}),(0,x.jsx)(me,{className:`wf-dialog-select__chevron`,"aria-hidden":`true`})]}),(0,x.jsx)(YT,{className:`wf-dialog-select__menu wf-scroll wf-scroll--vertical`,align:`start`,sideOffset:4,children:r.map(e=>(0,x.jsx)(ZT,{checked:e.value===t,className:K(`wf-dialog-select__item`,e.value===t&&`is-selected`),onSelect:()=>n(e.value),children:(0,x.jsxs)(`div`,{className:`wf-dialog-select__item-copy`,children:[(0,x.jsx)(`span`,{className:`wf-dialog-select__item-label`,children:e.label}),e.description?(0,x.jsx)(`span`,{className:`wf-dialog-select__item-hint`,children:e.description}):null]})},e.value||`__empty`))})]})}var $T=`__section`;function eE({open:e,onClose:t,title:n,sectionLabel:r,summary:i,titleId:a=`wf-settings-sheet-title`,tabs:o,activeTab:s,onTabChange:c,footer:l,actions:u,loading:d=!1,contentFill:f=!1,sheetClassName:p,children:m}){let h=n||`Settings`,g=!o?.length,_=(0,y.useMemo)(()=>o?.length?o:[{id:$T,label:r?.trim()||h}],[r,h,o]),v=s??_[0]?.id,b=(0,y.useRef)(null),S=XS(),C=_.find(e=>e.id===v)?.label||h;(0,y.useEffect)(()=>{e&&b.current?.scrollTo({top:0,left:0})},[v,e]);let w=(0,x.jsx)(`nav`,{className:`wf-settings-shell__nav-track`,role:`tablist`,"aria-label":`Settings sections`,children:_.map(e=>g?(0,x.jsx)(`span`,{role:`tab`,"aria-selected":!0,className:`wf-settings-shell__nav-btn wf-settings-shell__nav-btn--solo`,children:e.label},e.id):(0,x.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":v===e.id,className:`wf-settings-shell__nav-btn`,onClick:()=>c?.(e.id),children:e.label},e.id))});return(0,x.jsx)(tc,{open:e,onOpenChange:e=>{e||t()},children:(0,x.jsxs)(ic,{showClose:!0,className:K(`wf-dialog-content--settings-shell`,S&&`wf-dialog-content--settings-shell-mobile`,f&&`wf-dialog-content--settings-fill`,p),children:[(0,x.jsxs)(`aside`,{className:`wf-settings-shell__rail`,children:[(0,x.jsx)(`div`,{className:`wf-settings-shell__rail-head`,children:(0,x.jsx)(`h2`,{className:`wf-settings-shell__rail-title`,children:h})}),S?(0,x.jsx)(`div`,{className:`wf-settings-shell__nav wf-settings-shell__nav--mobile`,children:w}):(0,x.jsx)(Zc,{axis:`vertical`,inset:`rail`,className:`wf-settings-shell__nav`,children:w}),!S&&l?(0,x.jsx)(`div`,{className:`wf-settings-shell__rail-footer`,children:l}):null]}),(0,x.jsxs)(`div`,{className:`wf-settings-shell__main`,children:[(0,x.jsx)(`header`,{className:`wf-settings-shell__header`,children:(0,x.jsxs)(`div`,{children:[(0,x.jsx)(sc,{id:a,children:C}),i?(0,x.jsx)(cc,{children:i}):null]})}),(0,x.jsx)(Zc,{ref:b,axis:`vertical`,className:K(`wf-settings-shell__scroll`,f&&`wf-settings-shell__scroll--fill`),children:(0,x.jsx)(`div`,{className:K(`wf-settings-shell__body`,f&&`wf-settings-shell__body--fill`),children:m})}),S?u||l?(0,x.jsxs)(`div`,{className:`wf-settings-shell__footer-bar`,children:[l?(0,x.jsx)(`div`,{className:`wf-settings-shell__footer-bar-start`,children:l}):null,u?(0,x.jsx)(`div`,{className:`wf-settings-shell__footer-bar-end`,children:u}):null]}):null:u?(0,x.jsx)(`div`,{className:`wf-settings-shell__actions`,children:u}):null,d?(0,x.jsx)(`div`,{className:`wf-settings-shell__load-footer`,role:`status`,"aria-live":`polite`,"aria-busy":`true`,"aria-label":`Loading settings`,children:(0,x.jsx)(`div`,{className:`wf-settings-shell__load-track`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,children:(0,x.jsx)(`div`,{className:`wf-settings-shell__load-bar`})})}):null]})]})})}function tE({children:e,className:t}){return(0,x.jsx)(`div`,{className:K(`wf-wizard-form-actions`,t),children:e})}function nE({open:e,onOpenChange:t,workspaceId:n,workspaceName:r,onInvited:i}){let[a,o]=(0,y.useState)(``),[s,c]=(0,y.useState)(`member`),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(``),_=()=>{o(``),c(`member`),f(``),m(``),g(``)},v=()=>{t(!1),_()},b=async()=>{if(!a.trim()){f(`Email is required`);return}u(!0),f(``),m(`Creating invite…`);try{let e=await Y.createWorkspaceInvite(n,{email:a.trim(),role:s});g(e.invite_url??``),m(e.email_sent?`Invite sent to ${e.email}.`:`Invite created for ${e.email}, but email delivery was not confirmed.`),o(``),i?.()}catch(e){m(``),f(e instanceof Error?e.message:`Failed to create invite`)}finally{u(!1)}};return(0,x.jsx)(eE,{open:e,onClose:v,title:`Invite teammate`,sectionLabel:`Invite details`,summary:`Invite to ${r}`,titleId:`wf-invite-member-title`,sheetClassName:`wf-dialog-content--settings-compact`,actions:(0,x.jsxs)(tE,{children:[(0,x.jsx)(Dc,{onClick:v,disabled:l,children:`Close`}),(0,x.jsx)(Oc,{onClick:()=>void b(),disabled:l||!n||!a.trim(),children:l?`Sending…`:`Send invite`})]}),children:(0,x.jsxs)(Gc,{error:d,status:p,children:[(0,x.jsx)(tC,{label:`Email`,htmlFor:`wf-invite-email`,hint:`They sign in with a verification code and accept the invite.`,children:(0,x.jsx)(_r,{id:`wf-invite-email`,className:`wf-dialog-input`,type:`email`,value:a,onChange:e=>o(e.target.value),placeholder:`teammate@example.com`,autoComplete:`email`,disabled:l})}),(0,x.jsx)(tC,{label:`Role`,htmlFor:`wf-invite-role`,children:(0,x.jsx)(QT,{id:`wf-invite-role`,value:s,onValueChange:e=>c(e),disabled:l,options:[{value:`member`,label:`Member`},{value:`viewer`,label:`Viewer`},{value:`editor`,label:`Editor`},{value:`admin`,label:`Admin`}]})}),h?(0,x.jsx)(tC,{label:`Invite link`,htmlFor:`wf-invite-link`,hint:`Share this link directly if the email does not arrive.`,children:(0,x.jsx)(lm,{id:`wf-invite-link`,label:`invite link`,value:h})}):null]})})}function rE({id:e,value:t,onChange:n,disabled:r,rows:i=12,placeholder:a=`Personality and operating instructions`}){return(0,x.jsx)(tC,{label:`Operating instructions`,htmlFor:e,hint:`Layered on the system prompt — does not replace Workframe rules.`,children:(0,x.jsx)(Qc,{id:e,className:`wf-dialog-input font-mono text-sm`,value:t,onChange:e=>n(e.target.value),disabled:r,rows:i,placeholder:a})})}var iE={hermes_profile_create:`Create Hermes profile`,strip_forbidden_skills:`Install native toolset`,install_child_base:`Write agent identity`,configure_api:`Configure gateway API`,patch_run_script:`Patch gateway run script`,gateway_start:`Start gateway`,dm_room:`Open agent chat`,bootstrap_dm_lane:`Open agent chat`,room_chat_bind:`Bind chat session`,seed_user_soul:`Save instructions`,register_route:`Register in Workframe`,assign_avatar:`Assign avatar`},aE=[{id:`hermes_profile_create`,label:iE.hermes_profile_create},{id:`strip_forbidden_skills`,label:iE.strip_forbidden_skills},{id:`configure_api`,label:iE.configure_api},{id:`dm_room`,label:iE.dm_room}];function oE(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64)}function sE({open:e,onOpenChange:t,onCreated:n}){let[r,i]=(0,y.useState)(`identity`),[a,o]=(0,y.useState)(``),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(``),[_,v]=(0,y.useState)([]),[b,S]=(0,y.useState)(()=>Hp(`agent`)),[C,w]=(0,y.useState)(),[T,E]=(0,y.useState)(!1),[D,O]=(0,y.useState)(``),[k,A]=(0,y.useState)([]),j=(0,y.useMemo)(()=>oE(a),[a]);(0,y.useEffect)(()=>{if(!e)return;let t=!1;return Y.getMe().then(e=>{t||w(e?.current_workspace?.id??e?.default_workspace?.id)}).catch(()=>{t||w(void 0)}),()=>{t=!0}},[e]);let M=()=>{i(`identity`),o(``),c(``),u(``),f(``),m(``),g(``),v([]),S(Hp(`agent`)),O(``),A([])},N=()=>{t(!1),M()},P=e=>{let t=e??[];if(!t.length)return;let n=new Map(t.map(e=>[String(e.step||``),e])),r=t.map(e=>String(e.step||``)).filter(Boolean),i=aE.map(e=>e.id).filter(e=>!r.includes(e)),a=[...r,...i.filter(e=>n.has(e))];A((a.length?a:aE.map(e=>e.id)).map(e=>{let t=n.get(e),r=iE[e]??e.replace(/_/g,` `);return t?t.ok===!1?{id:e,label:r,status:`error`,detail:String(t.error||`Failed`)}:{id:e,label:r,status:`done`}:{id:e,label:r,status:`pending`}}))},F=async e=>{let r=e.room;if(e.room_id&&(b||s.trim()||d.trim()))try{r=(await Y.patchRoom(e.room_id,{...b?{avatar_url:b}:{},...s.trim()?{name:s.trim()}:{},...d.trim()?{topic:d.trim()}:{}})).room}catch(e){throw Error(xi(e,`Save agent room`))}await new Promise(e=>window.setTimeout(e,400)),n?.({...e,room:r}),t(!1),M()},I=async()=>{if(!j){O(`Profile slug is required`),i(`identity`);return}if(!C){O(`Workframe not loaded — close this dialog and try again.`);return}if(!h.trim()){O(`Choose a provider and model before creating this agent.`),i(`model`);return}E(!0),O(``),A(aE.map((e,t)=>({...e,status:t===0?`active`:`pending`})));try{let e=b?Yp(b):null,t=await Y.createHermesProfile({name:j,description:l.trim()||void 0,display_name:s.trim()||void 0,role:l.trim()||void 0,tagline:d.trim()||void 0,soul:p.trim()||void 0,model:h.trim(),workspace_id:C,...e??{}});if(P(t.steps),!t.ok){let e=t.steps?.find(e=>e.ok===!1);throw Error(e?.error||`Workframe could not finish creating this agent.`)}let n=t.runtime_profile||t.profile;if(_.length&&n)try{await xh(_.map(e=>({provider:e.provider,model:e.model})),n)}catch(e){throw Error(xi(e,`Save agent fallbacks`))}await F({profile:n,room_id:t.room_id,room:t.room})}catch(e){O(xi(e,`Create agent`))}finally{E(!1)}};return(0,x.jsx)(eE,{open:e,onClose:N,title:`Create agent`,summary:j?`Profile slug: ${j}`:`New Hermes specialist`,titleId:`wf-create-agent-title`,sheetClassName:`wf-dialog-content--settings-compact`,tabs:[{id:`identity`,label:`Identity & Bio`},{id:`instructions`,label:`Instructions`},{id:`model`,label:`LLM models`}],activeTab:r,onTabChange:e=>i(e),actions:(0,x.jsxs)(tE,{children:[(0,x.jsx)(Dc,{onClick:N,disabled:T,children:`Cancel`}),(0,x.jsx)(Oc,{onClick:()=>void I(),disabled:T||!j||!h.trim(),children:T?`Creating…`:`Create agent`})]}),children:(0,x.jsxs)(`div`,{className:`space-y-4`,children:[T?(0,x.jsx)(Tc,{steps:k,title:`Creating agent…`}):null,r===`identity`?(0,x.jsxs)(Gc,{error:D,children:[(0,x.jsx)(tC,{label:`Profile slug`,htmlFor:`wf-create-agent-slug`,hint:j?(0,x.jsxs)(x.Fragment,{children:[`Will create `,(0,x.jsx)(`code`,{className:`wf-dialog__code`,children:j})]}):`Lowercase id for the Hermes profile folder.`,children:(0,x.jsx)(_r,{id:`wf-create-agent-slug`,className:`wf-dialog-input`,value:a,onChange:e=>o(e.target.value),placeholder:`my-specialist`,disabled:T})}),(0,x.jsx)(tC,{label:`Role`,htmlFor:`wf-create-agent-role`,hint:`What this agent specializes in.`,children:(0,x.jsx)(_r,{id:`wf-create-agent-role`,className:`wf-dialog-input`,value:l,onChange:e=>u(e.target.value),placeholder:`Implementation, research, docs…`,disabled:T})}),(0,x.jsx)(om,{avatarKind:`agent`,avatarUrl:b,onAvatarChange:S,disabled:T,primary:{id:`wf-create-agent-display-name`,label:`Display name`,value:s,onChange:c},secondary:{id:`wf-create-agent-tagline`,label:`Tagline`,value:d,onChange:f}})]}):r===`instructions`?(0,x.jsx)(Gc,{error:D,children:(0,x.jsx)(rE,{id:`wf-create-agent-soul`,value:p,onChange:m,disabled:T})}):(0,x.jsx)(Gc,{error:D,bare:!0,children:(0,x.jsx)(rg,{workspaceId:C,embedded:!0,draftOnly:!0,value:h,onChanged:g,onFallbacksDraftChange:v,onError:O})})]})})}var cE=[{id:`validate`,label:`Validate project details`},{id:`create_room`,label:`Create channel`},{id:`assign_logo`,label:`Apply project logo`}];function lE(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)}function uE({open:e,onOpenChange:t,workspaceId:n,onCreated:r}){let[i,a]=(0,y.useState)(``),[o,s]=(0,y.useState)(``),[c,l]=(0,y.useState)(()=>Hp(`logo`)||Wp),[u,d]=(0,y.useState)(!1),[f,p]=(0,y.useState)(``),[m,h]=(0,y.useState)([]),g=()=>{a(``),s(``),l(Hp(`logo`)||Wp),p(``),h([])},_=()=>{t(!1),g()},v=async()=>{let e=i.trim();if(!e){p(`Project name is required`);return}if(!n){p(`Workframe not loaded`);return}d(!0),p(``),h(cE.map((e,t)=>({...e,status:t===0?`active`:`pending`})));try{await new Promise(e=>window.setTimeout(e,200)),h(e=>e.map((e,t)=>({...e,status:t===0?`done`:t===1?`active`:`pending`})));let i=c?em(c):null;await Y.createWorkspaceRoom(n,{name:e,slug:lE(e),topic:o.trim()||void 0,room_type:`channel`,...i??{}}),h(e=>e.map(e=>({...e,status:`done`}))),await new Promise(e=>window.setTimeout(e,350)),g(),r?.(),t(!1)}catch(e){h(t=>t.map((n,r)=>n.status===`active`||r===t.length-1&&n.status!==`done`?{...n,status:`error`,detail:e instanceof Error?e.message:`Failed`}:n)),p(e instanceof Error?e.message:`Failed to create project`)}finally{d(!1)}};return(0,x.jsx)(eE,{open:e,onClose:_,title:`Create project`,sectionLabel:`Project details`,summary:`Add a project channel to this workframe.`,titleId:`wf-create-project-title`,sheetClassName:`wf-dialog-content--settings-compact`,actions:(0,x.jsxs)(tE,{children:[(0,x.jsx)(Dc,{onClick:_,disabled:u,children:`Cancel`}),(0,x.jsx)(Oc,{onClick:()=>void v(),disabled:u||!n||!i.trim(),children:u?`Creating…`:`Create project`})]}),children:(0,x.jsxs)(`div`,{className:`space-y-4`,children:[u?(0,x.jsx)(Tc,{steps:m,title:`Creating project…`}):null,(0,x.jsxs)(Gc,{error:f,children:[(0,x.jsx)(om,{avatarKind:`logo`,avatarLabel:`Logo`,avatarUrl:c,onAvatarChange:l,disabled:u,primary:{id:`wf-create-project-name`,label:`Name`,value:i,onChange:a},secondary:{id:`wf-create-project-topic`,label:`Topic`,value:o,onChange:s}}),(0,x.jsx)(`p`,{className:`wf-dialog-field__hint m-0`,children:`Optional short description.`})]})]})})}function dE(e,t,n){if(!n)return;let r=document.head.querySelector(`meta[${e}="${t}"]`);r||(r=document.createElement(`meta`),r.setAttribute(e,t),document.head.appendChild(r)),r.content=n}function fE(e,t,n){if(!t)return;let r=document.head.querySelector(`link[rel="${e}"]`);r||(r=document.createElement(`link`),r.rel=e,document.head.appendChild(r)),r.href=t,n&&(r.type=n)}function pE(e){document.title=e.title||`Workframe`,dE(`name`,`description`,e.description),dE(`name`,`theme-color`,e.theme_color),dE(`property`,`og:type`,`website`),dE(`property`,`og:site_name`,e.title),dE(`property`,`og:title`,e.title),dE(`property`,`og:description`,e.description),dE(`property`,`og:url`,e.canonical_url),dE(`property`,`og:image`,e.og_image),dE(`name`,`twitter:card`,`summary_large_image`),dE(`name`,`twitter:title`,e.title),dE(`name`,`twitter:description`,e.description),dE(`name`,`twitter:image`,e.og_image),fE(`icon`,e.favicon),fE(`apple-touch-icon`,e.apple_touch_icon||`/apple-touch-icon.png`),fE(`manifest`,e.manifest_url||`/manifest.webmanifest`)}async function mE(){try{let e=await fetch(`/api/public/site-meta`,{credentials:`same-origin`});return e.ok?await e.json():null}catch{return null}}async function hE(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error??Error(`read_failed`)),r.readAsDataURL(e)})}function gE({disabled:e,onStatus:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(``),[o,s]=(0,y.useState)(``),[c,l]=(0,y.useState)(`#0A0A0F`),[u,d]=(0,y.useState)(!1),[f,p]=(0,y.useState)(!1);(0,y.useEffect)(()=>{Y.getInstallStack().then(e=>{let t=e.site_branding;t?.title&&a(t.title),t?.description&&s(t.description),t?.theme_color&&l(t.theme_color),d(!!t?.has_og_image),p(!!t?.has_favicon)}).catch(()=>{})},[]);let m=(0,y.useCallback)(async()=>{r(null);try{await Y.patchInstallStack({site_branding:{title:i.trim(),description:o.trim(),theme_color:c.trim()}}),t?.(`Web presence settings saved.`);let e=await mE();return e?.ok&&pE(e),!0}catch(e){return r(xi(e,`Save web presence`)),!1}},[o,t,c,i]),h=async(n,i)=>{if(!(!i||e)){r(null);try{let e=await hE(i),a=await Y.uploadSiteBrandingAsset({kind:n,data_base64:e});if(!a.ok){r(a.error||`Upload failed for ${n}`);return}n===`og`&&d(!0),n===`favicon`&&p(!0),t?.(n===`og`?`OG image uploaded.`:`Favicon uploaded.`);let o=await mE();o?.ok&&pE(o),await m()}catch(e){r(xi(e,`Upload branding asset`))}}};return(0,x.jsxs)(`div`,{className:`wf-onboarding-form space-y-4`,children:[n?(0,x.jsx)(Cm,{children:n}):null,(0,x.jsx)(`p`,{className:`wf-wizard-section__hint m-0`,children:`Link previews, mobile home-screen install, and browser tab branding. Leave title and description blank to use your workframe name and mission from above.`}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`Public title override`,htmlFor:`wf-site-title`,children:(0,x.jsx)(_r,{id:`wf-site-title`,value:i,onChange:e=>a(e.target.value),placeholder:`Defaults to workframe name`,disabled:e})}),(0,x.jsx)(hm,{label:`Theme color`,htmlFor:`wf-site-theme`,children:(0,x.jsx)(_r,{id:`wf-site-theme`,value:c,onChange:e=>l(e.target.value),placeholder:`#0A0A0F`,disabled:e})})]}),(0,x.jsx)(hm,{label:`Public description override`,htmlFor:`wf-site-description`,fullWidth:!0,children:(0,x.jsx)(_r,{id:`wf-site-description`,value:o,onChange:e=>s(e.target.value),placeholder:`Defaults to mission statement`,disabled:e})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__grid`,children:[(0,x.jsx)(hm,{label:`OG / share image`,htmlFor:`wf-site-og`,hint:u?`Custom image uploaded.`:`Uses workframe logo or default until you upload (1200×630 recommended).`,children:(0,x.jsx)(_r,{id:`wf-site-og`,type:`file`,accept:`image/png,image/jpeg,image/webp`,disabled:e,onChange:e=>void h(`og`,e.target.files?.[0]??null)})}),(0,x.jsx)(hm,{label:`Favicon`,htmlFor:`wf-site-favicon`,hint:f?`Custom favicon uploaded.`:`Defaults to Workframe favicon.`,children:(0,x.jsx)(_r,{id:`wf-site-favicon`,type:`file`,accept:`image/png,image/svg+xml,image/x-icon`,disabled:e,onChange:e=>void h(`favicon`,e.target.files?.[0]??null)})})]}),(0,x.jsx)(`div`,{className:`flex justify-end`,children:(0,x.jsx)(q,{type:`button`,tone:`primary`,disabled:e,onClick:()=>void m(),children:`Save web presence`})})]})}function _E({type:e,name:t,tagline:n,avatarUrl:r,onClick:i,className:a,asAgent:o=!1}){let s=!!i;return(0,x.jsxs)(`button`,{type:`button`,onClick:i,disabled:!s,className:K(`wf-profile-entity-card`,s&&`wf-profile-entity-card--interactive`,a),children:[(0,x.jsx)(`span`,{className:`wf-profile-entity-card__avatar`,"aria-hidden":`true`,children:r?(0,x.jsx)(`img`,{src:r,alt:``,className:`wf-profile-entity-card__avatar-img`}):o?(0,x.jsx)(de,{className:`wf-profile-entity-card__avatar-icon`}):(0,x.jsx)(jt,{className:`wf-profile-entity-card__avatar-icon`})}),(0,x.jsxs)(`span`,{className:`wf-profile-entity-card__copy`,children:[(0,x.jsxs)(`span`,{className:`wf-profile-entity-card__name-row`,children:[(0,x.jsx)(`span`,{className:`wf-profile-entity-card__name`,children:t}),e?(0,x.jsx)(`span`,{className:`wf-profile-entity-card__badge`,children:e}):null]}),n?(0,x.jsx)(`span`,{className:`wf-profile-entity-card__tagline`,children:n}):null]}),s?(0,x.jsx)(he,{className:`wf-profile-entity-card__chevron`,"aria-hidden":`true`}):null]})}function vE({children:e,className:t}){return(0,x.jsx)(`div`,{className:K(`grid grid-cols-1 md:grid-cols-2 gap-3`,t),children:e})}function yE({children:e,action:t}){return(0,x.jsxs)(`div`,{className:`relative group`,children:[e,t?(0,x.jsx)(`div`,{className:`absolute right-2 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity`,children:t}):null]})}function bE({isEmpty:e,emptyMessage:t,children:n,className:r}){return e&&t?(0,x.jsx)(Tm,{children:t}):(0,x.jsx)(vE,{className:r,children:n})}function xE({name:e,tagline:t,avatarUrl:n,onClick:r}){return(0,x.jsx)(_E,{asAgent:!0,name:e,tagline:t,avatarUrl:n,onClick:r})}var SE=Op,CE=String(SE.public_base||`/assets/avatars`).replace(/\/$/,``),wE=new Map((SE.avatars??[]).map(e=>[e.id,e]));function TE(e){let t=String(e||``).trim();return t?Gp(t)||`${CE}/${wE.get(t)?.file||`${t}.png`}`:null}function EE(e){let t=TE(e.avatar_id);if(t)return t;let n=String(e.avatar_url||``).trim();if(n){let e=Jp(`agent`,n);if(e){let t=TE(e);if(t)return t}let t=n.match(/\/assets\/(?:avatars|agents|users)\/([^.]+)\.png$/i)?.[1];if(t){let e=TE(t);if(e)return e}return n}let r=String(e.key||e.profile||``).trim().toLowerCase();if(r){let e=Fh(r);if(e)return e}return e.is_native?Gp(`steve`):null}function DE(e){let t=String(e||``).trim();if(t){let e=Jp(`user`,t);if(e){let t=Vp(`user`,e);if(t)return t}return t.startsWith(`/assets/avatars/`)||t.startsWith(`/assets/users/`)||t.startsWith(`/assets/agents/`),t}return Up}function OE(e,t){let n=String(e||``).trim();if(!n)return t;let r=Jp(`logo`,n);if(r){let e=Vp(`logo`,r);if(e)return e}return n.startsWith(`/assets/project-logos/`)||n.startsWith(`/assets/logos/`),n}function kE({workspaceId:e,currentUserId:t,members:n,loading:r=!1,onChanged:i}){let{closeUserSettings:a,openAgentSettings:o}=$S(),[s,c]=(0,y.useState)([]),[l,u]=(0,y.useState)([]),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(``),[_,v]=(0,y.useState)(``),[b,S]=(0,y.useState)(!1),C=(0,y.useCallback)(async()=>{if(e){S(!0),g(``);try{let[t,n]=await Promise.all([Y.listDelegationGrants(e),Y.getMyCohort(e)]);c(t.grants??[]),u(n.cohort??[]),f(``)}catch(e){g(xi(e))}finally{S(!1)}}},[e]);(0,y.useEffect)(()=>{C()},[C]);let w=(0,y.useCallback)(e=>{let t=n.find(t=>t.user_id===e);return t?.display_name||t?.email||e},[n]),T=(0,y.useMemo)(()=>n.filter(e=>e.user_id!==t),[t,n]),E=(0,y.useMemo)(()=>T.map(e=>({value:e.user_id,label:e.display_name||e.email||e.user_id})),[T]),D=(0,y.useMemo)(()=>s.filter(e=>e.grantor_user_id===t),[t,s]),O=(0,y.useMemo)(()=>s.filter(e=>e.grantee_user_id===t),[t,s]),k=T.length>0,A=D.length>0,j=O.length>0,M=A||j,N=async()=>{if(!(!e||!d)){m(d),g(``),v(``);try{await Y.createDelegationGrant(e,d),await C(),v(`Delegation granted.`),i?.()}catch(e){g(xi(e))}finally{m(``)}}},P=async t=>{if(e){m(t),g(``),v(``);try{await Y.revokeDelegationGrant(e,t),await C(),v(`Delegation revoked.`),i?.()}catch(e){g(xi(e))}finally{m(``)}}},F=e=>{a(),o(e.runtime_slug,e.display_name)},I=r||b;return I&&!l.length&&!s.length?(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading…`}):!l.length&&!k&&!M?(0,x.jsxs)(`div`,{className:`space-y-3`,role:`tabpanel`,children:[h?(0,x.jsx)(Oi,{message:h}):null,(0,x.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Open an agent chat to bootstrap your cohort.`})]}):(0,x.jsxs)(`div`,{className:`space-y-6`,role:`tabpanel`,children:[h?(0,x.jsx)(Oi,{message:h}):null,_?(0,x.jsx)(ki,{message:_}):null,l.length?(0,x.jsxs)(`section`,{className:`wf-settings-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:`Your agents`}),(0,x.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:l.map(e=>(0,x.jsx)(xE,{name:e.display_name,tagline:e.tagline||e.role,avatarUrl:EE({avatar_url:e.avatar_url,avatar_id:e.avatar_id,profile:e.template_slug,key:e.template_slug}),onClick:()=>F(e)},e.runtime_slug))})]}):null,k?(0,x.jsxs)(`section`,{className:`wf-settings-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:`Delegate to a partner`}),(0,x.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2 max-w-md`,children:[(0,x.jsx)(QT,{id:`wf-user-delegation-grantee`,className:`flex-1`,value:d,onValueChange:f,options:E,placeholder:`Workspace member`,disabled:I||!!p}),(0,x.jsx)(q,{type:`button`,tone:`primary`,disabled:!d||!!p,onClick:()=>void N(),children:`Grant`})]})]}):null,M?(0,x.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[A?(0,x.jsxs)(`section`,{className:`wf-settings-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:`Grants you gave`}),(0,x.jsx)(`div`,{className:`space-y-2`,children:D.map(e=>(0,x.jsxs)(`div`,{className:`flex items-center justify-between gap-2 bg-card border border-border rounded-lg p-3`,children:[(0,x.jsx)(`strong`,{className:`text-sm font-medium truncate`,children:w(e.grantee_user_id)}),(0,x.jsx)(Wr,{type:`button`,variant:`outline`,size:`sm`,disabled:p===e.id,onClick:()=>void P(e.id),children:`Revoke`})]},e.id))})]}):null,j?(0,x.jsxs)(`section`,{className:`wf-settings-section`,children:[(0,x.jsx)(`h3`,{className:`wf-wizard-section__title`,children:`Grants you received`}),(0,x.jsx)(`div`,{className:`space-y-2`,children:O.map(e=>(0,x.jsx)(`div`,{className:`bg-card border border-border rounded-lg p-3`,children:(0,x.jsx)(`strong`,{className:`text-sm font-medium truncate`,children:w(e.grantor_user_id)})},e.id))})]}):null]}):null]})}var AE=/upstream service unavailable|service temporarily unavailable|failed to fetch|networkerror|load failed|http_502|http_503|\b502\b|\b503\b|request_timeout|aborted|network request failed/i;function jE(e){return[{id:`apply`,label:`Apply update`},{id:`rebuild`,label:e===`hermes`?`Rebuild Hermes gateway`:e===`workframe`?`Rebuild Workframe stack`:`Rebuild stack services`},{id:`health`,label:`Wait for stack to come back`},{id:`refresh`,label:`Reload Workframe`}]}function ME(e){return e===`hermes`?`Updating Hermes gateway`:e===`workframe`?`Updating Workframe`:`Updating stack`}function NE(e){return jE(e).map((e,t)=>({...e,status:t===0?`active`:`pending`}))}function PE(e,t,n){let r=e.findIndex(e=>e.id===t);return r<0?e:e.map((e,i)=>i<r?{...e,status:`done`}:e.id===t?{...e,status:`active`,detail:n}:{...e,status:`pending`})}function FE(e){return e.map(e=>({...e,status:`done`}))}function IE(e){let t=e instanceof Error?e.message:String(e??``);return AE.test(t)}async function LE(e){let t=e?.intervalMs??2e3,n=e?.maxWaitMs??900*1e3,r=Date.now(),i=0;for(;Date.now()-r<n;){if(e?.signal?.aborted)return!1;i+=1,e?.onPoll?.(i);try{if((await Y.getApiHealth())?.ok)return!0}catch{}await new Promise(n=>{let r=window.setTimeout(n,t);e?.signal?.addEventListener(`abort`,()=>{window.clearTimeout(r),n()},{once:!0})})}return!1}var RE=92e4;function zE(){if(typeof window>`u`)return Promise.resolve(``);let e=window.workframe;return e?.getAppVersion?e.getAppVersion().catch(()=>``):Promise.resolve(``)}function BE(e,t){return e.can_update===!0?!0:e.can_update===!1?!1:t&&e.update_available}function VE(e){return e?e===`latest`||/^v/i.test(e)?e:`v${e}`:``}function HE(e){let t=e.current?.trim();if(!t)return;let n=VE(t),r=e.latest?.trim();return e.update_available&&r&&r!==t?`${n} · latest ${VE(r)}`:n}function UE(e){for(let t of[e.agent_version,e.current]){let e=t?.trim();if(e&&/^\d+\.\d+/.test(e))return VE(e)}let t=e.image_tag?.trim();return t?VE(t):void 0}function WE({name:e,detail:t,product:n,actionLabel:r,applying:i,disabled:a,dockerOk:o,onApply:s,downloadUrl:c}){let l=BE(n,o),u=!n.update_available,d=n.update_available&&!l;return(0,x.jsxs)(`div`,{className:`wf-stack-updates__card`,children:[(0,x.jsxs)(`div`,{className:`wf-stack-updates__card-main`,children:[(0,x.jsx)(`strong`,{className:`wf-stack-updates__card-title`,children:e}),t?(0,x.jsx)(`span`,{className:`wf-stack-updates__muted`,children:t}):null,d?(0,x.jsx)(`span`,{className:`wf-stack-updates__reason`,children:n.reason||`Update from the host — one-click apply is not available here.`}):null]}),(0,x.jsx)(`div`,{className:`wf-stack-updates__card-actions`,children:u?(0,x.jsx)(`span`,{className:`wf-stack-updates__status`,children:`Up to date!`}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`span`,{className:`wf-stack-updates__status`,children:d?`Manual step`:`Update available`}),c?(0,x.jsx)(Wr,{type:`button`,size:`sm`,variant:`default`,asChild:!0,children:(0,x.jsxs)(`a`,{href:c,target:`_blank`,rel:`noreferrer`,children:[(0,x.jsx)(ye,{className:`wf-stack-updates__action-icon`,"aria-hidden":`true`}),`Download`]})}):l?(0,x.jsx)(Wr,{type:`button`,size:`sm`,variant:`default`,disabled:a,onClick:s,children:i?`Updating…`:r}):null]})})]})}function GE({onBadgeChange:e}){let[t,n]=(0,y.useState)(null),[r,i]=(0,y.useState)(!1),[a,o]=(0,y.useState)(``),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)([]),[p,m]=(0,y.useState)(``),h=(0,y.useRef)(null),g=d.length>0,_=d.some(e=>e.status===`error`),v=(0,y.useMemo)(()=>{if(!t)return 0;let e=0;return t.workframe?.update_available&&(e+=1),t.hermes?.update_available&&(e+=1),t.desktop?.update_available&&(e+=1),e},[t]),b=(0,y.useMemo)(()=>{if(!t)return!1;let e=t.update_apply_ready!==!1&&t.docker_available!==!1;return!!(t.workframe.update_available&&BE(t.workframe,e)||t.hermes.update_available&&BE(t.hermes,e))},[t]),S=t?.update_apply_ready!==!1&&t?.docker_available!==!1,C=t?.update_apply_channel;(0,y.useEffect)(()=>{e?.(v)},[e,v]),(0,y.useEffect)(()=>()=>{h.current?.abort()},[]);let w=(0,y.useCallback)(async()=>{if(!g){i(!0),c(``);try{let e=await zE();n(await Y.getAdminUpdates(e||void 0))}catch(e){c(xi(e,`Check updates`))}finally{i(!1)}}},[g]);(0,y.useEffect)(()=>{w()},[w]);let T=async e=>{h.current?.abort();let t=new AbortController;h.current=t,o(e),m(e),c(``),u(``),f(NE(e));let n=(e,t)=>{f(n=>PE(n,e,t))};try{let r=!1;try{let t=await Y.applyAdminUpdate(e,{timeoutMs:RE});if(!t.ok)throw Error(t.error||`Update failed`);r=!0}catch(e){if(!IE(e))throw e}if(n(`rebuild`,r?`Update accepted`:`Stack is restarting…`),await new Promise(e=>window.setTimeout(e,450)),n(`health`,`Waiting for stack…`),!await LE({signal:t.signal,onPoll:e=>{f(t=>PE(t,`health`,e===1?`Waiting for stack…`:`Still waiting… (${e})`))}}))throw Error(`request_timeout`);n(`refresh`),f(e=>FE(e)),await new Promise(e=>window.setTimeout(e,500)),window.location.reload()}catch(e){let t=xi(e,`Apply update`);c(t),f(e=>e.map(e=>e.status===`active`?{...e,status:`error`,detail:t}:e))}finally{o(``)}},E=S,D=!E||!!a||g;return(0,x.jsxs)(`div`,{className:`wf-stack-updates space-y-3`,role:`tabpanel`,children:[s&&(!g||_)?(0,x.jsx)(Oi,{message:s,tone:`neutral`}):null,l?(0,x.jsx)(ki,{message:l}):null,r&&!t&&!g?(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:`Checking for updates…`}):null,g?(0,x.jsx)(Tc,{steps:d,title:p?ME(p):`Updating stack`,className:`wf-stack-updates__progress`}):null,t&&!S&&!g?(0,x.jsx)(Oi,{message:t.supervisor_configured?`Stack updates are not ready — check that update scripts are installed and supervisor can reach Docker.`:`In-place updates need workframe-supervisor or Docker on the stack host.`,tone:`neutral`}):null,t&&S&&C===`supervisor`&&!g?(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:`Updates apply via the stack supervisor (runtime data and configs are preserved).`}):null,t&&!g?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(WE,{name:`Workframe`,detail:HE(t.workframe),product:t.workframe,actionLabel:`Update`,applying:a===`workframe`,disabled:D,dockerOk:E,onApply:()=>void T(`workframe`)}),(0,x.jsx)(WE,{name:`Hermes gateway`,detail:UE(t.hermes),product:t.hermes,actionLabel:`Update`,applying:a===`hermes`,disabled:D,dockerOk:E,onApply:()=>void T(`hermes`)}),t.desktop.current?(0,x.jsx)(WE,{name:`Desktop app`,detail:HE(t.desktop),product:t.desktop,actionLabel:`Download`,applying:!1,disabled:D,dockerOk:E,onApply:()=>{},downloadUrl:t.desktop.update_available&&t.desktop.download_url?t.desktop.download_url:void 0}):null,v>1&&b?(0,x.jsx)(`div`,{className:`flex justify-end pt-1`,children:(0,x.jsx)(Wr,{type:`button`,variant:`default`,disabled:D,onClick:()=>void T(`all`),children:a===`all`?`Updating…`:`Update all`})}):null]}):null]})}function KE({open:e,onClose:t,workspaceId:n,workspaceSlug:r,currentUserId:i,canManage:a,onInviteClick:o,onChanged:s}){let[c,l]=(0,y.useState)(null),[u,d]=(0,y.useState)([]),[f,p]=(0,y.useState)([]),[m,h]=(0,y.useState)(``),[g,_]=(0,y.useState)(``),[v,b]=(0,y.useState)(``),[S,C]=(0,y.useState)(``),[w,T]=(0,y.useState)(`byok`),[E,D]=(0,y.useState)(`workframe`),[O,k]=(0,y.useState)(!1),[A,j]=(0,y.useState)(``),[M,N]=(0,y.useState)(!1),[P,F]=(0,y.useState)(``),[I,L]=(0,y.useState)(``),[ee,R]=(0,y.useState)(0),te=(0,y.useRef)(null),z=(0,y.useRef)(null),B=(0,y.useRef)(null),V=(0,y.useRef)(null),ne=(0,y.useCallback)(async()=>{if(n){k(!0),F(``);try{let[e,t,r]=await Promise.all([Y.getWorkspace(n),Y.listWorkspaceMembers(n),a?Y.listWorkspaceInvites(n):Promise.resolve({invites:[]})]);l(e.workspace),d(t.members??[]),p(r.invites??[]),h(e.workspace.display_name??``),_(e.workspace.tagline??``),b(e.workspace.description??``),C(nm(e.workspace.avatar_url??``)),T(e.workspace.credential_mode===`workspace`?`workspace`:`byok`)}catch(e){F(e instanceof Error?e.message:`Could not load Workframe settings`)}finally{k(!1)}}},[a,n]);(0,y.useEffect)(()=>{e&&(D(`workframe`),F(``),L(``))},[e]),(0,y.useEffect)(()=>{e&&ne()},[ne,e]),(0,y.useEffect)(()=>{if(!e||!a){R(0);return}let t=!1;return(async()=>{try{let e=window.workframe,n=e?.getAppVersion?await e.getAppVersion().catch(()=>``):``,r=await Y.getAdminUpdates(n||void 0);if(t)return;let i=0;r.workframe?.update_available&&(i+=1),r.hermes?.update_available&&(i+=1),r.desktop?.update_available&&(i+=1),R(i)}catch{t||R(0)}})(),()=>{t=!0}},[a,e]);let re=(0,y.useMemo)(()=>f.filter(e=>!e.accepted_at),[f]),H=c?.slug||r||`workframe`,ie=(0,y.useMemo)(()=>OE(S||c?.avatar_url,Wp),[S,c?.avatar_url]),U=O||M||!a,ae=async()=>{if(n){N(!0),F(``),L(``);try{let e=S?em(S):null;l((await Y.patchWorkspace(n,{display_name:m,description:v,tagline:g,...e??{}})).workspace),L(`Workframe profile saved.`),s?.(),await ne()}catch(e){F(xi(e,`Save workframe`))}finally{N(!1)}}},W=async()=>{if(!(!a||!n)){N(!0),F(``),L(``);try{if((await Promise.all([z.current?.()??Promise.resolve(!0),te.current?.()??Promise.resolve(!0),B.current?.()??Promise.resolve(!0),V.current?.()??Promise.resolve(!0)])).some(e=>!e))return;L(`Integrations saved. Changes apply on the next agent run.`),await ne(),s?.()}catch(e){F(xi(e,`Save integrations`))}finally{N(!1)}}},oe=async()=>{if(!(!a||!n)){N(!0),F(``),L(``);try{l((await Y.patchWorkspaceIntegrations(n,{credential_mode:w})).workspace),L(w===`workspace`?`Company-funded models enabled. Agents will use shared Workframe keys.`:`BYOK enabled. Each member must connect their own model provider.`),s?.()}catch(e){F(xi(e,`Save model funding`))}finally{N(!1)}}},se=async e=>{if(!(!a||!n||e.user_id===i)){j(e.user_id),F(``),L(``);try{await Y.removeWorkspaceMember(n,e.user_id),L(`Removed ${e.display_name||e.email||e.user_id}.`),await ne(),s?.()}catch(e){F(e instanceof Error?e.message:`Could not remove member`)}finally{j(``)}}};return(0,x.jsx)(eE,{open:e,onClose:t,title:`Workframe Settings`,summary:E===`workframe`?`@${H}`:void 0,titleId:`wf-team-settings-title`,loading:O,tabs:[{id:`workframe`,label:`Identity & Bio`},{id:`members`,label:`Members`},{id:`delegation`,label:`Delegation`},...a?[{id:`funding`,label:`Model funding`},{id:`updates`,label:ee>0?`Updates (${ee})`:`Updates`},{id:`invites`,label:`Invites`},{id:`integrations`,label:`Integrations`}]:[]],activeTab:E,onTabChange:e=>{D(e),F(``),L(``)},actions:E===`workframe`&&a?(0,x.jsxs)(q,{type:`button`,tone:`primary`,onClick:()=>void ae(),disabled:U,children:[(0,x.jsx)(vt,{className:`w-4 h-4 mr-2`,"aria-hidden":`true`}),M?`Saving…`:`Save changes`]}):E===`funding`&&a?(0,x.jsxs)(q,{type:`button`,tone:`primary`,onClick:()=>void oe(),disabled:U,children:[(0,x.jsx)(vt,{className:`w-4 h-4 mr-2`,"aria-hidden":`true`}),M?`Saving…`:`Save funding`]}):null,footer:(0,x.jsxs)(`p`,{className:`wf-user-settings__hint m-0`,children:[`Workframe ID: `,n]}),children:(0,x.jsxs)(`div`,{className:`wf-workframe-settings space-y-4`,children:[E===`workframe`?(0,x.jsxs)(Gc,{error:P,status:I,children:[(0,x.jsx)(om,{avatarKind:`logo`,avatarLabel:`Logo`,avatarUrl:ie,onAvatarChange:C,disabled:U,primary:{id:`wf-workframe-name`,label:`Workframe name`,value:m,onChange:h},secondary:{id:`wf-workframe-tagline`,label:`Tagline`,value:g,onChange:_},body:{id:`wf-workframe-description`,label:`Mission`,value:v,onChange:b,rows:4,placeholder:`What this Workframe is for`}}),a?(0,x.jsx)(Am,{title:`Web presence`,hint:`Link previews, PWA install name, favicon, and theme color for this Workframe.`,children:(0,x.jsx)(gE,{disabled:U,onStatus:L})}):null,a?null:(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:`Only a Workframe admin can edit these details.`})]}):null,E===`members`?(0,x.jsxs)(`div`,{className:`space-y-4`,children:[a?(0,x.jsx)(`div`,{className:`flex items-center justify-end gap-3`,children:(0,x.jsx)(q,{type:`button`,tone:`primary`,onClick:o,children:`Invite member`})}):null,(0,x.jsx)(Gc,{error:P,status:I,bare:!0,children:(0,x.jsx)(bE,{isEmpty:!u.length,emptyMessage:`No members yet.`,children:u.map(e=>{let t=e.display_name||e.email||e.user_id,n=e.user_id===i;return(0,x.jsx)(yE,{action:a&&!n?(0,x.jsx)(Wr,{type:`button`,variant:`destructive`,size:`sm`,disabled:A===e.user_id,onClick:t=>{t.stopPropagation(),se(e)},children:`Remove`}):void 0,children:(0,x.jsx)(_E,{type:e.role||`Member`,name:t,tagline:e.tagline||e.email||e.user_id,avatarUrl:DE(e.avatar_url)||null})},e.membership_id)})})})]}):null,E===`delegation`?(0,x.jsx)(kE,{workspaceId:n,currentUserId:i,members:u,loading:O,onChanged:s}):null,E===`funding`&&a?(0,x.jsxs)(Gc,{error:P,status:I,className:`space-y-6`,children:[(0,x.jsx)(Am,{title:`Who pays for agent models?`,hint:`The model belongs to each agent. This setting only decides where the provider credential comes from.`,children:(0,x.jsxs)(`div`,{className:`wf-wizard-choice-grid`,children:[(0,x.jsxs)(`label`,{className:`wf-wizard-choice-card${w===`byok`?` is-selected`:``}`,children:[(0,x.jsx)(`input`,{type:`radio`,name:`wf-settings-credential-mode`,checked:w===`byok`,disabled:U,onChange:()=>T(`byok`)}),(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`strong`,{children:`Members bring their own keys`}),(0,x.jsx)(`small`,{children:`Each person connects providers in User Settings → Integrations.`})]})]}),(0,x.jsxs)(`label`,{className:`wf-wizard-choice-card${w===`workspace`?` is-selected`:``}`,children:[(0,x.jsx)(`input`,{type:`radio`,name:`wf-settings-credential-mode`,checked:w===`workspace`,disabled:U,onChange:()=>T(`workspace`)}),(0,x.jsxs)(`span`,{children:[(0,x.jsx)(`strong`,{children:`Company-funded shared keys`}),(0,x.jsx)(`small`,{children:`Admins connect keys once; every member's agent runs use them.`})]})]})]})}),w===`workspace`?(0,x.jsx)(Am,{title:`Shared LLM providers`,hint:`Only API-key providers can be shared. Personal OAuth accounts remain under User Settings.`,children:(0,x.jsx)(xg,{workspaceId:n,credentialScope:`workspace`,categories:[`llm`],hint:`compact`,layout:`stack`,scrollInner:!1,disabled:U,onStatus:L,onError:F,onConnected:s})}):(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:`Members manage their own LLM keys and OAuth accounts under User Settings → Integrations.`})]}):null,E===`invites`&&a?(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsx)(`div`,{className:`flex items-center justify-end gap-3`,children:(0,x.jsx)(q,{type:`button`,tone:`primary`,onClick:o,children:`Invite member`})}),(0,x.jsx)(Gc,{error:P,status:I,bare:!0,children:(0,x.jsx)(bE,{isEmpty:!re.length,emptyMessage:`No pending invites.`,children:re.map(e=>(0,x.jsx)(_E,{type:`Pending`,name:e.email,tagline:e.role||`Member`},e.id))})})]}):null,E===`updates`&&a?(0,x.jsx)(GE,{onBadgeChange:R}):null,E===`integrations`&&a?(0,x.jsxs)(`div`,{className:`space-y-4`,children:[(0,x.jsx)(`div`,{className:`flex items-center justify-end gap-3`,children:(0,x.jsxs)(q,{type:`button`,tone:`primary`,onClick:()=>void W(),disabled:U,children:[(0,x.jsx)(vt,{className:`w-4 h-4 mr-2`,"aria-hidden":`true`}),M?`Saving…`:`Save all`]})}),(0,x.jsx)(Gc,{error:P,status:I,className:`space-y-8`,children:(0,x.jsx)(Mm,{variant:`settings`,workspaceId:n,disabled:U,onBindSmtpSave:e=>{V.current=e},onBindStripeSave:e=>{z.current=e},onBindOAuthSave:e=>{te.current=e},onBindMessagingSave:e=>{B.current=e},onError:F})})]}):null]})})}var qE={discord:{label:`Discord`,blurb:`Link your Discord account for messaging identity and bot allowlists.`},telegram:{label:`Telegram`,blurb:`Link your Telegram account for messaging identity and bot allowlists.`}};function JE(e,t){return t?{text:`Linked`,linked:!0}:e?{text:`Not linked`,linked:!1}:{text:`Admin setup`,linked:!1}}function YE(e,t,n){return t?`ID ${t}`:e?n?`Not linked yet`:`Connect below to link your personal account.`:n?`Ask your admin to enable sign-in.`:`Not enabled on this Workframe yet. Ask your admin to turn it on under Workframe Settings → Integrations.`}function XE({workspaceId:e,disabled:t,onLinked:n,embedded:r=!1}){let i=(0,y.useRef)(null),[a,o]=(0,y.useState)({}),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(null),[_,v]=(0,y.useState)(null),b=(0,y.useCallback)(async()=>{try{let[e,t]=await Promise.all([Y.getMe(),Y.getInstallStack()]);o(e.user.platform_ids??{}),f(!!t.discord_oauth?.enabled),u(!!t.telegram_login?.enabled),c(t.telegram_login?.bot_username??``)}catch{}},[]);(0,y.useEffect)(()=>{b()},[b]);let S=async()=>{m(!0),g(null),v(null);try{let t=await Y.startProviderOAuth(`discord`,e);if(t.redirect_url){window.location.assign(t.redirect_url);return}if(!t.ok){g(t.message||t.error||`Could not start Discord connect`);return}v(`Discord connect started — finish authorization in the window that opened.`),await b(),n?.()}catch(e){g(xi(e,`Connect Discord`))}finally{m(!1)}};(0,y.useEffect)(()=>{if(!l||!s||!i.current)return;window.onTelegramAuth=e=>{(async()=>{m(!0),g(null);try{let t=await Y.linkTelegram(e);if(!t.ok){g(t.error||`Telegram link failed`);return}t.platform_ids&&o(t.platform_ids),v(`Telegram account linked.`),n?.(),await b()}catch(e){g(xi(e,`Link Telegram`))}finally{m(!1)}})()};let e=i.current;e.innerHTML=``;let t=document.createElement(`script`);return t.async=!0,t.src=`https://telegram.org/js/telegram-widget.js?22`,t.setAttribute(`data-telegram-login`,s.replace(/^@/,``)),t.setAttribute(`data-size`,`medium`),t.setAttribute(`data-onauth`,`onTelegramAuth(user)`),t.setAttribute(`data-request-access`,`write`),e.appendChild(t),()=>{e.innerHTML=``,delete window.onTelegramAuth}},[n,b,s,l]);let C=a.discord?.trim()??``,w=a.telegram?.trim()??``;return(0,x.jsxs)(`section`,{className:`wf-platform-identity${r?` wf-platform-identity--embedded`:``}`,children:[r?null:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`h2`,{className:`wf-wizard-section__title`,children:`Messaging identity`}),(0,x.jsx)(`p`,{className:`wf-wizard-section__hint`,children:`Personal Discord and Telegram accounts — merged into bot allowlists, not workspace bot tokens.`})]}),h?(0,x.jsx)(Oi,{message:h,tone:`caution`}):null,_?(0,x.jsx)(`p`,{className:`wf-user-settings__hint`,children:_}):null,(0,x.jsx)(`ul`,{className:`wf-sign-in-apps__list`,children:[{id:`discord`,linkedId:C,configured:d,action:d&&!C?(0,x.jsx)(q,{type:`button`,tone:`primary`,disabled:t||p,onClick:()=>void S(),children:`Connect with Discord`}):null},{id:`telegram`,linkedId:w,configured:l,action:l&&!w?(0,x.jsx)(`div`,{ref:i,className:`wf-platform-identity__telegram`}):null}].map(({id:e,linkedId:t,configured:n,action:i})=>{let a=qE[e],o=JE(n,t);return(0,x.jsxs)(`li`,{className:`wf-sign-in-app wf-platform-link${o.linked?` is-on`:``}`,children:[(0,x.jsxs)(`div`,{className:`wf-sign-in-app__head`,children:[(0,x.jsx)(`div`,{className:`wf-sign-in-app__icon`,"aria-hidden":`true`,children:(0,x.jsx)(xm,{id:e})}),(0,x.jsxs)(`div`,{className:`wf-sign-in-app__copy`,children:[(0,x.jsxs)(`div`,{className:`wf-sign-in-app__title-row`,children:[(0,x.jsx)(`strong`,{children:a.label}),(0,x.jsx)(`span`,{className:`wf-sign-in-app__state${o.linked?` is-on`:``}`,children:o.text})]}),(0,x.jsx)(`p`,{className:`wf-sign-in-app__desc`,children:YE(n,t,r)||a.blurb})]})]}),i?(0,x.jsx)(`div`,{className:`wf-sign-in-app__body`,children:i}):null]},e)})})]})}function ZE(){let{theme:e,setTheme:t}=dc(),[n,r]=(0,y.useState)(``);function i(e){t(e),r(``),Y.updateMe({theme:e}).catch(e=>{r(e instanceof Error?e.message:`Could not save your theme.`)})}return(0,x.jsxs)(x.Fragment,{children:[n?(0,x.jsx)(Oi,{message:n,className:`wf-notice--wizard`}):null,(0,x.jsx)(og,{value:e,onChange:i})]})}function QE({open:e,onOpenChange:t,initialTab:n=`profile`,initialConnectTab:r=`providers`}){let{onLogout:i}=$S(),[a,o]=(0,y.useState)(`profile`),[s,c]=(0,y.useState)(`providers`),[l,u]=(0,y.useState)(null),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(!1),[_,v]=(0,y.useState)(``),[b,S]=(0,y.useState)(``),[C,w]=(0,y.useState)(``),[T,E]=(0,y.useState)(``),[D,O]=(0,y.useState)(``),[k,A]=(0,y.useState)(``),[j,M]=(0,y.useState)([]);(0,y.useEffect)(()=>{e&&(o(n),n===`connect`&&c(r===`messaging`?`messaging`:`providers`),v(``),S(``))},[e,n,r]),(0,y.useEffect)(()=>{if(!e)return;let t=!1;async function n(){f(!0),v(``);try{let e=await Y.getMe();if(t)return;u(e),w(e.user.display_name??``),E(tm(e.user.avatar_url??``)),O(e.user.tagline??``),A(e.user.bio??``);let n=e.current_workspace?.id??e.default_workspace?.id??``;if(n)try{let e=await Y.listWorkspaceMembers(n);t||M(e.members??[])}catch{t||M([])}else t||M([])}catch(e){t||v(xi(e,`Load profile`))}finally{t||f(!1)}}return n(),()=>{t=!0}},[e]);let N=(0,y.useMemo)(()=>l&&l.user.email?.trim()||``,[l]),P=(0,y.useMemo)(()=>T||DE(l?.user.avatar_url),[T,l?.user.avatar_url]),F=d||p,I=async()=>{v(``),m(!0),S(`Saving profile…`);try{let e=T?$p(T):null,t=await Y.updateMe({display_name:C,...e??{},tagline:D,bio:k});u(t),E(tm(t.user.avatar_url??T)),S(`Profile saved. Your identity updates are live.`)}catch(e){S(``),v(xi(e,`Save profile`))}finally{m(!1)}},L=async()=>{if(!(!i||h)){g(!0);try{await i()}finally{g(!1)}}};return(0,x.jsx)(eE,{open:e,onClose:()=>t(!1),title:`Settings`,summary:N||void 0,titleId:`wf-user-profile-title`,loading:d,contentFill:!1,tabs:[{id:`profile`,label:`Identity & Bio`},{id:`connect`,label:`Connected Accounts`},{id:`agents`,label:`My Agents`},{id:`appearance`,label:`Appearance`}],activeTab:a,onTabChange:e=>o(e),actions:a===`profile`?(0,x.jsxs)(q,{type:`button`,tone:`primary`,onClick:()=>void I(),disabled:F,children:[(0,x.jsx)(vt,{className:`w-4 h-4 mr-2`,"aria-hidden":`true`}),p?`Saving…`:`Save changes`]}):null,footer:i?(0,x.jsxs)(q,{type:`button`,className:`w-full justify-start gap-2`,disabled:h,onClick:()=>void L(),children:[(0,x.jsx)(Xe,{className:`w-4 h-4`,"aria-hidden":`true`}),h?`Signing out…`:`Log out`]}):null,children:(0,x.jsx)(`div`,{className:`space-y-6`,children:a===`profile`?(0,x.jsx)(Gc,{error:_,status:b,children:(0,x.jsx)(om,{avatarKind:`user`,avatarUrl:P,onAvatarChange:E,disabled:F,primary:{id:`wf-settings-profile-name`,label:`Display name`,value:C,onChange:w},secondary:{id:`wf-settings-profile-tag`,label:`Tagline`,value:D,onChange:O},body:{id:`wf-settings-profile-bio`,label:`About you`,value:k,onChange:A,rows:3}})}):a===`connect`?(0,x.jsxs)(Gc,{error:_,status:b,tabs:[{id:`providers`,label:`Integrations`},{id:`messaging`,label:`Linked accounts`}],activeTab:s,onTabChange:e=>c(e),tablistLabel:`Model keys sections`,children:[s===`providers`?(0,x.jsx)(xg,{disabled:d,workspaceId:l?.current_workspace?.id??l?.default_workspace?.id,credentialScope:`user`,categories:[`llm`,`dev`,`search`],hint:`none`,layout:`stack`,deviceOAuthPresentation:`inline`,onError:e=>{v(e),S(``)},onStatus:e=>{v(``),S(e)},onConnected:()=>{S(`Provider connected. Choose a model per agent in Agent Settings.`)}}):null,s===`messaging`?(0,x.jsx)(XE,{embedded:!0,workspaceId:l?.current_workspace?.id??l?.default_workspace?.id,disabled:d,onLinked:()=>S(`Account linked.`)}):null]}):a===`agents`?(0,x.jsx)(Gc,{error:_,status:b,children:(0,x.jsx)(kE,{workspaceId:l?.current_workspace?.id??l?.default_workspace?.id??``,currentUserId:l?.user.user_id??``,members:j,loading:d})}):(0,x.jsx)(Gc,{children:(0,x.jsx)(ZE,{})})})})}function $E(e){return e.split(/\s+/).map(e=>e[0]).join(``).slice(0,2).toUpperCase()}function eD(e){return{...e,avatarUrl:EE(e)}}function tD(e){return eD(e)}function nD(e,t){let n=t.toLowerCase(),r=e.find(e=>e.profile.toLowerCase()===n||e.key.toLowerCase()===n||e.display_name.toLowerCase()===n);if(r)return r;if(!n.match(/^u-[a-z0-9][a-z0-9-]{0,62}$/))return;let i=n.slice(2);return e.find(e=>{let t=e.profile.toLowerCase();return i===t||i.endsWith(`-${t}`)})}function rD(e){return $E(e)}var iD={xs:`wf-avatar wf-avatar--xs`,sm:`wf-avatar wf-avatar--sm`,md:`wf-avatar wf-avatar--md`,rail:`wf-avatar wf-avatar--rail`};function aD({src:e,name:t,initials:n,color:r=`var(--wf-cyan)`,size:i=`md`,className:a}){let[o,s]=(0,y.useState)(!1),c={"--agent-color":r},l=n?.trim()||rD(t);return e&&!o?(0,x.jsx)(`img`,{src:e,alt:``,"aria-hidden":`true`,className:K(iD[i],`wf-avatar--image`,a),style:c,loading:`lazy`,decoding:`async`,onError:()=>s(!0)}):(0,x.jsx)(`span`,{className:K(iD[i],a),style:c,"aria-hidden":`true`,children:l})}function oD({expanded:e,active:t,ariaLabel:n,title:r,primary:i,secondary:a,avatarSrc:o,avatarName:s,avatarInitials:c,avatarColor:l,onClick:u,className:d}){return(0,x.jsxs)(`button`,{type:`button`,className:K(`wf-agent-rail__item`,t&&`wf-agent-rail__item--active`,d),"aria-label":n,"aria-current":t?`true`:void 0,title:e?r:i,onClick:u,children:[(0,x.jsx)(aD,{src:o||void 0,name:s,initials:c||i.slice(0,2),color:l,size:`rail`,className:`wf-agent-rail__avatar`}),e?(0,x.jsxs)(`span`,{className:`wf-agent-rail__meta`,children:[(0,x.jsx)(`span`,{className:`wf-agent-rail__name`,children:i}),a?(0,x.jsx)(`span`,{className:`wf-agent-rail__role`,children:a}):null]}):null]})}var sD=null;async function cD(){return sD||=Lm(`/api/agents`).catch(e=>{throw sD=null,e}),sD}function lD(e){return`workframe.cachedCrew:${e}`}function uD(e){if(typeof window>`u`)return[];try{let t=localStorage.getItem(lD(e));return t?JSON.parse(t).crew??[]:[]}catch{return[]}}function dD(e,t){if(!(typeof window>`u`))try{localStorage.setItem(lD(e),JSON.stringify({crew:t,savedAt:Date.now()}))}catch{}}function fD(e){let[t,n]=(0,y.useState)(()=>uD(e)),[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(0),s=(0,y.useCallback)(()=>{o(e=>e+1)},[]);return(0,y.useEffect)(()=>{let r=!1;return cD().then(t=>{if(r)return;let a=(t.crew??[]).map(tD);i(null),n(a),dD(e,a)}).catch(e=>{r||(i(xi(e,`Load agents`)),t.length||n([]))}),()=>{r=!0}},[e,a]),{crew:t,error:r,reload:s}}var pD=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,mD=[`workframe-agent`,Hx(),`architect`,`visionary`,`docs`,`dev`,`research`,`designer`];function hD(e){let t=e.trim().toLowerCase();if(!/^u-[a-z0-9]/.test(t))return e.trim();let n=t.slice(2),r=[...new Set(mD.filter(Boolean))];for(let e of r)if(n===e||n.endsWith(`-${e}`))return e;return e.trim()}function gD(e,t=``){if(!yD(e))return``;let n=e?.hermes_profile?.trim();if(n)return hD(n);let r=e?.agent_profile_id?.trim()||``;if(r&&!pD.test(r))return hD(r);let i=t.trim();return i&&!pD.test(i)?hD(i):``}function _D(e,t){return gD(e,t)||(t.trim()&&!bD(t)?hD(t):``)||Hx()}function vD(e,t){return e&&!yD(e)?``:_D(e,t)}function yD(e){if(!e)return!1;let t=String(e.room_type||``).trim();return t&&t!==`direct`?!1:!!(e.hermes_profile?.trim()||e.agent_profile_id?.trim())}function bD(e){return pD.test(e.trim())}function xD(e){return e?e.room_type===`channel`||e.room_type===`group`||e.room_type===`lane`:!1}function SD(e){return yD(e)&&e?.room_type===`direct`}var CD=[`#6c5ce7`,`#00b894`,`#0984e3`,`#e17055`,`#fdcb6e`,`#a29bfe`];function wD(e){return!e||e===`online`?null:e===`unavailable`?`Offline`:e===`not_installed`?`Missing`:e}function TD(e){return e.room_type===`direct`&&!e.agent_profile_id}function ED(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)}function DD(e,t){return[e,t].sort().join(`:`)}function OD(e){let t=0;for(let n of e)t=(t+n.charCodeAt(0))%CD.length;return CD[t]??CD[0]}function kD({api:e}={}){let t=`Workframe`,{crew:n,error:r,reload:i}=fD(t),{activeProfile:a,setActiveRoute:o}=Zx(),{activeRoom:s,closedPanelIds:c,openPanel:l,mobileLayout:u,activeWorkspacePanelId:d,railExpanded:f,setRailExpanded:p,setActiveRoom:m,userSettingsOpen:h,userSettingsTab:g,userSettingsConnectTab:_,openUserSettings:v,closeUserSettings:b,registerOpenAgentSettings:S,openChatSettings:C}=$S(),[w,T]=(0,y.useState)(!1),[E,D]=(0,y.useState)(!1),[O,k]=(0,y.useState)(!1),[A,j]=(0,y.useState)(()=>Zi()),[M,N]=(0,y.useState)([]),[P,F]=(0,y.useState)(()=>{let e=Zi(),t=e?.current_workspace??e?.default_workspace??e?.workspaces?.[0];return t?.id?$m(t.id):[]}),[I,L]=(0,y.useState)(``),[ee,R]=(0,y.useState)(!1),te=(0,y.useRef)(null),z=(0,y.useRef)(!1),B=(0,y.useMemo)(()=>A?.current_workspace??A?.default_workspace??A?.workspaces?.[0]??null,[A]),V=A?.user?.user_id??``,ne=A?.user?.display_name||A?.user?.email||`Profile`,re=A?.user?.email||`Signed in`,H=(0,y.useMemo)(()=>M.some(e=>e.user_id===V&&[`owner`,`admin`].includes(e.role)),[V,M]),ie=(0,y.useCallback)(()=>{l($.chat)},[l]),U=u?!0:!f,ae=(0,y.useCallback)(async()=>{R(!0),L(``);try{let e=await Y.getMe();j(e);let t=(e.current_workspace??e.default_workspace??e.workspaces?.[0]??null)?.id??``;if(!t){N([]),F([]);return}let[n,r]=await Promise.all([Y.listWorkspaceMembers(t),Y.listWorkspaceRooms(t,!0)]),i=r.rooms??[];N(n.members??[]),F(i),eh(t,i)}catch(e){L(xi(e,`Load Workframe`)),P.length||(N([]),F([]))}finally{R(!1)}},[P.length]),W=(0,y.useCallback)(()=>{te.current&&window.clearTimeout(te.current),te.current=window.setTimeout(()=>{te.current=null,ae(),i()},600)},[i,ae]);(0,y.useEffect)(()=>(ae(),()=>{te.current&&window.clearTimeout(te.current)}),[ae]),(0,y.useEffect)(()=>{if(B?.id)return $i(B.id,W)},[B?.id,W]);let oe=(0,y.useMemo)(()=>{let e=new Map;for(let t of P){if(!TD(t))continue;let n=(t.member_user_ids??[]).filter(Boolean);if(!n.includes(V))continue;let r=n.find(e=>e!==V);r&&e.set(r,t)}return e},[V,P]),se=(0,y.useMemo)(()=>M.filter(e=>e.user_id&&e.user_id!==V).map(e=>({member:e,room:oe.get(e.user_id)??null})),[V,oe,M]),ce=(0,y.useMemo)(()=>[...P.filter(xD)].sort((e,t)=>e.slug===`general`?-1:t.slug===`general`?1:e.name.localeCompare(t.name)),[P]),le=(0,y.useCallback)(e=>e?xD(e)?!0:(e.member_user_ids??[]).filter(Boolean).includes(V)?TD(e)||!!e.agent_profile_id:!1:!1,[V]);(0,y.useEffect)(()=>{if(!s||!P.length)return;let e=P.find(e=>e.id===s.id);if(!e){if(ee)return;m(null);return}if(!le(e)){if(ee)return;m(null);return}e!==s&&m(e)},[s,le,m,ee,P]);let ue=(0,y.useCallback)(e=>{let t=P.find(t=>t.id===e.id)??e,n=gD(t,a);n&&o(n),m(t),B?.id&&V&&Qm({workspaceId:B.id,userId:V,roomId:t.id,room:t}),ie()},[a,V,B?.id,ie,m,o,P]),de=(0,y.useCallback)(async(e,t)=>{let n=hD(e),r=P.find(e=>e.room_type===`direct`&&yD(e)&&gD(e,n)===n&&(e.member_user_ids??[]).includes(V));if(r){ue(r);return}if(!B||!V){m(null),o(n),ie();return}try{let e=await Y.createWorkspaceRoom(B.id,{name:t,slug:ED(`dm-${V}-${n}`),room_type:`direct`,agent_profile_id:n,member_user_ids:[V]});F(t=>[e.room,...t.filter(t=>t.id!==e.room.id)]),ue(e.room)}catch{m(null),o(n),ie()}},[V,B,ie,ue,m,o,P]);(0,y.useEffect)(()=>(S(async(e,t)=>{await de(e,t),C()}),()=>S(null)),[C,S,de]);let fe=(0,y.useCallback)(()=>{let e=P.find(e=>e.slug===`general`);if(e){ue(e);return}let t=P.find(e=>xD(e));t&&ue(t)},[ue,P]),pe=B?.tagline?.trim()||``;(0,y.useEffect)(()=>{if(s||z.current||!B?.id||!V||ee)return;let e=Zm(B.id,V),t=e?.roomId?.trim()||``;if(t&&P.length){let n=P.find(e=>e.id===t)??(e?.room?.id===t?e.room:null);if(n&&le(n)){z.current=!0,ue(n);return}}P.length&&(z.current=!0,fe())},[s,fe,V,B?.id,le,ue,ee,P]);let G=(0,y.useCallback)(async e=>{let t=e.user_id?.trim()||``,n=e.display_name||e.email||`Contact`;if(!B||!V||!t){m(null),ie();return}let r=oe.get(t);if(r){ue(r);return}try{let e=await Y.createWorkspaceRoom(B.id,{name:n,slug:ED(`dm-${DD(V,t)}`),room_type:`direct`,member_user_ids:[V,t]});F(t=>[e.room,...t.filter(t=>t.id!==e.room.id)]),ue(e.room)}catch{m(null),ie()}},[V,B,ie,oe,ue,m]),me=(0,x.jsx)(`button`,{type:`button`,className:`wf-agent-rail__toggle`,onClick:(0,y.useCallback)(()=>{p(!f)},[f,p]),"aria-label":f?`Collapse workframe rail`:`Expand workframe rail`,"aria-expanded":f,children:f?(0,x.jsx)(ct,{"aria-hidden":`true`}):(0,x.jsx)(lt,{"aria-hidden":`true`})});return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(eC,{className:K(`wf-panel--rail`,u?`wf-panel--rail-mobile wf-panel--rail-collapsed`:f?`wf-panel--rail-expanded`:`wf-panel--rail-collapsed`),children:[u?null:f?(0,x.jsx)(Dx,{label:kx,panelId:$.crew,api:e,trailing:me,renderSettings:({open:e,onClose:t})=>(0,x.jsx)(KE,{open:e,onClose:t,workspaceId:B?.id??``,workspaceSlug:B?.slug,currentUserId:V,canManage:H,onInviteClick:()=>{t(),T(!0)},onChanged:W})}):(0,x.jsx)(`div`,{className:`wf-panel__header`,children:me}),(0,x.jsx)(Zc,{axis:u?`horizontal`:`vertical`,inset:u?void 0:`rail`,className:K(`wf-agent-rail-scroll`,u&&`wf-agent-rail-scroll--mobile`),children:(0,x.jsxs)(`nav`,{className:K(`wf-agent-rail`,U&&`wf-agent-rail--collapsed`,u&&`wf-agent-rail--mobile`),"aria-label":`Workspace rail`,children:[r&&f&&!u?(0,x.jsx)(Oi,{message:r}):null,(0,x.jsx)(AD,{title:`Projects`,expanded:!U,count:ce.length,emptyLabel:ee?`Loading projects…`:`No projects yet`,addLabel:`Create project`,onAdd:u?void 0:()=>k(!0),children:ce.map(e=>(0,x.jsx)(oD,{expanded:!U,active:s?.id===e.id,ariaLabel:`Open project ${e.name}`,primary:e.name,secondary:e.topic?.trim()||(e.slug===`general`?pe:``),avatarName:e.name,avatarSrc:OE(e.avatar_url,Wp),avatarColor:OD(e.slug),onClick:()=>ue(e)},e.id))}),(0,x.jsx)(AD,{title:`Contacts`,expanded:!U,count:se.length,emptyLabel:ee?`Loading contacts…`:`No contacts yet`,addLabel:`Add contact`,onAdd:u?void 0:H?()=>T(!0):void 0,children:se.map(({member:e,room:t})=>{let n=e.display_name||e.email||`Contact`,r=t?s?.id===t.id:!1;return(0,x.jsx)(oD,{expanded:!U,active:r,ariaLabel:`Open direct message with ${n}`,primary:n,secondary:e.tagline||e.email||`Workspace member`,avatarSrc:DE(e.avatar_url),avatarName:n,onClick:()=>void G(e)},e.membership_id)})}),(0,x.jsx)(AD,{title:`Agents`,expanded:!U,count:n.length,emptyLabel:`No agents available`,addLabel:`Create agent`,onAdd:u?void 0:H?()=>D(!0):void 0,children:n.map(e=>{let t=!!(s&&yD(s)&&gD(s,e.profile)===e.profile),n=wD(e.route_status),r=e.tagline||e.role,i=n?`${r} · ${n}`:r;return(0,x.jsx)(oD,{expanded:!U,active:t,ariaLabel:e.display_name,primary:e.display_name,secondary:i,avatarSrc:e.avatarUrl,avatarName:e.display_name,avatarInitials:e.code,avatarColor:e.color,onClick:()=>void de(e.profile,e.display_name)},e.key)})}),I&&f&&!u?(0,x.jsx)(Oi,{message:I}):null,(0,x.jsx)(Bx,{projectName:t,closedPanelIds:c,expanded:!U,mobile:u,activePanelId:d,showDivider:!u,onOpen:l}),u?(0,x.jsx)(oD,{expanded:!1,active:h,ariaLabel:`Open user profile and settings`,primary:ne,secondary:re,avatarSrc:DE(A?.user?.avatar_url),avatarName:ne,onClick:()=>v(`profile`)}):null]})}),u?null:(0,x.jsx)(`div`,{className:`wf-agent-rail__bottom`,children:(0,x.jsx)(oD,{expanded:f,active:h,ariaLabel:`Open user profile and settings`,primary:ne,secondary:re,avatarSrc:DE(A?.user?.avatar_url),avatarName:ne,onClick:()=>v(`profile`)})}),(0,x.jsx)(QE,{open:h,onOpenChange:e=>e?v(g,_):b(),initialTab:g,initialConnectTab:_})]}),(0,x.jsx)(nE,{open:w,onOpenChange:T,workspaceId:B?.id??``,workspaceName:B?.display_name??`Workspace`,onInvited:W}),(0,x.jsx)(sE,{open:E,onOpenChange:D,onCreated:e=>{if(i(),W(),e.room)ue(e.room);else if(e.room_id){let t=P.find(t=>t.id===e.room_id);t&&ue(t)}else e.profile&&de(e.profile,n.find(t=>t.profile===e.profile)?.display_name??e.profile)}}),(0,x.jsx)(uE,{open:O,onOpenChange:k,workspaceId:B?.id??``,onCreated:W})]})}function AD({title:e,expanded:t,count:n,emptyLabel:r,addLabel:i,onAdd:a,children:o}){return(0,x.jsxs)(`section`,{className:`wf-agent-rail__section`,"aria-label":e,children:[t?(0,x.jsxs)(`div`,{className:`wf-agent-rail__section-header`,children:[(0,x.jsx)(`h3`,{className:`wf-agent-rail__section-title`,children:e}),a?(0,x.jsx)(`button`,{type:`button`,className:`wf-agent-rail__section-action wf-agent-rail__section-action--icon`,onClick:a,"aria-label":i??`Add to ${e}`,children:(0,x.jsx)(ft,{"aria-hidden":`true`,size:16})}):(0,x.jsx)(`span`,{className:`wf-agent-rail__section-count`,children:n})]}):null,n>0?o:t?(0,x.jsx)(`p`,{className:`wf-agent-rail__empty`,children:r}):null]})}var jD=(0,y.createContext)(null);function MD({children:e}){let[t,n]=(0,y.useState)(!1),[r,i]=(0,y.useState)(!1),[a,o]=(0,y.useState)(!1),[s,c]=(0,y.useState)(!1),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(!1),[_,v]=(0,y.useState)(!1),[b,S]=(0,y.useState)(!1),C=()=>{n(!1),i(!1),o(!1),c(!1),u(!1),f(!1),m(!1),g(!1),v(!1),S(!1)},w=(0,y.useCallback)(()=>{C(),n(!0)},[]),T=(0,y.useCallback)(()=>{C(),i(!0)},[]),E=(0,y.useCallback)(()=>{C(),o(!0)},[]),D=(0,y.useCallback)(()=>{C(),c(!0)},[]),O=(0,y.useCallback)(()=>{C(),u(!0)},[]),k=(0,y.useCallback)(()=>{C(),f(!0)},[]),A=(0,y.useCallback)(()=>{C(),m(!0)},[]),j=(0,y.useCallback)(()=>{C(),g(!0)},[]),M=(0,y.useCallback)(()=>{C(),v(!0)},[]),N=(0,y.useCallback)(()=>{C(),S(!0)},[]),P=(0,y.useMemo)(()=>({modelOpen:t,helpOpen:r,statusOpen:a,usageOpen:s,profileOpen:l,debugOpen:d,insightsOpen:p,gquotaOpen:h,skillsOpen:_,personalityOpen:b,openModelPicker:w,openHelp:T,openStatus:E,openUsage:D,openProfile:O,openDebug:k,openInsights:A,openGquota:j,openSkills:M,openPersonality:N,closeModelPicker:()=>n(!1),closeHelp:()=>i(!1),closeStatus:()=>o(!1),closeUsage:()=>c(!1),closeProfile:()=>u(!1),closeDebug:()=>f(!1),closeInsights:()=>m(!1),closeGquota:()=>g(!1),closeSkills:()=>v(!1),closePersonality:()=>S(!1)}),[t,r,a,s,l,d,p,h,_,b,w,T,E,D,O,k,A,j,M,N]);return(0,x.jsx)(jD.Provider,{value:P,children:e})}function ND(){let e=(0,y.useContext)(jD);if(!e)throw Error(`useCommandDialogs must be used within CommandDialogsProvider`);return e}var PD=`wf-chat-client-id`,FD=`wf-chat-session-schema:`,ID=[`wf-chat-session-id`,`wf-chat-gateway-sid`,`wf-chat-state-session-id`,`wf-chat-session-v2-reset`,`wf-chat-persistent-session-id`];function LD(e,t=``){return`${FD}${e}${t?`:${t}`:``}`}function RD(){if(typeof window>`u`)return`server`;let e=localStorage.getItem(PD);if(e)return e;let t=`ui-${Math.random().toString(36).slice(2,10)}-${Date.now().toString(36)}`;return localStorage.setItem(PD,t),t}if(typeof window<`u`)for(let e of ID)sessionStorage.removeItem(e),localStorage.removeItem(e);function zD(e,t=``){if(typeof window>`u`||!e)return;let n=LD(e,t);localStorage.getItem(n)!==`2`&&localStorage.setItem(n,`2`)}function BD(){return{profileRef:(0,y.useRef)(``),templateProfileRef:(0,y.useRef)(``),roomIdRef:(0,y.useRef)(``),gatewaySidRef:(0,y.useRef)(null),stateDbSidRef:(0,y.useRef)(null),turnActiveRef:(0,y.useRef)(!1),streamMessageIdRef:(0,y.useRef)(null),pendingOutboundRef:(0,y.useRef)(null),sourceIdRef:(0,y.useRef)(`ui`),clientIdRef:(0,y.useRef)(`default`),nativeProfileRef:(0,y.useRef)(``),finalizedTurnIdsRef:(0,y.useRef)(new Set),prevRoomKeyRef:(0,y.useRef)(``),bindGenRef:(0,y.useRef)(0),initRef:(0,y.useRef)(!1),llmReadyRef:(0,y.useRef)(null)}}function VD(e){return{id:e.id,authorId:e.authorId,authorName:e.authorName,role:e.role,segments:e.segments,timestamp:e.timestamp,tokens:e.tokens,...e.model?{modelId:e.model}:{},...e.llm_provider?{llmProvider:e.llm_provider}:{}}}async function HD(e,t,n){let r=new URLSearchParams({profile:e});t&&r.set(`session`,t),n&&r.set(`source`,n);let i=await Lm(`/api/chat/messages?${r.toString()}`);return{sessionId:i.session_id??t??``,messages:i.messages.map(VD)}}async function UD(e){let t=await Rm(`/api/rooms/${encodeURIComponent(e.room_id)}/bind`,e);return{sessionId:t.session_id??``,profile:t.profile??``,templateProfile:t.template_profile??t.profile??``,agentDisplayName:t.agent_display_name??``,created:!!t.created,llmReady:t.llm_ready??t.has_llm_provider??!1,messages:(t.messages??[]).map(VD)}}async function WD(e,t){let n=await Yi(`/api/hermes/profiles/${encodeURIComponent(e.profile)}/messages/stream`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!n.ok){let t=await Ji(n);throw Error(`POST /api/hermes/profiles/${e.profile}/messages/stream failed: ${t}`)}if(!n.body)throw Error(`Streaming response body unavailable`);let r=n.body.getReader(),i=new TextDecoder,a=``,o=`message`,s=!1,c=()=>{let e=a.match(/\r?\n\r?\n/);if(!e||e.index==null)return null;let t=a.slice(0,e.index).trim();return a=a.slice(e.index+e[0].length),t},l=e=>{let n=e.split(/\r?\n/),r=[],i=o;for(let e of n)if(e){if(e.startsWith(`event:`)){i=e.slice(6).trim()||`message`;continue}e.startsWith(`data:`)&&r.push(e.slice(5).trimStart())}if(o=`message`,r.length){try{t({event:i,data:JSON.parse(r.join(`
53
53
  `))})}catch{t({event:i,data:{text:r.join(`
54
54
  `)}})}i===`done`&&(s=!0)}};for(;;){let{value:e,done:n}=await r.read();a+=i.decode(e||new Uint8Array,{stream:!n});let o=c();for(;o!==null;){if(o&&l(o),s){try{await r.cancel()}catch{}return}o=c()}if(n){let e=a.trim();e&&l(e),s||t({event:`done`,data:{}});break}}}function GD(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var KD=e=>{switch(e){case`success`:return YD;case`info`:return ZD;case`warning`:return XD;case`error`:return QD;default:return null}},qD=Array(12).fill(0),JD=({visible:e,className:t})=>y.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},y.createElement(`div`,{className:`sonner-spinner`},qD.map((e,t)=>y.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),YD=y.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},y.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),XD=y.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},y.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),ZD=y.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},y.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),QD=y.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},y.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),$D=y.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},y.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),y.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),eO=()=>{let[e,t]=y.useState(document.hidden);return y.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},tO=1,nO=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:tO++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],y.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(iO(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!y.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!y.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!y.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!y.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||tO++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},rO=(e,t)=>{let n=t?.id||tO++;return nO.addToast({title:e,...t,id:n}),n},iO=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,aO=Object.assign(rO,{success:nO.success,info:nO.info,warning:nO.warning,error:nO.error,custom:nO.custom,message:nO.message,promise:nO.promise,dismiss:nO.dismiss,loading:nO.loading},{getHistory:()=>nO.toasts,getToasts:()=>nO.getActiveToasts()});GD(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}`);function oO(e){return e.label!==void 0}var sO=3,cO=`24px`,lO=`16px`,uO=4e3,dO=356,fO=14,pO=45,mO=200;function hO(...e){return e.filter(Boolean).join(` `)}function gO(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var _O=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:m,cancelButtonStyle:h,actionButtonStyle:g,className:_=``,descriptionClassName:v=``,duration:b,position:x,gap:S,expandByDefault:C,classNames:w,icons:T,closeButtonAriaLabel:E=`Close toast`}=e,[D,O]=y.useState(null),[k,A]=y.useState(null),[j,M]=y.useState(!1),[N,P]=y.useState(!1),[F,I]=y.useState(!1),[L,ee]=y.useState(!1),[R,te]=y.useState(!1),[z,B]=y.useState(0),[V,ne]=y.useState(0),re=y.useRef(n.duration||b||uO),H=y.useRef(null),ie=y.useRef(null),U=c===0,ae=c+1<=o,W=n.type,oe=n.dismissible!==!1,se=n.className||``,ce=n.descriptionClassName||``,le=y.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),ue=y.useMemo(()=>n.closeButton??p,[n.closeButton,p]),de=y.useMemo(()=>n.duration||b||uO,[n.duration,b]),fe=y.useRef(0),pe=y.useRef(0),G=y.useRef(0),me=y.useRef(null),[he,ge]=x.split(`-`),_e=y.useMemo(()=>s.reduce((e,t,n)=>n>=le?e:e+t.height,0),[s,le]),ve=eO(),ye=n.invert||t,be=W===`loading`;pe.current=y.useMemo(()=>le*S+_e,[le,_e]),y.useEffect(()=>{re.current=de},[de]),y.useEffect(()=>{M(!0)},[]),y.useEffect(()=>{let e=ie.current;if(e){let t=e.getBoundingClientRect().height;return ne(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),y.useLayoutEffect(()=>{if(!j)return;let e=ie.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,ne(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[j,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let xe=y.useCallback(()=>{P(!0),B(pe.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},mO)},[n,d,a,pe]);y.useEffect(()=>{if(n.promise&&W===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||ve?(()=>{if(G.current<fe.current){let e=new Date().getTime()-fe.current;re.current-=e}G.current=new Date().getTime()})():re.current!==1/0&&(fe.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),xe()},re.current)),()=>clearTimeout(e)},[u,i,n,W,ve,xe]),y.useEffect(()=>{n.delete&&(xe(),n.onDismiss==null||n.onDismiss.call(n,n))},[xe,n.delete]);function Se(){return T?.loading?y.createElement(`div`,{className:hO(w?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":W===`loading`},T.loading):y.createElement(JD,{className:hO(w?.loader,n?.classNames?.loader),visible:W===`loading`})}let Ce=n.icon||T?.[W]||KD(W);return y.createElement(`li`,{tabIndex:0,ref:ie,className:hO(_,se,w?.toast,n?.classNames?.toast,w?.default,w?.[W],n?.classNames?.[W]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":j,"data-promise":!!n.promise,"data-swiped":R,"data-removed":N,"data-visible":ae,"data-y-position":he,"data-x-position":ge,"data-index":c,"data-front":U,"data-swiping":F,"data-dismissible":oe,"data-type":W,"data-invert":ye,"data-swipe-out":L,"data-swipe-direction":k,"data-expanded":!!(u||C&&j),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${N?z:pe.current}px`,"--initial-height":C?`auto`:`${V}px`,...m,...n.style},onDragEnd:()=>{I(!1),O(null),me.current=null},onPointerDown:e=>{e.button!==2&&(be||!oe||(H.current=new Date,B(pe.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(I(!0),me.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(L||!oe)return;me.current=null;let e=Number(ie.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(ie.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-H.current?.getTime(),i=D===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=pO||a>.11){B(pe.current),n.onDismiss==null||n.onDismiss.call(n,n),A(D===`x`?e>0?`right`:`left`:t>0?`down`:`up`),xe(),ee(!0);return}else{var o,s;(o=ie.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=ie.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}te(!1),I(!1),O(null)},onPointerMove:t=>{var n,r;if(!me.current||!oe||window.getSelection()?.toString().length>0)return;let i=t.clientY-me.current.y,a=t.clientX-me.current.x,o=e.swipeDirections??gO(x);!D&&(Math.abs(a)>1||Math.abs(i)>1)&&O(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(D===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(D===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&te(!0),(n=ie.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=ie.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},ue&&!n.jsx&&W!==`loading`?y.createElement(`button`,{"aria-label":E,"data-disabled":be,"data-close-button":!0,onClick:be||!oe?()=>{}:()=>{xe(),n.onDismiss==null||n.onDismiss.call(n,n)},className:hO(w?.closeButton,n?.classNames?.closeButton)},T?.close??$D):null,(W||n.icon||n.promise)&&n.icon!==null&&(T?.[W]!==null||n.icon)?y.createElement(`div`,{"data-icon":``,className:hO(w?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||Se():null,n.type===`loading`?null:Ce):null,y.createElement(`div`,{"data-content":``,className:hO(w?.content,n?.classNames?.content)},y.createElement(`div`,{"data-title":``,className:hO(w?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?y.createElement(`div`,{"data-description":``,className:hO(v,ce,w?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),y.isValidElement(n.cancel)?n.cancel:n.cancel&&oO(n.cancel)?y.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{oO(n.cancel)&&oe&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),xe())},className:hO(w?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,y.isValidElement(n.action)?n.action:n.action&&oO(n.action)?y.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||g,onClick:e=>{oO(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&xe())},className:hO(w?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function vO(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function yO(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?lO:cO;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var bO=y.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:m,visibleToasts:h=sO,toastOptions:g,dir:_=vO(),gap:v=fO,icons:b,containerAriaLabel:x=`Notifications`}=e,[S,C]=y.useState([]),w=y.useMemo(()=>n?S.filter(e=>e.toasterId===n):S.filter(e=>!e.toasterId),[S,n]),T=y.useMemo(()=>Array.from(new Set([i].concat(w.filter(e=>e.position).map(e=>e.position)))),[w,i]),[E,D]=y.useState([]),[O,k]=y.useState(!1),[A,j]=y.useState(!1),[M,N]=y.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),P=y.useRef(null),F=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),I=y.useRef(null),L=y.useRef(!1),ee=y.useCallback(e=>{C(t=>(t.find(t=>t.id===e.id)?.delete||nO.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return y.useEffect(()=>nO.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{C(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{Pt.flushSync(()=>{C(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[S]),y.useEffect(()=>{if(d!==`system`){N(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?N(`dark`):N(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{N(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{N(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),y.useEffect(()=>{S.length<=1&&k(!1)},[S]),y.useEffect(()=>{let e=e=>{if(a.every(t=>e[t]||e.code===t)){var t;k(!0),(t=P.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===P.current||P.current?.contains(document.activeElement))&&k(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),y.useEffect(()=>{if(P.current)return()=>{I.current&&(I.current.focus({preventScroll:!0}),I.current=null,L.current=!1)}},[P.current]),y.createElement(`section`,{ref:t,"aria-label":`${x} ${F}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},T.map((t,n)=>{let[i,a]=t.split(`-`);return w.length?y.createElement(`ol`,{key:t,dir:_===`auto`?vO():_,tabIndex:-1,ref:P,className:c,"data-sonner-toaster":!0,"data-sonner-theme":M,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${E[0]?.height||0}px`,"--width":`${dO}px`,"--gap":`${v}px`,...m,...yO(l,u)},onBlur:e=>{L.current&&!e.currentTarget.contains(e.relatedTarget)&&(L.current=!1,I.current&&=(I.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||L.current||(L.current=!0,I.current=e.relatedTarget)},onMouseEnter:()=>k(!0),onMouseMove:()=>k(!0),onMouseLeave:()=>{A||k(!1)},onDragEnd:()=>k(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||j(!0)},onPointerUp:()=>j(!1)},w.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>y.createElement(_O,{key:n.id,icons:b,index:i,toast:n,defaultRichColors:f,duration:g?.duration??p,className:g?.className,descriptionClassName:g?.descriptionClassName,invert:r,visibleToasts:h,closeButton:g?.closeButton??s,interacting:A,position:t,style:g?.style,unstyled:g?.unstyled,classNames:g?.classNames,cancelButtonStyle:g?.cancelButtonStyle,actionButtonStyle:g?.actionButtonStyle,closeButtonAriaLabel:g?.closeButtonAriaLabel,removeToast:ee,toasts:w.filter(e=>e.position==n.position),heights:E.filter(e=>e.position==n.position),setHeights:D,expandByDefault:o,gap:v,expanded:O,swipeDirections:e.swipeDirections}))):null}))});function xO({notice:e,authorName:t=`Workframe`,avatarUrl:n,onAction:r,onDismiss:i,className:a}){return(0,x.jsxs)(`article`,{className:K(`wf-toast-message`,a),role:`alert`,"aria-live":`polite`,children:[(0,x.jsxs)(`div`,{className:`wf-toast-message__header`,children:[(0,x.jsx)(aD,{src:n,name:t,size:`sm`,className:`wf-toast-message__avatar`}),(0,x.jsxs)(`div`,{className:`wf-toast-message__meta`,children:[(0,x.jsx)(`span`,{className:`wf-toast-message__author`,children:t}),(0,x.jsx)(`span`,{className:`wf-toast-message__badge`,children:`System`})]}),i?(0,x.jsx)(`button`,{type:`button`,className:`wf-toast-message__close`,onClick:i,"aria-label":`Dismiss`,children:(0,x.jsx)(Nt,{size:14,"aria-hidden":!0})}):null]}),(0,x.jsx)(Oi,{info:e,className:`wf-toast-message__notice`,onAction:e.action&&r?()=>r(e.action):void 0})]})}function SO(e,t){let n=t?.id??e.code??`wf-error-${Date.now()}`;aO.custom(n=>(0,x.jsx)(xO,{notice:e,authorName:t?.authorName??`Workframe`,avatarUrl:t?.avatarUrl,onAction:t?.onAction,onDismiss:()=>aO.dismiss(n)}),{id:n,duration:t?.durationMs??1e4,className:`wf-toast-host`})}function CO({refs:e,agentDisplayName:t,activeProfile:n,setActiveRoute:r,setAgentDisplayName:i,setProfile:a,setStateDbSessionId:o,setGatewaySessionId:s,setMessages:c,setConnectError:l,setSessionReady:u,completeTurn:d}){let{profileRef:f,templateProfileRef:p,roomIdRef:m,gatewaySidRef:h,stateDbSidRef:g,nativeProfileRef:_,bindGenRef:v,llmReadyRef:b}=e,x=(0,y.useCallback)(e=>{let t=(e||p.current||``).trim(),n=_.current.trim();return t&&n&&t===n?2:void 0},[_,p]),S=(0,y.useCallback)(async(n,r=!1)=>{let i=await UD({room_id:n,source_id:e.sourceIdRef.current,client_id:e.clientIdRef.current,new_session:r,title:r?`Session with ${t}`:void 0,binding_version:x(p.current)}),a=String(i.sessionId||``).trim();if(!a)throw Error(`Session creation failed`);return{sessionId:a,profile:i.profile,templateProfile:i.templateProfile,agentDisplayName:i.agentDisplayName,llmReady:i.llmReady,messages:i.messages}},[t,x,e.clientIdRef,e.sourceIdRef,p]),C=(0,y.useCallback)(()=>{let e=String(g.current||``).trim();if(!e)throw Error(`No bound session — reopen the agent room`);return e},[g]),w=(0,y.useCallback)((e,t,n)=>{let r=n.profile||t,d=n.templateProfile||t,_=`api:${r}:${n.sessionId}`,v=g.current;g.current=n.sessionId,h.current=_,f.current=r,p.current=d,m.current=e,n.agentDisplayName&&i(n.agentDisplayName),a(r),o(n.sessionId),s(_),c(t=>{let r=n.messages;if(!r.length){let i=fh(e,n.sessionId);i.length?r=i:v===n.sessionId&&t.length&&(r=t)}return ph(e,n.sessionId,r),r}),Qm({roomId:e}),ah(e,{sessionId:n.sessionId,profile:r,templateProfile:d,agentDisplayName:n.agentDisplayName||``,llmReady:b.current??!0}),l(null),u(!0),yh(r)},[h,b,f,m,i,l,s,c,a,u,o,g,p]);return{bindingVersion:x,bindRoomSession:S,requireBoundSessionId:C,applyBoundSession:w,useSessionForRoom:(0,y.useCallback)(async(t,a)=>{let d=++v.current;console.log(`[workframe] useSessionForRoom:`,t),l(null);let f=m.current;m.current=t,i(a),f&&f!==t&&c([]);let p=ih(t);if(p){let e=fh(t,p.sessionId);b.current=p.llmReady;let i=p.templateProfile||p.profile;i&&i!==n&&r(i),w(t,i,{sessionId:p.sessionId,profile:p.profile||i,templateProfile:i,agentDisplayName:p.agentDisplayName||a,messages:e})}else u(!1),o(null),s(null),g.current=null,h.current=null;try{let i=await S(t);if(d!==v.current)return;if(!i.sessionId)throw Error(`Session creation failed`);b.current=i.llmReady;let o=i.templateProfile||i.profile;if(o&&o!==n&&r(o),w(t,o,{sessionId:i.sessionId,profile:i.profile||o,templateProfile:o,agentDisplayName:i.agentDisplayName||a,messages:i.messages}),!i.messages.length)try{let{messages:n}=await HD(i.profile||o,i.sessionId,e.sourceIdRef.current);if(d!==v.current)return;n.length&&w(t,o,{sessionId:i.sessionId,profile:i.profile||o,templateProfile:o,agentDisplayName:i.agentDisplayName||a,messages:n})}catch(e){console.warn(`[workframe] bind history fetch failed; keeping local session`,e)}}catch(e){if(d!==v.current)return;if(p){console.warn(`[workframe] bind revalidate failed; keeping cached session`,e);return}m.current=``,g.current=null,h.current=null,o(null),s(null);let t=_i(e,`Session bootstrap`);l(t),SO(t,{id:`session-bootstrap`}),u(!1)}},[n,w,v,S,h,b,m,r,i,l,s,c,u,o,g]),startNewSession:(0,y.useCallback)(async()=>{e.turnActiveRef.current&&d();let t=m.current;if(!t)throw Error(`No agent room selected`);let n=++v.current;mh(t),oh(t),l(null);try{let r=await S(t,!0);if(n!==v.current)return;if(!r.sessionId)throw Error(`Session creation failed`);b.current=r.llmReady;let i=r.templateProfile||r.profile||p.current;w(t,i,{sessionId:r.sessionId,profile:r.profile||i,templateProfile:i,agentDisplayName:r.agentDisplayName,messages:r.messages}),e.prevRoomKeyRef.current=t}catch(e){if(n!==v.current)return;let t=_i(e,`New session`);throw l(t),SO(t,{id:`new-session`}),e}},[w,v,S,d,b,e.prevRoomKeyRef,e.turnActiveRef,m,l,p])}}function wO(e){return e.filter(e=>!(e.kind===`text`&&(e.text===`Thinking…`||e.text===`…`||e.text===``)))}function TO(e,t){if(!t)return e;let n=wO(e),r=n.at(-1);return r?.kind===`text`?[...n.slice(0,-1),{kind:`text`,text:r.text+t}]:[...n,{kind:`text`,text:t}]}function EO(e,t){let n=t.trim();if(!n)return e;let r=wO(e);return r.at(-1)?.kind===`text`?[...r.slice(0,-1),{kind:`text`,text:n}]:[...r,{kind:`text`,text:n}]}function DO(e,t){if(!t)return e;let n=wO(e),r=n.at(-1);return r?.kind===`thinking`?[...n.slice(0,-1),{kind:`thinking`,text:r.text+t}]:[...n,{kind:`thinking`,text:t}]}function OO(e,t,n=``){let r=wO(e),i=[...r].reverse().findIndex(e=>e.kind===`tool`&&e.name===t);if(i>=0){let e=r.length-1-i,t=r[e];if(t.kind===`tool`){let i=[...r];return i[e]={...t,status:`running`,preview:n||t.preview},i}}return[...r,{kind:`tool`,name:t,status:`running`,preview:n||void 0}]}function kO(e,t,n){let r=wO(e),i=[...r].reverse().findIndex(e=>e.kind===`tool`&&e.name===t);if(i<0)return[...r,{kind:`tool`,name:t,status:`done`,output:n}];let a=r.length-1-i,o=[...r],s=o[a];return s.kind===`tool`&&(o[a]={...s,status:`done`,output:n||s.output||s.preview||``,preview:void 0}),o}var AO=/\[WORKFRAME_LANE\][\s\S]*?\[\/WORKFRAME_LANE\]\s*/gi;function jO(e){return e.replace(AO,``).trim()}function MO(e){return e.segments.filter(e=>e.kind===`text`).map(e=>e.text).join(`
55
55
  `).trim()}function NO(e){return e.trim().replace(/\\/g,`/`).replace(/^\/workspace\//,``).replace(/^\.\//,``)}function PO(e,t){let n=jO(MO(t)),r=t.segments.filter(e=>e.kind===`image`).length;return e.some(e=>{if(e.role!==`user`)return!1;if(n&&jO(MO(e))===n)return!0;if(r>0&&FO(e)){let n=new Set(t.segments.filter(e=>e.kind===`image`).map(e=>NO(e.path)));return e.segments.some(e=>e.kind===`image`&&n.has(NO(e.path)))}return!1})}function FO(e){return e.segments.some(e=>e.kind===`image`)}function IO(e){return e.role===`user`&&(e.id.startsWith(`u-`)||e.id.startsWith(`local-`))}function LO(e){return wO(e).some(e=>e.kind===`text`&&e.text.trim().length>0||e.kind===`tool`||e.kind===`thinking`&&e.text.trim().length>0)}function RO(e){return e.filter(e=>e.kind===`thinking`).map(e=>e.text).join(``).trim()}function zO(e,t){let n=wO(t.segments),r=e.segments;if(!LO(r)&&LO(n))return{...e,segments:n,ephemeral:!1};let i=RO(n),a=RO(r),o=i.length>a.length?i:a,s=n.filter(e=>e.kind===`text`).map(e=>e.text).join(``).trim(),c=r.filter(e=>e.kind===`text`).map(e=>e.text).join(``).trim(),l=s.length>c.length?s:c,u=[...r.filter(e=>e.kind===`tool`)];for(let e of n){if(e.kind!==`tool`)continue;let t=u.findIndex(t=>t.kind===`tool`&&t.name===e.name);if(t>=0){let n=u[t];n.kind===`tool`&&(e.status===`running`||(e.output?.length??0)>(n.output?.length??0))&&(u[t]=e)}else u.push(e)}let d=[];return o&&d.push({kind:`thinking`,text:o}),d.push(...u),l&&d.push({kind:`text`,text:l}),!d.length&&LO(n)?{...e,segments:n,ephemeral:!1}:{...e,segments:d,ephemeral:!1}}function BO(e){return e.findLast(e=>e.ephemeral&&e.role===`agent`)??e.findLast(e=>e.role===`agent`&&LO(e.segments))??null}function VO(e,t){let n=t.filter(t=>IO(t)&&t.role===`user`&&!PO(e,t)),r=BO(t);if(!r)return[...e,...n];let i=[...e],a=i.findLastIndex(e=>e.role===`user`),o=a>=0?i.slice(a+1).findLast(e=>e.role===`agent`):i.findLast(e=>e.role===`agent`);if(!o)return[...i,...n,{...r,ephemeral:!1}];let s=i.findLastIndex(e=>e.id===o.id);return i[s]=zO(i[s],r),[...i,...n]}function HO(e){let t=Date.parse(e.timestamp);return Number.isFinite(t)?t:0}function UO(e){return e.segments.filter(e=>e.kind===`text`).map(e=>e.text.trim()).filter(Boolean).join(`
56
56
  `)}function WO(e,t){if(t.role!==`agent`)return!1;let n=UO(t);if(!n)return!1;let r=HO(t);return e.some(e=>{if(e.role!==`agent`||e.authorId!==t.authorId||UO(e)!==n)return!1;let i=HO(e);return!r||!i||Math.abs(i-r)<=5*6e4})}function GO(e,t){let n=VO(e,t),r=new Set(n.map(e=>e.id)),i=new Set(e.map(e=>e.id));for(let a of t)a.ephemeral||r.has(a.id)||IO(a)||i.has(a.id)||WO(e,a)||(n.push(a),r.add(a.id));return n.sort((e,t)=>HO(e)-HO(t)),n}function KO(e,t,n){if(!t.length)return e;let r=new Set(e.map(e=>e.id));return[...e,...t.filter(e=>{if(r.has(e.id))return!1;let t=n[e.id];return!t||!r.has(t)})]}function qO({refs:e,bind:t,agentDisplayName:n,activeHermesProfile:r,setAgentDisplayName:i,setProfile:a,setStateDbSessionId:o,setGatewaySessionId:s,setMessages:c,setConnectError:l,setSessionReady:u,messages:d,completeTurn:f}){let{profileRef:p,templateProfileRef:m,roomIdRef:h,gatewaySidRef:g,stateDbSidRef:_,bindGenRef:v,llmReadyRef:b}=e,{bindingVersion:x}=t,S=(0,y.useCallback)(async(t,n,r=!1)=>{let i=h.current;if(i){let e=fh(i,n);e.length&&c(t=>r?VO(e,t):e)}try{console.log(`[workframe] loadHistory:`,t,n.substring(0,40));let{messages:a}=await HD(t,n,e.sourceIdRef.current);console.log(`[workframe] loaded`,a.length,`messages`),c(e=>r?VO(a,e):a),i&&ph(i,n,a)}catch(e){console.error(`[workframe] loadHistory error:`,e)}},[e.sourceIdRef,h,c]),C=(0,y.useCallback)(async()=>{let e=_.current,t=h.current,n=p.current;e&&n&&t&&await S(n,e,!0)},[S,p,h,_]),w=(0,y.useCallback)(async t=>{e.turnActiveRef.current&&f();let d=h.current;if(!d)throw Error(`No agent room selected`);let y=t.trim();if(!y)throw Error(`session_id required`);let C=m.current||r||p.current,w=++v.current,T=await Y.activateRoomSession(d,{session_id:y,profile:C||void 0,source_id:e.sourceIdRef.current,client_id:e.clientIdRef.current,binding_version:x(C)});if(w!==v.current)return;let E=T.profile,D=`api:${E}:${y}`,O=fh(d,y);O.length&&c(O),_.current=y,g.current=D,p.current=E,m.current=T.template_profile||C,T.agent_display_name&&i(T.agent_display_name),a(E),o(y),s(D),ah(d,{sessionId:y,profile:E,templateProfile:T.template_profile||C,agentDisplayName:T.agent_display_name||n,llmReady:b.current??!0}),await S(E,y,!1),Qm({roomId:d}),l(null),u(!0)},[r,n,v,x,f,g,b,S,p,e.clientIdRef,e.sourceIdRef,e.turnActiveRef,h,i,l,s,c,a,u,o,_,m]);return(0,y.useEffect)(()=>{let e=h.current,t=_.current;if(!e||!t||!d.length)return;let n=window.setTimeout(()=>{ph(e,t,d)},400);return()=>window.clearTimeout(n)},[d,h,_]),{loadHistory:S,reloadHistory:C,resumeSession:w}}var JO=null,YO=new Map,XO=`wf-files-tree-cache`,ZO=`wf-files-state-cache`,QO=`wf-file-content:`,$O=`workframe:files-deleted`;function ek(e){if(typeof window>`u`)return null;try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function tk(e,t){if(!(typeof window>`u`))try{localStorage.setItem(e,JSON.stringify(t))}catch{}}async function nk(){let e=await Lm(`/api/files/state`);return tk(ZO,e),e}function rk(){return ek(ZO)}async function ik(){return JO||=Lm(`/api/files/tree`).then(e=>(tk(XO,e.root),e.root)).catch(e=>{throw JO=null,e}),JO}function ak(){return ek(XO)}async function ok(e=``){return(await Lm(`/api/files/list${e.trim()?`?path=${encodeURIComponent(e.trim())}`:``}`)).children??[]}function sk(e){tk(XO,e),JO=Promise.resolve(e)}async function ck(e){let t=e.trim();if(!YO.has(t)){let n=lk(t);n==null?YO.set(t,Lm(`/api/files/read?path=${encodeURIComponent(e)}`).then(e=>(tk(`${QO}${t}`,e.content),e.content)).catch(e=>{throw YO.delete(t),e})):YO.set(t,Promise.resolve(n))}let n=await YO.get(t);return lk(t)!==n&&tk(`${QO}${t}`,n),n}function lk(e){return ek(`${QO}${e.trim()}`)}function uk(e,t){tk(`${QO}${e.trim()}`,t),YO.set(e.trim(),Promise.resolve(t))}async function dk(e){let t=e.trim(),n=await Lm(`/api/files/read?path=${encodeURIComponent(e)}`).then(e=>e.content);return uk(t,n),n}async function fk(e,t){await Rm(`/api/files/write`,{path:e,content:t}),uk(e.trim(),t),JO=null}function pk(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=String(r.result??``),n=e.indexOf(`,`);t(n>=0?e.slice(n+1):e)},r.onerror=()=>n(r.error??Error(`read failed`)),r.readAsDataURL(e)})}async function mk(e,t){let n=await Rm(`/api/files/upload`,{path:e,content_base64:await pk(t)});return JO=null,n.path??e}function hk(e){return[...new Set(e.map(wk).filter(Boolean))]}function gk(e,t){return e.trim().replace(/[<>:"/\\|?*\u0000-\u001f]+/g,`-`).replace(/\s+/g,` `)||t}function _k(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),1e3)}async function vk(e,t,n){if(!e.ok)throw new Kr(await yi(e),t,n);return e.blob()}async function yk(e,t=`workframe-files`,n=!1){let r=hk(e);if(!r.length)throw Error(`Select at least one file.`);if(r.length===1&&!n){let e=r[0],t=await Yi(Tk(e)),n=gk(e.split(`/`).pop()??``,`download`);return _k(await vk(t,`GET`,`/api/files/raw`),n),n}let i=`/api/files/archive`,a=await Yi(i,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({paths:r})}),o=`${gk(t,`workframe-files`).replace(/\.zip$/i,``)}.zip`;return _k(await vk(a,`POST`,i),o),o}async function bk(e){let t=hk(e);if(!t.length)throw Error(`Select at least one file.`);let n=await Rm(`/api/files/delete`,{paths:t});JO=null;for(let e of n.deleted??t)Sk(e);return Ck(),typeof window<`u`&&window.dispatchEvent(new CustomEvent($O,{detail:{paths:n.deleted??t}})),n}function xk(){JO=null}function Sk(e){if(typeof window<`u`)try{e&&localStorage.removeItem(`${QO}${e.trim()}`)}catch{}if(e){YO.delete(e.trim());return}YO.clear()}function Ck(){if(!(typeof window>`u`))try{localStorage.removeItem(XO),localStorage.removeItem(ZO)}catch{}}function wk(e){return e.trim().replace(/\\/g,`/`).replace(/^\/workspace(?:\/|$)/i,``).replace(/^workspace(?:\/|$)/i,``).replace(/^\/+/,``)}function Tk(e){return`/api/files/raw?path=${encodeURIComponent(wk(e))}`}function Ek(e){let t=wk(e);return t?`/api/files/workspace/${t.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`:`/api/files/workspace/`}function Dk(e){let t=`/hermes-dashboard`;return{ok:e.ok,dashboardUrl:e.dashboard_url||t,wsPath:`${t.replace(/\/$/,``)}/api/ws`,token:e.token||``,embeddedChat:!!e.embedded_chat,error:e.error}}async function Ok(){return Dk(await Lm(`/api/hermes/bootstrap`))}function kk(e){try{let t=JSON.parse(e);return t.method===`event`&&t.params?.type?{type:t.params.type,sessionId:String(t.params.session_id??``),payload:t.params.payload??{}}:t.type?{type:t.type,sessionId:``,payload:t.payload??{}}:null}catch{return null}}function Ak(e){let t=e.text??e.content??e.preview??``;return typeof t==`string`?t:String(t)}function jk(e){let t=e.name??e.tool_name??`tool`;return String(t)}var Mk=1,Nk=null,Pk=null,Fk=``,Ik=new Map,Lk=new Set;function Rk(e,t){let n=new URL(e,window.location.origin);return n.searchParams.set(`token`,t),`${n.protocol===`https:`?`wss:`:`ws:`}//${n.host}${n.pathname}${n.search}`}function zk(e){for(let[t,n]of Ik)window.clearTimeout(n.timer),n.reject(Error(e)),Ik.delete(t)}function Bk(){Pk&&=(Pk.onclose=null,Pk.close(),null),Nk=null,Fk=``,zk(`Hermes gateway connection closed`)}function Vk(e){let t;try{t=JSON.parse(e)}catch{return}if(t.method===`event`){let t=kk(e);if(t)for(let e of Lk)e(t);return}if(t.id==null||!Ik.has(t.id))return;let n=Ik.get(t.id);if(Ik.delete(t.id),window.clearTimeout(n.timer),t.error){n.reject(Error(t.error.message??`request failed`));return}n.resolve(t.result??{})}async function Hk(){if(Pk&&Pk.readyState===WebSocket.OPEN)return Pk;if(Nk){let e=await Nk;if(e.readyState===WebSocket.OPEN)return e;Nk=null}return Nk=(async()=>{let e=await Ok();if(!e.ok||!e.token)throw Error(e.error||`profile_dashboard_unavailable`);if(Pk&&Pk.readyState===WebSocket.OPEN&&Fk===e.wsPath)return Pk;Bk(),Fk=e.wsPath;let t=Rk(e.wsPath,e.token),n=new WebSocket(t);return await new Promise((e,t)=>{n.onopen=()=>e(),n.onerror=()=>t(Error(`Hermes gateway connection failed`))}),n.onmessage=e=>Vk(String(e.data)),n.onclose=()=>{Pk=null,Nk=null,Fk=``,zk(`Hermes gateway connection closed`)},Pk=n,n})(),Nk}async function Uk(e,t={},n=3e4){let r=await Hk(),i=Mk++;return new Promise((a,o)=>{let s=window.setTimeout(()=>{Ik.delete(i),o(Error(`${e} timed out`))},n);Ik.set(i,{resolve:e=>a(e),reject:o,timer:s}),r.send(JSON.stringify({jsonrpc:`2.0`,id:i,method:e,params:t}))})}async function Wk(e,t){return Uk(`image.attach`,{session_id:e,path:t})}function Gk({refs:e,bind:t,completeTurn:n,sessionReady:r,turnActive:i,profile:a,activeProfile:o,agentDisplayName:s,routes:c,crew:l,setActiveRoute:u,setTurnActive:d,setTurnStatus:f,setConnectError:p,setMessages:m,reloadHistory:h}){let{profileRef:g,templateProfileRef:_,roomIdRef:v,gatewaySidRef:b,turnActiveRef:x,streamMessageIdRef:S,pendingOutboundRef:C,finalizedTurnIdsRef:w,llmReadyRef:T}=e,{bindingVersion:E,requireBoundSessionId:D}=t,O=(0,y.useCallback)(e=>{w.current.has(e)||(w.current.add(e),m(t=>t.map(t=>t.id===e?{...t,ephemeral:!1}:t)),n())},[n,w,m]),k=(0,y.useCallback)(e=>{let t=S.current;t&&m(n=>n.some(e=>e.id===t)?n.map(n=>n.id===t?{...n,segments:e(n.segments)}:n):n)},[m,S]),A=(0,y.useCallback)(e=>{x.current=!0,d(!0),S.current=e,f(`Sending...`)},[d,f,S,x]),j=(0,y.useCallback)(e=>{if(b.current&&e.sessionId&&e.sessionId!==b.current||!x.current)return;let{type:t,payload:n}=e,r=jk(n),i=r===`_thinking`;switch(t){case`message.start`:f(`Running...`);break;case`status.update`:f(Ak(n)||null);break;case`thinking.delta`:case`reasoning.delta`:k(e=>DO(e,Ak(n))),f(`Thinking...`);break;case`tool.start`:k(e=>OO(e,r)),f(`Running ${r}...`);break;case`tool.progress`:if(i){f(`Thinking...`);break}k(e=>OO(e,r,Ak(n)));break;case`tool.complete`:if(i){f(null);break}k(e=>kO(e,r,String(n.summary??n.result_text??n.output??``))),f(null);break;case`tool.generating`:f(`Running ${r}...`);break;case`message.delta`:case`assistant.delta`:case`assistant.message`:case`message.final`:k(e=>TO(e,Ak(n))),f(`Writing...`);break;case`message.complete`:k(e=>EO(e,Ak(n))),f(null);break;case`error`:k(e=>TO(e,Si(n))),f(null);break}},[b,k,f,x]),M=(0,y.useCallback)(e=>{let{event:t,data:n}=e;switch(t){case`run.started`:{j({type:`status.update`,sessionId:``,payload:{text:`Running...`}});let e=S.current,t=String(n.model??``).trim(),r=String(n.llm_provider??``).trim();e&&(t||r)&&m(n=>n.map(n=>n.id===e?{...n,...t?{modelId:t}:{},...r?{llmProvider:r}:{}}:n));break}case`message.started`:j({type:`message.start`,sessionId:``,payload:n});break;case`thinking.delta`:case`reasoning.delta`:j({type:`thinking.delta`,sessionId:``,payload:{text:String(n.delta??n.text??n.content??``)}});break;case`message.delta`:case`assistant.delta`:j({type:`message.delta`,sessionId:``,payload:{text:String(n.delta??n.text??``)}});break;case`message.complete`:case`assistant.completed`:j({type:`message.complete`,sessionId:``,payload:{text:String(n.content??n.text??``)}});break;case`tool.started`:j({type:`tool.start`,sessionId:``,payload:{tool_name:n.tool_name,preview:n.preview}});break;case`tool.completed`:j({type:`tool.complete`,sessionId:``,payload:{tool_name:n.tool_name,output:n.preview??n.output??``}});break;case`tool.failed`:j({type:`tool.complete`,sessionId:``,payload:{tool_name:n.tool_name,output:n.preview??`Tool failed`}});break;case`tool.progress`:j({type:`tool.progress`,sessionId:``,payload:{tool_name:n.tool_name,preview:n.delta??n.preview??``}});break;case`error`:case`run.failed`:j({type:`error`,sessionId:``,payload:n});break;case`done`:break}},[j,m,S]),N=(0,y.useCallback)(async t=>{if(!r)return;let n=t.trim();if(!n)return;let i=n.match(/^\/([a-z][a-z0-9-]*)\s+([\s\S]*)$/);if(i&&c.some(e=>e.profile===i[1])){let e=i[1];if(n=i[2].trim(),!n)return;if(e!==g.current){C.current=n,u(e);return}}let a=g.current,o=_.current||a,y=o,b=s,k=new Date().toISOString(),j=`u-${Date.now()}`,N=`a-${Date.now()}`;w.current.delete(N),p(null);let P=nD(l,y)?.avatarUrl??null;m(e=>[...e,Wh(j,n,k),Uh(N,y,b,k,P)]),A(N);try{let t=v.current,r=D(),i=``,s=``,c=null;await WD({profile:a,session_id:r,room_id:t,source_id:e.sourceIdRef.current,client_id:e.clientIdRef.current,binding_version:E(o),text:n},e=>{M(e),e.event===`concierge`&&(c=li(e.data),i=bi(c)),(e.event===`assistant.delta`||e.event===`message.delta`)&&(i+=String(e.data.delta??e.data.text??``)),(e.event===`error`||e.event===`run.failed`)&&(c=li(e.data),s=bi(c),i=s),(e.event===`assistant.completed`||e.event===`message.complete`)&&(i=String(e.data.content??e.data.text??i)),e.event===`done`&&O(N)}),O(N),(c||!i.trim())&&m(e=>e.map(e=>e.id===N?c?{...e,ephemeral:!1,segments:[{kind:`concierge`,notice:c}]}:e.segments.length>0?e:{...e,segments:[{kind:`text`,text:Ci({streamError:s,llmReady:T.current??void 0})}]}:e)),h()}catch(e){x.current=!1,d(!1),S.current=null,f(null);let t=_i(e,`Send message`);p(t),SO(t,{id:t.code??`send-message`}),m(e=>e.filter(e=>e.id!==N))}},[s,M,A,E,l,O,T,C,g,e.clientIdRef,e.sourceIdRef,h,D,v,c,r,u,p,m,d,f,S,_,x,w]),P=(0,y.useCallback)(async t=>{if(!r)return;let n=g.current,i=_.current||n,a=i,o=s,c=new Date().toISOString(),u=`u-${Date.now()}`,y=`a-${Date.now()}`;w.current.delete(y);let C=t.name.replace(/[^\w.-]+/g,`_`)||`paste.png`,T=`uploads/${Date.now()}-${C}`,k=nD(l,a)?.avatarUrl??null;m(e=>[...e,Gh(u,T,C,c),Uh(y,a,o,c,k)]),A(y);try{let r=`/workspace/${(await mk(T,t)).replace(/^\/+/,``)}`,a=b.current||``,o=a&&!a.startsWith(`api:`)&&(await Wk(a,r)).text?.trim()||`[User attached image: ${r}]`,s=v.current;await WD({profile:n,session_id:D(),room_id:s,source_id:e.sourceIdRef.current,client_id:e.clientIdRef.current,binding_version:E(i),text:o},e=>{M(e),e.event===`done`&&O(y)}),O(y),h()}catch(e){x.current=!1,d(!1),S.current=null,f(null);let t=_i(e,`Image upload`);p(t),SO(t,{id:t.code??`image-upload`}),m(e=>e.filter(e=>e.id!==y))}},[s,M,A,E,l,O,w,b,g,e.clientIdRef,e.sourceIdRef,h,D,v,r,p,m,d,f,S,_,x]);return(0,y.useEffect)(()=>{if(!r||i)return;let e=C.current;!e||a!==o||(C.current=null,N(e))},[o,C,a,N,r,i]),{sendMessage:N,attachImage:P}}var Kk=(0,y.createContext)(null);function qk({children:e}){let{activeRoute:t,activeProfile:n,routes:r,setActiveRoute:i}=Zx(),{activeRoom:a}=$S(),{crew:o}=fD(`Workframe`),s=yD(a)?a:null,c=s?gD(s,n):``,[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)(`Workframe Agent`),[p,m]=(0,y.useState)(`Workframe Agent`),[h,g]=(0,y.useState)(null),[_,v]=(0,y.useState)(null),[b,S]=(0,y.useState)(!1),[C,w]=(0,y.useState)(null),[T,E]=(0,y.useState)(!1),[D,O]=(0,y.useState)(null),[k,A]=(0,y.useState)([]),j=BD(),M=(0,y.useMemo)(()=>{if(!s)return t?.displayName||`Agent`;let e=nD(o,c)?.display_name;if(e)return e;let n=s.name?.trim();return n&&!/^[0-9a-f-]{36}$/i.test(n)&&!/^u-[a-z0-9-]+$/i.test(n)?n:t?.displayName||`Workframe Agent`},[c,t?.displayName,s,o]),N=(0,y.useCallback)(()=>{j.turnActiveRef.current=!1,E(!1),j.streamMessageIdRef.current=null,O(null),A(e=>e.map(e=>e.ephemeral?{...e,ephemeral:!1}:e))},[j.streamMessageIdRef,j.turnActiveRef]),P=CO({refs:j,agentDisplayName:d,activeProfile:n,setActiveRoute:i,setAgentDisplayName:f,setProfile:u,setStateDbSessionId:g,setGatewaySessionId:v,setMessages:A,setConnectError:w,setSessionReady:S,completeTurn:N}),F=qO({refs:j,bind:P,agentDisplayName:d,activeHermesProfile:c,setAgentDisplayName:f,setProfile:u,setStateDbSessionId:g,setGatewaySessionId:v,setMessages:A,setConnectError:w,setSessionReady:S,messages:k,completeTurn:N}),I=Gk({refs:j,bind:P,completeTurn:N,sessionReady:b,turnActive:T,profile:l,activeProfile:n,agentDisplayName:d,routes:r,crew:o,setActiveRoute:i,setTurnActive:E,setTurnStatus:O,setConnectError:w,setMessages:A,reloadHistory:F.reloadHistory}),L=(0,y.useRef)(P.useSessionForRoom);L.current=P.useSessionForRoom;let ee=(0,y.useRef)(M);if(ee.current=M,!j.initRef.current){j.initRef.current=!0;try{let e=new URL(window.location.href),t=(e.searchParams.get(`source`)||e.searchParams.get(`wf_source`)||``).trim();t&&(j.sourceIdRef.current=t)}catch{}j.clientIdRef.current=RD()}let R=s?.id??null;(0,y.useEffect)(()=>{if(!R)return;if(j.prevRoomKeyRef.current===R){j.stateDbSidRef.current&&S(!0);return}j.prevRoomKeyRef.current=R,console.log(`[workframe] bind:room`,R),j.nativeProfileRef.current=Hx();let e=gD(s,n);e&&e===j.nativeProfileRef.current&&zD(e,`${j.sourceIdRef.current}:${j.clientIdRef.current}`),Wx().then(e=>{j.nativeProfileRef.current=e.nativeProfile,m(e.projectName?`${e.projectName} Agent`:`Workframe Agent`)}),L.current(R,ee.current)},[s,R,n,j.clientIdRef,j.nativeProfileRef,j.prevRoomKeyRef,j.sourceIdRef,j.stateDbSidRef]);let te=(0,y.useMemo)(()=>({profile:l,agentDisplayName:d,nativeAgentName:p,stateDbSessionId:h,gatewaySessionId:_,sessionReady:b,connectError:C,turnActive:T,turnStatus:D,messages:k,startNewSession:P.startNewSession,resumeSession:F.resumeSession,reloadHistory:F.reloadHistory,sendMessage:I.sendMessage,attachImage:I.attachImage}),[l,d,p,h,_,b,C,T,D,k,P.startNewSession,F.resumeSession,F.reloadHistory,I.sendMessage,I.attachImage]);return(0,x.jsx)(Kk.Provider,{value:te,children:e})}function Jk(){let e=(0,y.useContext)(Kk);if(!e)throw Error(`useHermesSession must be used within HermesSessionProvider`);return e}function Yk({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{e&&(a(null),r(null),kh().then(r).catch(e=>a(e instanceof Error?e.message:`load failed`)))},[e]),(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Debug`,description:n?`Profile: ${n.profile}`:`Loading…`,contentClassName:`wf-dialog--debug`,children:[i&&(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}),n&&(0,x.jsxs)(`dl`,{className:`wf-dialog__status`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Profile`}),(0,x.jsx)(`dd`,{children:n.profile})]}),(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Python`}),(0,x.jsx)(`dd`,{children:n.python_version.split(`
57
- `)[0]})]}),(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Platform`}),(0,x.jsx)(`dd`,{children:n.platform})]}),(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Sessions`}),(0,x.jsx)(`dd`,{children:n.session_count})]}),(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Messages`}),(0,x.jsx)(`dd`,{children:n.message_count})]})]})]})}function Xk({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{e&&(a(null),r(null),jh().then(r).catch(e=>a(e instanceof Error?e.message:`load failed`)))},[e]),(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Google Quota`,description:n?`Profile: ${n.profile}`:`Loading…`,contentClassName:`wf-dialog--gquota`,children:[i&&(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}),n&&!n.configured&&(0,x.jsx)(`p`,{className:`wf-dialog__hint`,children:n.message}),n&&n.configured&&(0,x.jsx)(`dl`,{className:`wf-dialog__status`,children:(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Profile`}),(0,x.jsx)(`dd`,{children:n.profile})]})})]})}function Zk({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)([]),[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(``);(0,y.useEffect)(()=>{if(!e){s(``);return}a(null),gh().then(r).catch(e=>a(e instanceof Error?e.message:`Could not load commands`))},[e]);let c=(0,y.useMemo)(()=>{let e=o.trim().toLowerCase(),t=n.filter(e=>e.wired!==!1),r=e?t.filter(t=>t.name.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||(t.aliases??[]).some(t=>t.toLowerCase().includes(e))):t,i=new Map;for(let e of r){let t=i.get(e.category)??[];t.push(e),i.set(e.category,t)}return[...i.entries()].map(([e,t])=>({category:e,commands:t}))},[n,o]);return(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Slash commands`,description:`Type a command in the composer (start with /) and press Enter. Every command listed here is available now.`,contentClassName:`wf-dialog--help`,children:[(0,x.jsx)(`input`,{type:`search`,className:`wf-dialog__search`,placeholder:`Filter commands…`,value:o,onChange:e=>s(e.target.value),autoFocus:!0,"aria-label":`Filter commands`}),i?(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}):null,(0,x.jsx)(Zc,{axis:`vertical`,className:`wf-dialog__list`,children:c.map(e=>(0,x.jsxs)(`div`,{className:`wf-dialog__group`,children:[(0,x.jsx)(`p`,{className:`wf-dialog__group-label`,children:e.category}),e.commands.map(e=>(0,x.jsxs)(`div`,{className:`wf-dialog__help-row`,children:[(0,x.jsxs)(`span`,{className:`wf-dialog__option-label`,children:[e.name,e.aliases&&e.aliases.length>0?(0,x.jsx)(`span`,{className:`wf-dialog__option-aliases`,children:e.aliases.map(e=>` ${e}`).join(``)}):null]}),e.args_hint?(0,x.jsx)(`span`,{className:`wf-dialog__option-id`,children:e.args_hint}):null,(0,x.jsx)(`span`,{className:`wf-dialog__option-desc`,children:e.description})]},e.name))]},e.category))})]})}function Qk({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{e&&(a(null),r(null),Ah().then(r).catch(e=>a(e instanceof Error?e.message:`load failed`)))},[e]),(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Insights`,description:n?`Profile: ${n.profile} · last 7 days`:`Loading…`,contentClassName:`wf-dialog--insights`,children:[i&&(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}),n&&(0,x.jsxs)(x.Fragment,{children:[n.daily.length>0&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`p`,{className:`wf-dialog__section-label`,children:`Daily usage`}),(0,x.jsxs)(`table`,{className:`wf-dialog__table`,children:[(0,x.jsx)(`thead`,{children:(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`th`,{children:`Day`}),(0,x.jsx)(`th`,{children:`Sessions`}),(0,x.jsx)(`th`,{children:`Input`}),(0,x.jsx)(`th`,{children:`Output`})]})}),(0,x.jsx)(`tbody`,{children:n.daily.map(e=>(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`td`,{children:e.day}),(0,x.jsx)(`td`,{children:e.sessions}),(0,x.jsx)(`td`,{children:e.input_tokens.toLocaleString()}),(0,x.jsx)(`td`,{children:e.output_tokens.toLocaleString()})]},e.day))})]})]}),n.models.length>0&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`p`,{className:`wf-dialog__section-label`,children:`Models`}),(0,x.jsxs)(`table`,{className:`wf-dialog__table`,children:[(0,x.jsx)(`thead`,{children:(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`th`,{children:`Model`}),(0,x.jsx)(`th`,{children:`Sessions`}),(0,x.jsx)(`th`,{children:`Input tokens`})]})}),(0,x.jsx)(`tbody`,{children:n.models.map(e=>(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`td`,{children:e.model}),(0,x.jsx)(`td`,{children:e.sessions}),(0,x.jsx)(`td`,{children:e.input_tokens.toLocaleString()})]},e.model))})]})]})]})]})}function $k({modelId:e,providerId:t=``,hasProvider:n=!0,onConnectProvider:r,readOnly:i=!1,onOpenAgentModels:a}){let{openModelPicker:o}=ND(),s=!n,c=s?`Connect provider`:Bh(t,e),l=Ih(e),u=vm(t)?t:l&&vm(l)?l:vm(e.split(`/`)[0]??``)?e.split(`/`)[0]:``;return(0,x.jsxs)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarText`,className:K(`wf-composer__model-trigger`,s&&`wf-composer__model-trigger--inactive`),"aria-label":s?`Connect a model provider`:i?`Agent model: ${c}. Open agent settings to change.`:`Active model: ${c}. Click to change.`,title:s?`Connect OpenRouter or another LLM integration`:i?`Change model in Agent Settings → LLM Models`:e||`Model from Hermes profile`,onClick:()=>{if(s){r?.();return}if(i){a?.();return}o()},children:[!s&&u?(0,x.jsx)(bm,{providerId:u,className:`wf-composer__model-provider`}):null,(0,x.jsx)(`span`,{children:c})]})}var eA=[{id:`default`,name:`Default`,description:`Standard Workframe Agent personality`},{id:`concise`,name:`Concise`,description:`Brief, to-the-point responses`},{id:`detailed`,name:`Detailed`,description:`Thorough, comprehensive responses`},{id:`friendly`,name:`Friendly`,description:`Warm, conversational tone`},{id:`professional`,name:`Professional`,description:`Formal, business-appropriate tone`}];function tA({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null);return(0,y.useEffect)(()=>{e||r(null)},[e]),(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Personality`,description:`Choose a personality for the active session`,contentClassName:`wf-dialog--personality`,children:[(0,x.jsx)(Zc,{axis:`vertical`,className:`wf-dialog__list`,children:eA.map(e=>(0,x.jsxs)(`button`,{type:`button`,className:`wf-dialog__option`,"data-selected":n===e.id?`true`:void 0,onClick:()=>r(e.id),children:[(0,x.jsx)(`span`,{className:`wf-dialog__option-label`,children:e.name}),(0,x.jsx)(`span`,{className:`wf-dialog__option-desc`,children:e.description})]},e.id))}),n&&(0,x.jsxs)(`p`,{className:`wf-dialog__hint`,children:[`Selected: `,(0,x.jsx)(`strong`,{children:eA.find(e=>e.id===n)?.name}),` — click to apply (coming in next slice)`]})]})}function nA({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{e&&(a(null),r(null),wh().then(r).catch(e=>a(e instanceof Error?e.message:`load failed`)))},[e]),(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Profile`,description:n?`Active: ${n.profile}`:`Loading…`,contentClassName:`wf-dialog--profile`,children:[i&&(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}),n&&(0,x.jsxs)(`div`,{className:`wf-dialog__profile`,children:[(0,x.jsx)(`p`,{className:`wf-dialog__profile-name`,children:n.profile}),n.description&&(0,x.jsx)(`p`,{className:`wf-dialog__profile-desc`,children:n.description}),(0,x.jsxs)(`p`,{className:`wf-dialog__profile-state`,children:[`Gateway: `,n.gateway_running?`running`:`stopped`]}),n.session&&(0,x.jsxs)(`dl`,{className:`wf-dialog__status`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Session`}),(0,x.jsx)(`dd`,{children:n.session.title||n.session.id})]}),(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Messages`}),(0,x.jsx)(`dd`,{children:n.session.message_count})]})]})]})]})}var rA=8,iA=6,aA=360,oA=360,sA=41,cA=(0,y.forwardRef)(function({anchor:e,isOpen:t,onClose:n,header:r,items:i,onSelect:a,filter:o,emptyMessage:s,minWidth:c=oA},l){let[u,d]=(0,y.useState)(0),[f,p]=(0,y.useState)(null),m=(0,y.useRef)([]),h=(0,y.useMemo)(()=>{if(!o)return i;let e=o.toLowerCase();return i.filter(t=>t.name.toLowerCase().startsWith(e)||t.name.slice(1).toLowerCase().startsWith(e)||t.aliases?.some(t=>t.toLowerCase().startsWith(e)||t.slice(1).toLowerCase().startsWith(e))?!0:t.description?.toLowerCase().includes(e)??!1)},[i,o]);if((0,y.useEffect)(()=>{d(0)},[o]),(0,y.useEffect)(()=>{let e=m.current[u];e&&e.scrollIntoView({block:`nearest`})},[u]),(0,y.useEffect)(()=>{if(!t||!e){p(null);return}let n=()=>{let t=e.getBoundingClientRect(),n=Math.min(Math.max(c,t.width),window.innerWidth-rA*2),r=t.left;r+n>window.innerWidth-rA&&(r=window.innerWidth-rA-n),r<rA&&(r=rA);let i=window.innerHeight-t.top+iA,a=Math.min(aA,Math.max(120,t.top-iA-rA));p({bottom:i,left:r,width:n,maxHeight:a})};n();let r=()=>n(),i=()=>n();return window.addEventListener(`scroll`,r,!0),window.addEventListener(`resize`,i),()=>{window.removeEventListener(`scroll`,r,!0),window.removeEventListener(`resize`,i)}},[t,e,c]),(0,y.useEffect)(()=>{if(!t)return;let e=e=>{e.key===`Escape`&&(e.stopPropagation(),n())};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[t,n]),(0,y.useImperativeHandle)(l,()=>({up:()=>{h.length!==0&&d(e=>(e-1+h.length)%h.length)},down:()=>{h.length!==0&&d(e=>(e+1)%h.length)},accept:()=>{let e=h[u];e&&a(e)}}),[h,u,a]),!t||!f)return null;let g={position:`fixed`,bottom:f.bottom,left:f.left,width:f.width,maxHeight:f.maxHeight,zIndex:1e3};return(0,x.jsxs)(`div`,{className:`wf-popover`,role:`listbox`,"aria-label":r.label,style:g,children:[(0,x.jsxs)(`div`,{className:`wf-popover__header`,children:[(0,x.jsx)(`span`,{className:`wf-popover__label`,children:r.label}),(0,x.jsx)(`span`,{className:`wf-popover__hint`,children:r.hint})]}),(0,x.jsx)(Zc,{axis:`vertical`,className:`wf-popover__list`,style:{maxHeight:f.maxHeight-sA},children:h.length===0?(0,x.jsx)(`p`,{className:`wf-popover__empty`,children:s??`No matches`}):h.map((e,t)=>{let n=t===u;return(0,x.jsxs)(`button`,{type:`button`,ref:e=>{m.current[t]=e},role:`option`,"aria-selected":n,"data-selected":n?`true`:void 0,className:`wf-popover__row`,onMouseEnter:()=>d(t),onClick:()=>a(e),children:[e.avatarName?(0,x.jsx)(aD,{src:e.avatarUrl,name:e.avatarName,size:`sm`,className:`wf-popover__row-avatar`}):null,(0,x.jsxs)(`div`,{className:`wf-popover__row-copy`,children:[(0,x.jsxs)(`div`,{className:`wf-popover__row-header`,children:[(0,x.jsx)(`span`,{className:`wf-popover__row-name`,children:e.name}),e.aliases&&e.aliases.length>0?(0,x.jsx)(`span`,{className:`wf-popover__row-aliases`,children:e.aliases.map(e=>` ${e}`).join(``)}):null,e.argsHint?(0,x.jsx)(`span`,{className:`wf-popover__row-args`,children:e.argsHint}):null]}),e.description?(0,x.jsx)(`span`,{className:`wf-popover__row-desc`,children:e.description}):null,e.meta?(0,x.jsx)(`div`,{className:`wf-popover__row-meta`,children:e.meta}):null]})]},e.id)})})]})});function lA({onPick:e}){let[t,n]=(0,y.useState)(!1),[r,i]=(0,y.useState)([]),[a,o]=(0,y.useState)(null),s=(0,y.useRef)(null);(0,y.useEffect)(()=>{hh().then(e=>{i(e)}).catch(e=>{i([]),o(e instanceof Error?e.message:`Could not load skills`)})},[]),(0,y.useEffect)(()=>{if(!t)return;let e=e=>{let t=e.target;t&&(s.current?.contains(t)||t instanceof Element&&t.closest(`.wf-popover`)||n(!1))};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[t]);let c=r.map(e=>({id:e.name,name:`/${e.name}`,description:e.description}));return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(Wr,{ref:s,type:`button`,variant:`toolbar`,size:`toolbarText`,"aria-label":`Browse skills`,"aria-haspopup":`listbox`,"aria-expanded":t,onClick:()=>n(e=>!e),children:[(0,x.jsx)(wt,{"aria-hidden":`true`}),(0,x.jsx)(`span`,{children:`Skills`})]}),(0,x.jsx)(cA,{anchor:s.current,isOpen:t,onClose:()=>n(!1),header:{label:`Skills`,hint:`click to invoke`},items:c,onSelect:t=>{let i=r.find(e=>e.name===t.id);i&&e(i),n(!1)},emptyMessage:a??`No skills installed`,minWidth:380})]})}var uA=(0,y.forwardRef)(function({anchor:e,isOpen:t,value:n,onPick:r},i){let[a,o]=(0,y.useState)([]),s=(0,y.useRef)(null),c=(0,y.useRef)(!1);if((0,y.useEffect)(()=>{c.current||(c.current=!0,gh().then(e=>o(e)).catch(()=>o([])))},[]),(0,y.useImperativeHandle)(i,()=>({up:()=>s.current?.up(),down:()=>s.current?.down(),accept:()=>s.current?.accept()}),[]),!t)return null;let l=n.startsWith(`/`)?n.slice(1):``;return(0,x.jsx)(cA,{ref:s,anchor:e,isOpen:t,onClose:()=>{},header:{label:`Slash commands`,hint:`↑↓ navigate · Tab complete · ↵ dispatch`},items:a.map(e=>({id:e.name,name:e.name,description:e.description,aliases:e.aliases,argsHint:e.args_hint||void 0})),onSelect:e=>{let t=a.find(t=>t.name===e.id);t&&r(t)},filter:l,emptyMessage:`No commands match /${l}`})}),dA=(0,y.forwardRef)(function({anchor:e,isOpen:t,query:n,agents:r,onPick:i},a){let o=(0,y.useRef)(null);(0,y.useImperativeHandle)(a,()=>({up:()=>o.current?.up(),down:()=>o.current?.down(),accept:()=>o.current?.accept()}),[]);let s=(0,y.useMemo)(()=>r.map(e=>({id:e.slug,name:`@${e.handle}`,description:[e.name,e.tagline||e.role||(e.kind===`agent`?`Agent`:`Contact`)].filter(Boolean).join(` · `),avatarUrl:e.avatarUrl,avatarName:e.name})),[r]);return t?(0,x.jsx)(cA,{ref:o,anchor:e,isOpen:t,onClose:()=>{},header:{label:`People & agents`,hint:`↑↓ navigate · Tab complete`},items:s,filter:n,emptyMessage:n?`No people or agents match @${n}`:`No people or agents in this room`,onSelect:e=>{let t=r.find(t=>t.slug===e.id);t&&i(t)}}):null});function fA({open:e,onOpenChange:t}){let{profile:n,agentDisplayName:r,sessionReady:i,messages:a,stateDbSessionId:o,gatewaySessionId:s}=Jk(),{activeRoom:c}=$S(),[l,u]=(0,y.useState)(null),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(null);(0,y.useEffect)(()=>{e&&(m(null),Promise.all([qh().then(u),n?vh(n,c?.workspace_id??``).then(e=>f(e.primary||e.default_primary||``)):Promise.resolve()]).catch(e=>m(e instanceof Error?e.message:`load failed`)))},[c?.workspace_id,e,n]);let h=[{label:`Profile`,value:n||`—`},{label:`Agent`,value:r||`—`},{label:`Session ready`,value:i?`yes`:`no`},{label:`state.db session`,value:o?o.slice(0,12)+`…`:`—`},{label:`Gateway session`,value:s?s.slice(0,16)+`…`:`—`},{label:`Messages loaded`,value:String(a.length)},{label:`Project`,value:l?.project_name??`—`},{label:`Native profile`,value:l?.native_profile??`—`},{label:`Native agent`,value:l?.native_agent_name??`—`},{label:`Active model`,value:d||`—`}];return(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Session status`,description:`Live snapshot of the active session and profile.`,contentClassName:`wf-dialog--status`,children:[p?(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:p}):null,(0,x.jsx)(`dl`,{className:`wf-dialog__status`,children:h.map(e=>(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:e.label}),(0,x.jsx)(`dd`,{children:e.value})]},e.label))})]})}function pA({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null);(0,y.useEffect)(()=>{e&&(a(null),r(null),Sh().then(e=>{if(!e.ok){a(e.error??`Could not load usage`);return}r(e)}).catch(e=>a(e instanceof Error?e.message:`load failed`)))},[e]);let o=[];if(n?.session){let e=n.session;o.push({label:`Session`,value:e.title||e.id}),o.push({label:`Session id`,value:e.id}),o.push({label:`Model`,value:e.model}),o.push({label:`Messages`,value:String(e.message_count)}),o.push({label:`Tool calls`,value:String(e.tool_call_count)}),o.push({label:`Input tokens`,value:e.input_tokens.toLocaleString()}),o.push({label:`Output tokens`,value:e.output_tokens.toLocaleString()}),o.push({label:`Total tokens`,value:e.total_tokens.toLocaleString()}),o.push({label:`Started`,value:e.started_at??`—`}),o.push({label:`Ended`,value:e.ended_at??`still active`})}return(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Token usage`,description:n?`Profile: ${n.profile}${n.session?``:` · no session found`}`:`Loading usage…`,contentClassName:`wf-dialog--usage`,children:[i?(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}):null,!n&&!i?(0,x.jsx)(`p`,{className:`wf-dialog__hint`,children:`Loading…`}):null,n&&!n.session?(0,x.jsx)(`p`,{className:`wf-dialog__hint`,children:`No session found for this profile.`}):null,o.length>0?(0,x.jsx)(`dl`,{className:`wf-dialog__status`,children:o.map(e=>(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:e.label}),(0,x.jsx)(`dd`,{children:e.value})]},e.label))}):null]})}function mA(e){let t=(0,y.useRef)(null),n=(0,y.useRef)(null),r=(0,y.useRef)(null);return(0,y.useLayoutEffect)(()=>{let i=t.current,a=n.current,o=r.current;if(!i||!a||!o||!e)return;let s=()=>{let t=getComputedStyle(i),n=getComputedStyle(o),r=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),a=parseFloat(t.gap)||0,s=parseFloat(n.lineHeight)||20,c=parseFloat(n.paddingTop)+parseFloat(n.paddingBottom),l=parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),u=s+c+l,d=Array.from(i.children).filter(e=>{if(!(e instanceof HTMLElement)||e===o)return!1;let t=getComputedStyle(e);return t.position!==`absolute`&&t.display!==`none`&&e.offsetHeight>0}),f=d.reduce((e,t)=>e+t.offsetHeight,0),p=d.length;e(Math.ceil(r+f+a*p+u))};s();let c=new ResizeObserver(s);return c.observe(i),c.observe(a),()=>c.disconnect()},[e]),{rootRef:t,toolbarRef:n,textareaRef:r}}function hA(){let{startNewSession:e}=Jk(),{openModelPicker:t}=ND(),{activeProfile:n}=Zx(),{activeRoom:r}=$S(),i=vD(r,n),a=r?.workspace_id??``,[o,s]=(0,y.useState)(null),[c,l]=(0,y.useState)(!1);return{dispatch:(0,y.useCallback)(async n=>{let r=n.trim();if(!r.startsWith(`/`)){let e={ok:!1,error:`not a slash command`,line:r};return s(e),e}l(!0);try{let n=await _h(r);if(!n.ok)return s(n),n;if(n.dispatched===`client`&&n.handler===`openModelSwitcher`&&n.args)try{let e=await bh(n.args,i,a);if(!e.ok){let t={ok:!1,error:e.error??`model set failed`,command:n.command};return s(t),t}Jh();let t={ok:!0,dispatched:`client`,command:n.command,handler:n.handler,message:`Model set to ${e.model}`};return s(t),t}catch(e){let t={ok:!1,error:e instanceof Error?e.message:`model set failed`,command:n.command};return s(t),t}if(n.dispatched===`client`&&n.handler)switch(n.handler){case`startNewSession`:case`clearMessages`:await e();break;case`openModelSwitcher`:n.args?.trim()||t();break;case`openHelp`:case`openStatus`:case`openUsage`:case`openProfile`:case`openDebug`:case`openInsights`:case`openGquota`:case`openSkills`:case`openPersonality`:break;default:break}else if(n.dispatched===`gateway`){try{let e=await Ch(n.command+(n.args?` ${n.args}`:``));if(e.ok){let t=e.output?`${e.command}: ${e.output.slice(0,200)}`:`${e.command}: done`;s({ok:!0,dispatched:`noop`,command:n.command,message:t})}else s({ok:!1,error:e.error||e.output||`${e.command}: failed (rc=${e.rc})`,command:n.command})}catch(e){s({ok:!1,error:e instanceof Error?e.message:`gateway exec failed`,command:n.command})}return n}return s(n),n}finally{l(!1)}},[e,t,i,a]),lastResult:o,busy:c}}function gA(e,t){let n=e.slice(0,Math.max(0,t)),r=n.match(/(?:^|[\s])@([\w-]*)$/);if(!r)return null;let i=r[1]??``;return{start:n.length-i.length-1,query:i}}function _A(e,t){if(e.dispatched===`client`&&e.handler)switch(e.handler){case`openModelSwitcher`:return t.openAgentModels(),!0;case`openHelp`:return t.openHelp(),!0;case`openStatus`:return t.openStatus(),!0;case`openUsage`:return t.openUsage(),!0;case`openProfile`:return t.openProfile(),!0;case`openDebug`:return t.openDebug(),!0;case`openInsights`:return t.openInsights(),!0;case`openGquota`:return t.openGquota(),!0;case`openSkills`:return t.openSkills(),!0;case`openPersonality`:return t.openPersonality(),!0;default:return!1}return!1}var vA=(0,y.forwardRef)(function({onMinHeightChange:e,onSend:t,onAttachImage:n,disabled:r=!1,turnActive:i=!1,turnStatus:a=null,placeholder:o=`Message Workframe Agent…`,showModelPicker:s=!0,mentionAgents:c=[],replyTo:l=null,onCancelReply:u},d){let[f,p]=(0,y.useState)(``),[m,h]=(0,y.useState)(0),[g,_]=(0,y.useState)(``),v=(0,y.useRef)(null),b=(0,y.useRef)(null),S=(0,y.useRef)(null),{rootRef:C,toolbarRef:w,textareaRef:T}=mA(e),{dispatch:E,lastResult:D,busy:O}=hA(),k=ND(),{profile:A}=Jk(),{activeProfile:j}=Zx(),{activeRoom:M,openUserSettings:N,openChatSettings:P}=$S(),F=(0,y.useMemo)(()=>vD(M,j),[M,j]),I=M?.workspace_id??``,[L,ee]=(0,y.useState)(!1),[R,te]=(0,y.useState)(``),z=(0,y.useCallback)(()=>{!s||!F||vh(F,I).then(e=>{if(!e.ok){_(``),ee(!1),te(``);return}ee(!!e.has_llm_provider),_(e.primary||``),te(e.billing_provider||e.provider||``)}).catch(()=>{_(``),ee(!1),te(``)})},[F,I,s]);(0,y.useEffect)(()=>{if(!s){_(``),te(``);return}if(!F){_(``),ee(!1),te(``);return}z()},[F,s,z]),(0,y.useEffect)(()=>{let e=e=>{let t=e.detail;t?.profile&&t.profile!==F||z()};return window.addEventListener(`workframe:hermes-models-changed`,e),()=>window.removeEventListener(`workframe:hermes-models-changed`,e)},[F,z]);let B=f.startsWith(`/`)&&!/\s/.test(f.slice(1)),V=gA(f,m),ne=!B&&!i&&c.length>0&&V!==null;(0,y.useImperativeHandle)(d,()=>({insertMention:e=>{let t=`@${e} `;p(e=>e.trim()?`${e.trimEnd()} ${t}`:t),h(t.length),requestAnimationFrame(()=>{let e=T.current;if(!e)return;e.focus();let t=e.value.length;e.setSelectionRange(t,t),h(t)})},focus:()=>{T.current?.focus()}}),[T]);function re(e){if(!V)return;let t=f.slice(0,V.start),n=f.slice(m),r=`${t}@${e.handle} ${n}`,i=t.length+e.handle.length+2;p(r),h(i),requestAnimationFrame(()=>{let e=T.current;e&&(e.focus(),e.setSelectionRange(i,i))})}function H(){let e=f.trim();e&&(p(``),i?Nh(A,e):t?.(e))}async function ie(){let e=f.trim();if(e){if(e.startsWith(`/`)){await E(e),p(``);return}H()}}function U(e){!e||!e.type.startsWith(`image/`)||n?.(e)}let[ae,W]=(0,y.useState)(null);return(0,y.useEffect)(()=>{if(!D)return;let e=D;W(e.ok?e.message??`Ran ${e.command}`:e.error??`Command failed`),e.ok&&_A(e,{...k,openAgentModels:()=>P(`models`)}),e.ok&&e.command===`/model`&&z();let t=window.setTimeout(()=>W(null),3500);return()=>window.clearTimeout(t)},[D]),(0,x.jsxs)(`div`,{ref:C,className:`wf-composer`,children:[B?(0,x.jsx)(uA,{ref:b,anchor:T.current,isOpen:B,value:f,onPick:e=>{e.args_hint&&e.args_hint.length>0?(p(`${e.name} `),T.current?.focus()):(E(e.name),p(``))}}):null,ne&&V?(0,x.jsx)(dA,{ref:S,anchor:T.current,isOpen:ne,query:V.query,agents:c,onPick:re}):null,a||ae?(0,x.jsx)(`p`,{className:`wf-composer__turn-status`,role:`status`,"aria-live":`polite`,children:ae??a}):null,(0,x.jsx)(Qc,{ref:T,className:K(`wf-composer__input`,Jc,`wf-scroll--vertical`),rows:1,placeholder:i?`Steer the agent…`:o,value:f,disabled:r||O,onChange:e=>{p(e.target.value),h(e.target.selectionStart??e.target.value.length)},onSelect:e=>{let t=e.currentTarget;h(t.selectionStart??t.value.length)},onClick:e=>{let t=e.currentTarget;h(t.selectionStart??t.value.length)},onPaste:e=>{let t=e.clipboardData?.files?.[0];t?.type.startsWith(`image/`)&&(e.preventDefault(),U(t))},onKeyDown:e=>{if(ne){if(e.key===`Tab`){e.preventDefault(),S.current?.accept();return}if(e.key===`ArrowDown`){e.preventDefault(),S.current?.down();return}if(e.key===`ArrowUp`){e.preventDefault(),S.current?.up();return}}if(B){if(e.key===`Tab`){e.preventDefault(),b.current?.accept();return}if(e.key===`ArrowDown`){e.preventDefault(),b.current?.down();return}if(e.key===`ArrowUp`){e.preventDefault(),b.current?.up();return}}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ie())},"aria-label":i?`Steer input`:`Message input`}),(0,x.jsxs)(`div`,{ref:w,className:`wf-composer__toolbar`,children:[(0,x.jsx)(`div`,{className:`wf-composer__toolbar-start`,children:i?(0,x.jsxs)(`div`,{className:`wf-composer__working-context`,role:`status`,"aria-label":`Agent is working; messages steer the current turn`,children:[(0,x.jsx)(`span`,{className:`wf-composer__working-indicator`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`wf-composer__working-label`,children:`Steering current turn`})]}):l?(0,x.jsxs)(`div`,{className:`wf-composer__reply-context`,"aria-label":`Replying to ${l.authorName}`,title:l.preview,children:[(0,x.jsx)(gt,{className:`wf-composer__reply-context-icon`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`wf-composer__reply-context-author`,children:l.authorName}),(0,x.jsx)(`span`,{className:`wf-composer__reply-context-preview`,children:l.preview}),(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,className:`wf-composer__reply-context-close`,"aria-label":`Cancel reply`,onClick:u,children:(0,x.jsx)(Nt,{"aria-hidden":`true`})})]}):(0,x.jsxs)(x.Fragment,{children:[s?(0,x.jsx)($k,{modelId:g,providerId:R,hasProvider:L,onConnectProvider:()=>N(`connect`)}):null,(0,x.jsx)(lA,{onPick:e=>{E(`/${e.name}`)}})]})}),(0,x.jsxs)(`div`,{className:`wf-composer__actions`,children:[n?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`input`,{ref:v,type:`file`,accept:`image/*`,className:`wf-composer__file-input`,tabIndex:-1,"aria-hidden":`true`,onChange:e=>{U(e.target.files?.[0]),e.target.value=``}}),(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,"aria-label":`Attach image`,disabled:r,onClick:()=>v.current?.click(),children:(0,x.jsx)(ut,{"aria-hidden":`true`})})]}):null,(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,className:K(`wf-tool-btn--send`,i&&`wf-tool-btn--stop`),disabled:r||!i&&!f.trim(),onClick:()=>{i?(Mh(A),p(``)):ie()},"aria-label":i?`Stop the agent`:`Send message`,children:i?(0,x.jsx)(Et,{"aria-hidden":`true`}):(0,x.jsx)(bt,{"aria-hidden":`true`})})]})]}),(0,x.jsx)(Zk,{open:k.helpOpen,onOpenChange:k.closeHelp}),(0,x.jsx)(fA,{open:k.statusOpen,onOpenChange:k.closeStatus}),(0,x.jsx)(pA,{open:k.usageOpen,onOpenChange:k.closeUsage}),(0,x.jsx)(nA,{open:k.profileOpen,onOpenChange:k.closeProfile}),(0,x.jsx)(Yk,{open:k.debugOpen,onOpenChange:k.closeDebug}),(0,x.jsx)(Qk,{open:k.insightsOpen,onOpenChange:k.closeInsights}),(0,x.jsx)(Xk,{open:k.gquotaOpen,onOpenChange:k.closeGquota}),(0,x.jsx)(tA,{open:k.personalityOpen,onOpenChange:k.closePersonality})]})}),yA=(0,y.forwardRef)(function(e,t){return(0,x.jsx)(vA,{...e,ref:t})});function bA({open:e,onOpenChange:t,onChanged:n,profile:r,workspaceId:i,onConnectProvider:a}){let[o,s]=(0,y.useState)(),[c,l]=(0,y.useState)(null);return(0,x.jsx)(eE,{open:e,onClose:()=>t(!1),title:`LLM Models`,summary:o,titleId:`wf-model-picker-title`,sheetClassName:`wf-dialog-content--settings-compact`,actions:a?(0,x.jsx)(Dc,{onClick:()=>{t(!1),a()},children:`Connect provider`}):(0,x.jsx)(Dc,{onClick:()=>t(!1),children:`Close`}),children:(0,x.jsxs)(`div`,{className:`space-y-4`,role:`tabpanel`,children:[c?(0,x.jsx)(Oi,{message:c}):null,(0,x.jsx)(rg,{profile:r,workspaceId:i,embedded:!0,onError:l,onLoaded:e=>{s(Bh(e.billing_provider||e.provider||``,e.primary||``)||void 0)},onChanged:e=>{n?.(e),t(!1)}})]})})}function xA(){let{modelOpen:e,closeModelPicker:t}=ND(),{activeRoom:n,openUserSettings:r}=$S(),{activeProfile:i}=Zx(),a=vD(n,i);return(0,x.jsx)(bA,{open:e,onOpenChange:e=>{e||t()},profile:a,workspaceId:n?.workspace_id??``,onConnectProvider:()=>r(`connect`),onChanged:()=>yh(a)})}var SA=[`👍`,`❤️`,`🎉`,`🔥`,`😂`,`😮`,`😢`,`🙏`,`👀`,`✅`,`🚀`,`💡`];function CA({onReply:e,onReact:t}){return!e&&!t?null:(0,x.jsx)(kf,{delayDuration:350,children:(0,x.jsxs)(`div`,{className:`wf-message-actions`,role:`toolbar`,"aria-label":`Message actions`,children:[e?(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,className:`wf-message-actions__button`,"aria-label":`Reply to message`,onClick:e,children:(0,x.jsx)(gt,{"aria-hidden":`true`})})}),(0,x.jsx)(Mf,{side:`top`,children:`Reply`})]}):null,t?(0,x.jsxs)(qT,{children:[(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(JT,{asChild:!0,children:(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,className:`wf-message-actions__button`,"aria-label":`React to message`,children:(0,x.jsx)(Ct,{"aria-hidden":`true`})})})}),(0,x.jsx)(Mf,{side:`top`,children:`React`})]}),(0,x.jsx)(YT,{align:`end`,className:`wf-message-reaction-menu`,children:(0,x.jsx)(`div`,{className:`wf-message-reaction-menu__grid`,"aria-label":`Choose a reaction`,children:SA.map(e=>(0,x.jsx)(XT,{className:`wf-message-reaction-menu__item`,"aria-label":`React with ${e}`,onSelect:()=>t(e),children:(0,x.jsx)(`span`,{"aria-hidden":`true`,children:e})},e))})})]}):null]})})}function wA({reactions:e,onToggle:t}){return e.length?(0,x.jsx)(kf,{delayDuration:250,children:(0,x.jsx)(`div`,{className:`wf-message-reactions`,"aria-label":`Message reactions`,children:e.map(e=>{let n=e.reactors.map(e=>e.displayName).join(`, `);return(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsxs)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarText`,className:`wf-message-reaction`,"aria-label":`${e.emoji}, ${e.count} ${e.count===1?`reaction`:`reactions`}${n?` from ${n}`:``}`,"aria-pressed":e.reacted,onClick:()=>t?.(e.emoji),children:[(0,x.jsx)(`span`,{"aria-hidden":`true`,children:e.emoji}),(0,x.jsx)(`span`,{children:e.count})]})}),(0,x.jsx)(Mf,{side:`top`,className:`wf-message-reaction-tooltip`,children:e.reactors.length?(0,x.jsx)(`div`,{className:`wf-message-reaction-tooltip__people`,children:e.reactors.map(e=>(0,x.jsxs)(`span`,{className:`wf-message-reaction-tooltip__person`,children:[(0,x.jsx)(aD,{src:e.avatarUrl,name:e.displayName,size:`xs`,className:`wf-message-reaction-tooltip__avatar`}),(0,x.jsx)(`span`,{children:e.displayName})]},e.userId))}):(0,x.jsxs)(`span`,{children:[e.count,` `,e.count===1?`reaction`:`reactions`]})})]},e.emoji)})})}):null}function TA({segment:e,glyph:t=`tool`}){let{name:n,status:r,output:i,preview:a}=e,o=r===`running`,s=r===`error`,c=t===`thinking`,l=c?pe:Ot,u=c&&o?`thinking`:r,d=(o?a:i)?.trim(),f=!!d,[p,m]=(0,y.useState)(!1),h=()=>m(e=>!e),g=o?(0,x.jsx)(Ye,{className:`wf-tool-run__icon wf-tool-run__icon--spin`,"aria-hidden":`true`}):s?(0,x.jsx)(_e,{className:`wf-tool-run__icon`,"aria-hidden":`true`}):(0,x.jsx)(ge,{className:`wf-tool-run__icon`,"aria-hidden":`true`});return(0,x.jsxs)(`div`,{className:K(`wf-tool-run`,o&&`wf-tool-run--running`,s&&`wf-tool-run--error`,!f&&`wf-tool-run--static`),children:[f?(0,x.jsxs)(`button`,{type:`button`,className:`wf-tool-run__header wf-tool-run__header--button`,onClick:h,"aria-expanded":p,"aria-label":`${n} ${u}`,title:p?`Collapse`:`Expand`,children:[(0,x.jsx)(me,{className:K(`wf-tool-run__chevron`,p&&`wf-tool-run__chevron--open`),"aria-hidden":`true`}),(0,x.jsx)(l,{className:`wf-tool-run__glyph`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`wf-tool-run__name`,children:n}),g]}):(0,x.jsxs)(`div`,{className:`wf-tool-run__header`,role:`status`,"aria-label":`${n} ${u}`,children:[(0,x.jsx)(l,{className:`wf-tool-run__glyph`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`wf-tool-run__name`,children:n}),g]}),p&&f?(0,x.jsx)(`pre`,{className:K(`wf-tool-run__output`,Jc,`wf-scroll--vertical`),children:d}):null]})}function EA({text:e,live:t=!1}){return(0,x.jsx)(TA,{glyph:`thinking`,segment:{kind:`tool`,name:`Thinking`,status:t?`running`:`done`,output:e,preview:e}})}var DA=[`Loading agent profile…`,`Securing credentials…`,`Assembling context…`,`Syncing ledger…`,`Initializing model…`,`Opening gateway…`],OA=2800;function kA(){let[e,t]=(0,y.useState)(0);return(0,y.useEffect)(()=>{if(DA.length<=1)return;let e=window.setInterval(()=>{t(e=>(e+1)%DA.length)},OA);return()=>window.clearInterval(e)},[]),(0,x.jsx)(`p`,{className:`wf-message__live-hint`,role:`status`,"aria-live":`polite`,children:DA[e]})}var AA=`modulepreload`,jA=function(e){return`/`+e},MA={},NA=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=jA(t,n),t in MA)return;MA[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:AA,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},PA=new Set([`mermaid`,`mmd`,`graph`,`flowchart`]),FA=/^(?:graph|flowchart|sequenceDiagram|classDiagram|stateDiagram|erDiagram|gantt|pie|gitGraph|journey|mindmap|timeline|quadrantChart|requirementDiagram|C4Context|C4Container|C4Component|C4Dynamic|C4Deployment|sankey|block|xychart|zenuml|packet|kanban|architecture|wireframe|treemap|sankey-beta|block-beta|xychart-beta)(?:-v\d+|-beta|-alpha)?$/i,IA={flowchart:{useMaxWidth:!1},sequence:{useMaxWidth:!1},gantt:{useMaxWidth:!1},class:{useMaxWidth:!1},state:{useMaxWidth:!1},er:{useMaxWidth:!1},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},requirement:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1},c4:{useMaxWidth:!1},mindmap:{useMaxWidth:!1},timeline:{useMaxWidth:!1},quadrantChart:{useMaxWidth:!1},xyChart:{useMaxWidth:!1},sankey:{useMaxWidth:!1},block:{useMaxWidth:!1}},LA={darkMode:!0,background:`transparent`,primaryColor:`#2d2640`,primaryTextColor:`#e8e8ee`,primaryBorderColor:`#9d8df5`,lineColor:`#c4c4cc`,secondaryColor:`#1e1e28`,tertiaryColor:`#12121a`,mainBkg:`#2d2640`,textColor:`#e8e8ee`,titleColor:`#f4f4f5`,nodeBorder:`#9d8df5`,clusterBkg:`#1e1e28`,edgeLabelBackground:`#1e1e28`,actorBorder:`#9d8df5`,actorBkg:`#2d2640`,actorTextColor:`#e8e8ee`,signalColor:`#e8e8ee`,signalTextColor:`#e8e8ee`,labelBoxBkgColor:`#2d2640`,labelBoxBorderColor:`#9d8df5`,labelTextColor:`#e8e8ee`,taskBkgColor:`#7c6cf0`,taskTextColor:`#f4f4f5`,taskTextLightColor:`#f4f4f5`,taskBorderColor:`#9d8df5`,sectionBkgColor:`#1e1e28`,altSectionBkgColor:`#2d2640`,gridColor:`#71717a`,todayLineColor:`#f472b6`,classText:`#e8e8ee`},RA=null;function zA(){return RA||=NA(async()=>{let{default:e}=await import(`./mermaid.core-CPPFZ0AZ.js`);return{default:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])).then(({default:e})=>(e.initialize({startOnLoad:!1,securityLevel:`loose`,theme:`dark`,themeVariables:LA,fontFamily:`Inter Tight, ui-sans-serif, system-ui, sans-serif`,...IA}),e)),RA}function BA(){return`wf-mmd-${Math.random().toString(36).slice(2,10)}`}function VA(e){return e.trim().split(/\s+/)[0]??``}function HA(e){let t=VA(e??``);if(!t)return!1;let n=t.toLowerCase();return PA.has(n)?!0:FA.test(t)}function UA(e,t){let n=t.replace(/\r\n/g,`
57
+ `)[0]})]}),(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Platform`}),(0,x.jsx)(`dd`,{children:n.platform})]}),(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Sessions`}),(0,x.jsx)(`dd`,{children:n.session_count})]}),(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Messages`}),(0,x.jsx)(`dd`,{children:n.message_count})]})]})]})}function Xk({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{e&&(a(null),r(null),jh().then(r).catch(e=>a(e instanceof Error?e.message:`load failed`)))},[e]),(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Google Quota`,description:n?`Profile: ${n.profile}`:`Loading…`,contentClassName:`wf-dialog--gquota`,children:[i&&(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}),n&&!n.configured&&(0,x.jsx)(`p`,{className:`wf-dialog__hint`,children:n.message}),n&&n.configured&&(0,x.jsx)(`dl`,{className:`wf-dialog__status`,children:(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Profile`}),(0,x.jsx)(`dd`,{children:n.profile})]})})]})}function Zk({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)([]),[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(``);(0,y.useEffect)(()=>{if(!e){s(``);return}a(null),gh().then(r).catch(e=>a(e instanceof Error?e.message:`Could not load commands`))},[e]);let c=(0,y.useMemo)(()=>{let e=o.trim().toLowerCase(),t=n.filter(e=>e.wired!==!1),r=e?t.filter(t=>t.name.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||(t.aliases??[]).some(t=>t.toLowerCase().includes(e))):t,i=new Map;for(let e of r){let t=i.get(e.category)??[];t.push(e),i.set(e.category,t)}return[...i.entries()].map(([e,t])=>({category:e,commands:t}))},[n,o]);return(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Slash commands`,description:`Type a command in the composer (start with /) and press Enter. Every command listed here is available now.`,contentClassName:`wf-dialog--help`,children:[(0,x.jsx)(`input`,{type:`search`,className:`wf-dialog__search`,placeholder:`Filter commands…`,value:o,onChange:e=>s(e.target.value),autoFocus:!0,"aria-label":`Filter commands`}),i?(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}):null,(0,x.jsx)(Zc,{axis:`vertical`,className:`wf-dialog__list`,children:c.map(e=>(0,x.jsxs)(`div`,{className:`wf-dialog__group`,children:[(0,x.jsx)(`p`,{className:`wf-dialog__group-label`,children:e.category}),e.commands.map(e=>(0,x.jsxs)(`div`,{className:`wf-dialog__help-row`,children:[(0,x.jsxs)(`span`,{className:`wf-dialog__option-label`,children:[e.name,e.aliases&&e.aliases.length>0?(0,x.jsx)(`span`,{className:`wf-dialog__option-aliases`,children:e.aliases.map(e=>` ${e}`).join(``)}):null]}),e.args_hint?(0,x.jsx)(`span`,{className:`wf-dialog__option-id`,children:e.args_hint}):null,(0,x.jsx)(`span`,{className:`wf-dialog__option-desc`,children:e.description})]},e.name))]},e.category))})]})}function Qk({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{e&&(a(null),r(null),Ah().then(r).catch(e=>a(e instanceof Error?e.message:`load failed`)))},[e]),(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Insights`,description:n?`Profile: ${n.profile} · last 7 days`:`Loading…`,contentClassName:`wf-dialog--insights`,children:[i&&(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}),n&&(0,x.jsxs)(x.Fragment,{children:[n.daily.length>0&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`p`,{className:`wf-dialog__section-label`,children:`Daily usage`}),(0,x.jsxs)(`table`,{className:`wf-dialog__table`,children:[(0,x.jsx)(`thead`,{children:(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`th`,{children:`Day`}),(0,x.jsx)(`th`,{children:`Sessions`}),(0,x.jsx)(`th`,{children:`Input`}),(0,x.jsx)(`th`,{children:`Output`})]})}),(0,x.jsx)(`tbody`,{children:n.daily.map(e=>(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`td`,{children:e.day}),(0,x.jsx)(`td`,{children:e.sessions}),(0,x.jsx)(`td`,{children:e.input_tokens.toLocaleString()}),(0,x.jsx)(`td`,{children:e.output_tokens.toLocaleString()})]},e.day))})]})]}),n.models.length>0&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`p`,{className:`wf-dialog__section-label`,children:`Models`}),(0,x.jsxs)(`table`,{className:`wf-dialog__table`,children:[(0,x.jsx)(`thead`,{children:(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`th`,{children:`Model`}),(0,x.jsx)(`th`,{children:`Sessions`}),(0,x.jsx)(`th`,{children:`Input tokens`})]})}),(0,x.jsx)(`tbody`,{children:n.models.map(e=>(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`td`,{children:e.model}),(0,x.jsx)(`td`,{children:e.sessions}),(0,x.jsx)(`td`,{children:e.input_tokens.toLocaleString()})]},e.model))})]})]})]})]})}function $k({modelId:e,providerId:t=``,hasProvider:n=!0,onConnectProvider:r,readOnly:i=!1,onOpenAgentModels:a}){let{openModelPicker:o}=ND(),s=!n,c=s?`Connect provider`:Bh(t,e),l=Ih(e),u=vm(t)?t:l&&vm(l)?l:vm(e.split(`/`)[0]??``)?e.split(`/`)[0]:``;return(0,x.jsxs)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarText`,className:K(`wf-composer__model-trigger`,s&&`wf-composer__model-trigger--inactive`),"aria-label":s?`Connect a model provider`:i?`Agent model: ${c}. Open agent settings to change.`:`Active model: ${c}. Click to change.`,title:s?`Connect OpenRouter or another LLM integration`:i?`Change model in Agent Settings → LLM Models`:e||`Model from Hermes profile`,onClick:()=>{if(s){r?.();return}if(i){a?.();return}o()},children:[!s&&u?(0,x.jsx)(bm,{providerId:u,className:`wf-composer__model-provider`}):null,(0,x.jsx)(`span`,{children:c})]})}var eA=[{id:`default`,name:`Default`,description:`Standard Workframe Agent personality`},{id:`concise`,name:`Concise`,description:`Brief, to-the-point responses`},{id:`detailed`,name:`Detailed`,description:`Thorough, comprehensive responses`},{id:`friendly`,name:`Friendly`,description:`Warm, conversational tone`},{id:`professional`,name:`Professional`,description:`Formal, business-appropriate tone`}];function tA({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null);return(0,y.useEffect)(()=>{e||r(null)},[e]),(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Personality`,description:`Choose a personality for the active session`,contentClassName:`wf-dialog--personality`,children:[(0,x.jsx)(Zc,{axis:`vertical`,className:`wf-dialog__list`,children:eA.map(e=>(0,x.jsxs)(`button`,{type:`button`,className:`wf-dialog__option`,"data-selected":n===e.id?`true`:void 0,onClick:()=>r(e.id),children:[(0,x.jsx)(`span`,{className:`wf-dialog__option-label`,children:e.name}),(0,x.jsx)(`span`,{className:`wf-dialog__option-desc`,children:e.description})]},e.id))}),n&&(0,x.jsxs)(`p`,{className:`wf-dialog__hint`,children:[`Selected: `,(0,x.jsx)(`strong`,{children:eA.find(e=>e.id===n)?.name}),` — click to apply (coming in next slice)`]})]})}function nA({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{e&&(a(null),r(null),wh().then(r).catch(e=>a(e instanceof Error?e.message:`load failed`)))},[e]),(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Profile`,description:n?`Active: ${n.profile}`:`Loading…`,contentClassName:`wf-dialog--profile`,children:[i&&(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}),n&&(0,x.jsxs)(`div`,{className:`wf-dialog__profile`,children:[(0,x.jsx)(`p`,{className:`wf-dialog__profile-name`,children:n.profile}),n.description&&(0,x.jsx)(`p`,{className:`wf-dialog__profile-desc`,children:n.description}),(0,x.jsxs)(`p`,{className:`wf-dialog__profile-state`,children:[`Gateway: `,n.gateway_running?`running`:`stopped`]}),n.session&&(0,x.jsxs)(`dl`,{className:`wf-dialog__status`,children:[(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Session`}),(0,x.jsx)(`dd`,{children:n.session.title||n.session.id})]}),(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:`Messages`}),(0,x.jsx)(`dd`,{children:n.session.message_count})]})]})]})]})}var rA=8,iA=6,aA=360,oA=360,sA=41,cA=(0,y.forwardRef)(function({anchor:e,isOpen:t,onClose:n,header:r,items:i,onSelect:a,filter:o,emptyMessage:s,minWidth:c=oA},l){let[u,d]=(0,y.useState)(0),[f,p]=(0,y.useState)(null),m=(0,y.useRef)([]),h=(0,y.useMemo)(()=>{if(!o)return i;let e=o.toLowerCase();return i.filter(t=>t.name.toLowerCase().startsWith(e)||t.name.slice(1).toLowerCase().startsWith(e)||t.aliases?.some(t=>t.toLowerCase().startsWith(e)||t.slice(1).toLowerCase().startsWith(e))?!0:t.description?.toLowerCase().includes(e)??!1)},[i,o]);if((0,y.useEffect)(()=>{d(0)},[o]),(0,y.useEffect)(()=>{let e=m.current[u];e&&e.scrollIntoView({block:`nearest`})},[u]),(0,y.useEffect)(()=>{if(!t||!e){p(null);return}let n=()=>{let t=e.getBoundingClientRect(),n=Math.min(Math.max(c,t.width),window.innerWidth-rA*2),r=t.left;r+n>window.innerWidth-rA&&(r=window.innerWidth-rA-n),r<rA&&(r=rA);let i=window.innerHeight-t.top+iA,a=Math.min(aA,Math.max(120,t.top-iA-rA));p({bottom:i,left:r,width:n,maxHeight:a})};n();let r=()=>n(),i=()=>n();return window.addEventListener(`scroll`,r,!0),window.addEventListener(`resize`,i),()=>{window.removeEventListener(`scroll`,r,!0),window.removeEventListener(`resize`,i)}},[t,e,c]),(0,y.useEffect)(()=>{if(!t)return;let e=e=>{e.key===`Escape`&&(e.stopPropagation(),n())};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[t,n]),(0,y.useImperativeHandle)(l,()=>({up:()=>{h.length!==0&&d(e=>(e-1+h.length)%h.length)},down:()=>{h.length!==0&&d(e=>(e+1)%h.length)},accept:()=>{let e=h[u];e&&a(e)}}),[h,u,a]),!t||!f)return null;let g={position:`fixed`,bottom:f.bottom,left:f.left,width:f.width,maxHeight:f.maxHeight,zIndex:1e3};return(0,x.jsxs)(`div`,{className:`wf-popover`,role:`listbox`,"aria-label":r.label,style:g,children:[(0,x.jsxs)(`div`,{className:`wf-popover__header`,children:[(0,x.jsx)(`span`,{className:`wf-popover__label`,children:r.label}),(0,x.jsx)(`span`,{className:`wf-popover__hint`,children:r.hint})]}),(0,x.jsx)(Zc,{axis:`vertical`,className:`wf-popover__list`,style:{maxHeight:f.maxHeight-sA},children:h.length===0?(0,x.jsx)(`p`,{className:`wf-popover__empty`,children:s??`No matches`}):h.map((e,t)=>{let n=t===u;return(0,x.jsxs)(`button`,{type:`button`,ref:e=>{m.current[t]=e},role:`option`,"aria-selected":n,"data-selected":n?`true`:void 0,className:`wf-popover__row`,onMouseEnter:()=>d(t),onClick:()=>a(e),children:[e.avatarName?(0,x.jsx)(aD,{src:e.avatarUrl,name:e.avatarName,size:`sm`,className:`wf-popover__row-avatar`}):null,(0,x.jsxs)(`div`,{className:`wf-popover__row-copy`,children:[(0,x.jsxs)(`div`,{className:`wf-popover__row-header`,children:[(0,x.jsx)(`span`,{className:`wf-popover__row-name`,children:e.name}),e.aliases&&e.aliases.length>0?(0,x.jsx)(`span`,{className:`wf-popover__row-aliases`,children:e.aliases.map(e=>` ${e}`).join(``)}):null,e.argsHint?(0,x.jsx)(`span`,{className:`wf-popover__row-args`,children:e.argsHint}):null]}),e.description?(0,x.jsx)(`span`,{className:`wf-popover__row-desc`,children:e.description}):null,e.meta?(0,x.jsx)(`div`,{className:`wf-popover__row-meta`,children:e.meta}):null]})]},e.id)})})]})});function lA({onPick:e}){let[t,n]=(0,y.useState)(!1),[r,i]=(0,y.useState)([]),[a,o]=(0,y.useState)(null),s=(0,y.useRef)(null);(0,y.useEffect)(()=>{hh().then(e=>{i(e)}).catch(e=>{i([]),o(e instanceof Error?e.message:`Could not load skills`)})},[]),(0,y.useEffect)(()=>{if(!t)return;let e=e=>{let t=e.target;t&&(s.current?.contains(t)||t instanceof Element&&t.closest(`.wf-popover`)||n(!1))};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[t]);let c=r.map(e=>({id:e.name,name:`/${e.name}`,description:e.description}));return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(Wr,{ref:s,type:`button`,variant:`toolbar`,size:`toolbarText`,"aria-label":`Browse skills`,"aria-haspopup":`listbox`,"aria-expanded":t,onClick:()=>n(e=>!e),children:[(0,x.jsx)(wt,{"aria-hidden":`true`}),(0,x.jsx)(`span`,{children:`Skills`})]}),(0,x.jsx)(cA,{anchor:s.current,isOpen:t,onClose:()=>n(!1),header:{label:`Skills`,hint:`click to invoke`},items:c,onSelect:t=>{let i=r.find(e=>e.name===t.id);i&&e(i),n(!1)},emptyMessage:a??`No skills installed`,minWidth:380})]})}var uA=(0,y.forwardRef)(function({anchor:e,isOpen:t,value:n,onPick:r},i){let[a,o]=(0,y.useState)([]),s=(0,y.useRef)(null),c=(0,y.useRef)(!1);if((0,y.useEffect)(()=>{c.current||(c.current=!0,gh().then(e=>o(e)).catch(()=>o([])))},[]),(0,y.useImperativeHandle)(i,()=>({up:()=>s.current?.up(),down:()=>s.current?.down(),accept:()=>s.current?.accept()}),[]),!t)return null;let l=n.startsWith(`/`)?n.slice(1):``;return(0,x.jsx)(cA,{ref:s,anchor:e,isOpen:t,onClose:()=>{},header:{label:`Slash commands`,hint:`↑↓ navigate · Tab complete · ↵ dispatch`},items:a.map(e=>({id:e.name,name:e.name,description:e.description,aliases:e.aliases,argsHint:e.args_hint||void 0})),onSelect:e=>{let t=a.find(t=>t.name===e.id);t&&r(t)},filter:l,emptyMessage:`No commands match /${l}`})}),dA=(0,y.forwardRef)(function({anchor:e,isOpen:t,query:n,agents:r,onPick:i},a){let o=(0,y.useRef)(null);(0,y.useImperativeHandle)(a,()=>({up:()=>o.current?.up(),down:()=>o.current?.down(),accept:()=>o.current?.accept()}),[]);let s=(0,y.useMemo)(()=>r.map(e=>({id:e.slug,name:`@${e.handle}`,description:[e.name,e.tagline||e.role||(e.kind===`agent`?`Agent`:`Contact`)].filter(Boolean).join(` · `),avatarUrl:e.avatarUrl,avatarName:e.name})),[r]);return t?(0,x.jsx)(cA,{ref:o,anchor:e,isOpen:t,onClose:()=>{},header:{label:`People & agents`,hint:`↑↓ navigate · Tab complete`},items:s,filter:n,emptyMessage:n?`No people or agents match @${n}`:`No people or agents in this room`,onSelect:e=>{let t=r.find(t=>t.slug===e.id);t&&i(t)}}):null});function fA({open:e,onOpenChange:t}){let{profile:n,agentDisplayName:r,sessionReady:i,messages:a,stateDbSessionId:o,gatewaySessionId:s}=Jk(),{activeRoom:c}=$S(),[l,u]=(0,y.useState)(null),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(null);(0,y.useEffect)(()=>{e&&(m(null),Promise.all([qh().then(u),n?vh(n,c?.workspace_id??``).then(e=>f(e.primary||e.default_primary||``)):Promise.resolve()]).catch(e=>m(e instanceof Error?e.message:`load failed`)))},[c?.workspace_id,e,n]);let h=[{label:`Profile`,value:n||`—`},{label:`Agent`,value:r||`—`},{label:`Session ready`,value:i?`yes`:`no`},{label:`state.db session`,value:o?o.slice(0,12)+`…`:`—`},{label:`Gateway session`,value:s?s.slice(0,16)+`…`:`—`},{label:`Messages loaded`,value:String(a.length)},{label:`Project`,value:l?.project_name??`—`},{label:`Native profile`,value:l?.native_profile??`—`},{label:`Native agent`,value:l?.native_agent_name??`—`},{label:`Active model`,value:d||`—`}];return(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Session status`,description:`Live snapshot of the active session and profile.`,contentClassName:`wf-dialog--status`,children:[p?(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:p}):null,(0,x.jsx)(`dl`,{className:`wf-dialog__status`,children:h.map(e=>(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:e.label}),(0,x.jsx)(`dd`,{children:e.value})]},e.label))})]})}function pA({open:e,onOpenChange:t}){let[n,r]=(0,y.useState)(null),[i,a]=(0,y.useState)(null);(0,y.useEffect)(()=>{e&&(a(null),r(null),Sh().then(e=>{if(!e.ok){a(e.error??`Could not load usage`);return}r(e)}).catch(e=>a(e instanceof Error?e.message:`load failed`)))},[e]);let o=[];if(n?.session){let e=n.session;o.push({label:`Session`,value:e.title||e.id}),o.push({label:`Session id`,value:e.id}),o.push({label:`Model`,value:e.model}),o.push({label:`Messages`,value:String(e.message_count)}),o.push({label:`Tool calls`,value:String(e.tool_call_count)}),o.push({label:`Input tokens`,value:e.input_tokens.toLocaleString()}),o.push({label:`Output tokens`,value:e.output_tokens.toLocaleString()}),o.push({label:`Total tokens`,value:e.total_tokens.toLocaleString()}),o.push({label:`Started`,value:e.started_at??`—`}),o.push({label:`Ended`,value:e.ended_at??`still active`})}return(0,x.jsxs)(uc,{open:e,onOpenChange:t,title:`Token usage`,description:n?`Profile: ${n.profile}${n.session?``:` · no session found`}`:`Loading usage…`,contentClassName:`wf-dialog--usage`,children:[i?(0,x.jsx)(`p`,{className:`wf-dialog__error`,children:i}):null,!n&&!i?(0,x.jsx)(`p`,{className:`wf-dialog__hint`,children:`Loading…`}):null,n&&!n.session?(0,x.jsx)(`p`,{className:`wf-dialog__hint`,children:`No session found for this profile.`}):null,o.length>0?(0,x.jsx)(`dl`,{className:`wf-dialog__status`,children:o.map(e=>(0,x.jsxs)(`div`,{className:`wf-dialog__status-row`,children:[(0,x.jsx)(`dt`,{children:e.label}),(0,x.jsx)(`dd`,{children:e.value})]},e.label))}):null]})}function mA(e){let t=(0,y.useRef)(null),n=(0,y.useRef)(null),r=(0,y.useRef)(null);return(0,y.useLayoutEffect)(()=>{let i=t.current,a=n.current,o=r.current;if(!i||!a||!o||!e)return;let s=()=>{let t=getComputedStyle(i),n=getComputedStyle(o),r=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),a=parseFloat(t.gap)||0,s=parseFloat(n.lineHeight)||20,c=parseFloat(n.paddingTop)+parseFloat(n.paddingBottom),l=parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth),u=s+c+l,d=Array.from(i.children).filter(e=>{if(!(e instanceof HTMLElement)||e===o)return!1;let t=getComputedStyle(e);return t.position!==`absolute`&&t.display!==`none`&&e.offsetHeight>0}),f=d.reduce((e,t)=>e+t.offsetHeight,0),p=d.length;e(Math.ceil(r+f+a*p+u))};s();let c=new ResizeObserver(s);return c.observe(i),c.observe(a),()=>c.disconnect()},[e]),{rootRef:t,toolbarRef:n,textareaRef:r}}function hA(){let{startNewSession:e}=Jk(),{openModelPicker:t}=ND(),{activeProfile:n}=Zx(),{activeRoom:r}=$S(),i=vD(r,n),a=r?.workspace_id??``,[o,s]=(0,y.useState)(null),[c,l]=(0,y.useState)(!1);return{dispatch:(0,y.useCallback)(async n=>{let r=n.trim();if(!r.startsWith(`/`)){let e={ok:!1,error:`not a slash command`,line:r};return s(e),e}l(!0);try{let n=await _h(r);if(!n.ok)return s(n),n;if(n.dispatched===`client`&&n.handler===`openModelSwitcher`&&n.args)try{let e=await bh(n.args,i,a);if(!e.ok){let t={ok:!1,error:e.error??`model set failed`,command:n.command};return s(t),t}Jh();let t={ok:!0,dispatched:`client`,command:n.command,handler:n.handler,message:`Model set to ${e.model}`};return s(t),t}catch(e){let t={ok:!1,error:e instanceof Error?e.message:`model set failed`,command:n.command};return s(t),t}if(n.dispatched===`client`&&n.handler)switch(n.handler){case`startNewSession`:case`clearMessages`:await e();break;case`openModelSwitcher`:n.args?.trim()||t();break;case`openHelp`:case`openStatus`:case`openUsage`:case`openProfile`:case`openDebug`:case`openInsights`:case`openGquota`:case`openSkills`:case`openPersonality`:break;default:break}else if(n.dispatched===`gateway`){try{let e=await Ch(n.command+(n.args?` ${n.args}`:``));if(e.ok){let t=e.output?`${e.command}: ${e.output.slice(0,200)}`:`${e.command}: done`;s({ok:!0,dispatched:`noop`,command:n.command,message:t})}else s({ok:!1,error:e.error||e.output||`${e.command}: failed (rc=${e.rc})`,command:n.command})}catch(e){s({ok:!1,error:e instanceof Error?e.message:`gateway exec failed`,command:n.command})}return n}return s(n),n}finally{l(!1)}},[e,t,i,a]),lastResult:o,busy:c}}function gA(e,t){let n=e.slice(0,Math.max(0,t)),r=n.match(/(?:^|[\s])@([\w-]*)$/);if(!r)return null;let i=r[1]??``;return{start:n.length-i.length-1,query:i}}function _A(e,t){if(e.dispatched===`client`&&e.handler)switch(e.handler){case`openModelSwitcher`:return t.openAgentModels(),!0;case`openHelp`:return t.openHelp(),!0;case`openStatus`:return t.openStatus(),!0;case`openUsage`:return t.openUsage(),!0;case`openProfile`:return t.openProfile(),!0;case`openDebug`:return t.openDebug(),!0;case`openInsights`:return t.openInsights(),!0;case`openGquota`:return t.openGquota(),!0;case`openSkills`:return t.openSkills(),!0;case`openPersonality`:return t.openPersonality(),!0;default:return!1}return!1}var vA=(0,y.forwardRef)(function({onMinHeightChange:e,onSend:t,onAttachImage:n,disabled:r=!1,turnActive:i=!1,turnStatus:a=null,placeholder:o=`Message Workframe Agent…`,showModelPicker:s=!0,mentionAgents:c=[],replyTo:l=null,onCancelReply:u},d){let[f,p]=(0,y.useState)(``),[m,h]=(0,y.useState)(0),[g,_]=(0,y.useState)(``),v=(0,y.useRef)(null),b=(0,y.useRef)(null),S=(0,y.useRef)(null),{rootRef:C,toolbarRef:w,textareaRef:T}=mA(e),{dispatch:E,lastResult:D,busy:O}=hA(),k=ND(),{profile:A}=Jk(),{activeProfile:j}=Zx(),{activeRoom:M,openUserSettings:N,openChatSettings:P}=$S(),F=(0,y.useMemo)(()=>vD(M,j),[M,j]),I=M?.workspace_id??``,[L,ee]=(0,y.useState)(!1),[R,te]=(0,y.useState)(``),z=(0,y.useCallback)(()=>{!s||!F||vh(F,I).then(e=>{if(!e.ok){_(``),ee(!1),te(``);return}ee(!!e.has_llm_provider),_(e.primary||``),te(e.billing_provider||e.provider||``)}).catch(()=>{_(``),ee(!1),te(``)})},[F,I,s]);(0,y.useEffect)(()=>{if(!s){_(``),te(``);return}if(!F){_(``),ee(!1),te(``);return}z()},[F,s,z]),(0,y.useEffect)(()=>{let e=e=>{let t=e.detail;t?.profile&&t.profile!==F||z()};return window.addEventListener(`workframe:hermes-models-changed`,e),()=>window.removeEventListener(`workframe:hermes-models-changed`,e)},[F,z]);let B=f.startsWith(`/`)&&!/\s/.test(f.slice(1)),V=gA(f,m),ne=!B&&!i&&c.length>0&&V!==null;(0,y.useImperativeHandle)(d,()=>({insertMention:e=>{let t=`@${e} `;p(e=>e.trim()?`${e.trimEnd()} ${t}`:t),h(t.length),requestAnimationFrame(()=>{let e=T.current;if(!e)return;e.focus();let t=e.value.length;e.setSelectionRange(t,t),h(t)})},focus:()=>{T.current?.focus()}}),[T]);function re(e){if(!V)return;let t=f.slice(0,V.start),n=f.slice(m),r=`${t}@${e.handle} ${n}`,i=t.length+e.handle.length+2;p(r),h(i),requestAnimationFrame(()=>{let e=T.current;e&&(e.focus(),e.setSelectionRange(i,i))})}function H(){let e=f.trim();e&&(p(``),i?Nh(A,e):t?.(e))}async function ie(){let e=f.trim();if(e){if(e.startsWith(`/`)){await E(e),p(``);return}H()}}function U(e){!e||!e.type.startsWith(`image/`)||n?.(e)}let[ae,W]=(0,y.useState)(null);return(0,y.useEffect)(()=>{if(!D)return;let e=D;W(e.ok?e.message??`Ran ${e.command}`:e.error??`Command failed`),e.ok&&_A(e,{...k,openAgentModels:()=>P(`models`)}),e.ok&&e.command===`/model`&&z();let t=window.setTimeout(()=>W(null),3500);return()=>window.clearTimeout(t)},[D]),(0,x.jsxs)(`div`,{ref:C,className:`wf-composer`,children:[B?(0,x.jsx)(uA,{ref:b,anchor:T.current,isOpen:B,value:f,onPick:e=>{e.args_hint&&e.args_hint.length>0?(p(`${e.name} `),T.current?.focus()):(E(e.name),p(``))}}):null,ne&&V?(0,x.jsx)(dA,{ref:S,anchor:T.current,isOpen:ne,query:V.query,agents:c,onPick:re}):null,a||ae?(0,x.jsx)(`p`,{className:`wf-composer__turn-status`,role:`status`,"aria-live":`polite`,children:ae??a}):null,(0,x.jsx)(Qc,{ref:T,className:K(`wf-composer__input`,Jc,`wf-scroll--vertical`),rows:1,placeholder:i?`Steer the agent…`:o,value:f,disabled:r||O,onChange:e=>{p(e.target.value),h(e.target.selectionStart??e.target.value.length)},onSelect:e=>{let t=e.currentTarget;h(t.selectionStart??t.value.length)},onClick:e=>{let t=e.currentTarget;h(t.selectionStart??t.value.length)},onPaste:e=>{let t=e.clipboardData?.files?.[0];t?.type.startsWith(`image/`)&&(e.preventDefault(),U(t))},onKeyDown:e=>{if(ne){if(e.key===`Tab`){e.preventDefault(),S.current?.accept();return}if(e.key===`ArrowDown`){e.preventDefault(),S.current?.down();return}if(e.key===`ArrowUp`){e.preventDefault(),S.current?.up();return}}if(B){if(e.key===`Tab`){e.preventDefault(),b.current?.accept();return}if(e.key===`ArrowDown`){e.preventDefault(),b.current?.down();return}if(e.key===`ArrowUp`){e.preventDefault(),b.current?.up();return}}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ie())},"aria-label":i?`Steer input`:`Message input`}),(0,x.jsxs)(`div`,{ref:w,className:`wf-composer__toolbar`,children:[(0,x.jsx)(`div`,{className:`wf-composer__toolbar-start`,children:i?(0,x.jsxs)(`div`,{className:`wf-composer__working-context`,role:`status`,"aria-label":`Agent is working; messages steer the current turn`,children:[(0,x.jsx)(`span`,{className:`wf-composer__working-indicator`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`wf-composer__working-label`,children:`Steering current turn`})]}):l?(0,x.jsxs)(`div`,{className:`wf-composer__reply-context`,"aria-label":`Replying to ${l.authorName}`,title:l.preview,children:[(0,x.jsx)(gt,{className:`wf-composer__reply-context-icon`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`wf-composer__reply-context-author`,children:l.authorName}),(0,x.jsx)(`span`,{className:`wf-composer__reply-context-preview`,children:l.preview}),(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,className:`wf-composer__reply-context-close`,"aria-label":`Cancel reply`,onClick:u,children:(0,x.jsx)(Nt,{"aria-hidden":`true`})})]}):(0,x.jsxs)(x.Fragment,{children:[s?(0,x.jsx)($k,{modelId:g,providerId:R,hasProvider:L,onConnectProvider:()=>N(`connect`)}):null,(0,x.jsx)(lA,{onPick:e=>{E(`/${e.name}`)}})]})}),(0,x.jsxs)(`div`,{className:`wf-composer__actions`,children:[n?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`input`,{ref:v,type:`file`,accept:`image/*`,className:`wf-composer__file-input`,tabIndex:-1,"aria-hidden":`true`,onChange:e=>{U(e.target.files?.[0]),e.target.value=``}}),(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,"aria-label":`Attach image`,disabled:r,onClick:()=>v.current?.click(),children:(0,x.jsx)(ut,{"aria-hidden":`true`})})]}):null,(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,className:K(`wf-tool-btn--send`,i&&`wf-tool-btn--stop`),disabled:r||!i&&!f.trim(),onClick:()=>{i?(Mh(A),p(``)):ie()},"aria-label":i?`Stop the agent`:`Send message`,children:i?(0,x.jsx)(Et,{"aria-hidden":`true`}):(0,x.jsx)(bt,{"aria-hidden":`true`})})]})]}),(0,x.jsx)(Zk,{open:k.helpOpen,onOpenChange:k.closeHelp}),(0,x.jsx)(fA,{open:k.statusOpen,onOpenChange:k.closeStatus}),(0,x.jsx)(pA,{open:k.usageOpen,onOpenChange:k.closeUsage}),(0,x.jsx)(nA,{open:k.profileOpen,onOpenChange:k.closeProfile}),(0,x.jsx)(Yk,{open:k.debugOpen,onOpenChange:k.closeDebug}),(0,x.jsx)(Qk,{open:k.insightsOpen,onOpenChange:k.closeInsights}),(0,x.jsx)(Xk,{open:k.gquotaOpen,onOpenChange:k.closeGquota}),(0,x.jsx)(tA,{open:k.personalityOpen,onOpenChange:k.closePersonality})]})}),yA=(0,y.forwardRef)(function(e,t){return(0,x.jsx)(vA,{...e,ref:t})});function bA({open:e,onOpenChange:t,onChanged:n,profile:r,workspaceId:i,onConnectProvider:a}){let[o,s]=(0,y.useState)(),[c,l]=(0,y.useState)(null);return(0,x.jsx)(eE,{open:e,onClose:()=>t(!1),title:`LLM Models`,summary:o,titleId:`wf-model-picker-title`,sheetClassName:`wf-dialog-content--settings-compact`,actions:a?(0,x.jsx)(Dc,{onClick:()=>{t(!1),a()},children:`Connect provider`}):(0,x.jsx)(Dc,{onClick:()=>t(!1),children:`Close`}),children:(0,x.jsxs)(`div`,{className:`space-y-4`,role:`tabpanel`,children:[c?(0,x.jsx)(Oi,{message:c}):null,(0,x.jsx)(rg,{profile:r,workspaceId:i,embedded:!0,onError:l,onLoaded:e=>{s(Bh(e.billing_provider||e.provider||``,e.primary||``)||void 0)},onChanged:e=>{n?.(e),t(!1)}})]})})}function xA(){let{modelOpen:e,closeModelPicker:t}=ND(),{activeRoom:n,openUserSettings:r}=$S(),{activeProfile:i}=Zx(),a=vD(n,i);return(0,x.jsx)(bA,{open:e,onOpenChange:e=>{e||t()},profile:a,workspaceId:n?.workspace_id??``,onConnectProvider:()=>r(`connect`),onChanged:()=>yh(a)})}var SA=[`👍`,`❤️`,`🎉`,`🔥`,`😂`,`😮`,`😢`,`🙏`,`👀`,`✅`,`🚀`,`💡`];function CA({onReply:e,onReact:t}){return!e&&!t?null:(0,x.jsx)(kf,{delayDuration:350,children:(0,x.jsxs)(`div`,{className:`wf-message-actions`,role:`toolbar`,"aria-label":`Message actions`,children:[e?(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,className:`wf-message-actions__button`,"aria-label":`Reply to message`,onClick:e,children:(0,x.jsx)(gt,{"aria-hidden":`true`})})}),(0,x.jsx)(Mf,{side:`top`,children:`Reply`})]}):null,t?(0,x.jsxs)(qT,{children:[(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsx)(JT,{asChild:!0,children:(0,x.jsx)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarIcon`,className:`wf-message-actions__button`,"aria-label":`React to message`,children:(0,x.jsx)(Ct,{"aria-hidden":`true`})})})}),(0,x.jsx)(Mf,{side:`top`,children:`React`})]}),(0,x.jsx)(YT,{align:`end`,className:`wf-message-reaction-menu`,children:(0,x.jsx)(`div`,{className:`wf-message-reaction-menu__grid`,"aria-label":`Choose a reaction`,children:SA.map(e=>(0,x.jsx)(XT,{className:`wf-message-reaction-menu__item`,"aria-label":`React with ${e}`,onSelect:()=>t(e),children:(0,x.jsx)(`span`,{"aria-hidden":`true`,children:e})},e))})})]}):null]})})}function wA({reactions:e,onToggle:t}){return e.length?(0,x.jsx)(kf,{delayDuration:250,children:(0,x.jsx)(`div`,{className:`wf-message-reactions`,"aria-label":`Message reactions`,children:e.map(e=>{let n=e.reactors.map(e=>e.displayName).join(`, `);return(0,x.jsxs)(Af,{children:[(0,x.jsx)(jf,{asChild:!0,children:(0,x.jsxs)(Wr,{type:`button`,variant:`toolbar`,size:`toolbarText`,className:`wf-message-reaction`,"aria-label":`${e.emoji}, ${e.count} ${e.count===1?`reaction`:`reactions`}${n?` from ${n}`:``}`,"aria-pressed":e.reacted,onClick:()=>t?.(e.emoji),children:[(0,x.jsx)(`span`,{"aria-hidden":`true`,children:e.emoji}),(0,x.jsx)(`span`,{children:e.count})]})}),(0,x.jsx)(Mf,{side:`top`,className:`wf-message-reaction-tooltip`,children:e.reactors.length?(0,x.jsx)(`div`,{className:`wf-message-reaction-tooltip__people`,children:e.reactors.map(e=>(0,x.jsxs)(`span`,{className:`wf-message-reaction-tooltip__person`,children:[(0,x.jsx)(aD,{src:e.avatarUrl,name:e.displayName,size:`xs`,className:`wf-message-reaction-tooltip__avatar`}),(0,x.jsx)(`span`,{children:e.displayName})]},e.userId))}):(0,x.jsxs)(`span`,{children:[e.count,` `,e.count===1?`reaction`:`reactions`]})})]},e.emoji)})})}):null}function TA({segment:e,glyph:t=`tool`}){let{name:n,status:r,output:i,preview:a}=e,o=r===`running`,s=r===`error`,c=t===`thinking`,l=c?pe:Ot,u=c&&o?`thinking`:r,d=(o?a:i)?.trim(),f=!!d,[p,m]=(0,y.useState)(!1),h=()=>m(e=>!e),g=o?(0,x.jsx)(Ye,{className:`wf-tool-run__icon wf-tool-run__icon--spin`,"aria-hidden":`true`}):s?(0,x.jsx)(_e,{className:`wf-tool-run__icon`,"aria-hidden":`true`}):(0,x.jsx)(ge,{className:`wf-tool-run__icon`,"aria-hidden":`true`});return(0,x.jsxs)(`div`,{className:K(`wf-tool-run`,o&&`wf-tool-run--running`,s&&`wf-tool-run--error`,!f&&`wf-tool-run--static`),children:[f?(0,x.jsxs)(`button`,{type:`button`,className:`wf-tool-run__header wf-tool-run__header--button`,onClick:h,"aria-expanded":p,"aria-label":`${n} ${u}`,title:p?`Collapse`:`Expand`,children:[(0,x.jsx)(me,{className:K(`wf-tool-run__chevron`,p&&`wf-tool-run__chevron--open`),"aria-hidden":`true`}),(0,x.jsx)(l,{className:`wf-tool-run__glyph`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`wf-tool-run__name`,children:n}),g]}):(0,x.jsxs)(`div`,{className:`wf-tool-run__header`,role:`status`,"aria-label":`${n} ${u}`,children:[(0,x.jsx)(l,{className:`wf-tool-run__glyph`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`wf-tool-run__name`,children:n}),g]}),p&&f?(0,x.jsx)(`pre`,{className:K(`wf-tool-run__output`,Jc,`wf-scroll--vertical`),children:d}):null]})}function EA({text:e,live:t=!1}){return(0,x.jsx)(TA,{glyph:`thinking`,segment:{kind:`tool`,name:`Thinking`,status:t?`running`:`done`,output:e,preview:e}})}var DA=[`Loading agent profile…`,`Securing credentials…`,`Assembling context…`,`Syncing ledger…`,`Initializing model…`,`Opening gateway…`],OA=2800;function kA(){let[e,t]=(0,y.useState)(0);return(0,y.useEffect)(()=>{if(DA.length<=1)return;let e=window.setInterval(()=>{t(e=>(e+1)%DA.length)},OA);return()=>window.clearInterval(e)},[]),(0,x.jsx)(`p`,{className:`wf-message__live-hint`,role:`status`,"aria-live":`polite`,children:DA[e]})}var AA=`modulepreload`,jA=function(e){return`/`+e},MA={},NA=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=jA(t,n),t in MA)return;MA[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:AA,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},PA=new Set([`mermaid`,`mmd`,`graph`,`flowchart`]),FA=/^(?:graph|flowchart|sequenceDiagram|classDiagram|stateDiagram|erDiagram|gantt|pie|gitGraph|journey|mindmap|timeline|quadrantChart|requirementDiagram|C4Context|C4Container|C4Component|C4Dynamic|C4Deployment|sankey|block|xychart|zenuml|packet|kanban|architecture|wireframe|treemap|sankey-beta|block-beta|xychart-beta)(?:-v\d+|-beta|-alpha)?$/i,IA={flowchart:{useMaxWidth:!1},sequence:{useMaxWidth:!1},gantt:{useMaxWidth:!1},class:{useMaxWidth:!1},state:{useMaxWidth:!1},er:{useMaxWidth:!1},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},requirement:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1},c4:{useMaxWidth:!1},mindmap:{useMaxWidth:!1},timeline:{useMaxWidth:!1},quadrantChart:{useMaxWidth:!1},xyChart:{useMaxWidth:!1},sankey:{useMaxWidth:!1},block:{useMaxWidth:!1}},LA={darkMode:!0,background:`transparent`,primaryColor:`#2d2640`,primaryTextColor:`#e8e8ee`,primaryBorderColor:`#9d8df5`,lineColor:`#c4c4cc`,secondaryColor:`#1e1e28`,tertiaryColor:`#12121a`,mainBkg:`#2d2640`,textColor:`#e8e8ee`,titleColor:`#f4f4f5`,nodeBorder:`#9d8df5`,clusterBkg:`#1e1e28`,edgeLabelBackground:`#1e1e28`,actorBorder:`#9d8df5`,actorBkg:`#2d2640`,actorTextColor:`#e8e8ee`,signalColor:`#e8e8ee`,signalTextColor:`#e8e8ee`,labelBoxBkgColor:`#2d2640`,labelBoxBorderColor:`#9d8df5`,labelTextColor:`#e8e8ee`,taskBkgColor:`#7c6cf0`,taskTextColor:`#f4f4f5`,taskTextLightColor:`#f4f4f5`,taskBorderColor:`#9d8df5`,sectionBkgColor:`#1e1e28`,altSectionBkgColor:`#2d2640`,gridColor:`#71717a`,todayLineColor:`#f472b6`,classText:`#e8e8ee`},RA=null;function zA(){return RA||=NA(async()=>{let{default:e}=await import(`./mermaid.core-DlM744u8.js`);return{default:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])).then(({default:e})=>(e.initialize({startOnLoad:!1,securityLevel:`loose`,theme:`dark`,themeVariables:LA,fontFamily:`Inter Tight, ui-sans-serif, system-ui, sans-serif`,...IA}),e)),RA}function BA(){return`wf-mmd-${Math.random().toString(36).slice(2,10)}`}function VA(e){return e.trim().split(/\s+/)[0]??``}function HA(e){let t=VA(e??``);if(!t)return!1;let n=t.toLowerCase();return PA.has(n)?!0:FA.test(t)}function UA(e,t){let n=t.replace(/\r\n/g,`
58
58
  `).trimEnd(),r=VA(e);if(!r||r.toLowerCase()===`mermaid`||r.toLowerCase()===`mmd`)return n;let i=VA(n.split(`
59
59
  `)[0]?.trim()??``);return i&&HA(i)?n:`${r}\n${n}`}function WA(e){return`<div class="wf-mermaid wf-mermaid--pending wf-scroll wf-scroll--horizontal" role="img" aria-label="Diagram"><template class="wf-mermaid__source">${XA(e.replace(/\r\n/g,`
60
60
  `).trimEnd())}</template></div>\n`}function GA(e){let t=e.querySelector(`template.wf-mermaid__source`);if(t?.textContent)return t.textContent;let n=e.dataset.mermaidSource;return n?decodeURIComponent(n):``}function KA(e){let t=e.getAttribute(`viewBox`);if(t){let e=t.split(/[\s,]+/).map(e=>Number.parseFloat(e));if(e.length===4&&e[2]>0&&e[3]>0)return{width:e[2],height:e[3]}}let n=Number.parseFloat(e.getAttribute(`width`)??``),r=Number.parseFloat(e.getAttribute(`height`)??``);if(n>0&&r>0)return{width:n,height:r};try{let t=e.getBBox();if(t.width>0&&t.height>0)return{width:t.width,height:t.height}}catch{}return{width:0,height:0}}function qA(e,t){e.innerHTML=t.trim();let n=e.querySelector(`svg`);if(!(n instanceof SVGSVGElement))return;let{width:r,height:i}=KA(n);n.style.display=`block`,n.style.width=`100%`,n.style.maxWidth=`100%`,n.style.height=`auto`,n.style.overflow=`visible`,n.setAttribute(`width`,`100%`),n.removeAttribute(`height`),r>0&&i>0&&(n.style.aspectRatio=`${r} / ${i}`,e.style.aspectRatio=`${r} / ${i}`,e.style.width=`100%`,n.getAttribute(`viewBox`)||n.setAttribute(`viewBox`,`0 0 ${r} ${i}`))}async function JA(e){return(await zA()).render(BA(),e)}async function YA(e){let t=e.querySelectorAll(`.wf-mermaid:not([data-mermaid-rendered])`);if(t.length===0)return;let n=await zA();for(let e of t){let t=GA(e);if(!t.trim()){e.dataset.mermaidRendered=`true`,e.classList.remove(`wf-mermaid--pending`);continue}try{let{svg:r,bindFunctions:i}=await n.render(BA(),t);qA(e,r),i?.(e),e.dataset.mermaidRendered=`true`,e.classList.remove(`wf-mermaid--pending`)}catch(t){e.innerHTML=`<pre class="wf-mermaid__error">${XA(t instanceof Error?t.message:`Could not render diagram`)}</pre>`,e.dataset.mermaidRendered=`error`,e.classList.remove(`wf-mermaid--pending`)}}}function XA(e){return e.replaceAll(`&`,`&amp;`).replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`)}if(!HA(`sequenceDiagram`)||UA(`sequenceDiagram`,`A->>B`)!==`sequenceDiagram