pisper 0.6.3 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.en.md +0 -6
  2. package/README.md +0 -6
  3. package/bin/pisper.mjs +7 -15
  4. package/lib/install.mjs +9 -49
  5. package/lib/npm-platform.mjs +0 -12
  6. package/package.json +8 -9
  7. package/web/.vite/manifest.json +713 -737
  8. package/web/assets/AppDialog-BOGrPFbo.js +1 -0
  9. package/web/assets/{AppOverlays-CR5iJcP5.js → AppOverlays-D1vfPPIC.js} +1 -1
  10. package/web/assets/AppSelect-BCexz4Ty.js +1 -0
  11. package/web/assets/{AppShortcuts-BachmLQ3.js → AppShortcuts-Dd4gu7qz.js} +1 -1
  12. package/web/assets/{AssetsPage-BltehMID.js → AssetsPage-BPhPo5eU.js} +1 -1
  13. package/web/assets/ChannelsPage-Cu4v-GU2.js +1 -0
  14. package/web/assets/ChatAppearancePage-BLRQ7aH6.js +2 -0
  15. package/web/assets/ChatHistoryPage-BYqJFbY5.js +1 -0
  16. package/web/assets/ChatPage-tqAIj2Go.js +554 -0
  17. package/web/assets/ConfigPage-Z-BQwP2X.js +1 -0
  18. package/web/assets/{DecisionsPage-DOhLbIaD.js → DecisionsPage-Db6MIGD2.js} +1 -1
  19. package/web/assets/{DesktopWindowControls-KmgemDO8.js → DesktopWindowControls-CBYGv94u.js} +1 -1
  20. package/web/assets/{FloatingWidgets-Bs7ec6lW.js → FloatingWidgets-dzsQIxAO.js} +1 -1
  21. package/web/assets/{GitDiffViewer-xm2LnN9r.js → GitDiffViewer-m5aLB7Li.js} +1 -1
  22. package/web/assets/MarkdownMessage-CA9ODRKk.js +2 -0
  23. package/web/assets/McpPage-rerFxjYZ.js +1 -0
  24. package/web/assets/MemoryPage-cukfU824.js +1 -0
  25. package/web/assets/MobileContextScreen-W8V4H3Xv.js +2 -0
  26. package/web/assets/MobileNavigation-CEVgs1Ke.js +1 -0
  27. package/web/assets/MobileShellContext-D8qX-BlM.js +1 -0
  28. package/web/assets/{PageHeader-C_bfu8Ir.js → PageHeader-DIs9bESb.js} +1 -1
  29. package/web/assets/{PluginsPage-BPx5ERHL.js → PluginsPage-09Um3mY4.js} +1 -1
  30. package/web/assets/QueryClientProvider-CHJtxoX1.js +1 -0
  31. package/web/assets/{QuickPromptIdeas-Bs-udcSZ.js → QuickPromptIdeas-DGIL0nN7.js} +1 -1
  32. package/web/assets/SchedulesPage-C75QUeB5.js +1 -0
  33. package/web/assets/SessionContextPanel-oaKXyi7k.js +1 -0
  34. package/web/assets/{SessionFilesPane-BIRQ_hHi.js → SessionFilesPane-DPijesqH.js} +2 -2
  35. package/web/assets/{SidebarMoreTools-BDqt5VTG.js → SidebarMoreTools-D1nDS3i0.js} +1 -1
  36. package/web/assets/SidebarRecentSessions-a7z2ZvDv.js +2 -0
  37. package/web/assets/{SidebarSettingsButton-B4_vEBS5.js → SidebarSettingsButton-CRdV0Vft.js} +1 -1
  38. package/web/assets/{SidebarUpdateStatus-DD8f4Fxv.js → SidebarUpdateStatus-DgNJBwgT.js} +1 -1
  39. package/web/assets/SkillsPage-DLirgTyX.js +1 -0
  40. package/web/assets/TerminalPanel-CJPy4Qhs.js +18 -0
  41. package/web/assets/{ThemeToggleButton-CXXbLtcY.js → ThemeToggleButton-C5QA5Kf2.js} +1 -1
  42. package/web/assets/{WebDesktopPet-DWFspeZE.js → WebDesktopPet-DgyHLE9y.js} +1 -1
  43. package/web/assets/{WorkbenchSidebarToggle-AgjfcT29.js → WorkbenchSidebarToggle-CcO1Al5A.js} +1 -1
  44. package/web/assets/WorkflowsPage-DrKHzJvb.js +1 -0
  45. package/web/assets/WorkspacePicker-B3liZkwe.js +1 -0
  46. package/web/assets/{api-Dzobr-o_.js → api-YI8_cHpR.js} +1 -1
  47. package/web/assets/{app-primitives-BBXY6U2S.js → app-primitives-SxfoFmHc.js} +1 -1
  48. package/web/assets/app-update-Bg6w1SOW.js +32 -0
  49. package/web/assets/arrow-up-DST6-qVQ.js +1 -0
  50. package/web/assets/catalog-BPCnu3F8.js +1 -0
  51. package/web/assets/channels-messages-DgWnmzUo.js +1 -0
  52. package/web/assets/chat-api-CqF-FICX.js +1 -0
  53. package/web/assets/{client-store-DPMvgPNS.js → client-store-BP_3-plw.js} +1 -1
  54. package/web/assets/{component-api-Nwo2yGZI.js → component-api-CN9Tcn5p.js} +1 -1
  55. package/web/assets/config-search-DOIJENN1.js +1 -0
  56. package/web/assets/dist-B7rNRXig.js +1 -0
  57. package/web/assets/dist-C3P9WH0T.js +1 -0
  58. package/web/assets/dist-CXiO_DNx.js +1 -0
  59. package/web/assets/dist-D8Wfxh48.js +1 -0
  60. package/web/assets/{dropdown-menu-DmL4pJTo.js → dropdown-menu-pKRdLJUe.js} +1 -1
  61. package/web/assets/{events-Bwv6HmwM.js → events-KqdUtjsm.js} +1 -1
  62. package/web/assets/{floating-widgets-store-DIy4GSy4.js → floating-widgets-store-Pjm1AdvO.js} +2 -2
  63. package/web/assets/folder-DPM8D8cf.js +1 -0
  64. package/web/assets/house-BNrzTkx9.js +1 -0
  65. package/web/assets/{http-DphgzWtw.js → http-Be2GB6DH.js} +1 -1
  66. package/web/assets/i18n-8nTnthu6.js +1 -0
  67. package/web/assets/{index-iBrSU61i.js → index-AF29hfx9.js} +2 -2
  68. package/web/assets/index-BAmsg90v.css +2 -0
  69. package/web/assets/monitor-ORxecA9m.js +1 -0
  70. package/web/assets/mount-app-WW5hteuX.js +9 -0
  71. package/web/assets/panels-top-left-BlZftvhg.js +1 -0
  72. package/web/assets/pick-system-directory-BnIFt85A.js +1 -0
  73. package/web/assets/{popover-BBuzaBfd.js → popover-CQqAaq-c.js} +1 -1
  74. package/web/assets/public-c36e4881.js +1 -0
  75. package/web/assets/public-components-C4ndcOCF.js +1 -0
  76. package/web/assets/{runtime-capabilities-store-DaWPY5y-.js → runtime-capabilities-store-CiL3ZPEo.js} +1 -1
  77. package/web/assets/scale-D0LcHVmf.js +1 -0
  78. package/web/assets/{session-change-summary-api-DFgTzTci.js → session-change-summary-api--7cl4LDn.js} +1 -1
  79. package/web/assets/session-context-store-DJnHgWwb.js +1 -0
  80. package/web/assets/session-list-DkNhT87s.js +1 -0
  81. package/web/assets/settings-navigation-CI7Yt4Or.js +1 -0
  82. package/web/assets/{shortcuts-BO-h6OmP.js → shortcuts-C_Cph88H.js} +1 -1
  83. package/web/assets/side-chat-context-Dn8w9ut8.js +3 -0
  84. package/web/assets/{sidebar-CfWEKOIK.js → sidebar-C3YJQV72.js} +1 -1
  85. package/web/assets/{speech-session-DKjw0mV_.js → speech-session-CoUr4n9Q.js} +1 -1
  86. package/web/assets/{startup-queries-CAQZvUIR.js → startup-queries-ByepQfGF.js} +1 -1
  87. package/web/assets/tabs-B60r4YwO.js +1 -0
  88. package/web/assets/{ui-store-2wpnH8Kf.js → ui-store-BGs-dEVz.js} +1 -1
  89. package/web/assets/{use-i18n-BSZKFkMb.js → use-i18n-a84Zp9dV.js} +1 -1
  90. package/web/assets/{useCustomUiComponents-BH86kuaq.js → useCustomUiComponents-BaQ_fwbr.js} +1 -1
  91. package/web/assets/useQuery-D3P5wO_Z.js +1 -0
  92. package/web/assets/web-preview-B7L-G6kp.js +1 -0
  93. package/web/assets/web-preview-events-C4AW4-It.js +1 -0
  94. package/web/index.html +2 -2
  95. package/web/assets/AppSelect-D149YYg1.js +0 -1
  96. package/web/assets/ChannelsPage-Tuw_qicj.js +0 -1
  97. package/web/assets/ChatAppearancePage-DME3PgDr.js +0 -2
  98. package/web/assets/ChatDockView-DoGtrBpY.js +0 -2
  99. package/web/assets/ChatHistoryPage-DTXS6i3n.js +0 -1
  100. package/web/assets/ChatPage-ibc_7olm.js +0 -4
  101. package/web/assets/ConfigPage-CI6one5Y.js +0 -1
  102. package/web/assets/MarkdownMessage-H1336cMr.js +0 -2
  103. package/web/assets/McpPage-Ck-7aLuZ.js +0 -1
  104. package/web/assets/MemoryPage-BEdNJ3ot.js +0 -1
  105. package/web/assets/MobileContextScreen-Dasny2J9.js +0 -2
  106. package/web/assets/MobileThreePane-DEKMHPfN.js +0 -1
  107. package/web/assets/SchedulesPage-W4Mg7frl.js +0 -1
  108. package/web/assets/SessionContextPanel-lu9F9AJg.js +0 -1
  109. package/web/assets/SidebarRecentSessions-1G_huYu9.js +0 -1
  110. package/web/assets/SkillsPage-CpRRosmo.js +0 -1
  111. package/web/assets/TerminalPanel-DVKC4htc.js +0 -18
  112. package/web/assets/Threads-B8ij_QtI.js +0 -1
  113. package/web/assets/WorkflowsPage-bhQlHSzS.js +0 -1
  114. package/web/assets/app-update-DppJNspd.js +0 -32
  115. package/web/assets/arrow-right-DqLOhpA2.js +0 -1
  116. package/web/assets/catalog-D4eaIju4.js +0 -1
  117. package/web/assets/channels-messages-CeRKS_DE.js +0 -1
  118. package/web/assets/chat-api-DfnvubiW.js +0 -1
  119. package/web/assets/chevron-left-BAtyp3_6.js +0 -1
  120. package/web/assets/config-search-CwVhh2uc.js +0 -1
  121. package/web/assets/dist-DAs5KRGl.js +0 -1
  122. package/web/assets/dist-swnK7PHk.js +0 -1
  123. package/web/assets/i18n-7QvbQzOQ.js +0 -1
  124. package/web/assets/index-CdASiNlI.css +0 -2
  125. package/web/assets/local-path-reveal-DWhkyox-.js +0 -1
  126. package/web/assets/mobile-shell-layout-CMpTmYRX.js +0 -1
  127. package/web/assets/mount-app-n_05p6iW.js +0 -9
  128. package/web/assets/panel-left-C_lYsiIA.js +0 -1
  129. package/web/assets/panel-right-BSUtqUd8.js +0 -1
  130. package/web/assets/pick-system-directory-R1F5WyaB.js +0 -1
  131. package/web/assets/pin-Dc2zE4cS.js +0 -1
  132. package/web/assets/public-BcTP7F3I.js +0 -1
  133. package/web/assets/public-components-Ck5BYo6M.js +0 -1
  134. package/web/assets/session-list-CMaoK_ZX.js +0 -1
  135. package/web/assets/session-streaming-state-llCTupbI.js +0 -3
  136. package/web/assets/side-chat-context-Dr2QLUJA.js +0 -1
  137. package/web/assets/tabs-DQYVDdOp.js +0 -1
  138. package/web/assets/use-animation-visibility-_Xe7jeUy.js +0 -1
  139. package/web/assets/useQuery-DdcpUQhO.js +0 -1
  140. package/web/assets/vendor-dockview-Bf3Gg83W.js +0 -1
  141. package/web/assets/vendor-dockview-D5adAaCg.css +0 -1
  142. package/web/assets/web-preview-BPNd1LUd.js +0 -1
  143. package/web/assets/web-preview-CQbpHjt1.js +0 -1
  144. package/web/assets/web-preview-events-o845ErdA.js +0 -1
  145. package/web/assets/web-preview-panel-DVQxVfig.js +0 -552
  146. package/web/assets/workflow-Bg94dy8I.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{u as n}from"./i18n-8nTnthu6.js";import{t as r}from"./createLucideIcon-Cd-3GVxJ.js";var i=r(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),a=e(t(),1),o=`section`,s={models:`config:configPage.models`,notifications:`config:configPage.notifications`,interface:`config:configPage.interface`,shortcuts:`config:configPage.shortcuts`,"desktop-pet":`config:configPage.desktopPet`,updates:`config:configPage.appUpdates`,about:`config:configPage.about`,"remote-access":`config:configPage.remoteAccess`,"mobile-server":`config:configPage.mobileServer`},c=[{id:`sec-models`,section:`models`,card:o,titleKey:`config:configPage.models`,keywords:[`model`,`provider`,`llm`,`api`,`模型`,`供应商`,`大模型`]},{id:`sec-notifications`,section:`notifications`,card:o,titleKey:`config:configPage.notifications`,keywords:[`notification`,`push`,`alert`,`通知`,`推送`,`提醒`]},{id:`sec-interface`,section:`interface`,card:o,titleKey:`config:configPage.interface`,keywords:[`interface`,`theme`,`appearance`,`display`,`界面`,`主题`,`外观`,`显示`]},{id:`sec-shortcuts`,section:`shortcuts`,card:o,titleKey:`config:configPage.shortcuts`,keywords:[`keyboard`,`shortcut`,`hotkey`,`keybinding`,`voice`,`push to talk`,`快捷键`,`按键`,`键盘`,`语音`,`长按`]},{id:`sec-desktop-pet`,section:`desktop-pet`,card:o,titleKey:`config:configPage.desktopPet`,keywords:[`pet`,`petdex`,`宠物`,`桌宠`]},{id:`sec-updates`,section:`updates`,card:o,titleKey:`config:configPage.appUpdates`,keywords:[`update`,`upgrade`,`version`,`更新`,`升级`,`版本`]},{id:`sec-about`,section:`about`,card:o,titleKey:`config:configPage.about`,keywords:[`about`,`info`,`license`,`关于`,`信息`,`许可`]},{id:`sec-remote-access`,section:`remote-access`,card:o,titleKey:`config:configPage.remoteAccess`,keywords:[`remote`,`network`,`phone`,`远程`,`网络`,`手机`]},{id:`sec-mobile-server`,section:`mobile-server`,card:o,titleKey:`config:configPage.mobileServer`,keywords:[`server`,`remote`,`network`,`服务器`,`远程`,`网络`]},{id:`models-current-model`,section:`models`,card:`models-current-model`,titleKey:`config:configPage.currentChatModel`,keywords:[`model`,`provider`,`quick setup`,`模型`,`供应商`,`快速配置`,`对话模型`]},{id:`models-connections`,section:`models`,card:`models-connections`,titleKey:`config:configPage.manageConnections`,keywords:[`provider`,`connection`,`api key`,`import`,`连接`,`供应商`,`导入`,`密钥`]},{id:`models-runtime-policy`,section:`models`,card:`models-connections`,titleKey:`config:configPage.agentRuntimePolicy`,keywords:[`runtime`,`agent`,`policy`,`运行策略`,`运行时`,`执行策略`]},{id:`models-visual`,section:`models`,card:`models-visual`,titleKey:`config:configPage.currentVisualModel`,keywords:[`image`,`video`,`visual`,`图片`,`图像`,`视频`,`视觉`,`生图`]},{id:`notifications-browser`,section:`notifications`,card:`notifications-browser`,titleKey:`config:notificationSettings.notification`,keywords:[`browser`,`system`,`push`,`浏览器通知`,`系统通知`,`推送`]},{id:`notifications-templates`,section:`notifications`,card:`notifications-templates`,titleKey:`config:notificationSettings.notificationTemplates`,keywords:[`template`,`模板`,`通知模板`]},{id:`interface-custom-ui`,section:`interface`,card:`interface-custom-ui`,titleKey:`config:interfaceSettings.customUiTab`,keywords:[`custom ui`,`standalone widgets`,`component`,`html`,`manifest`,`独立组件`,`自定义组件`,`组件`]},{id:`interface-appearance`,section:`interface`,card:`interface-appearance`,titleKey:`config:interfaceSettings.appearance`,keywords:[`theme`,`dark`,`light`,`accent`,`font`,`corner`,`主题`,`深色`,`浅色`,`强调色`,`字体`,`圆角`,`外观`]},{id:`interface-motion`,section:`interface`,card:`interface-motion`,titleKey:`config:interfaceSettings.displayAndMotion`,keywords:[`motion`,`density`,`animation`,`动效`,`动画`,`密度`,`显示`]},{id:`interface-language`,section:`interface`,card:`interface-language`,titleKey:`config:languageSettings.displayLanguage`,keywords:[`language`,`chinese`,`english`,`语言`,`中文`,`英文`,`英语`]},{id:`desktop-pet-settings`,section:`desktop-pet`,card:`desktop-pet-settings`,titleKey:`config:desktopPetSettings.title`,keywords:[`pet`,`宠物`,`桌宠`,`宠物设置`]},{id:`desktop-pet-install`,section:`desktop-pet`,card:`desktop-pet-install`,titleKey:`config:desktopPetSettings.installTitle`,keywords:[`petdex`,`install`,`宠物安装`,`添加宠物`]},{id:`desktop-pet-installed`,section:`desktop-pet`,card:`desktop-pet-installed`,titleKey:`config:desktopPetSettings.installedTitle`,keywords:[`installed`,`已安装`,`宠物列表`]},{id:`mobile-server-main`,section:`mobile-server`,card:`mobile-server-main`,titleKey:`config:mobileServer.title`,keywords:[`server`,`remote`,`服务器`,`远程`,`手机访问`]},{id:`mobile-server-local`,section:`mobile-server`,card:`mobile-server-local`,titleKey:`config:mobileServer.localTitle`,keywords:[`local`,`on-device`,`本机`,`本地运行`]},{id:`remote-workspaces`,section:`remote-access`,card:`remote-workspaces`,titleKey:`config:remoteWorkspace.title`,keywords:[`linux`,`remote workspace`,`服务器`,`远程工作区`]},{id:`remote-access-main`,section:`remote-access`,card:`remote-access-main`,titleKey:`config:remoteAccess.title`,keywords:[`remote`,`network`,`phone`,`远程`,`网络`,`手机`]},{id:`remote-access-pairing`,section:`remote-access`,card:`remote-access-pairing`,titleKey:`config:remoteAccess.pairing`,keywords:[`pairing`,`qr`,`配对`,`二维码`]},{id:`remote-access-devices`,section:`remote-access`,card:`remote-access-devices`,titleKey:`config:remoteAccess.devices`,keywords:[`device`,`paired`,`设备`,`已配对`,`授权`]},{id:`updates-main`,section:`updates`,card:`updates-main`,titleKey:`config:updateSettings.pisperAppUpdates`,keywords:[`update`,`version`,`channel`,`更新`,`版本`,`升级`,`渠道`]},{id:`updates-components`,section:`updates`,card:`updates-components`,titleKey:`config:updateSettings.appComponents`,keywords:[`component`,`runtime`,`sidecar`,`组件`,`运行时`]},{id:`updates-cli`,section:`updates`,card:`updates-cli`,titleKey:`config:cliSettings.title`,keywords:[`cli`,`terminal`,`command`,`命令行`,`终端`,`命令`]},{id:`updates-sponsors`,section:`updates`,card:`updates-sponsors`,titleKey:`config:updateSettings.sponsors`,keywords:[`sponsor`,`赞助`,`赞助商`]},{id:`about-project`,section:`about`,card:`about-project`,titleKey:`config:aboutSettings.projectInformation`,keywords:[`project`,`version`,`license`,`项目`,`版本`,`许可`]},{id:`about-support`,section:`about`,card:`about-support`,titleKey:`config:aboutSettings.supportPisper`,keywords:[`support`,`donate`,`sponsor`,`支持`,`捐赠`,`赞助`]}],l={provider:[`sec-models`,`models-current-model`,`models-connections`],供应商:[`sec-models`,`models-current-model`,`models-connections`],model:[`sec-models`,`models-current-model`,`models-connections`],模型:[`sec-models`,`models-current-model`,`models-connections`],theme:[`sec-interface`,`interface-appearance`],主题:[`sec-interface`,`interface-appearance`],interface:[`sec-interface`,`interface-appearance`],界面:[`sec-interface`,`interface-appearance`,`interface-language`],diy:[`interface-custom-ui`],components:[`interface-custom-ui`],widgets:[`interface-custom-ui`],组件:[`interface-custom-ui`],pet:[`sec-desktop-pet`,`desktop-pet-settings`,`desktop-pet-install`,`desktop-pet-installed`],宠物:[`sec-desktop-pet`,`desktop-pet-settings`,`desktop-pet-install`,`desktop-pet-installed`],update:[`sec-updates`,`updates-main`,`updates-components`],更新:[`sec-updates`,`updates-main`,`updates-components`],network:[`sec-remote-access`,`sec-mobile-server`,`remote-access-main`],网络:[`sec-remote-access`,`sec-mobile-server`,`remote-access-main`],remote:[`sec-remote-access`,`sec-mobile-server`,`remote-access-main`],远程:[`sec-remote-access`,`sec-mobile-server`,`remote-access-main`],notification:[`sec-notifications`,`notifications-browser`,`notifications-templates`],通知:[`sec-notifications`,`notifications-browser`,`notifications-templates`],language:[`interface-language`],语言:[`interface-language`]},u=12;function d(e){return[n(e.titleKey,`zh-CN`).toLowerCase(),n(e.titleKey,`en-US`).toLowerCase()]}function f(e,t){let r=e.trim().toLowerCase();if(!r)return[];let i=new Set(l[r]||[]);for(let e of r.split(/\s+/))for(let t of l[e]||[])i.add(t);let a=[];for(let e of c){if(typeof window<`u`&&(e.id===`remote-workspaces`&&!window.pisperDesktop?.remoteWorkspaces||e.id===`remote-access-main`&&window.__PISPER_REMOTE_WORKSPACE__))continue;let[t,n]=d(e),o=0;i.has(e.id)?o=100:t===r||n===r?o=90:t.startsWith(r)||n.startsWith(r)?o=80:t.includes(r)||n.includes(r)?o=65:(e.keywords||[]).some(e=>{let t=e.toLowerCase();return t.includes(r)?r.length>=2||/[\u4e00-\u9fff]/.test(r):/[\u4e00-\u9fff]/.test(t)&&t.includes(r)})&&(o=40),o>0&&a.push({entry:e,score:o})}a.sort((e,t)=>t.score-e.score);let o=new Set,f=[];for(let{entry:e}of a){let r={entry:e,title:n(e.titleKey,t),sectionTitle:n(s[e.section],t)},i=`${e.section}|${r.title}`;if(!o.has(i)&&(o.add(i),f.push(r),f.length>=u))break}return f}var p=`pisper:config-card-highlight`,m=null;function h(e,t){m={card:e,section:t},window.dispatchEvent(new Event(p))}function g(){let e=m;return m=null,e}function _(e){let t=document.querySelector(`[data-config-card="${e.card}"]`);if(t||=document.querySelector(`[data-config-card="${o}"]`),!t)return;t.scrollIntoView({behavior:`smooth`,block:`center`});let n={boxShadow:t.style.boxShadow,borderColor:t.style.borderColor,transition:t.style.transition};t.style.transition=`box-shadow .3s ease, border-color .3s ease`,t.style.boxShadow=`0 0 0 3px var(--focus-ring)`,t.style.borderColor=`var(--focus)`,window.setTimeout(()=>{t.style.boxShadow=n.boxShadow,t.style.borderColor=n.borderColor,t.style.transition=n.transition},1200)}function v(e){(0,a.useEffect)(()=>{let e=()=>{let e=g();e&&requestAnimationFrame(()=>requestAnimationFrame(()=>_(e)))};return e(),window.addEventListener(p,e),()=>window.removeEventListener(p,e)},[e])}export{i as a,v as i,h as n,f as r,o as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{i as r,n as i}from"./dist-Cfh4kzCK.js";import{a,c as o,i as s,n as c,o as l,s as u,t as d}from"./dist-B_a0oV4U.js";import{t as f}from"./dist-C3P9WH0T.js";var p=e(t(),1),m=n(),h=Object.defineProperty,g=(e,t)=>h(e,`name`,{value:t,configurable:!0});function _(e){let t=e+`CollectionProvider`,[n,a]=u(t),[o,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=g(e=>{let{scope:t,children:n}=e,r=p.useRef(null),i=p.useRef(new Map).current;return(0,m.jsx)(o,{scope:t,itemMap:i,collectionRef:r,children:n})},`CollectionProvider`);c.displayName=t;let l=e+`CollectionSlot`,d=i(l),f=p.forwardRef((e,t)=>{let{scope:n,children:i}=e,a=s(l,n),o=r(t,a.collectionRef);return(0,m.jsx)(d,{ref:o,children:i})});f.displayName=l;let h=e+`CollectionItemSlot`,_=`data-radix-collection-item`,v=i(h),y=p.forwardRef((e,t)=>{let{scope:n,children:i,...a}=e,o=p.useRef(null),c=r(t,o),l=s(h,n);return p.useEffect(()=>(l.itemMap.set(o,{ref:o,...a}),()=>void l.itemMap.delete(o))),(0,m.jsx)(v,{[_]:``,ref:c,children:i})});y.displayName=h;function b(t){let n=s(e+`CollectionConsumer`,t);return p.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${_}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return g(b,`useCollection`),[{Provider:c,Slot:f,ItemSlot:y},b,a]}g(_,`createCollection`);var v=new WeakMap,y=class e extends Map{static#e=g(this,`OrderedDict`);#t;constructor(e){super(e),this.#t=[...super.keys()],v.set(this,!0)}set(e,t){return v.get(this)&&(this.has(e)?this.#t[this.#t.indexOf(e)]=e:this.#t.push(e)),super.set(e,t),this}insert(e,t,n){let r=this.has(t),i=this.#t.length,a=S(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.#t],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.#t.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#t.indexOf(e);return r===-1?this:this.insert(r,t,n)}after(e){let t=this.#t.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.#t.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.#t=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#t.splice(this.#t.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return t!==void 0&&this.delete(t)}at(e){let t=b(this.#t,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=b(this.#t,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#t.indexOf(e)}keyAt(e){return b(this.#t,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 b(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=x(e,t);return n===-1?void 0:e[n]}g(b,`at`);function x(e,t){let n=e.length,r=S(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}g(x,`toSafeIndex`);function S(e){return e!==e||e===0?0:Math.trunc(e)}g(S,`toSafeInteger`);function C(e){let t=e+`CollectionProvider`,[n,a]=u(t),[o,s]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new y,setItemMap:g(()=>void 0,`setItemMap`)}),c=g(({state:e,...t})=>e?(0,m.jsx)(d,{...t,state:e}):(0,m.jsx)(l,{...t}),`CollectionProvider`);c.displayName=t;let l=g(e=>{let t=S();return(0,m.jsx)(d,{...e,state:t})},`CollectionInit`);l.displayName=t+`Init`;let d=g(e=>{let{scope:t,children:n,state:i}=e,a=p.useRef(null),[s,c]=p.useState(null),l=r(a,c),[u,d]=i;return p.useEffect(()=>{if(!s)return;let e=D(()=>{});return e.observe(s,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[s]),(0,m.jsx)(o,{scope:t,itemMap:u,setItemMap:d,collectionRef:l,collectionRefObject:a,collectionElement:s,children:n})},`CollectionProviderImpl`);d.displayName=t+`Impl`;let f=e+`CollectionSlot`,h=i(f),_=p.forwardRef((e,t)=>{let{scope:n,children:i}=e,a=s(f,n),o=r(t,a.collectionRef);return(0,m.jsx)(h,{ref:o,children:i})});_.displayName=f;let v=e+`CollectionItemSlot`,b=i(v),x=p.forwardRef((e,t)=>{let{scope:n,children:i,...a}=e,o=p.useRef(null),[c,l]=p.useState(null),u=r(t,o,l),{setItemMap:d}=s(v,n),f=p.useRef(a);w(f.current,a)||(f.current=a);let h=f.current;return p.useEffect(()=>{let e=h;return d(t=>c?t.has(c)?t.set(c,{...e,element:c}).toSorted(E):(t.set(c,{...e,element:c}),t.toSorted(E)):t),()=>{d(e=>!c||!e.has(c)?e:(e.delete(c),new y(e)))}},[c,h,d]),(0,m.jsx)(b,{"data-radix-collection-item":``,ref:u,children:i})});x.displayName=v;function S(){return p.useState(new y)}g(S,`useInitCollection`);function C(t){let{itemMap:n}=s(e+`CollectionConsumer`,t);return n}return g(C,`useCollection`),[{Provider:c,Slot:_,ItemSlot:x},{createCollectionScope:a,useCollection:C,useInitCollection:S}]}g(C,`createCollection`);function w(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}g(w,`shallowEqual`);function T(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}g(T,`isElementPreceding`);function E(e,t){return!e[1].element||!t[1].element?0:T(e[1].element,t[1].element)?-1:1}g(E,`sortByDocumentPosition`);function D(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}g(D,`getChildListObserver`);var O=Object.defineProperty,k=(e,t)=>O(e,`name`,{value:t,configurable:!0}),A=!1;function j(){let[e,t]=p.useState(A);return p.useEffect(()=>{A||(A=!0,t(!0))},[]),e}k(j,`useIsHydrated`);var M=p.useSyncExternalStore;function N(){return()=>{}}k(N,`subscribe`);function P(){return M(N,()=>!0,()=>!1)}k(P,`useIsHydratedModern`);var F=typeof M==`function`?P:j,ee=Object.defineProperty,I=(e,t)=>ee(e,`name`,{value:t,configurable:!0}),L=`rovingFocusGroup.onEntryFocus`,R={bubbles:!1,cancelable:!0},z=`RovingFocusGroup`,[B,V,H]=_(z),[U,W]=u(z,[H]),[G,K]=U(z),q=p.forwardRef(I(function(e,t){return(0,m.jsx)(B.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,m.jsx)(B.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,m.jsx)(J,{...e,ref:t})})})},`RovingFocusGroup`)),J=p.forwardRef(I(function(e,t){let{__scopeRovingFocusGroup:n,orientation:i,loop:a=!1,dir:c,currentTabStopId:u,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:g,onEntryFocus:_,preventScrollOnEntryFocus:v=!1,...y}=e,b=p.useRef(null),x=r(t,b),S=f(c),[C,w]=s({prop:u,defaultProp:h??null,onChange:g,caller:z}),[T,E]=p.useState(!1),D=d(_),O=V(n),k=p.useRef(!1),[A,j]=p.useState(0);return p.useEffect(()=>{let e=b.current;if(e)return e.addEventListener(L,D),()=>e.removeEventListener(L,D)},[D]),(0,m.jsx)(G,{scope:n,orientation:i,dir:S,loop:a,currentTabStopId:C,onItemFocus:p.useCallback(e=>w(e),[w]),onItemShiftTab:p.useCallback(()=>E(!0),[]),onFocusableItemAdd:p.useCallback(()=>j(e=>e+1),[]),onFocusableItemRemove:p.useCallback(()=>j(e=>e-1),[]),children:(0,m.jsx)(o.div,{tabIndex:T||A===0?-1:0,"data-orientation":i,...y,ref:x,style:{outline:`none`,...e.style},onMouseDown:l(e.onMouseDown,()=>{k.current=!0}),onFocus:l(e.onFocus,e=>{let t=!k.current;if(e.target===e.currentTarget&&t&&!T){let t=new CustomEvent(L,R);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=O().filter(e=>e.focusable);Q([e.find(e=>e.active),e.find(e=>e.id===C),...e].filter(Boolean).map(e=>e.ref.current),v)}}k.current=!1}),onBlur:l(e.onBlur,()=>E(!1))})})},`RovingFocusGroupImpl`)),Y=`RovingFocusGroupItem`,te=p.forwardRef(I(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:s,children:u,...d}=e,f=c(),h=s||f,g=K(Y,n),_=g.currentTabStopId===h,v=V(n),{onFocusableItemAdd:y,onFocusableItemRemove:b,currentTabStopId:x}=g,S=F();return a(()=>{if(!(!S||!r))return y(),()=>b()},[S,r,y,b]),p.useEffect(()=>{if(!(S||!r))return y(),()=>b()},[S,r,y,b]),(0,m.jsx)(B.ItemSlot,{scope:n,id:h,focusable:r,active:i,children:(0,m.jsx)(o.span,{tabIndex:_?0:-1,"data-orientation":g.orientation,...d,ref:t,onMouseDown:l(e.onMouseDown,e=>{r?g.onItemFocus(h):e.preventDefault()}),onFocus:l(e.onFocus,()=>g.onItemFocus(h)),onKeyDown:l(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){g.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Z(e,g.orientation,g.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=v().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=g.loop?$(n,r+1):n.slice(r+1)}setTimeout(()=>Q(n))}}),children:typeof u==`function`?u({isCurrentTabStop:_,hasTabStop:x!=null}):u})})},`RovingFocusGroupItem`)),ne={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function X(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}I(X,`getDirectionAwareKey`);function Z(e,t,n){let r=X(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return ne[r]}I(Z,`getFocusIntent`);function Q(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}I(Q,`focusFirst`);function $(e,t){return e.map((n,r)=>e[(t+r)%e.length])}I($,`wrapArray`);var re=q,ie=te;export{_ as i,re as n,W as r,ie as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";var r=e(t(),1);n();var i=Object.defineProperty,a=(e,t)=>i(e,`name`,{value:t,configurable:!0}),o=r.createContext(void 0);function s(e){let t=r.useContext(o);return e||t||`ltr`}a(s,`useDirection`);export{s as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{i as r,n as i}from"./dist-Cfh4kzCK.js";import{c as a,l as o,n as s,o as c,r as l,s as u,t as d}from"./dist-B_a0oV4U.js";import{i as f,n as p,r as m,t as ee}from"./dist-B7rNRXig.js";import{t as h}from"./dist-C3P9WH0T.js";import{a as g,i as _,n as te,r as ne,s as re,t as v}from"./es2015-0QT3KgdC.js";import{a as y,i as b,r as ie,t as x}from"./dist-alOyD2Bh.js";var S=e(t(),1),C=n(),w=Object.defineProperty,T=(e,t)=>w(e,`name`,{value:t,configurable:!0}),E=[`Enter`,` `],ae=[`ArrowDown`,`PageUp`,`Home`],D=[`ArrowUp`,`PageDown`,`End`],oe=[...ae,...D],O={ltr:[...E,`ArrowRight`],rtl:[...E,`ArrowLeft`]},k={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},A=`Menu`,[j,se,M]=f(A),[N,P]=u(A,[M,y,m]),F=y(),ce=m(),[I,L]=N(A),[R,z]=N(A),le=T(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=F(t),[c,l]=S.useState(null),u=S.useRef(!1),f=d(a),p=h(i);return S.useEffect(()=>{let e=T(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=T(()=>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})}},[]),S.useEffect(()=>{if(!n)return;let e=T(()=>f(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,f]),(0,C.jsx)(b,{...s,children:(0,C.jsx)(I,{scope:t,open:n,onOpenChange:f,content:c,onContentChange:l,children:(0,C.jsx)(R,{scope:t,onClose:S.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:u,dir:p,modal:o,children:r})})})},`Menu`),B=S.forwardRef(T(function(e,t){let{__scopeMenu:n,...r}=e,i=F(n);return(0,C.jsx)(x,{...i,...r,ref:t})},`MenuAnchor`)),V=`MenuPortal`,[H,U]=N(V,{forceMount:void 0}),ue=T(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=L(V,t);return(0,C.jsx)(H,{scope:t,forceMount:n,children:(0,C.jsx)(l,{present:n||a.open,children:(0,C.jsx)(_,{asChild:!0,container:i,children:r})})})},`MenuPortal`),W=`MenuContent`,[de,G]=N(W),fe=S.forwardRef(T(function(e,t){let n=U(W,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=L(W,e.__scopeMenu),o=z(W,e.__scopeMenu);return(0,C.jsx)(j.Provider,{scope:e.__scopeMenu,children:(0,C.jsx)(l,{present:r||a.open,children:(0,C.jsx)(j.Slot,{scope:e.__scopeMenu,children:o.modal?(0,C.jsx)(pe,{...i,ref:t}):(0,C.jsx)(me,{...i,ref:t})})})})},`MenuContent`)),pe=S.forwardRef(T(function(e,t){let n=L(W,e.__scopeMenu),i=S.useRef(null),a=r(t,i);return S.useEffect(()=>{let e=i.current;if(e)return v(e)},[]),(0,C.jsx)(K,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:c(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),me=S.forwardRef(T(function(e,t){let n=L(W,e.__scopeMenu);return(0,C.jsx)(K,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),he=i(`MenuContent.ScrollLock`),K=S.forwardRef(T(function(e,t){let{__scopeMenu:n,loop:i=!1,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:l,onEntryFocus:u,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:ee,onDismiss:h,disableOutsideScroll:_,...v}=e,y=L(W,n),b=z(W,n),x=F(n),w=ce(n),E=se(n),[ae,O]=S.useState(null),k=S.useRef(null),A=r(t,k,y.onContentChange),j=S.useRef(0),M=S.useRef(``),N=S.useRef(0),P=S.useRef(null),I=S.useRef(`right`),R=S.useRef(0),le=_?te:S.Fragment,B=_?{as:he,allowPinchZoom:!0}:void 0,V=T(e=>{let t=M.current+e,n=E().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Me(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;T((function e(t){M.current=t,window.clearTimeout(j.current),t!==``&&(j.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(t),o&&setTimeout(()=>o.focus())},`handleTypeaheadSearch`);S.useEffect(()=>()=>window.clearTimeout(j.current),[]),ne();let H=S.useCallback(e=>I.current===P.current?.side&&Pe(e,P.current?.area),[]);return(0,C.jsx)(de,{scope:n,searchRef:M,onItemEnter:S.useCallback(e=>{H(e)&&e.preventDefault()},[H]),onItemLeave:S.useCallback(e=>{H(e)||(k.current?.focus(),O(null))},[H]),onTriggerLeave:S.useCallback(e=>{H(e)&&e.preventDefault()},[H]),pointerGraceTimerRef:N,onPointerGraceIntentChange:S.useCallback(e=>{P.current=e},[]),children:(0,C.jsx)(le,{...B,children:(0,C.jsx)(g,{asChild:!0,trapped:a,onMountAutoFocus:c(o,e=>{e.preventDefault(),k.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,C.jsx)(re,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:m,onInteractOutside:ee,onDismiss:h,children:(0,C.jsx)(p,{asChild:!0,...w,dir:b.dir,orientation:`vertical`,loop:i,currentTabStopId:ae,onCurrentTabStopIdChange:O,onEntryFocus:c(u,e=>{b.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,C.jsx)(ie,{role:`menu`,"aria-orientation":`vertical`,"data-state":Q(y.open),"data-radix-menu-content":``,dir:b.dir,...x,...v,ref:A,style:{outline:`none`,...v.style},onKeyDown:c(v.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&&V(e.key));let i=k.current;if(e.target!==i||!oe.includes(e.key))return;e.preventDefault();let a=E().filter(e=>!e.disabled).map(e=>e.ref.current);D.includes(e.key)&&a.reverse(),Ae(a)}),onBlur:c(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(j.current),M.current=``)}),onPointerMove:c(e.onPointerMove,$(e=>{let t=e.target,n=R.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>R.current?`right`:`left`;I.current=t,R.current=e.clientX}}))})})})})})})},`MenuContentImpl`)),q=`MenuItem`,J=`menu.itemSelect`,ge=S.forwardRef(T(function(e,t){let{disabled:n=!1,onSelect:i,...a}=e,s=S.useRef(null),l=z(q,e.__scopeMenu),u=G(q,e.__scopeMenu),d=r(t,s),f=S.useRef(!1),p=T(()=>{let e=s.current;if(!n&&e){let t=new CustomEvent(J,{bubbles:!0,cancelable:!0});e.addEventListener(J,e=>i?.(e),{once:!0}),o(e,t),t.defaultPrevented?f.current=!1:l.onClose()}},`handleSelect`);return(0,C.jsx)(Y,{...a,ref:d,disabled:n,onClick:c(e.onClick,p),onPointerDown:t=>{e.onPointerDown?.(t),f.current=!0},onPointerUp:c(e.onPointerUp,e=>{f.current||e.currentTarget?.click()}),onKeyDown:c(e.onKeyDown,e=>{n||e.target!==e.currentTarget||(u.searchRef.current===``||e.key!==` `)&&E.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Y=S.forwardRef(T(function(e,t){let{__scopeMenu:n,disabled:i=!1,textValue:o,...s}=e,l=G(q,n),u=ce(n),d=S.useRef(null),f=r(t,d),[p,m]=S.useState(!1),[h,g]=S.useState(``);return S.useEffect(()=>{let e=d.current;e&&g((e.textContent??``).trim())},[s.children]),(0,C.jsx)(j.ItemSlot,{scope:n,disabled:i,textValue:o??h,children:(0,C.jsx)(ee,{asChild:!0,...u,focusable:!i,children:(0,C.jsx)(a.div,{role:`menuitem`,"data-highlighted":p?``:void 0,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,...s,ref:f,onPointerMove:c(e.onPointerMove,$(e=>{i?l.onItemLeave(e):(l.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:c(e.onPointerLeave,$(e=>l.onItemLeave(e))),onFocus:c(e.onFocus,()=>m(!0)),onBlur:c(e.onBlur,()=>m(!1))})})})},`MenuItemImpl`)),[_e,ve]=N(`MenuRadioGroup`,{value:void 0,onValueChange:T(()=>{},`onValueChange`)}),[ye,be]=N(`MenuItemIndicator`,{checked:!1}),xe=S.forwardRef(T(function(e,t){let{__scopeMenu:n,...r}=e;return(0,C.jsx)(a.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),X=`MenuSub`,[Se,Ce]=N(X),we=T(e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=L(X,t),o=F(t),[c,l]=S.useState(null),[u,f]=S.useState(null),p=d(i);return S.useEffect(()=>(a.open===!1&&p(!1),()=>p(!1)),[a.open,p]),(0,C.jsx)(b,{...o,children:(0,C.jsx)(I,{scope:t,open:r,onOpenChange:p,content:u,onContentChange:f,children:(0,C.jsx)(Se,{scope:t,contentId:s(),triggerId:s(),trigger:c,onTriggerChange:l,children:n})})})},`MenuSub`),Z=`MenuSubTrigger`,Te=S.forwardRef(T(function(e,t){let n=L(Z,e.__scopeMenu),i=z(Z,e.__scopeMenu),a=Ce(Z,e.__scopeMenu),o=G(Z,e.__scopeMenu),s=S.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:u}=o,d={__scopeMenu:e.__scopeMenu},f=S.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);S.useEffect(()=>f,[f]),S.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),u(null)}},[l,u]);let p=r(t,a.onTriggerChange);return(0,C.jsx)(B,{asChild:!0,...d,children:(0,C.jsx)(Y,{id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":n.open?a.contentId:void 0,"data-state":Q(n.open),...e,ref:p,onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:c(e.onPointerMove,$(t=>{o.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(o.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),f()},100))})),onPointerLeave:c(e.onPointerLeave,$(e=>{f();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,a=i?-5:5,s=t[i?`left`:`right`],c=t[i?`right`:`left`];o.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:t.top},{x:c,y:t.top},{x:c,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:c(e.onKeyDown,t=>{e.disabled||t.target!==t.currentTarget||(o.searchRef.current===``||t.key!==` `)&&O[i.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})},`MenuSubTrigger`)),Ee=`MenuSubContent`,De=S.forwardRef(T(function(e,t){let n=U(W,e.__scopeMenu),{forceMount:i=n.forceMount,align:a=`start`,...o}=e,s=L(W,e.__scopeMenu),u=z(W,e.__scopeMenu),d=Ce(Ee,e.__scopeMenu),f=S.useRef(null),p=r(t,f);return(0,C.jsx)(j.Provider,{scope:e.__scopeMenu,children:(0,C.jsx)(l,{present:i||s.open,children:(0,C.jsx)(j.Slot,{scope:e.__scopeMenu,children:(0,C.jsx)(K,{id:d.contentId,"aria-labelledby":d.triggerId,...o,ref:p,align:a,side:u.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{u.isUsingKeyboardRef.current&&f.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:c(e.onFocusOutside,e=>{e.target!==d.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:c(e.onEscapeKeyDown,e=>{u.onClose(),e.preventDefault()}),onKeyDown:c(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=k[u.dir].includes(e.key);t&&n&&(s.onOpenChange(!1),d.trigger?.focus(),e.preventDefault())})})})})})},`MenuSubContent`));function Q(e){return e?`open`:`closed`}T(Q,`getOpenState`);function Oe(e){return e===`indeterminate`}T(Oe,`isIndeterminate`);function ke(e){return Oe(e)?`indeterminate`:e?`checked`:`unchecked`}T(ke,`getCheckedState`);function Ae(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}T(Ae,`focusFirst`);function je(e,t){return e.map((n,r)=>e[(t+r)%e.length])}T(je,`wrapArray`);function Me(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=je(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}T(Me,`getNextMatch`);function Ne(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}T(Ne,`isPointInPolygon`);function Pe(e,t){return t?Ne({x:e.clientX,y:e.clientY},t):!1}T(Pe,`isPointerInGraceArea`);function $(e){return t=>t.pointerType===`mouse`?e(t):void 0}T($,`whenMouse`);var Fe=le,Ie=B,Le=ue,Re=fe,ze=ge,Be=xe,Ve=we,He=Te,Ue=De;export{Fe as a,Ue as c,Le as i,He as l,Re as n,Be as o,ze as r,Ve as s,Ie as t,P as u};
@@ -0,0 +1 @@
1
+ var e=Object.defineProperty,t=(t,n)=>e(t,`name`,{value:n,configurable:!0});function n(e,[t,n]){return Math.min(n,Math.max(t,e))}t(n,`clamp`);export{n as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{i as r}from"./dist-Cfh4kzCK.js";import{c as i,i as a,n as o,o as s,s as c}from"./dist-B_a0oV4U.js";import{a as l,i as u,n as d,o as f,r as p,t as m,u as h}from"./dist-swnK7PHk.js";import{t as g}from"./utils-C8uzG5AZ.js";var _=e(t(),1),v=n(),y=Object.defineProperty,b=(e,t)=>y(e,`name`,{value:t,configurable:!0}),x=`DropdownMenu`,[S,C]=c(x,[h]),w=h(),[T,E]=S(x),D=b(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:s,onOpenChange:c,modal:u=!0}=e,d=w(t),f=_.useRef(null),[p,m]=a({prop:i,defaultProp:s??!1,onChange:c,caller:x});return(0,v.jsx)(T,{scope:t,triggerId:o(),triggerRef:f,contentId:o(),open:p,onOpenChange:m,onOpenToggle:_.useCallback(()=>m(e=>!e),[m]),modal:u,children:(0,v.jsx)(l,{...d,open:p,onOpenChange:m,dir:r,modal:u,children:n})})},`DropdownMenu`),O=`DropdownMenuTrigger`,k=_.forwardRef(b(function(e,t){let{__scopeDropdownMenu:n,disabled:a=!1,...o}=e,c=E(O,n),l=w(n),u=r(t,c.triggerRef);return(0,v.jsx)(m,{asChild:!0,...l,children:(0,v.jsx)(i.button,{type:`button`,id:c.triggerId,"aria-haspopup":`menu`,"aria-expanded":c.open,"aria-controls":c.open?c.contentId:void 0,"data-state":c.open?`open`:`closed`,"data-disabled":a?``:void 0,disabled:a,...o,ref:u,onPointerDown:s(e.onPointerDown,e=>{!a&&e.button===0&&e.ctrlKey===!1&&(c.onOpenToggle(),c.open||e.preventDefault())}),onKeyDown:s(e.onKeyDown,e=>{a||([`Enter`,` `].includes(e.key)&&c.onOpenToggle(),e.key===`ArrowDown`&&c.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})},`DropdownMenuTrigger`)),A=b(e=>{let{__scopeDropdownMenu:t,...n}=e,r=w(t);return(0,v.jsx)(u,{...r,...n})},`DropdownMenuPortal`),j=`DropdownMenuContent`,M=_.forwardRef(b(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=E(j,n),a=w(n),o=_.useRef(!1);return(0,v.jsx)(d,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:s(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:s(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`DropdownMenuContent`)),N=_.forwardRef(b(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=w(n);return(0,v.jsx)(p,{...i,...r,ref:t})},`DropdownMenuItem`)),P=_.forwardRef(b(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=w(n);return(0,v.jsx)(f,{...i,...r,ref:t})},`DropdownMenuSeparator`)),F=D,I=k,L=A,R=M,z=N,B=P;function V({...e}){return(0,v.jsx)(F,{"data-slot":`dropdown-menu`,...e})}function H({...e}){return(0,v.jsx)(I,{"data-slot":`dropdown-menu-trigger`,...e})}function U({className:e,align:t=`start`,sideOffset:n=4,...r}){return(0,v.jsx)(L,{children:(0,v.jsx)(R,{"data-slot":`dropdown-menu-content`,sideOffset:n,align:t,className:g(`z-[200] max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r})})}function W({className:e,inset:t,variant:n=`default`,...r}){return(0,v.jsx)(z,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:g(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function G({className:e,...t}){return(0,v.jsx)(B,{"data-slot":`dropdown-menu-separator`,className:g(`-mx-1 my-1 h-px bg-border`,e),...t})}export{H as a,G as i,U as n,W as r,V as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{i as r}from"./dist-Cfh4kzCK.js";import{c as i,i as a,n as o,o as s,s as c}from"./dist-B_a0oV4U.js";import{a as l,i as u,n as d,o as f,r as p,t as m,u as h}from"./dist-CXiO_DNx.js";import{t as g}from"./utils-C8uzG5AZ.js";var _=e(t(),1),v=n(),y=Object.defineProperty,b=(e,t)=>y(e,`name`,{value:t,configurable:!0}),x=`DropdownMenu`,[S,C]=c(x,[h]),w=h(),[T,E]=S(x),D=b(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:s,onOpenChange:c,modal:u=!0}=e,d=w(t),f=_.useRef(null),[p,m]=a({prop:i,defaultProp:s??!1,onChange:c,caller:x});return(0,v.jsx)(T,{scope:t,triggerId:o(),triggerRef:f,contentId:o(),open:p,onOpenChange:m,onOpenToggle:_.useCallback(()=>m(e=>!e),[m]),modal:u,children:(0,v.jsx)(l,{...d,open:p,onOpenChange:m,dir:r,modal:u,children:n})})},`DropdownMenu`),O=`DropdownMenuTrigger`,k=_.forwardRef(b(function(e,t){let{__scopeDropdownMenu:n,disabled:a=!1,...o}=e,c=E(O,n),l=w(n),u=r(t,c.triggerRef);return(0,v.jsx)(m,{asChild:!0,...l,children:(0,v.jsx)(i.button,{type:`button`,id:c.triggerId,"aria-haspopup":`menu`,"aria-expanded":c.open,"aria-controls":c.open?c.contentId:void 0,"data-state":c.open?`open`:`closed`,"data-disabled":a?``:void 0,disabled:a,...o,ref:u,onPointerDown:s(e.onPointerDown,e=>{!a&&e.button===0&&e.ctrlKey===!1&&(c.onOpenToggle(),c.open||e.preventDefault())}),onKeyDown:s(e.onKeyDown,e=>{a||([`Enter`,` `].includes(e.key)&&c.onOpenToggle(),e.key===`ArrowDown`&&c.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})},`DropdownMenuTrigger`)),A=b(e=>{let{__scopeDropdownMenu:t,...n}=e,r=w(t);return(0,v.jsx)(u,{...r,...n})},`DropdownMenuPortal`),j=`DropdownMenuContent`,M=_.forwardRef(b(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=E(j,n),a=w(n),o=_.useRef(!1);return(0,v.jsx)(d,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:s(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:s(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`DropdownMenuContent`)),N=_.forwardRef(b(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=w(n);return(0,v.jsx)(p,{...i,...r,ref:t})},`DropdownMenuItem`)),P=_.forwardRef(b(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=w(n);return(0,v.jsx)(f,{...i,...r,ref:t})},`DropdownMenuSeparator`)),F=D,I=k,L=A,R=M,z=N,B=P;function V({...e}){return(0,v.jsx)(F,{"data-slot":`dropdown-menu`,...e})}function H({...e}){return(0,v.jsx)(I,{"data-slot":`dropdown-menu-trigger`,...e})}function U({className:e,align:t=`start`,sideOffset:n=4,...r}){return(0,v.jsx)(L,{children:(0,v.jsx)(R,{"data-slot":`dropdown-menu-content`,sideOffset:n,align:t,className:g(`z-[200] max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:overflow-hidden data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...r})})}function W({className:e,inset:t,variant:n=`default`,...r}){return(0,v.jsx)(z,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:g(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function G({className:e,...t}){return(0,v.jsx)(B,{"data-slot":`dropdown-menu-separator`,className:g(`-mx-1 my-1 h-px bg-border`,e),...t})}export{H as a,G as i,U as n,W as r,V as t};
@@ -1 +1 @@
1
- import{t as e}from"./index-iBrSU61i.js";import{t}from"./storage-BpAqa-YY.js";var n=Object.freeze([`open`,`left`,`right`,`above`,`below`]),r=`session:`;function i(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function a(e){return e?`${r}${e}`:``}function o(e){let t=typeof e==`object`&&e?e.params?.sessionId:void 0;if(typeof t==`string`&&t)return t;let n=typeof e==`string`?e:e?.id;return typeof n==`string`&&n.startsWith(r)?n.slice(8):``}function s(e){if(!i(e)||!i(e.panels))return[];let t=[],n=new Set;for(let[r,i]of Object.entries(e.panels)){let e=o(r)||o(i);e&&!n.has(e)&&(n.add(e),t.push(e))}return t}function c(e,t=``){return{version:1,engine:`dockview`,activePanelId:typeof t==`string`?t:``,layout:e}}function l(e){if(!e)return null;try{let t=typeof e==`string`?JSON.parse(e):e;return!i(t)||t.version!==1||t.engine!==`dockview`||!i(t.layout)||!i(t.layout.grid)||!i(t.layout.panels)?null:{version:1,engine:`dockview`,activePanelId:typeof t.activePanelId==`string`?t.activePanelId:``,layout:t.layout}}catch{return null}}function u(e){return e===`above`?`top`:e===`below`?`bottom`:e}function d(e,t=`open`,r=``){return!e||!n.includes(t)?null:{sessionId:e,disposition:t,...r?{targetEntryId:r}:{}}}function f(e){if(!e)return null;try{let t=typeof e==`string`?JSON.parse(e):e;return i(t)?d(typeof t.sessionId==`string`?t.sessionId:``,typeof t.disposition==`string`?t.disposition:`open`,typeof t.targetEntryId==`string`?t.targetEntryId:``):null}catch{return null}}function p({activeSessionId:e=``,validSessionIds:t=[]}={}){return e&&t.includes(e)?[e]:t[0]?[t[0]]:[]}var m=`pisper:session-selected`,h=`pisper:session-create-requested`,g=`pisper:active-session-changed`,_=`pisper:sessions-updated`,v=`pisper:command-palette-requested`;function y(e){if(!e||typeof e!=`object`)return null;let{cwd:t,prompt:n}=e;if(t!==void 0&&typeof t!=`string`)return null;let r=typeof n==`string`&&n.trim()?n.trim():void 0;return{cwd:typeof t==`string`?t:``,...r?{prompt:r}:{}}}function b(e){if(!e)return null;try{return y(JSON.parse(e))}catch{return null}}function x(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.sessionId==`string`&&typeof t.entryId==`string`?{sessionId:t.sessionId,entryId:t.entryId}:null}catch{return null}}function S(){window.dispatchEvent(new Event(v))}function C(e,n){let r=y({cwd:e,prompt:n});return r?(localStorage.setItem(t.sessionCreateRequest,JSON.stringify(r)),window.dispatchEvent(new CustomEvent(h,{detail:r})),!0):!1}function w(){let e=b(localStorage.getItem(t.sessionCreateRequest));return localStorage.removeItem(t.sessionCreateRequest),e}function T(n,r=`open`,i=``){let a=d(n,r,i);a&&(e.setItem(t.activeSession,n),localStorage.setItem(t.sessionOpenRequest,JSON.stringify(a)),i?localStorage.setItem(t.sessionMessageTarget,JSON.stringify({sessionId:n,entryId:i})):localStorage.removeItem(t.sessionMessageTarget),window.dispatchEvent(new CustomEvent(m,{detail:a})))}function E(e){let n=x(localStorage.getItem(t.sessionMessageTarget));return n?.sessionId===e?n.entryId:``}function D(e,n){let r=x(localStorage.getItem(t.sessionMessageTarget));r?.sessionId===e&&r.entryId===n&&localStorage.removeItem(t.sessionMessageTarget)}function O(){let e=f(localStorage.getItem(t.sessionOpenRequest));return localStorage.removeItem(t.sessionOpenRequest),e}function k(e,t=``){window.dispatchEvent(new CustomEvent(g,{detail:{id:e||``,model:t||``}}))}function A(e){window.dispatchEvent(e?new CustomEvent(_,{detail:e}):new Event(_))}function j(e){let t=`detail`in e?e.detail:null;if(!t||typeof t!=`object`)return null;let{id:n,pinned:r,archived:i,unread:a,needsAttention:o,attentionReason:s}=t;return typeof n!=`string`||!n||typeof r!=`boolean`||typeof i!=`boolean`||typeof a!=`boolean`||typeof o!=`boolean`||s!==null&&s!==`approval`&&s!==`failure`?null:{id:n,pinned:r,archived:i,unread:a,needsAttention:o,attentionReason:s}}function M(e,t){let n=e=>{let n=j(e);n&&t(n)};return e.addEventListener(_,n),()=>e.removeEventListener(_,n)}function N(e){let t=`detail`in e?e.detail:null;if(!t||typeof t!=`object`)return null;let{id:n,name:r}=t;return typeof n==`string`&&n.length>0&&typeof r==`string`?{id:n,name:r}:null}function P(e,t){let n=e=>{let n=N(e);n&&t(n)};return e.addEventListener(_,n),()=>e.removeEventListener(_,n)}function F(e){let t=`detail`in e?e.detail:null;if(!t||typeof t!=`object`)return null;let{deletedIds:n}=t;return!Array.isArray(n)||!n.length||!n.every(e=>typeof e==`string`&&e.length>0)?null:{deletedIds:[...new Set(n)]}}function I(e,t){let n=e=>{let n=F(e);n&&t(n)};return e.addEventListener(_,n),()=>e.removeEventListener(_,n)}export{a as C,s as E,p as S,o as T,I as _,m as a,c as b,D as c,E as d,S as f,j as g,F as h,h as i,w as l,T as m,v as n,k as o,C as p,_ as r,A as s,g as t,O as u,M as v,l as w,u as x,P as y};
1
+ import{t as e}from"./index-AF29hfx9.js";import{t}from"./storage-BpAqa-YY.js";var n=Object.freeze([`open`,`left`,`right`,`above`,`below`]),r=`session:`;function i(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function a(e){return e?`${r}${e}`:``}function o(e){let t=typeof e==`object`&&e?e.params?.sessionId:void 0;if(typeof t==`string`&&t)return t;let n=typeof e==`string`?e:e?.id;return typeof n==`string`&&n.startsWith(r)?n.slice(8):``}function s(e){if(!i(e)||!i(e.panels))return[];let t=[],n=new Set;for(let[r,i]of Object.entries(e.panels)){let e=o(r)||o(i);e&&!n.has(e)&&(n.add(e),t.push(e))}return t}function c(e,t=``){return{version:1,engine:`dockview`,activePanelId:typeof t==`string`?t:``,layout:e}}function l(e){if(!e)return null;try{let t=typeof e==`string`?JSON.parse(e):e;return!i(t)||t.version!==1||t.engine!==`dockview`||!i(t.layout)||!i(t.layout.grid)||!i(t.layout.panels)?null:{version:1,engine:`dockview`,activePanelId:typeof t.activePanelId==`string`?t.activePanelId:``,layout:t.layout}}catch{return null}}function u(e){return e===`above`?`top`:e===`below`?`bottom`:e}function d(e,t=`open`,r=``){return!e||!n.includes(t)?null:{sessionId:e,disposition:t,...r?{targetEntryId:r}:{}}}function f(e){if(!e)return null;try{let t=typeof e==`string`?JSON.parse(e):e;return i(t)?d(typeof t.sessionId==`string`?t.sessionId:``,typeof t.disposition==`string`?t.disposition:`open`,typeof t.targetEntryId==`string`?t.targetEntryId:``):null}catch{return null}}function p({activeSessionId:e=``,validSessionIds:t=[]}={}){return e&&t.includes(e)?[e]:t[0]?[t[0]]:[]}var m=`pisper:session-selected`,h=`pisper:session-create-requested`,g=`pisper:active-session-changed`,_=`pisper:sessions-updated`,v=`pisper:command-palette-requested`;function y(e){if(!e||typeof e!=`object`)return null;let{cwd:t,prompt:n}=e;if(t!==void 0&&typeof t!=`string`)return null;let r=typeof n==`string`&&n.trim()?n.trim():void 0;return{cwd:typeof t==`string`?t:``,...r?{prompt:r}:{}}}function b(e){if(!e)return null;try{return y(JSON.parse(e))}catch{return null}}function x(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.sessionId==`string`&&typeof t.entryId==`string`?{sessionId:t.sessionId,entryId:t.entryId}:null}catch{return null}}function S(){window.dispatchEvent(new Event(v))}function C(e,n){let r=y({cwd:e,prompt:n});return r?(localStorage.setItem(t.sessionCreateRequest,JSON.stringify(r)),window.dispatchEvent(new CustomEvent(h,{detail:r})),!0):!1}function w(){let e=b(localStorage.getItem(t.sessionCreateRequest));return localStorage.removeItem(t.sessionCreateRequest),e}function T(n,r=`open`,i=``){let a=d(n,r,i);a&&(e.setItem(t.activeSession,n),localStorage.setItem(t.sessionOpenRequest,JSON.stringify(a)),i?localStorage.setItem(t.sessionMessageTarget,JSON.stringify({sessionId:n,entryId:i})):localStorage.removeItem(t.sessionMessageTarget),window.dispatchEvent(new CustomEvent(m,{detail:a})))}function E(e){let n=x(localStorage.getItem(t.sessionMessageTarget));return n?.sessionId===e?n.entryId:``}function D(e,n){let r=x(localStorage.getItem(t.sessionMessageTarget));r?.sessionId===e&&r.entryId===n&&localStorage.removeItem(t.sessionMessageTarget)}function O(){let e=f(localStorage.getItem(t.sessionOpenRequest));return localStorage.removeItem(t.sessionOpenRequest),e}function k(e,t=``){window.dispatchEvent(new CustomEvent(g,{detail:{id:e||``,model:t||``}}))}function A(e){window.dispatchEvent(e?new CustomEvent(_,{detail:e}):new Event(_))}function j(e){let t=`detail`in e?e.detail:null;if(!t||typeof t!=`object`)return null;let{id:n,pinned:r,archived:i,unread:a,needsAttention:o,attentionReason:s}=t;return typeof n!=`string`||!n||typeof r!=`boolean`||typeof i!=`boolean`||typeof a!=`boolean`||typeof o!=`boolean`||s!==null&&s!==`approval`&&s!==`failure`?null:{id:n,pinned:r,archived:i,unread:a,needsAttention:o,attentionReason:s}}function M(e,t){let n=e=>{let n=j(e);n&&t(n)};return e.addEventListener(_,n),()=>e.removeEventListener(_,n)}function N(e){let t=`detail`in e?e.detail:null;if(!t||typeof t!=`object`)return null;let{id:n,name:r}=t;return typeof n==`string`&&n.length>0&&typeof r==`string`?{id:n,name:r}:null}function P(e,t){let n=e=>{let n=N(e);n&&t(n)};return e.addEventListener(_,n),()=>e.removeEventListener(_,n)}function F(e){let t=`detail`in e?e.detail:null;if(!t||typeof t!=`object`)return null;let{deletedIds:n}=t;return!Array.isArray(n)||!n.length||!n.every(e=>typeof e==`string`&&e.length>0)?null:{deletedIds:[...new Set(n)]}}function I(e,t){let n=e=>{let n=F(e);n&&t(n)};return e.addEventListener(_,n),()=>e.removeEventListener(_,n)}export{a as C,s as E,p as S,o as T,I as _,m as a,c as b,D as c,E as d,S as f,j as g,F as h,h as i,w as l,T as m,v as n,k as o,C as p,_ as r,A as s,g as t,O as u,M as v,l as w,u as x,P as y};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/component-api-Nwo2yGZI.js","assets/http-DphgzWtw.js","assets/vendor-router-CZg2bCPV.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/i18n-7QvbQzOQ.js","assets/index-iBrSU61i.js","assets/index-CdASiNlI.css","assets/storage-BpAqa-YY.js","assets/abort-signal-f4JsiYKX.js","assets/sprite-engine-catalog-D1HQWa1X.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{t as n}from"./index-iBrSU61i.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{u as a}from"./i18n-7QvbQzOQ.js";import{t as o}from"./use-i18n-BSZKFkMb.js";import{a as s,o as c}from"./vendor-state-GkUciC5H.js";import{t as l}from"./utils-C8uzG5AZ.js";import{t as u}from"./api-Dzobr-o_.js";import{t as d}from"./button-CQA36izu.js";import{a as f,n as p,o as m}from"./useCustomUiComponents-BH86kuaq.js";var h=e(r(),1),g=`--bg.--panel.--solid.--surface-subtle.--surface-muted.--surface-hover.--stroke.--stroke-soft.--stroke-hover.--text.--text-soft.--text-secondary.--text-muted.--brand-blue.--brand-blue-soft.--brand-blue-border.--accent-soft.--accent-strong.--accent-border.--star-strong.--on-accent.--success.--success-soft.--danger.--danger-soft.--warning-strong.--warning-soft.--focus.--r-sm.--r-md.--r-lg`.split(`.`);function _(){let e=document.documentElement,t=getComputedStyle(e),n={};for(let e of g){let r=t.getPropertyValue(e).trim();r&&(n[e]=r)}return{mode:e.classList.contains(`dark`)?`dark`:`light`,variables:n}}var v={getConfig:`config.read`,listSessions:`sessions.read`,notify:`notify`,"gameAssets.list":`game-assets.read`,"gameAssets.save":`game-assets.write`,"gameAssets.run":`game-assets.run`,"gameAssets.stop":`game-assets.run`,"gameAssets.uploadImage":`game-assets.write`,"gameAssets.image":`game-assets.read`,"gameAssets.process":`game-assets.write`,"gameAssets.engine":`game-assets.write`,"gameAssets.export":`game-assets.read`,"gameAssets.editFrames":`game-assets.write`,"gameAssets.remove":`game-assets.write`},y=4;function b(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function x(e,{component:n,notify:r,preview:i=!1,locale:o=document.documentElement.lang||`zh-CN`}){let s=i?[]:n.permissions,c=new Set(s),l=new AbortController,d=0,f=o===`en-US`?`en-US`:`zh-CN`,p=()=>({..._(),locale:o}),m=()=>{l.signal.aborted||e.contentWindow?.postMessage({pisperBridge:1,type:`theme`,theme:p()},`*`)},h=new MutationObserver(m);h.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`,`data-accent`]});let g=(t,n,r)=>{l.signal.aborted||e.contentWindow?.postMessage(n?{pisperBridge:1,id:t,ok:!0,result:r}:{pisperBridge:1,id:t,ok:!1,error:String(r||`请求失败。`)},`*`)},x=async(e,i)=>{if(e===`ready`)return{component:{id:n.id,name:n.name,version:n.version,permissions:s},locale:o,theme:p()};let m=v[e];if(!m)throw Error(a(`custom-ui:bridge.unknownMethod`,f));if(!c.has(m))throw Error(a(`custom-ui:bridge.permissionDenied`,f,{permission:m}));if(e.startsWith(`gameAssets.`)){if(d>=y)throw Error(a(`custom-ui:bridge.gameAssetBusy`,f));d+=1;try{let{handleGameAssetComponentRequest:n}=await t(async()=>{let{handleGameAssetComponentRequest:e}=await import(`./component-api-Nwo2yGZI.js`);return{handleGameAssetComponentRequest:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]));return l.signal.throwIfAborted(),await n(e,i,l.signal)}finally{--d}}if(e===`getConfig`)return u(`/api/config`,{signal:l.signal});if(e===`listSessions`){let e=Math.min(Math.max(Number(i.limit)||50,1),200);return u(`/api/sessions?limit=${e}`,{signal:l.signal})}if(e===`notify`){let e=String(i.message||``).trim().slice(0,500);return e&&r(e),null}return null},S=t=>{if(l.signal.aborted||t.source!==e.contentWindow)return;let n=b(t.data)||{};if(n.pisperBridge!==1||typeof n.id!=`number`||!Number.isSafeInteger(n.id)||typeof n.method!=`string`)return;let r=n.id;x(n.method,b(n.params)||{}).then(e=>g(r,!0,e??null),e=>g(r,!1,e instanceof Error?e.message:String(e)))};return window.addEventListener(`message`,S),m(),()=>{l.abort(),window.removeEventListener(`message`,S),h.disconnect()}}function S(e,t,n){let r=new AbortController,i=null,a,o=e=>{f(e.id).catch(()=>void 0)},s=()=>{r.abort(),clearTimeout(a),i&&=(o(i),null)},c=()=>{r.signal.aborted||(n(),s())},l=async()=>{if(!(!i||r.signal.aborted))try{await m(i.id,r.signal),r.signal.aborted||(a=setTimeout(()=>void l(),6e4))}catch{c()}};return p(e,r.signal).then(e=>{if(r.signal.aborted){o(e);return}i=e,t(e),a=setTimeout(()=>void l(),6e4)},c),s}function C(e,t){return e.builtIn&&e.id===`pisper-island`?t(`custom-ui:builtIn.islandName`):e.name}function w(e,t){return e.builtIn&&e.id===`pisper-island`?t(`custom-ui:builtIn.islandDescription`):e.description}var T=i();function E({component:e,notify:t,preview:n=!1}){let{t:r,locale:i}=o(),a=(0,h.useRef)(null),s=(0,h.useRef)(null),c=(0,h.useRef)(t);c.current=t;let[u,f]=(0,h.useState)(!1),[p,m]=(0,h.useState)(0),[g,_]=(0,h.useState)(null);return(0,h.useEffect)(()=>{f(!1),_(null);let t=S(e.id,_,()=>f(!0));return s.current=t,()=>{t(),s.current=null}},[e.id,e.entry,p]),(0,h.useEffect)(()=>{let t=a.current;if(!(!t||u||!g))return x(t,{component:e,preview:n,locale:i,notify:e=>c.current?.(e)})},[e,n,g,u,i]),u?(0,T.jsxs)(`div`,{role:`status`,className:`flex h-full min-h-0 min-w-0 flex-col items-center justify-center gap-2 overflow-auto p-3 text-center text-xs text-[var(--text-muted)]`,children:[(0,T.jsx)(`p`,{children:r(`custom-ui:customUiPage.componentFailedToLoad`)}),(0,T.jsx)(d,{variant:`outline`,size:`sm`,onClick:()=>m(e=>e+1),children:r(`custom-ui:widget.retry`)})]}):g?(0,T.jsx)(`iframe`,{ref:a,title:C(e,r),src:g.entryUrl,referrerPolicy:`no-referrer`,sandbox:`allow-scripts`,inert:n||void 0,tabIndex:n?-1:void 0,className:l(`block h-full min-h-0 w-full min-w-0 border-0 bg-transparent`,n&&`pointer-events-none`),onError:()=>{s.current?.(),f(!0)}}):(0,T.jsx)(`div`,{role:`status`,className:`grid h-full min-h-0 min-w-0 place-items-center p-3 text-xs text-[var(--text-muted)]`,children:r(`custom-ui:customUiPage.loading`)})}var D=128,O=/^[a-z0-9][a-z0-9._-]{0,63}$/;function k(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function A(e){return typeof e==`string`&&O.test(e)}function j(e){let t={};if(!k(e))return t;for(let n of Object.keys(e)){if(Object.keys(t).length>=D)break;let r=Object.getOwnPropertyDescriptor(e,n);A(n)&&r&&`value`in r&&typeof r.value==`boolean`&&(t[n]=r.value)}return t}function M(e){if(!k(e)||Object.keys(e).some(e=>e!==`prefs`))return{prefs:{}};let t=Object.getOwnPropertyDescriptor(e,`prefs`);return{prefs:j(t&&`value`in t?t.value:null)}}function N(e,t){let n=j(t),r=new Set;for(let t of e)A(t)&&(t===`pisper-island`?n[t]===!0:n[t]!==!1)&&r.add(t);for(let[e,t]of Object.entries(n))t&&r.add(e);return[...r]}var P=c()((e,t,r)=>{let i=!1,a=n=>{i=n,t()&&t().storageError!==n&&e({storageError:n})};return s((e,t)=>({prefs:{},storageError:!1,setVisible:(n,r)=>{if(!A(n))throw Object.assign(Error(`Invalid component ID`),{code:`invalid_id`});if(typeof r!=`boolean`)throw Object.assign(Error(`Invalid visibility`),{code:`invalid_visibility`});let i=t().prefs;if(i[n]!==r){if(!Object.hasOwn(i,n)&&Object.keys(i).length>=D)throw Object.assign(Error(`Too many floating preferences`),{code:`preferences_limit`});e({prefs:{...i,[n]:r}})}}}),{name:`pisper-floating-widgets`,version:1,storage:{getItem:e=>{try{let t=n.getItem(e);if(t===null)return a(!1),null;let r=JSON.parse(t);return a(!1),{state:k(r)&&r.version===1?M(r.state):{prefs:{}},version:1}}catch{return a(!0),{state:{prefs:{}},version:1}}},setItem:(e,t)=>{try{n.setItem(e,JSON.stringify(t)),a(!1)}catch{a(!0)}},removeItem:e=>{try{n.removeItem(e),a(!1)}catch{a(!0)}}},partialize:({prefs:e})=>({prefs:e}),merge:(e,t)=>({...t,...M(e),storageError:i})})(e,t,r)});export{C as a,w as i,P as n,E as r,N as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/component-api-CN9Tcn5p.js","assets/http-Be2GB6DH.js","assets/vendor-router-CZg2bCPV.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/i18n-8nTnthu6.js","assets/index-AF29hfx9.js","assets/index-BAmsg90v.css","assets/storage-BpAqa-YY.js","assets/abort-signal-f4JsiYKX.js","assets/sprite-engine-catalog-D1HQWa1X.js"])))=>i.map(i=>d[i]);
2
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{t as n}from"./index-AF29hfx9.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{u as a}from"./i18n-8nTnthu6.js";import{t as o}from"./use-i18n-a84Zp9dV.js";import{a as s,o as c}from"./vendor-state-GkUciC5H.js";import{t as l}from"./utils-C8uzG5AZ.js";import{t as u}from"./api-YI8_cHpR.js";import{t as d}from"./button-CQA36izu.js";import{a as f,n as p,o as m}from"./useCustomUiComponents-BaQ_fwbr.js";var h=e(r(),1),g=`--bg.--panel.--solid.--surface-subtle.--surface-muted.--surface-hover.--stroke.--stroke-soft.--stroke-hover.--text.--text-soft.--text-secondary.--text-muted.--brand-blue.--brand-blue-soft.--brand-blue-border.--accent-soft.--accent-strong.--accent-border.--star-strong.--on-accent.--success.--success-soft.--danger.--danger-soft.--warning-strong.--warning-soft.--focus.--r-sm.--r-md.--r-lg`.split(`.`);function _(){let e=document.documentElement,t=getComputedStyle(e),n={};for(let e of g){let r=t.getPropertyValue(e).trim();r&&(n[e]=r)}return{mode:e.classList.contains(`dark`)?`dark`:`light`,variables:n}}var v={getConfig:`config.read`,listSessions:`sessions.read`,notify:`notify`,"gameAssets.list":`game-assets.read`,"gameAssets.save":`game-assets.write`,"gameAssets.run":`game-assets.run`,"gameAssets.stop":`game-assets.run`,"gameAssets.uploadImage":`game-assets.write`,"gameAssets.image":`game-assets.read`,"gameAssets.process":`game-assets.write`,"gameAssets.engine":`game-assets.write`,"gameAssets.export":`game-assets.read`,"gameAssets.editFrames":`game-assets.write`,"gameAssets.remove":`game-assets.write`},y=4;function b(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function x(e,{component:n,notify:r,preview:i=!1,locale:o=document.documentElement.lang||`zh-CN`}){let s=i?[]:n.permissions,c=new Set(s),l=new AbortController,d=0,f=o===`en-US`?`en-US`:`zh-CN`,p=()=>({..._(),locale:o}),m=()=>{l.signal.aborted||e.contentWindow?.postMessage({pisperBridge:1,type:`theme`,theme:p()},`*`)},h=new MutationObserver(m);h.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`,`data-accent`]});let g=(t,n,r)=>{l.signal.aborted||e.contentWindow?.postMessage(n?{pisperBridge:1,id:t,ok:!0,result:r}:{pisperBridge:1,id:t,ok:!1,error:String(r||`请求失败。`)},`*`)},x=async(e,i)=>{if(e===`ready`)return{component:{id:n.id,name:n.name,version:n.version,permissions:s},locale:o,theme:p()};let m=v[e];if(!m)throw Error(a(`custom-ui:bridge.unknownMethod`,f));if(!c.has(m))throw Error(a(`custom-ui:bridge.permissionDenied`,f,{permission:m}));if(e.startsWith(`gameAssets.`)){if(d>=y)throw Error(a(`custom-ui:bridge.gameAssetBusy`,f));d+=1;try{let{handleGameAssetComponentRequest:n}=await t(async()=>{let{handleGameAssetComponentRequest:e}=await import(`./component-api-CN9Tcn5p.js`);return{handleGameAssetComponentRequest:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]));return l.signal.throwIfAborted(),await n(e,i,l.signal)}finally{--d}}if(e===`getConfig`)return u(`/api/config`,{signal:l.signal});if(e===`listSessions`){let e=Math.min(Math.max(Number(i.limit)||50,1),200);return u(`/api/sessions?limit=${e}`,{signal:l.signal})}if(e===`notify`){let e=String(i.message||``).trim().slice(0,500);return e&&r(e),null}return null},S=t=>{if(l.signal.aborted||t.source!==e.contentWindow)return;let n=b(t.data)||{};if(n.pisperBridge!==1||typeof n.id!=`number`||!Number.isSafeInteger(n.id)||typeof n.method!=`string`)return;let r=n.id;x(n.method,b(n.params)||{}).then(e=>g(r,!0,e??null),e=>g(r,!1,e instanceof Error?e.message:String(e)))};return window.addEventListener(`message`,S),m(),()=>{l.abort(),window.removeEventListener(`message`,S),h.disconnect()}}function S(e,t,n){let r=new AbortController,i=null,a,o=e=>{f(e.id).catch(()=>void 0)},s=()=>{r.abort(),clearTimeout(a),i&&=(o(i),null)},c=()=>{r.signal.aborted||(n(),s())},l=async()=>{if(!(!i||r.signal.aborted))try{await m(i.id,r.signal),r.signal.aborted||(a=setTimeout(()=>void l(),6e4))}catch{c()}};return p(e,r.signal).then(e=>{if(r.signal.aborted){o(e);return}i=e,t(e),a=setTimeout(()=>void l(),6e4)},c),s}function C(e,t){return e.builtIn&&e.id===`pisper-island`?t(`custom-ui:builtIn.islandName`):e.name}function w(e,t){return e.builtIn&&e.id===`pisper-island`?t(`custom-ui:builtIn.islandDescription`):e.description}var T=i();function E({component:e,notify:t,preview:n=!1}){let{t:r,locale:i}=o(),a=(0,h.useRef)(null),s=(0,h.useRef)(null),c=(0,h.useRef)(t);c.current=t;let[u,f]=(0,h.useState)(!1),[p,m]=(0,h.useState)(0),[g,_]=(0,h.useState)(null);return(0,h.useEffect)(()=>{f(!1),_(null);let t=S(e.id,_,()=>f(!0));return s.current=t,()=>{t(),s.current=null}},[e.id,e.entry,p]),(0,h.useEffect)(()=>{let t=a.current;if(!(!t||u||!g))return x(t,{component:e,preview:n,locale:i,notify:e=>c.current?.(e)})},[e,n,g,u,i]),u?(0,T.jsxs)(`div`,{role:`status`,className:`flex h-full min-h-0 min-w-0 flex-col items-center justify-center gap-2 overflow-auto p-3 text-center text-xs text-[var(--text-muted)]`,children:[(0,T.jsx)(`p`,{children:r(`custom-ui:customUiPage.componentFailedToLoad`)}),(0,T.jsx)(d,{variant:`outline`,size:`sm`,onClick:()=>m(e=>e+1),children:r(`custom-ui:widget.retry`)})]}):g?(0,T.jsx)(`iframe`,{ref:a,title:C(e,r),src:g.entryUrl,referrerPolicy:`no-referrer`,sandbox:`allow-scripts`,inert:n||void 0,tabIndex:n?-1:void 0,className:l(`block h-full min-h-0 w-full min-w-0 border-0 bg-transparent`,n&&`pointer-events-none`),onError:()=>{s.current?.(),f(!0)}}):(0,T.jsx)(`div`,{role:`status`,className:`grid h-full min-h-0 min-w-0 place-items-center p-3 text-xs text-[var(--text-muted)]`,children:r(`custom-ui:customUiPage.loading`)})}var D=128,O=/^[a-z0-9][a-z0-9._-]{0,63}$/;function k(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function A(e){return typeof e==`string`&&O.test(e)}function j(e){let t={};if(!k(e))return t;for(let n of Object.keys(e)){if(Object.keys(t).length>=D)break;let r=Object.getOwnPropertyDescriptor(e,n);A(n)&&r&&`value`in r&&typeof r.value==`boolean`&&(t[n]=r.value)}return t}function M(e){if(!k(e)||Object.keys(e).some(e=>e!==`prefs`))return{prefs:{}};let t=Object.getOwnPropertyDescriptor(e,`prefs`);return{prefs:j(t&&`value`in t?t.value:null)}}function N(e,t){let n=j(t),r=new Set;for(let t of e)A(t)&&(t===`pisper-island`?n[t]===!0:n[t]!==!1)&&r.add(t);for(let[e,t]of Object.entries(n))t&&r.add(e);return[...r]}var P=c()((e,t,r)=>{let i=!1,a=n=>{i=n,t()&&t().storageError!==n&&e({storageError:n})};return s((e,t)=>({prefs:{},storageError:!1,setVisible:(n,r)=>{if(!A(n))throw Object.assign(Error(`Invalid component ID`),{code:`invalid_id`});if(typeof r!=`boolean`)throw Object.assign(Error(`Invalid visibility`),{code:`invalid_visibility`});let i=t().prefs;if(i[n]!==r){if(!Object.hasOwn(i,n)&&Object.keys(i).length>=D)throw Object.assign(Error(`Too many floating preferences`),{code:`preferences_limit`});e({prefs:{...i,[n]:r}})}}}),{name:`pisper-floating-widgets`,version:1,storage:{getItem:e=>{try{let t=n.getItem(e);if(t===null)return a(!1),null;let r=JSON.parse(t);return a(!1),{state:k(r)&&r.version===1?M(r.state):{prefs:{}},version:1}}catch{return a(!0),{state:{prefs:{}},version:1}}},setItem:(e,t)=>{try{n.setItem(e,JSON.stringify(t)),a(!1)}catch{a(!0)}},removeItem:e=>{try{n.removeItem(e),a(!1)}catch{a(!0)}}},partialize:({prefs:e})=>({prefs:e}),merge:(e,t)=>({...t,...M(e),storageError:i})})(e,t,r)});export{C as a,w as i,P as n,E as r,N as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Cd-3GVxJ.js";var t=e(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Cd-3GVxJ.js";var t=e(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]);export{t};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mobile-runtime-recovery-tbTyacip.js","assets/rolldown-runtime-B0Z9INg1.js"])))=>i.map(i=>d[i]);
2
- import{p as e}from"./vendor-router-CZg2bCPV.js";import{c as t,l as n,s as r,u as i}from"./i18n-7QvbQzOQ.js";import{i as a,n as o}from"./abort-signal-f4JsiYKX.js";var s=class extends Error{status;data;kind;constructor(e,t={}){super(e),this.name=`ApiError`,this.status=t.status,this.data=t.data,this.kind=t.kind}};function c(e){return new s(i(`common:api.invalidResponse`,t(r.language)?r.language:n()),{status:e,kind:`protocol`,data:{code:`INVALID_RESPONSE`}})}function l(e){if(e)try{let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?{...t,error:`error`in t&&typeof t.error==`string`?t.error:void 0}:{error:typeof t==`string`?t:e,body:t}}catch{return{error:e}}}async function u(e){let t=l(await e.text());return new s(t?.error||e.statusText||`HTTP ${e.status}`,{status:e.status,data:t,kind:`http`})}async function d(e){if(e.status===204)return;let t=await e.text();if(t)try{return JSON.parse(t)}catch{throw c(e.status)}}async function f(t){if(typeof window>`u`||!window.__PISPER_MOBILE_APP__)return;let n=o(t,p);try{await a(e(()=>import(`./mobile-runtime-recovery-tbTyacip.js`).then(e=>e.t).then(async e=>{e.installMobileRuntimeForegroundRecovery(),await e.waitForMobileRuntimeReady()}),__vite__mapDeps([0,1])),n.signal)}finally{n.dispose()}}var p=3e4;function m(e,t){return e instanceof Error&&e.message?e.message:typeof e==`string`&&e?e:t}async function h(e,t,n){let{body:r,data:i,headers:a,signal:o,timeout:c=p,...l}=t,d=i===void 0?r:i,h=new Headers(a),g;d!==void 0&&(d instanceof Blob?(g=d,h.has(`Content-Type`)||h.set(`Content-Type`,d.type||`application/octet-stream`)):(g=typeof d==`string`?d:JSON.stringify(d),h.has(`Content-Type`)||h.set(`Content-Type`,`application/json`)));let _=new AbortController,v=!1,y=()=>_.abort(o?.reason);o?.aborted?y():o?.addEventListener(`abort`,y,{once:!0});let b=c>0?setTimeout(()=>{v=!0,_.abort(new DOMException(`Request timed out`,`TimeoutError`))},c):void 0;try{if(await f(_.signal),_.signal.aborted)throw _.signal.reason;let t=await fetch(e,{...l,body:g,headers:h,signal:_.signal});if(!t.ok)throw await u(t);return await n(t)}catch(e){throw e instanceof s?e:v?new s(`请求超时 (${c}ms)`,{kind:`timeout`}):o?.aborted?new s(m(o.reason,`请求已取消`),{kind:`cancelled`}):new s(m(e,`请求失败 (network)`),{kind:`network`})}finally{b!==void 0&&clearTimeout(b),o?.removeEventListener(`abort`,y)}}function g(e,t={}){let{parse:n,...r}=t;return h(e,r,async e=>{let t=await d(e);return n?n(t):t})}function _(e,t={}){return h(e,t,e=>e.blob())}export{u as a,c as i,g as n,s as o,f as r,_ as t};
2
+ import{p as e}from"./vendor-router-CZg2bCPV.js";import{c as t,l as n,s as r,u as i}from"./i18n-8nTnthu6.js";import{i as a,n as o}from"./abort-signal-f4JsiYKX.js";var s=class extends Error{status;data;kind;constructor(e,t={}){super(e),this.name=`ApiError`,this.status=t.status,this.data=t.data,this.kind=t.kind}};function c(e){return new s(i(`common:api.invalidResponse`,t(r.language)?r.language:n()),{status:e,kind:`protocol`,data:{code:`INVALID_RESPONSE`}})}function l(e){if(e)try{let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?{...t,error:`error`in t&&typeof t.error==`string`?t.error:void 0}:{error:typeof t==`string`?t:e,body:t}}catch{return{error:e}}}async function u(e){let t=l(await e.text());return new s(t?.error||e.statusText||`HTTP ${e.status}`,{status:e.status,data:t,kind:`http`})}async function d(e){if(e.status===204)return;let t=await e.text();if(t)try{return JSON.parse(t)}catch{throw c(e.status)}}async function f(t){if(typeof window>`u`||!window.__PISPER_MOBILE_APP__)return;let n=o(t,p);try{await a(e(()=>import(`./mobile-runtime-recovery-tbTyacip.js`).then(e=>e.t).then(async e=>{e.installMobileRuntimeForegroundRecovery(),await e.waitForMobileRuntimeReady()}),__vite__mapDeps([0,1])),n.signal)}finally{n.dispose()}}var p=3e4;function m(e,t){return e instanceof Error&&e.message?e.message:typeof e==`string`&&e?e:t}async function h(e,t,n){let{body:r,data:i,headers:a,signal:o,timeout:c=p,...l}=t,d=i===void 0?r:i,h=new Headers(a),g;d!==void 0&&(d instanceof Blob?(g=d,h.has(`Content-Type`)||h.set(`Content-Type`,d.type||`application/octet-stream`)):(g=typeof d==`string`?d:JSON.stringify(d),h.has(`Content-Type`)||h.set(`Content-Type`,`application/json`)));let _=new AbortController,v=!1,y=()=>_.abort(o?.reason);o?.aborted?y():o?.addEventListener(`abort`,y,{once:!0});let b=c>0?setTimeout(()=>{v=!0,_.abort(new DOMException(`Request timed out`,`TimeoutError`))},c):void 0;try{if(await f(_.signal),_.signal.aborted)throw _.signal.reason;let t=await fetch(e,{...l,body:g,headers:h,signal:_.signal});if(!t.ok)throw await u(t);return await n(t)}catch(e){throw e instanceof s?e:v?new s(`请求超时 (${c}ms)`,{kind:`timeout`}):o?.aborted?new s(m(o.reason,`请求已取消`),{kind:`cancelled`}):new s(m(e,`请求失败 (network)`),{kind:`network`})}finally{b!==void 0&&clearTimeout(b),o?.removeEventListener(`abort`,y)}}function g(e,t={}){let{parse:n,...r}=t;return h(e,r,async e=>{let t=await d(e);return n?n(t):t})}function _(e,t={}){return h(e,t,e=>e.blob())}export{u as a,c as i,g as n,s as o,f as r,_ as t};