@bendyline/gezel-service 1.1.1 → 1.1.2

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 (185) hide show
  1. package/dist/NOTICE.md +3 -3
  2. package/dist/bin/gezeld.js +8471 -5311
  3. package/dist/handboek-content/technical/building-connected-apps-with-gezel-app-sdk.md +78 -0
  4. package/dist/handboek-content/whats-new/{1.26250.md → 1.26251.md} +5 -5
  5. package/dist/index-store/static-index-worker.js +160 -51
  6. package/dist/index.d.ts +416 -71
  7. package/dist/index.js +8465 -5305
  8. package/dist/memory/embed-worker.js +132 -4
  9. package/dist/memory/image-embed-worker.js +14 -5
  10. package/dist/providers/mlx/python/cache_persist.py +52 -8
  11. package/dist/providers/mlx/python/gezel_mlx_server.py +44 -1
  12. package/dist/providers/mlx/python/qwen4_ple.py +159 -0
  13. package/dist/providers/mlx/python/spec_decode.py +73 -31
  14. package/dist/providers/mlx/python/tool_call_stream.py +10 -2
  15. package/dist/providers/mlx/python/tool_grammar.py +16 -0
  16. package/dist/ui/assets/{AmbientDashboardCard-DcVHxEdC.js → AmbientDashboardCard-_xnAQGnk.js} +1 -1
  17. package/dist/ui/assets/{AudioEngineSettings-BFM2S1mm.js → AudioEngineSettings-CgXgbX0i.js} +1 -1
  18. package/dist/ui/assets/{BenchmarksView-84-YeULA.js → BenchmarksView-BlExZpYA.js} +1 -1
  19. package/dist/ui/assets/CatalogBrowser-DYXUZQ_t.js +1 -0
  20. package/dist/ui/assets/{ChannelsSettings-7NAVUk4k.js → ChannelsSettings-EH27HcqZ.js} +1 -1
  21. package/dist/ui/assets/ChatTimelineView-Dn1TNyVn.js +7 -0
  22. package/dist/ui/assets/{ConnectedAppsPanel-CIgF4Q3R.js → ConnectedAppsPanel-BROry-Y0.js} +1 -1
  23. package/dist/ui/assets/CraftbookEditor-B2RNJnFf.js +1 -0
  24. package/dist/ui/assets/{CraftbookScriptEditorView-Ck5tzj3Y.js → CraftbookScriptEditorView-B-vySmHP.js} +1 -1
  25. package/dist/ui/assets/{CraftbookTabContent-BWg7FhK_.js → CraftbookTabContent-BW_2KC89.js} +1 -1
  26. package/dist/ui/assets/{CraftbookToolsetSetup-EuFOiUzR.js → CraftbookToolsetSetup-J7rEa835.js} +1 -1
  27. package/dist/ui/assets/{CraftbooksView-BIzQ1VVn.js → CraftbooksView-BjBUWPGF.js} +1 -1
  28. package/dist/ui/assets/DiffpackReviewView-CD4qJmgT.js +1 -0
  29. package/dist/ui/assets/DocumentDetail-SYozruTJ.js +1 -0
  30. package/dist/ui/assets/DocumentsView-DE7eL49Z.js +1 -0
  31. package/dist/ui/assets/{Ds4Settings-9soZCSeO.js → Ds4Settings-DGzc7JcD.js} +1 -1
  32. package/dist/ui/assets/{EmbeddedChat-Cce7nxXT.js → EmbeddedChat-D92TaJQ8.js} +1 -1
  33. package/dist/ui/assets/{FaceRecognitionCard-BVZyOwB8.js → FaceRecognitionCard-CB1Dt9X4.js} +1 -1
  34. package/dist/ui/assets/FileMapView-kVBG22FU.js +1 -0
  35. package/dist/ui/assets/FoldersSettings-BWFQU5B4.js +1 -0
  36. package/dist/ui/assets/GezelDetail-Br4v42Nv.js +1 -0
  37. package/dist/ui/assets/{GezelJsonEditor-DXXt165-.js → GezelJsonEditor-B9XEiW5Y.js} +1 -1
  38. package/dist/ui/assets/GezellenView-DheEBAy4.js +1 -0
  39. package/dist/ui/assets/{GildeUpdatesCard-CtY8mUTA.js → GildeUpdatesCard-BeIYv09f.js} +1 -1
  40. package/dist/ui/assets/{GithubSignInChip-DT3l6E0Q.js → GithubSignInChip-eEGCe9ar.js} +1 -1
  41. package/dist/ui/assets/{HandboekMediaProvider-ByJ4NAzz.js → HandboekMediaProvider-D0zcbbpf.js} +1 -1
  42. package/dist/ui/assets/HandboekView-p0BZT1rH.js +1 -0
  43. package/dist/ui/assets/{HistoryView-CkinzFEC.js → HistoryView-CKWcWW-Y.js} +1 -1
  44. package/dist/ui/assets/{HomeView-DNBrQnwy.js → HomeView-b_TT5oV3.js} +1 -1
  45. package/dist/ui/assets/{ImageEngineSettings-BfM9HSd_.js → ImageEngineSettings-CJfk4OJ4.js} +1 -1
  46. package/dist/ui/assets/{ImageRecognitionSettings-CaSQu5Br.js → ImageRecognitionSettings-DzbvZk5S.js} +1 -1
  47. package/dist/ui/assets/{IncompleteDownloads-C36lTCMG.js → IncompleteDownloads-C8_XyP8O.js} +1 -1
  48. package/dist/ui/assets/{KnowledgeCatalogsCard-CK9bqdf6.js → KnowledgeCatalogsCard-CHopG_j-.js} +1 -1
  49. package/dist/ui/assets/KnowledgeView-CXNKZUJq.js +1 -0
  50. package/dist/ui/assets/{LlamaCppSettings-CdNMHBbp.js → LlamaCppSettings-ohcM7kes.js} +1 -1
  51. package/dist/ui/assets/{MarkdownField-Dugmfr_e.js → MarkdownField-BX0qsaFq.js} +1 -1
  52. package/dist/ui/assets/{MemoriesTree-CgFqUNEr.js → MemoriesTree-BPj5Rod8.js} +1 -1
  53. package/dist/ui/assets/{MicrophoneSettings-DzDe9y1q.js → MicrophoneSettings-CWjeYnfI.js} +1 -1
  54. package/dist/ui/assets/MlxSettings-Dq6dRpcl.js +1 -0
  55. package/dist/ui/assets/{ModelPicker-BVkJhNAH.js → ModelPicker-0Ue-eEKj.js} +1 -1
  56. package/dist/ui/assets/NewPathDialog-BhAZm9dp.js +1 -0
  57. package/dist/ui/assets/{NewScriptDialog-TEAd0KLl.js → NewScriptDialog-DuryIe50.js} +1 -1
  58. package/dist/ui/assets/NewTaskDialog-BX24flMY.js +2 -0
  59. package/dist/ui/assets/{OllamaSettings-CPy2vxyZ.js → OllamaSettings-Boj8Nd1G.js} +1 -1
  60. package/dist/ui/assets/ProjectChat-Dhw_M5bq.js +5 -0
  61. package/dist/ui/assets/ProjectConnectionsTab-BwpMQNrg.js +1 -0
  62. package/dist/ui/assets/{ProjectGitStatusBar-BgHZ2ijN.js → ProjectGitStatusBar-BORGYx5l.js} +1 -1
  63. package/dist/ui/assets/{ProjectGithubView-BV2uTNU0.js → ProjectGithubView-CTP1BOMv.js} +1 -1
  64. package/dist/ui/assets/{ProjectMailTab-DLtJdXSL.js → ProjectMailTab-qFmAeV3M.js} +1 -1
  65. package/dist/ui/assets/{ProjectOverviewView-ZMs9nL5N.js → ProjectOverviewView-Cq1FsoaT.js} +1 -1
  66. package/dist/ui/assets/{ProjectTimeline-CTPcn4Kc.js → ProjectTimeline-Cqae2Z92.js} +1 -1
  67. package/dist/ui/assets/ProjectsView-D0uJjUB-.js +7 -0
  68. package/dist/ui/assets/{RecommendedBadge-iUoisQBi.js → RecommendedBadge-CN1jEmSn.js} +1 -1
  69. package/dist/ui/assets/{RemoteServersPanel-CTVJ0IRh.js → RemoteServersPanel-CMakvCCM.js} +1 -1
  70. package/dist/ui/assets/{ScriptEditorTabs-CCDFZjdC.js → ScriptEditorTabs-st6dJePd.js} +2 -2
  71. package/dist/ui/assets/{ScriptEditorView-CergLqKj.js → ScriptEditorView-BkySh57_.js} +2 -2
  72. package/dist/ui/assets/{ScriptsView-v7ckdhDi.js → ScriptsView-7uPKwjDB.js} +1 -1
  73. package/dist/ui/assets/{SecurityComplianceSettings-Bd0-66Gs.js → SecurityComplianceSettings-Tsv_pXfy.js} +1 -1
  74. package/dist/ui/assets/SessionSwitcher-D0fSeeHO.js +1 -0
  75. package/dist/ui/assets/SettingsView-cli_z8ZW.js +3 -0
  76. package/dist/ui/assets/{SquisqIntegration-C5l_OPvD.js → SquisqIntegration-BTZ1kBlg.js} +1 -1
  77. package/dist/ui/assets/{StorageCleanupDialog-3kv9-2mT.js → StorageCleanupDialog-CDBjl8JQ.js} +1 -1
  78. package/dist/ui/assets/{StorageUsageCard-7sWTrZFa.js → StorageUsageCard-DXY1j0dZ.js} +1 -1
  79. package/dist/ui/assets/TaskTabContent-C0P681SL.js +1 -0
  80. package/dist/ui/assets/TasksView-Ddwz10ri.js +1 -0
  81. package/dist/ui/assets/{TerminalCodeEditor-ChmdzmCz.js → TerminalCodeEditor-BkNQ6QoQ.js} +2 -2
  82. package/dist/ui/assets/ToolsetsEditor-KVigemfL.js +8 -0
  83. package/dist/ui/assets/{TransformToolbarButton-gzIxUBH7.js → TransformToolbarButton-8wfJR1bO.js} +2 -2
  84. package/dist/ui/assets/{UnrecognizedModels-0hptopv6.js → UnrecognizedModels-BzdU1clO.js} +1 -1
  85. package/dist/ui/assets/{VideoEngineSettings-BdNzCEdR.js → VideoEngineSettings-f79ff57u.js} +1 -1
  86. package/dist/ui/assets/{WorkspaceIndexPane-DnsOO916.js → WorkspaceIndexPane-fu5V6o1W.js} +1 -1
  87. package/dist/ui/assets/{api-C0I7spBl.js → api-CmrgM5Rf.js} +1 -1
  88. package/dist/ui/assets/chat-thread-memory-8MCtb17Q.js +1 -0
  89. package/dist/ui/assets/{chunk-6ECMNUIP-BvCy0HUI.js → chunk-6ECMNUIP-D5AA6ozp.js} +1 -1
  90. package/dist/ui/assets/{chunk-A6N6IN3I-ofeM4l8g.js → chunk-A6N6IN3I-BpxihS5H.js} +1 -1
  91. package/dist/ui/assets/{chunk-ATWVNF7D-CYuW1Yc6.js → chunk-ATWVNF7D-CKIWh7bN.js} +1 -1
  92. package/dist/ui/assets/{chunk-UBFT2CDQ-FexGDigd.js → chunk-CW24CH7I-BD0FIooX.js} +1 -1
  93. package/dist/ui/assets/{chunk-DXYWKZ52-zxe8pjH4.js → chunk-DXYWKZ52-DMKPZnpo.js} +1 -1
  94. package/dist/ui/assets/chunk-IIQYS2YH-BtDJt4Xr.js +1 -0
  95. package/dist/ui/assets/{chunk-KGWT454C-v5-l6U5m.js → chunk-KGWT454C-DsQOBuLg.js} +1 -1
  96. package/dist/ui/assets/{chunk-Q77KNJIN-BLuPdsQF.js → chunk-Q77KNJIN-BdWizq9s.js} +1 -1
  97. package/dist/ui/assets/{chunk-USU6HTKB-B_p-YcDp.js → chunk-USU6HTKB-DyGZplh4.js} +1 -1
  98. package/dist/ui/assets/{chunk-UXEANVBI-Bt0kX-0Z.js → chunk-UXEANVBI-BUBXvqyE.js} +1 -1
  99. package/dist/ui/assets/{chunk-O7JILDEF-CqcO1qaI.js → chunk-X7BNDUNI-D14WIvlD.js} +2 -2
  100. package/dist/ui/assets/{chunk-AE3IUKMM-mZjzzO8Z.js → chunk-ZSU5DJLX-CrjQf-vs.js} +1 -1
  101. package/dist/ui/assets/{container-BI8hxN1N.js → container-iFj1r6Hk.js} +1 -1
  102. package/dist/ui/assets/csv-Di411Mv-.js +1 -0
  103. package/dist/ui/assets/data-Q05qqAp4.js +1 -0
  104. package/dist/ui/assets/{dist-APSIK7H3.js → dist-1FNFiksd.js} +3 -3
  105. package/dist/ui/assets/dist-BMZhqfv7.js +2 -0
  106. package/dist/ui/assets/dist-CE5CbmDb.js +225 -0
  107. package/dist/ui/assets/doc-BHcGsJZd.js +587 -0
  108. package/dist/ui/assets/{document-import-DPK4r8Am.js → document-import-B2Ya6sbf.js} +1 -1
  109. package/dist/ui/assets/{docx-DRLuCTaC.js → docx-B8Pwz5Ih.js} +1 -1
  110. package/dist/ui/assets/{epub-a0p2Xb1b.js → epub-BQ4g8Q9j.js} +1 -1
  111. package/dist/ui/assets/{export-options-BqYFyzWx.js → export-options-Dylv69b3.js} +1 -1
  112. package/dist/ui/assets/file-browser-BLOPfnS0.js +5 -0
  113. package/dist/ui/assets/{html-BbQNmJ5X.js → html-BnA7qFwq.js} +1 -1
  114. package/dist/ui/assets/icons-CyM7Cg4E.js +1 -0
  115. package/dist/ui/assets/index-DW6qHqhU.css +1 -0
  116. package/dist/ui/assets/index-DivKnJyx.js +36 -0
  117. package/dist/ui/assets/{mail-link-CWfsP5Aq.js → mail-link-NtlcX5OE.js} +1 -1
  118. package/dist/ui/assets/{markdown-ryKA_OmY.js → markdown-CLKH_zzl.js} +1 -1
  119. package/dist/ui/assets/markdown-baseline-0dqv9qbV.js +1 -0
  120. package/dist/ui/assets/materialize-G4WC5UG3-xq2dcwS8.js +1 -0
  121. package/dist/ui/assets/{monaco-base-C0VTMpv-.js → monaco-base-BSvdAweA.js} +1 -1
  122. package/dist/ui/assets/{monaco-setup-CX8q88c5.js → monaco-setup-CT7LZ0o_.js} +1 -1
  123. package/dist/ui/assets/{new-project-meta-ZmDPGYzC.js → new-project-meta-5Y9Blozr.js} +1 -1
  124. package/dist/ui/assets/outside-in-Msmhxf_U.js +3 -0
  125. package/dist/ui/assets/{pdf-BHrygJa5.js → pdf-C4BhW3zg.js} +1 -1
  126. package/dist/ui/assets/{pending-drafts-27ujtQxX.js → pending-drafts-BD227X9H.js} +1 -1
  127. package/dist/ui/assets/{poppetje-CfaAvFkE.js → poppetje-DvCJO36y.js} +3 -3
  128. package/dist/ui/assets/{pptx-nDW64jAN.js → pptx-B6uaM2s7.js} +3 -3
  129. package/dist/ui/assets/{run-export-86KzLZ7R.js → run-export-TscWwR6y.js} +2 -2
  130. package/dist/ui/assets/{standalone-source-7QdiNsDW.js → standalone-source-Cw9SF7Zk.js} +1 -1
  131. package/dist/ui/assets/storage-Cmhlwx70.js +1 -0
  132. package/dist/ui/assets/styles-BjDaWeMA.css +1 -0
  133. package/dist/ui/assets/styles-CqO-rmOt.js +554 -0
  134. package/dist/ui/assets/{terminal-monaco-setup-Bar-sYKd.js → terminal-monaco-setup-me523-j-.js} +1 -1
  135. package/dist/ui/assets/{transform-CmAXy0Ck.js → transform-DxJCwK68.js} +1 -1
  136. package/dist/ui/assets/{use-local-model-manager-D1yiurrC.js → use-local-model-manager-8wvk-I-y.js} +1 -1
  137. package/dist/ui/assets/{useCompactLayout-BDtPQcDh.js → useCompactLayout-cm4E9Vja.js} +0 -0
  138. package/dist/ui/assets/{useCopilotAvailability-BHOfHrfT.js → useCopilotAvailability-D9hglSH_.js} +1 -1
  139. package/dist/ui/assets/{useDiffpacks-B0kYhlWQ.js → useDiffpacks-1BN2XJWg.js} +1 -1
  140. package/dist/ui/assets/{useGitSync-DOt-ODiw.js → useGitSync-7m9YA7h5.js} +1 -1
  141. package/dist/ui/assets/{useShowWorkInProgressFeatures-BtpredG7.js → useShowWorkInProgressFeatures-D6QOaTUT.js} +1 -1
  142. package/dist/ui/assets/{useTotalRamBytes-B8NFM27w.js → useTotalRamBytes-Durk383U.js} +1 -1
  143. package/dist/ui/assets/{xlsx-B_pu1ZvY.js → xlsx-BbHA9bxA.js} +1 -1
  144. package/dist/ui/index.html +15 -15
  145. package/package.json +12 -11
  146. package/dist/ui/assets/CatalogBrowser-7_jHy5Q3.js +0 -1
  147. package/dist/ui/assets/ChatTimelineView-Cg_kLK_U.js +0 -7
  148. package/dist/ui/assets/CraftbookEditor-BKAIsnXv.js +0 -1
  149. package/dist/ui/assets/DiffpackReviewView-B2a3zgE-.js +0 -1
  150. package/dist/ui/assets/DocumentDetail-GCYhwQqV.js +0 -1
  151. package/dist/ui/assets/DocumentsView-Cm3RaQ5N.js +0 -1
  152. package/dist/ui/assets/FileMapView-BKJovLcL.js +0 -1
  153. package/dist/ui/assets/FoldersSettings-CuJd2JdE.js +0 -1
  154. package/dist/ui/assets/GezelDetail-D_KIPDhQ.js +0 -1
  155. package/dist/ui/assets/GezellenView-BOOW1QQU.js +0 -1
  156. package/dist/ui/assets/HandboekView-gRzJcIbJ.js +0 -1
  157. package/dist/ui/assets/KnowledgeView-DJ3cJVHA.js +0 -1
  158. package/dist/ui/assets/MlxSettings-45mBFHbA.js +0 -1
  159. package/dist/ui/assets/NewTaskDialog-CIXVunZn.js +0 -2
  160. package/dist/ui/assets/ProjectChat-BiJRweob.js +0 -5
  161. package/dist/ui/assets/ProjectConnectionsTab-CQgaIzuv.js +0 -1
  162. package/dist/ui/assets/ProjectsView-BUdR76n6.js +0 -7
  163. package/dist/ui/assets/SessionSwitcher-BgZqyiRn.js +0 -1
  164. package/dist/ui/assets/SettingsView-DLhOYiR5.js +0 -3
  165. package/dist/ui/assets/TaskTabContent-CG2KmfwV.js +0 -1
  166. package/dist/ui/assets/TasksView-Dy5Ue4zS.js +0 -1
  167. package/dist/ui/assets/ToolsetsEditor-J9XxQ5Ms.js +0 -8
  168. package/dist/ui/assets/chat-thread-memory-CI2-giEq.js +0 -1
  169. package/dist/ui/assets/chunk-IIQYS2YH-DEkyBlHg.js +0 -1
  170. package/dist/ui/assets/csv-B0D9jJG2.js +0 -1
  171. package/dist/ui/assets/data-BIL84EaT.js +0 -1
  172. package/dist/ui/assets/dist-CJqyWK6E.js +0 -2
  173. package/dist/ui/assets/dist-DOqbRmFj.js +0 -225
  174. package/dist/ui/assets/doc-C2Ph2FWI.js +0 -584
  175. package/dist/ui/assets/document-companion-aDThLOwl.js +0 -1
  176. package/dist/ui/assets/file-browser-DVyWN0LD.js +0 -5
  177. package/dist/ui/assets/icons-DWaUNQbT.js +0 -1
  178. package/dist/ui/assets/index-DDu8nyO6.js +0 -34
  179. package/dist/ui/assets/index-DEDUSiCx.css +0 -1
  180. package/dist/ui/assets/markdown-baseline-9B52XlX2.js +0 -1
  181. package/dist/ui/assets/materialize-G4WC5UG3-BlZQe-88.js +0 -1
  182. package/dist/ui/assets/outside-in-BmIIeMid.js +0 -3
  183. package/dist/ui/assets/storage-B-vhjyV2.js +0 -1
  184. package/dist/ui/assets/styles-BvkZd-EV.js +0 -550
  185. package/dist/ui/assets/styles-IQ4adxWr.css +0 -1
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,t as n}from"./jsx-runtime-CEpd2cAX.js";import{t as r}from"./react-dom-OL4w_gzs.js";import{A as i,D as a,E as o,H as s,J as c,K as l,M as u,O as d,T as f,W as p,X as m,Y as h,Z as g,j as _,k as v,q as y,w as b}from"./primitives-CWrGZpPI.js";import{c as x,l as ee,n as S,o as C,r as w,s as T}from"./DropdownMenu-DlrvEmoV.js";import{n as E}from"./relative-time-B2kBaekd.js";import{t as D}from"./FileTypeIcon-Cwzl1GkZ.js";var O=e(t(),1),k=Object.defineProperty,A=(e,t)=>k(e,`name`,{value:t,configurable:!0}),j=!!(typeof window<`u`&&window.document&&window.document.createElement);function M(e,t,{checkForDefaultPrevented:n=!0}={}){return A(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}A(M,`composeEventHandlers`);function te(e){if(!j)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}A(te,`getOwnerWindow`);function N(e){if(!j)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}A(N,`getOwnerDocument`);function ne(e,t=!1){let{activeElement:n}=N(e);if(!n?.nodeName)return null;if(P(n)&&n.contentDocument)return ne(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=N(n).getElementById(e);if(t)return t}}return n}A(ne,`getActiveElement`);function P(e){return e.tagName===`IFRAME`}A(P,`isFrame`);var F=n(),re=Object.defineProperty,I=(e,t)=>re(e,`name`,{value:t,configurable:!0});function ie(e,t){let n=O.createContext(t);n.displayName=e+`Context`;let r=I(e=>{let{children:t,...r}=e,i=O.useMemo(()=>r,Object.values(r));return(0,F.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,o=O.useContext(n);if(o)return o;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return I(i,`useContext`),[r,i]}I(ie,`createContext`);function L(e,t=[]){let n=[];function r(t,r){let i=O.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=I(t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=O.useMemo(()=>o,Object.values(o));return(0,F.jsx)(s.Provider,{value:c,children:r})},`Provider`);o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=O.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return I(s,`useContext`),[o,s]}I(r,`createContext`);let i=I(()=>{let t=n.map(e=>O.createContext(e));return I(function(n){let r=n?.[e]||t;return O.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,ae(i,...t)]}I(L,`createContextScope`);function ae(...e){let t=e[0];if(e.length===1)return t;let n=I(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return I(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return O.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}I(ae,`composeContextScopes`);var oe=e(r(),1),R=Object.defineProperty,se=(e,t)=>R(e,`name`,{value:t,configurable:!0});function ce(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}se(ce,`setRef`);function le(...e){return t=>{let n=!1,r=e.map(e=>{let r=ce(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():ce(e[t],null)}}}}se(le,`composeRefs`);function z(...e){return O.useCallback(le(...e),e)}se(z,`useComposedRefs`);var ue=Object.defineProperty,B=(e,t)=>ue(e,`name`,{value:t,configurable:!0});function V(e){let t=O.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];ve(r)&&typeof Se==`function`&&(r=Se(r._payload)),O.Children.forEach(r,e=>{if(ge(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;ve(n)&&typeof Se==`function`&&(n=Se(n._payload)),a=pe(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=O.cloneElement(a,void 0,s):!o&&O.Children.count(r)===1&&O.isValidElement(r)&&(a=r);let c=a?he(a):void 0,l=z(n,c);if(!a){if(r||r===0)throw Error(o?xe(e):be(e));return r}let u=me(i,a.props??{});return a.type!==O.Fragment&&(u.ref=n?l:c),O.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}B(V,`createSlot`);var de=Symbol.for(`radix.slottable`);function fe(e){let t=B(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=de,t}B(fe,`createSlottable`);var pe=B((e,t)=>{if(`child`in e.props){let t=e.props.child;return O.isValidElement(t)?O.cloneElement(t,void 0,e.props.children(t.props.children)):null}return O.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function me(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}B(me,`mergeProps`);function he(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}B(he,`getElementRef`);function ge(e){return O.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===de}B(ge,`isSlottable`);var _e=Symbol.for(`react.lazy`);function ve(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===_e&&`_payload`in e&&ye(e._payload)}B(ve,`isLazyComponent`);function ye(e){return typeof e==`object`&&!!e&&`then`in e}B(ye,`isPromiseLike`);var be=B(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),xe=B(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),Se=O.use,Ce=Object.defineProperty,we=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),H=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=V(`Primitive.${t}`),r=O.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,F.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Te(e,t){e&&oe.flushSync(()=>e.dispatchEvent(t))}we(Te,`dispatchDiscreteCustomEvent`);var Ee=Object.defineProperty,U=(e,t)=>Ee(e,`name`,{value:t,configurable:!0});function De(e){let t=e+`CollectionProvider`,[n,r]=L(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=U(e=>{let{scope:t,children:n}=e,r=O.useRef(null),a=O.useRef(new Map).current;return(0,F.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})},`CollectionProvider`);o.displayName=t;let s=e+`CollectionSlot`,c=V(s),l=O.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=z(t,a(s,n).collectionRef);return(0,F.jsx)(c,{ref:i,children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=V(u),p=O.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=O.useRef(null),s=z(t,o),c=a(u,n);return O.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,F.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return O.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 U(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}U(De,`createCollection`);var Oe=new WeakMap,ke=class e extends Map{static{U(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],Oe.set(this,!0)}set(e,t){return Oe.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r=this.has(t),i=this.#e.length,a=Me(e),o=a>=0?a:i+a,s=o<0||o>=i?-1:o;if(s===this.size||r&&s===this.size-1||s===-1)return this.set(t,n),this;let c=this.size+ +!r;a<0&&o++;let l=[...this.#e],u,d=!1;for(let e=o;e<c;e++)if(o===e){let i=l[e];l[e]===t&&(i=l[e+1]),r&&this.delete(t),u=this.get(i),this.set(t,n)}else{!d&&l[e-1]===t&&(d=!0);let n=l[d?e:e-1],r=u;u=this.get(n),this.delete(n),this.set(n,r)}return this}with(t,n,r){let i=new e(this);return i.insert(t,n,r),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(t=t===-1||t===this.size-1?-1:t+1,t!==-1)return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return t!==void 0&&this.delete(t)}at(e){let t=Ae(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=Ae(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return Ae(this.#e,e)}from(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return-1}filter(t,n){let r=[],i=0;for(let e of this)Reflect.apply(t,n,[e,i,this])&&r.push(e),i++;return new e(r)}map(t,n){let r=[],i=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,i,this])]),i++;return new e(r)}reduce(...e){let[t,n]=e,r=0,i=n??this.at(0);for(let n of this)i=r===0&&e.length===1?n:Reflect.apply(t,this,[i,n,r,this]),r++;return i}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let i=this.at(n);r=n===this.size-1&&e.length===1?i:Reflect.apply(t,this,[r,i,n,this])}return r}toSorted(t){let n=[...this.entries()].sort(t);return new e(n)}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,i=this.size-1;if(t===void 0)return r;t<0&&(t+=this.size),n!==void 0&&n>0&&(i=n-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}};function Ae(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=je(e,t);return n===-1?void 0:e[n]}U(Ae,`at`);function je(e,t){let n=e.length,r=Me(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}U(je,`toSafeIndex`);function Me(e){return e!==e||e===0?0:Math.trunc(e)}U(Me,`toSafeInteger`);function Ne(e){let t=e+`CollectionProvider`,[n,r]=L(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new ke,setItemMap:U(()=>void 0,`setItemMap`)}),o=U(({state:e,...t})=>e?(0,F.jsx)(c,{...t,state:e}):(0,F.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=U(e=>{let t=h();return(0,F.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=U(e=>{let{scope:t,children:n,state:r}=e,a=O.useRef(null),[o,s]=O.useState(null),c=z(a,s),[l,u]=r;return O.useEffect(()=>{if(!o)return;let e=Le(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,F.jsx)(i,{scope:t,itemMap:l,setItemMap:u,collectionRef:c,collectionRefObject:a,collectionElement:o,children:n})},`CollectionProviderImpl`);c.displayName=t+`Impl`;let l=e+`CollectionSlot`,u=V(l),d=O.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=z(t,a(l,n).collectionRef);return(0,F.jsx)(u,{ref:i,children:r})});d.displayName=l;let f=e+`CollectionItemSlot`,p=V(f),m=O.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=O.useRef(null),[s,c]=O.useState(null),l=z(t,o,c),{setItemMap:u}=a(f,n),d=O.useRef(i);Pe(d.current,i)||(d.current=i);let m=d.current;return O.useEffect(()=>{let e=m;return u(t=>s?t.has(s)?t.set(s,{...e,element:s}).toSorted(Ie):(t.set(s,{...e,element:s}),t.toSorted(Ie)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new ke(e)))}},[s,m,u]),(0,F.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return O.useState(new ke)}U(h,`useInitCollection`);function g(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return U(g,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:g,useInitCollection:h}]}U(Ne,`createCollection`);function Pe(e,t){if(e===t)return!0;if(typeof e!=`object`||typeof t!=`object`||e==null||t==null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}U(Pe,`shallowEqual`);function Fe(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}U(Fe,`isElementPreceding`);function Ie(e,t){return!e[1].element||!t[1].element?0:Fe(e[1].element,t[1].element)?-1:1}U(Ie,`sortByDocumentPosition`);function Le(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}U(Le,`getChildListObserver`);var Re=Object.defineProperty,ze=(e,t)=>Re(e,`name`,{value:t,configurable:!0}),Be=O.createContext(void 0);function Ve(e){let t=O.useContext(Be);return e||t||`ltr`}ze(Ve,`useDirection`);var He=Object.defineProperty,Ue=(e,t)=>He(e,`name`,{value:t,configurable:!0});function W(e){let t=O.useRef(e);return O.useEffect(()=>{t.current=e}),O.useMemo(()=>((...e)=>t.current?.(...e)),[])}Ue(W,`useCallbackRef`);var We=Object.defineProperty,G=(e,t)=>We(e,`name`,{value:t,configurable:!0}),Ge=`dismissableLayer.update`,Ke=`dismissableLayer.pointerDownOutside`,qe=`dismissableLayer.focusOutside`,Je,Ye=O.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Xe=O.forwardRef(G(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=O.useContext(Ye),[d,f]=O.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=O.useState({}),h=z(t,f),g=Array.from(u.layers),[_]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=_?g.indexOf(_):-1,y=d?g.indexOf(d):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,x=y>=v,ee=O.useRef(!1),S=$e(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:ee,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:O.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return x&&!t},[u.branches,x])}),C=et(e=>{if(r&&ee.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},p),w=d?y===g.length-1:!1,T=W(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return O.useEffect(()=>{if(w)return p.addEventListener(`keydown`,T,{capture:!0}),()=>p.removeEventListener(`keydown`,T,{capture:!0})},[p,w,T]),O.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Je=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),tt(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=Je))}},[d,p,n,u]),O.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),tt())},[d,u]),O.useEffect(()=>{let e=G(()=>m({}),`handleUpdate`);return document.addEventListener(Ge,e),()=>document.removeEventListener(Ge,e)},[]),(0,F.jsx)(H.div,{...l,ref:h,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:M(e.onFocusCapture,C.onFocusCapture),onBlurCapture:M(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:M(e.onPointerDownCapture,S.onPointerDownCapture)})},`DismissableLayer`));function Ze(){let e=O.useContext(Ye),[t,n]=O.useState(null);return O.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}G(Ze,`useDismissableLayerSurface`);var Qe=G(()=>!0,`IS_TRUE`);function $e(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=Qe}=t,s=W(e),c=O.useRef(!1),l=O.useRef(!1),u=O.useRef(new Map),d=O.useRef(()=>{});return O.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}G(e,`resetOutsideInteraction`);function t(){return Array.from(u.current.values()).some(Boolean)}G(t,`isOutsideInteractionIntercepted`);function f(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&d.current()},0)}G(f,`handleInteractionCapture`);function p(e){l.current&&u.current.set(e.type,!1)}G(p,`handleInteractionBubble`);let m=G(a=>{if(a.target&&!c.current){let f=function(){n.removeEventListener(`click`,d.current);let r=t();e(),r||nt(Ke,s,p,{discrete:!0})};if(G(f,`handleAndDispatchPointerDownOutsideEvent`),!o(a.target)){n.removeEventListener(`click`,d.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?f():(n.removeEventListener(`click`,d.current),d.current=f,n.addEventListener(`click`,d.current,{once:!0}))}else n.removeEventListener(`click`,d.current),e();c.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,f,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,d.current);for(let e of h)n.removeEventListener(e,f,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:G(()=>c.current=!0,`onPointerDownCapture`)}}G($e,`usePointerDownOutside`);function et(e,t=globalThis?.document){let n=W(e),r=O.useRef(!1);return O.useEffect(()=>{let e=G(e=>{e.target&&!r.current&&nt(qe,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:G(()=>r.current=!0,`onFocusCapture`),onBlurCapture:G(()=>r.current=!1,`onBlurCapture`)}}G(et,`useFocusOutside`);function tt(){let e=new CustomEvent(Ge);document.dispatchEvent(e)}G(tt,`dispatchUpdate`);function nt(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Te(i,a):i.dispatchEvent(a)}G(nt,`handleAndDispatchCustomEvent`);var rt=Object.defineProperty,it=(e,t)=>rt(e,`name`,{value:t,configurable:!0}),at=0,ot=null;function st(e){return ct(),e.children}it(st,`FocusGuards`);function ct(){O.useEffect(()=>{ot||={start:lt(),end:lt()};let{start:e,end:t}=ot;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),at++,()=>{at===1&&(ot?.start.remove(),ot?.end.remove(),ot=null),at=Math.max(0,at-1)}},[])}it(ct,`useFocusGuards`);function lt(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}it(lt,`createFocusGuard`);var ut=Object.defineProperty,K=(e,t)=>ut(e,`name`,{value:t,configurable:!0}),dt=`focusScope.autoFocusOnMount`,ft=`focusScope.autoFocusOnUnmount`,pt={bubbles:!1,cancelable:!0},mt=O.forwardRef(K(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=O.useState(null),l=W(i),u=W(a),d=O.useRef(null),f=z(t,c),p=O.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;O.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:q(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||q(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&q(s)};K(e,`handleFocusIn`),K(t,`handleFocusOut`),K(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),O.useEffect(()=>{if(s){xt.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(dt,pt);s.addEventListener(dt,l),s.dispatchEvent(t),t.defaultPrevented||(ht(wt(_t(s)),{select:!0}),document.activeElement===e&&q(s))}return()=>{s.removeEventListener(dt,l),setTimeout(()=>{let t=new CustomEvent(ft,pt);s.addEventListener(ft,u),s.dispatchEvent(t),t.defaultPrevented||q(e??document.body,{select:!0}),s.removeEventListener(ft,u),xt.remove(p)},0)}}},[s,l,u,p]);let m=O.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=gt(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&q(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&q(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,F.jsx)(H.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})},`FocusScope`));function ht(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(q(r,{select:t}),document.activeElement!==n)return}K(ht,`focusFirst`);function gt(e){let t=_t(e);return[vt(t,e),vt(t.reverse(),e)]}K(gt,`getTabbableEdges`);function _t(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:K(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}K(_t,`getTabbableCandidates`);function vt(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):yt(r,{upTo:t})))return r}K(vt,`findVisible`);function yt(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}K(yt,`isHidden`);function bt(e){return e instanceof HTMLInputElement&&`select`in e}K(bt,`isSelectableInput`);function q(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&bt(e)&&t&&e.select()}}K(q,`focus`);var xt=St();function St(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Ct(e,t),e.unshift(t)},remove(t){e=Ct(e,t),e[0]?.resume()}}}K(St,`createFocusScopesStack`);function Ct(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}K(Ct,`arrayRemove`);function wt(e){return e.filter(e=>e.tagName!==`A`)}K(wt,`removeLinks`);var J=globalThis?.document?O.useLayoutEffect:()=>{},Tt=Object.defineProperty,Et=(e,t)=>Tt(e,`name`,{value:t,configurable:!0}),Dt=O.useId||(()=>void 0),Ot=0;function kt(e){let[t,n]=O.useState(Dt());return J(()=>{e||n(e=>e??String(Ot++))},[e]),e||(t?`radix-${t}`:``)}Et(kt,`useId`);var At=Object.defineProperty,jt=(e,t)=>At(e,`name`,{value:t,configurable:!0});function Mt(e){let[t,n]=O.useState(void 0);return J(()=>{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}jt(Mt,`useSize`);var Nt=Object.defineProperty,Y=(e,t)=>Nt(e,`name`,{value:t,configurable:!0}),Pt=`Popper`,[Ft,It]=L(Pt),[Lt,Rt]=Ft(Pt),zt=Y(e=>{let{__scopePopper:t,children:n}=e,[r,i]=O.useState(null),[a,o]=O.useState(void 0);return(0,F.jsx)(Lt,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),Bt=`PopperAnchor`,Vt=O.forwardRef(Y(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=Rt(Bt,n),o=O.useRef(null),s=a.onAnchorChange,c=z(t,O.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=O.useRef(null);O.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&Jt(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,F.jsx)(H.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),Ht=`PopperContent`,[Ut,Wt]=Ft(Ht),Gt=O.forwardRef(Y(function(e,t){let{__scopePopper:n,side:r=`bottom`,sideOffset:s=0,align:c=`center`,alignOffset:l=0,arrowPadding:p=0,avoidCollisions:m=!0,collisionBoundary:h=[],collisionPadding:g=0,sticky:y=`partial`,hideWhenDetached:x=!1,updatePositionStrategy:ee=`optimized`,onPlaced:S,...C}=e,w=Rt(Ht,n),[T,E]=O.useState(null),D=z(t,E),[k,A]=O.useState(null),j=Mt(k),M=j?.width??0,te=j?.height??0,N=r+(c===`center`?``:`-`+c),ne=typeof g==`number`?g:{top:0,right:0,bottom:0,left:0,...g},P=Array.isArray(h)?h:[h],re=P.length>0,I={padding:ne,boundary:P.filter(Kt),altBoundary:re},{refs:ie,floatingStyles:L,placement:ae,isPositioned:oe,middlewareData:R}=_({strategy:`fixed`,placement:N,whileElementsMounted:Y((...e)=>u(...e,{animationFrame:ee===`always`}),`whileElementsMounted`),elements:{reference:w.anchor},middleware:[d({mainAxis:s+te,alignmentAxis:l}),m&&v({mainAxis:!0,crossAxis:!1,limiter:y===`partial`?a():void 0,...I}),m&&f({...I}),i({...I,apply:Y(({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`)},`apply`)}),k&&b({element:k,padding:p}),qt({arrowWidth:M,arrowHeight:te}),x&&o({strategy:`referenceHidden`,...I,boundary:re?I.boundary:void 0})]}),se=w.setPlacementState;J(()=>(se(ae),()=>{se(void 0)}),[ae,se]);let[ce,le]=Jt(ae),ue=W(S);J(()=>{oe&&ue?.()},[oe,ue]);let B=R.arrow?.x,V=R.arrow?.y,de=R.arrow?.centerOffset!==0,[fe,pe]=O.useState();return J(()=>{T&&pe(window.getComputedStyle(T).zIndex)},[T]),(0,F.jsx)(`div`,{ref:ie.setFloating,"data-radix-popper-content-wrapper":``,style:{...L,transform:oe?L.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:fe,"--radix-popper-transform-origin":[R.transformOrigin?.x,R.transformOrigin?.y].join(` `),...R.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,F.jsx)(Ut,{scope:n,placedSide:ce,placedAlign:le,onArrowChange:A,arrowX:B,arrowY:V,shouldHideArrow:de,children:(0,F.jsx)(H.div,{"data-side":ce,"data-align":le,...C,ref:D,style:{...C.style,animation:oe?C.style?.animation:`none`}})})})},`PopperContent`));function Kt(e){return e!==null}Y(Kt,`isNotNull`);var qt=Y(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]=Jt(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}}}}),`transformOrigin`);function Jt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}Y(Jt,`getSideAndAlignFromPlacement`);var Yt=zt,Xt=Vt,Zt=Gt,Qt=Object.defineProperty,$t=O.forwardRef(((e,t)=>Qt(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=O.useState(!1);J(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?oe.createPortal((0,F.jsx)(H.div,{...r,ref:t}),o):null},`Portal`)),en=Object.defineProperty,X=(e,t)=>en(e,`name`,{value:t,configurable:!0});function tn(e,t){return O.useReducer((e,n)=>t[e][n]??e,e)}X(tn,`useStateMachine`);var nn=X(e=>{let{present:t,children:n}=e,r=rn(t),i=typeof n==`function`?n({present:r.isPresent}):O.Children.only(n),a=on(r.ref,cn(i));return typeof n==`function`||r.isPresent?O.cloneElement(i,{ref:a}):null},`Presence`);function rn(e){let[t,n]=O.useState(),r=O.useRef(null),i=O.useRef(e),a=O.useRef(`none`),o=O.useRef(void 0),[s,c]=tn(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return O.useEffect(()=>{s===`mounted`?(a.current=o.current??sn(r.current),o.current=void 0):a.current=`none`},[s]),J(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=sn(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),J(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=X(a=>{let o=sn(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=X(e=>{e.target===t&&(a.current=sn(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:O.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=sn(t)}else r.current=null;n(e)},[])}}X(rn,`usePresence`);function an(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}X(an,`setRef`);function on(...e){let t=O.useRef(e);return t.current=e,O.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=an(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():an(n[e],null)}}},[])}X(on,`useStableComposedRefs`);function sn(e){return e?.animationName||`none`}X(sn,`getAnimationName`);function cn(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}X(cn,`getElementRef`);var ln=Object.defineProperty,un=(e,t)=>ln(e,`name`,{value:t,configurable:!0}),dn=O.useEffectEvent,fn=O.useInsertionEffect;function pn(e){if(typeof dn==`function`)return dn(e);let t=O.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof fn==`function`?fn(()=>{t.current=e}):J(()=>{t.current=e}),O.useMemo(()=>((...e)=>t.current?.(...e)),[])}un(pn,`useEffectEvent`);var mn=Object.defineProperty,hn=(e,t)=>mn(e,`name`,{value:t,configurable:!0}),gn=O.useInsertionEffect||J;function _n({prop:e,defaultProp:t,onChange:n=hn(()=>{},`onChange`),caller:r}){let[i,a,o]=vn({defaultProp:t,onChange:n}),s=e!==void 0;return[s?e:i,O.useCallback(t=>{if(s){let n=yn(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}hn(_n,`useControllableState`);function vn({defaultProp:e,onChange:t}){let[n,r]=O.useState(e),i=O.useRef(n),a=O.useRef(t);return gn(()=>{a.current=t},[t]),O.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}hn(vn,`useUncontrolledState`);function yn(e){return typeof e==`function`}hn(yn,`isFunction`);var bn=Symbol(`RADIX:SYNC_STATE`);function xn(e,t,n,r){let{prop:i,defaultProp:a,onChange:o,caller:s}=t,c=i!==void 0,l=pn(o),u=[{...n,state:a}];r&&u.push(r);let[d,f]=O.useReducer((t,n)=>{if(n.type===bn)return{...t,state:n.state};let r=e(t,n);return c&&!Object.is(r.state,t.state)&&l(r.state),r},...u),p=d.state,m=O.useRef(p);O.useEffect(()=>{m.current!==p&&(m.current=p,c||l(p))},[p,m,c]);let h=O.useMemo(()=>i===void 0?d:{...d,state:i},[d,i]);return O.useEffect(()=>{c&&!Object.is(i,d.state)&&f({type:bn,state:i})},[i,d.state,c]),[h,f]}hn(xn,`useControllableStateReducer`);var Sn=Object.defineProperty,Cn=(e,t)=>Sn(e,`name`,{value:t,configurable:!0}),wn=!1;function Tn(){let[e,t]=O.useState(wn);return O.useEffect(()=>{wn||(wn=!0,t(!0))},[]),e}Cn(Tn,`useIsHydrated`);var En=O.useSyncExternalStore;function Dn(){return()=>{}}Cn(Dn,`subscribe`);function On(){return En(Dn,()=>!0,()=>!1)}Cn(On,`useIsHydratedModern`);var kn=typeof En==`function`?On:Tn,An=Object.defineProperty,jn=(e,t)=>An(e,`name`,{value:t,configurable:!0}),Mn=`rovingFocusGroup.onEntryFocus`,Nn={bubbles:!1,cancelable:!0},Pn=`RovingFocusGroup`,[Fn,In,Ln]=De(Pn),[Rn,zn]=L(Pn,[Ln]),[Bn,Vn]=Rn(Pn),Hn=O.forwardRef(jn(function(e,t){return(0,F.jsx)(Fn.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,F.jsx)(Fn.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,F.jsx)(Un,{...e,ref:t})})})},`RovingFocusGroup`)),Un=O.forwardRef(jn(function(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=O.useRef(null),p=z(t,f),m=Ve(a),[h,g]=_n({prop:o,defaultProp:s??null,onChange:c,caller:Pn}),[_,v]=O.useState(!1),y=W(l),b=In(n),x=O.useRef(!1),[ee,S]=O.useState(0);return O.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(Mn,y),()=>e.removeEventListener(Mn,y)},[y]),(0,F.jsx)(Bn,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:O.useCallback(e=>g(e),[g]),onItemShiftTab:O.useCallback(()=>v(!0),[]),onFocusableItemAdd:O.useCallback(()=>S(e=>e+1),[]),onFocusableItemRemove:O.useCallback(()=>S(e=>e-1),[]),children:(0,F.jsx)(H.div,{tabIndex:_||ee===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:M(e.onMouseDown,()=>{x.current=!0}),onFocus:M(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(Mn,Nn);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);Yn([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:M(e.onBlur,()=>v(!1))})})},`RovingFocusGroupImpl`)),Wn=`RovingFocusGroupItem`,Gn=O.forwardRef(jn(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=kt(),l=a||c,u=Vn(Wn,n),d=u.currentTabStopId===l,f=In(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=kn();return J(()=>{if(!(!g||!r))return p(),()=>m()},[g,r,p,m]),O.useEffect(()=>{if(!(g||!r))return p(),()=>m()},[g,r,p,m]),(0,F.jsx)(Fn.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,F.jsx)(H.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:M(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:M(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:M(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Jn(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?Xn(n,r+1):n.slice(r+1)}setTimeout(()=>Yn(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),Kn={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function qn(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}jn(qn,`getDirectionAwareKey`);function Jn(e,t,n){let r=qn(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Kn[r]}jn(Jn,`getFocusIntent`);function Yn(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}jn(Yn,`focusFirst`);function Xn(e,t){return e.map((n,r)=>e[(t+r)%e.length])}jn(Xn,`wrapArray`);var Zn=Hn,Qn=Gn,$n=Object.defineProperty,Z=(e,t)=>$n(e,`name`,{value:t,configurable:!0}),er=[`Enter`,` `],tr=[`ArrowDown`,`PageUp`,`Home`],nr=[`ArrowUp`,`PageDown`,`End`],rr=[...tr,...nr];[...er],[...er];var ir=`Menu`,[ar,or,sr]=De(ir),[cr,lr]=L(ir,[sr,It,zn]),ur=It(),dr=zn(),[fr,pr]=cr(ir),[mr,hr]=cr(ir),gr=Z(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=ur(t),[c,l]=O.useState(null),u=O.useRef(!1),d=W(a),f=Ve(i);return O.useEffect(()=>{let e=Z(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=Z(()=>u.current=!1,`handlePointer`);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})}},[]),O.useEffect(()=>{if(!n)return;let e=Z(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,F.jsx)(Yt,{...s,children:(0,F.jsx)(fr,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,F.jsx)(mr,{scope:t,onClose:O.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),_r=O.forwardRef(Z(function(e,t){let{__scopeMenu:n,...r}=e,i=ur(n);return(0,F.jsx)(Xt,{...i,...r,ref:t})},`MenuAnchor`)),vr=`MenuPortal`,[yr,br]=cr(vr,{forceMount:void 0}),xr=Z(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=pr(vr,t);return(0,F.jsx)(yr,{scope:t,forceMount:n,children:(0,F.jsx)(nn,{present:n||a.open,children:(0,F.jsx)($t,{asChild:!0,container:i,children:r})})})},`MenuPortal`),Q=`MenuContent`,[Sr,Cr]=cr(Q),wr=O.forwardRef(Z(function(e,t){let n=br(Q,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=pr(Q,e.__scopeMenu),o=hr(Q,e.__scopeMenu);return(0,F.jsx)(ar.Provider,{scope:e.__scopeMenu,children:(0,F.jsx)(nn,{present:r||a.open,children:(0,F.jsx)(ar.Slot,{scope:e.__scopeMenu,children:o.modal?(0,F.jsx)(Tr,{...i,ref:t}):(0,F.jsx)(Er,{...i,ref:t})})})})},`MenuContent`)),Tr=O.forwardRef(Z(function(e,t){let n=pr(Q,e.__scopeMenu),r=O.useRef(null),i=z(t,r);return O.useEffect(()=>{let e=r.current;if(e)return m(e)},[]),(0,F.jsx)(Or,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:M(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),Er=O.forwardRef(Z(function(e,t){let n=pr(Q,e.__scopeMenu);return(0,F.jsx)(Or,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),Dr=V(`MenuContent.ScrollLock`),Or=O.forwardRef(Z(function(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,_=pr(Q,n),v=hr(Q,n),y=ur(n),b=dr(n),x=or(n),[ee,S]=O.useState(null),C=O.useRef(null),w=z(t,C,_.onContentChange),T=O.useRef(0),E=O.useRef(``),D=O.useRef(0),k=O.useRef(null),A=O.useRef(`right`),j=O.useRef(0),te=m?g:O.Fragment,N=m?{as:Dr,allowPinchZoom:!0}:void 0,ne=Z(e=>{let t=E.current+e,n=x().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Gr(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;Z((function e(t){E.current=t,window.clearTimeout(T.current),t!==``&&(T.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(t),o&&setTimeout(()=>o.focus())},`handleTypeaheadSearch`);O.useEffect(()=>()=>window.clearTimeout(T.current),[]),ct();let P=O.useCallback(e=>A.current===k.current?.side&&qr(e,k.current?.area),[]);return(0,F.jsx)(Sr,{scope:n,searchRef:E,onItemEnter:O.useCallback(e=>{P(e)&&e.preventDefault()},[P]),onItemLeave:O.useCallback(e=>{P(e)||(C.current?.focus(),S(null))},[P]),onTriggerLeave:O.useCallback(e=>{P(e)&&e.preventDefault()},[P]),pointerGraceTimerRef:D,onPointerGraceIntentChange:O.useCallback(e=>{k.current=e},[]),children:(0,F.jsx)(te,{...N,children:(0,F.jsx)(mt,{asChild:!0,trapped:i,onMountAutoFocus:M(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,F.jsx)(Xe,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,F.jsx)(Zn,{asChild:!0,...b,dir:v.dir,orientation:`vertical`,loop:r,currentTabStopId:ee,onCurrentTabStopIdChange:S,onEntryFocus:M(c,e=>{v.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,F.jsx)(Zt,{role:`menu`,"aria-orientation":`vertical`,"data-state":Br(_.open),"data-radix-menu-content":``,dir:v.dir,...y,...h,ref:w,style:{outline:`none`,...h.style},onKeyDown:M(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&&ne(e.key));let i=C.current;if(e.target!==i||!rr.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);nr.includes(e.key)&&a.reverse(),Ur(a)}),onBlur:M(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(T.current),E.current=``)}),onPointerMove:M(e.onPointerMove,Jr(e=>{let t=e.target,n=j.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>j.current?`right`:`left`;A.current=t,j.current=e.clientX}}))})})})})})})},`MenuContentImpl`)),kr=`MenuItem`,Ar=`menu.itemSelect`,jr=O.forwardRef(Z(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=O.useRef(null),o=hr(kr,e.__scopeMenu),s=Cr(kr,e.__scopeMenu),c=z(t,a),l=O.useRef(!1),u=Z(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Ar,{bubbles:!0,cancelable:!0});e.addEventListener(Ar,e=>r?.(e),{once:!0}),Te(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,F.jsx)(Mr,{...i,ref:c,disabled:n,onClick:M(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:M(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:M(e.onKeyDown,e=>{n||e.target!==e.currentTarget||s.searchRef.current!==``&&e.key===` `||er.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Mr=O.forwardRef(Z(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=Cr(kr,n),s=dr(n),c=O.useRef(null),l=z(t,c),[u,d]=O.useState(!1),[f,p]=O.useState(``);return O.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,F.jsx)(ar.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,F.jsx)(Qn,{asChild:!0,...s,focusable:!r,children:(0,F.jsx)(H.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:M(e.onPointerMove,Jr(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:M(e.onPointerLeave,Jr(e=>o.onItemLeave(e))),onFocus:M(e.onFocus,()=>d(!0)),onBlur:M(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[Nr,Pr]=cr(`MenuRadioGroup`,{value:void 0,onValueChange:Z(()=>{},`onValueChange`)}),[Fr,Ir]=cr(`MenuItemIndicator`,{checked:!1}),Lr=O.forwardRef(Z(function(e,t){let{__scopeMenu:n,...r}=e;return(0,F.jsx)(H.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),[Rr,zr]=cr(`MenuSub`);function Br(e){return e?`open`:`closed`}Z(Br,`getOpenState`);function Vr(e){return e===`indeterminate`}Z(Vr,`isIndeterminate`);function Hr(e){return Vr(e)?`indeterminate`:e?`checked`:`unchecked`}Z(Hr,`getCheckedState`);function Ur(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}Z(Ur,`focusFirst`);function Wr(e,t){return e.map((n,r)=>e[(t+r)%e.length])}Z(Wr,`wrapArray`);function Gr(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=Wr(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}Z(Gr,`getNextMatch`);function Kr(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}Z(Kr,`isPointInPolygon`);function qr(e,t){return t?Kr({x:e.clientX,y:e.clientY},t):!1}Z(qr,`isPointerInGraceArea`);function Jr(e){return t=>t.pointerType===`mouse`?e(t):void 0}Z(Jr,`whenMouse`);var Yr=gr,Xr=_r,Zr=xr,Qr=wr,$r=jr,ei=Lr,ti=Object.defineProperty,$=(e,t)=>ti(e,`name`,{value:t,configurable:!0}),ni=`ContextMenu`,[ri,ii]=L(ni,[lr]),ai=lr(),[oi,si]=ri(ni),ci=$(e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,dir:a,modal:o=!0}=e,s=O.useRef(!1),[c,l]=_n({prop:i,defaultProp:!1,onChange:r,caller:ni}),u=ai(t);return(0,F.jsx)(oi,{scope:t,open:c,onOpenChange:l,modal:o,hasInteractedRef:s,children:(0,F.jsx)(Yr,{...u,dir:a,open:c,onOpenChange:l,modal:o,children:n})})},`ContextMenu`),li=`ContextMenuTrigger`,ui=O.forwardRef($(function(e,t){let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=si(li,n),o=ai(n),[s,c]=O.useState({x:0,y:0}),l=O.useMemo(()=>({current:{getBoundingClientRect:$(()=>DOMRect.fromRect({width:0,height:0,...s}),`getBoundingClientRect`)}}),[s]),u=O.useRef(0),d=O.useCallback(()=>window.clearTimeout(u.current),[]),f=$(e=>{a.hasInteractedRef.current=!0,c({x:e.clientX,y:e.clientY}),a.onOpenChange(!0)},`handleOpen`);return O.useEffect(()=>d,[d]),O.useEffect(()=>void(r&&d()),[r,d]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Xr,{...o,virtualRef:l}),(0,F.jsx)(H.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:M(e.onContextMenu,e=>{d(),f(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:M(e.onPointerDown,gi(e=>{d(),a.open&&a.onOpenChange(!1),u.current=window.setTimeout(()=>f(e),700)})),onPointerMove:r?e.onPointerMove:M(e.onPointerMove,gi(d)),onPointerCancel:r?e.onPointerCancel:M(e.onPointerCancel,gi(d)),onPointerUp:r?e.onPointerUp:M(e.onPointerUp,gi(d))})]})},`ContextMenuTrigger`)),di=$(e=>{let{__scopeContextMenu:t,...n}=e,r=ai(t);return(0,F.jsx)(Zr,{...r,...n})},`ContextMenuPortal`),fi=`ContextMenuContent`,pi=O.forwardRef($(function(e,t){let{__scopeContextMenu:n,...r}=e,i=si(fi,n),a=ai(n),o=O.useRef(!1);return(0,F.jsx)(Qr,{...a,...r,ref:t,side:`right`,sideOffset:2,align:`start`,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&o.current&&t.preventDefault(),o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!i.modal&&(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`ContextMenuContent`)),mi=O.forwardRef($(function(e,t){let{__scopeContextMenu:n,...r}=e,i=ai(n);return(0,F.jsx)($r,{...i,...r,ref:t})},`ContextMenuItem`)),hi=O.forwardRef($(function(e,t){let{__scopeContextMenu:n,...r}=e,i=ai(n);return(0,F.jsx)(ei,{...i,...r,ref:t})},`ContextMenuSeparator`));function gi(e){return t=>t.pointerType===`mouse`?void 0:e(t)}$(gi,`whenTouchOrPen`);var _i=ci,vi=ui,yi=di,bi=pi,xi=mi,Si=hi,Ci=_i,wi=vi,Ti=yi,Ei=bi,Di=xi,Oi=Si,ki=[`tree-alpha`,`tree-modified`,`flat-modified`,`flat-issues`,`flat-criticality`],Ai=[`tree-alpha`,`tree-modified`,`flat-modified`],ji=Ai;function Mi(e){return E(e,{seconds:!0,fallback:e})}function Ni(e){if(!Number.isFinite(e)||e<0)return``;if(e<1024)return`${e} ${e===1?`byte`:`bytes`}`;let t=[`KB`,`MB`,`GB`,`TB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(1)} ${t[r]}`}function Pi(e,t){return e.localeCompare(t)}function Fi(e,t){let n=e.mtimeMs,r=t.mtimeMs;return n!==void 0&&r!==void 0&&n!==r?r-n:n!==void 0&&r===void 0?-1:n===void 0&&r!==void 0?1:Pi(e.name,t.name)}function Ii(e,t){let n=e.map(e=>e.children.length>0?{...e,children:Ii(e.children,t)}:e);return n.sort((e,n)=>e.isDirectory===n.isDirectory?e.isDirectory||t===`alpha`?Pi(e.name,n.name):Fi(e,n):e.isDirectory?-1:1),n}var Li={major:10,minor:3,info:1};function Ri(e){let t=new Map;for(let n of e){let e=t.get(n.path);e||(e={path:n.path,total:0,bySeverity:{major:0,minor:0,info:0},score:0},t.set(n.path,e)),e.total+=1,e.bySeverity[n.severity]+=1,e.score+=Li[n.severity]}return[...t.values()]}function zi(e,t){return[...e].sort((e,n)=>{let r=t===`count`?n.total-e.total:n.score-e.score;return r===0?e.path.localeCompare(n.path):r})}function Bi(e){let t=[];for(let n of[`major`,`minor`,`info`]){let r=e[n];r>0&&t.push(`${r} ${n}`)}return t.join(` · `)}function Vi(e,t){return`gezel.projectFilesView:${e}:${t}`}function Hi(e,t){return`gezel.projectFilesHidden:${e}:${t}`}function Ui(e,t){return(t===`workspace`?ki:Ai).includes(e)?e:`tree-alpha`}var Wi=`gezel.documentsFilesView`,Gi=`gezel.documentsFilesHidden`;function Ki(e,t){let n=e.lastIndexOf(`/`);return{name:n>=0?e.slice(n+1):e,path:e,isDirectory:!1,...t===void 0?{}:{mtimeMs:t}}}function qi(e){let t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t):``}function Ji(e){let t=[],n=new Map;for(let t of e)n.set(t.path,{name:t.name,path:t.path,isDirectory:t.isDirectory,...t.mtimeMs===void 0?{}:{mtimeMs:t.mtimeMs},children:[]});for(let r of e){let e=n.get(r.path);if(!e)continue;let i=r.path.includes(`/`)?r.path.slice(0,r.path.lastIndexOf(`/`)):``,a=i?n.get(i):void 0;a?a.children.push(e):t.push(e)}return t}function Yi(e){return e.isDirectory?(0,F.jsx)(`i`,{className:`tree-icon tree-icon-folder fa-regular fa-folder fa-fw`,"aria-hidden":`true`}):(0,F.jsx)(D,{name:e.name,className:`tree-icon`})}function Xi(e){return e.name}function Zi({entries:e,selectedPath:t,onSelect:n,onIntent:r,onRename:i,onDelete:a,onMove:o,actionsForEntry:s,trailingForEntry:c,defaultExpandedDepth:l=2,iconFor:u=Yi,labelFor:d=Xi,selectableFolders:f=!1,sortMode:p=`none`}){let[m,h]=(0,O.useState)(null),[g,_]=(0,O.useState)(null);return(0,F.jsx)(F.Fragment,{children:(0,O.useMemo)(()=>p===`none`?Ji(e):Ii(Ji(e),p),[e,p]).map(e=>(0,F.jsx)($i,{node:e,depth:0,selectedPath:t,onSelect:n,onIntent:r,onRename:i,onDelete:a,onMove:o,actionsForEntry:s,trailingForEntry:c,defaultExpandedDepth:l,iconFor:u,labelFor:d,selectableFolders:f,draggedEntry:m,dropTargetPath:g,onDragStart:(e,t)=>{h(e),_(null),t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(`application/x-gezel-file-path`,e.path),t.dataTransfer.setData(`text/plain`,e.path)},onDragEnd:()=>{h(null),_(null)},onDropTargetChange:_},e.path))})}function Qi(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}function $i({node:e,depth:t,selectedPath:n,onSelect:r,onIntent:i,onRename:a,onDelete:o,onMove:s,actionsForEntry:c,trailingForEntry:l,defaultExpandedDepth:u,iconFor:d,labelFor:f,selectableFolders:p,draggedEntry:m,dropTargetPath:h,onDragStart:g,onDragEnd:_,onDropTargetChange:v}){let[y,b]=(0,O.useState)(t<u),E={name:e.name,path:e.path,isDirectory:e.isDirectory,...e.mtimeMs===void 0?{}:{mtimeMs:e.mtimeMs}},D=f(E),k=c?.(E)??[],A=l?.(E),j=!!(a||o||k.length>0),M=e.isDirectory&&e.children.length>0,te=!!(s&&!E.isDirectory),N=!!(s&&E.isDirectory&&m&&m.path!==E.path&&Qi(m.path)!==E.path),ne=m?.path===E.path,P=N&&h===E.path,re=(0,F.jsxs)(`div`,{className:`tree-row${n===e.path?` tree-row-selected`:``}${te?` tree-row-draggable`:``}${ne?` tree-row-dragging`:``}${P?` tree-row-drop-target`:``}`,style:{paddingLeft:`${t*12+2}px`},draggable:te,onPointerEnter:()=>i?.(E),onFocus:()=>i?.(E),onPointerDown:()=>i?.(E),onDragStart:e=>{te&&g(E,e)},onDragEnd:_,onDragEnter:e=>{N&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`move`,v(E.path))},onDragOver:e=>{N&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`move`,h!==E.path&&v(E.path))},onDragLeave:e=>{if(!P)return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||v(null)},onDrop:e=>{if(!N||!m||!s)return;e.preventDefault(),e.stopPropagation();let t=m;v(null),b(!0),_(),s(t,E)},children:[M?(0,F.jsx)(`button`,{type:`button`,className:`tree-toggle`,onClick:()=>b(!y),"aria-expanded":y,"aria-label":y?`Collapse ${D}`:`Expand ${D}`,children:(0,F.jsx)(`span`,{className:`tree-toggle-caret${y?` expanded`:``}`,"aria-hidden":`true`,children:(0,F.jsx)(`svg`,{width:14,height:14,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.2,strokeLinecap:`round`,strokeLinejoin:`round`,focusable:`false`,"aria-hidden":`true`,children:(0,F.jsx)(`polyline`,{points:`9 6 15 12 9 18`})})})}):(0,F.jsx)(`span`,{className:`tree-toggle-spacer`}),(0,F.jsxs)(`button`,{type:`button`,className:`tree-label`,onClick:()=>{!e.isDirectory||p?r(E):b(!y)},children:[d(E),D]}),A&&(0,F.jsx)(`span`,{className:`tree-row-trailing`,children:A}),j&&(0,F.jsxs)(T,{children:[(0,F.jsx)(ee,{asChild:!0,children:(0,F.jsx)(`button`,{type:`button`,className:`tree-actions-trigger`,"aria-label":`Actions for ${D}`,title:`Actions for ${D}`,children:(0,F.jsx)(`span`,{"aria-hidden":`true`,children:`⋯`})})}),(0,F.jsx)(C,{children:(0,F.jsxs)(S,{className:`app-nav-menu tree-actions-menu`,sideOffset:4,align:`end`,children:[a&&(0,F.jsx)(w,{className:`app-nav-menu-item`,onSelect:()=>a(E),children:`Rename…`}),o&&(0,F.jsx)(w,{className:`app-nav-menu-item danger`,onSelect:()=>o(E),children:`Delete…`}),k.length>0&&(a||o)&&(0,F.jsx)(x,{className:`app-nav-menu-separator`}),k.map(e=>(0,F.jsx)(w,{className:`app-nav-menu-item`,disabled:e.disabled,onSelect:()=>void e.onSelect(E),children:e.label},e.label))]})})]})]});return(0,F.jsxs)(`div`,{children:[j?(0,F.jsxs)(Ci,{children:[(0,F.jsx)(wi,{asChild:!0,children:re}),(0,F.jsx)(Ti,{children:(0,F.jsxs)(Ei,{className:`app-nav-menu tree-actions-menu`,children:[a&&(0,F.jsx)(Di,{className:`app-nav-menu-item`,onSelect:()=>a(E),children:`Rename…`}),o&&(0,F.jsx)(Di,{className:`app-nav-menu-item danger`,onSelect:()=>o(E),children:`Delete…`}),k.length>0&&(a||o)&&(0,F.jsx)(Oi,{className:`app-nav-menu-separator`}),k.map(e=>(0,F.jsx)(Di,{className:`app-nav-menu-item`,disabled:e.disabled,onSelect:()=>void e.onSelect(E),children:e.label},e.label))]})})]}):re,M&&y&&(0,F.jsx)(`div`,{children:e.children.map(e=>(0,F.jsx)($i,{node:e,depth:t+1,selectedPath:n,onSelect:r,onIntent:i,onRename:a,onDelete:o,onMove:s,actionsForEntry:c,trailingForEntry:l,defaultExpandedDepth:u,iconFor:d,labelFor:f,selectableFolders:p,draggedEntry:m,dropTargetPath:h,onDragStart:g,onDragEnd:_,onDropTargetChange:v},e.path))})]})}function ea(e,t){return!t||!e.toLowerCase().endsWith(t.toLowerCase())?e:e.slice(0,-t.length)}function ta(e,t){let n=e?.replace(/[\\/]+$/,``);return n?`${n}/${t}`:t}function na({open:e,title:t,placeholder:n,submitLabel:r,onSubmit:i,onCancel:a,initialValue:o=``,suffix:u,parentPath:d,fieldLabel:f=`Path`,error:m}){let[g,_]=(0,O.useState)(()=>ea(o,u));(0,O.useEffect)(()=>{e&&_(ea(o,u))},[e,o,u]);let v=d!==void 0&&/[\\/]/.test(g)?`Enter a file name without folders.`:null,b=m??v;return(0,F.jsx)(c,{open:e,onOpenChange:e=>{e||a()},children:(0,F.jsxs)(y,{children:[(0,F.jsx)(l,{}),(0,F.jsx)(p,{children:(0,F.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),!(!g.trim()||v)&&i(ta(d,`${ea(g.trim(),u)}${u??``}`))},style:{display:`contents`},children:[(0,F.jsx)(h,{asChild:!0,children:(0,F.jsx)(`h3`,{children:t})}),(0,F.jsxs)(`label`,{children:[f,(0,F.jsxs)(`span`,{className:u?`new-path-input-row`:void 0,children:[(0,F.jsx)(`input`,{value:g,onChange:e=>_(ea(e.target.value,u)),placeholder:n}),u&&(0,F.jsx)(`span`,{className:`new-path-input-suffix`,"aria-hidden":`true`,children:u})]})]}),b&&(0,F.jsx)(`p`,{className:`gz-dialog-error`,role:`alert`,children:b}),(0,F.jsxs)(s,{children:[(0,F.jsx)(`button`,{type:`button`,onClick:a,children:`Cancel`}),(0,F.jsx)(`button`,{type:`submit`,className:`primary`,disabled:!g.trim()||v!==null,children:r})]})]})})]})})}function ra(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``),n=t.lastIndexOf(`/`);return n===-1?t:t.slice(n+1)}function ia(e,t){return e?`${e.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`:t}function aa(e){let t=ra(e);return!t.includes(`.`)||/\.(?:md|markdown|mdx)$/i.test(t)}function oa(e){let t=ra(e),n=t.lastIndexOf(`.`);return n>0?t.slice(0,n):t}function sa(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``),n=t.lastIndexOf(`/`),r=n===-1?``:t.slice(0,n),i=ra(t),a=`${oa(i)}_files`;return{root:ia(r,a),parentDirectory:r,companionName:a,primaryDocumentFilename:i}}function ca(e){return aa(e)?sa(e).root:null}async function la(e,t,n,r){let i=r&&r.from!==r.to?r:null;i&&await e(i.from,i.to);try{await e(t,n)}catch(t){if(!i)throw t;try{await e(i.to,i.from)}catch(e){throw AggregateError([t,e],`Rename failed and the document companion could not be restored.`)}throw t}}export{qi as C,Ti as D,Di as E,Ci as O,Mi as S,Ei as T,Bi as _,la as a,Vi as b,Yi as c,Wi as d,ji as f,Fi as g,Ui as h,ca as i,wi as k,Ai as l,Ri as m,oa as n,na as o,ki as p,aa as r,Zi as s,sa as t,Gi as u,Ki as v,zi as w,Ni as x,Hi as y};
@@ -1,5 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ironcalc-BAi5gOlE.js","assets/preload-helper-Czpn1I53.js","assets/run-export-86KzLZ7R.js","assets/chunk-UBFT2CDQ-FexGDigd.js","assets/rolldown-runtime-aKtaBQYM.js","assets/chunk-O7JILDEF-CqcO1qaI.js","assets/chunk-4VOD55SX-BFSSw0c8.js","assets/markdown-ryKA_OmY.js","assets/export-options-BqYFyzWx.js","assets/api-C0I7spBl.js","assets/dist-CJqyWK6E.js","assets/dist-DOqbRmFj.js"])))=>i.map(i=>d[i]);
2
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,t as n}from"./jsx-runtime-CEpd2cAX.js";import{t as r}from"./react-dom-OL4w_gzs.js";import{t as i}from"./api-C0I7spBl.js";import{H as a,J as o,K as s,U as c,W as l,Y as u,q as d}from"./primitives-CWrGZpPI.js";import{C as f,D as p,E as m,O as h,S as g,T as _,a as v,c as y,g as b,i as x,k as S,o as C,r as w,s as T,x as E}from"./document-companion-aDThLOwl.js";import{l as D,n as O,o as k,r as A,s as j}from"./DropdownMenu-DlrvEmoV.js";import{t as M}from"./relative-time-B2kBaekd.js";import{t as N}from"./ConfirmDialog-Dt1ed4Fh.js";import{t as P}from"./chunk-O7JILDEF-CqcO1qaI.js";import{v as F}from"./chunk-GAZKTT4R-w1SNypWQ.js";import{n as I}from"./chunk-UBFT2CDQ-FexGDigd.js";import"./markdown-ryKA_OmY.js";import"./schemas-BvLZUsGm.js";import{t as L}from"./preload-helper-Czpn1I53.js";import{a as R,i as ee}from"./styles-BvkZd-EV.js";import{s as z}from"./chunk-AE3IUKMM-mZjzzO8Z.js";import{b as te}from"./index-DDu8nyO6.js";import"./transform-CmAXy0Ck.js";import{a as B,i as V,n as H,o as U,r as W,s as ne,t as re}from"./export-options-BqYFyzWx.js";import"./SquisqIntegration-C5l_OPvD.js";import{d as G,s as K,t as ie}from"./outside-in-BmIIeMid.js";import{n as ae}from"./document-import-DPK4r8Am.js";function oe(e){return e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}function q(e){try{return e.split(`/`).map(e=>decodeURIComponent(e)).join(`/`)}catch{return e}}function se(e){let t={mutationLock:e.mutationLock??e,readFile:t=>e.readFile(q(t)),writeFile:(t,n,r)=>e.writeFile(q(t),n,r),removeFile:t=>e.removeFile(q(t)),async listFiles(t){return(await e.listFiles(t?q(t):void 0)).map(e=>({...e,path:oe(e.path)}))},exists:t=>e.exists(q(t)),async getDocumentPath(){let t=await e.getDocumentPath();return t===null?null:oe(t)},async readDocument(){let e=await t.getDocumentPath();if(e===null)return null;let n=await t.readFile(e);return n===null?null:new TextDecoder().decode(n)},writeDocument:(t,n)=>e.writeDocument(t,n?q(n):void 0)};return e.writeFileExclusive&&(t.writeFileExclusive=(t,n,r)=>e.writeFileExclusive(q(t),n,r)),t}function ce(e,t){let n=e.replace(/\/[^/]*$/,``);return n&&t.startsWith(`${n}/`)?t.slice(n.length+1):t}function le(e){let{client:t,currentDocumentPath:n,limit:r=20,source:i=`documents`,projectId:a}=e;return async e=>{let o=e.trim().toLowerCase();try{return(i===`project-artifacts`&&a?await t.listProjectArtifacts(a,void 0,!0):await t.listDocuments(void 0,!0)).files.filter(e=>!e.isDirectory).filter(e=>e.path!==n).filter(e=>/\.(md|markdown|mdx|txt)$/i.test(e.name)).filter(e=>!o||e.name.toLowerCase().includes(o)||e.path.toLowerCase().includes(o)).slice(0,r).map(e=>({path:ce(n,e.path),label:e.name.replace(/\.(md|markdown|mdx|txt)$/i,``),description:e.path}))}catch{return[]}}}var ue=`/assets/wasm_bg-DW9Xt_vt.wasm`,de=async e=>{let{createIronCalcEngine:t}=await L(async()=>{let{createIronCalcEngine:e}=await import(`./ironcalc-BAi5gOlE.js`);return{createIronCalcEngine:e}},__vite__mapDeps([0,1]));return t({...e,wasmSource:ue})},J=e(t(),1),Y=n(),fe=[`pdf`,`docx`,`pptx`,`html`,`md`],pe={pdf:`PDF`,docx:`Word`,pptx:`PowerPoint`,html:`HTML`,md:`Markdown`},me=[{key:`plain`,label:`Plain`,hint:`A lightweight static HTML document.`},{key:`rendered`,label:`Rendered`,hint:`Renders via SquisqPlayer with themes and playback support.`}],he=[{key:`single`,label:`Single file`,hint:`One .html file with images embedded as base64 data URIs.`},{key:`zip`,label:`ZIP archive`,hint:`A .zip with index.html plus separate image (and JS) files.`}];function ge({name:e,value:t,options:n,onChange:r}){return(0,Y.jsx)(`fieldset`,{className:`gezel-export-choice-tray gz-tray`,"aria-label":e,children:n.map(n=>{let i=n.key===t;return(0,Y.jsxs)(`label`,{className:`gz-key${i?` gz-key-active`:``}`,title:n.title,children:[(0,Y.jsx)(`input`,{type:`radio`,className:`gezel-export-choice-radio`,name:e,value:n.key,checked:i,onChange:()=>r(n.key)}),n.label]},n.key)})})}function _e({initial:e,exporting:t,error:n=null,onExport:r,onClose:i}){let[f,p]=(0,J.useState)(e.format),[m,h]=(0,J.useState)(e.themeId),[g,_]=(0,J.useState)(e.transformStyle),[v,y]=(0,J.useState)(e.pageSize),[b,x]=(0,J.useState)(e.htmlStyle),[S,C]=(0,J.useState)(e.htmlBundle),w=F(),T=z(),E=f===`docx`||f===`pdf`||f===`pptx`||f===`html`&&b===`rendered`,D=f===`pptx`,O=f===`pdf`,k=f===`html`,A=(0,J.useCallback)(e=>{e.preventDefault(),r({format:f,themeId:m,transformStyle:g,pageSize:v,htmlStyle:b,htmlBundle:S})},[f,m,g,v,b,S,r]);return(0,Y.jsx)(o,{open:!0,onOpenChange:e=>!e&&i(),children:(0,Y.jsxs)(d,{children:[(0,Y.jsx)(s,{}),(0,Y.jsx)(l,{className:`gezel-export-dialog`,children:(0,Y.jsxs)(`form`,{onSubmit:A,children:[(0,Y.jsxs)(`div`,{className:`gezel-export-dialog-header`,children:[(0,Y.jsx)(u,{children:`Export document`}),(0,Y.jsx)(c,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,className:`gezel-export-dialog-close`,"aria-label":`Close`,children:`×`})})]}),(0,Y.jsxs)(`div`,{className:`gezel-export-dialog-body`,children:[(0,Y.jsxs)(`div`,{className:`gezel-export-field`,children:[(0,Y.jsx)(`span`,{className:`gezel-export-label`,children:`Format`}),(0,Y.jsx)(ge,{name:`Format`,value:f,options:fe.map(e=>({key:e,label:pe[e],title:W[e]})),onChange:p})]}),k&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`gezel-export-field`,children:[(0,Y.jsx)(`span`,{className:`gezel-export-label`,children:`Style`}),(0,Y.jsx)(ge,{name:`Style`,value:b,options:me,onChange:x}),(0,Y.jsx)(`span`,{className:`gezel-export-hint`,children:me.find(e=>e.key===b)?.hint})]}),(0,Y.jsxs)(`div`,{className:`gezel-export-field`,children:[(0,Y.jsx)(`span`,{className:`gezel-export-label`,children:`Bundle`}),(0,Y.jsx)(ge,{name:`Bundle`,value:S,options:he,onChange:C}),(0,Y.jsx)(`span`,{className:`gezel-export-hint`,children:he.find(e=>e.key===S)?.hint})]})]}),E&&(0,Y.jsxs)(`div`,{className:`gezel-export-field`,children:[(0,Y.jsx)(`label`,{className:`gezel-export-label`,htmlFor:`gezel-export-theme`,children:`Theme`}),(0,Y.jsx)(`select`,{id:`gezel-export-theme`,className:`gezel-export-select`,value:m,onChange:e=>h(e.target.value),children:w.map(e=>(0,Y.jsx)(`option`,{value:e.id,children:e.name},e.id))}),(0,Y.jsx)(`span`,{className:`gezel-export-hint`,children:w.find(e=>e.id===m)?.description})]}),D&&(0,Y.jsxs)(`div`,{className:`gezel-export-field`,children:[(0,Y.jsx)(`label`,{className:`gezel-export-label`,htmlFor:`gezel-export-transform`,children:`Transform`}),(0,Y.jsx)(`select`,{id:`gezel-export-transform`,className:`gezel-export-select`,value:g,onChange:e=>_(e.target.value),children:T.map(e=>(0,Y.jsx)(`option`,{value:e.id,children:e.name},e.id))}),(0,Y.jsx)(`span`,{className:`gezel-export-hint`,children:T.find(e=>e.id===g)?.description})]}),O&&(0,Y.jsxs)(`div`,{className:`gezel-export-field`,children:[(0,Y.jsx)(`label`,{className:`gezel-export-label`,htmlFor:`gezel-export-pagesize`,children:`Page size`}),(0,Y.jsxs)(`select`,{id:`gezel-export-pagesize`,className:`gezel-export-select`,value:v,onChange:e=>y(e.target.value),children:[(0,Y.jsx)(`option`,{value:`letter`,children:`US Letter`}),(0,Y.jsx)(`option`,{value:`a4`,children:`A4`})]})]}),n&&(0,Y.jsx)(`p`,{className:`error small`,role:`alert`,children:n})]}),(0,Y.jsxs)(a,{children:[(0,Y.jsx)(c,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,disabled:t,children:`Cancel`})}),(0,Y.jsx)(`button`,{type:`submit`,className:`primary`,disabled:t,children:t?`Exporting…`:`Export`})]})]})})]})})}function ve(e){let t=e instanceof Error?e.message.trim():``;return t?`Export failed: ${t}`:`Export failed. The document was not exported.`}function ye(e){let t=H[e.format].toUpperCase().replace(`.`,``),n=e.format===`html`&&e.htmlBundle===`zip`?`ZIP`:t,r=[];if(e.format===`html`&&e.htmlStyle===`rendered`&&r.push(`rendered`),e.themeId!==`standard`&&(e.format!==`html`||e.htmlStyle===`rendered`)){let t=F().find(t=>t.id===e.themeId);t&&r.push(t.name)}if(e.format===`pptx`&&e.transformStyle){let t=z().find(t=>t.id===e.transformStyle);t&&r.push(t.name)}return r.length>0?`Export ${n} with ${r.join(` + `)}`:`Export ${n}`}function be({selectedFile:e,mediaContainer:t,mediaSource:n}){let{markdownSource:r}=ee(),[c,f]=(0,J.useState)(!1),[p,m]=(0,J.useState)(!1),[h,g]=(0,J.useState)(null),[_,v]=(0,J.useState)(null),[y,b]=(0,J.useState)(!1),[x,S]=(0,J.useState)(null),[C,w]=(0,J.useState)(()=>V()),T=(0,J.useRef)(null);(0,J.useEffect)(()=>()=>T.current?.abort(),[]),(0,J.useEffect)(()=>{let e=!1;return U().then(t=>{e||w(t)}),()=>{e=!0}},[]);let E=(0,J.useCallback)(()=>{f(!1),S(null),m(!0)},[]),M=(0,J.useCallback)(()=>{y||(m(!1),S(null))},[y]),N=(0,J.useCallback)(async t=>{if(!e||!n)return;let a=new AbortController;T.current?.abort(),T.current=a,f(!1),g(t),v(null);try{let o=await i.exportDocumentMedia({markdown:r,selectedFile:e,format:t,source:n},a.signal);if(a.signal.aborted)return;ne(o,`${(e.split(`/`).pop()??e).replace(/\.[^.]+$/,``)||`document`}.${t}`),g(null)}catch(e){if(a.signal.aborted)return;v(ve(e))}finally{T.current===a&&(T.current=null)}},[r,n,e]),P=(0,J.useCallback)(()=>{T.current?.abort(),T.current=null,g(null),v(null)},[]),F=(0,J.useCallback)(async n=>{b(!0),S(null),w(n);try{await B(n);let{runExport:i}=await L(async()=>{let{runExport:e}=await import(`./run-export-86KzLZ7R.js`);return{runExport:e}},__vite__mapDeps([2,3,4,5,6,7,1,8,9,10,11]));await i(r,e,n,t),m(!1)}catch(e){S(ve(e))}finally{b(!1)}},[r,e,t]),I=(0,J.useCallback)(async()=>{if(C){f(!1),b(!0),S(null);try{let{runExport:n}=await L(async()=>{let{runExport:e}=await import(`./run-export-86KzLZ7R.js`);return{runExport:e}},__vite__mapDeps([2,3,4,5,6,7,1,8,9,10,11]));await n(r,e,C,t)}catch(e){S(ve(e)),m(!0)}finally{b(!1)}}},[C,r,e,t]);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(j,{open:c,onOpenChange:f,children:[(0,Y.jsx)(D,{asChild:!0,children:(0,Y.jsxs)(`button`,{type:`button`,className:`squisq-toolbar-button gezel-export-trigger`,"aria-label":`Export document`,title:`Export document`,disabled:y,children:[(0,Y.jsx)(xe,{}),(0,Y.jsx)(`span`,{children:`Export`})]})}),(0,Y.jsx)(k,{children:(0,Y.jsxs)(O,{className:`app-nav-menu gezel-export-menu`,sideOffset:4,align:`end`,children:[C&&(0,Y.jsx)(A,{className:`app-nav-menu-item`,onSelect:()=>void I(),disabled:y,children:ye(C)}),(0,Y.jsx)(A,{className:`app-nav-menu-item`,onSelect:E,children:`Export…`}),e&&n&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`gezel-export-menu-divider`,role:`separator`,tabIndex:-1}),(0,Y.jsx)(A,{className:`app-nav-menu-item`,onSelect:()=>void N(`mp4`),children:`Export video…`}),(0,Y.jsx)(A,{className:`app-nav-menu-item`,onSelect:()=>void N(`gif`),children:`Export animated GIF…`})]})]})})]}),p&&(0,Y.jsx)(_e,{initial:C??re,exporting:y,error:x,onExport:e=>void F(e),onClose:M}),(h||_)&&(0,Y.jsx)(o,{open:!0,onOpenChange:e=>!e&&P(),children:(0,Y.jsxs)(d,{children:[(0,Y.jsx)(s,{}),(0,Y.jsxs)(l,{className:`gezel-export-loading-dialog`,children:[(0,Y.jsx)(u,{children:h===`gif`?`Exporting animated GIF`:`Exporting video`}),(0,Y.jsx)(`p`,{className:_?`error`:`muted`,role:_?`alert`:`status`,children:_??`Rendering with the ffmpeg installed on this computer. This can take a while…`}),(0,Y.jsx)(a,{children:(0,Y.jsx)(`button`,{type:`button`,onClick:P,children:_?`Close`:`Cancel`})})]})]})})]})}function xe(){return(0,Y.jsxs)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M8 10.5V1.75`}),(0,Y.jsx)(`path`,{d:`M5.25 4.5 8 1.75l2.75 2.75`}),(0,Y.jsx)(`path`,{d:`M4.25 6.75h-1a1.5 1.5 0 0 0-1.5 1.5v4.5a1.5 1.5 0 0 0 1.5 1.5h9.5a1.5 1.5 0 0 0 1.5-1.5v-4.5a1.5 1.5 0 0 0-1.5-1.5h-1`})]})}var Se=e(r(),1),Ce=class e{context;onChange;static create(t){let n=globalThis,r=n.AudioContext??n.webkitAudioContext;if(!r)return null;try{return new e(new r,t)}catch{return null}}chunks=[];pending=new Map;sources=new Set;bufferedDuration=0;playbackOffset=0;playbackStartedAt=0;playing=!1;complete=!1;disposed=!1;endTimer=null;constructor(e,t){this.context=e,this.onChange=t}prime(){this.context.resume().catch(()=>void 0)}async appendWav(e,t){if(this.disposed||e<this.chunks.length||this.pending.has(e))return this.snapshot();let n=await this.context.decodeAudioData(t.slice(0));if(this.disposed)return this.snapshot();for(this.pending.set(e,n);this.pending.has(this.chunks.length);){let e=this.chunks.length,t=this.pending.get(e);this.pending.delete(e);let n={index:e,start:this.bufferedDuration,buffer:t};this.chunks.push(n),this.bufferedDuration+=t.duration,this.playing&&this.scheduleChunk(n)}return this.refreshEndTimer(),this.emit(),this.snapshot()}async play(){if(this.disposed||this.bufferedDuration<=0)return!1;if(this.playing)return!0;if(this.playbackOffset>=this.bufferedDuration-.02){if(!this.complete)return this.emit(),!1;this.playbackOffset=0}await this.context.resume(),this.stopSources(),this.playing=!0,this.playbackStartedAt=this.context.currentTime+.025;for(let e of this.chunks)this.scheduleChunk(e);return this.refreshEndTimer(),this.emit(),!0}pause(){this.playing&&(this.playbackOffset=this.currentTime(),this.playing=!1,this.stopSources(),this.clearEndTimer(),this.emit())}seek(e){let t=this.playing;this.playbackOffset=Math.max(0,Math.min(this.bufferedDuration,e)),this.playing=!1,this.stopSources(),this.clearEndTimer(),t?this.play():this.emit()}finish(){this.complete=!0,this.refreshEndTimer(),this.emit()}snapshot(){let e=this.currentTime();return{currentTime:e,bufferedDuration:this.bufferedDuration,isPlaying:this.playing,waitingForAudio:!this.complete&&!this.playing&&this.bufferedDuration>0&&e>=this.bufferedDuration-.05,complete:this.complete}}dispose(){this.disposed||(this.disposed=!0,this.playing=!1,this.stopSources(),this.clearEndTimer(),this.context.close().catch(()=>void 0))}currentTime(){return this.playing?Math.min(this.bufferedDuration,this.playbackOffset+Math.max(0,this.context.currentTime-this.playbackStartedAt)):this.playbackOffset}scheduleChunk(e){let t=e.start+e.buffer.duration;if(!this.playing||t<=this.playbackOffset+.005)return;let n=Math.max(0,this.playbackOffset-e.start),r=this.playbackStartedAt+Math.max(0,e.start-this.playbackOffset);if(r<this.context.currentTime&&(n+=this.context.currentTime-r,r=this.context.currentTime),n>=e.buffer.duration-.005)return;let i=this.context.createBufferSource();i.buffer=e.buffer,i.connect(this.context.destination),i.addEventListener(`ended`,()=>this.sources.delete(i),{once:!0}),this.sources.add(i),i.start(r,n)}refreshEndTimer(){if(this.clearEndTimer(),!this.playing)return;let e=Math.max(20,(this.bufferedDuration-this.currentTime())*1e3+40);this.endTimer=setTimeout(()=>{if(this.playing){if(this.currentTime()<this.bufferedDuration-.05){this.refreshEndTimer();return}this.playbackOffset=this.bufferedDuration,this.playing=!1,this.stopSources(),this.clearEndTimer(),this.emit()}},e)}stopSources(){for(let e of this.sources)try{e.stop()}catch{}this.sources.clear()}clearEndTimer(){this.endTimer&&clearTimeout(this.endTimer),this.endTimer=null}emit(){this.disposed||this.onChange(this.snapshot())}};function we(e){return e.replace(/\u00a0/g,` `).replace(/[ \t]+\n/g,`
3
- `).replace(/\n{3,}/g,`
4
-
5
- `).trim()}function Te(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return n}function Ee(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function X(e){let t=Number.isFinite(e)&&e>0?Math.floor(e):0;return`${Math.floor(t/60)}:${String(t%60).padStart(2,`0`)}`}function De(e,t){return`${(e?.split(/[\\/]/).pop()?.replace(/\.[^.]+$/,``)||`document`).replace(/[^a-z0-9._-]+/gi,`-`).replace(/^-+|-+$/g,``)||`document`}-${t}-narration.wav`}function Oe(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.style.display=`none`,document.body.append(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),0)}function ke({fileName:e,projectId:t}){let{markdownDoc:n,markdownSource:r}=ee(),a=(0,J.useRef)(null),o=(0,J.useRef)(null),s=(0,J.useRef)(null),c=(0,J.useRef)(null),l=(0,J.useRef)(null),u=(0,J.useRef)(null),d=(0,J.useRef)(null),f=(0,J.useRef)(0),p=(0,J.useRef)(0),m=(0,J.useRef)(0),h=(0,J.useRef)(0),g=(0,J.useRef)(!1),[_,v]=(0,J.useState)(`idle`),[y,b]=(0,J.useState)(`document`),[x,S]=(0,J.useState)(null),[C,w]=(0,J.useState)(!1),[T,E]=(0,J.useState)(0),[D,O]=(0,J.useState)(0),[k,A]=(0,J.useState)(null),[j,M]=(0,J.useState)(0),[N,F]=(0,J.useState)(0),[L,z]=(0,J.useState)(!1),te=(0,J.useMemo)(()=>{try{return we(P(n??I(r)))}catch{return we(r)}},[n,r]),B=(0,J.useCallback)(()=>{u.current?.dispose(),u.current=null,o.current?.(),o.current=null;let e=a.current;e&&(e.pause(),e.removeAttribute(`src`)),a.current=null,s.current&&URL.revokeObjectURL(s.current),s.current=null,c.current=null},[]),V=(0,J.useCallback)(()=>{l.current?.abort(),l.current=null,B(),v(`idle`),S(null),w(!1),E(0),O(0),F(0),z(!1),A(null),d.current=null,g.current=!1},[B]);(0,J.useEffect)(()=>()=>{l.current?.abort(),B()},[B]),(0,J.useEffect)(()=>{if(_!==`creating`)return;let e=f.current||performance.now();M(0);let t=window.setInterval(()=>{M(Math.floor((performance.now()-e)/1e3))},1e3);return()=>window.clearInterval(t)},[_]),(0,J.useEffect)(()=>{if(_===`idle`||!u.current)return;let e=window.setInterval(()=>{let e=u.current?.snapshot();e&&(E(e.currentTime),F(e.bufferedDuration),w(e.isPlaying),z(e.waitingForAudio))},200);return()=>window.clearInterval(e)},[_]);let H=(0,J.useCallback)(async(e,n)=>{let r=we(e);if(!r)return;l.current?.abort(),B();let _=Ce.create(e=>{E(e.currentTime),F(e.bufferedDuration),w(e.isPlaying),z(e.waitingForAudio)});u.current=_,_?.prime();let y=new AbortController;l.current=y,f.current=performance.now(),p.current=0,m.current=0,h.current=0,d.current=null,g.current=!1,b(n),v(`creating`),S(null),w(!1),E(0),O(0),F(0),z(!1),A(null);try{let e=await i.synthesizeSpeechWithProgress({text:r,...t?{projectId:t}:{},inline:!0},{onProgress:e=>{d.current=e,A(e)},onChunk:async e=>{if(y.signal.aborted||u.current!==_||!_)return;let t=await _.appendWav(e.index,Ee(Te(e.b64Wav))),n=performance.now(),r=d.current;if(p.current===0&&(p.current=n,m.current=t.bufferedDuration,h.current=r?.completedCharacters??0),t.isPlaying||g.current)return;let i=(n-p.current)/1e3,a=t.bufferedDuration-m.current,o=i>.25?a/i:0,s=(r?.completedCharacters??0)-h.current,c=i>.25?s/i:0,l=r&&c>0?(r.totalCharacters-r.completedCharacters)/c:1/0,f=t.bufferedDuration-t.currentTime;f>=4&&(o>=1.15||f>=l+3)&&await _.play()}},y.signal);if(y.signal.aborted)return;if(!e.b64Wav)throw Error(`The speech engine did not return playable audio.`);let n=new Blob([Ee(Te(e.b64Wav))],{type:`audio/wav`});if(c.current=n,_&&_.snapshot().bufferedDuration>0){_.finish(),F(_.snapshot().bufferedDuration),O(e.meta?.durationSeconds??_.snapshot().bufferedDuration),v(`ready`),l.current=null,!_.snapshot().isPlaying&&!g.current&&await _.play();return}_?.dispose(),u.current===_&&(u.current=null);let f=URL.createObjectURL(n),b=new Audio(f),x=()=>{E(b.currentTime||0),Number.isFinite(b.duration)&&O(b.duration)},C=()=>w(!0),T=()=>w(!1),D=()=>w(!1),k=()=>{S(`The narration was created, but this device could not play it.`),v(`error`)};b.addEventListener(`loadedmetadata`,x),b.addEventListener(`durationchange`,x),b.addEventListener(`timeupdate`,x),b.addEventListener(`play`,C),b.addEventListener(`pause`,T),b.addEventListener(`ended`,D),b.addEventListener(`error`,k),o.current=()=>{b.removeEventListener(`loadedmetadata`,x),b.removeEventListener(`durationchange`,x),b.removeEventListener(`timeupdate`,x),b.removeEventListener(`play`,C),b.removeEventListener(`pause`,T),b.removeEventListener(`ended`,D),b.removeEventListener(`error`,k)},s.current=f,a.current=b,O(e.meta?.durationSeconds??0),v(`ready`),l.current=null,await b.play().catch(()=>void 0)}catch(e){if(y.signal.aborted){l.current===y&&v(`idle`);return}_?.dispose(),u.current===_&&(u.current=null),S(e instanceof Error?e.message:`Could not create the narration.`),v(`error`),l.current=null}},[t,B]);R((0,J.useMemo)(()=>[{id:`gezel.narrate-selection`,label:`Narrate selection`,group:`narration`,when:`selection`,disabled:_===`creating`,icon:(0,Y.jsx)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,Y.jsx)(`path`,{d:`M4 9v6h4l5 4V5L8 9H4Zm12.5 3a4.5 4.5 0 0 0-2-3.74v7.48a4.5 4.5 0 0 0 2-3.74Z`})}),onSelect:({selectedText:e})=>H(e,`selection`)}],[H,_]));let U=(0,J.useCallback)(()=>{let e=u.current;if(e){e.snapshot().isPlaying?(g.current=!0,e.pause()):(g.current=!1,e.play().catch(e=>{S(e instanceof Error?e.message:`Could not play the narration.`),v(`error`)}));return}let t=a.current;t&&(t.paused?(Number.isFinite(t.duration)&&t.currentTime>=t.duration&&(t.currentTime=0),t.play().catch(e=>{S(e instanceof Error?e.message:`Could not play the narration.`),v(`error`)})):t.pause())},[]),W=(0,J.useCallback)(e=>{let t=u.current;if(t){let n=t.snapshot();t.seek(n.currentTime+e);return}let n=a.current;if(!n)return;let r=Number.isFinite(n.duration)?n.duration:1/0;n.currentTime=Math.max(0,Math.min(r,n.currentTime+e)),E(n.currentTime)},[]),ne=(0,J.useCallback)(e=>{let t=u.current;if(t){t.seek(e);return}let n=a.current;n&&(n.currentTime=e,E(e))},[]),re=(0,J.useCallback)(()=>{let t=c.current;t&&Oe(t,De(e,y))},[e,y]),G=k?.phase===`encoding`?100:Math.min(100,Math.round((k?.completedCharacters??0)/(k?.totalCharacters||1)*100)),K=N>0?Math.min(G,T/N*G):0,ie=_===`idle`?null:(0,Se.createPortal)((0,Y.jsxs)(`aside`,{className:`document-narration-transport`,"aria-label":`Narration controls`,children:[_===`creating`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`document-narration-summary`,"aria-live":`polite`,children:[(0,Y.jsx)(`strong`,{children:C?`Playing while creating…`:L&&!g.current?`Buffering narration…`:`Creating narration…`}),(0,Y.jsx)(`span`,{children:N>0?`${X(T)} played · ${X(N)} buffered`:`${y===`document`?`Full document`:`Selected text`} · ${k?.phase===`loading`?`Preparing voice`:`Starting speech`} · ${X(j)} elapsed`})]}),N>0&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{type:`button`,className:`document-narration-control`,"aria-label":`Back 30 seconds`,title:`Back 30 seconds`,onClick:()=>W(-30),children:[`↶`,(0,Y.jsx)(`small`,{children:`30`})]}),(0,Y.jsx)(`button`,{type:`button`,className:`document-narration-control document-narration-play`,"aria-label":C?`Pause narration`:`Play buffered narration`,title:C?`Pause`:`Play buffered audio`,onClick:U,children:C?`Ⅱ`:`▶`}),(0,Y.jsxs)(`button`,{type:`button`,className:`document-narration-control`,"aria-label":`Forward 30 seconds`,title:`Forward within buffered audio`,onClick:()=>W(30),children:[`↷`,(0,Y.jsx)(`small`,{children:`30`})]})]}),(0,Y.jsxs)(`div`,{className:`document-narration-progress`,role:`progressbar`,"aria-label":`Creating narration`,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0,"aria-valuenow":G,title:`${X(N)} generated · ${G}% complete`,children:[(0,Y.jsx)(`span`,{className:`document-narration-progress-buffered`,style:{width:`${G}%`}}),(0,Y.jsx)(`span`,{className:`document-narration-progress-played`,style:{width:`${K}%`}})]}),(0,Y.jsxs)(`span`,{className:`document-narration-progress-value`,children:[G,`% · `,X(N)]}),(0,Y.jsx)(`button`,{type:`button`,className:`document-narration-cancel`,onClick:V,children:`Cancel`})]}),_===`ready`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`document-narration-summary`,"aria-live":`polite`,children:[(0,Y.jsx)(`strong`,{children:y===`document`?`Document narration`:`Selection narration`}),(0,Y.jsx)(`span`,{children:C?`Playing`:`Paused`})]}),(0,Y.jsxs)(`button`,{type:`button`,className:`document-narration-control`,"aria-label":`Back 30 seconds`,title:`Back 30 seconds`,onClick:()=>W(-30),children:[`↶`,(0,Y.jsx)(`small`,{children:`30`})]}),(0,Y.jsx)(`button`,{type:`button`,className:`document-narration-control document-narration-play`,"aria-label":C?`Pause narration`:`Play narration`,title:C?`Pause`:`Play`,onClick:U,children:C?`Ⅱ`:`▶`}),(0,Y.jsxs)(`button`,{type:`button`,className:`document-narration-control`,"aria-label":`Forward 30 seconds`,title:`Forward 30 seconds`,onClick:()=>W(30),children:[`↷`,(0,Y.jsx)(`small`,{children:`30`})]}),(0,Y.jsxs)(`label`,{className:`document-narration-timeline`,children:[(0,Y.jsx)(`span`,{className:`sr-only`,children:`Narration position`}),(0,Y.jsx)(`input`,{type:`range`,min:0,max:Math.max(D,.1),step:.1,value:Math.min(T,Math.max(D,.1)),onChange:e=>ne(Number(e.currentTarget.value))}),(0,Y.jsxs)(`span`,{"aria-hidden":`true`,children:[X(T),` / `,X(D)]})]}),(0,Y.jsx)(`button`,{type:`button`,className:`document-narration-download`,"aria-label":`Download WAV`,title:`Download WAV`,onClick:re,children:(0,Y.jsx)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,Y.jsx)(`path`,{d:`M12 3v11m0 0 4-4m-4 4-4-4M5 17v3h14v-3`})})}),(0,Y.jsx)(`button`,{type:`button`,className:`document-narration-close`,"aria-label":`Close narration`,title:`Close`,onClick:V,children:`×`})]}),_===`error`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`document-narration-summary`,role:`alert`,children:[(0,Y.jsx)(`strong`,{children:`Narration unavailable`}),(0,Y.jsx)(`span`,{children:x})]}),(0,Y.jsx)(`button`,{type:`button`,className:`document-narration-cancel`,onClick:V,children:`Close`})]})]}),document.body);return(0,Y.jsxs)(`span`,{className:`document-narration-root`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`squisq-toolbar-button document-narration-trigger`,"aria-label":`Narrate document`,title:`Narrate document`,disabled:!te||_===`creating`,onClick:()=>void H(te,`document`),children:(0,Y.jsx)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,Y.jsx)(`path`,{d:`M4 9v6h4l5 4V5L8 9H4Zm12.5 3a4.5 4.5 0 0 0-2-3.74v7.48a4.5 4.5 0 0 0 2-3.74Zm-2-8.65v2.12a7.5 7.5 0 0 1 0 13.06v2.12a9.5 9.5 0 0 0 0-17.3Z`})})}),ie]})}function Ae({entries:e,selectedPath:t,onSelect:n,iconFor:r=y,trailingForEntry:i,detailForEntry:a,actionsForEntry:o,emptyMessage:s}){return e.length===0?s?(0,Y.jsx)(`div`,{className:`file-flat-empty muted`,children:s}):null:(0,Y.jsx)(`div`,{className:`file-flat-list`,children:e.map(e=>{let s=f(e.path),c=i?.(e),l=a?.(e),u=o?.(e)??[],d=(0,Y.jsxs)(`div`,{className:`tree-row${t===e.path?` tree-row-selected`:``}${l?` file-flat-row-card`:``}`,children:[(0,Y.jsx)(`span`,{className:`tree-toggle-spacer`}),(0,Y.jsxs)(`button`,{type:`button`,className:`tree-label${l?` file-flat-card`:``}`,onClick:()=>n(e),children:[(0,Y.jsxs)(`span`,{className:`file-flat-card-name`,children:[r(e),e.name,s&&(0,Y.jsx)(`span`,{className:`file-flat-parent`,children:s})]}),l&&(0,Y.jsx)(`span`,{className:`file-flat-card-detail`,children:l})]}),c&&(0,Y.jsx)(`button`,{type:`button`,className:`tree-row-trailing tree-row-trailing-select`,tabIndex:-1,onClick:()=>n(e),children:c}),u.length>0&&(0,Y.jsxs)(j,{children:[(0,Y.jsx)(D,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,className:`tree-actions-trigger`,"aria-label":`Actions for ${e.name}`,title:`Actions for ${e.name}`,children:(0,Y.jsx)(`span`,{"aria-hidden":`true`,children:`⋯`})})}),(0,Y.jsx)(k,{children:(0,Y.jsx)(O,{className:`app-nav-menu tree-actions-menu`,sideOffset:4,align:`end`,children:u.map(t=>(0,Y.jsx)(A,{className:`app-nav-menu-item`,disabled:t.disabled,onSelect:()=>void t.onSelect(e),children:t.label},t.label))})})]})]},e.path);return u.length>0?(0,Y.jsxs)(h,{children:[(0,Y.jsx)(S,{asChild:!0,children:d}),(0,Y.jsx)(p,{children:(0,Y.jsx)(_,{className:`app-nav-menu tree-actions-menu`,children:u.map(t=>(0,Y.jsx)(m,{className:`app-nav-menu-item`,disabled:t.disabled,onSelect:()=>void t.onSelect(e),children:t.label},t.label))})})]},e.path):d})})}var Z={width:14,height:14,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":!0,focusable:!1},je=()=>(0,Y.jsxs)(`svg`,{...Z,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M1.8 4.6h3.6l1.4 1.5h7.4v6.9H1.8Z`}),(0,Y.jsx)(`path`,{d:`M6.3 11.2 7.9 7.4l1.6 3.8`,strokeWidth:`1.3`}),(0,Y.jsx)(`path`,{d:`M6.9 10h2`,strokeWidth:`1.3`})]}),Me=()=>(0,Y.jsxs)(`svg`,{...Z,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M1.8 4.6h3.6l1.4 1.5h7.4v6.9H1.8Z`}),(0,Y.jsx)(`circle`,{cx:`8`,cy:`9.5`,r:`2.2`,strokeWidth:`1.3`}),(0,Y.jsx)(`path`,{d:`M8 8.5v1l0.9 0.6`,strokeWidth:`1.3`})]}),Ne=()=>(0,Y.jsxs)(`svg`,{...Z,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M2.4 3.6h11.2`}),(0,Y.jsx)(`path`,{d:`M2.4 7.4h5`}),(0,Y.jsx)(`path`,{d:`M2.4 11.2h5`}),(0,Y.jsx)(`circle`,{cx:`11.4`,cy:`10.4`,r:`3`,strokeWidth:`1.3`}),(0,Y.jsx)(`path`,{d:`M11.4 9v1.4l1.1 0.7`,strokeWidth:`1.3`})]}),Pe=()=>(0,Y.jsxs)(`svg`,{...Z,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M2.4 3.9h7`}),(0,Y.jsx)(`path`,{d:`M2.4 7.7h7`}),(0,Y.jsx)(`path`,{d:`M2.4 11.5h7`}),(0,Y.jsx)(`path`,{d:`M12.6 3.4v5.2`}),(0,Y.jsx)(`path`,{d:`M12.6 11.6v0.01`,strokeWidth:`2.4`})]}),Fe=()=>(0,Y.jsxs)(`svg`,{...Z,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M2.8 11.8a5.2 5.2 0 0 1 10.4 0`}),(0,Y.jsx)(`path`,{d:`M8 11.8 10.7 8`}),(0,Y.jsx)(`path`,{d:`M8 11.8v0.01`,strokeWidth:`2.4`})]}),Ie=()=>(0,Y.jsxs)(`svg`,{...Z,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M1.4 8S3.8 3.8 8 3.8 14.6 8 14.6 8 12.2 12.2 8 12.2 1.4 8 1.4 8Z`}),(0,Y.jsx)(`circle`,{cx:`8`,cy:`8`,r:`1.9`,strokeWidth:`1.3`})]}),Le=()=>(0,Y.jsxs)(`svg`,{...Z,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M1.4 8S3.8 3.8 8 3.8 14.6 8 14.6 8 12.2 12.2 8 12.2 1.4 8 1.4 8Z`}),(0,Y.jsx)(`circle`,{cx:`8`,cy:`8`,r:`1.9`,strokeWidth:`1.3`}),(0,Y.jsx)(`path`,{d:`M2.6 13.4 13.4 2.6`})]}),Re=()=>(0,Y.jsxs)(`svg`,{...Z,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:`M8.6 2.9H3.1v10h10V7.4`}),(0,Y.jsx)(`path`,{d:`M9.4 6.6 13.4 2.6`}),(0,Y.jsx)(`path`,{d:`M10.3 2.6h3.1v3.1`})]}),ze={"tree-alpha":{label:`Folders, A to Z`,hint:`Folder view — folders and files sorted by name.`,icon:je},"tree-modified":{label:`Folders, newest first`,hint:`Folder view — folders by name, files with the newest changes on top.`,icon:Me},"flat-modified":{label:`All files by last modified`,hint:`Every file across all folders, newest changes on top.`,icon:Ne},"flat-issues":{label:`Files by issues`,hint:`Files with open review issues, most issues on top.`,icon:Pe},"flat-criticality":{label:`Files by criticality`,hint:`Files with open review issues, weighted so major issues rank first.`,icon:Fe}};function Be({value:e,modes:t,onChange:n}){return(0,Y.jsx)(`div`,{className:`gz-tray file-view-tray`,role:`radiogroup`,"aria-label":`File list view`,children:t.map(t=>{let r=ze[t],i=r.icon,a=t===e;return(0,Y.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":a,className:`gz-key gz-key--icon${a?` gz-key-active`:``}`,title:r.hint,"aria-label":r.label,onClick:()=>{a||n(t)},children:(0,Y.jsx)(i,{})},t)})})}function Ve({kind:e,value:t,onChange:n}){return(0,Y.jsx)(`div`,{className:`gz-tray file-hidden-tray`,children:(0,Y.jsx)(`button`,{type:`button`,"aria-pressed":t,className:`gz-key gz-key--icon${t?` gz-key-active`:``}`,title:t?`Hide hidden files again.`:e===`workspace`?`Show hidden files — Office lock files, dot-files, and folders like node_modules.`:e===`artifacts`?`Show hidden files — Office lock files, dot-files, and the generated shadow folder.`:`Show hidden files — Office lock files, dot-files, and companion folders.`,"aria-label":`Show hidden files`,onClick:()=>n(!t),children:(0,Y.jsx)(t?Ie:Le,{})})})}function He({onReveal:e}){return(0,Y.jsx)(`div`,{className:`gz-tray file-reveal-tray`,children:(0,Y.jsx)(`button`,{type:`button`,className:`gz-key gz-key--icon`,title:`Open in file manager`,"aria-label":`Open in file manager`,onClick:e,children:(0,Y.jsx)(Re,{})})})}var Ue=`gezel:project-file-tree-width:v1`,We=`gezel:project-file-tree-collapsed:v1`,Ge=150,Ke=560,Q=240,qe=100,Je=34;function Ye(e){return Number.isFinite(e)?Math.max(Ge,Math.min(Ke,Math.round(e))):Q}function Xe(){if(typeof window>`u`)return Q;try{let e=window.localStorage.getItem(Ue);return e?Ye(Number.parseFloat(e)):Q}catch{return Q}}function Ze(){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(We)===`1`}catch{return!1}}function Qe({source:e,entries:t,truncated:n,viewMode:r,modes:i,onViewModeChange:a,showHidden:o,onShowHiddenChange:s,selectedPath:c,onSelect:l,selectableFolders:u,labelFor:d,emptyMessage:f,mutations:p,viewer:m,extraPane:h,headerExtra:_,titleReplacement:v,notices:y,trailingForEntry:x,actionsForEntry:S,customList:C,layoutClassName:w}){let[E,D]=(0,J.useState)(()=>Xe()),[O,k]=(0,J.useState)(()=>Ze()),A=(0,J.useRef)(null),j=(0,J.useCallback)(e=>{let t=Ye(e);D(t);try{window.localStorage.setItem(Ue,String(t))}catch{}},[]),N=(0,J.useCallback)(e=>{k(e);try{window.localStorage.setItem(We,e?`1`:`0`)}catch{}},[]),P=(0,J.useCallback)(e=>{e.preventDefault(),A.current={startX:e.clientX,startWidth:O?Je:E},document.body.classList.add(`chat-rail-resizing`),document.body.style.cursor=`col-resize`;let t=e=>{let t=A.current;if(!t)return;let n=t.startWidth+(e.clientX-t.startX);if(n<qe){N(!0);return}N(!1),j(n)},n=()=>{A.current=null,document.body.style.cursor=``,document.body.classList.remove(`chat-rail-resizing`),window.removeEventListener(`mousemove`,t),window.removeEventListener(`mouseup`,n)};window.addEventListener(`mousemove`,t),window.addEventListener(`mouseup`,n)},[O,N,j,E]),F=(0,J.useCallback)(e=>{let t=e.shiftKey?24:8;if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let n=e.key===`ArrowLeft`?-t:t;if(O){if(n<0)return;N(!1);return}let r=E+n;if(r<qe){N(!0);return}j(r)}else e.key===`Home`?(e.preventDefault(),N(!1),j(Ke)):e.key===`End`&&(e.preventDefault(),N(!0))},[O,N,j,E]),I=r===`tree-alpha`||r===`tree-modified`,L=r===`flat-modified`&&!C?t.filter(e=>!e.isDirectory).slice().sort(b):[],R=e.title.toLowerCase();return(0,Y.jsxs)(`div`,{className:`project-files-layout has-tree-grip${O?` tree-collapsed`:``}${h?` has-index-pane`:``}${w?` ${w}`:``}`,style:{"--file-tree-user-width":`${E}px`},children:[p.dialogs,O&&(0,Y.jsx)(`div`,{className:`file-tree-panel file-tree-panel-collapsed`,children:(0,Y.jsxs)(`button`,{type:`button`,className:`file-tree-expand-btn`,onClick:()=>N(!1),"aria-expanded":!1,"aria-label":`Show ${e.title} files`,title:`Show ${e.title} files`,children:[(0,Y.jsx)(`svg`,{viewBox:`0 0 16 16`,width:`12`,height:`12`,"aria-hidden":`true`,children:(0,Y.jsx)(`path`,{d:`M6 3.5 10.5 8 6 12.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`})}),(0,Y.jsx)(`span`,{className:`file-tree-collapsed-label`,children:e.title})]})}),!O&&(0,Y.jsxs)(`div`,{className:`file-tree-panel document-drop-zone${p.activeDropZone===`tree`?` document-drop-zone-active`:``}`,...p.dropZoneProps(`tree`,``),children:[(0,Y.jsxs)(`div`,{className:`file-tree-header`,children:[v??(0,Y.jsx)(`span`,{className:`file-tree-title`,children:e.title}),(0,Y.jsx)(`div`,{className:`file-tree-header-actions`,children:(p.newFolder||p.newFile)&&(0,Y.jsxs)(`div`,{className:`gz-tray file-create-tray`,children:[p.newFolder&&(0,Y.jsx)(`button`,{type:`button`,className:`gz-key gz-key--icon`,"aria-label":`New folder`,title:`New folder`,onClick:()=>p.newFolder?.(),children:(0,Y.jsx)(`i`,{className:`fa-solid fa-folder-plus`,"aria-hidden":`true`})}),p.newFile&&(0,Y.jsx)(`button`,{type:`button`,className:`gz-key gz-key--icon`,"aria-label":e.kind===`documents`?`New document`:`New file`,title:e.kind===`documents`?`New document`:`New file`,onClick:()=>p.newFile?.(),children:(0,Y.jsx)(`i`,{className:`fa-solid fa-file-circle-plus`,"aria-hidden":`true`})})]})}),_,(0,Y.jsxs)(`div`,{className:`file-tree-toolbar`,children:[(0,Y.jsx)(Be,{value:r,modes:i,onChange:a}),(0,Y.jsx)(Ve,{kind:e.kind,value:o,onChange:s}),e.reveal&&(0,Y.jsx)(He,{onReveal:()=>void e.reveal?.()})]})]}),p.status&&(0,Y.jsx)(`output`,{className:`file-tree-status`,children:p.status}),y,(0,Y.jsxs)(`div`,{className:`file-tree`,children:[C?(0,Y.jsx)(Ae,{entries:C.entries,selectedPath:c,onSelect:C.onSelect??l,trailingForEntry:C.trailingForEntry,detailForEntry:C.detailForEntry,actionsForEntry:C.actionsForEntry??S,emptyMessage:C.emptyMessage}):I?t.length===0?(0,Y.jsx)(`p`,{className:`muted`,style:{padding:`0.5rem`,fontSize:`0.85rem`},children:f}):(0,Y.jsx)(T,{entries:t,selectedPath:c,sortMode:r===`tree-modified`?`modified`:`alpha`,labelFor:d,selectableFolders:u,onSelect:l,onRename:p.rename,onDelete:p.remove,onMove:e.kind===`documents`?p.move:void 0,trailingForEntry:x,actionsForEntry:S}):(0,Y.jsx)(Ae,{entries:L,selectedPath:c,onSelect:l,trailingForEntry:e=>{let t=x?.(e),n=e.mtimeMs===void 0?null:(0,Y.jsx)(`span`,{className:`file-flat-time`,title:M(new Date(e.mtimeMs)),children:g(new Date(e.mtimeMs).toISOString())});return t||n?(0,Y.jsxs)(Y.Fragment,{children:[t,n]}):null},actionsForEntry:S,emptyMessage:`No ${R} files yet.`}),!C&&n&&(0,Y.jsxs)(`p`,{className:`muted`,style:{padding:`0.5rem`,fontSize:`0.8rem`},children:[`This folder has more files than can be shown — the listing is incomplete.`,e.reveal?` Use "Open in file manager" above to browse everything.`:``]})]}),p.activeDropZone===`tree`&&(0,Y.jsxs)(`div`,{className:`document-drop-overlay`,"aria-hidden":`true`,children:[(0,Y.jsx)(`i`,{className:`fa-solid fa-file-arrow-down`}),(0,Y.jsxs)(`span`,{children:[`Drop to add to `,e.title]})]})]}),(0,Y.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize ${R} files`,tabIndex:0,className:`chat-rail-grip file-tree-grip`,onMouseDown:P,onKeyDown:F,onDoubleClick:()=>N(!O)}),(0,Y.jsxs)(`div`,{className:`file-viewer-panel document-drop-zone${p.activeDropZone===`detail`?` document-drop-zone-active`:``}`,...p.dropZoneProps(`detail`,et(c,t)),children:[m,p.activeDropZone===`detail`&&(0,Y.jsxs)(`div`,{className:`document-drop-overlay`,"aria-hidden":`true`,children:[(0,Y.jsx)(`i`,{className:`fa-solid fa-file-arrow-down`}),(0,Y.jsxs)(`span`,{children:[`Drop to add to `,tt(c,t,e.title)]})]})]}),h]})}function $e(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}function et(e,t){return e?t.find(t=>t.path===e)?.isDirectory?e:$e(e):``}function tt(e,t,n){let r=et(e,t);return r?r.slice(r.lastIndexOf(`/`)+1):n}var nt=`__IMAGE__`,rt=`__VIDEO__`,it=`__AUDIO__`,at=`__BINARY__`,ot=new Set([nt,rt,it,at]);function st(e){return/\.(png|jpe?g|gif|svg|webp|bmp)$/i.test(e)}function ct(e){return/\.(mp4|webm|mov|m4v|avi|mkv|ogv)$/i.test(e)}function lt(e){return/\.(mp3|wav|ogg|oga|m4a|aac|flac|opus)$/i.test(e)}function ut(e){return st(e)?nt:ct(e)?rt:lt(e)?it:null}function dt(e){let t=e.slice(0,4096);if(!t)return!1;let n=0;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);(r===65533||r<9||r>13&&r<32)&&n++}return n/t.length>.1}function ft({kind:e,path:t,fetchBlob:n}){let[r,i]=(0,J.useState)(null),[a,o]=(0,J.useState)(null);return(0,J.useEffect)(()=>{let e=!1,r=null;return(async()=>{try{let a=await n(t);if(e)return;r=URL.createObjectURL(a),i(r)}catch(t){e||o(t.message)}})(),()=>{e=!0,r&&URL.revokeObjectURL(r)}},[n,t]),a?(0,Y.jsxs)(`p`,{className:`muted small`,children:[`Preview failed: `,a]}):r?e===`image`?(0,Y.jsx)(`img`,{src:r,alt:t}):e===`audio`?(0,Y.jsx)(`audio`,{src:r,controls:!0,style:{width:`100%`}}):(0,Y.jsx)(`video`,{src:r,controls:!0,style:{maxWidth:`100%`,maxHeight:`100%`}}):(0,Y.jsx)(`p`,{className:`muted small`,children:`Loading…`})}function pt({content:e,path:t,fetchBlob:n,sizeBytes:r}){let i=e===`__IMAGE__`?`image`:e===`__VIDEO__`?`video`:e===`__AUDIO__`?`audio`:null;return(0,Y.jsxs)(`div`,{className:`image-preview`,children:[i?(0,Y.jsx)(ft,{kind:i,path:t,fetchBlob:n}):(0,Y.jsx)(`p`,{className:`muted`,style:{textAlign:`center`},children:`Binary file — no text preview available.`}),(0,Y.jsx)(`p`,{className:`muted`,style:{textAlign:`center`},children:r===void 0?t:`${t} · ${E(r)}`})]})}function mt(){return{kind:`documents`,title:`Documents`,canWrite:!0,list:({hidden:e})=>i.listDocuments(``,!0,{stats:!0,hidden:e}),read:e=>i.readDocument(e),fetchBlob:e=>i.fetchDocumentBlob(e),write:async(e,t)=>{await i.writeDocument(e,t)},writeBinary:async(e,t,n)=>{await i.writeDocumentBinary(e,t,n)},remove:async e=>{await i.deleteDocument(e)},mkdir:async e=>{await i.createDocumentFolder(e)},rename:async(e,t)=>{await i.renameDocument(e,t)},reveal:async()=>{await i.revealDocuments()},changeEventPrefix:`gezel:document`}}function ht(e,t,n){let r=t===`workspace`;return{kind:t,title:r?`Workspace`:`Artifacts`,canWrite:n.canWrite,list:({hidden:t})=>r?i.listProjectWorkspace(e,``,!0,{stats:!0,hidden:t}):i.listProjectArtifacts(e,``,!0,{stats:!0,hidden:t}),read:t=>r?i.readProjectWorkspaceFile(e,t):i.readProjectArtifact(e,t),fetchBlob:t=>r?i.fetchProjectWorkspaceBlob(e,t):i.fetchProjectArtifactBlob(e,t),write:async(t,n)=>{r?await i.writeProjectWorkspaceFile(e,{path:t,content:n}):await i.writeProjectArtifact(e,t,n)},writeBinary:async(t,n,a)=>{r?await i.writeProjectWorkspaceBinary(e,t,n,a):await i.writeProjectArtifactBinary(e,t,n,a)},remove:async t=>{r?await i.rmProjectWorkspacePath(e,t,{recursive:!0}):await i.deleteProjectArtifact(e,t)},mkdir:async t=>{r?await i.mkdirProjectWorkspace(e,{path:t}):await i.createProjectArtifactFolder(e,t)},rename:async(t,n)=>{r?await i.renameProjectWorkspacePath(e,{fromPath:t,toPath:n}):await i.renameProjectArtifactPath(e,t,n)},reveal:async()=>{await i.revealProject(e,t)}}}function $(e){return Array.from(e.dataTransfer.types).includes(`Files`)}function gt(e){if(!e||e.isDirectory)return;if(!e.name.includes(`.`))return`.md`;let t=e.name.match(/\.(md|markdown|mdx)$/i);return t?`.${t[1].toLowerCase()}`:void 0}function _t(e,t){return e.some(e=>e.path===t||e.path.startsWith(`${t}/`))}function vt(e,t){let n=e.kind===`documents`?[`document:${t}`]:[`file:${e.kind}:${t}`,`document:${t}`],r=K(t);return r&&n.push(e.kind===`documents`?`outside-in:documents:${r.markdownPath}`:`outside-in:${e.kind}:${r.markdownPath}`),n}function yt(e){let{source:t,entries:n,selectedPath:r,onSelectPath:i,refresh:a}=e,o=e.newFileSuffix??(t.kind===`documents`?`.md`:void 0),[s,c]=(0,J.useState)(``),[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(!1),[p,m]=(0,J.useState)(``),[h,g]=(0,J.useState)(null),[_,y]=(0,J.useState)(null),[b,S]=(0,J.useState)(null),[T,E]=(0,J.useState)(null),D=t.canWrite,O=(0,J.useCallback)((e,n)=>{t.changeEventPrefix&&window.dispatchEvent(new CustomEvent(`${t.changeEventPrefix}-${e}`,{detail:{path:n}}))},[t.changeEventPrefix]),k=(0,J.useCallback)(async e=>{if(r&&!(r!==e.path&&!r.startsWith(`${e.path}/`)))for(let e of vt(t,r))await te(e)},[r,t]),A=(0,J.useCallback)(async()=>{let e=h;if(e)try{await k(e);let o=(e.isDirectory?null:K(e.path))?.companionDirectory??(e.isDirectory?null:x(e.path)),s=o?_t(n,o):!1;await t.remove(e.path),o&&s&&await t.remove(o),O(`deleted`,e.path),r&&(r===e.path||r.startsWith(`${e.path}/`))&&i(null),await a()}catch(e){c(`delete failed: ${e.message}`)}finally{g(null)}},[O,h,n,k,i,a,r,t]),j=(0,J.useCallback)(async(e,o)=>{let s=t.rename;if(!s)throw Error(`Moving files is not available here.`);let c=e.isDirectory?null:K(e.path),l=e.isDirectory?null:K(o);if(c&&l?.format!==c.format)throw Error(`Keep the .${c.format} extension when renaming this document.`);let u=c?.companionDirectory??(e.isDirectory?null:x(e.path)),d=l?.companionDirectory??(e.isDirectory?null:x(o));if(!e.isDirectory&&w(e.path)&&!w(o))throw Error(`Keep the Markdown extension when renaming this document.`);if(d&&n.some(e=>e.path===o||(e.path===d||e.path.startsWith(`${d}/`))&&!(u&&(e.path===u||e.path.startsWith(`${u}/`)))))throw Error(`A document or companion folder with that name already exists.`);await k(e);let f=u?_t(n,u):!1;if(await v(s,e.path,o,f&&u&&d?{from:u,to:d}:null),c&&l){let e=ie(c,n.filter(e=>!e.isDirectory).map(e=>e.path));if(f&&e){let n=`${l.companionDirectory}${e.slice(c.companionDirectory.length)}`;e===c.markdownPath&&n!==l.markdownPath&&(await s(n,l.markdownPath),n=l.markdownPath);let r=await t.read(n),i=G(r.content,l);i!==r.content&&await t.write(n,i)}}await a(),r&&(r===e.path||r.startsWith(`${e.path}/`))&&i(`${o}${r.slice(e.path.length)}`),t.changeEventPrefix&&window.dispatchEvent(new CustomEvent(`${t.changeEventPrefix}-renamed`,{detail:{fromPath:e.path,toPath:o,isDirectory:e.isDirectory}}))},[n,k,i,a,r,t]),M=(0,J.useCallback)(async e=>{let n=_;if(!n||!t.rename)return;let r=e.trim();if(!r||/[\\/]/.test(r)){S(`Enter a name without slashes.`);return}let i=n.path.lastIndexOf(`/`),a=`${i>=0?n.path.slice(0,i+1):``}${r}`;if(a===n.path){y(null),S(null);return}try{await j(n,a),y(null),S(null)}catch(e){S(e.message||`Rename failed.`)}},[j,_,t.rename]),P=(0,J.useCallback)(async(e,n)=>{if(!t.rename||!n.isDirectory||e.isDirectory)return;let r=e.path.lastIndexOf(`/`);if((r<0?``:e.path.slice(0,r))===n.path)return;let i=`${n.path}/${e.name}`;c(`Moving ${e.name} to ${n.path}…`);try{await j(e,i),c(`Moved ${e.name} to ${n.path}.`)}catch(e){c(`move failed: ${e.message||`Unknown error.`}`)}},[j,t.rename]),F=(0,J.useCallback)(async e=>{let n=e.trim();if(n)try{await t.write(n,``),u(!1),await a(),i(n),O(`created`,n)}catch(e){c(`create failed: ${e.message}`)}},[O,i,a,t]),I=(0,J.useCallback)(async e=>{let n=e.trim(),r=t.mkdir;if(!(!n||!r))try{await r(n),f(!1),await a(),O(`created`,n)}catch(e){c(`create folder failed: ${e.message}`)}},[O,a,t]),L=(0,J.useCallback)(async(e,r)=>{if(!$(e))return;e.preventDefault(),e.stopPropagation(),E(null);let o=Array.from(e.dataTransfer.files);if(o.length===0)return;c(`Adding ${o.length===1?o[0]?.name:`${o.length} files`}…`);let s=await ae({target:{writeText:(e,n)=>t.write(e,n),writeBinary:(e,n,r)=>t.writeBinary(e,n,r)},files:o,destination:r,existingPaths:n.map(e=>e.path)});if(s.importedPaths.length>0){await a();let e=s.importedPaths.at(-1);i(e),t.changeEventPrefix&&window.dispatchEvent(new CustomEvent(`${t.changeEventPrefix}-created`,{detail:{path:e,paths:s.importedPaths}}))}let l=s.importedPaths.length,u=s.rejected.length;if(u>0){let e=s.rejected[0];c(`${l>0?`Added ${l}; `:``}couldn't add ${e.name}: ${e.reason}${u>1?` (+${u-1} more)`:``}`)}else c(`Added ${l} ${l===1?`file`:`files`}.`)},[n,i,a,t]),R=(0,J.useCallback)((e,t)=>D?{onDragEnterCapture:t=>{$(t)&&(t.preventDefault(),t.stopPropagation(),t.dataTransfer.dropEffect=`copy`,E(e))},onDragOverCapture:t=>{$(t)&&(t.preventDefault(),t.stopPropagation(),t.dataTransfer.dropEffect=`copy`,E(t=>t===e?t:e))},onDragLeaveCapture:e=>{if(!$(e))return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||E(null)},onDropCapture:e=>void L(e,t)}:{},[L,D]);return{dialogs:(0,J.useMemo)(()=>(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(C,{open:l,title:`New ${t.kind===`documents`?`document`:`file`}`,placeholder:t.kind===`documents`?p?`e.g. coding`:`e.g. guidelines/coding`:`e.g. notes/report.md`,submitLabel:`Create`,parentPath:p||void 0,fieldLabel:p?`Name`:`Path`,suffix:o,onSubmit:F,onCancel:()=>u(!1)}),(0,Y.jsx)(C,{open:d,title:`New folder`,placeholder:`e.g. guidelines`,submitLabel:`Create`,initialValue:p,onSubmit:I,onCancel:()=>f(!1)}),(0,Y.jsx)(C,{open:_!==null,title:_?.isDirectory?`Rename folder`:`Rename file`,fieldLabel:`Name`,placeholder:`New name`,submitLabel:`Rename`,initialValue:_?.name??``,suffix:gt(_),error:b,onSubmit:M,onCancel:()=>{y(null),S(null)}}),(0,Y.jsx)(N,{open:h!==null,title:h?.isDirectory?`Delete folder?`:`Delete file?`,message:h?.isDirectory?`This will remove "${h.path}" and everything inside it. This cannot be undone.`:h?`"${h.path}" will be permanently removed.`:``,confirmLabel:`Delete`,danger:!0,onCancel:()=>g(null),onConfirm:A})]}),[A,M,h,F,I,o,p,b,_,l,d,t.kind]),status:s,setStatus:c,newFile:D?(e=``)=>{m(e),u(!0)}:void 0,newFolder:D&&t.mkdir?(e=``)=>{m(e),f(!0)}:void 0,rename:D&&t.rename?e=>{S(null),y(e)}:void 0,remove:D?e=>g(e):void 0,move:D&&t.rename?P:void 0,activeDropZone:T,dropZoneProps:R}}export{nt as a,dt as c,ke as d,be as f,se as h,at as i,ut as l,le as m,mt as n,ot as o,de as p,ht as r,pt as s,yt as t,Qe as u};
@@ -1 +0,0 @@
1
- import"./chunk-UBFT2CDQ-FexGDigd.js";import"./chunk-7ZAAICW4-BsCpYJH6.js";