@inkeep/open-knowledge 0.86.18 → 0.86.19-beta.1

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 (158) hide show
  1. package/dist/THIRD_PARTY_NOTICES.md +2 -2
  2. package/dist/cli.mjs +6 -6
  3. package/dist/constants-DTpS5DPL.mjs +1 -0
  4. package/dist/{dist-CbA9Te53.mjs → dist-DRgSOIS6.mjs} +468 -468
  5. package/dist/{dist-dkuaYp-W.mjs → dist-DyVcFCkj.mjs} +1 -1
  6. package/dist/index.mjs +81 -81
  7. package/dist/{init-CkPbFkR2.mjs → init-Cc3pxAas.mjs} +2 -2
  8. package/dist/init-rFslisPX.mjs +1 -0
  9. package/dist/{launch-json-removal-DmAd4dyj.mjs → launch-json-removal-Ca30Nixh.mjs} +1 -1
  10. package/dist/{loader-2OYXo10U.mjs → loader-BwPvEjuE.mjs} +1 -1
  11. package/dist/loader-Cy9oZb72.mjs +1 -0
  12. package/dist/{open-browser-foWNoVBg.mjs → open-browser-CFW5reH2.mjs} +1 -1
  13. package/dist/{preview-ZGsL-Uwx.mjs → preview-BKERSD2q.mjs} +1 -1
  14. package/dist/preview-CJewZ-WB.mjs +1 -0
  15. package/dist/public/assets/{AboutSection-1db6GHW2.js → AboutSection-LPELvEUl.js} +1 -1
  16. package/dist/public/assets/{AccountSection-nOUz0-XO.js → AccountSection-DlWsbV8D.js} +1 -1
  17. package/dist/public/assets/{ActivityModeContent-oDazjwS5.js → ActivityModeContent-DkGHz9Ku.js} +1 -1
  18. package/dist/public/assets/{AddPropertiesButton-NmSFHeqp.js → AddPropertiesButton-D__sehWQ.js} +1 -1
  19. package/dist/public/assets/{AgentConnectionsSection--iYEJFNT.js → AgentConnectionsSection-DhbJCdHu.js} +1 -1
  20. package/dist/public/assets/{AgentDiffPane-DthmBv1_.js → AgentDiffPane-xuZ1KudZ.js} +1 -1
  21. package/dist/public/assets/{AgentIconCluster-Ys-JZNda.js → AgentIconCluster-DYP1yNXm.js} +1 -1
  22. package/dist/public/assets/{AppMenubar-DDyx__mD.js → AppMenubar-ClplcAeM.js} +1 -1
  23. package/dist/public/assets/{AttachmentsSection-CdJEk9iY.js → AttachmentsSection-CHLjnxc0.js} +1 -1
  24. package/dist/public/assets/{CodeMirrorPropInput-BgNaaq8o.js → CodeMirrorPropInput-BpHUFt_h.js} +11 -11
  25. package/dist/public/assets/{ConfigSharingInfoTooltip-l_ayrcN2.js → ConfigSharingInfoTooltip-DSloJmkE.js} +1 -1
  26. package/dist/public/assets/{ConsentDialogBody-CYoQuVtn.js → ConsentDialogBody-CaPp8huq.js} +1 -1
  27. package/dist/public/assets/{ContentRulesSection-n5_Uq6lF.js → ContentRulesSection-wbtHcBqr.js} +1 -1
  28. package/dist/public/assets/{CopyButton-qKG_Y_eK.js → CopyButton-BTy3joJd.js} +1 -1
  29. package/dist/public/assets/{DocumentContext-DEUbe-Z2.js → DocumentContext-CQ2e0uie.js} +13 -13
  30. package/dist/public/assets/EditorModeToggle-B_E4wnhm.js +1 -0
  31. package/dist/public/assets/{ExcalidrawDocEditor-CSIWz9Xb.js → ExcalidrawDocEditor-BcoRuAVp.js} +1 -1
  32. package/dist/public/assets/FeedbackForm-DhJSsu3n.js +1 -0
  33. package/dist/public/assets/{GraphPanel-KRwmAWVK.js → GraphPanel-D1tkoAHM.js} +2 -2
  34. package/dist/public/assets/{HotkeysSection-BMjtAkGn.js → HotkeysSection-C9sCf3j3.js} +1 -1
  35. package/dist/public/assets/{ImageAttachments-BWXjEZGr.js → ImageAttachments-BDh-av0V.js} +1 -1
  36. package/dist/public/assets/{ImportSkillDialog-CN46mvgE.js → ImportSkillDialog-lBL0HNJp.js} +1 -1
  37. package/dist/public/assets/{IntegrationsSection-DoiLVCsa.js → IntegrationsSection-D3htSKMO.js} +1 -1
  38. package/dist/public/assets/{LinkPreviewsSection-CRyMimUF.js → LinkPreviewsSection-CULpqlH7.js} +1 -1
  39. package/dist/public/assets/{LintConfigEditor-DBUpKLAE.js → LintConfigEditor-6YyaXnFA.js} +1 -1
  40. package/dist/public/assets/{LintingSection-I4kdwFqj.js → LintingSection-DSwALvf4.js} +1 -1
  41. package/dist/public/assets/{ManagedArtifactProperties-DL5zmaf5.js → ManagedArtifactProperties-vvyx0y7Q.js} +1 -1
  42. package/dist/public/assets/ManagedArtifactProperties-wzj7pm-b.js +1 -0
  43. package/dist/public/assets/{McpConsentDialogBody-DKAfUcdT.js → McpConsentDialogBody-BwguVGDQ.js} +1 -1
  44. package/dist/public/assets/{Mermaid-BUWNFmOJ.js → Mermaid-DqNhHNi1.js} +2 -2
  45. package/dist/public/assets/{MermaidDocEditor-DUBLFQmb.js → MermaidDocEditor-BqqrJSxz.js} +1 -1
  46. package/dist/public/assets/{NetworkAccessSection-BV64VxAs.js → NetworkAccessSection-CJ-k8kEB.js} +1 -1
  47. package/dist/public/assets/{OkCliPathRow-XzRstb3V.js → OkCliPathRow-CIrEL7IY.js} +1 -1
  48. package/dist/public/assets/{OkignoreSection-CItndbA4.js → OkignoreSection-BudJQycp.js} +1 -1
  49. package/dist/public/assets/{OpenInAgentMenuItem-BFQfpofi.js → OpenInAgentMenuItem-DUU1-QP7.js} +1 -1
  50. package/dist/public/assets/{ProjectTemplatesSection-CF-P6d-M.js → ProjectTemplatesSection-DCliKsre.js} +1 -1
  51. package/dist/public/assets/{PropertyDisplayRow-aSFDp_7w.js → PropertyDisplayRow-Cm34goFj.js} +1 -1
  52. package/dist/public/assets/{PublishToGitHubDialog-DZR6cdaM.js → PublishToGitHubDialog-jx0Tzybl.js} +1 -1
  53. package/dist/public/assets/{ReportBugDialogBody-Cuv8swjY.js → ReportBugDialogBody-J5o6Nxwn.js} +1 -1
  54. package/dist/public/assets/{ReportBugMenuTrigger-DCel1VGa.js → ReportBugMenuTrigger-CAUKQKXn.js} +1 -1
  55. package/dist/public/assets/{RowDisclosure-gIio7LxD.js → RowDisclosure-Bj2sD4-N.js} +1 -1
  56. package/dist/public/assets/{SchemaConfigEditor-Dxa3qMiC.js → SchemaConfigEditor-co1_VbGJ.js} +1 -1
  57. package/dist/public/assets/{SearchSection-DTYxFQGg.js → SearchSection-CU6mVIBD.js} +1 -1
  58. package/dist/public/assets/{SessionsHost-CHxDnXNN.js → SessionsHost-Ve1-rpr4.js} +2 -2
  59. package/dist/public/assets/{SettingsDialogBody-nzUdIG66.js → SettingsDialogBody-Du3F7eab.js} +2 -2
  60. package/dist/public/assets/{SettingsSectionHeader-BiiyXKRM.js → SettingsSectionHeader-DDNA1hrR.js} +1 -1
  61. package/dist/public/assets/{ShareBranchSwitchDialog-cMvRsP7t.js → ShareBranchSwitchDialog-BNGZhCgr.js} +1 -1
  62. package/dist/public/assets/{ShareReceiveMissDialog-CT0s6SZD.js → ShareReceiveMissDialog-Bsh7llP0.js} +1 -1
  63. package/dist/public/assets/{SharingSection-DZKx4kGQ.js → SharingSection-Y4AD8HPt.js} +1 -1
  64. package/dist/public/assets/{SkillCostValue-CAF_ekD2.js → SkillCostValue-DBT6aDG-.js} +1 -1
  65. package/dist/public/assets/{SkillInstallMenu-Do_U4WMQ.js → SkillInstallMenu-DyKWxkEY.js} +1 -1
  66. package/dist/public/assets/{SkillOriginInline-RclplHSV.js → SkillOriginInline-D6YyylB6.js} +1 -1
  67. package/dist/public/assets/{SkillPluginBundleDialog-8mBM4DTV.js → SkillPluginBundleDialog-BmLQqQms.js} +1 -1
  68. package/dist/public/assets/{SkillToolbarControls-BmBSoXUZ.js → SkillToolbarControls-Dg0uH9dc.js} +1 -1
  69. package/dist/public/assets/{SkillsManagerSection-B5aptPCM.js → SkillsManagerSection-C0pgRzfs.js} +1 -1
  70. package/dist/public/assets/{SlidesPluginSection-DBHq4ZBE.js → SlidesPluginSection-B8KiQkqa.js} +1 -1
  71. package/dist/public/assets/{SlidesToolbarControls-BSo10McR.js → SlidesToolbarControls-DxIDubwo.js} +1 -1
  72. package/dist/public/assets/{SourceEditor-BKESs3iE.js → SourceEditor-BxraIyxO.js} +1 -1
  73. package/dist/public/assets/SpellingSettings-CElN7mrA.js +1 -0
  74. package/dist/public/assets/{SyncSection-DG4NKKV6.js → SyncSection-CI62AsGJ.js} +1 -1
  75. package/dist/public/assets/{SyncStatusBadge-DbPwIAZ6.js → SyncStatusBadge--DiNAARL.js} +1 -1
  76. package/dist/public/assets/{TemplateRow-C40fof6w.js → TemplateRow-DsoFn6-i.js} +1 -1
  77. package/dist/public/assets/{TerminalLaunchContext-CREkMahV.js → TerminalLaunchContext-DWUMDSpw.js} +1 -1
  78. package/dist/public/assets/{TerminalPanel-DYLjq5_k.js → TerminalPanel-ByCiyPt3.js} +1 -1
  79. package/dist/public/assets/{TerminalSection-Dn5Zx9la.js → TerminalSection-BWcfGvEV.js} +1 -1
  80. package/dist/public/assets/{TerminalWindowApp-B1S9JVI5.js → TerminalWindowApp-BXHW_7B9.js} +1 -1
  81. package/dist/public/assets/{TextDocEditor-t0PyPTxV.js → TextDocEditor-C8zsOMpH.js} +1 -1
  82. package/dist/public/assets/{ThemePluginSection-CpNh8zVh.js → ThemePluginSection-McKmY5If.js} +1 -1
  83. package/dist/public/assets/{ThreadView-C5kp9I_d.js → ThreadView-CjKcF5Bj.js} +1 -1
  84. package/dist/public/assets/{TimelineDiffPane-CY_w4ApS.js → TimelineDiffPane-BScs4tYQ.js} +1 -1
  85. package/dist/public/assets/{agent-connections-5LGp4_96.js → agent-connections-DSKODCmO.js} +1 -1
  86. package/dist/public/assets/auth-prompt-store-C_-QXZFC.js +1 -0
  87. package/dist/public/assets/{client-version-B5RMgZIK.js → client-version-Dyx1KpjP.js} +1 -1
  88. package/dist/public/assets/{cm-theme-BoQxNVQo.js → cm-theme-Dml6DrPs.js} +1 -1
  89. package/dist/public/assets/{comment-chips-wISZaR8q.js → comment-chips-BTYU41zd.js} +1 -1
  90. package/dist/public/assets/{config-provider-CLiLqORc.js → config-provider-Bu33ODD8.js} +1 -1
  91. package/dist/public/assets/{context-menu-DWPgomGa.js → context-menu-B5MxEep2.js} +1 -1
  92. package/dist/public/assets/{dist-CxQmGY4K.js → dist-BUMFJcXg.js} +13 -12
  93. package/dist/public/assets/{dist-ecS2llwR.js → dist-BzicVdNV.js} +1 -1
  94. package/dist/public/assets/{dist-UouvQIiM.js → dist-C0nuYMFu.js} +1 -1
  95. package/dist/public/assets/{dist-D1AbXGbs.js → dist-Cj3Bpren.js} +1 -1
  96. package/dist/public/assets/{dist-YVu4MRkZ2.js → dist-DXjgFhPl2.js} +1 -1
  97. package/dist/public/assets/dist-DjMGDcCv.js +161 -0
  98. package/dist/public/assets/{dist-d0R4nnoB.js → dist-d2WYntJB.js} +1 -1
  99. package/dist/public/assets/{doc-undo-manager-Dq0xUVqE.js → doc-undo-manager-CPZo2IhT.js} +1 -1
  100. package/dist/public/assets/{dropdown-menu-DtLu9NwU.js → dropdown-menu-5XqyQTVx.js} +1 -1
  101. package/dist/public/assets/field-controls-CCcf2ybM.js +1 -0
  102. package/dist/public/assets/field-controls-CKb1JSHS.js +6 -0
  103. package/dist/public/assets/{floating-ui.dom-DkPPH5vF.js → floating-ui.dom-BYl7JZd0.js} +1 -1
  104. package/dist/public/assets/globals-Cr0S8PDH.css +1 -0
  105. package/dist/public/assets/{ime-composition-Dvok5Aig.js → ime-composition-_BDVzXn4.js} +1 -1
  106. package/dist/public/assets/index-DQZmjexO.js +2209 -0
  107. package/dist/public/assets/{lint-plugins-B2ISAGv1.js → lint-plugins-Cv7WvUlN.js} +1 -1
  108. package/dist/public/assets/{markdownlint-rule-browser-Ct2gBGg7.js → markdownlint-rule-browser-BQ4c4vDN.js} +1 -1
  109. package/dist/public/assets/{pending-receive-nav-store-BVdZUxyv.js → pending-receive-nav-store-6bXbTZhv.js} +1 -1
  110. package/dist/public/assets/{popover-BNtf9SIu.js → popover-Mb1GgB61.js} +1 -1
  111. package/dist/public/assets/{preferred-session-events-DyF-zGVw.js → preferred-session-events-BytmLBUB.js} +1 -1
  112. package/dist/public/assets/preview-frame.html +9 -0
  113. package/dist/public/assets/{prod-tc4sAE_j.js → prod-CN58f7_5.js} +1 -1
  114. package/dist/public/assets/{progress-UaljIhan.js → progress-Ba4KJbjQ.js} +1 -1
  115. package/dist/public/assets/{project-paths-DVH_uA_B.js → project-paths-BFzGZn4G.js} +1 -1
  116. package/dist/public/assets/{schema-section-ayoRsG9p.js → schema-section-CalUQFIh.js} +1 -1
  117. package/dist/public/assets/{select-Bu4Wm3Rf.js → select-pACXgFe2.js} +1 -1
  118. package/dist/public/assets/{selection-context-DUCgNUF1.js → selection-context-BdkqiHSg.js} +1 -1
  119. package/dist/public/assets/{src-B0QKvZvz.js → src-BKxD4aGX.js} +1 -1
  120. package/dist/public/assets/{tag-pill-input-ez8oOC69.js → tag-pill-input-D6mNhknm.js} +1 -1
  121. package/dist/public/assets/{telemetry-impl-DxN46IeS.js → telemetry-impl-lt4HgP_f.js} +1 -1
  122. package/dist/public/assets/{telemetry-startup-D6Eiqg0a.js → telemetry-startup-COAksO_l.js} +1 -1
  123. package/dist/public/assets/{tooltip-DBqLYfio.js → tooltip-Bz6z4_se.js} +1 -1
  124. package/dist/public/assets/{typing-burst-detector-DVA93P7-.js → typing-burst-detector-Ceucd7lf.js} +1 -1
  125. package/dist/public/assets/{uninstall-CoAbS5TW.js → uninstall-DFTOzPT_.js} +1 -1
  126. package/dist/public/assets/{use-activity-panel-COfLk6p7.js → use-activity-panel-ClZw0uAV.js} +1 -1
  127. package/dist/public/assets/{use-installed-clis-DBO1ohE8.js → use-installed-clis-BopBqnEZ.js} +2 -2
  128. package/dist/public/assets/{use-open-skill-C_H2GP75.js → use-open-skill-BufHQt2J.js} +1 -1
  129. package/dist/public/assets/{use-terminal-enabled-B6tq2SSg.js → use-terminal-enabled-kUXuNyA3.js} +1 -1
  130. package/dist/public/assets/{use-timeline-entry-diff-DYB18Q1p.js → use-timeline-entry-diff-DIXfdlmY.js} +1 -1
  131. package/dist/public/index.html +51 -51
  132. package/dist/public/uninstall.html +3 -3
  133. package/dist/{registry-probes-BlQKMPi4.mjs → registry-probes-BzVs0MZl.mjs} +1 -1
  134. package/dist/{removal-file-path-D9yKcMpY.mjs → removal-file-path-DjVZJivF.mjs} +1 -1
  135. package/dist/{repair-launch-json-B0OX3YQi.mjs → repair-launch-json-DaJc8F0u.mjs} +1 -1
  136. package/dist/{repair-mcp-configs-CGq6k6H_.mjs → repair-mcp-configs-GI1XgsXr.mjs} +1 -1
  137. package/dist/{src-CjXfLoyT.mjs → src-CiJt-PQj.mjs} +1 -1
  138. package/dist/src-Dt5ff2eL.mjs +1 -0
  139. package/dist/{start-BbxRMheZ.mjs → start-CNmN3UB5.mjs} +3 -3
  140. package/dist/start-CTAc0UYC.mjs +1 -0
  141. package/package.json +4 -4
  142. package/dist/constants-DUiVsIOs.mjs +0 -1
  143. package/dist/init-l9cfH71w.mjs +0 -1
  144. package/dist/loader-YYzZ4B4e.mjs +0 -1
  145. package/dist/preview-B7Sklqw2.mjs +0 -1
  146. package/dist/public/assets/EditorModeToggle-CP1ztRWC.js +0 -1
  147. package/dist/public/assets/FeedbackForm-DORFfDxS.js +0 -1
  148. package/dist/public/assets/ManagedArtifactProperties-C-4znHTQ.js +0 -1
  149. package/dist/public/assets/SpellingSettings-Br-26Hbn.js +0 -1
  150. package/dist/public/assets/auth-prompt-store-BVF1DJFW.js +0 -1
  151. package/dist/public/assets/dist-JrdDgCNs.js +0 -124
  152. package/dist/public/assets/field-controls-CXow0RGZ.js +0 -1
  153. package/dist/public/assets/field-controls-DdrxD5BW.js +0 -6
  154. package/dist/public/assets/globals-BXqkmCJW.css +0 -1
  155. package/dist/public/assets/index-Cc2rvqNG.js +0 -2209
  156. package/dist/src-h06ZmOk0.mjs +0 -1
  157. package/dist/start-BdARbmeL.mjs +0 -1
  158. /package/dist/public/assets/{globals-IGp2_ZaI.js → globals-DHDe92Ga.js} +0 -0
@@ -0,0 +1,161 @@
1
+ import{MESSAGE_OPS as e,PARTICIPANT_TYPES as t}from"./dist-BUMFJcXg.js";function n(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function r(e,t){let n=e.ownerDocument;if(!n||e.hasAttribute(`data-mw-hit-overlay`))return;let r=e.parentNode;if(!r||r.querySelector(`[data-mw-hit-overlay="${CSS.escape(t)}"]`))return;let i=n.createElementNS(`http://www.w3.org/2000/svg`,`path`),a=e.getAttribute(`d`)??``;i.setAttribute(`d`,a),i.setAttribute(`fill`,`none`),i.setAttribute(`stroke`,`transparent`),i.setAttribute(`stroke-width`,`14`),i.setAttribute(`stroke-linecap`,`round`),i.setAttribute(`data-mw-entity`,t),i.setAttribute(`data-mw-hit-overlay`,t),i.style.pointerEvents=`stroke`,i.style.cursor=`pointer`,r.insertBefore(i,e)}function i(e,t){let i=new Map,a=new Map,o=new Map,s=[],c=[...e.querySelectorAll(`g.node`)],l=new Set;for(let e of t.nodes){let t=RegExp(`[-_]${n(e.id)}[-_]\\d+$`),r=c.find(e=>!l.has(e)&&t.test(e.id));r&&(i.set(e.entityId,r),l.add(r),r.setAttribute(`data-mw-entity`,e.entityId))}let u=t.nodes.filter(e=>!i.has(e.entityId)),d=c.filter(e=>!l.has(e));if(u.length===d.length)u.forEach((e,t)=>{i.set(e.entityId,d[t]),d[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of u)s.push(e.entityId);let f=[...e.querySelectorAll(`.edgePaths > path, path.flowchart-link`)],p=new Set;for(let e of t.edges){let t=RegExp(`^L[-_]${n(e.source)}[-_]${n(e.target)}[-_]\\d+`),i=f.find(e=>!p.has(e)&&t.test(e.id));i&&(a.set(e.entityId,i),p.add(i),i.setAttribute(`data-mw-entity`,e.entityId),r(i,e.entityId))}let m=t.edges.filter(e=>!a.has(e.entityId)),h=f.filter(e=>!p.has(e));if(m.length===h.length)m.forEach((e,t)=>{a.set(e.entityId,h[t]),h[t].setAttribute(`data-mw-entity`,e.entityId),r(h[t],e.entityId)});else for(let e of m)s.push(e.entityId);for(let n of t.subgraphs){let t=[...e.querySelectorAll(`g.cluster`)].find(e=>e.id===n.id||e.id.includes(n.id)||e.querySelector(`.cluster-label`)?.textContent?.trim()===(n.title??n.id));t&&!t.hasAttribute(`data-mw-entity`)&&(t.setAttribute(`data-mw-entity`,n.entityId),i.set(n.entityId,t))}let g=[...e.querySelectorAll(`.edgeLabels > .edgeLabel`)];if(g.length===t.edges.length)t.edges.forEach((e,t)=>{o.set(e.entityId,g[t]),g[t].setAttribute(`data-mw-entity`,e.entityId)});else{let e=t.edges.filter(e=>e.label!==null&&e.label!==``);g.length===e.length&&e.forEach((e,t)=>{o.set(e.entityId,g[t]),g[t].setAttribute(`data-mw-entity`,e.entityId)})}return{nodes:i,edges:a,edgeLabels:o,failed:s}}function a(e,t){let i=new Map,a=new Map,o=new Map,s=[],c=[...e.querySelectorAll(`g.node`)].filter(e=>!/root_start|root_end/.test(e.id)),l=new Set;for(let e of t.states){let t=RegExp(`[-_]${n(e.id)}[-_]\\d+$`),r=c.find(e=>!l.has(e)&&t.test(e.id));r&&(i.set(e.entityId,r),l.add(r),r.setAttribute(`data-mw-entity`,e.entityId))}let u=t.states.filter(e=>!i.has(e.entityId)),d=c.filter(e=>!l.has(e));if(u.length===d.length)u.forEach((e,t)=>{i.set(e.entityId,d[t]),d[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of u)s.push(e.entityId);for(let n of t.states.filter(e=>e.isComposite)){let t=[...e.querySelectorAll(`g.cluster`)].find(e=>e.id.includes(n.id)||e.querySelector(`.cluster-label, .label-container + *`)?.textContent?.trim()===n.label);t&&!t.hasAttribute(`data-mw-entity`)&&(t.setAttribute(`data-mw-entity`,n.entityId),i.set(n.entityId,t))}let f=[...e.querySelectorAll(`.edgePaths > path, path.transition`)];if(f.length===t.transitions.length)t.transitions.forEach((e,t)=>{a.set(e.entityId,f[t]),f[t].setAttribute(`data-mw-entity`,e.entityId),r(f[t],e.entityId)});else for(let e of t.transitions)s.push(e.entityId);let p=[...e.querySelectorAll(`.edgeLabels > .edgeLabel`)];if(p.length===t.transitions.length)t.transitions.forEach((e,t)=>{o.set(e.entityId,p[t]),p[t].setAttribute(`data-mw-entity`,e.entityId)});else{let e=t.transitions.filter(e=>e.label);p.length===e.length&&e.forEach((e,t)=>{o.set(e.entityId,p[t]),p[t].setAttribute(`data-mw-entity`,e.entityId)})}return{nodes:i,edges:a,edgeLabels:o,failed:s}}function o(e,t){let i=new Map,a=new Map,o=new Map,s=[],c=[...e.querySelectorAll(`g.node`)],l=new Set;for(let e of t.classes){let t=RegExp(`[-_]${n(e.id)}[-_]\\d+$`),r=c.find(e=>!l.has(e)&&t.test(e.id));r&&(i.set(e.entityId,r),l.add(r),r.setAttribute(`data-mw-entity`,e.entityId))}let u=t.classes.filter(e=>!i.has(e.entityId)),d=c.filter(e=>!l.has(e));if(u.length===d.length)u.forEach((e,t)=>{i.set(e.entityId,d[t]),d[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of u)s.push(e.entityId);for(let e of t.classes){let t=i.get(e.entityId);if(!t)continue;let n=[...t.querySelectorAll(`.nodeLabel`)],r=e.members.filter(e=>!e.text.includes(`(`)),a=e.members.filter(e=>e.text.includes(`(`));[...r,...a].forEach((t,r)=>{let i=n[r+1];i&&(i.setAttribute(`data-mw-member-class`,e.id),i.setAttribute(`data-mw-member-line`,String(t.lineIndex)))})}let f=[...e.querySelectorAll(`.edgePaths > path, path.relation`)];if(f.length===t.relations.length)t.relations.forEach((e,t)=>{a.set(e.entityId,f[t]),f[t].setAttribute(`data-mw-entity`,e.entityId),r(f[t],e.entityId)});else for(let e of t.relations)s.push(e.entityId);let p=[...e.querySelectorAll(`.edgeLabels > .edgeLabel`)];return p.length===t.relations.length&&t.relations.forEach((e,t)=>{o.set(e.entityId,p[t]),p[t].setAttribute(`data-mw-entity`,e.entityId)}),{nodes:i,edges:a,edgeLabels:o,failed:s}}function s(e,t){let i=new Map,a=new Map,o=new Map,s=[],c=[...e.querySelectorAll(`g[id*="entity"], g.node`)],l=new Set;for(let e of t.entities){let t=RegExp(`entity-${n(e.id)}-|[-_]${n(e.id)}[-_]\\d+$`),r=c.find(e=>!l.has(e)&&t.test(e.id));r&&(i.set(e.entityId,r),l.add(r),r.setAttribute(`data-mw-entity`,e.entityId))}let u=t.entities.filter(e=>!i.has(e.entityId)),d=c.filter(e=>!l.has(e));if(u.length&&u.length===d.length)u.forEach((e,t)=>{i.set(e.entityId,d[t]),d[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of u)s.push(e.entityId);for(let e of t.entities){let t=i.get(e.entityId);if(!t||!e.attributes.length)continue;let n=[...t.querySelectorAll(`.nodeLabel`)];e.attributes.forEach((t,r)=>{for(let i=0;i<4;i++){let a=n[1+r*4+i];a&&(a.setAttribute(`data-mw-attr-entity`,e.id),a.setAttribute(`data-mw-attr-line`,String(t.lineIndex)))}})}let f=[...e.querySelectorAll(`path.relationshipLine, .er.relationshipLine, .edgePaths > path`)];if(f.length===t.relations.length)t.relations.forEach((e,t)=>{a.set(e.entityId,f[t]),f[t].setAttribute(`data-mw-entity`,e.entityId),r(f[t],e.entityId)});else for(let e of t.relations)s.push(e.entityId);let p=[...e.querySelectorAll(`.relationshipLabel, .er.relationshipLabel, .edgeLabels > .edgeLabel`)];return p.length===t.relations.length&&t.relations.forEach((e,t)=>{o.set(e.entityId,p[t]),p[t].setAttribute(`data-mw-entity`,e.entityId)}),{nodes:i,edges:a,edgeLabels:o,failed:s}}function c(e,t){let n=new Map,r=new Map,i=new Map,a=[],o=[...e.querySelectorAll(`.pieCircle`)];[...e.querySelectorAll(`g.legend`)].forEach((e,r)=>{let i=e.querySelector(`text`)?.textContent?.trim()??``,a=t.slices.find(e=>e.label===i||i.startsWith(`${e.label} `));if(!a)return;let s=o[r];s&&!n.has(a.entityId)&&(n.set(a.entityId,s),s.setAttribute(`data-mw-entity`,a.entityId),e.setAttribute(`data-mw-entity`,a.entityId))});for(let e of t.slices)n.has(e.entityId)||a.push(e.entityId);return{nodes:n,edges:r,edgeLabels:i,failed:a}}function l(e,t){let n=new Map,r=new Map,i=new Map,a=[],o=[...e.querySelectorAll(`rect.task`)],s=[...e.querySelectorAll(`text.taskText`)];if(o.length===t.tasks.length)t.tasks.forEach((e,t)=>{n.set(e.entityId,o[t]),o[t].setAttribute(`data-mw-entity`,e.entityId),s[t]?.setAttribute(`data-mw-entity`,e.entityId)});else for(let e of t.tasks)a.push(e.entityId);return{nodes:n,edges:r,edgeLabels:i,failed:a}}function u(e,t){let n=new Map,r=new Map,i=new Map,a=[],o=[...e.querySelectorAll(`text, span, p, div`)].filter(e=>e.children.length===0||e.tagName===`text`),s=new Set;for(let r of t.items){if(!r.matchText){a.push(r.entityId);continue}let t=r.matchText.trim(),i=o.find(e=>!s.has(e)&&e.textContent?.trim()===t)??o.find(e=>!s.has(e)&&(e.textContent?.trim().startsWith(t)??!1));if(!i){a.push(r.entityId);continue}s.add(i);let c=i,l=i.closest(`g`)??i.parentElement;l&&l!==e&&(l.textContent?.trim().length??0)<=t.length+24&&(c=l),c.setAttribute(`data-mw-entity`,r.entityId),c!==i&&i.setAttribute(`data-mw-entity`,r.entityId);for(let e of new Set([c,i])){let t=e.style;t&&(t.pointerEvents=`auto`)}n.set(r.entityId,c)}return{nodes:n,edges:r,edgeLabels:i,failed:a}}function d(e,t){let n=new Map,r=new Map,i=new Map,a=new Map,o=[];for(let r of t.participants){let t=[...e.querySelectorAll(`[name="${CSS.escape(r.id)}"]`)];if(t.length){n.set(r.entityId,t);for(let e of t)e.setAttribute(`data-mw-entity`,r.entityId);for(let e of t){let t=e.parentElement;t&&t.tagName===`g`&&t.setAttribute(`data-mw-entity`,r.entityId)}}else o.push(r.entityId)}if(e.getBoundingClientRect().width!==0){let i=[...e.querySelectorAll(`line.actor-line, .actor-line`)];for(let e of t.participants){let t=n.get(e.entityId);if(!t?.length)continue;let a=t[0].getBoundingClientRect(),o=a.left+a.width/2,s=null,c=1/0;for(let e of i){let t=e.getBoundingClientRect(),n=Math.abs(t.left+t.width/2-o);n<c&&(c=n,s=e)}s&&c<40&&r.set(e.entityId,s)}}let s=t.events.filter(e=>e.kind===`message`),c=[...e.querySelectorAll(`text.messageText`)],l=[...e.querySelectorAll(`.messageLine0, .messageLine1`)];s.forEach((e,t)=>{let n=l[t],r=c[t];n?(i.set(e.entityId,n),n.setAttribute(`data-mw-entity`,e.entityId)):o.push(e.entityId),r&&(a.set(e.entityId,r),r.setAttribute(`data-mw-entity`,e.entityId))});let u=t.events.filter(e=>e.kind===`note`),d=[...e.querySelectorAll(`.note`)],f=[...e.querySelectorAll(`.noteText`)];return u.forEach((e,t)=>{let n=d[t],r=f[t];if(n){i.set(e.entityId,n),n.setAttribute(`data-mw-entity`,e.entityId);let t=n.parentElement;t&&t.tagName===`g`&&t.setAttribute(`data-mw-entity`,e.entityId)}else o.push(e.entityId);r&&(a.set(e.entityId,r),r.setAttribute(`data-mw-entity`,e.entityId))}),{participants:n,lifelines:r,events:i,eventTexts:a,failed:o}}var f=e=>`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${e}</svg>`,p={trash:f(`<path d="M3 6h18"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/><path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" x2="10" y1="11" y2="17"/><line x1="14" x2="14" y1="11" y2="17"/>`),pencil:f(`<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>`),palette:f(`<circle cx="13.5" cy="6.5" r=".5" fill="currentColor"/><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"/><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"/><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"/>`),copy:f(`<rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>`),shapes:f(`<path d="M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z"/><rect x="3" y="14" width="7" height="7" rx="1"/><circle cx="17.5" cy="17.5" r="3.5"/>`),arrowRight:f(`<path d="M5 12h14"/><path d="m12 5 7 7-7 7"/>`),arrowLeftRight:f(`<path d="M8 3 4 7l4 4"/><path d="M4 7h16"/><path d="m16 21 4-4-4-4"/><path d="M20 17H4"/>`),arrowLeftToLine:f(`<path d="M3 19V5"/><path d="m13 6-6 6 6 6"/><path d="M7 12h14"/>`),arrowRightToLine:f(`<path d="M17 12H3"/><path d="m11 18 6-6-6-6"/><path d="M21 5v14"/>`),square:f(`<rect width="18" height="18" x="3" y="3" rx="2"/>`),stickyNote:f(`<path d="M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11l5-5V5a2 2 0 0 0-2-2Z"/><path d="M15 21v-4a2 2 0 0 1 2-2h4"/>`),frame:f(`<line x1="22" x2="2" y1="6" y2="6"/><line x1="22" x2="2" y1="18" y2="18"/><line x1="6" x2="6" y1="2" y2="22"/><line x1="18" x2="18" y1="2" y2="22"/>`),group:f(`<path d="M3 7V5a2 2 0 0 1 2-2h2"/><path d="M17 3h2a2 2 0 0 1 2 2v2"/><path d="M21 17v2a2 2 0 0 1-2 2h-2"/><path d="M7 21H5a2 2 0 0 1-2-2v-2"/><rect width="7" height="5" x="7" y="7" rx="1"/><rect width="7" height="5" x="10" y="12" rx="1"/>`),listPlus:f(`<path d="M11 12H3"/><path d="M16 6H3"/><path d="M16 18H3"/><path d="M18 9v6"/><path d="M21 12h-6"/>`),braces:f(`<path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"/><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"/>`),hash:f(`<line x1="4" x2="20" y1="9" y2="9"/><line x1="4" x2="20" y1="15" y2="15"/><line x1="10" x2="8" y1="3" y2="21"/><line x1="16" x2="14" y1="3" y2="21"/>`),calendar:f(`<path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/>`),user:f(`<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>`),minus:f(`<path d="M5 12h14"/>`),plus:f(`<path d="M5 12h14"/><path d="M12 5v14"/>`),maximize:f(`<path d="M8 3H5a2 2 0 0 0-2 2v3"/><path d="M21 8V5a2 2 0 0 0-2-2h-3"/><path d="M3 16v3a2 2 0 0 0 2 2h3"/><path d="M16 21h3a2 2 0 0 0 2-2v-3"/>`),ellipsis:f(`<circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/>`),chevronDown:f(`<path d="m6 9 6 6 6-6"/>`),equal:f(`<line x1="5" x2="19" y1="9" y2="9"/><line x1="5" x2="19" y1="15" y2="15"/>`),spline:f(`<path d="M4 20c6 0 5-8 12-8 0 0 4 0 4 0"/><circle cx="4" cy="20" r="2"/><circle cx="20" cy="12" r="2"/>`),circlePlay:f(`<circle cx="12" cy="12" r="10"/><polygon points="10 8 16 12 10 16 10 8"/>`)},m=class{host;el=null;panelEl=null;constructor(e){this.host=e}get isOpen(){return this.el!==null}show(e,t){this.hide();let n=document.createElement(`div`);n.className=`mw-popover`,n.addEventListener(`pointerdown`,e=>e.stopPropagation());for(let e of t){let t=document.createElement(`button`);if(t.type=`button`,t.className=`mw-popover-btn`+(e.active?` active`:``)+(e.danger?` danger`:``),t.title=e.title,e.icon?t.innerHTML=e.icon:(t.classList.add(`text`),t.textContent=e.glyph??``),e.panel){t.classList.add(`has-panel`);let e=document.createElement(`span`);e.className=`mw-caret`,e.innerHTML=p.chevronDown,t.appendChild(e)}t.addEventListener(`click`,t=>{t.stopPropagation(),e.panel?this.togglePanel(e.panel):(this.hide(),e.onClick?.())}),n.appendChild(t)}this.host.appendChild(n),this.el=n;let r=this.host.parentElement,i=e.left+e.width/2,a=n.offsetWidth/2;r&&r.clientWidth>n.offsetWidth+8&&(i=Math.min(Math.max(i,a+4+r.scrollLeft),r.scrollLeft+r.clientWidth-a-4)),n.style.left=`${i}px`;let o=e.top-8;o-n.offsetHeight<4?(n.classList.add(`mw-popover-below`),n.style.top=`${e.top+(e.height??0)+8}px`):n.style.top=`${o}px`}togglePanel(e){if(this.panelEl){this.panelEl.remove(),this.panelEl=null;return}let t=document.createElement(`div`);t.className=`mw-popover-panel`;let n=document.createElement(`div`);n.className=`mw-popover-panel-title`,n.textContent=e.title,t.appendChild(n);let r=e.sections??[{items:e.items??[]}];for(let e of r){if(e.title){let n=document.createElement(`div`);n.className=`mw-popover-section-title`,n.textContent=e.title,t.appendChild(n)}let n=document.createElement(`div`);n.className=`mw-popover-grid`,n.style.gridTemplateColumns=`repeat(${e.columns??3}, 1fr)`;for(let t of e.items){let e=document.createElement(`button`);e.type=`button`;let r=t.swatch?` swatch`:t.svg?` svg`:``;if(e.className=`mw-popover-cell`+(t.selected?` selected`:``)+r+(t.label?` labeled`:``),e.title=t.title,t.swatch){let n=document.createElement(`span`);n.className=`mw-swatch-dot`,t.swatch===`none`?n.classList.add(`none`):n.style.background=t.swatch,e.appendChild(n)}else if(t.svg){let n=document.createElement(`span`);n.className=`mw-cell-svg`,n.innerHTML=t.svg,e.appendChild(n)}else{let n=document.createElement(`span`);n.className=`mw-cell-glyph`,n.textContent=t.glyph??``,e.appendChild(n)}if(t.label){let n=document.createElement(`span`);n.className=`mw-cell-label`,n.textContent=t.label,e.appendChild(n)}e.addEventListener(`click`,e=>{e.stopPropagation(),this.hide(),t.onClick()}),n.appendChild(e)}t.appendChild(n)}this.el.appendChild(t),this.panelEl=t;let i=this.host.getBoundingClientRect().top;t.getBoundingClientRect().top<i+2&&t.classList.add(`below`)}hide(){this.el?.remove(),this.el=null,this.panelEl=null}},h=`
2
+ .mw-popover.mw-popover-below { transform: translate(-50%, 0); }
3
+ .mw-popover {
4
+ position: absolute; z-index: 20; transform: translate(-50%, -100%);
5
+ display: flex; align-items: center; gap: 2px; padding: 4px;
6
+ background: var(--mw-chrome-bg, #0a0a0a); border: 1px solid var(--mw-chrome-border, #333);
7
+ border-radius: 8px; box-shadow: 0 0 0 1px rgba(0,0,0,0.4), 0 8px 30px rgba(0,0,0,0.45);
8
+ font: 13px/1 -apple-system, "Geist", "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
9
+ }
10
+ .mw-popover-btn {
11
+ border: none; background: none; border-radius: 6px; cursor: pointer;
12
+ height: 28px; min-width: 28px; padding: 0 6px;
13
+ display: inline-flex; align-items: center; justify-content: center; gap: 3px;
14
+ color: var(--mw-chrome-dim, #a1a1a1); line-height: 1;
15
+ transition: background 0.12s, color 0.12s;
16
+ }
17
+ .mw-popover-btn svg { width: 15px; height: 15px; flex: none; }
18
+ .mw-popover-btn.text { font-size: 11.5px; font-weight: 500; letter-spacing: 0.01em; }
19
+ .mw-popover-btn .mw-caret { display: inline-flex; opacity: 0.55; margin-left: -1px; }
20
+ .mw-popover-btn .mw-caret svg { width: 9px; height: 9px; }
21
+ .mw-popover-btn:hover { background: var(--mw-chrome-hover, #1f1f1f); color: var(--mw-chrome-fg, #ededed); }
22
+ .mw-popover-btn.active { background: var(--mw-accent, #0070f3); color: #fff; }
23
+ .mw-popover-btn.danger:hover { background: rgba(255, 68, 68, 0.12); color: #ff4444; }
24
+ .mw-popover-panel {
25
+ position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
26
+ background: var(--mw-chrome-bg, #0a0a0a); border: 1px solid var(--mw-chrome-border, #333);
27
+ border-radius: 8px; box-shadow: 0 0 0 1px rgba(0,0,0,0.4), 0 8px 30px rgba(0,0,0,0.45);
28
+ padding: 4px; min-width: 0;
29
+ }
30
+ .mw-popover-panel.below { bottom: auto; top: calc(100% + 6px); }
31
+ .mw-popover-panel-title {
32
+ font-size: 9.5px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.07em;
33
+ color: var(--mw-chrome-dim, #666); padding: 2px 4px 4px; white-space: nowrap;
34
+ }
35
+ .mw-popover-section-title {
36
+ font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em;
37
+ color: var(--mw-chrome-dim, #666); padding: 6px 5px 4px; white-space: nowrap;
38
+ }
39
+ .mw-popover-grid { display: grid; gap: 2px; }
40
+ .mw-popover-cell {
41
+ border: 1px solid transparent; background: none; border-radius: 6px; padding: 7px 8px;
42
+ cursor: pointer; font-size: 12px; color: var(--mw-chrome-dim, #a1a1a1); white-space: nowrap;
43
+ transition: background 0.12s, color 0.12s;
44
+ }
45
+ .mw-popover-cell:hover { background: var(--mw-chrome-hover, #1f1f1f); color: var(--mw-chrome-fg, #ededed); }
46
+ .mw-popover-cell.selected {
47
+ border-color: var(--mw-accent, #0070f3); color: var(--mw-chrome-fg, #ededed);
48
+ background: color-mix(in srgb, var(--mw-accent, #0070f3) 12%, transparent);
49
+ }
50
+ .mw-popover-cell.swatch { padding: 5px; display: flex; align-items: center; justify-content: center; }
51
+ .mw-popover-cell.svg { padding: 4px 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; }
52
+ .mw-popover-cell.svg .mw-cell-svg { display: inline-flex; }
53
+ .mw-popover-cell.svg svg { width: 26px; height: 12px; display: block; }
54
+ .mw-popover-cell.labeled { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 4px 6px; }
55
+ .mw-popover-cell.labeled svg { width: 18px; height: 18px; }
56
+ .mw-popover-cell .mw-cell-label { font-size: 9.5px; color: inherit; opacity: 0.8; }
57
+ .mw-swatch-dot { width: 15px; height: 15px; border-radius: 99px; display: block; border: 1px solid rgba(255,255,255,0.18); }
58
+ .mw-swatch-dot.none {
59
+ background: linear-gradient(to top left, transparent 45%, #ff4444 46%, #ff4444 54%, transparent 55%);
60
+ border: 1px solid var(--mw-chrome-dim, #666);
61
+ }
62
+ .mw-lifeline-plus {
63
+ position: absolute; z-index: 15; transform: translate(-50%, -50%);
64
+ width: 18px; height: 18px; border-radius: 99px; border: none; cursor: pointer;
65
+ background: var(--mw-accent, #0070f3); color: #fff; font-size: 13px; line-height: 1;
66
+ display: flex; align-items: center; justify-content: center;
67
+ box-shadow: 0 2px 8px rgba(0,0,0,0.5);
68
+ transition: transform 0.12s;
69
+ }
70
+ .mw-lifeline-plus:hover { transform: translate(-50%, -50%) scale(1.15); }
71
+ .mw-plus-menu {
72
+ position: absolute; z-index: 21; transform: translate(-50%, 4px);
73
+ background: var(--mw-chrome-bg, #0a0a0a); border: 1px solid var(--mw-chrome-border, #333);
74
+ border-radius: 8px; box-shadow: 0 0 0 1px rgba(0,0,0,0.4), 0 8px 30px rgba(0,0,0,0.45); padding: 4px;
75
+ display: flex; flex-direction: column; min-width: 150px;
76
+ font: 13px/1.2 -apple-system, "Geist", "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
77
+ }
78
+ .mw-plus-menu button {
79
+ border: none; background: none; text-align: left; border-radius: 6px; padding: 7px 10px;
80
+ cursor: pointer; color: var(--mw-chrome-dim, #a1a1a1); font-size: 12.5px;
81
+ transition: background 0.12s, color 0.12s;
82
+ }
83
+ .mw-plus-menu button:hover { background: var(--mw-chrome-hover, #1f1f1f); color: var(--mw-chrome-fg, #ededed); }
84
+ @media (pointer: coarse) {
85
+ .mw-popover { padding: 5px; gap: 3px; }
86
+ .mw-popover-btn { height: 38px; min-width: 38px; padding: 0 9px; }
87
+ .mw-popover-btn svg { width: 17px; height: 17px; }
88
+ .mw-popover-cell { padding: 11px 12px; font-size: 13px; }
89
+ .mw-lifeline-plus { width: 26px; height: 26px; font-size: 15px; }
90
+ .mw-plus-menu button { padding: 10px 12px; font-size: 13px; }
91
+ }
92
+ `,g=[`#ef4444`,`#f97316`,`#eab308`,`#22c55e`,`#06b6d4`,`#6366f1`,`#d946ef`,`#64748b`];function _(e,t,n){return`<svg viewBox="0 0 32 16" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="${e===`thick`?`2.5`:`1.5`}" stroke-linecap="round" stroke-linejoin="round">
93
+ <line x1="${t===`open`?4:8}" x2="${n===`open`?28:24}" y1="8" y2="8" ${e===`dotted`?`stroke-dasharray="2 2"`:e===`invisible`?`stroke-dasharray="1 3" opacity="0.5"`:``} />
94
+ ${v(t,`start`)}${v(n,`end`)}
95
+ </svg>`}function v(e,t){if(e===`open`)return``;if(e===`circle`)return`<circle cx="${t===`start`?4:28}" cy="8" r="2" fill="currentColor" stroke="none" />`;if(e===`cross`){let e=t===`start`?4:28;return`<path d="M${e-2},6 L${e+2},10 M${e-2},10 L${e+2},6" />`}return t===`start`?`<path d="M8,4 L2,8 L8,12 Z" fill="currentColor" stroke="none" />`:`<path d="M24,4 L30,8 L24,12 Z" fill="currentColor" stroke="none" />`}function y(e){return`<svg viewBox="0 0 32 16" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="${e===`thick`?`3`:`1.5`}" stroke-linecap="round">
96
+ <line x1="4" x2="28" y1="8" y2="8" ${e===`dotted`?`stroke-dasharray="3 3"`:e===`invisible`?`stroke-dasharray="1 3" opacity="0.35"`:``} />
97
+ </svg>`}function b(e){return`<svg viewBox="0 0 32 20" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round">
98
+ <path d="${e===`linear`?`M4,14 L14,4 L28,14`:e===`natural`?`M4,14 Q16,-2 28,14`:`M4,14 C4,4 28,4 28,14`}" />
99
+ </svg>`}function x(e){return e===`none`?`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
100
+ <circle cx="12" cy="12" r="9" /><line x1="6" x2="18" y1="18" y2="6" />
101
+ </svg>`:`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
102
+ <circle cx="12" cy="12" r="9" opacity="0.35" /><path d="${e===`fast`?`M12,3 A9,9 0 0,1 12,21 A9,9 0 0,1 6,5`:`M12,3 A9,9 0 0,1 20,17`}" />
103
+ </svg>`}function S(e){return/%%\{\s*init[\s\S]*?curve\s*:\s*['"]?(basis|natural|linear)['"]?/i.exec(e)?.[1]??`basis`}function C(e,t){let n=RegExp(`linkStyle\\s+${t}\\b[^\\n]*animation-duration\\s*:\\s*([0-9.]+)s`,`i`).exec(e);return n?Number(n[1])<=1?`fast`:`slow`:`none`}function w(e){if(e.querySelector(`style[data-vsmr-flow]`))return;let t=e.ownerDocument.createElementNS(`http://www.w3.org/2000/svg`,`style`);t.setAttribute(`data-vsmr-flow`,``),t.textContent=`@keyframes vsmr-flow { to { stroke-dashoffset: -16; } }`,e.insertBefore(t,e.firstChild)}var T=`
104
+ .mw-canvas { position: relative; overflow: auto; outline: none; }
105
+ .mw-canvas .mw-svg-host { user-select: none; -webkit-user-select: none; }
106
+ .mw-canvas .mw-svg-host { min-height: 100%; display: flex; align-items: flex-start; justify-content: center; padding: 16px; box-sizing: border-box; }
107
+ .mw-canvas svg { max-width: 100%; height: auto; }
108
+ /* the selection glow is a drop-shadow that extends past the diagram's edges;
109
+ svg defaults to overflow hidden and slices it flat at the viewBox bounds */
110
+ .mw-canvas .mw-svg-host svg { overflow: visible; }
111
+ .mw-canvas.mw-panzoom { overflow: hidden; touch-action: none; }
112
+ .mw-canvas.mw-panzoom .mw-svg-host { position: absolute; inset: 0; display: block; padding: 0; min-height: 0; overflow: hidden; }
113
+ .mw-canvas.mw-panzoom .mw-svg-host svg { position: absolute; left: 0; top: 0; max-width: none; height: auto; transform-origin: 0 0; }
114
+ .mw-canvas.mw-panzoom .mw-svg-host { cursor: grab; }
115
+ .mw-canvas.mw-panzoom.mw-panning .mw-svg-host { cursor: grabbing; }
116
+ .mw-canvas.mw-panzoom [data-mw-entity] { cursor: pointer; }
117
+ .mw-zoom-controls { position: absolute; right: 10px; bottom: 10px; display: flex; gap: 4px; z-index: 6; }
118
+ .mw-zoom-btn { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border-radius: 7px; border: 1px solid var(--mw-chrome-border, rgba(128,128,128,.35)); background: var(--mw-chrome-bg, rgba(24,24,27,.92)); color: var(--mw-chrome-fg, #e4e4e7); cursor: pointer; }
119
+ .mw-zoom-btn:hover { background: var(--mw-chrome-hover, rgba(63,63,70,.9)); }
120
+ .mw-zoom-btn svg { width: 14px; height: 14px; }
121
+ .mw-canvas [data-mw-entity] { cursor: pointer; touch-action: manipulation; }
122
+ .mw-canvas.mw-readonly [data-mw-entity] { cursor: default; }
123
+ .mw-canvas.mw-tool-connect [data-mw-entity^="node:"] { cursor: crosshair; }
124
+ .mw-canvas [data-mw-entity]:hover { filter: drop-shadow(0 0 3px var(--mw-accent, #6366f1)); }
125
+ /* The transparent hit overlay eats the hover on visible edge paths — restore
126
+ * the drop-shadow on the sibling visible path when the overlay is hovered.
127
+ * Overlay is placed BEFORE the visible path (insertBefore), so matches. */
128
+ .mw-canvas [data-mw-hit-overlay]:hover + [data-mw-entity] { filter: drop-shadow(0 0 3px var(--mw-accent, #6366f1)); }
129
+ .mw-canvas .mw-selected { filter: drop-shadow(0 0 2px var(--mw-accent, #6366f1)) drop-shadow(0 0 5px var(--mw-accent, #6366f1)) !important; }
130
+ .mw-canvas .mw-ghost-edge { stroke: var(--mw-accent, #6366f1); stroke-width: 2; stroke-dasharray: 6 4; fill: none; pointer-events: none; }
131
+ .mw-canvas .mw-connect-source { filter: drop-shadow(0 0 5px var(--mw-accent, #6366f1)) !important; }
132
+ .mw-inplace-editor {
133
+ position: absolute; z-index: 10; white-space: pre; outline: none;
134
+ padding: 1px 3px; margin: -1px -3px; border-radius: 3px;
135
+ caret-color: var(--mw-accent, #6366f1);
136
+ box-shadow: 0 1.5px 0 0 var(--mw-accent, #6366f1);
137
+ background: color-mix(in srgb, var(--mw-editor-bg, #fff) 35%, transparent);
138
+ }
139
+ .mw-error-badge {
140
+ position: absolute; top: 8px; right: 8px; z-index: 5;
141
+ font: 500 11px/1.4 ui-sans-serif, system-ui, sans-serif;
142
+ background: #dc2626; color: #fff; border-radius: 6px; padding: 3px 8px;
143
+ max-width: 60%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
144
+ }
145
+ .mw-drop-indicator {
146
+ position: absolute; left: 6%; right: 6%; height: 2.5px; z-index: 14;
147
+ background: var(--mw-accent, #6366f1); border-radius: 2px; pointer-events: none;
148
+ box-shadow: 0 0 6px var(--mw-accent, #6366f1);
149
+ }
150
+ .mw-canvas [contenteditable="true"] {
151
+ outline: none; cursor: text; white-space: pre-wrap; min-width: 8px;
152
+ caret-color: var(--mw-accent, #6366f1);
153
+ }
154
+ @media (pointer: coarse) {
155
+ .mw-zoom-controls { gap: 6px; right: 12px; bottom: 12px; }
156
+ .mw-zoom-btn { width: 38px; height: 38px; border-radius: 9px; }
157
+ .mw-zoom-btn svg { width: 17px; height: 17px; }
158
+ }
159
+ `,E=!1,D=0;function O(e){return(e.innerHTML??``).replace(/<br\s*\/?>/gi,`<br/>`).replace(/&nbsp;/gi,` `).trim()}function k(e){return(e.innerHTML??``).replace(/<br\s*\/?>/gi,`<br/>`)}function A(e){let t=window.getSelection();if(!t?.anchorNode||!e.contains(t.anchorNode))return-1;let n=document.createRange();return n.selectNodeContents(e),n.setEnd(t.anchorNode,t.anchorOffset),n.toString().length}function j(e,t){let n=window.getSelection();if(!n)return;let r=document.createRange(),i=Math.max(0,t),a=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),o=a.nextNode();for(;o;){let e=o.textContent?.length??0;if(i<=e){r.setStart(o,i),r.collapse(!0),n.removeAllRanges(),n.addRange(r);return}i-=e,o=a.nextNode()}r.selectNodeContents(e),r.collapse(!1),n.removeAllRanges(),n.addRange(r)}var M=class{editor;container;mermaid;mermaidConfig;svgHost;overlayHost;errorBadge;correlation=null;seqCorrelation=null;popover;plusButtons=[];plusMenu=null;hoveredLifeline=null;svg=null;svgTransformObserver=null;visibilityRetryObserver=null;popoverFollowRaf=0;applyingOwnTransform=!1;popoverAnchorPick=null;tool=`select`;readOnly;debounceMs;defaultEdge;hooks;renderTimer=null;lastRenderedCode=``;disposers=[];listeners=new Map;connectSource=null;suppressNextClick=!1;lastPointerWasTouch=!1;tapTracker=null;suppressDblClickUntil=0;ghostPath=null;dragEvent=null;dragStartY=0;dragging=!1;dropIndicator=null;dropSlots=[];inlineInput=null;inlineHidden=null;pendingEditEntity=null;inPlaceSession=null;lastError=null;renderHeldByEdit=!1;panZoomEnabled;zoomScale=1;zoomTx=0;zoomTy=0;hasUserView=!1;svgSize=null;panSession=null;zoomControls=null;renderSeq=0;awaitingFonts=!1;destroyed=!1;constructor(e){if(this.editor=e.editor,this.container=e.container,this.mermaid=e.mermaid,this.readOnly=e.readOnly??!1,this.panZoomEnabled=e.panZoom??!1,this.debounceMs=e.debounceMs??200,this.defaultEdge=e.defaultEdge??{},this.hooks=e.hooks??{},this.mermaidConfig={startOnLoad:!1,...e.mermaidConfig},!E){let e=document.createElement(`style`);e.setAttribute(`data-mw`,``),e.textContent=T+h,document.head.appendChild(e),E=!0}this.container.classList.add(`mw-canvas`),this.container.tabIndex=0,e.accentColor&&this.container.style.setProperty(`--mw-accent`,e.accentColor),this.readOnly&&this.container.classList.add(`mw-readonly`),this.svgHost=document.createElement(`div`),this.svgHost.className=`mw-svg-host`,this.overlayHost=document.createElement(`div`),this.errorBadge=document.createElement(`div`),this.errorBadge.className=`mw-error-badge`,this.errorBadge.style.display=`none`,this.container.append(this.svgHost,this.overlayHost,this.errorBadge),this.popover=new m(this.overlayHost),this.mermaid.initialize(this.mermaidConfig),this.disposers.push(this.editor.on(`change`,()=>this.scheduleRender()),this.editor.on(`selectionChange`,()=>this.applySelectionStyles()));let t=e=>this.onKeyDown(e);this.container.addEventListener(`keydown`,t),this.disposers.push(()=>this.container.removeEventListener(`keydown`,t));let n=e=>{let t=e.target;!t||this.container.contains(t)||(this.inPlaceSession?.finish?.(!0),this.clearLifelineUi(),this.popover.hide(),this.editor.selection.length&&this.editor.clearSelection(`canvas`))};document.addEventListener(`pointerdown`,n,!0),this.disposers.push(()=>document.removeEventListener(`pointerdown`,n,!0)),this.panZoomEnabled&&this.setupPanZoom(),this.render()}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>this.listeners.get(e).delete(t)}emit(e,t){this.listeners.get(e)?.forEach(e=>e(t))}get currentTool(){return this.tool}get renderError(){return this.lastError}setTool(e){this.tool=e,this.container.classList.toggle(`mw-tool-connect`,e===`connect`),this.cancelConnect(),this.emit(`toolChange`,e)}setReadOnly(e){this.readOnly=e,this.container.classList.toggle(`mw-readonly`,e),this.closeInlineEditor(!1),this.cancelConnect(),this.clearLifelineUi(),this.updatePopover()}setHooks(e){this.hooks=e}setAccentColor(e){this.container.style.setProperty(`--mw-accent`,e)}setMermaidConfig(e){this.mermaidConfig={...this.mermaidConfig,...e},this.mermaid.initialize(this.mermaidConfig),this.lastRenderedCode=``,this.render()}addNode(e=`rect`,t=`New node`){if(this.readOnly)return;let n=this.editor.dispatch({type:`addNode`,shape:e,label:t})?.created?.[0];n&&(this.pendingEditEntity=n)}scheduleRender(){this.renderTimer&&clearTimeout(this.renderTimer),this.renderTimer=setTimeout(()=>void this.render(),this.debounceMs)}setupPanZoom(){this.container.classList.add(`mw-panzoom`);let e=e=>{if(!e.ctrlKey&&!e.metaKey)return;e.preventDefault();let t=Math.max(-40,Math.min(40,e.deltaY));this.zoomAt(e.clientX,e.clientY,Math.exp(-t*.01))};this.container.addEventListener(`wheel`,e,{passive:!1}),this.disposers.push(()=>this.container.removeEventListener(`wheel`,e));let t=new Map,n=0,r=e=>{if(e.pointerType===`touch`&&(t.set(e.pointerId,{x:e.clientX,y:e.clientY}),t.size===2)){let[e,r]=[...t.values()];n=Math.hypot(e.x-r.x,e.y-r.y),this.panSession=null,this.container.classList.remove(`mw-panning`),this.suppressNextClick=!0,this.popover.hide();return}if(e.button!==0||this.tool===`connect`||e.altKey||this.inlineInput||this.inPlaceSession)return;let r=e.target;if(!r||!this.svgHost.contains(r))return;let i=r;for(;i&&i!==this.container;){if(i.getAttribute?.(`data-mw-entity`))return;i=i.parentElement}this.panSession={pointerId:e.pointerId,x:e.clientX,y:e.clientY,tx:this.zoomTx,ty:this.zoomTy,moved:!1}},i=e=>{if(e.pointerType===`touch`&&t.has(e.pointerId)&&(t.set(e.pointerId,{x:e.clientX,y:e.clientY}),t.size>=2&&n>0)){let[e,r]=[...t.values()],i=Math.hypot(e.x-r.x,e.y-r.y);i>0&&(this.zoomAt((e.x+r.x)/2,(e.y+r.y)/2,i/n),n=i,this.suppressNextClick=!0);return}let r=this.panSession;if(!r||e.pointerId!==r.pointerId)return;let i=e.clientX-r.x,a=e.clientY-r.y;if(!r.moved&&Math.hypot(i,a)>4){r.moved=!0,this.container.classList.add(`mw-panning`);try{this.container.setPointerCapture(e.pointerId)}catch{}this.popover.hide()}r.moved&&(this.zoomTx=r.tx+i,this.zoomTy=r.ty+a,this.hasUserView=!0,this.applyViewTransform())},a=e=>{e.pointerType===`touch`&&(t.delete(e.pointerId),t.size<2&&(n=0));let r=this.panSession;!r||e.pointerId!==r.pointerId||(this.panSession=null,this.container.classList.remove(`mw-panning`),r.moved?(this.suppressNextClick=!0,this.updatePopover()):this.editor.selection.length&&this.editor.clearSelection(`canvas`))};this.container.addEventListener(`pointerdown`,r),this.container.addEventListener(`pointermove`,i),this.container.addEventListener(`pointerup`,a),this.container.addEventListener(`pointercancel`,a),this.disposers.push(()=>{this.container.removeEventListener(`pointerdown`,r),this.container.removeEventListener(`pointermove`,i),this.container.removeEventListener(`pointerup`,a),this.container.removeEventListener(`pointercancel`,a)});let o=document.createElement(`div`);o.className=`mw-zoom-controls`;let s=(e,t,n)=>{let r=document.createElement(`button`);r.type=`button`,r.className=`mw-zoom-btn`,r.title=e,r.innerHTML=t,r.addEventListener(`pointerdown`,e=>e.stopPropagation()),r.addEventListener(`click`,e=>{e.stopPropagation(),n()}),o.appendChild(r)};if(s(`Zoom out`,p.minus,()=>this.zoomBy(1/1.25)),s(`Zoom in`,p.plus,()=>this.zoomBy(1.25)),s(`Fit diagram`,p.maximize,()=>this.fitView()),this.container.appendChild(o),this.zoomControls=o,typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>{this.hasUserView||this.fitView()});e.observe(this.container),this.disposers.push(()=>e.disconnect())}}zoomBy(e){let t=this.container.getBoundingClientRect();this.zoomAt(t.left+t.width/2,t.top+t.height/2,e)}zoomAt(e,t,n){if(!this.panZoomEnabled)return;let r=this.container.getBoundingClientRect(),i=e-r.left,a=t-r.top,o=Math.min(Math.max(this.zoomScale*n,.1),4),s=o/this.zoomScale;s!==1&&(this.zoomTx=i-(i-this.zoomTx)*s,this.zoomTy=a-(a-this.zoomTy)*s,this.zoomScale=o,this.hasUserView=!0,this.applyViewTransform(),this.updatePopover())}fitView(){if(!this.panZoomEnabled||!this.svg||!this.svgSize)return;let e=this.container.clientWidth,t=this.container.clientHeight;if(!e||!t)return;let{width:n,height:r}=this.svgSize,i=Math.min((e-56)/n,(t-56)/r);this.zoomScale=Math.min(Math.max(i,.1),2),this.zoomTx=(e-n*this.zoomScale)/2,this.zoomTy=(t-r*this.zoomScale)/2,this.hasUserView=!1,this.applyViewTransform(),this.updatePopover()}applyViewTransform(){this.svg&&(this.applyingOwnTransform=!0,this.svg.style.transform=`translate(${this.zoomTx}px, ${this.zoomTy}px) scale(${this.zoomScale})`,queueMicrotask(()=>{this.applyingOwnTransform=!1}))}prepareSvgForPanZoom(){let e=this.svg;if(!e)return;let t=0,n=0,r=e.viewBox?.baseVal;if(r&&r.width&&r.height)t=r.width,n=r.height;else{let r=e.getBBox?.();t=r?.width||800,n=r?.height||600}this.svgSize={width:t,height:n},e.removeAttribute(`width`),e.removeAttribute(`height`),e.style.width=`${t}px`,e.style.height=`${n}px`,e.style.maxWidth=`none`,this.hasUserView?this.applyViewTransform():this.fitView()}async render(){if(this.inPlaceSession){this.renderHeldByEdit=!0;return}let e=this.editor.code;if(e===this.lastRenderedCode){this.lastError&&(this.lastError=null,this.errorBadge.style.display=`none`,this.editor.setDiagnostics([]),this.emit(`render`,{ok:!0}));return}let t=++this.renderSeq,n=`mw-render-${++D}`;try{this.mermaid.initialize(this.mermaidConfig);let{svg:r}=await this.mermaid.render(n,e);if(t!==this.renderSeq)return;let i=null,a=this.activeInPlaceSession(),o=a?.label;if(a&&o?.isConnected&&(i={value:k(o),nodes:[...o.childNodes],caret:A(o)},a.liveTimer&&=(clearTimeout(a.liveTimer),null)),this.lastRenderedCode=e,this.lastError=null,this.errorBadge.style.display=`none`,this.svgHost.innerHTML=r,this.svg=this.svgHost.querySelector(`svg`),this.svg&&(this.panZoomEnabled?this.prepareSvgForPanZoom():this.svg.style.maxWidth=`100%`,w(this.svg),this.bindSvg()),this.editor.setDiagnostics([]),this.emit(`render`,{ok:!0}),this.remeasureWhenFontsSettle(),this.activeInPlaceSession())this.resumeInPlaceSession(i);else if(this.pendingEditEntity){let e=this.pendingEditEntity;this.pendingEditEntity=null,this.editor.entityExists(e)&&this.editEntityLabel(e)}}catch(e){if(t!==this.renderSeq)return;document.getElementById(`d${n}`)?.remove(),document.getElementById(n)?.remove();let r=e instanceof Error?e.message.split(`
160
+ `)[0]:String(e);this.lastError=r,this.errorBadge.textContent=`render error: ${r}`,this.errorBadge.style.display=`block`;let i={message:r,span:null,severity:`error`,source:`mermaid`};this.editor.setDiagnostics([i]),this.emit(`render`,{ok:!1,error:r})}}remeasureWhenFontsSettle(){let e=typeof document>`u`?void 0:document.fonts;if(!e||this.awaitingFonts||e.status===`loaded`)return;this.awaitingFonts=!0;let t=()=>{this.awaitingFonts=!1,!this.destroyed&&(this.lastRenderedCode=``,this.render())};Promise.resolve(e.ready).then(t,t)}bindSvg(){let e=this.svg;if(!e)return;let{flowchart:t,sequence:n,state:r,classGraph:f,er:p}=this.editor.result;this.correlation=t?i(e,t):r?a(e,r):f?o(e,f):p?s(e,p):this.editor.result.pie?c(e,this.editor.result.pie):this.editor.result.gantt?l(e,this.editor.result.gantt):this.editor.result.lineItems?u(e,this.editor.result.lineItems):null,this.seqCorrelation=n?d(e,n):null,this.clearLifelineUi(),this.armVisibilityRetry(e,n),e.addEventListener(`click`,e=>this.onSvgClick(e)),e.addEventListener(`dblclick`,e=>this.onSvgDblClick(e)),e.addEventListener(`pointerdown`,e=>this.onSvgPointerDown(e)),e.addEventListener(`pointermove`,e=>this.onSvgPointerMove(e)),e.addEventListener(`pointerup`,e=>this.onSvgPointerUp(e)),this.seqCorrelation&&(e.addEventListener(`pointermove`,e=>this.onLifelineHover(e)),e.addEventListener(`pointerleave`,()=>this.scheduleLifelineClear())),this.svgTransformObserver?.disconnect(),typeof MutationObserver<`u`&&(this.svgTransformObserver=new MutationObserver(()=>{this.applyingOwnTransform||this.popoverFollowRaf||!this.popover.isOpen||(this.popoverFollowRaf=(typeof requestAnimationFrame==`function`?requestAnimationFrame:e=>setTimeout(e,16))(()=>{this.popoverFollowRaf=0,this.updatePopover()}))}),this.svgTransformObserver.observe(e,{attributes:!0,attributeFilter:[`style`,`transform`],subtree:!0})),this.applySelectionStyles()}armVisibilityRetry(e,t){this.visibilityRetryObserver?.disconnect(),this.visibilityRetryObserver=null,t&&(this.seqCorrelation&&this.seqCorrelation.lifelines.size>0||typeof IntersectionObserver>`u`||(this.visibilityRetryObserver=new IntersectionObserver(n=>{n.some(e=>e.intersectionRatio>0)&&e.getBoundingClientRect().width!==0&&(this.visibilityRetryObserver?.disconnect(),this.visibilityRetryObserver=null,this.svg===e&&(this.seqCorrelation=d(e,t)))}),this.visibilityRetryObserver.observe(e)))}entityFromEvent(e){return this.entityHitFromEvent(e)?.id??null}entityHitFromEvent(e){let t=e.target;for(;t&&t!==this.svg;){let e=t.getAttribute?.(`data-mw-entity`);if(e)return{id:e,el:t};t=t.parentElement}return null}topmostEntityElement(e){let t=null,n=1/0;return this.svg?.querySelectorAll(`[data-mw-entity="${CSS.escape(e)}"]`).forEach(e=>{let r=e.getBoundingClientRect().top;r<n&&(n=r,t=e)}),t}onSvgClick(e){if(this.suppressNextClick){this.suppressNextClick=!1;return}if(this.inlineInput||this.inPlaceSession)return;let t=this.entityHitFromEvent(e);if(t){if(this.lastPointerWasTouch&&!this.readOnly){let n=Date.now(),r=this.tapTracker;if(this.tapTracker={entity:t.id,time:n},r&&r.entity===t.id&&n-r.time<400){this.tapTracker=null,this.onSvgDblClick(e),this.suppressDblClickUntil=n+500;return}}let n=t.id;if(this.hooks.onEntityClick?.(n,e),this.popoverAnchorPick={entityId:n,index:this.entityElementIndex(n,t.el)},e.shiftKey||e.metaKey||e.ctrlKey){let e=this.editor.selection.includes(n)?this.editor.selection.filter(e=>e!==n):[...this.editor.selection,n];this.editor.setSelection(e,`canvas`)}else this.editor.setSelection([n],`canvas`),this.updatePopover();this.container.focus({preventScroll:!0})}else this.editor.clearSelection(`canvas`)}entityElementIndex(e,t){if(!this.svg)return 0;let n=[...this.svg.querySelectorAll(`[data-mw-entity="${CSS.escape(e)}"]`)].indexOf(t);return n>=0?n:0}onSvgDblClick(e){if(this.readOnly||Date.now()<this.suppressDblClickUntil)return;let t=e.target.closest?.(`[data-mw-member-line]`);if(t&&this.editor.result.classGraph){let n=t.getAttribute(`data-mw-member-class`),r=Number(t.getAttribute(`data-mw-member-line`)),i=this.editor.result.classGraph.classById.get(n)?.members.find(e=>e.lineIndex===r);if(i){e.preventDefault(),this.popover.hide(),this.editInPlace(`member:${n}:${r}`,t,`.nodeLabel`,i.text,e=>this.editor.dispatch({type:`cl.setMemberText`,id:n,memberLine:r,text:e},`canvas`),{live:!1});return}}let n=e.target.closest?.(`[data-mw-attr-line]`);if(n&&this.editor.result.er){let t=n.getAttribute(`data-mw-attr-entity`),r=Number(n.getAttribute(`data-mw-attr-line`)),i=this.editor.result.er.entityById.get(t)?.attributes.find(e=>e.lineIndex===r);if(i){e.preventDefault(),this.popover.hide(),this.openOverlayEditor(n,i.text,e=>this.editor.dispatch({type:`er.setAttributeText`,id:t,attrLine:r,text:e},`canvas`));return}}let r=this.entityHitFromEvent(e);r&&(e.preventDefault(),!this.hooks.onEntityDoubleClick?.(r.id)&&this.editEntityLabel(r.id,r.el))}onSvgPointerDown(e){if(this.readOnly)return;let t=this.entityFromEvent(e),n=t?.startsWith(`node:`)||t?.startsWith(`state:`)||t?.startsWith(`class:`)||t?.startsWith(`entity:`),r=this.tool===`connect`||e.altKey;if(n&&r&&t){e.preventDefault(),this.connectSource=t,this.svg?.setPointerCapture?.(e.pointerId),this.entityElement(t)?.classList.add(`mw-connect-source`),this.emit(`connectPreview`,{source:t});return}t?.startsWith(`event:`)&&this.editor.result.sequence&&e.detail<=1&&(this.dragEvent=t,this.dragStartY=e.clientY,this.dragging=!1)}entityElement(e){return this.svg?.querySelector(`[data-mw-entity="${CSS.escape(e)}"]`)??null}onSvgPointerMove(e){if(this.dragEvent&&this.svg){if(!this.dragging&&Math.abs(e.clientY-this.dragStartY)>8&&(this.dragging=!0,this.svg.setPointerCapture?.(e.pointerId),this.computeDropSlots(),this.popover.hide()),this.dragging){let t=this.container.getBoundingClientRect(),n=e.clientY-t.top+this.container.scrollTop,r=this.nearestSlot(n);r&&this.showDropIndicator(r.y)}return}if(!this.connectSource||!this.svg)return;let t=this.entityCenter(this.connectSource),n=this.clientToSvg(e.clientX,e.clientY);!t||!n||(this.ghostPath||(this.ghostPath=document.createElementNS(`http://www.w3.org/2000/svg`,`line`),this.ghostPath.classList.add(`mw-ghost-edge`),this.svg.appendChild(this.ghostPath)),this.ghostPath.setAttribute(`x1`,String(t.x)),this.ghostPath.setAttribute(`y1`,String(t.y)),this.ghostPath.setAttribute(`x2`,String(n.x)),this.ghostPath.setAttribute(`y2`,String(n.y)))}onSvgPointerUp(e){if(this.lastPointerWasTouch=e.pointerType===`touch`,this.dragEvent){let t=this.dragEvent,n=this.dragging;if(this.dragEvent=null,this.dragging=!1,this.dropIndicator?.remove(),this.dropIndicator=null,n){this.suppressNextClick=!0;let n=this.container.getBoundingClientRect(),r=this.nearestSlot(e.clientY-n.top+this.container.scrollTop);r&&this.editor.dispatch({type:`seq.moveEvent`,eventId:t,afterEvent:r.afterEvent})}return}if(!this.connectSource)return;let t=this.connectSource,n=t.startsWith(`node:`)?`node:`:t.startsWith(`state:`)?`state:`:t.startsWith(`class:`)?`class:`:`entity:`,r=document.elementFromPoint(e.clientX,e.clientY),i=null,a=r;for(;a&&a!==this.container;){let e=a.getAttribute?.(`data-mw-entity`);if(e?.startsWith(n)){i=e;break}a=a.parentElement}this.cancelConnect(),this.suppressNextClick=!0,i&&i!==t&&n===`node:`?this.editor.dispatch({type:`connect`,source:t.slice(5),target:i.slice(5),line:this.defaultEdge.line,arrowEnd:this.defaultEdge.arrowEnd}):i&&i!==t&&n===`state:`?this.editor.dispatch({type:`st.connect`,source:t.slice(6),target:i.slice(6)}):i&&i!==t&&n===`class:`?this.editor.dispatch({type:`cl.connect`,source:t.slice(6),target:i.slice(6)}):i&&i!==t&&n===`entity:`?this.editor.dispatch({type:`er.connect`,source:t.slice(7),target:i.slice(7)}):(this.editor.setSelection([t],`canvas`),this.container.focus({preventScroll:!0}))}cancelConnect(){this.connectSource&&this.entityElement(this.connectSource)?.classList.remove(`mw-connect-source`),this.connectSource=null,this.ghostPath?.remove(),this.ghostPath=null,this.emit(`connectPreview`,{source:null})}editEntityLabel(e,t){if(this.readOnly)return;let{flowchart:n,sequence:r}=this.editor.result;this.closeInlineEditor(!1),this.inPlaceSession&&this.inPlaceSession.entityId!==e&&this.inPlaceSession.finish?.(!0),this.popover.hide();let i=t&&t.getAttribute(`data-mw-entity`)===e?t:null,a=null,o=``,s=()=>{};if(n&&e.startsWith(`node:`)){let t=n.nodeById.get(e.slice(5));if(!t||(o=t.label,a=this.correlation?.nodes.get(e)??null,s=e=>this.editor.dispatch({type:`renameNode`,id:t.id,label:e},`canvas`),a&&this.editInPlace(e,a,`.nodeLabel`,o,s)))return}else if(n&&e.startsWith(`edge:`)){let t=n.edges.find(t=>t.entityId===e);if(!t||(o=t.label??``,s=t=>this.editor.dispatch({type:`setEdgeLabel`,edgeId:e,label:t},`canvas`),a=this.edgeAnchor(e,!!t.label),t.label&&a&&this.editInPlace(e,a,`.edgeLabel`,o,s)))return}else if(n&&e.startsWith(`subgraph:`)){let t=n.subgraphs.find(t=>t.entityId===e);if(!t)return;o=t.title??t.id,a=this.correlation?.nodes.get(e)?.querySelector(`.cluster-label`)??i??this.correlation?.nodes.get(e)??this.svg?.querySelector(`#${CSS.escape(t.id)}`)??null,s=e=>this.editor.dispatch({type:`renameSubgraph`,id:t.id,title:e},`canvas`)}else if(this.editor.result.state&&e.startsWith(`state:`)){let t=this.editor.result.state.stateById.get(e.slice(6));if(!t||(o=t.label,a=this.correlation?.nodes.get(e)??null,s=e=>this.editor.dispatch({type:`st.setStateLabel`,id:t.id,label:e},`canvas`),a&&this.editInPlace(e,a,`.nodeLabel`,o,s)))return}else if(this.editor.result.state&&e.startsWith(`trans:`)){let t=this.editor.result.state.transitions.find(t=>t.entityId===e);if(!t||(o=t.label??``,a=this.edgeAnchor(e,!!t.label),s=t=>this.editor.dispatch({type:`st.setTransitionLabel`,transId:e,label:t},`canvas`),t.label&&a&&this.editInPlace(e,a,`.edgeLabel`,o,s)))return}else if(this.editor.result.classGraph&&e.startsWith(`class:`)){let t=this.editor.result.classGraph.classById.get(e.slice(6));if(!t)return;o=t.id,a=i??this.correlation?.nodes.get(e)??null,s=e=>this.editor.dispatch({type:`cl.renameClass`,id:t.id,name:e},`canvas`)}else if(this.editor.result.classGraph&&e.startsWith(`rel:`)){let t=this.editor.result.classGraph.relations.find(t=>t.entityId===e);if(!t)return;o=t.label??``,a=this.edgeAnchor(e,!!t.label),s=t=>this.editor.dispatch({type:`cl.setRelationLabel`,relId:e,label:t},`canvas`)}else if(this.editor.result.er&&e.startsWith(`entity:`)){let t=this.editor.result.er.entityById.get(e.slice(7));if(!t)return;o=t.id,a=i??this.correlation?.nodes.get(e)??null,s=e=>this.editor.dispatch({type:`er.renameEntity`,id:t.id,name:e},`canvas`)}else if(this.editor.result.er&&e.startsWith(`erel:`)){let t=this.editor.result.er.relations.find(t=>t.entityId===e);if(!t)return;o=t.label,a=this.edgeAnchor(e,!!t.label),s=t=>this.editor.dispatch({type:`er.setRelationLabel`,relId:e,label:t},`canvas`)}else if(this.editor.result.pie&&e.startsWith(`slice:`)){let t=this.editor.result.pie.slices.find(t=>t.entityId===e);if(!t)return;o=String(t.value),a=i??this.entityElement(e),s=t=>{let n=Number(t);Number.isFinite(n)&&this.editor.dispatch({type:`pie.setValue`,sliceId:e,value:n},`canvas`)}}else if(this.editor.result.gantt&&e.startsWith(`task:`)){let t=this.editor.result.gantt.tasks.find(t=>t.entityId===e);if(!t)return;o=t.name,a=i??this.entityElement(e),s=t=>this.editor.dispatch({type:`gantt.setTaskName`,taskId:e,name:t},`canvas`)}else if(this.editor.result.lineItems&&e.startsWith(`item:`)){let t=this.editor.result.lineItems.items.find(t=>t.entityId===e);if(!t)return;o=t.text,a=i??this.entityElement(e),s=t=>this.editor.dispatch({type:`li.setLine`,itemId:e,text:t},`canvas`)}else if(r&&e.startsWith(`participant:`)){let t=r.participantById.get(e.slice(12));if(!t)return;o=t.label,a=i??this.topmostEntityElement(e),s=e=>this.editor.dispatch({type:`seq.renameParticipant`,id:t.id,name:e},`canvas`)}else if(r&&e.startsWith(`event:`)){let t=r.events.find(t=>t.entityId===e);if(!t)return;o=t.stmt.text,a=this.seqCorrelation?.eventTexts.get(e)??i??this.entityElement(e),s=t=>this.editor.dispatch({type:`seq.setEventText`,eventId:e,text:t},`canvas`)}a&&this.openOverlayEditor(a,o,s)}editInPlace(e,t,n,r,i,a={}){let o=t.matches?.(n)?t.querySelector(`p`)??t:t.querySelector(`${n} p`)??t.querySelector(n);if(!o||!(o instanceof HTMLElement))return!1;let s=this.inPlaceSession?.entityId===e;if(s&&this.inPlaceSession.label===o&&o.isConnected)return o.focus(),!0;s||(this.inPlaceSession={entityId:e,labelSelector:n,original:r,originalNodes:[...o.childNodes].map(e=>e.cloneNode(!0)),openedOn:o,lastCommitted:r,caretOffset:-1,commitValue:i,liveTimer:null,label:null,finish:null});let c=this.inPlaceSession;c.label=o,o.setAttribute(`contenteditable`,`true`);let l=o.closest(`foreignObject`),u=o.style.whiteSpace,d=l?.style.overflow??``;if(o.style.whiteSpace=`nowrap`,l&&(l.style.overflow=`visible`),o.focus(),s&&c.caretOffset>=0)j(o,c.caretOffset);else{let e=window.getSelection(),t=document.createRange();t.selectNodeContents(o),e?.removeAllRanges(),e?.addRange(t)}let f=()=>{let e=A(o);e>=0&&(c.caretOffset=e)},p=()=>{if(this.inPlaceSession!==c)return;let e=O(o);!e||e===c.lastCommitted||(f(),c.lastCommitted=e,c.commitValue(e))},m=e=>{if(this.inPlaceSession!==c)return;this.inPlaceSession=null,c.liveTimer&&clearTimeout(c.liveTimer),o.removeAttribute(`contenteditable`),o.style.whiteSpace=u,l&&(l.style.overflow=d),o.removeEventListener(`keydown`,g),o.removeEventListener(`blur`,_),o.removeEventListener(`input`,h);let t=O(o);e?t&&t!==c.lastCommitted?c.commitValue(t):t||(o.textContent=c.lastCommitted):(o.replaceChildren(...c.originalNodes),c.lastCommitted!==c.original&&c.commitValue(c.original),o!==c.openedOn&&(this.lastRenderedCode=``,this.scheduleRender())),this.renderHeldByEdit&&(this.renderHeldByEdit=!1,this.scheduleRender()),this.updatePopover()},h=()=>{a.live!==!1&&(c.liveTimer&&clearTimeout(c.liveTimer),c.liveTimer=setTimeout(p,450))},g=e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),m(!0)):e.key===`Escape`&&m(!1)},_=()=>{setTimeout(()=>{this.inPlaceSession===c&&o.isConnected&&document.activeElement!==o&&m(!0)},60)};return c.finish=m,o.addEventListener(`keydown`,g),o.addEventListener(`blur`,_),o.addEventListener(`input`,h),!0}activeInPlaceSession(){return this.inPlaceSession}resumeInPlaceSession(e){let t=this.inPlaceSession;if(!t)return;if(!this.editor.entityExists(t.entityId)){this.inPlaceSession=null;return}let n=(t.entityId.startsWith(`edge:`)?this.correlation?.edgeLabels.get(t.entityId):null)??this.entityElement(t.entityId);if(!n){this.inPlaceSession=null;return}this.editInPlace(t.entityId,n,t.labelSelector,t.lastCommitted,t.commitValue);let r=this.inPlaceSession===t?t.label:null;!r||!e||(e.value&&e.value!==t.lastCommitted&&e.value!==k(r)&&(r.replaceChildren(...e.nodes),r.dispatchEvent(new Event(`input`))),e.caret>=0&&j(r,e.caret))}findTextTarget(e,t){let n=e=>(e.tagName===`text`||e.tagName===`SPAN`||e.tagName===`P`||e.tagName===`DIV`||e.tagName===`tspan`)&&(e.children.length===0||e.tagName===`text`)&&(e.textContent?.trim().length??0)>0;if(n(e))return e;let r=[...e.querySelectorAll(`text, tspan, span, p, div`)].filter(n);return!r.length&&e.parentElement&&(r=[...e.parentElement.querySelectorAll(`text, tspan, span, p, div`)].filter(n)),r.find(e=>e.textContent?.trim()===t.trim())??r.find(e=>t.trim().startsWith(e.textContent?.trim()??`\0`))??r[0]??e}openOverlayEditor(e,t,n){let r,i;typeof SVGPathElement<`u`&&e instanceof SVGPathElement?(r=this.pathMidpointRect(e),i=null):(e=this.findTextTarget(e,t),r=this.hostRect(e),i=e);let a=e.querySelector(`tspan`)??e,o=window.getComputedStyle(a),s=document.createElement(`div`);s.className=`mw-inplace-editor`,s.contentEditable=`true`,s.spellcheck=!1,s.textContent=t,s.style.left=`${r.left+r.width/2}px`,s.style.top=`${r.top}px`,s.style.transform=`translateX(-50%)`,s.style.textAlign=`center`,s.style.minWidth=`${Math.max(24,r.width)}px`,s.style.lineHeight=`${Math.max(r.height,12)}px`,s.style.fontStyle=o.fontStyle,s.style.fontWeight=o.fontWeight;let c=this.panZoomEnabled?this.zoomScale:1,l=Number.parseFloat(o.fontSize);s.style.fontSize=Number.isFinite(l)?`${l*c}px`:o.fontSize,s.style.fontFamily=o.fontFamily;let u=o.fill&&o.fill!==`none`&&a instanceof SVGElement?o.fill:o.color;if(s.style.color=u||`inherit`,this.overlayHost.appendChild(s),this.inlineInput=s,i){let e=i,t=e.style?.visibility??``;e.style&&(e.style.visibility=`hidden`),this.inlineHidden={el:e,prevVisibility:t}}s.focus();let d=document.createRange();d.selectNodeContents(s);let f=window.getSelection();f?.removeAllRanges(),f?.addRange(d);let p=()=>{let e=(s.textContent??``).trim(),r=this.inlineHidden?.el??null;this.closeInlineEditor(!1),e!==t&&(r&&(r.textContent=e),n(e))};s.addEventListener(`keydown`,e=>{e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),p()),e.key===`Escape`&&this.closeInlineEditor(!1)}),s.addEventListener(`blur`,p)}closeInlineEditor(e){if(this.inlineHidden&&=(this.inlineHidden.el.style&&(this.inlineHidden.el.style.visibility=this.inlineHidden.prevVisibility),null),this.inlineInput){let t=this.inlineInput;this.inlineInput=null,t.remove(),e&&this.container.focus({preventScroll:!0})}}onKeyDown(e){if(!this.inlineInput){if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`z`){e.preventDefault(),e.shiftKey?this.editor.redo():this.editor.undo();return}if(!this.readOnly){if((e.key===`Delete`||e.key===`Backspace`)&&this.editor.selection.length){e.preventDefault(),this.editor.deleteEntities(this.editor.selection,`canvas`);return}if(e.key===`Escape`){this.cancelConnect(),this.editor.clearSelection(`canvas`);return}e.key===`Enter`&&this.editor.selection.length===1&&(e.preventDefault(),this.editEntityLabel(this.editor.selection[0]))}}}applySelectionStyles(){if(this.svg){this.svg.querySelectorAll(`.mw-selected`).forEach(e=>e.classList.remove(`mw-selected`));for(let e of this.editor.selection)this.svg.querySelectorAll(`[data-mw-entity="${CSS.escape(e)}"]`).forEach(e=>{e.classList.add(`mw-selected`)});this.updatePopover()}}edgeAnchor(e,t){let n=this.correlation?.edgeLabels,r=this.correlation?.edges;return t?n?.get(e)??r?.get(e)??null:r?.get(e)??n?.get(e)??null}hostRect(e){let t=e.getBoundingClientRect(),n=this.container.getBoundingClientRect();return{left:t.left-n.left+this.container.scrollLeft,top:t.top-n.top+this.container.scrollTop,width:t.width,height:t.height}}pathMidpointRect(e){let t=this.container.getBoundingClientRect(),n=typeof e.getScreenCTM==`function`&&typeof e.getTotalLength==`function`?e.getScreenCTM():null;if(!n)return this.hostRect(e);let r=e.getTotalLength(),i=e.getPointAtLength(r/2),a=new DOMPoint(i.x,i.y).matrixTransform(n),o=20*(this.panZoomEnabled?this.zoomScale:1);return{left:a.x-t.left+this.container.scrollLeft,top:a.y-t.top+this.container.scrollTop-o/2,width:0,height:o}}updatePopover(){if(this.popover.hide(),this.readOnly||this.inlineInput||this.inPlaceSession)return;let e=this.editor.selection;if(e.length!==1||!this.svg)return;let t=e[0],n=[...this.svg.querySelectorAll(`[data-mw-entity="${CSS.escape(t)}"]`)],r=null,i=this.popoverAnchorPick;if(i&&i.entityId===t&&n[i.index])r=n[i.index];else{let e=1/0;for(let t of n){let n=t.getBoundingClientRect().top;n<e&&(e=n,r=t)}}if(!r)return;let a=this.actionsFor(t);a.length&&this.popover.show(this.hostRect(r),a)}colorSection(e,t){return{title:e,columns:5,items:[...g.map(n=>({swatch:n,title:`${e}: ${n}`,onClick:()=>t(n)})),{swatch:`none`,title:`${e}: default`,onClick:()=>t(null)}]}}actionsFor(n){let{flowchart:r,sequence:i}=this.editor.result,a={icon:p.trash,title:`Delete`,danger:!0,onClick:()=>this.editor.deleteEntities([n])},o={icon:p.pencil,title:`Edit text`,onClick:()=>this.editEntityLabel(n)};if(r&&n.startsWith(`node:`)){let e=r.nodeById.get(n.slice(5));return e?[{icon:p.shapes,title:`Node shape`,panel:{title:`Node shape`,items:[{s:`rect`,g:`▭`,t:`Rectangle`},{s:`round`,g:`▢`,t:`Rounded`},{s:`stadium`,g:`⬭`,t:`Stadium`},{s:`diamond`,g:`◇`,t:`Diamond`},{s:`hexagon`,g:`⬡`,t:`Hexagon`},{s:`circle`,g:`◯`,t:`Circle`},{s:`cylinder`,g:`⛁`,t:`Cylinder`},{s:`subroutine`,g:`⧉`,t:`Subroutine`}].map(t=>({glyph:t.g,title:t.t,selected:e.shape===t.s,onClick:()=>this.editor.dispatch({type:`setNodeShape`,id:e.id,shape:t.s})}))}},{icon:p.palette,title:`Colors`,panel:{title:`Colors`,sections:[`fill`,`stroke`,`color`].map(t=>this.colorSection(t===`fill`?`Fill`:t===`stroke`?`Border`:`Text`,n=>this.editor.dispatch({type:`setNodeColor`,id:e.id,prop:t,value:n})))}},{icon:p.copy,title:`Duplicate`,onClick:()=>this.editor.dispatch({type:`duplicateNode`,id:e.id})},o,a]:[]}if(r&&n.startsWith(`subgraph:`))return[{icon:p.pencil,title:`Rename subgraph`,onClick:()=>this.editEntityLabel(n)}];if(r&&n.startsWith(`edge:`)){let e=r.edges.find(e=>e.entityId===n);if(!e)return[];let t=[{start:`open`,end:`open`,t:`No arrow`},{start:`open`,end:`arrow`,t:`Arrow`},{start:`arrow`,end:`arrow`,t:`Double point`},{start:`open`,end:`cross`,t:`Cross`},{start:`cross`,end:`cross`,t:`Double cross`},{start:`open`,end:`circle`,t:`Dot`},{start:`circle`,end:`circle`,t:`Double dot`}],i=[{line:`solid`,t:`Solid`},{line:`dotted`,t:`Dotted`},{line:`thick`,t:`Thick`},{line:`invisible`,t:`Invisible`}],s=[{v:`basis`,t:`Default (curved)`,label:`Default`,svg:b(`basis`)},{v:`natural`,t:`Natural spline`,label:`Natural`,svg:b(`natural`)},{v:`linear`,t:`Straight segments`,label:`Linear`,svg:b(`linear`)}],c=[{v:`none`,t:`No animation`,label:`None`,svg:x(`none`)},{v:`slow`,t:`Slow flow`,label:`Slow`,svg:x(`slow`)},{v:`fast`,t:`Fast flow`,label:`Fast`,svg:x(`fast`)}],l=S(this.editor.code),u=C(this.editor.code,e.order);return[{icon:p.arrowRight,title:`Arrow`,panel:{title:`Arrow`,sections:[{columns:4,items:t.map(t=>({svg:_(e.seg.line,t.start,t.end),title:t.t,selected:e.seg.arrowStart===t.start&&e.seg.arrowEnd===t.end,onClick:()=>this.editor.dispatch({type:`setEdgeStyle`,edgeId:n,arrowStart:t.start,arrowEnd:t.end})}))}]}},{icon:p.equal,title:`Stroke`,panel:{title:`Stroke`,sections:[{columns:4,items:i.map(t=>({svg:y(t.line),title:t.t,label:t.t,selected:e.seg.line===t.line,onClick:()=>this.editor.dispatch({type:`setEdgeStyle`,edgeId:n,line:t.line})}))}]}},{icon:p.palette,title:`Edge color`,panel:{title:`Edge color`,sections:[this.colorSection(`Stroke`,e=>this.editor.dispatch({type:`setEdgeColor`,edgeId:n,value:e}))]}},{icon:p.circlePlay,title:`Animate edge`,panel:{title:`Animate edge`,sections:[{columns:3,items:c.map(e=>({svg:e.svg,title:e.t,label:e.label,selected:u===e.v,onClick:()=>this.editor.dispatch({type:`setEdgeAnimation`,edgeId:n,value:e.v})}))}]}},{icon:p.spline,title:`Edge curve (diagram-wide)`,panel:{title:`Edge curve`,sections:[{columns:3,items:s.map(e=>({svg:e.svg,title:e.t,label:e.label,selected:l===e.v,onClick:()=>this.editor.dispatch({type:`setFlowCurve`,value:e.v})}))}]}},{icon:p.arrowLeftRight,title:`Reverse direction`,onClick:()=>this.editor.dispatch({type:`reverseEdge`,edgeId:n})},o,a]}if(this.editor.result.state&&n.startsWith(`state:`)){let e=this.editor.result.state.stateById.get(n.slice(6));return e?e.isComposite?[o]:[{icon:p.square,title:`State type`,panel:{title:`State type`,items:[{t:`state`,g:`▢`},{t:`choice`,g:`◇`},{t:`fork`,g:`⑃`},{t:`join`,g:`⑂`}].map(t=>({glyph:t.g,title:t.t,selected:(e.stereotype??`state`)===t.t,onClick:()=>this.editor.dispatch({type:`st.setStateType`,id:e.id,stype:t.t})}))}},{icon:p.stickyNote,title:`Add note`,panel:{title:`Note`,items:[`left`,`right`].map(t=>({glyph:t===`left`?`◧`:`◨`,title:`Note ${t}`,onClick:()=>this.editor.dispatch({type:`st.addStateNote`,id:e.id,side:t})}))}},{icon:p.frame,title:`Move to composite`,onClick:()=>this.editor.dispatch({type:`st.moveToComposite`,id:e.id})},o,a]:[]}if(this.editor.result.state&&n.startsWith(`trans:`))return[{icon:p.arrowLeftRight,title:`Reverse direction`,onClick:()=>this.editor.dispatch({type:`st.reverseTransition`,transId:n})},o,a];if(this.editor.result.classGraph&&n.startsWith(`class:`)){let e=this.editor.result.classGraph.classById.get(n.slice(6));return e?[{icon:p.listPlus,title:`Add member`,onClick:()=>{this.editor.dispatch({type:`cl.addMember`,id:e.id,text:`+attribute`})}},{icon:p.braces,title:`Annotation`,panel:{title:`Annotation`,items:[...[`interface`,`abstract`,`service`,`enumeration`].map(t=>({glyph:t,title:`<<${t}>>`,onClick:()=>this.editor.dispatch({type:`cl.setAnnotation`,id:e.id,annotation:t})})),{glyph:`none`,title:`Remove annotation`,onClick:()=>this.editor.dispatch({type:`cl.setAnnotation`,id:e.id,annotation:null})}]}},{icon:p.stickyNote,title:`Add note`,onClick:()=>this.editor.dispatch({type:`cl.addNoteFor`,id:e.id})},{icon:p.pencil,title:`Rename class`,onClick:()=>this.editEntityLabel(n)},a]:[]}if(this.editor.result.classGraph&&n.startsWith(`rel:`)){let e=this.editor.result.classGraph.relations.find(e=>e.entityId===n);return e?[{icon:p.arrowRight,title:`Relation type`,panel:{title:`Relation type`,items:[{op:`<|--`,g:`◁—`,t:`inheritance`},{op:`*--`,g:`◆—`,t:`composition`},{op:`o--`,g:`◇—`,t:`aggregation`},{op:`-->`,g:`—▶`,t:`association`},{op:`--`,g:`——`,t:`link (solid)`},{op:`..>`,g:`⋯▶`,t:`dependency`},{op:`..|>`,g:`⋯▷`,t:`realization`},{op:`..`,g:`⋯⋯`,t:`link (dashed)`}].map(t=>({glyph:t.g,title:t.t,selected:e.stmt.op===t.op,onClick:()=>this.editor.dispatch({type:`cl.setRelationType`,relId:n,op:t.op})}))}},{icon:p.arrowLeftRight,title:`Reverse direction`,onClick:()=>this.editor.dispatch({type:`cl.reverseRelation`,relId:n})},{glyph:`1:1`,title:`Cardinality (e.g. 1, 0..1, 1..*, *)`,onClick:()=>{let t=this.entityElement(n);if(!t)return;this.popover.hide();let r=`${e.stmt.sourceCard??``}:${e.stmt.targetCard??``}`;this.openOverlayEditor(t,r,t=>{let[r=``,i=``]=t.split(`:`);this.editor.dispatch({type:`cl.setCardinality`,relId:n,side:`source`,value:r.trim()||null},`canvas`);let a=this.editor.result.classGraph?.relations.find(t=>t.lineIndex===e.lineIndex&&t.source===e.source&&t.target===e.target);a&&this.editor.dispatch({type:`cl.setCardinality`,relId:a.entityId,side:`target`,value:i.trim()||null},`canvas`)})}},o,a]:[]}if(this.editor.result.er&&n.startsWith(`entity:`)){let e=this.editor.result.er.entityById.get(n.slice(7));return e?[{icon:p.listPlus,title:`Add attribute`,onClick:()=>this.editor.dispatch({type:`er.addAttribute`,id:e.id})},{icon:p.pencil,title:`Rename entity`,onClick:()=>this.editEntityLabel(n)},a]:[]}if(this.editor.result.er&&n.startsWith(`erel:`)){let e=this.editor.result.er.relations.find(e=>e.entityId===n);if(!e)return[];let t=[{c:`zero-or-one`,g:`0..1`},{c:`exactly-one`,g:`1`},{c:`zero-or-more`,g:`0..*`},{c:`one-or-more`,g:`1..*`}],r=r=>({icon:r===`left`?p.arrowLeftToLine:p.arrowRightToLine,title:`${r===`left`?`Source`:`Target`} cardinality`,panel:{title:`${r===`left`?e.source:e.target} cardinality`,items:t.map(e=>({glyph:e.g,title:e.c,onClick:()=>this.editor.dispatch({type:`er.setCardinality`,relId:n,side:r,card:e.c})}))}});return[r(`left`),r(`right`),{icon:e.stmt.line===`--`?p.minus:p.ellipsis,title:e.stmt.line===`--`?`Make non-identifying (dashed)`:`Make identifying (solid)`,onClick:()=>this.editor.dispatch({type:`er.setIdentifying`,relId:n,identifying:e.stmt.line!==`--`})},o,a]}if(this.editor.result.pie&&n.startsWith(`slice:`)){let e=this.editor.result.pie.slices.find(e=>e.entityId===n);return e?[{icon:p.hash,title:`Edit value`,onClick:()=>this.editEntityLabel(n)},{icon:p.pencil,title:`Edit label`,onClick:()=>{let t=this.entityElement(n);t&&(this.popover.hide(),this.openOverlayEditor(t,e.label,e=>this.editor.dispatch({type:`pie.setLabel`,sliceId:n,label:e},`canvas`)))}},a]:[]}if(this.editor.result.gantt&&n.startsWith(`task:`)){let e=this.editor.result.gantt.tasks.find(e=>e.entityId===n);return e?[{icon:p.pencil,title:`Rename task`,onClick:()=>this.editEntityLabel(n)},{icon:p.calendar,title:`Edit schedule (id, start, duration)`,onClick:()=>{let t=this.entityElement(n);t&&(this.popover.hide(),this.openOverlayEditor(t,e.meta,e=>this.editor.dispatch({type:`gantt.setTaskMeta`,taskId:n,meta:e},`canvas`)))}},a]:[]}if(this.editor.result.lineItems&&n.startsWith(`item:`))return[{icon:p.pencil,title:`Edit line`,onClick:()=>this.editEntityLabel(n)},a];if(i&&n.startsWith(`participant:`)){let e=i.participantById.get(n.slice(12));if(!e)return[];let r={participant:`▭`,actor:`웃`,boundary:`⊢○`,control:`◉`,entity:`◯`,database:`⛁`,collections:`⧉`,queue:`▤`};return[{icon:p.user,title:`Participant type`,panel:{title:`Participant type`,items:t.map(t=>({glyph:r[t],title:t,selected:e.ptype===t,onClick:()=>this.editor.dispatch({type:`seq.setParticipantType`,id:e.id,ptype:t})}))}},{icon:p.pencil,title:`Rename`,onClick:()=>this.editEntityLabel(n)},a]}if(i&&n.startsWith(`event:`)){let t=i.events.find(e=>e.entityId===n);if(!t)return[];if(t.kind===`message`){let r={"->":`——`,"->>":`—▶`,"-->":`⋯⋯`,"-->>":`⋯▶`,"-x":`—✕`,"--x":`⋯✕`,"-)":`—⟩`,"--)":`⋯⟩`};return[{icon:p.arrowRight,title:`Message type`,panel:{title:`Message type`,items:e.map(e=>({glyph:r[e.op],title:e.label,selected:t.stmt.op===e.op,onClick:()=>this.editor.dispatch({type:`seq.setMessageOp`,eventId:n,op:e.op})}))}},{icon:p.arrowLeftRight,title:`Reverse direction`,onClick:()=>this.editor.dispatch({type:`seq.reverseMessage`,eventId:n})},{icon:p.group,title:`Wrap in fragment`,panel:{title:`Fragment`,items:[`loop`,`alt`,`opt`,`par`,`critical`,`break`,`rect`].map(e=>({glyph:e,title:`Wrap in ${e}`,onClick:()=>this.editor.dispatch({type:`seq.wrapInFragment`,eventId:n,kind:e})}))}},o,a]}return[o,a]}return[]}computeDropSlots(){let e=this.editor.result.sequence;if(this.dropSlots=[],!e||!this.seqCorrelation)return;let t=e.events.map(e=>{let t=this.seqCorrelation.events.get(e.entityId);if(!t)return null;let n=this.hostRect(t);return{ev:e,y:n.top+n.height/2}}).filter(e=>e!==null);if(t.length){this.dropSlots.push({y:t[0].y-24,afterEvent:null});for(let e=1;e<t.length;e++)this.dropSlots.push({y:(t[e-1].y+t[e].y)/2,afterEvent:t[e-1].ev.entityId});this.dropSlots.push({y:t[t.length-1].y+24,afterEvent:t[t.length-1].ev.entityId})}}nearestSlot(e){let t=null,n=1/0;for(let r of this.dropSlots){let i=Math.abs(r.y-e);i<n&&(n=i,t=r)}return t}showDropIndicator(e){this.dropIndicator||(this.dropIndicator=document.createElement(`div`),this.dropIndicator.className=`mw-drop-indicator`,this.overlayHost.appendChild(this.dropIndicator)),this.dropIndicator.style.top=`${e}px`}plusHovered=!1;lifelineClearTimer=null;onLifelineHover(e){if(this.readOnly||!this.seqCorrelation||this.connectSource||!this.editor.result.sequence)return;let t=null;for(let[n,r]of this.seqCorrelation.lifelines){let i=r.getBoundingClientRect(),a=i.left+i.width/2;if(Math.abs(e.clientX-a)<=16&&e.clientY>=i.top-8&&e.clientY<=i.bottom+8){t=n;break}}t!==this.hoveredLifeline&&(t?this.showLifelinePlus(t):this.scheduleLifelineClear())}showLifelinePlus(e){this.clearLifelineUi();let t=this.editor.result.sequence,n=this.seqCorrelation?.lifelines.get(e);if(!t||!n)return;this.hoveredLifeline=e;let r=e.slice(12),i=this.hostRect(n),a=i.left+i.width/2,o=[],s=t.events.map(e=>{let t=this.seqCorrelation?.events.get(e.entityId);if(!t)return null;let n=this.hostRect(t);return{ev:e,y:n.top+n.height/2}}).filter(e=>e!==null);if(s.length===0)o.push({y:i.top+i.height/2,afterEvent:null});else{o.push({y:(i.top+s[0].y)/2,afterEvent:null});for(let e=1;e<s.length;e++)o.push({y:(s[e-1].y+s[e].y)/2,afterEvent:s[e-1].ev.entityId});o.push({y:(s[s.length-1].y+i.top+i.height)/2,afterEvent:s[s.length-1].ev.entityId})}for(let e of o){let t=document.createElement(`button`);t.type=`button`,t.className=`mw-lifeline-plus`,t.textContent=`+`,t.title=`Click to insert here · drag to another participant to connect`,t.style.left=`${a}px`,t.style.top=`${e.y}px`,t.addEventListener(`pointerenter`,()=>{this.plusHovered=!0}),t.addEventListener(`pointerleave`,()=>{this.plusHovered=!1,this.scheduleLifelineClear()}),t.addEventListener(`pointerdown`,t=>{t.stopPropagation(),this.beginPlusDrag(t,r,e.afterEvent)}),t.addEventListener(`click`,n=>{if(n.stopPropagation(),this.plusDragConsumedClick){this.plusDragConsumedClick=!1;return}this.openPlusMenu(t,r,e.afterEvent)}),this.overlayHost.appendChild(t),this.plusButtons.push(t)}}plusDragConsumedClick=!1;plusDragCleanup=null;beginPlusDrag(e,t,n){if(this.readOnly)return;let r=e.clientX,i=e.clientY,a=!1,o=(e,t)=>{let n=document.elementFromPoint(e,t);for(;n&&n!==this.container;){let e=n.getAttribute?.(`data-mw-entity`);if(e?.startsWith(`participant:`))return e.slice(12);n=n.parentElement}if(this.seqCorrelation)for(let[n,r]of this.seqCorrelation.lifelines){let i=r.getBoundingClientRect(),a=i.left+i.width/2;if(Math.abs(e-a)<=24&&t>=i.top-8&&t<=i.bottom+8)return n.slice(12)}return null},s=e=>{if(!a&&Math.hypot(e.clientX-r,e.clientY-i)<=4||(a||(a=!0,this.plusMenu?.remove(),this.plusMenu=null),!this.svg))return;let t=this.clientToSvg(r,i),n=this.clientToSvg(e.clientX,e.clientY);!t||!n||(this.ghostPath||(this.ghostPath=document.createElementNS(`http://www.w3.org/2000/svg`,`line`),this.ghostPath.classList.add(`mw-ghost-edge`),this.svg.appendChild(this.ghostPath)),this.ghostPath.setAttribute(`x1`,String(t.x)),this.ghostPath.setAttribute(`y1`,String(t.y)),this.ghostPath.setAttribute(`x2`,String(n.x)),this.ghostPath.setAttribute(`y2`,String(n.y)))},c=()=>{this.plusDragCleanup=null,document.removeEventListener(`pointermove`,s),document.removeEventListener(`pointerup`,l),document.removeEventListener(`pointercancel`,l),this.ghostPath?.remove(),this.ghostPath=null},l=e=>{if(c(),!a)return;this.plusDragConsumedClick=!0,setTimeout(()=>{this.plusDragConsumedClick=!1},0),this.clearLifelineUi();let r=o(e.clientX,e.clientY);if(!r||r===t)return;let i=this.editor.dispatch({type:`seq.addMessage`,source:t,target:r,text:`message`,afterEvent:n},`canvas`);i?.created?.[0]&&(this.pendingEditEntity=i.created[0])};this.plusDragCleanup=c,document.addEventListener(`pointermove`,s),document.addEventListener(`pointerup`,l),document.addEventListener(`pointercancel`,l)}openPlusMenu(e,t,n){this.plusMenu?.remove();let r=document.createElement(`div`);r.className=`mw-plus-menu`,r.style.left=e.style.left,r.style.top=`${parseFloat(e.style.top)+12}px`,r.addEventListener(`pointerdown`,e=>e.stopPropagation());let i=(e,t)=>{let n=document.createElement(`button`);n.type=`button`,n.textContent=e,n.addEventListener(`click`,e=>{e.stopPropagation(),this.clearLifelineUi(),t()}),r.appendChild(n)};i(`↩ Self message`,()=>{let e=this.editor.dispatch({type:`seq.addMessage`,source:t,target:t,text:`message`,afterEvent:n},`canvas`);e?.created?.[0]&&(this.pendingEditEntity=e.created[0])});let a=(e,r)=>i(e,()=>{let e=this.editor.dispatch({type:`seq.addNote`,participant:t,placement:r,text:`note`,afterEvent:n},`canvas`);e?.created?.[0]&&(this.pendingEditEntity=e.created[0])});a(`▭ Note over`,`over`),a(`▭ Note left`,`left of`),a(`▭ Note right`,`right of`),this.overlayHost.appendChild(r),this.plusMenu=r}scheduleLifelineClear(){this.lifelineClearTimer&&clearTimeout(this.lifelineClearTimer),this.lifelineClearTimer=setTimeout(()=>{!this.plusHovered&&!this.plusMenu&&this.clearLifelineUi()},400)}clearLifelineUi(){this.plusButtons.forEach(e=>e.remove()),this.plusButtons=[],this.plusMenu?.remove(),this.plusMenu=null,this.hoveredLifeline=null,this.plusHovered=!1}clientToSvg(e,t){if(!this.svg)return null;let n=this.svg.getScreenCTM();if(!n)return null;let r=new DOMPoint(e,t).matrixTransform(n.inverse());return{x:r.x,y:r.y}}entityCenter(e){let t=this.entityElement(e);if(!t)return null;let n=t.getBoundingClientRect();return this.clientToSvg(n.left+n.width/2,n.top+n.height/2)}async validate(){try{return await this.mermaid.parse(this.editor.code),!0}catch(e){let t=e instanceof Error?e.message.split(`
161
+ `)[0]:String(e);return this.editor.setDiagnostics([{message:t,span:null,severity:`error`,source:`mermaid`}]),!1}}destroy(){this.destroyed=!0,this.renderTimer&&clearTimeout(this.renderTimer),this.lifelineClearTimer&&clearTimeout(this.lifelineClearTimer),this.inPlaceSession?.liveTimer&&clearTimeout(this.inPlaceSession.liveTimer),this.inPlaceSession=null,this.svgTransformObserver?.disconnect(),this.svgTransformObserver=null,this.visibilityRetryObserver?.disconnect(),this.visibilityRetryObserver=null,this.disposers.forEach(e=>e()),this.plusDragCleanup?.(),this.closeInlineEditor(!1),this.cancelConnect(),this.clearLifelineUi(),this.popover.hide(),this.container.classList.remove(`mw-canvas`,`mw-tool-connect`,`mw-readonly`,`mw-panzoom`,`mw-panning`),this.svgHost.remove(),this.overlayHost.remove(),this.errorBadge.remove(),this.zoomControls?.remove()}};export{M as MermaidCanvasView,m as Popover,i as correlateFlowchart,d as correlateSequence};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{t as n}from"./react-f2sANaYj.js";import{a as r,i,n as a}from"./dist-CSCUSbQc.js";import{c as o,l as s,n as c,o as l,r as u,t as d,u as f}from"./dist-DTFuvKje.js";import{n as p,t as m}from"./dist-uiDX6Nr9.js";import{n as ee,t as h}from"./dist-CxbWbOvU.js";import{i as te,n as ne,r as re,t as g}from"./es2015-Dtr4fzLT.js";import{a as _,i as v,n as y,r as ie,t as ae}from"./dist-YVu4MRkZ2.js";import{n as oe,r as b,t as x}from"./dist-BKgU0kag.js";var S=e(n(),1),C=t(),w=[`Enter`,` `],T=[`ArrowDown`,`PageUp`,`Home`],E=[`ArrowUp`,`PageDown`,`End`],se=[...T,...E],D={ltr:[...w,`ArrowRight`],rtl:[...w,`ArrowLeft`]},ce={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},O=`Menu`,[k,le,A]=p(O),[j,M]=o(O,[A,_,b]),N=_(),ue=b(),[P,F]=j(O),[de,I]=j(O),L=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=N(t),[c,l]=S.useState(null),u=S.useRef(!1),f=d(a),p=m(i);return S.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,C.jsx)(v,{...s,children:(0,C.jsx)(P,{scope:t,open:n,onOpenChange:f,content:c,onContentChange:l,children:(0,C.jsx)(de,{scope:t,onClose:S.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:u,dir:p,modal:o,children:r})})})};L.displayName=O;var fe=`MenuAnchor`,R=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=N(n);return(0,C.jsx)(ae,{...i,...r,ref:t})});R.displayName=fe;var z=`MenuPortal`,[pe,me]=j(z,{forceMount:void 0}),he=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=F(z,t);return(0,C.jsx)(pe,{scope:t,forceMount:n,children:(0,C.jsx)(u,{present:n||a.open,children:(0,C.jsx)(h,{asChild:!0,container:i,children:r})})})};he.displayName=z;var B=`MenuContent`,[ge,V]=j(B),_e=S.forwardRef((e,t)=>{let n=me(B,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=F(B,e.__scopeMenu),o=I(B,e.__scopeMenu);return(0,C.jsx)(k.Provider,{scope:e.__scopeMenu,children:(0,C.jsx)(u,{present:r||a.open,children:(0,C.jsx)(k.Slot,{scope:e.__scopeMenu,children:o.modal?(0,C.jsx)(ve,{...i,ref:t}):(0,C.jsx)(ye,{...i,ref:t})})})})}),ve=S.forwardRef((e,t)=>{let n=F(B,e.__scopeMenu),i=S.useRef(null),a=r(t,i);return S.useEffect(()=>{let e=i.current;if(e)return g(e)},[]),(0,C.jsx)(H,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:l(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),ye=S.forwardRef((e,t)=>{let n=F(B,e.__scopeMenu);return(0,C.jsx)(H,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),be=a(`MenuContent.ScrollLock`),H=S.forwardRef((e,t)=>{let{__scopeMenu:n,loop:i=!1,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:u,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,disableOutsideScroll:g,..._}=e,v=F(B,n),y=I(B,n),ae=N(n),b=ue(n),x=le(n),[w,T]=S.useState(null),D=S.useRef(null),ce=r(t,D,v.onContentChange),O=S.useRef(0),k=S.useRef(``),A=S.useRef(0),j=S.useRef(null),M=S.useRef(`right`),P=S.useRef(0),de=g?ne:S.Fragment,L=g?{as:be,allowPinchZoom:!0}:void 0,fe=e=>{let t=k.current+e,n=x().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Je(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){k.current=t,window.clearTimeout(O.current),t!==``&&(O.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};S.useEffect(()=>()=>window.clearTimeout(O.current),[]),re();let R=S.useCallback(e=>M.current===j.current?.side&&Xe(e,j.current?.area),[]);return(0,C.jsx)(ge,{scope:n,searchRef:k,onItemEnter:S.useCallback(e=>{R(e)&&e.preventDefault()},[R]),onItemLeave:S.useCallback(e=>{R(e)||(D.current?.focus(),T(null))},[R]),onTriggerLeave:S.useCallback(e=>{R(e)&&e.preventDefault()},[R]),pointerGraceTimerRef:A,onPointerGraceIntentChange:S.useCallback(e=>{j.current=e},[]),children:(0,C.jsx)(de,{...L,children:(0,C.jsx)(te,{asChild:!0,trapped:a,onMountAutoFocus:l(o,e=>{e.preventDefault(),D.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,C.jsx)(ee,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,children:(0,C.jsx)(oe,{asChild:!0,...b,dir:y.dir,orientation:`vertical`,loop:i,currentTabStopId:w,onCurrentTabStopIdChange:T,onEntryFocus:l(u,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,C.jsx)(ie,{role:`menu`,"aria-orientation":`vertical`,"data-state":Ge(v.open),"data-radix-menu-content":``,dir:y.dir,...ae,..._,ref:ce,style:{outline:`none`,..._.style},onKeyDown:l(_.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&&fe(e.key));let i=D.current;if(e.target!==i||!se.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);E.includes(e.key)&&a.reverse(),Ke(a)}),onBlur:l(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(O.current),k.current=``)}),onPointerMove:l(e.onPointerMove,$(e=>{let t=e.target,n=P.current!==e.clientX;e.currentTarget.contains(t)&&n&&(M.current=e.clientX>P.current?`right`:`left`,P.current=e.clientX)}))})})})})})})});_e.displayName=B;var xe=`MenuGroup`,U=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,C.jsx)(s.div,{role:`group`,...r,ref:t})});U.displayName=xe;var Se=`MenuLabel`,W=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,C.jsx)(s.div,{...r,ref:t})});W.displayName=Se;var G=`MenuItem`,Ce=`menu.itemSelect`,K=S.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:i,...a}=e,o=S.useRef(null),s=I(G,e.__scopeMenu),c=V(G,e.__scopeMenu),u=r(t,o),d=S.useRef(!1),p=()=>{let e=o.current;if(!n&&e){let t=new CustomEvent(Ce,{bubbles:!0,cancelable:!0});e.addEventListener(Ce,e=>i?.(e),{once:!0}),f(e,t),t.defaultPrevented?d.current=!1:s.onClose()}};return(0,C.jsx)(we,{...a,ref:u,disabled:n,onClick:l(e.onClick,p),onPointerDown:t=>{e.onPointerDown?.(t),d.current=!0},onPointerUp:l(e.onPointerUp,e=>{d.current||e.currentTarget?.click()}),onKeyDown:l(e.onKeyDown,e=>{let t=c.searchRef.current!==``;n||t&&e.key===` `||w.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});K.displayName=G;var we=S.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:i=!1,textValue:a,...o}=e,c=V(G,n),u=ue(n),d=S.useRef(null),f=r(t,d),[p,m]=S.useState(!1),[ee,h]=S.useState(``);return S.useEffect(()=>{let e=d.current;e&&h((e.textContent??``).trim())},[o.children]),(0,C.jsx)(k.ItemSlot,{scope:n,disabled:i,textValue:a??ee,children:(0,C.jsx)(x,{asChild:!0,...u,focusable:!i,children:(0,C.jsx)(s.div,{role:`menuitem`,"data-highlighted":p?``:void 0,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,...o,ref:f,onPointerMove:l(e.onPointerMove,$(e=>{i?c.onItemLeave(e):(c.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:l(e.onPointerLeave,$(e=>c.onItemLeave(e))),onFocus:l(e.onFocus,()=>m(!0)),onBlur:l(e.onBlur,()=>m(!1))})})})}),Te=`MenuCheckboxItem`,q=S.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,C.jsx)(Me,{scope:e.__scopeMenu,checked:n,children:(0,C.jsx)(K,{role:`menuitemcheckbox`,"aria-checked":Z(n)?`mixed`:n,...i,ref:t,"data-state":Q(n),onSelect:l(i.onSelect,()=>r?.(Z(n)?!0:!n),{checkForDefaultPrevented:!1})})})});q.displayName=Te;var Ee=`MenuRadioGroup`,[De,Oe]=j(Ee,{value:void 0,onValueChange:()=>{}}),ke=S.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=d(r);return(0,C.jsx)(De,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,C.jsx)(U,{...i,ref:t})})});ke.displayName=Ee;var Ae=`MenuRadioItem`,je=S.forwardRef((e,t)=>{let{value:n,...r}=e,i=Oe(Ae,e.__scopeMenu),a=n===i.value;return(0,C.jsx)(Me,{scope:e.__scopeMenu,checked:a,children:(0,C.jsx)(K,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":Q(a),onSelect:l(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});je.displayName=Ae;var J=`MenuItemIndicator`,[Me,Ne]=j(J,{checked:!1}),Pe=S.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Ne(J,n);return(0,C.jsx)(u,{present:r||Z(a.checked)||a.checked===!0,children:(0,C.jsx)(s.span,{...i,ref:t,"data-state":Q(a.checked)})})});Pe.displayName=J;var Fe=`MenuSeparator`,Ie=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,C.jsx)(s.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Ie.displayName=Fe;var Le=`MenuArrow`,Re=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=N(n);return(0,C.jsx)(y,{...i,...r,ref:t})});Re.displayName=Le;var Y=`MenuSub`,[ze,Be]=j(Y),Ve=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=F(Y,t),o=N(t),[s,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)(v,{...o,children:(0,C.jsx)(P,{scope:t,open:r,onOpenChange:p,content:u,onContentChange:f,children:(0,C.jsx)(ze,{scope:t,contentId:c(),triggerId:c(),trigger:s,onTriggerChange:l,children:n})})})};Ve.displayName=Y;var X=`MenuSubTrigger`,He=S.forwardRef((e,t)=>{let n=F(X,e.__scopeMenu),r=I(X,e.__scopeMenu),a=Be(X,e.__scopeMenu),o=V(X,e.__scopeMenu),s=S.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:u}=o,d={__scopeMenu:e.__scopeMenu},f=S.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return S.useEffect(()=>f,[f]),S.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),u(null)}},[c,u]),(0,C.jsx)(R,{asChild:!0,...d,children:(0,C.jsx)(we,{id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":a.contentId,"data-state":Ge(n.open),...e,ref:i(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:l(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:l(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`],l=t[i?`right`:`left`];o.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:l(e.onKeyDown,t=>{let i=o.searchRef.current!==``;e.disabled||i&&t.key===` `||D[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});He.displayName=X;var Ue=`MenuSubContent`,We=S.forwardRef((e,t)=>{let n=me(B,e.__scopeMenu),{forceMount:i=n.forceMount,...a}=e,o=F(B,e.__scopeMenu),s=I(B,e.__scopeMenu),c=Be(Ue,e.__scopeMenu),d=S.useRef(null),f=r(t,d);return(0,C.jsx)(k.Provider,{scope:e.__scopeMenu,children:(0,C.jsx)(u,{present:i||o.open,children:(0,C.jsx)(k.Slot,{scope:e.__scopeMenu,children:(0,C.jsx)(H,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:f,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:l(e.onFocusOutside,e=>{e.target!==c.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:l(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:l(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=ce[s.dir].includes(e.key);t&&n&&(o.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});We.displayName=Ue;function Ge(e){return e?`open`:`closed`}function Z(e){return e===`indeterminate`}function Q(e){return Z(e)?`indeterminate`:e?`checked`:`unchecked`}function Ke(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function qe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Je(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=qe(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Ye(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Xe(e,t){return t?Ye({x:e.clientX,y:e.clientY},t):!1}function $(e){return t=>t.pointerType===`mouse`?e(t):void 0}var Ze=L,Qe=R,$e=he,et=_e,tt=U,nt=W,rt=K,it=q,at=ke,ot=je,st=Pe,ct=Ie,lt=Re,ut=Ve,dt=He,ft=We;export{M as _,tt as a,nt as c,ot as d,Ze as f,dt as g,ft as h,et as i,$e as l,ut as m,lt as n,rt as o,ct as p,it as r,st as s,Qe as t,at as u};
1
+ import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{t as n}from"./react-f2sANaYj.js";import{a as r,i,n as a}from"./dist-CSCUSbQc.js";import{c as o,l as s,n as c,o as l,r as u,t as d,u as f}from"./dist-DTFuvKje.js";import{n as p,t as m}from"./dist-uiDX6Nr9.js";import{n as ee,t as h}from"./dist-CxbWbOvU.js";import{i as te,n as ne,r as re,t as g}from"./es2015-Dtr4fzLT.js";import{a as _,i as v,n as y,r as ie,t as ae}from"./dist-DXjgFhPl2.js";import{n as oe,r as b,t as x}from"./dist-BKgU0kag.js";var S=e(n(),1),C=t(),w=[`Enter`,` `],T=[`ArrowDown`,`PageUp`,`Home`],E=[`ArrowUp`,`PageDown`,`End`],se=[...T,...E],D={ltr:[...w,`ArrowRight`],rtl:[...w,`ArrowLeft`]},ce={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},O=`Menu`,[k,le,A]=p(O),[j,M]=o(O,[A,_,b]),N=_(),ue=b(),[P,F]=j(O),[de,I]=j(O),L=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=N(t),[c,l]=S.useState(null),u=S.useRef(!1),f=d(a),p=m(i);return S.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,C.jsx)(v,{...s,children:(0,C.jsx)(P,{scope:t,open:n,onOpenChange:f,content:c,onContentChange:l,children:(0,C.jsx)(de,{scope:t,onClose:S.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:u,dir:p,modal:o,children:r})})})};L.displayName=O;var fe=`MenuAnchor`,R=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=N(n);return(0,C.jsx)(ae,{...i,...r,ref:t})});R.displayName=fe;var z=`MenuPortal`,[pe,me]=j(z,{forceMount:void 0}),he=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=F(z,t);return(0,C.jsx)(pe,{scope:t,forceMount:n,children:(0,C.jsx)(u,{present:n||a.open,children:(0,C.jsx)(h,{asChild:!0,container:i,children:r})})})};he.displayName=z;var B=`MenuContent`,[ge,V]=j(B),_e=S.forwardRef((e,t)=>{let n=me(B,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=F(B,e.__scopeMenu),o=I(B,e.__scopeMenu);return(0,C.jsx)(k.Provider,{scope:e.__scopeMenu,children:(0,C.jsx)(u,{present:r||a.open,children:(0,C.jsx)(k.Slot,{scope:e.__scopeMenu,children:o.modal?(0,C.jsx)(ve,{...i,ref:t}):(0,C.jsx)(ye,{...i,ref:t})})})})}),ve=S.forwardRef((e,t)=>{let n=F(B,e.__scopeMenu),i=S.useRef(null),a=r(t,i);return S.useEffect(()=>{let e=i.current;if(e)return g(e)},[]),(0,C.jsx)(H,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:l(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),ye=S.forwardRef((e,t)=>{let n=F(B,e.__scopeMenu);return(0,C.jsx)(H,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),be=a(`MenuContent.ScrollLock`),H=S.forwardRef((e,t)=>{let{__scopeMenu:n,loop:i=!1,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:u,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,disableOutsideScroll:g,..._}=e,v=F(B,n),y=I(B,n),ae=N(n),b=ue(n),x=le(n),[w,T]=S.useState(null),D=S.useRef(null),ce=r(t,D,v.onContentChange),O=S.useRef(0),k=S.useRef(``),A=S.useRef(0),j=S.useRef(null),M=S.useRef(`right`),P=S.useRef(0),de=g?ne:S.Fragment,L=g?{as:be,allowPinchZoom:!0}:void 0,fe=e=>{let t=k.current+e,n=x().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Je(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){k.current=t,window.clearTimeout(O.current),t!==``&&(O.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};S.useEffect(()=>()=>window.clearTimeout(O.current),[]),re();let R=S.useCallback(e=>M.current===j.current?.side&&Xe(e,j.current?.area),[]);return(0,C.jsx)(ge,{scope:n,searchRef:k,onItemEnter:S.useCallback(e=>{R(e)&&e.preventDefault()},[R]),onItemLeave:S.useCallback(e=>{R(e)||(D.current?.focus(),T(null))},[R]),onTriggerLeave:S.useCallback(e=>{R(e)&&e.preventDefault()},[R]),pointerGraceTimerRef:A,onPointerGraceIntentChange:S.useCallback(e=>{j.current=e},[]),children:(0,C.jsx)(de,{...L,children:(0,C.jsx)(te,{asChild:!0,trapped:a,onMountAutoFocus:l(o,e=>{e.preventDefault(),D.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,C.jsx)(ee,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:m,onDismiss:h,children:(0,C.jsx)(oe,{asChild:!0,...b,dir:y.dir,orientation:`vertical`,loop:i,currentTabStopId:w,onCurrentTabStopIdChange:T,onEntryFocus:l(u,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,C.jsx)(ie,{role:`menu`,"aria-orientation":`vertical`,"data-state":Ge(v.open),"data-radix-menu-content":``,dir:y.dir,...ae,..._,ref:ce,style:{outline:`none`,..._.style},onKeyDown:l(_.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&&fe(e.key));let i=D.current;if(e.target!==i||!se.includes(e.key))return;e.preventDefault();let a=x().filter(e=>!e.disabled).map(e=>e.ref.current);E.includes(e.key)&&a.reverse(),Ke(a)}),onBlur:l(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(O.current),k.current=``)}),onPointerMove:l(e.onPointerMove,$(e=>{let t=e.target,n=P.current!==e.clientX;e.currentTarget.contains(t)&&n&&(M.current=e.clientX>P.current?`right`:`left`,P.current=e.clientX)}))})})})})})})});_e.displayName=B;var xe=`MenuGroup`,U=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,C.jsx)(s.div,{role:`group`,...r,ref:t})});U.displayName=xe;var Se=`MenuLabel`,W=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,C.jsx)(s.div,{...r,ref:t})});W.displayName=Se;var G=`MenuItem`,Ce=`menu.itemSelect`,K=S.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:i,...a}=e,o=S.useRef(null),s=I(G,e.__scopeMenu),c=V(G,e.__scopeMenu),u=r(t,o),d=S.useRef(!1),p=()=>{let e=o.current;if(!n&&e){let t=new CustomEvent(Ce,{bubbles:!0,cancelable:!0});e.addEventListener(Ce,e=>i?.(e),{once:!0}),f(e,t),t.defaultPrevented?d.current=!1:s.onClose()}};return(0,C.jsx)(we,{...a,ref:u,disabled:n,onClick:l(e.onClick,p),onPointerDown:t=>{e.onPointerDown?.(t),d.current=!0},onPointerUp:l(e.onPointerUp,e=>{d.current||e.currentTarget?.click()}),onKeyDown:l(e.onKeyDown,e=>{let t=c.searchRef.current!==``;n||t&&e.key===` `||w.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});K.displayName=G;var we=S.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:i=!1,textValue:a,...o}=e,c=V(G,n),u=ue(n),d=S.useRef(null),f=r(t,d),[p,m]=S.useState(!1),[ee,h]=S.useState(``);return S.useEffect(()=>{let e=d.current;e&&h((e.textContent??``).trim())},[o.children]),(0,C.jsx)(k.ItemSlot,{scope:n,disabled:i,textValue:a??ee,children:(0,C.jsx)(x,{asChild:!0,...u,focusable:!i,children:(0,C.jsx)(s.div,{role:`menuitem`,"data-highlighted":p?``:void 0,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,...o,ref:f,onPointerMove:l(e.onPointerMove,$(e=>{i?c.onItemLeave(e):(c.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:l(e.onPointerLeave,$(e=>c.onItemLeave(e))),onFocus:l(e.onFocus,()=>m(!0)),onBlur:l(e.onBlur,()=>m(!1))})})})}),Te=`MenuCheckboxItem`,q=S.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,C.jsx)(Me,{scope:e.__scopeMenu,checked:n,children:(0,C.jsx)(K,{role:`menuitemcheckbox`,"aria-checked":Z(n)?`mixed`:n,...i,ref:t,"data-state":Q(n),onSelect:l(i.onSelect,()=>r?.(Z(n)?!0:!n),{checkForDefaultPrevented:!1})})})});q.displayName=Te;var Ee=`MenuRadioGroup`,[De,Oe]=j(Ee,{value:void 0,onValueChange:()=>{}}),ke=S.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=d(r);return(0,C.jsx)(De,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,C.jsx)(U,{...i,ref:t})})});ke.displayName=Ee;var Ae=`MenuRadioItem`,je=S.forwardRef((e,t)=>{let{value:n,...r}=e,i=Oe(Ae,e.__scopeMenu),a=n===i.value;return(0,C.jsx)(Me,{scope:e.__scopeMenu,checked:a,children:(0,C.jsx)(K,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":Q(a),onSelect:l(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});je.displayName=Ae;var J=`MenuItemIndicator`,[Me,Ne]=j(J,{checked:!1}),Pe=S.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Ne(J,n);return(0,C.jsx)(u,{present:r||Z(a.checked)||a.checked===!0,children:(0,C.jsx)(s.span,{...i,ref:t,"data-state":Q(a.checked)})})});Pe.displayName=J;var Fe=`MenuSeparator`,Ie=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,C.jsx)(s.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});Ie.displayName=Fe;var Le=`MenuArrow`,Re=S.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=N(n);return(0,C.jsx)(y,{...i,...r,ref:t})});Re.displayName=Le;var Y=`MenuSub`,[ze,Be]=j(Y),Ve=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=F(Y,t),o=N(t),[s,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)(v,{...o,children:(0,C.jsx)(P,{scope:t,open:r,onOpenChange:p,content:u,onContentChange:f,children:(0,C.jsx)(ze,{scope:t,contentId:c(),triggerId:c(),trigger:s,onTriggerChange:l,children:n})})})};Ve.displayName=Y;var X=`MenuSubTrigger`,He=S.forwardRef((e,t)=>{let n=F(X,e.__scopeMenu),r=I(X,e.__scopeMenu),a=Be(X,e.__scopeMenu),o=V(X,e.__scopeMenu),s=S.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:u}=o,d={__scopeMenu:e.__scopeMenu},f=S.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return S.useEffect(()=>f,[f]),S.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),u(null)}},[c,u]),(0,C.jsx)(R,{asChild:!0,...d,children:(0,C.jsx)(we,{id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":a.contentId,"data-state":Ge(n.open),...e,ref:i(t,a.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:l(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:l(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`],l=t[i?`right`:`left`];o.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:l(e.onKeyDown,t=>{let i=o.searchRef.current!==``;e.disabled||i&&t.key===` `||D[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});He.displayName=X;var Ue=`MenuSubContent`,We=S.forwardRef((e,t)=>{let n=me(B,e.__scopeMenu),{forceMount:i=n.forceMount,...a}=e,o=F(B,e.__scopeMenu),s=I(B,e.__scopeMenu),c=Be(Ue,e.__scopeMenu),d=S.useRef(null),f=r(t,d);return(0,C.jsx)(k.Provider,{scope:e.__scopeMenu,children:(0,C.jsx)(u,{present:i||o.open,children:(0,C.jsx)(k.Slot,{scope:e.__scopeMenu,children:(0,C.jsx)(H,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:f,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:l(e.onFocusOutside,e=>{e.target!==c.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:l(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:l(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=ce[s.dir].includes(e.key);t&&n&&(o.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});We.displayName=Ue;function Ge(e){return e?`open`:`closed`}function Z(e){return e===`indeterminate`}function Q(e){return Z(e)?`indeterminate`:e?`checked`:`unchecked`}function Ke(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function qe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Je(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=qe(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Ye(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Xe(e,t){return t?Ye({x:e.clientX,y:e.clientY},t):!1}function $(e){return t=>t.pointerType===`mouse`?e(t):void 0}var Ze=L,Qe=R,$e=he,et=_e,tt=U,nt=W,rt=K,it=q,at=ke,ot=je,st=Pe,ct=Ie,lt=Re,ut=Ve,dt=He,ft=We;export{M as _,tt as a,nt as c,ot as d,Ze as f,dt as g,ft as h,et as i,$e as l,ut as m,lt as n,rt as o,ct as p,it as r,st as s,Qe as t,at as u};
@@ -1 +1 @@
1
- import{m as e}from"./config-provider-CLiLqORc.js";var t=new WeakMap;function n(n,r){let i=t.get(r);if(i)return i;let a=new e(r);t.set(r,a);let o=r.doc,s=!1,c=()=>{s||(s=!0,n.off(`destroy`,c),o?.off(`destroy`,c),t.get(r)===a&&t.delete(r),a.clear(),a.destroy())};return n.on(`destroy`,c),o?.on(`destroy`,c),a}export{n as t};
1
+ import{m as e}from"./config-provider-Bu33ODD8.js";var t=new WeakMap;function n(n,r){let i=t.get(r);if(i)return i;let a=new e(r);t.set(r,a);let o=r.doc,s=!1,c=()=>{s||(s=!0,n.off(`destroy`,c),o?.off(`destroy`,c),t.get(r)===a&&t.delete(r),a.clear(),a.destroy())};return n.on(`destroy`,c),o?.on(`destroy`,c),a}export{n as t};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-BUgB2tll.js";import{t}from"./compiler-runtime-BfE3aGVn.js";import{t as n}from"./utils-CPqDy6Hr.js";import{a as r,c as i,d as a,f as o,h as s,i as c,l,m as u,n as d,o as f,p,r as m,s as h,t as g,u as _}from"./dist-UouvQIiM.js";import{t as v}from"./createLucideIcon-DdBzwsHe.js";import{t as y}from"./check-B2OLRY33.js";import{t as b}from"./chevron-right-Bofu4lib.js";var x=v(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),S=t(),C=e();function w(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(_,{"data-slot":`dropdown-menu`,...n}),t[2]=n,t[3]=r),r}function T(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(h,{"data-slot":`dropdown-menu-portal`,...n}),t[2]=n,t[3]=r),r}function E(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(s,{"data-slot":`dropdown-menu-trigger`,...n}),t[2]=n,t[3]=r),r}function D(e){let t=(0,S.c)(12),r,i,a,o;t[0]===e?(r=t[1],i=t[2],a=t[3],o=t[4]):({className:r,align:a,sideOffset:o,...i}=e,t[0]=e,t[1]=r,t[2]=i,t[3]=a,t[4]=o);let s=a===void 0?`start`:a,c=o===void 0?4:o,l;t[5]===r?l=t[6]:(l=n(`z-50 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 data-[state=closed]:overflow-hidden 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-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 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none motion-reduce:duration-0 subtle-scrollbar`,r),t[5]=r,t[6]=l);let u;return t[7]!==s||t[8]!==i||t[9]!==c||t[10]!==l?(u=(0,C.jsx)(h,{children:(0,C.jsx)(d,{"data-slot":`dropdown-menu-content`,sideOffset:c,align:s,className:l,collisionPadding:8,...i})}),t[7]=s,t[8]=i,t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function O(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(m,{"data-slot":`dropdown-menu-group`,...n}),t[2]=n,t[3]=r),r}function k(e){let t=(0,S.c)(12),r,i,a,o;t[0]===e?(r=t[1],i=t[2],a=t[3],o=t[4]):({className:r,inset:i,variant:o,...a}=e,t[0]=e,t[1]=r,t[2]=i,t[3]=a,t[4]=o);let s=o===void 0?`default`:o,l;t[5]===r?l=t[6]:(l=n(`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:ps-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 aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,r),t[5]=r,t[6]=l);let u;return t[7]!==i||t[8]!==a||t[9]!==l||t[10]!==s?(u=(0,C.jsx)(c,{"data-slot":`dropdown-menu-item`,"data-inset":i,"data-variant":s,className:l,...a}),t[7]=i,t[8]=a,t[9]=l,t[10]=s,t[11]=u):u=t[11],u}function A(e){let t=(0,S.c)(15),i,a,o,s,c;t[0]===e?(i=t[1],a=t[2],o=t[3],s=t[4],c=t[5]):({className:o,children:a,checked:i,inset:s,...c}=e,t[0]=e,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=c);let l;t[6]===o?l=t[7]:(l=n(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,o),t[6]=o,t[7]=l);let u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,C.jsx)(`span`,{className:`pointer-events-none absolute end-2 flex items-center justify-center`,"data-slot":`dropdown-menu-checkbox-item-indicator`,children:(0,C.jsx)(r,{children:(0,C.jsx)(y,{})})}),t[8]=u):u=t[8];let d;return t[9]!==i||t[10]!==a||t[11]!==s||t[12]!==c||t[13]!==l?(d=(0,C.jsxs)(g,{"data-slot":`dropdown-menu-checkbox-item`,"data-inset":s,className:l,checked:i,...c,children:[u,a]}),t[9]=i,t[10]=a,t[11]=s,t[12]=c,t[13]=l,t[14]=d):d=t[14],d}function j(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(i,{"data-slot":`dropdown-menu-radio-group`,...n}),t[2]=n,t[3]=r),r}function M(e){let t=(0,S.c)(13),i,a,o,s;t[0]===e?(i=t[1],a=t[2],o=t[3],s=t[4]):({className:a,children:i,inset:o,...s}=e,t[0]=e,t[1]=i,t[2]=a,t[3]=o,t[4]=s);let c;t[5]===a?c=t[6]:(c=n(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,a),t[5]=a,t[6]=c);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,C.jsx)(`span`,{className:`pointer-events-none absolute inset-y-0 end-2 flex items-center justify-center`,"data-slot":`dropdown-menu-radio-item-indicator`,children:(0,C.jsx)(r,{children:(0,C.jsx)(x,{className:`size-2 fill-primary stroke-primary`})})}),t[7]=u):u=t[7];let d;return t[8]!==i||t[9]!==o||t[10]!==s||t[11]!==c?(d=(0,C.jsxs)(l,{"data-slot":`dropdown-menu-radio-item`,"data-inset":o,className:c,...s,children:[u,i]}),t[8]=i,t[9]=o,t[10]=s,t[11]=c,t[12]=d):d=t[12],d}function N(e){let t=(0,S.c)(10),r,i,a;t[0]===e?(r=t[1],i=t[2],a=t[3]):({className:r,inset:i,...a}=e,t[0]=e,t[1]=r,t[2]=i,t[3]=a);let o;t[4]===r?o=t[5]:(o=n(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:ps-7`,r),t[4]=r,t[5]=o);let s;return t[6]!==i||t[7]!==a||t[8]!==o?(s=(0,C.jsx)(f,{"data-slot":`dropdown-menu-label`,"data-inset":i,className:o,...a}),t[6]=i,t[7]=a,t[8]=o,t[9]=s):s=t[9],s}function P(e){let t=(0,S.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let o;t[3]===r?o=t[4]:(o=n(`-mx-1 my-1 h-px bg-border`,r),t[3]=r,t[4]=o);let s;return t[5]!==i||t[6]!==o?(s=(0,C.jsx)(a,{"data-slot":`dropdown-menu-separator`,className:o,...i}),t[5]=i,t[6]=o,t[7]=s):s=t[7],s}function F(e){let t=(0,S.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=n(`ms-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,C.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function I(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(o,{"data-slot":`dropdown-menu-sub`,...n}),t[2]=n,t[3]=r),r}function L(e){let t=(0,S.c)(13),r,i,a,o;t[0]===e?(r=t[1],i=t[2],a=t[3],o=t[4]):({className:i,inset:a,children:r,...o}=e,t[0]=e,t[1]=r,t[2]=i,t[3]=a,t[4]=o);let s;t[5]===i?s=t[6]:(s=n(`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:ps-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),t[5]=i,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,C.jsx)(b,{className:`ms-auto text-muted-foreground`}),t[7]=c):c=t[7];let l;return t[8]!==r||t[9]!==a||t[10]!==o||t[11]!==s?(l=(0,C.jsxs)(u,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":a,className:s,...o,children:[r,c]}),t[8]=r,t[9]=a,t[10]=o,t[11]=s,t[12]=l):l=t[12],l}function R(e){let t=(0,S.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=n(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 data-[state=closed]:overflow-hidden 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-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 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none motion-reduce:duration-0 subtle-scrollbar`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,C.jsx)(p,{"data-slot":`dropdown-menu-sub-content`,className:a,collisionPadding:8,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}export{k as a,j as c,F as d,I as f,E as h,O as i,M as l,L as m,A as n,N as o,R as p,D as r,T as s,w as t,P as u};
1
+ import{t as e}from"./jsx-runtime-BUgB2tll.js";import{t}from"./compiler-runtime-BfE3aGVn.js";import{t as n}from"./utils-CPqDy6Hr.js";import{a as r,c as i,d as a,f as o,h as s,i as c,l,m as u,n as d,o as f,p,r as m,s as h,t as g,u as _}from"./dist-C0nuYMFu.js";import{t as v}from"./createLucideIcon-DdBzwsHe.js";import{t as y}from"./check-B2OLRY33.js";import{t as b}from"./chevron-right-Bofu4lib.js";var x=v(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),S=t(),C=e();function w(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(_,{"data-slot":`dropdown-menu`,...n}),t[2]=n,t[3]=r),r}function T(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(h,{"data-slot":`dropdown-menu-portal`,...n}),t[2]=n,t[3]=r),r}function E(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(s,{"data-slot":`dropdown-menu-trigger`,...n}),t[2]=n,t[3]=r),r}function D(e){let t=(0,S.c)(12),r,i,a,o;t[0]===e?(r=t[1],i=t[2],a=t[3],o=t[4]):({className:r,align:a,sideOffset:o,...i}=e,t[0]=e,t[1]=r,t[2]=i,t[3]=a,t[4]=o);let s=a===void 0?`start`:a,c=o===void 0?4:o,l;t[5]===r?l=t[6]:(l=n(`z-50 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 data-[state=closed]:overflow-hidden 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-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 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none motion-reduce:duration-0 subtle-scrollbar`,r),t[5]=r,t[6]=l);let u;return t[7]!==s||t[8]!==i||t[9]!==c||t[10]!==l?(u=(0,C.jsx)(h,{children:(0,C.jsx)(d,{"data-slot":`dropdown-menu-content`,sideOffset:c,align:s,className:l,collisionPadding:8,...i})}),t[7]=s,t[8]=i,t[9]=c,t[10]=l,t[11]=u):u=t[11],u}function O(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(m,{"data-slot":`dropdown-menu-group`,...n}),t[2]=n,t[3]=r),r}function k(e){let t=(0,S.c)(12),r,i,a,o;t[0]===e?(r=t[1],i=t[2],a=t[3],o=t[4]):({className:r,inset:i,variant:o,...a}=e,t[0]=e,t[1]=r,t[2]=i,t[3]=a,t[4]=o);let s=o===void 0?`default`:o,l;t[5]===r?l=t[6]:(l=n(`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:ps-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 aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,r),t[5]=r,t[6]=l);let u;return t[7]!==i||t[8]!==a||t[9]!==l||t[10]!==s?(u=(0,C.jsx)(c,{"data-slot":`dropdown-menu-item`,"data-inset":i,"data-variant":s,className:l,...a}),t[7]=i,t[8]=a,t[9]=l,t[10]=s,t[11]=u):u=t[11],u}function A(e){let t=(0,S.c)(15),i,a,o,s,c;t[0]===e?(i=t[1],a=t[2],o=t[3],s=t[4],c=t[5]):({className:o,children:a,checked:i,inset:s,...c}=e,t[0]=e,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=c);let l;t[6]===o?l=t[7]:(l=n(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,o),t[6]=o,t[7]=l);let u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,C.jsx)(`span`,{className:`pointer-events-none absolute end-2 flex items-center justify-center`,"data-slot":`dropdown-menu-checkbox-item-indicator`,children:(0,C.jsx)(r,{children:(0,C.jsx)(y,{})})}),t[8]=u):u=t[8];let d;return t[9]!==i||t[10]!==a||t[11]!==s||t[12]!==c||t[13]!==l?(d=(0,C.jsxs)(g,{"data-slot":`dropdown-menu-checkbox-item`,"data-inset":s,className:l,checked:i,...c,children:[u,a]}),t[9]=i,t[10]=a,t[11]=s,t[12]=c,t[13]=l,t[14]=d):d=t[14],d}function j(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(i,{"data-slot":`dropdown-menu-radio-group`,...n}),t[2]=n,t[3]=r),r}function M(e){let t=(0,S.c)(13),i,a,o,s;t[0]===e?(i=t[1],a=t[2],o=t[3],s=t[4]):({className:a,children:i,inset:o,...s}=e,t[0]=e,t[1]=i,t[2]=a,t[3]=o,t[4]=s);let c;t[5]===a?c=t[6]:(c=n(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,a),t[5]=a,t[6]=c);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,C.jsx)(`span`,{className:`pointer-events-none absolute inset-y-0 end-2 flex items-center justify-center`,"data-slot":`dropdown-menu-radio-item-indicator`,children:(0,C.jsx)(r,{children:(0,C.jsx)(x,{className:`size-2 fill-primary stroke-primary`})})}),t[7]=u):u=t[7];let d;return t[8]!==i||t[9]!==o||t[10]!==s||t[11]!==c?(d=(0,C.jsxs)(l,{"data-slot":`dropdown-menu-radio-item`,"data-inset":o,className:c,...s,children:[u,i]}),t[8]=i,t[9]=o,t[10]=s,t[11]=c,t[12]=d):d=t[12],d}function N(e){let t=(0,S.c)(10),r,i,a;t[0]===e?(r=t[1],i=t[2],a=t[3]):({className:r,inset:i,...a}=e,t[0]=e,t[1]=r,t[2]=i,t[3]=a);let o;t[4]===r?o=t[5]:(o=n(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:ps-7`,r),t[4]=r,t[5]=o);let s;return t[6]!==i||t[7]!==a||t[8]!==o?(s=(0,C.jsx)(f,{"data-slot":`dropdown-menu-label`,"data-inset":i,className:o,...a}),t[6]=i,t[7]=a,t[8]=o,t[9]=s):s=t[9],s}function P(e){let t=(0,S.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let o;t[3]===r?o=t[4]:(o=n(`-mx-1 my-1 h-px bg-border`,r),t[3]=r,t[4]=o);let s;return t[5]!==i||t[6]!==o?(s=(0,C.jsx)(a,{"data-slot":`dropdown-menu-separator`,className:o,...i}),t[5]=i,t[6]=o,t[7]=s):s=t[7],s}function F(e){let t=(0,S.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=n(`ms-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,C.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function I(e){let t=(0,S.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,C.jsx)(o,{"data-slot":`dropdown-menu-sub`,...n}),t[2]=n,t[3]=r),r}function L(e){let t=(0,S.c)(13),r,i,a,o;t[0]===e?(r=t[1],i=t[2],a=t[3],o=t[4]):({className:i,inset:a,children:r,...o}=e,t[0]=e,t[1]=r,t[2]=i,t[3]=a,t[4]=o);let s;t[5]===i?s=t[6]:(s=n(`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:ps-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),t[5]=i,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,C.jsx)(b,{className:`ms-auto text-muted-foreground`}),t[7]=c):c=t[7];let l;return t[8]!==r||t[9]!==a||t[10]!==o||t[11]!==s?(l=(0,C.jsxs)(u,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":a,className:s,...o,children:[r,c]}),t[8]=r,t[9]=a,t[10]=o,t[11]=s,t[12]=l):l=t[12],l}function R(e){let t=(0,S.c)(8),r,i;t[0]===e?(r=t[1],i=t[2]):({className:r,...i}=e,t[0]=e,t[1]=r,t[2]=i);let a;t[3]===r?a=t[4]:(a=n(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 data-[state=closed]:overflow-hidden 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-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 motion-reduce:data-open:animate-none motion-reduce:data-closed:animate-none motion-reduce:duration-0 subtle-scrollbar`,r),t[3]=r,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,C.jsx)(p,{"data-slot":`dropdown-menu-sub-content`,className:a,collisionPadding:8,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}export{k as a,j as c,F as d,I as f,E as h,O as i,M as l,L as m,A as n,N as o,R as p,D as r,T as s,w as t,P as u};
@@ -0,0 +1 @@
1
+ import{n as e}from"./field-controls-CKb1JSHS.js";export{e as SectionSkeleton};
@@ -0,0 +1,6 @@
1
+ import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{t as n}from"./react-f2sANaYj.js";import{n as r,r as i}from"./dist-Nvb76hAm.js";import{n as a}from"./dist-PQ5KMVDh.js";import{t as o}from"./compiler-runtime-BfE3aGVn.js";import{t as s}from"./utils-CPqDy6Hr.js";import{i as c,n as l,t as u}from"./tooltip-Bz6z4_se.js";import{i as d,n as f,o as p,s as m,t as h}from"./select-pACXgFe2.js";import{t as g}from"./switch-BKZTXkzu.js";import{n as _,r as v,t as y}from"./toggle-group-B7p69Qfd.js";import{t as b}from"./button-DzgjsZzC.js";import{n as x}from"./dist-BGzUo_18.js";import{n as S,r as C}from"./config-errors-DDAH9fqy.js";import{Ct as w}from"./schemas-api-CD98jV86.js";import{a as T,t as E}from"./use-apply-config-theme-CYFG76sS.js";import{t as D}from"./check-B2OLRY33.js";import{t as O}from"./circle-alert-eBm4JPxY.js";import{n as k,r as A,t as j}from"./ThemePicker-pc5gwEur.js";import{n as M,t as N}from"./plus-zPnYzcqL.js";import{t as ee}from"./rotate-ccw-Zi1IjIg9.js";import{t as P}from"./trash-2-CchZ0T47.js";import{t as te}from"./triangle-alert-BXrUEeRU.js";import{a as ne,c as re,i as ie,n as ae,o as oe,s as se,t as ce}from"./dialog-BJEjKJjL.js";import{i as le,o as ue,r as de,t as fe}from"./field-DFJgKWGh.js";import{a as pe,b as me,c as he,g as ge,n as _e,o as ve,p as ye,s as be,u as xe,v as Se,x as Ce,y as we}from"./use-apply-config-color-theme-hiddt1uL.js";import{T as F,n as Te,o as I,s as L}from"./saved-themes-client-D09wxYQm.js";import{l as Ee,n as De,u as Oe}from"./use-apply-config-language-DhdpbJI9.js";import{t as ke}from"./trace-api-BSvaJNnr.js";import{a as R,f as z,i as B,n as V,o as H,p as U,r as W,s as G}from"./form-U6OjlA0v.js";import{t as Ae}from"./input-BsFOyzfK.js";import{t as K}from"./textarea-DYYN2PV4.js";import{t as q}from"./skeleton-CrbF9ppq.js";import"./config-schema-CIaXsCAX.js";var J=e(n(),1),Y=o(),X=`open-knowledge-app`;function Z({from:e,to:t}){try{ke.getTracer(X).startSpan(`ok.language.preferenceChanged`,{attributes:{"ok.language.from":e,"ok.language.to":t}}).end()}catch(e){console.warn(`[language-telemetry] span emit failed:`,e instanceof Error?e:String(e))}}var Q=`open-knowledge-app`;function je(e){let t=e.light.startsWith(`saved-`),n=e.dark.startsWith(`saved-`);return!t||!n?`incomplete`:e.light===e.dark?`same`:`different`}function Me(e){try{ke.getTracer(Q).startSpan(`ok.saved_themes.assignment`,{attributes:{"saved_theme.pair":je(e)}}).end()}catch(e){console.warn(`[saved-theme-telemetry] assignment span emit failed:`,e instanceof Error?e:String(e))}}var $=t(),Ne=`system`;function Pe(e){return typeof e==`string`&&Oe.includes(e)}function Fe(e){return Pe(e)?e:Ne}function Ie(e){return new Intl.DisplayNames([e],{type:`language`}).of(e)??e}function Le(e){let t=(0,Y.c)(6),{choice:n}=e;if(n===Ne){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(r,{id:`D-NlUC`}),t[0]=e):e=t[0],e}let i;t[1]===n?i=t[2]:(i=Ie(n),t[1]=n,t[2]=i);let a;return t[3]!==n||t[4]!==i?(a=(0,$.jsx)(`span`,{lang:n,className:`capitalize`,children:i}),t[3]=n,t[4]=i,t[5]=a):a=t[5],a}function Re(e){let t=(0,Y.c)(22),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({value:o,onValueChange:r,onBlur:n,ref:i,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s;t[6]===o?s=t[7]:(s=Fe(o),t[6]=o,t[7]=s);let c=s,l;t[8]===r?l=t[9]:(l=e=>r(Fe(e)),t[8]=r,t[9]=l);let u;t[10]===c?u=t[11]:(u=(0,$.jsx)(m,{children:(0,$.jsx)(Le,{choice:c})}),t[10]=c,t[11]=u);let g;t[12]!==n||t[13]!==i||t[14]!==a||t[15]!==u?(g=(0,$.jsx)(p,{...a,ref:i,onBlur:n,size:`sm`,className:`w-48`,children:u}),t[12]=n,t[13]=i,t[14]=a,t[15]=u,t[16]=g):g=t[16];let _;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsxs)(f,{children:[(0,$.jsx)(d,{value:Ne,children:(0,$.jsx)(Le,{choice:Ne})}),Ee.map(ze)]}),t[17]=_):_=t[17];let v;return t[18]!==c||t[19]!==l||t[20]!==g?(v=(0,$.jsxs)(h,{value:c,onValueChange:l,children:[g,_]}),t[18]=c,t[19]=l,t[20]=g,t[21]=v):v=t[21],v}function ze(e){return(0,$.jsx)(d,{value:e,children:(0,$.jsx)(Le,{choice:e})},e)}function Be(e){return{chrome:e.sidebar,surface:e.background,bar:e.primary,line:e.border,dots:[e[`syntax-string`],e[`syntax-keyword`],e[`syntax-atom`]]}}function Ve(e,t,n){return e.id===`custom`?Be(w(ye(t))):e.scheme?Be(w(e.scheme)):Be(xe(n))}function He(e){let t=(0,Y.c)(38),{theme:n,customSeed:r,slotMode:i}=e,a,o,s,c,l,u,d,f,p,m;t[0]!==r||t[1]!==i||t[2]!==n?(a=Ve(n,r,i),u=!0,d=``,f=`aspect-[4/3] w-full overflow-hidden rounded-md border`,p={backgroundColor:a.surface,borderColor:a.line},m=(0,$.jsxs)(`div`,{className:`flex h-1/3 items-center gap-1 px-1.5`,style:{backgroundColor:a.chrome,borderBottom:`1px solid ${a.line}`},children:[(0,$.jsx)(`span`,{className:`h-1.5 w-5 rounded-full`,style:{backgroundColor:a.bar}}),(0,$.jsx)(`span`,{className:`h-1.5 flex-1 rounded-full opacity-50`,style:{backgroundColor:a.line}})]}),l=`flex h-2/3`,o=`flex w-1/4 flex-col items-center justify-center gap-1`,s={backgroundColor:a.chrome,borderRight:`1px solid ${a.line}`},c=a.dots.map(Ue),t[0]=r,t[1]=i,t[2]=n,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p,t[12]=m):(a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12]);let h;t[13]!==o||t[14]!==s||t[15]!==c?(h=(0,$.jsx)(`div`,{className:o,style:s,children:c}),t[13]=o,t[14]=s,t[15]=c,t[16]=h):h=t[16];let g;t[17]===a.dots[1]?g=t[18]:(g=(0,$.jsx)(`span`,{className:`h-1.5 w-3/4 rounded-full`,style:{backgroundColor:a.dots[1]}}),t[17]=a.dots[1],t[18]=g);let _;t[19]===a.line?_=t[20]:(_=(0,$.jsx)(`span`,{className:`h-1.5 w-1/2 rounded-full opacity-60`,style:{backgroundColor:a.line}}),t[19]=a.line,t[20]=_);let v;t[21]===a.dots[0]?v=t[22]:(v=(0,$.jsx)(`span`,{className:`h-1.5 w-2/3 rounded-full`,style:{backgroundColor:a.dots[0]}}),t[21]=a.dots[0],t[22]=v);let y;t[23]!==g||t[24]!==_||t[25]!==v?(y=(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col justify-center gap-1 px-1.5`,children:[g,_,v]}),t[23]=g,t[24]=_,t[25]=v,t[26]=y):y=t[26];let b;t[27]!==h||t[28]!==y||t[29]!==l?(b=(0,$.jsxs)(`div`,{className:l,children:[h,y]}),t[27]=h,t[28]=y,t[29]=l,t[30]=b):b=t[30];let x;return t[31]!==b||t[32]!==u||t[33]!==d||t[34]!==f||t[35]!==p||t[36]!==m?(x=(0,$.jsxs)(`div`,{"aria-hidden":u,"data-theme-swatch":d,className:f,style:p,children:[m,b]}),t[31]=b,t[32]=u,t[33]=d,t[34]=f,t[35]=p,t[36]=m,t[37]=x):x=t[37],x}function Ue(e,t){return(0,$.jsx)(`span`,{className:`size-1.5 rounded-full`,style:{backgroundColor:e}},t)}function We(e){return s(`size-6 min-w-6 rounded-md border p-0 transition-colors`,e?`border-primary bg-primary/15 text-primary hover:bg-primary/20 data-[state=on]:bg-primary/15`:`border-border/70 text-muted-foreground/70 hover:text-foreground`)}function Ge(e){return s(`size-3.5`,e&&`fill-current`)}function Ke(e){let t=(0,Y.c)(33),{selection:n,themes:r,unavailableThemes:a,onAssign:o,editControl:c,deleteControl:l,createControl:u,slotMode:d,customSeed:f,firstItemId:p,"aria-label":m,"aria-describedby":h,"aria-invalid":g}=e,_=r===void 0?ge:r,y;t[0]===a?y=t[1]:(y=a===void 0?[]:a,t[0]=a,t[1]=y);let x=y,S=d===void 0?`light`:d,{_:C}=i(),w;if(t[2]!==C||t[3]!==f||t[4]!==l||t[5]!==c||t[6]!==p||t[7]!==o||t[8]!==n||t[9]!==S||t[10]!==_){let e;t[12]!==C||t[13]!==f||t[14]!==l||t[15]!==c||t[16]!==p||t[17]!==o||t[18]!==n||t[19]!==S?(e=(e,t)=>{let r=n.light===e.id,i=n.dark===e.id,a=c?.themeIds.includes(e.id)??!1,u=l?.themeIds.includes(e.id)??!1,d=c?.selectedId===e.id,m=C(S===`light`?{id:`hgF0al`,values:{0:e.label}}:{id:`6Nea1q`,values:{0:e.label}});return(0,$.jsxs)(`fieldset`,{"aria-label":e.label,className:s(`relative flex min-w-0 flex-col gap-1.5 rounded-lg border-2 p-1 text-left`,n[S]===e.id?`border-primary`:`border-transparent`),children:[(0,$.jsx)(b,{type:`button`,variant:`ghost`,"aria-label":m,"data-theme-focus-target":``,onClick:()=>o(S,e.id),className:`h-auto w-full cursor-pointer p-0 transition-opacity hover:bg-transparent hover:opacity-90`,children:(0,$.jsx)(He,{theme:e,customSeed:f,slotMode:S})}),u?(0,$.jsx)(b,{type:`button`,variant:`outline`,size:`icon-sm`,title:C({id:`Y2tU6I`,values:{0:e.label}}),"aria-label":C({id:`Y2tU6I`,values:{0:e.label}}),className:`absolute top-2 end-2 z-10 border-border/80 bg-background/85 text-muted-foreground shadow-sm backdrop-blur-sm hover:border-destructive/50 hover:bg-destructive/15 hover:text-destructive focus-visible:border-destructive/50 focus-visible:text-destructive focus-visible:ring-destructive/20 dark:bg-background/80 dark:hover:bg-destructive/20`,onClick:async t=>{let n=t.currentTarget.closest(`fieldset`),r=n?.previousElementSibling?.querySelector(`[data-theme-focus-target]`)??n?.nextElementSibling?.querySelector(`[data-theme-focus-target]`);await l?.onDelete(e.id)!==!1&&r?.focus()},children:(0,$.jsx)(P,{"aria-hidden":!0})}):null,(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-1 px-0.5`,children:[(0,$.jsx)(`span`,{className:`truncate text-1sm font-medium text-foreground`,children:e.label}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[a?(0,$.jsx)(v,{className:We(d),pressed:d,onPressedChange:t=>{c?.onSelect(t?e.id:null)},"aria-label":C(d?{id:`8x6zk9`,values:{0:e.label}}:{id:`N6j2JH`,values:{0:e.label}}),children:(0,$.jsx)(M,{className:`size-3.5`})}):null,(0,$.jsx)(v,{id:t===0?p:void 0,className:We(r),pressed:r,onPressedChange:t=>{t&&o(`light`,e.id)},"aria-label":C({id:`sq4WQH`,values:{0:e.label}}),children:(0,$.jsx)(k,{className:Ge(r)})}),(0,$.jsx)(v,{className:We(i),pressed:i,onPressedChange:t=>{t&&o(`dark`,e.id)},"aria-label":C({id:`lZvQrY`,values:{0:e.label}}),children:(0,$.jsx)(A,{className:Ge(i)})})]})]})]},e.id)},t[12]=C,t[13]=f,t[14]=l,t[15]=c,t[16]=p,t[17]=o,t[18]=n,t[19]=S,t[20]=e):e=t[20],w=_.map(e),t[2]=C,t[3]=f,t[4]=l,t[5]=c,t[6]=p,t[7]=o,t[8]=n,t[9]=S,t[10]=_,t[11]=w}else w=t[11];let T;t[21]!==C||t[22]!==u?(T=u?(0,$.jsxs)(b,{type:`button`,variant:`ghost`,onClick:u.onCreate,className:`group h-auto min-w-0 flex-col items-stretch gap-1.5 rounded-lg border-2 border-transparent p-1 text-left text-muted-foreground hover:bg-transparent hover:text-foreground`,children:[(0,$.jsx)(`span`,{className:`flex aspect-[4/3] w-full items-center justify-center rounded-md border border-dashed border-border bg-muted/10 transition-colors group-hover:border-foreground/40`,children:(0,$.jsx)(N,{"aria-hidden":!0,className:`size-6`})}),(0,$.jsx)(`span`,{className:`truncate px-0.5 text-1sm font-medium`,children:C({id:`AJ7_B2`})})]}):null,t[21]=C,t[22]=u,t[23]=T):T=t[23];let E;t[24]===x?E=t[25]:(E=x.map(qe),t[24]=x,t[25]=E);let D;return t[26]!==h||t[27]!==g||t[28]!==m||t[29]!==w||t[30]!==T||t[31]!==E?(D=(0,$.jsxs)(`fieldset`,{"aria-label":m,"aria-describedby":h,"aria-invalid":g,className:`color-theme-picker grid w-full min-w-0 grid-cols-2 gap-2 sm:grid-cols-3`,children:[w,T,E]}),t[26]=h,t[27]=g,t[28]=m,t[29]=w,t[30]=T,t[31]=E,t[32]=D):D=t[32],D}function qe(e){return(0,$.jsxs)(`fieldset`,{"aria-label":e.label,className:`flex min-w-0 flex-col gap-1.5 rounded-lg border-2 border-destructive/40 bg-destructive/5 p-1 text-left`,children:[(0,$.jsx)(`div`,{"aria-hidden":!0,className:`flex aspect-[4/3] w-full items-center justify-center rounded-md border border-destructive/30 bg-muted/40 text-destructive`,children:(0,$.jsx)(O,{className:`size-6`})}),(0,$.jsx)(`span`,{className:`truncate px-0.5 text-1sm font-medium text-foreground`,children:e.label}),(0,$.jsx)(`span`,{className:`px-0.5 text-xs font-medium text-destructive`,children:e.problem}),(0,$.jsx)(`span`,{className:`px-0.5 pb-0.5 text-xs text-muted-foreground`,children:e.detail})]},e.key)}var Je=12e3;function Ye(e){let t=(0,Y.c)(210),n,r,a;t[0]===e?(n=t[1],r=t[2],a=t[3]):({appearance:n,onAssign:r,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=a);let{_:o}=i(),{themes:s,warnings:c,truncated:l,loadError:u,refresh:d,deleteTheme:f,restoreTheme:p,editingThemeId:m,themeEditorOpen:h,selectThemeToEdit:g}=Te(),[_,v]=(0,J.useState)(!1),[y,S]=(0,J.useState)(``),[C,T]=(0,J.useState)(null),[E,D]=(0,J.useState)(!1),O=(0,J.useRef)(null),k,A;t[4]===d?(k=t[5],A=t[6]):(k=()=>{d()},A=[d],t[4]=d,t[5]=k,t[6]=A),(0,J.useEffect)(k,A);let j;t[7]!==n||t[8]!==s?(j=me(n,s),t[7]=n,t[8]=s,t[9]=j):j=t[9];let M=j,N,ee,P,pe,he,ge,_e,ve,be,xe,Ce,we,F,I,L,Ee,De,Oe,ke,R,z;if(t[10]!==o||t[11]!==C||t[12]!==y||t[13]!==_||t[14]!==f||t[15]!==m||t[16]!==E||t[17]!==u||t[18]!==r||t[19]!==a||t[20]!==d||t[21]!==p||t[22]!==g||t[23]!==M||t[24]!==h||t[25]!==s||t[26]!==l||t[27]!==c){let e=Se(y),n;t[49]===s?n=t[50]:(n=s.filter(et),t[49]=s,t[50]=n);let i=n,k,A,j,oe,le,me,Te,B,V;if(t[51]!==o||t[52]!==y||t[53]!==f||t[54]!==m||t[55]!==i||t[56]!==E||t[57]!==u||t[58]!==r||t[59]!==a||t[60]!==d||t[61]!==p||t[62]!==g||t[63]!==M||t[64]!==h||t[65]!==s||t[66]!==l||t[67]!==c){let e=s.flatMap($e),n;t[80]!==o||t[81]!==d||t[82]!==p?(n=async function(e){let t=await p({id:e.id,name:e.scheme.name,stem:e.stem,scheme:{...e.scheme,palette:{...e.scheme.palette}},extension:e.filename.endsWith(`.yml`)?`.yml`:`.yaml`});if(t.ok){await d(),x.success(o({id:`Kx881F`,values:{0:e.label}}));return}if(t.reason===`name-taken`){x.error(o({id:`oZUYMv`,values:{0:e.label}}));return}x.error(o({id:`7O7REc`,values:{0:e.label}}))},t[80]=o,t[81]=d,t[82]=p,t[83]=n):n=t[83];let _=n;j=async function(t){let n=e.find(e=>e.id===t);if(!n)return x.error(o({id:`ANFxWn`})),!1;let r=await f(n.id);if(!r.ok)return x.error(o({id:`kkux8f`,values:{0:n.label}})),!1;if(m===n.id&&g(null),await d(),!r.existed)return x(o({id:`ekSPiP`,values:{0:n.label}})),!0;let i={...n,filename:r.filename,label:r.scheme.name,scheme:r.scheme};return x(o({id:`YCmS3k`,values:{0:i.label}}),{duration:Je,action:{label:o({id:`9uI_rE`}),onClick:()=>_(i)}}),!0};let C;t[84]!==o||t[85]!==y||t[86]!==E||t[87]!==r||t[88]!==a||t[89]!==d||t[90]!==p||t[91]!==g||t[92]!==M||t[93]!==s?(C=async function(e){if(e.preventDefault(),E)return;let t=Se(y);if(!t.ok){T(o({id:`RG3yW6`})),O.current?.focus();return}let n=a.slotMode??`light`,i=s.find(e=>e.id===M[n])?.scheme??ye(a.customSeed),c={name:t.name,variant:i.variant,palette:{...i.palette}};T(null),D(!0);let l=await p({id:t.id,name:t.name,scheme:c});if(!l.ok){T(l.reason===`name-taken`?o({id:`_IfSZn`}):l.reason===`name-invalid`?o({id:`qtnmEX`}):o({id:`DmkTrb`})),D(!1),O.current?.focus();return}let u={id:l.id,label:c.name,kind:c.variant,scheme:c,toTokens:()=>w(c)};r(n,l.id,M,[...s,u]),await d(),S(``),v(!1),D(!1),g(l.id)},t[84]=o,t[85]=y,t[86]=E,t[87]=r,t[88]=a,t[89]=d,t[90]=p,t[91]=g,t[92]=M,t[93]=s,t[94]=C):C=t[94],A=C;let N;if(t[95]!==o||t[96]!==c){let e;t[98]===o?e=t[99]:(e=e=>{let t;bb90:switch(e.code){case`unparseable`:t=o({id:`g12y1g`});break bb90;case`not-a-scheme`:t=o({id:`p7Utw8`});break bb90;case`missing-slots`:t=o({id:`GUZHkL`});break bb90;case`bad-hex`:t=o({id:`IMLUBh`});break bb90;case`empty`:t=o({id:`k_tFzX`});break bb90;case`too-long`:t=o({id:`FyyIjH`});break bb90;case`invalid-chars`:t=o({id:`JaU1ld`});break bb90;case`unsupported-extension-case`:t=o({id:`R30SFt`});break bb90;case`duplicate-identity`:t=o({id:`DUb7Ax`});break bb90;case`symlink`:t=o({id:`hFmYGU`});break bb90;case`not-regular-file`:t=o({id:`UH0Zqw`});break bb90;case`file-too-large`:t=o({id:`-othoN`});break bb90;case`read-failed`:t=o({id:`cLn264`});break bb90;default:t=o({id:`WBNpt9`,values:{0:e.code}})}return{key:e.filename,label:e.filename,problem:t,detail:e.conflictingFilenames?o({id:`QwG_zJ`,values:{0:e.conflictingFilenames.join(`, `)}}):o({id:`kwNS82`})}},t[98]=o,t[99]=e),N=c.map(e),t[95]=o,t[96]=c,t[97]=N}else N=t[97];let ee=N;we=`flex w-full min-w-0 flex-col gap-2`,t[100]!==o||t[101]!==u||t[102]!==d?(F=u?(0,$.jsxs)(`div`,{role:`alert`,className:`flex items-center justify-between gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-sm text-foreground`,children:[(0,$.jsx)(`span`,{children:o({id:`hVzt9x`})}),(0,$.jsx)(b,{type:`button`,variant:`outline`,size:`xs`,onClick:()=>void d(),children:o({id:`KDw4GX`})})]}):null,t[100]=o,t[101]=u,t[102]=d,t[103]=F):F=t[103];let P;t[104]!==o||t[105]!==l?(P=l?(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-sm text-foreground`,children:[(0,$.jsx)(te,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-amber-600`}),(0,$.jsx)(`span`,{children:o({id:`DLIljL`})})]}):null,t[104]=o,t[105]=l,t[106]=P):P=t[106],t[107]===P?I=t[108]:(I=(0,$.jsx)(`div`,{role:`status`,children:P}),t[107]=P,t[108]=I),k=Ke,le=a,me=M,Te=i,B=ee;let ne;t[109]===s?ne=t[110]:(ne=s.filter(Qe).map(Ze),t[109]=s,t[110]=ne);let re=h?m:null;t[111]!==g||t[112]!==ne||t[113]!==re?(V={themeIds:ne,selectedId:re,onSelect:g},t[111]=g,t[112]=ne,t[113]=re,t[114]=V):V=t[114],oe=e.map(Xe),t[51]=o,t[52]=y,t[53]=f,t[54]=m,t[55]=i,t[56]=E,t[57]=u,t[58]=r,t[59]=a,t[60]=d,t[61]=p,t[62]=g,t[63]=M,t[64]=h,t[65]=s,t[66]=l,t[67]=c,t[68]=k,t[69]=A,t[70]=j,t[71]=we,t[72]=F,t[73]=I,t[74]=oe,t[75]=le,t[76]=me,t[77]=Te,t[78]=B,t[79]=V}else k=t[68],A=t[69],j=t[70],we=t[71],F=t[72],I=t[73],oe=t[74],le=t[75],me=t[76],Te=t[77],B=t[78],V=t[79];let H;t[115]!==j||t[116]!==oe?(H={themeIds:oe,onDelete:j},t[115]=j,t[116]=oe,t[117]=H):H=t[117];let U;t[118]===Symbol.for(`react.memo_cache_sentinel`)?(U={onCreate:()=>v(!0)},t[118]=U):U=t[118];let W;t[119]!==r||t[120]!==M||t[121]!==s?(W=(e,t)=>r(e,t,M,s),t[119]=r,t[120]=M,t[121]=s,t[122]=W):W=t[122],t[123]!==k||t[124]!==le||t[125]!==me||t[126]!==Te||t[127]!==B||t[128]!==V||t[129]!==H||t[130]!==W?(L=(0,$.jsx)(k,{...le,selection:me,themes:Te,unavailableThemes:B,editControl:V,deleteControl:H,createControl:U,onAssign:W}),t[123]=k,t[124]=le,t[125]=me,t[126]=Te,t[127]=B,t[128]=V,t[129]=H,t[130]=W,t[131]=L):L=t[131],he=ce,xe=_,t[132]===E?Ce=t[133]:(Ce=e=>{E||v(e)},t[132]=E,t[133]=Ce),pe=ie;let G;t[134]===o?G=t[135]:(G=o({id:`Z_nNa2`}),t[134]=o,t[135]=G);let K;t[136]===G?K=t[137]:(K=(0,$.jsx)(re,{children:G}),t[136]=G,t[137]=K);let q;t[138]===o?q=t[139]:(q=o({id:`nTM8ab`}),t[138]=o,t[139]=q);let J;t[140]===q?J=t[141]:(J=(0,$.jsx)(ne,{children:q}),t[140]=q,t[141]=J),t[142]!==K||t[143]!==J?(be=(0,$.jsxs)(se,{className:`gap-2`,children:[K,J]}),t[142]=K,t[143]=J,t[144]=be):be=t[144],P=ae,ge=`create-saved-theme-form`,_e=!0,ve=A,ee=fe,ke=C!==null;let Y;t[145]===o?Y=t[146]:(Y=o({id:`HZ7fEu`}),t[145]=o,t[146]=Y),t[147]===Y?R=t[148]:(R=(0,$.jsx)(ue,{htmlFor:`create-saved-theme-name`,children:Y}),t[147]=Y,t[148]=R);let X=C!==null,Z=C?`create-saved-theme-help create-saved-theme-error`:`create-saved-theme-help`,Q;t[149]===C?Q=t[150]:(Q=e=>{S(e.target.value),C&&T(null)},t[149]=C,t[150]=Q),t[151]!==y||t[152]!==E||t[153]!==X||t[154]!==Z||t[155]!==Q?(z=(0,$.jsx)(Ae,{ref:O,id:`create-saved-theme-name`,value:y,autoFocus:!0,autoComplete:`off`,required:!0,readOnly:E,"aria-invalid":X,"aria-describedby":Z,onChange:Q}),t[151]=y,t[152]=E,t[153]=X,t[154]=Z,t[155]=Q,t[156]=z):z=t[156],N=de,Ee=`create-saved-theme-help`,De=`font-mono`,Oe=e.ok?o({id:`Yb82LN`,values:{0:e.stem}}):o({id:`4d0VYJ`}),t[10]=o,t[11]=C,t[12]=y,t[13]=_,t[14]=f,t[15]=m,t[16]=E,t[17]=u,t[18]=r,t[19]=a,t[20]=d,t[21]=p,t[22]=g,t[23]=M,t[24]=h,t[25]=s,t[26]=l,t[27]=c,t[28]=N,t[29]=ee,t[30]=P,t[31]=pe,t[32]=he,t[33]=ge,t[34]=_e,t[35]=ve,t[36]=be,t[37]=xe,t[38]=Ce,t[39]=we,t[40]=F,t[41]=I,t[42]=L,t[43]=Ee,t[44]=De,t[45]=Oe,t[46]=ke,t[47]=R,t[48]=z}else N=t[28],ee=t[29],P=t[30],pe=t[31],he=t[32],ge=t[33],_e=t[34],ve=t[35],be=t[36],xe=t[37],Ce=t[38],we=t[39],F=t[40],I=t[41],L=t[42],Ee=t[43],De=t[44],Oe=t[45],ke=t[46],R=t[47],z=t[48];let B;t[157]!==N||t[158]!==Ee||t[159]!==De||t[160]!==Oe?(B=(0,$.jsx)(N,{id:Ee,className:De,children:Oe}),t[157]=N,t[158]=Ee,t[159]=De,t[160]=Oe,t[161]=B):B=t[161];let V;t[162]===C?V=t[163]:(V=C?(0,$.jsx)(le,{id:`create-saved-theme-error`,children:C}):null,t[162]=C,t[163]=V);let H;t[164]!==ee||t[165]!==B||t[166]!==V||t[167]!==ke||t[168]!==R||t[169]!==z?(H=(0,$.jsxs)(ee,{"data-invalid":ke,children:[R,z,B,V]}),t[164]=ee,t[165]=B,t[166]=V,t[167]=ke,t[168]=R,t[169]=z,t[170]=H):H=t[170];let U;t[171]!==ge||t[172]!==_e||t[173]!==ve||t[174]!==H?(U=(0,$.jsx)(`form`,{id:ge,noValidate:_e,onSubmit:ve,children:H}),t[171]=ge,t[172]=_e,t[173]=ve,t[174]=H,t[175]=U):U=t[175];let W;t[176]!==P||t[177]!==U?(W=(0,$.jsx)(P,{children:U}),t[176]=P,t[177]=U,t[178]=W):W=t[178];let G;t[179]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>v(!1),t[179]=G):G=t[179];let K;t[180]===o?K=t[181]:(K=o({id:`dEgA5A`}),t[180]=o,t[181]=K);let q;t[182]!==E||t[183]!==K?(q=(0,$.jsx)(b,{type:`button`,variant:`outline`,disabled:E,onClick:G,children:K}),t[182]=E,t[183]=K,t[184]=q):q=t[184];let X;t[185]!==o||t[186]!==E?(X=o(E?{id:`_DwR-n`}:{id:`cuHhjo`}),t[185]=o,t[186]=E,t[187]=X):X=t[187];let Z;t[188]!==E||t[189]!==X?(Z=(0,$.jsx)(b,{type:`submit`,form:`create-saved-theme-form`,disabled:E,children:X}),t[188]=E,t[189]=X,t[190]=Z):Z=t[190];let Q;t[191]!==q||t[192]!==Z?(Q=(0,$.jsxs)(oe,{children:[q,Z]}),t[191]=q,t[192]=Z,t[193]=Q):Q=t[193];let je;t[194]!==pe||t[195]!==be||t[196]!==W||t[197]!==Q?(je=(0,$.jsxs)(pe,{children:[be,W,Q]}),t[194]=pe,t[195]=be,t[196]=W,t[197]=Q,t[198]=je):je=t[198];let Me;t[199]!==he||t[200]!==xe||t[201]!==Ce||t[202]!==je?(Me=(0,$.jsx)(he,{open:xe,onOpenChange:Ce,children:je}),t[199]=he,t[200]=xe,t[201]=Ce,t[202]=je,t[203]=Me):Me=t[203];let Ne;return t[204]!==we||t[205]!==F||t[206]!==I||t[207]!==L||t[208]!==Me?(Ne=(0,$.jsxs)(`div`,{className:we,children:[F,I,L,Me]}),t[204]=we,t[205]=F,t[206]=I,t[207]=L,t[208]=Me,t[209]=Ne):Ne=t[209],Ne}function Xe(e){return e.id}function Ze(e){return e.id}function Qe(e){return e.id.startsWith(`saved-`)}function $e(e){let t=we(e.id);return!t.ok||!e.scheme?[]:[{id:e.id,stem:t.stem,label:e.label,scheme:e.scheme}]}function et(e){return e.id!==`custom`}function tt(e,t){if(e.length===0)throw Error(`buildPatch: path must be non-empty`);let[n,...r]=e;return r.length===0?{[String(n)]:t}:{[String(n)]:tt(r,t)}}function nt(e){let t=e;for(let e=0;e<16;e++){if(t==null)return;let e=t?._zod?.def;if(e?.type===`default`){let t=e.defaultValue;return typeof t==`function`?t():t}let n=t?._zod?.def?.innerType;if(n===void 0)return;t=n}}function rt(e){let t=e;for(let e=0;e<16;e++){if(t==null)return;let e=t?._zod?.def;if(!e)return;if(e.type===`default`||e.type===`optional`||e.type===`nullable`){t=e.innerType;continue}return e.type}}function it(e){let t=e;for(let e=0;e<16;e++){if(t==null)return;let e=t?._zod?.def;if(!e)return;if(e.type===`enum`)return e.entries?Object.values(e.entries):void 0;if(e.innerType!==void 0){t=e.innerType;continue}return}}function at(e){let t=(0,Y.c)(14),n;t[0]===e?n=t[1]:(n=e.current(),t[0]=e,t[1]=n);let r=n,i;t[2]===r?i=t[3]:(i={defaultValues:r,mode:`onBlur`},t[2]=r,t[3]=i);let a=z(i),o,s;t[4]!==e||t[5]!==a?(o=()=>e.subscribe(e=>{ot(a,e)}),s=[e,a],t[4]=e,t[5]=a,t[6]=o,t[7]=s):(o=t[6],s=t[7]),(0,J.useEffect)(o,s);let c;t[8]!==e||t[9]!==a?(c=t=>st(a,e,t),t[8]=e,t[9]=a,t[10]=c):c=t[10];let l=c,u;return t[11]!==l||t[12]!==a?(u={form:a,commitField:l},t[11]=l,t[12]=a,t[13]=u):u=t[13],u}function ot(e,t){e.reset(t,{keepDirtyValues:!0,keepDirty:!0,keepTouched:!0})}function st(e,t,n){let r=e.getValues(n),i=tt(ut(n),r),a=t.patch(i);if(a.ok)return e.clearErrors(n),e.resetField(n,{defaultValue:r,keepError:!1}),!0;if(C(a.error)&&a.error.code===`SCHEMA_INVALID`&&a.error.issues.length>0){e.clearErrors(n);for(let t of a.error.issues){let r=t.path.length>0?t.path.map(String).join(`.`):n;e.setError(r,{type:`config-binding`,message:t.message})}}else e.setError(n,{type:`config-binding`,message:ct(a.error,n)});return!1}function ct(e,t){if(C(e)&&e.code===`SCHEMA_INVALID`){let n=e.issues.find(e=>lt(e,t));if(n)return n.message}return S(e)}function lt(e,t){return e.path.map(String).join(`.`)===t}function ut(e){return e.split(`.`)}function dt(e){if(!C(e)||e.code!==`SCHEMA_INVALID`)return null;let t=e.issues[0];return!t||t.path.length===0?null:t.path.map(String).join(`.`)}function ft(){let e=(0,Y.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(q,{className:`h-5 w-32`}),n=(0,$.jsx)(q,{className:`h-4 w-64`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsxs)(`div`,{className:`space-y-3`,children:[t,n,(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(q,{className:`h-9 w-full`}),(0,$.jsx)(q,{className:`h-9 w-full`})]})]}),e[2]=r):r=e[2],r}function pt({field:e,scope:t,commitField:n,isFlashed:o}){"use no memo";let{_:d}=i(),f=U(),{setTheme:p}=a(),m=T(),h=I(L,e.path),g=h?rt(h):void 0,_=h?nt(h):void 0,v=h?it(h):void 0,y=h?F(h):void 0,x=y?.scope===`project`&&t!==`project`||y?.scope===`user`&&t!==`user`,S=e.path.join(`.`),C=d(e.label),[w,D]=(0,J.useState)(!1),O=(0,J.useRef)(null);(0,J.useEffect)(()=>()=>{O.current&&clearTimeout(O.current)},[]);let k=()=>{D(!0),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>D(!1),1200)},A=()=>{let e=n(S);return e&&k(),e},j=()=>f.getFieldState(S).isDirty?A():!0,M=()=>{if(e.control===`theme-tiles`){let e=m?.userBinding;if(!e)return;let t=e.patch({appearance:ve()});t.ok?k():f.setError(S,{type:`manual`,message:ct(t.error,S)});return}let t=_===void 0?null:_;f.setValue(S,t,{shouldDirty:!1}),e.control===`theme-cards`&&p(E(t)),A()},N=s(`relative`,o&&`animate-settings-flash`);return(0,$.jsx)(B,{control:f.control,name:S,render:({field:n})=>{let i=!x&&(_!==void 0||n.value!==void 0);return(0,$.jsxs)(R,{className:N,"data-field":e.path.join(`.`),"data-scope":t,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(H,{className:`text-sm font-medium`,children:C}),i?(0,$.jsxs)(u,{children:[(0,$.jsx)(c,{asChild:!0,children:(0,$.jsx)(b,{variant:`ghost`,size:`icon`,className:`h-5 w-5 text-muted-foreground opacity-60 hover:opacity-100`,onClick:M,"aria-label":d({id:`lhjq3G`,values:{labelText:C}}),children:(0,$.jsx)(ee,{className:`size-3.5`})})}),(0,$.jsx)(l,{children:(0,$.jsx)(r,{id:`L-rMC9`})})]}):null]}),e.description?(0,$.jsx)(W,{className:`text-muted-foreground text-1sm`,children:d(e.description)}):null,(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(V,{children:(0,$.jsx)(ht,{field:e,ctl:n,typeTag:g,enumOptions:v,onCommit:j,onRevertToBaseline:()=>f.resetField(S,{keepError:!0}),onSavedOutsideForm:k,onWriteRejected:e=>{f.setError(S,{type:`manual`,message:ct(e,S)})}})}),(0,$.jsx)(yt,{visible:w,srOnly:mt(e.control)})]}),(0,$.jsx)(G,{"data-field-error":e.path.join(`.`)})]})}})}function mt(e){return e===`theme-tiles`||e===`theme-cards`}function ht({field:e,ctl:t,typeTag:n,enumOptions:r,onCommit:o,onRevertToBaseline:s,onSavedOutsideForm:c,onWriteRejected:l,...u}){"use no memo";let{_:d}=i(),{setTheme:f,systemTheme:p}=a(),m=T(),h=m?.merged??null;if(e.control===`language-select`)return(0,$.jsx)(Re,{...u,value:t.value,ref:t.ref,onBlur:t.onBlur,onValueChange:e=>{let n=De(t.value)??`system`;n!==e&&Z({from:n,to:e}),t.onChange(e),o()}});if(e.control===`theme-cards`){let{id:n,...r}=u;return(0,$.jsx)(j,{...r,firstItemId:n,value:E(t.value),"aria-label":d(e.label),onValueChange:e=>{let n=E(t.value);f(e),t.onChange(e),!o()&&(f(n),s())}})}if(e.control===`theme-tiles`){let{id:t,...n}=u,r=h?.appearance?.customTheme,i=h?.appearance?.theme,a=Ce(i,p===`dark`);return(0,$.jsx)(Ye,{...n,firstItemId:t,appearance:h?.appearance,customSeed:r,slotMode:a,"aria-label":d(e.label),onAssign:(e,t,n,o)=>{let s=m?.userBinding;if(!s)return;let u={...n,[e]:t},d=e=>{let t=e[a];return t===`custom`?he(ye(r)):pe(t,o)};_e({selection:u,modePreference:i,slotMode:a,customSeed:r,themes:o}),f(d(u)??i??`system`);let p=s.patch({appearance:be(u)});if(p.ok){Me(u),c();return}_e({selection:n,modePreference:i,slotMode:a,customSeed:r,themes:o}),f(d(n)??i??`system`),l(p.error)}})}if(n===`boolean`)return(0,$.jsx)(g,{...u,checked:!!t.value,ref:t.ref,onCheckedChange:e=>{t.onChange(e),o()},onBlur:t.onBlur});if(n===`enum`&&r&&r.length>0&&(e.control===`enum-toggle`||r.length<=4)){let{id:n,...i}=u;return(0,$.jsx)(y,{...i,type:`single`,value:typeof t.value==`string`?t.value:``,ref:t.ref,onValueChange:e=>{e&&(t.onChange(e),o())},onBlur:t.onBlur,variant:`segmented`,size:`sm`,spacing:1,className:`bg-muted dark:bg-background p-0.5 rounded-lg`,"aria-label":d(e.label),children:r.map((e,t)=>(0,$.jsx)(_,{value:e,id:t===0?n:void 0,className:`text-1sm capitalize`,children:e},e))})}return n===`number`||n===`int`?(0,$.jsx)(_t,{ctl:t,onCommit:o,...u}):n===`array`?(0,$.jsx)(vt,{ctl:t,onCommit:o,...u}):(0,$.jsx)(gt,{ctl:t,onCommit:o,...u})}function gt({ctl:e,onCommit:t,...n}){"use no memo";return(0,$.jsx)(Ae,{...n,value:typeof e.value==`string`?e.value:``,ref:e.ref,onChange:t=>e.onChange(t.target.value),onBlur:()=>{e.onBlur(),t()},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),t())},className:`h-8 text-sm`})}function _t({ctl:e,onCommit:t,...n}){"use no memo";let[r,i]=(0,J.useState)(e.value===void 0?``:String(e.value)),a=(0,J.useRef)(e.value);(0,J.useEffect)(()=>{a.current!==e.value&&(i(e.value===void 0?``:String(e.value)),a.current=e.value)},[e.value]);let o=()=>{let n=Number(r);if(!Number.isFinite(n)){e.onChange(r),t();return}e.onChange(n),t(),a.current=n};return(0,$.jsx)(Ae,{...n,type:`number`,value:r,ref:e.ref,onChange:e=>i(e.target.value),onBlur:()=>{e.onBlur(),o()},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),o())},className:`h-8 w-28 text-sm tabular-nums`})}function vt({ctl:e,onCommit:t,...n}){"use no memo";let r=Array.isArray(e.value)?e.value.join(`
2
+ `):``,[i,a]=(0,J.useState)(r),o=(0,J.useRef)(r);(0,J.useEffect)(()=>{let t=Array.isArray(e.value)?e.value.join(`
3
+ `):``;t!==o.current&&(a(t),o.current=t)},[e.value]);let s=()=>{let n=i.split(`
4
+ `).map(e=>e.trim()).filter(e=>e.length>0);e.onChange(n),t(),o.current=n.join(`
5
+ `)};return(0,$.jsx)(K,{...n,value:i,ref:e.ref,onChange:e=>a(e.target.value),onBlur:()=>{e.onBlur(),s()},rows:Math.max(2,Math.min(6,i.split(`
6
+ `).length)),className:`field-sizing-fixed min-h-16 rounded-md bg-background px-3 py-1.5 font-mono text-xs md:text-xs dark:bg-background`})}function yt(e){let t=(0,Y.c)(8),{visible:n,srOnly:i}=e,a=i===void 0?!1:i,o=a&&`sr-only`,c;t[0]===o?c=t[1]:(c=s(`text-emerald-600`,o),t[0]=o,t[1]=c);let l;t[2]!==a||t[3]!==n?(l=n?(0,$.jsxs)($.Fragment,{children:[a?null:(0,$.jsx)(D,{"aria-hidden":`true`,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`sr-only`,children:(0,$.jsx)(r,{id:`idD8Ev`})})]}):null,t[2]=a,t[3]=n,t[4]=l):l=t[4];let u;return t[5]!==c||t[6]!==l?(u=(0,$.jsx)(`span`,{role:`status`,"aria-live":`polite`,className:c,children:l}),t[5]=c,t[6]=l,t[7]=u):u=t[7],u}export{ct as a,dt as i,ft as n,at as o,pt as r,yt as t};