@nubisco/ui 5.0.0 → 5.2.0

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 (202) hide show
  1. package/dist/{Blueprint-zT-ZOWep.cjs → Blueprint-C819Fit5.cjs} +1 -1
  2. package/dist/{Blueprint-BssBWGv5.js → Blueprint-fhDJzNS2.js} +2 -2
  3. package/dist/{BlueprintCard-CS_ZWdB0.js → BlueprintCard-B2S3dtFk.js} +1 -1
  4. package/dist/{BlueprintCard-CYXyeph3.cjs → BlueprintCard-s0ss_fab.cjs} +1 -1
  5. package/dist/CommandPalette-CPJKTiDt.cjs +1 -0
  6. package/dist/CommandPalette-iaEdat_y.js +223 -0
  7. package/dist/{InlineLoading-DQZ1capH.cjs → InlineLoading-8HdPSyXm.cjs} +1 -1
  8. package/dist/{InlineLoading-DA8__t0M.js → InlineLoading-ZeqQTbY1.js} +1 -1
  9. package/dist/{NotificationCenter-Duu3XZC3.js → NotificationCenter-BAncrTOw.js} +3 -3
  10. package/dist/{NotificationCenter-oOzClQI-.cjs → NotificationCenter-Cw2YXNQj.cjs} +1 -1
  11. package/dist/SidebarCollapseToggle-BQuF6kSO.js +48 -0
  12. package/dist/SidebarCollapseToggle-DM1899Ee.cjs +1 -0
  13. package/dist/SidebarMenuItem-B-H0berP.js +246 -0
  14. package/dist/SidebarMenuItem-COd8DP6e.cjs +1 -0
  15. package/dist/{Skeleton-DP9iM6Ku.cjs → Skeleton-C7qpz76n.cjs} +1 -1
  16. package/dist/{Skeleton-sox6qUDk.js → Skeleton-D8_ZS3rD.js} +1 -1
  17. package/dist/{Slider-C0761rBk.js → Slider-BJcuzn-P.js} +1 -1
  18. package/dist/{Slider-BNiQaaVa.cjs → Slider-CyAUWetS.cjs} +1 -1
  19. package/dist/{Spinner-CqSN2vaR.cjs → Spinner-0U-QK2re.cjs} +1 -1
  20. package/dist/{Spinner-BEYUpJdP.js → Spinner-CcKjiWEY.js} +1 -1
  21. package/dist/{Stepper-2WscvFLm.cjs → Stepper-Dthh04Y2.cjs} +1 -1
  22. package/dist/{Stepper-Ce3Qa_7z.js → Stepper-yBAsjyhx.js} +1 -1
  23. package/dist/{StepperStep-B9JEE6WJ.cjs → StepperStep-IoUSk6oB.cjs} +1 -1
  24. package/dist/{StepperStep-DFeOJ1ju.js → StepperStep-r0LjQQI9.js} +1 -1
  25. package/dist/{Toaster-Dz_o--LF.cjs → Toaster-D9lIWrdC.cjs} +1 -1
  26. package/dist/{Toaster-C1Uyr6O7.js → Toaster-DRVC544c.js} +1 -1
  27. package/dist/{Tree-D2gEoq-H.cjs → Tree-BLqp392K.cjs} +1 -1
  28. package/dist/{Tree-BXEqU6js.js → Tree-Ol3M-fjh.js} +1 -1
  29. package/dist/{TreeNode-DB7ipWCg.cjs → TreeNode-C4ukoVd5.cjs} +1 -1
  30. package/dist/{TreeNode-a0MHLI27.js → TreeNode-COO-Fyys.js} +1 -1
  31. package/dist/UserMenu-Cmk1RDMh.cjs +1 -0
  32. package/dist/UserMenu-D1TNnwFB.js +305 -0
  33. package/dist/all.cjs +1 -1
  34. package/dist/all.mjs +92 -89
  35. package/dist/component-styles.json +4 -0
  36. package/dist/components/AiLabel.cjs +1 -1
  37. package/dist/components/AiLabel.mjs +1 -1
  38. package/dist/components/Blueprint.cjs +1 -1
  39. package/dist/components/Blueprint.mjs +1 -1
  40. package/dist/components/BlueprintBackground.cjs +1 -1
  41. package/dist/components/BlueprintBackground.mjs +1 -1
  42. package/dist/components/BlueprintCard.cjs +1 -1
  43. package/dist/components/BlueprintCard.mjs +1 -1
  44. package/dist/components/BlueprintControls.cjs +1 -1
  45. package/dist/components/BlueprintControls.mjs +1 -1
  46. package/dist/components/BlueprintMinimap.cjs +1 -1
  47. package/dist/components/BlueprintMinimap.mjs +1 -1
  48. package/dist/components/BottomPanel.cjs +1 -1
  49. package/dist/components/BottomPanel.mjs +1 -1
  50. package/dist/components/Charts/Sparkline.cjs +1 -1
  51. package/dist/components/Charts/Sparkline.mjs +1 -1
  52. package/dist/components/CommandPalette.cjs +1 -1
  53. package/dist/components/CommandPalette.d.ts +28 -0
  54. package/dist/components/CommandPalette.mjs +1 -1
  55. package/dist/components/CommandPalette.vue.d.ts +2 -0
  56. package/dist/components/CommandPalette.vue.d.ts.map +1 -1
  57. package/dist/components/FileUploader.cjs +1 -1
  58. package/dist/components/FileUploader.mjs +1 -1
  59. package/dist/components/Form.cjs +1 -1
  60. package/dist/components/Form.mjs +1 -1
  61. package/dist/components/ImageCropper.cjs +1 -1
  62. package/dist/components/ImageCropper.mjs +1 -1
  63. package/dist/components/InlineEdit.cjs +1 -1
  64. package/dist/components/InlineEdit.mjs +1 -1
  65. package/dist/components/InlineLoading.cjs +1 -1
  66. package/dist/components/InlineLoading.mjs +1 -1
  67. package/dist/components/NotificationCenter.cjs +1 -1
  68. package/dist/components/NotificationCenter.mjs +1 -1
  69. package/dist/components/NotificationCenterItem.cjs +1 -1
  70. package/dist/components/NotificationCenterItem.mjs +1 -1
  71. package/dist/components/NumberInput.cjs +1 -1
  72. package/dist/components/NumberInput.mjs +1 -1
  73. package/dist/components/ProgressBar.cjs +1 -1
  74. package/dist/components/ProgressBar.mjs +1 -1
  75. package/dist/components/Radio.cjs +1 -1
  76. package/dist/components/Radio.mjs +1 -1
  77. package/dist/components/ShellPanel.cjs +1 -1
  78. package/dist/components/ShellPanel.mjs +1 -1
  79. package/dist/components/SidebarCollapseToggle.cjs +1 -0
  80. package/dist/components/SidebarCollapseToggle.d.ts +14 -0
  81. package/dist/components/SidebarCollapseToggle.mjs +2 -0
  82. package/dist/components/SidebarCollapseToggle.vue.d.ts +12 -0
  83. package/dist/components/SidebarCollapseToggle.vue.d.ts.map +1 -0
  84. package/dist/components/SidebarLink.cjs +1 -1
  85. package/dist/components/SidebarLink.mjs +1 -1
  86. package/dist/components/SidebarMenu.cjs +1 -1
  87. package/dist/components/SidebarMenu.mjs +1 -1
  88. package/dist/components/SidebarMenuGroup.cjs +1 -1
  89. package/dist/components/SidebarMenuGroup.mjs +1 -1
  90. package/dist/components/SidebarMenuItem.cjs +1 -1
  91. package/dist/components/SidebarMenuItem.mjs +1 -1
  92. package/dist/components/SidebarMenuItem.vue.d.ts +3 -3
  93. package/dist/components/SidebarMenuItem.vue.d.ts.map +1 -1
  94. package/dist/components/Skeleton.cjs +1 -1
  95. package/dist/components/Skeleton.mjs +1 -1
  96. package/dist/components/Slider.cjs +1 -1
  97. package/dist/components/Slider.mjs +1 -1
  98. package/dist/components/Spinner.cjs +1 -1
  99. package/dist/components/Spinner.mjs +1 -1
  100. package/dist/components/Stepper.cjs +1 -1
  101. package/dist/components/Stepper.mjs +1 -1
  102. package/dist/components/StepperStep.cjs +1 -1
  103. package/dist/components/StepperStep.mjs +1 -1
  104. package/dist/components/Tabs.cjs +1 -1
  105. package/dist/components/Tabs.mjs +1 -1
  106. package/dist/components/Toast.cjs +1 -1
  107. package/dist/components/Toast.mjs +1 -1
  108. package/dist/components/Toaster.cjs +1 -1
  109. package/dist/components/Toaster.mjs +1 -1
  110. package/dist/components/Tree.cjs +1 -1
  111. package/dist/components/Tree.mjs +1 -1
  112. package/dist/components/TreeNode.cjs +1 -1
  113. package/dist/components/TreeNode.mjs +1 -1
  114. package/dist/components/UserMenu.cjs +1 -1
  115. package/dist/components/UserMenu.d.ts +21 -0
  116. package/dist/components/UserMenu.mjs +1 -1
  117. package/dist/components/UserMenu.vue.d.ts +3 -1
  118. package/dist/components/UserMenu.vue.d.ts.map +1 -1
  119. package/dist/components/Walkthrough.cjs +1 -1
  120. package/dist/components/Walkthrough.mjs +1 -1
  121. package/dist/components/index.d.ts.map +1 -1
  122. package/dist/components/manifest.d.ts +1 -0
  123. package/dist/components/manifest.d.ts.map +1 -1
  124. package/dist/components/manifest.js +1 -0
  125. package/dist/composables/useBlueprint.composable.cjs +1 -1
  126. package/dist/composables/useBlueprint.composable.mjs +1 -1
  127. package/dist/composables/useInlineLoading.composable.cjs +1 -1
  128. package/dist/composables/useInlineLoading.composable.mjs +1 -1
  129. package/dist/composables/useLoadingAnnouncer.composable.cjs +1 -1
  130. package/dist/composables/useLoadingAnnouncer.composable.mjs +1 -1
  131. package/dist/composables/useSidebarVariant.composable.cjs +1 -0
  132. package/dist/composables/useSidebarVariant.composable.d.ts +44 -0
  133. package/dist/composables/useSidebarVariant.composable.d.ts.map +1 -0
  134. package/dist/composables/useSidebarVariant.composable.mjs +34 -0
  135. package/dist/global.d.ts +2 -0
  136. package/dist/index.cjs +1 -1
  137. package/dist/index.mjs +52 -50
  138. package/dist/main.d.ts +6 -2
  139. package/dist/main.d.ts.map +1 -1
  140. package/dist/styles/SidebarMenuItem.css +1 -1
  141. package/dist/styles/UserMenu.css +1 -1
  142. package/dist/ui.css +2 -2
  143. package/package.json +1 -1
  144. package/src/styles/presets/_classic-fields.scss +1 -1
  145. package/dist/CommandPalette-BNXzQurN.js +0 -174
  146. package/dist/CommandPalette-DBjeOPtA.cjs +0 -1
  147. package/dist/SidebarMenuItem-Dc6oh2Nc.cjs +0 -1
  148. package/dist/SidebarMenuItem-Dpqr9e0A.js +0 -170
  149. package/dist/UserMenu-CFJBVNEU.cjs +0 -1
  150. package/dist/UserMenu-a4P_4Yau.js +0 -265
  151. /package/dist/{AiLabel-DtM5ZCQC.cjs → AiLabel-B-nN5dz3.cjs} +0 -0
  152. /package/dist/{AiLabel-Ci7eROcw.js → AiLabel-BYVf6DKC.js} +0 -0
  153. /package/dist/{Blueprint.context-CFxL4QTQ.cjs → Blueprint.context-CFUllT-M.cjs} +0 -0
  154. /package/dist/{Blueprint.context-CFdYIXJd.js → Blueprint.context-M8FbIHtQ.js} +0 -0
  155. /package/dist/{BlueprintBackground-Cfr5Xqcc.cjs → BlueprintBackground-CwzmUWRZ.cjs} +0 -0
  156. /package/dist/{BlueprintBackground-Bm9-bZiz.js → BlueprintBackground-SShbMh4a.js} +0 -0
  157. /package/dist/{BlueprintControls-CdvNvRkW.cjs → BlueprintControls-C2x7gjPJ.cjs} +0 -0
  158. /package/dist/{BlueprintControls-BkwhsHI8.js → BlueprintControls-C5kAAVIV.js} +0 -0
  159. /package/dist/{BlueprintMinimap-QAw6aiCc.js → BlueprintMinimap-CoA82G-Y.js} +0 -0
  160. /package/dist/{BlueprintMinimap-BIBsnBFs.cjs → BlueprintMinimap-DnCeuLvK.cjs} +0 -0
  161. /package/dist/{BottomPanel-BoBCdANz.js → BottomPanel-BV9xSzmN.js} +0 -0
  162. /package/dist/{BottomPanel-dbllmH2v.cjs → BottomPanel-CuaR0raL.cjs} +0 -0
  163. /package/dist/{FileUploader-BJdRC-Kp.cjs → FileUploader-B6Uty0Ya.cjs} +0 -0
  164. /package/dist/{FileUploader-BO2cDUwP.js → FileUploader-BfnrcMOa.js} +0 -0
  165. /package/dist/{Form-MtBoH-yt.cjs → Form-DE_I3zEv.cjs} +0 -0
  166. /package/dist/{Form-z5burrVK.js → Form-SCxw_ZSP.js} +0 -0
  167. /package/dist/{ImageCropper-D7mr-xRE.cjs → ImageCropper-96gRzxtH.cjs} +0 -0
  168. /package/dist/{ImageCropper-DEaGU0cZ.js → ImageCropper-Ded-xHG3.js} +0 -0
  169. /package/dist/{InlineEdit-D95I45Vt.cjs → InlineEdit-BEsB1dcq.cjs} +0 -0
  170. /package/dist/{InlineEdit-DrhJ0AX2.js → InlineEdit-BpdGtf_0.js} +0 -0
  171. /package/dist/{NotificationCenterItem-ZkLsiQIV.js → NotificationCenterItem-CH-V1S51.js} +0 -0
  172. /package/dist/{NotificationCenterItem-Clhhma6H.cjs → NotificationCenterItem-D2TueTtH.cjs} +0 -0
  173. /package/dist/{NumberInput-_ff3Xi2r.js → NumberInput-Dq5-rq78.js} +0 -0
  174. /package/dist/{NumberInput-DKZsdWLv.cjs → NumberInput-jrHPvBH3.cjs} +0 -0
  175. /package/dist/{ProgressBar-aF2zBoRA.js → ProgressBar-CCkhkJCY.js} +0 -0
  176. /package/dist/{ProgressBar-CbqsSdZZ.cjs → ProgressBar-DEVGzMmq.cjs} +0 -0
  177. /package/dist/{Radio-BqjtCaST.cjs → Radio-BSjYK8vn.cjs} +0 -0
  178. /package/dist/{Radio-BnI7bi9Y.js → Radio-xIeFUWBJ.js} +0 -0
  179. /package/dist/{ShellPanel-ChujN0eX.cjs → ShellPanel-CYFImHWL.cjs} +0 -0
  180. /package/dist/{ShellPanel-B3vZcQhX.js → ShellPanel-Dxs-yyJW.js} +0 -0
  181. /package/dist/{SidebarLink-B_CGHs0b.js → SidebarLink-DfWX2gXM.js} +0 -0
  182. /package/dist/{SidebarLink-CZrDLC8g.cjs → SidebarLink-Q3APfpMA.cjs} +0 -0
  183. /package/dist/{SidebarMenu-LLy6Fora.js → SidebarMenu-B9-8XELL.js} +0 -0
  184. /package/dist/{SidebarMenu-f3GDn1-I.cjs → SidebarMenu-Cbn_syLg.cjs} +0 -0
  185. /package/dist/{SidebarMenuGroup-B4jMOWcm.js → SidebarMenuGroup-BlmhsFfz.js} +0 -0
  186. /package/dist/{SidebarMenuGroup-Bb6qRMwk.cjs → SidebarMenuGroup-sMHiDmvz.cjs} +0 -0
  187. /package/dist/{Sparkline-DgYLtmOW.cjs → Sparkline-BaGrganz.cjs} +0 -0
  188. /package/dist/{Sparkline-DpyFwHrc.js → Sparkline-DOXwM53Q.js} +0 -0
  189. /package/dist/{Stepper.context-CKSUoiem.js → Stepper.context-DE2-4Awo.js} +0 -0
  190. /package/dist/{Stepper.context-BOGBVJcj.cjs → Stepper.context-ZHRlJj2r.cjs} +0 -0
  191. /package/dist/{Tabs-Dp27EDrK.cjs → Tabs-4ar_u69q.cjs} +0 -0
  192. /package/dist/{Tabs-CQP9zwDw.js → Tabs-BY0w2xIE.js} +0 -0
  193. /package/dist/{Toast-BBsrCQK8.cjs → Toast-DxqsMIum.cjs} +0 -0
  194. /package/dist/{Toast-cisfK5Zd.js → Toast-LmQbzDjd.js} +0 -0
  195. /package/dist/{TreeContext-Chb7z8Xc.cjs → TreeContext-CzS1Wz-R.cjs} +0 -0
  196. /package/dist/{TreeContext-DMZ0w_tb.js → TreeContext-qAmvKbZg.js} +0 -0
  197. /package/dist/{Walkthrough-qaQ1rved.js → Walkthrough-CDJ_L5v6.js} +0 -0
  198. /package/dist/{Walkthrough-YD3YYxxM.cjs → Walkthrough-sxBesCKN.cjs} +0 -0
  199. /package/dist/{pixi-scene-CO-pr1Vt.cjs → pixi-scene-DD4f6Hr_.cjs} +0 -0
  200. /package/dist/{pixi-scene-BsU_T9YR.js → pixi-scene-zrD35mCw.js} +0 -0
  201. /package/dist/{useLoadingAnnouncer.composable-DjrPyN_4.cjs → useLoadingAnnouncer.composable-0p9NR_9q.cjs} +0 -0
  202. /package/dist/{useLoadingAnnouncer.composable-CUiJu52w.js → useLoadingAnnouncer.composable-_dHf3wif.js} +0 -0
@@ -1 +1 @@
1
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./Blueprint.context-CFxL4QTQ.cjs`);let n=require(`vue`);function r(e){let t=new Map;function n(n,r){let i=`${n}:${r}`,a=t.get(i);if(a&&a.isConnected)return a;a&&t.delete(i);let o=e();if(!o)return null;let s=o.querySelector(`[data-port="${n}:${r}"]`);return s&&t.set(i,s),s}function r(){for(let[e,n]of t)n.isConnected||t.delete(e)}function i(){t.clear()}function a(){return t.size}return{get:n,prune:r,clear:i,size:a}}function i(e){return e instanceof Element?e.parentElement?.classList.contains(`nb-blueprint__canvas`)??!1:!1}var a={class:`nb-blueprint__wires`},o=[`d`,`data-wire-index`,`onMousedown`,`onContextmenu`,`onMousemove`,`onMouseleave`],s=[`d`,`stroke`],c=[`d`,`stroke`],l=[`d`],u=(0,n.defineComponent)({__name:`BlueprintDomRenderer`,props:{panX:{},panY:{},zoom:{},isTransforming:{type:Boolean},wires:{},windowed:{type:Boolean},visibleCards:{},dragWire:{},shouldFlow:{type:Function},levelColoring:{type:Boolean},activityStyle:{},animateConnections:{},background:{},liveData:{}},emits:[`wire-mousedown`,`wire-contextmenu`,`wire-mousemove`,`wire-mouseleave`],setup(e,{emit:t}){let r=e,i=t,u=(0,n.computed)(()=>`translate(${r.panX}px, ${r.panY}px) scale(${r.zoom})`),d=(0,n.computed)(()=>r.isTransforming?`transform`:void 0),f=(0,n.computed)(()=>({transform:u.value,willChange:d.value})),p=(0,n.computed)(()=>({transform:u.value,transformOrigin:`0 0`,willChange:d.value}));return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[e.background===`none`?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:(0,n.normalizeClass)([`nb-blueprint__grid`,`nb-blueprint__grid--${e.background}`]),style:(0,n.normalizeStyle)(f.value)},null,6)),(0,n.createElementVNode)(`div`,{class:`nb-blueprint__canvas`,style:(0,n.normalizeStyle)(p.value)},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,a,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.wires,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`g`,{key:t,class:`nb-blueprint__wire-group`},[(0,n.createElementVNode)(`path`,{d:e.path,fill:`none`,stroke:`transparent`,"stroke-width":`14`,class:`nb-blueprint__wire-hitregion`,"data-wire-index":t,onMousedown:t=>i(`wire-mousedown`,t,e.conn),onContextmenu:(0,n.withModifiers)(t=>i(`wire-contextmenu`,t,e.conn),[`prevent`]),onMousemove:t=>i(`wire-mousemove`,t,e.conn),onMouseleave:t=>i(`wire-mouseleave`,e.conn)},null,40,o),(0,n.createElementVNode)(`path`,{d:e.path,fill:`none`,stroke:e.color,"stroke-width":`1.5`,class:(0,n.normalizeClass)([`nb-blueprint__wire`,{"nb-blueprint__wire--inactive":e.conn.active===!1}]),"pointer-events":`none`},null,10,s)]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.wires,(t,r)=>(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:`flow-${r}`,d:t.path,fill:`none`,stroke:t.color,"stroke-width":`1.5`,"stroke-dasharray":`4 8`,class:`nb-blueprint__wire-flow`,"pointer-events":`none`},null,8,c)),[[n.vShow,e.shouldFlow(t.conn)]])),128)),e.dragWire?((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:0,d:e.dragWire,fill:`none`,stroke:`var(--nb-c-primary)`,"stroke-width":`2`,"stroke-dasharray":`6 3`,opacity:`0.6`},null,8,l)):(0,n.createCommentVNode)(``,!0)])),e.windowed?((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:0},(0,n.renderList)(e.visibleCards,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.id,class:`nb-blueprint__card-wrapper`,style:(0,n.normalizeStyle)({position:`absolute`,left:`${e.x}px`,top:`${e.y}px`})},[(0,n.renderSlot)(t.$slots,`card`,{card:e},void 0,!0)],4))),128)):(0,n.renderSlot)(t.$slots,`default`,{key:1},void 0,!0)],4)],64))}}),d=e.t(u,[[`__scopeId`,`data-v-31ed2748`]]),f={class:`nb-blueprint__wires`},p=[`d`,`stroke`],m=[`d`,`data-wire-index`,`onMousedown`,`onContextmenu`,`onMousemove`,`onMouseleave`],h=[`d`],g=(0,n.defineComponent)({__name:`BlueprintPixiRenderer`,props:{panX:{},panY:{},zoom:{},isTransforming:{type:Boolean},wires:{},windowed:{type:Boolean},visibleCards:{},dragWire:{},shouldFlow:{type:Function},levelColoring:{type:Boolean},activityStyle:{},animateConnections:{},background:{},liveData:{}},emits:[`wire-mousedown`,`wire-contextmenu`,`wire-mousemove`,`wire-mouseleave`,`unavailable`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(),o=(0,n.ref)(),s=(0,n.ref)(!1),c=null,l,u=(0,n.computed)(()=>({transform:`translate(${r.panX}px, ${r.panY}px) scale(${r.zoom})`,transformOrigin:`0 0`,willChange:r.isTransforming?`transform`:`auto`}));function d(){let e=a.value?.parentElement;return{width:e?.clientWidth??0,height:e?.clientHeight??0}}async function g(){let e=a.value,t=o.value;if(!(!e||!t))try{let[n,{PixiScene:i}]=await Promise.all([import(`pixi.js`),Promise.resolve().then(()=>require(`./pixi-scene-CO-pr1Vt.cjs`))]),{width:o,height:l}=d(),u=await i.create(n,{canvas:e,el:t,width:o,height:l,resolution:window.devicePixelRatio||1,background:r.background,liveData:r.liveData});if(!a.value){u.destroy();return}c=u,_(),s.value=!0,v()}catch(e){i(`unavailable`,e)}}function _(){c&&(c.setCamera(r.panX,r.panY,r.zoom),c.setLevelColoring(r.levelColoring??!1),c.setActivityStyle(r.activityStyle??`flow`),c.setWires(r.wires,r.shouldFlow),c.setMeters(r.visibleCards))}function v(){let e=a.value?.parentElement;e&&(l=new ResizeObserver(()=>{if(!c)return;let{width:e,height:t}=d();c.resize(e,t,window.devicePixelRatio||1)}),l.observe(e))}return(0,n.watch)(()=>[r.panX,r.panY,r.zoom],([e,t,n])=>c?.setCamera(e,t,n)),(0,n.watch)(()=>r.wires,e=>c?.setWires(e,r.shouldFlow)),(0,n.watch)(()=>r.visibleCards,e=>c?.setMeters(e)),(0,n.watch)(()=>r.levelColoring,e=>c?.setLevelColoring(e??!1)),(0,n.watch)(()=>r.activityStyle,e=>c?.setActivityStyle(e??`flow`)),(0,n.watch)(()=>r.animateConnections,()=>c?.setWires(r.wires,r.shouldFlow)),(0,n.watch)(()=>r.background,e=>c?.setBackground(e)),(0,n.onMounted)(g),(0,n.onBeforeUnmount)(()=>{l?.disconnect(),c?.destroy(),c=null}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createElementVNode)(`canvas`,{ref_key:`canvasRef`,ref:a,class:`nb-blueprint-pixi__canvas`},null,512),(0,n.createElementVNode)(`div`,{ref_key:`overlayRef`,ref:o,class:`nb-blueprint__canvas nb-blueprint-pixi__overlay`,style:(0,n.normalizeStyle)(u.value)},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,f,[s.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:0},(0,n.renderList)(e.wires,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:`w-${t}`,d:e.path,fill:`none`,stroke:e.color,"stroke-width":`1.5`,class:(0,n.normalizeClass)([`nb-blueprint__wire`,{"nb-blueprint__wire--inactive":e.conn.active===!1}]),"pointer-events":`none`},null,10,p))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.wires,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:`h-${t}`,d:e.path,fill:`none`,stroke:`transparent`,"stroke-width":`14`,class:`nb-blueprint__wire-hitregion`,"data-wire-index":t,onMousedown:t=>i(`wire-mousedown`,t,e.conn),onContextmenu:(0,n.withModifiers)(t=>i(`wire-contextmenu`,t,e.conn),[`prevent`]),onMousemove:t=>i(`wire-mousemove`,t,e.conn),onMouseleave:t=>i(`wire-mouseleave`,e.conn)},null,40,m))),128)),e.dragWire?((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:1,d:e.dragWire,fill:`none`,stroke:`var(--nb-c-primary)`,"stroke-width":`2`,"stroke-dasharray":`6 3`,opacity:`0.6`},null,8,h)):(0,n.createCommentVNode)(``,!0)])),e.windowed?((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:0},(0,n.renderList)(e.visibleCards,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.id,class:`nb-blueprint__card-wrapper`,style:(0,n.normalizeStyle)({position:`absolute`,left:`${e.x}px`,top:`${e.y}px`})},[(0,n.renderSlot)(t.$slots,`card`,{card:e},void 0,!0)],4))),128)):(0,n.renderSlot)(t.$slots,`default`,{key:1},void 0,!0)],4)],64))}}),_=e.t(g,[[`__scopeId`,`data-v-6fdf251d`]]),v=class{values=new Map;epoch=0;onChange=void 0;set(e,t){this.values.set(e,t),this.epoch++,this.onChange?.()}setMany(e){for(let t in e)this.values.set(t,e[t]);this.epoch++,this.onChange?.()}replace(e){this.values.clear(),this.setMany(e)}get(e){return this.values.get(e)??0}clear(){this.values.size!==0&&(this.values.clear(),this.epoch++,this.onChange?.())}get size(){return this.values.size}get version(){return this.epoch}};function y(e,t,n={}){let r=n.originX??80,i=n.originY??80,a=n.colGap??420,o=n.rowGap??48,s=n.bandGap??90,c=n.defaultW??220,l=n.defaultH??140,u=new Map;if(!e.length)return u;let d=new Map(e.map(e=>[e.id,e])),f=e=>Math.max(c,d.get(e)?.w||c),p=e=>Math.max(l,d.get(e)?.h||l),m=new Map,h=new Map;for(let t of e)m.set(t.id,new Set),h.set(t.id,new Set);let g=[];for(let e of t)if(!(!d.has(e.from)||!d.has(e.to))&&e.kind!==`ignore`){if(e.kind===`control`){g.push({from:e.from,to:e.to});continue}m.get(e.to).add(e.from),h.get(e.from).add(e.to)}let _=e=>m.get(e).size,v=e=>h.get(e).size,y=e=>_(e)>=2,b=new Map,ee=(e,t=new Set)=>{let n=b.get(e);if(n!==void 0)return n;if(t.has(e))return 0;t.add(e);let r=0;for(let n of m.get(e))r=Math.max(r,ee(n,t)+1);return t.delete(e),b.set(e,r),r};for(let t of e)ee(t.id);let x,S=-1,te=-1;for(let t of e){if(!y(t.id)||v(t.id)===0)continue;let e=b.get(t.id),n=_(t.id);(e>S||e===S&&n>te)&&(S=e,te=n,x=t.id)}let C=new Set;if(x){let e=[x];for(;e.length;){let t=e.pop();if(!C.has(t)){C.add(t);for(let n of h.get(t))e.push(n)}}}let ne=e=>{let t=[...h.get(e)],n=new Set(t);for(;t.length;){let e=t.shift();if(y(e))return e;for(let r of h.get(e))n.has(r)||(n.add(r),t.push(r))}return null},re=e=>y(e)?e:ne(e),w=new Set;for(let t of e){if(_(t.id)!==0||v(t.id)<2)continue;let e=new Set;for(let n of h.get(t.id))e.add(re(n));e.size>1&&w.add(t.id)}let ie=`\0shared`,T=`\0trunk`,E=new Map;for(let t of e){let e=t.id;if(w.has(e)){E.set(e,ie);continue}if(C.has(e)){E.set(e,T);continue}let n=y(e)?e:ne(e);E.set(e,n&&n!==x?n:`direct:${e}`)}let D=e.map(e=>e.id).filter(e=>E.get(e)?.startsWith(`direct:`)),O=new Map(D.map(e=>[e,e])),k=e=>{let t=e;for(;O.get(t)!==t;)t=O.get(t);for(;O.get(e)!==t;){let n=O.get(e);O.set(e,t),e=n}return t};for(let e of t)e.kind===`signal`&&E.get(e.from)?.startsWith(`direct:`)&&E.get(e.to)?.startsWith(`direct:`)&&O.set(k(e.from),k(e.to));for(let e of D)E.set(e,`chain:${k(e)}`);for(let{from:e,to:t}of g){let n=E.get(t);n&&E.has(e)&&E.set(e,n)}for(let t of e)E.has(t.id)||E.set(t.id,`\0orphan`);let A=[...new Set(E.values())].filter(e=>e!==ie&&e!==T),j=t=>e.filter(e=>E.get(e.id)===t);A.sort((e,t)=>j(t).length-j(e).length);let M=new Map;for(let e of A)M.set(e,Math.max(0,...j(e).map(e=>b.get(e.id))));let N=Math.max(0,...M.values()),P=new Map;if(x){P.set(x,0);let e=[x];for(;e.length;){let t=e.shift(),n=P.get(t);for(let r of h.get(t))C.has(r)&&!P.has(r)&&(P.set(r,n+1),e.push(r))}}let F=e=>w.has(e)?-1:C.has(e)?N+1+(P.get(e)??0):N-(M.get(E.get(e))??0)+(b.get(e)??0),I=[...new Set(e.map(e=>F(e.id)))].sort((e,t)=>e-t),L=new Map;for(let t of I)L.set(t,Math.max(c,...e.filter(e=>F(e.id)===t).map(e=>f(e.id))));let ae=new Map,R=r;for(let e of I)ae.set(e,R),R+=L.get(e)+a;let z=new Map,B=e=>e.reduce((e,t)=>e+p(t)+o,0)-o,V=e=>{let t=[...m.get(e),...h.get(e)].map(e=>z.get(e)).filter(e=>e!=null).sort((e,t)=>e-t);return t.length?t[Math.floor(t.length/2)]:0},oe=(e,t)=>{let n=t;for(let t of e)z.set(t,n),n+=p(t)+o},se=e=>{let t=new Map;for(let n of e){let e=F(n);(t.get(e)??t.set(e,[]).get(e)).push(n)}return t},H=i;for(let e of A){let t=se(j(e).map(e=>e.id)),n=l;for(let e of t.values())n=Math.max(n,B(e));for(let[,e]of t)e.sort((e,t)=>V(e)-V(t)),oe(e,H+(n-B(e))/2);H+=n+s}let ce=(i+Math.max(i,H-s))/2;{let e=[...w];oe(e,ce-B(e)/2)}for(let[,e]of se([...C]))oe(e,ce-B(e)/2);for(let t of e)u.set(t.id,{x:ae.get(F(t.id)),y:z.get(t.id)??i});return u}var b={key:0,class:`nb-blueprint__background-slot`,"aria-hidden":`true`},ee={class:`nb-blueprint__chrome`},x=100,S=.2,te=3,C=4,ne=240,re=400,w=1.2,ie=40,T=(0,n.defineComponent)({__name:`Blueprint`,props:{connections:{default:()=>[]},density:{default:`default`},cards:{},cardSizeEstimate:{},animateConnections:{default:`never`},activityStyle:{},wheelMode:{default:`auto`},editable:{type:Boolean,default:!1},renderer:{default:`auto`},background:{default:`dots`},layoutEdgeKind:{}},emits:[`connect`,`disconnect`,`move`,`selection-change`,`focus`,`drop-on-wire`,`wire-hover`,`wire-mouseover`,`wire-mouseout`],setup(e,{expose:a,emit:o}){let s=e,c=(0,n.useSlots)(),l=(0,n.computed)(()=>c.background?`none`:s.background),u=(0,n.ref)(!1),f=(0,n.ref)(!1),p=(0,n.computed)(()=>s.renderer!==`dom`&&u.value&&!f.value?`pixi`:`dom`);function m(){try{let e=document.createElement(`canvas`);return!!(e.getContext(`webgl2`)||e.getContext(`webgl`)||e.getContext(`experimental-webgl`))}catch{return!1}}function h(e){s.renderer===`pixi`&&console.warn(`[NubiscoUI] Blueprint renderer="pixi" unavailable (${e}); using the DOM renderer.`)}(0,n.onMounted)(async()=>{if(!(s.renderer===`dom`||typeof window>`u`)){if(!m()){h(`no WebGL`);return}try{await import(`pixi.js`),u.value=!0}catch{h(`pixi.js not installed`)}}});function g(e){f.value=!0,h(e instanceof Error?e.message:`init failed`)}let T=o,E=(0,n.ref)(),D=(0,n.ref)(0),O=(0,n.ref)(0),k=(0,n.ref)(1),A=(0,n.ref)(0),j=new v,M=(0,n.ref)(!1),N;function P(){M.value=!0,N&&clearTimeout(N),N=setTimeout(()=>{M.value=!1},220)}let F=(0,n.ref)(0),I=(0,n.ref)(0),L=(0,n.ref)(1),ae=0;function R(){F.value=D.value,I.value=O.value,L.value=k.value,ae=performance.now()}(0,n.watch)([D,O,k],()=>{if(!M.value){R();return}performance.now()-ae>=x&&R()}),(0,n.watch)(M,e=>{e||R()});let z=(0,n.ref)({w:0,h:0}),B=r(()=>E.value),V=new Map;function oe(e){for(let[t,n]of V)n.cardId===e&&V.delete(t)}function se(){V.clear()}function H(e,t,n){let r=`${e}:${t}`,i=V.get(r);if(i)return{x:i.x,y:i.y};let a=B.get(e,t);if(!a)return null;let o=a.getBoundingClientRect(),s=(o.left+o.width/2-n.left-D.value)/k.value,c=(o.top+o.height/2-n.top-O.value)/k.value,l=a.closest(`[data-card-id]`)?.getAttribute(`data-card-id`)??``;return V.set(r,{cardId:l,x:s,y:c}),{x:s,y:c}}let ce={width:260,height:200},U=(0,n.ref)(new Set),le=(0,n.ref)(null);function ue(e){le.value=e,T(`focus`,e)}function W(e){U.value=new Set(e),T(`selection-change`,e)}function de(){if(s.cards){W(s.cards.map(e=>e.id));return}if(!E.value)return;let e=[];E.value.querySelectorAll(`[data-card-id]`).forEach(t=>{let n=t.dataset.cardId;n&&e.push(n)}),W(e)}function fe(){W([]),ue(null)}let pe=(0,n.ref)(!1);function me(){let e=document.activeElement;if(!e)return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`?!0:e.isContentEditable===!0}function he(e){if(e.code===`Space`&&!e.repeat){if(me())return;pe.value=!0,e.preventDefault()}}function ge(e){e.code===`Space`&&(pe.value=!1)}let _e=!1,ve=0,ye=0,be=[`button`,`input`,`select`,`textarea`,`label`,`a[href]`,`[role="button"]`,`[role="slider"]`,`[contenteditable="true"]`,`[data-no-card-drag]`].join(`, `);function xe(e){return!!(e instanceof Element?e:null)?.closest(be)}let Se=[`[role="slider"]`,`[role="spinbutton"]`,`[role="listbox"]`,`[data-canvas-wheel-passthrough]`,`input[type="range"]`,`input[type="number"]`].join(`, `);function Ce(e){let t=e instanceof Element?e:null;if(!t)return!1;if(t.closest(Se))return!0;let n=t;for(;n&&n!==E.value;){let e=window.getComputedStyle(n),t=e.overflowY,r=e.overflowX,i=(t===`auto`||t===`scroll`||t===`overlay`)&&n.scrollHeight>n.clientHeight,a=(r===`auto`||r===`scroll`||r===`overlay`)&&n.scrollWidth>n.clientWidth;if(i||a)return!0;n=n.parentElement}return!1}function we(e){let t=e.target instanceof HTMLElement?e.target:null;if(t?.closest(`.nb-blueprint__chrome`)||t?.closest(`.nb-blueprint-card__port`))return;if(e.button===1){Te(e);return}if(pe.value){Te(e);return}let n=t?.closest(`.nb-blueprint-card`);if(n){Be(e,n,!xe(t));return}Ye(e)}function Te(e){_e=!0,ve=e.clientX-D.value,ye=e.clientY-O.value,document.addEventListener(`mousemove`,Ee),document.addEventListener(`mouseup`,De)}function Ee(e){_e&&(P(),D.value=e.clientX-ve,O.value=e.clientY-ye)}function De(){_e=!1,document.removeEventListener(`mousemove`,Ee),document.removeEventListener(`mouseup`,De)}function Oe(e,t,n){let r=E.value?.getBoundingClientRect();if(!r)return;let i=k.value,a=Math.max(S,Math.min(te,i*n));if(a===i)return;let o=e-r.left,s=t-r.top,c=(o-D.value)/i,l=(s-O.value)/i;D.value=o-c*a,O.value=s-l*a,k.value=a}function ke(e){let t=E.value?.getBoundingClientRect();t&&Oe(t.left+t.width/2,t.top+t.height/2,e)}function Ae(){ke(w)}function je(){ke(1/w)}function Me(e){if(!E.value?.getBoundingClientRect())return;let t=e.ctrlKey;if(!t&&Ce(e.target))return;e.preventDefault(),P();let n;if(n=t||s.wheelMode===`zoom`?`zoom`:(s.wheelMode,`pan`),n===`zoom`){let t=1-e.deltaY*.01;Oe(e.clientX,e.clientY,t)}else D.value-=e.deltaX,O.value-=e.deltaY}let Ne=!1,Pe=null,Fe=0,Ie=0,G=new Map,Le=!1;function Re(e){let t=e;for(;t?.parentElement;){if(t.parentElement.classList.contains(`nb-blueprint__canvas`))return t;t=t.parentElement}return e.parentElement}function K(e){let t=Re(e);if(!t)return{x:0,y:0};let n=parseFloat(t.style.left),r=parseFloat(t.style.top);if(!Number.isNaN(n)&&!Number.isNaN(r))return{x:n,y:r};let i=(t.style.transform||``).match(/translate\(([^,]+)px,\s*([^)]+)px\)/);return i?{x:parseFloat(i[1]),y:parseFloat(i[2])}:{x:t.offsetLeft,y:t.offsetTop}}function ze(e,t,n){let r=Re(e);r&&(r.style.left=`${t}px`,r.style.top=`${n}px`)}function Be(e,t,r=!0){let i=t.dataset.cardId;if(i){if(Fe=e.clientX,Ie=e.clientY,Le=!1,G=new Map,e.shiftKey){let e=new Set(U.value);e.has(i)?e.delete(i):e.add(i),W(Array.from(e))}else U.value.has(i)||W([i]),ue(i);(0,n.nextTick)(()=>{if(E.value)for(let e of U.value){let t=E.value.querySelector(`[data-card-id="${e}"]`);t&&G.set(e,K(t))}}),r&&(document.addEventListener(`mousemove`,He),document.addEventListener(`mouseup`,We))}}function Ve(){if(!E.value)return;let e=[];for(let t of G.keys()){let n=E.value.querySelector(`[data-card-id="${t}"]`);if(n){let r=K(n);e.push({id:t,x:Math.round(r.x),y:Math.round(r.y)})}}e.length&&T(`move`,e)}function He(e){let t=(e.clientX-Fe)/k.value,n=(e.clientY-Ie)/k.value;if(!(!Ne&&Math.abs(t*k.value)<C&&Math.abs(n*k.value)<C)&&(Ne=!0,Le=!0,E.value)){for(let[e,r]of G){let i=E.value.querySelector(`[data-card-id="${e}"]`);i&&ze(i,r.x+t,r.y+n)}if(Ve(),A.value++,G.size===1){let[t]=G.keys();if(t){let n=Ue(e.clientX,e.clientY),r=n?`${n.fromNode}/${n.fromPort}|${n.toNode}/${n.toPort}`:null;r!==Pe&&(Pe=r,T(`wire-hover`,t,n))}}}}function Ue(e,t){if(!E.value)return null;let n=E.value.querySelectorAll(`.nb-blueprint__wire-hitregion`);for(let r of n){let n=r.ownerSVGElement;if(!n)continue;let i=n.getScreenCTM();if(!i)continue;let a=i.inverse(),o=n.createSVGPoint();o.x=e,o.y=t;let s=o.matrixTransform(a);if(r.isPointInStroke(s)){let e=parseInt(r.getAttribute(`data-wire-index`)??`-1`,10),t=e>=0?yt.value[e]:void 0;if(t)return t.conn}}return null}function We(e){if(document.removeEventListener(`mousemove`,He),document.removeEventListener(`mouseup`,We),Le&&(Ve(),e&&G.size===1)){let[t]=G.keys();if(t){let n=Ue(e.clientX,e.clientY);n&&T(`drop-on-wire`,t,n)}}if(Ne=!1,Le=!1,G=new Map,Pe!==null){let[e]=G.keys();e&&T(`wire-hover`,e,null),Pe=null}}let q=(0,n.ref)(null),Ge=!1,Ke=(0,n.computed)(()=>{if(!q.value)return{};let{x1:e,y1:t,x2:n,y2:r}=q.value;return{left:`${Math.min(e,n)}px`,top:`${Math.min(t,r)}px`,width:`${Math.abs(n-e)}px`,height:`${Math.abs(r-t)}px`}}),qe=(0,n.ref)(null);function Je(){if(U.value.size<2||!E.value||q.value)return null;let e=E.value.getBoundingClientRect(),t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of U.value){let o=E.value.querySelector(`[data-card-id="${a}"]`);if(!o)continue;let s=o.getBoundingClientRect(),c=s.left-e.left,l=s.top-e.top;t=Math.min(t,c),n=Math.min(n,l),r=Math.max(r,c+s.width),i=Math.max(i,l+s.height)}return t===1/0?null:{left:`${t-8}px`,top:`${n-8}px`,width:`${r-t+16}px`,height:`${i-n+16}px`}}(0,n.watch)([D,O,k,A,U,q],()=>{qe.value=Je()},{flush:`post`,immediate:!0});function Ye(e){if(!E.value)return;let t=E.value.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;Ge=e.shiftKey,Ge||W([]),q.value={x1:n,y1:r,x2:n,y2:r},document.addEventListener(`mousemove`,Xe),document.addEventListener(`mouseup`,Ze)}function Xe(e){if(!q.value||!E.value)return;let t=E.value.getBoundingClientRect();q.value.x2=e.clientX-t.left,q.value.y2=e.clientY-t.top}function Ze(){if(document.removeEventListener(`mousemove`,Xe),document.removeEventListener(`mouseup`,Ze),!q.value||!E.value){q.value=null;return}let e=E.value.getBoundingClientRect(),{x1:t,y1:n,x2:r,y2:i}=q.value,a=Math.min(t,r),o=Math.min(n,i),s=Math.max(t,r),c=Math.max(n,i);if(Math.abs(r-t)<C&&Math.abs(i-n)<C){Ge||(W([]),ue(null)),q.value=null;return}let l=Ge?[...U.value]:[];E.value.querySelectorAll(`[data-card-id]`).forEach(t=>{let n=t.getBoundingClientRect(),r=n.left-e.left,i=n.top-e.top,u=r+n.width,d=i+n.height;if(r<s&&u>a&&i<c&&d>o){let e=t.dataset.cardId;e&&!l.includes(e)&&l.push(e)}}),W(l),q.value=null}let J=(0,n.ref)(null),Y=(0,n.ref)(null),X=(0,n.ref)(null);function Qe(e){Y.value=e,X.value=null,document.addEventListener(`mousemove`,ft),document.addEventListener(`mouseup`,pt)}function $e(e,t){if(e.button!==0||(e.stopPropagation(),!E.value))return;let n=E.value.getBoundingClientRect(),r=(e.clientX-n.left-D.value)/k.value,i=(e.clientY-n.top-O.value)/k.value,a=ut(t.fromNode,t.fromPort),o=ut(t.toNode,t.toPort);if(!a||!o)return;let s=a.getBoundingClientRect(),c=o.getBoundingClientRect(),l=(s.left+s.width/2-n.left-D.value)/k.value,u=(s.top+s.height/2-n.top-O.value)/k.value,d=(c.left+c.width/2-n.left-D.value)/k.value,f=(c.top+c.height/2-n.top-O.value)/k.value,p=Math.hypot(r-l,i-u),m=Math.hypot(r-d,i-f);if(Math.min(p,m)>ie)return;e.preventDefault();let h=p<m,g=h?o:a;Y.value=h?{nodeId:t.toNode,portId:t.toPort,type:`input`,dataType:dt(g)}:{nodeId:t.fromNode,portId:t.fromPort,type:`output`,dataType:dt(g)},X.value=t,document.addEventListener(`mousemove`,ft),document.addEventListener(`mouseup`,pt)}(0,n.provide)(t.t,{onPortDown:e=>Qe(e),onPortUp:e=>mt(e),dragOrigin:Y,density:(0,n.computed)(()=>s.density),nudge:et,cancelPortDrag:pt});function et(e,t,n){let r=E.value;if(!r)return;let i;if(U.value.has(e))i=Q();else{let t=r.querySelector(`[data-card-id="${e}"]`);if(!t)return;let n=K(t);i=[{id:e,el:t,x:n.x,y:n.y,w:t.offsetWidth,h:t.offsetHeight}]}i.length&&$(i.map(e=>({...e,x:e.x+t,y:e.y+n})))}function tt(e,t){let n=E.value?.getBoundingClientRect(),r=n?.left??0,i=n?.top??0;return{x:(e-r-D.value)/k.value,y:(t-i-O.value)/k.value}}function nt(e,t){let n=E.value?.getBoundingClientRect(),r=n?.left??0,i=n?.top??0;return{clientX:e*k.value+D.value+r,clientY:t*k.value+O.value+i}}(0,n.provide)(t.n,{panX:D,panY:O,zoom:k,selectedIds:U,focusedId:le,selectAll:de,deselectAll:fe,centerView:wt,fitToView:Tt,resetView:Et,getCamera:Dt,setCamera:Ot,zoomIn:Ae,zoomOut:je,alignLeft:kt,alignCenter:At,alignRight:jt,alignTop:Mt,alignMiddle:Nt,alignBottom:Pt,distributeHorizontally:Ft,distributeVertically:It,autoLayout:Lt,screenToCanvas:tt,canvasToScreen:nt,isEditMode:(0,n.computed)(()=>s.editable),viewportSize:z,isTransforming:M,live:j,onPortDown:e=>Qe(e),onPortUp:e=>mt(e)});let Z=(0,n.ref)(null);function rt(e,t){if(!E.value)return;let n=E.value.getBoundingClientRect();Z.value={x:e.clientX-n.left,y:e.clientY-n.top,conn:t}}function it(e,t){T(`wire-mouseover`,t,e.clientX,e.clientY)}function at(e){T(`wire-mouseout`,e)}function ot(){Z.value=null}function st(e){T(`disconnect`,e),ot()}function ct(e){Z.value&&(e.target.closest(`.nb-blueprint__wire-menu`)||ot())}function lt(e){e.key===`Escape`&&Z.value&&ot()}function ut(e,t){return B.get(e,t)}function dt(e){let t=e?.getAttribute(`data-port-data-type`);return t&&t!==`any`?t:void 0}function ft(e){let t=Y.value;if(!t||!E.value)return;let n=E.value.getBoundingClientRect(),r=(e.clientX-n.left-D.value)/k.value,i=(e.clientY-n.top-O.value)/k.value,a=ut(t.nodeId,t.portId);if(!a)return;let o=a.getBoundingClientRect(),s=(o.left+o.width/2-n.left-D.value)/k.value,c=(o.top+o.height/2-n.top-O.value)/k.value,l=Math.abs(r-s)*.5;J.value=`M ${s} ${c} C ${s+l} ${c}, ${r-l} ${i}, ${r} ${i}`}function pt(){Y.value=null,X.value=null,J.value=null,document.removeEventListener(`mousemove`,ft),document.removeEventListener(`mouseup`,pt)}function mt(e){let t=Y.value;if(!t||t.nodeId===e.nodeId||t.type===e.type)return;let n=t.type===`output`?t:e,r=t.type===`output`?e:t,i={fromNode:n.nodeId,fromPort:n.portId,toNode:r.nodeId,toPort:r.portId},a=X.value;a?a.fromNode===i.fromNode&&a.fromPort===i.fromPort&&a.toNode===i.toNode&&a.toPort===i.toPort||(T(`disconnect`,a),T(`connect`,i)):T(`connect`,i),Y.value=null,X.value=null,J.value=null}let ht=new WeakMap;function gt(e){let t=ht.get(e);if(t)return t;let n=e.closest(`.nb-blueprint-card`),r=`var(--nb-c-primary)`;if(n){let e=getComputedStyle(n).getPropertyValue(`--nb-card-color`).trim();e&&!e.startsWith(`var(`)&&(r=e)}return ht.set(e,r),r}function _t(e){let t=e.getAttribute(`data-port-data-type`)??``;return t===`midi`||t.startsWith(`midi:`)}function vt(e){let t=Math.max(0,Math.min(1,e)),n=[34,197,94],r=[250,204,21],i=[239,68,68],a,o,s;t<=.5?(a=n,o=r,s=t*2):(a=r,o=i,s=(t-.5)*2);let c=(e,t)=>Math.round(e+(t-e)*s);return`rgb(${c(a[0],o[0])}, ${c(a[1],o[1])}, ${c(a[2],o[2])})`}let yt=(0,n.computed)(()=>{if(A.value,!E.value)return[];let e=E.value.getBoundingClientRect(),t=L.value,n=ne/t,r=(0-F.value)/t-n,i=(e.width-F.value)/t+n,a=(0-I.value)/t-n,o=(e.height-I.value)/t+n,c=X.value;return s.connections.filter(e=>!c||e.fromNode!==c.fromNode||e.fromPort!==c.fromPort||e.toNode!==c.toNode||e.toPort!==c.toPort).map(t=>{let n=H(t.fromNode,t.fromPort,e),c=H(t.toNode,t.toPort,e);if(!n||!c)return null;let l=n.x,u=n.y,d=c.x,f=c.y,p=Math.abs(d-l)*.4,m=l+p,h=d-p;if(Math.max(l,m,h,d)<r||Math.min(l,m,h,d)>i||(u<f?f:u)<a||(u<f?u:f)>o)return null;let g=ut(t.fromNode,t.fromPort);if(!g)return null;let _=`M ${l} ${u} C ${m} ${u}, ${h} ${f}, ${d} ${f}`,v=gt(g),y=_t(g),b=v;return s.animateConnections===`levels`&&t.active!==!1&&!y&&typeof t.level==`number`&&(b=vt(t.level)),{path:_,conn:t,color:b,isMidi:y}}).filter(Boolean)}),bt=e=>{let t=s.cardSizeEstimate??ce;return{w:e.width??t.width,h:e.height??t.height}},xt=(0,n.computed)(()=>{let e=s.cards;if(!e||e.length===0)return[];let t=L.value,n=re/t,r=(0-F.value)/t-n,i=(z.value.w-F.value)/t+n,a=(0-I.value)/t-n,o=(z.value.h-I.value)/t+n,c=(e,t,n,s)=>n>=r&&e<=i&&s>=a&&t<=o,l=new Map,u=new Set;for(let t of e){l.set(t.id,t);let{w:e,h:n}=bt(t);c(t.x,t.y,t.x+e,t.y+n)&&u.add(t.id)}for(let e of s.connections){let t=l.get(e.fromNode),n=l.get(e.toNode);if(!t||!n||u.has(t.id)&&u.has(n.id))continue;let r=bt(t),i=bt(n),a=t.x+r.w,o=t.y+r.h/2,s=n.x,d=n.y+i.h/2,f=Math.abs(s-a)*.4,p=Math.min(a,a+f,s-f,s),m=Math.max(a,a+f,s-f,s);c(p,o<d?o:d,m,o<d?d:o)&&(u.add(t.id),u.add(n.id))}return e.filter(e=>u.has(e.id))});function St(e){return s.animateConnections===`never`?!1:s.animateConnections===`always`?!0:s.animateConnections===`levels`?!1:e.active!==!1}function Ct(e){let t=1/0,n=1/0,r=-1/0,i=-1/0,a=e&&e.length?new Set(e):null,o=0;if(s.cards){if(s.cards.length===0)return null;for(let e of s.cards){if(a&&!a.has(e.id))continue;let{w:s,h:c}=bt(e);t=Math.min(t,e.x),n=Math.min(n,e.y),r=Math.max(r,e.x+s),i=Math.max(i,e.y+c),o++}return o>0?{minX:t,minY:n,maxX:r,maxY:i}:null}if(!E.value)return null;let c=E.value.querySelectorAll(`[data-card-id]`);return c.length===0?null:(c.forEach(e=>{let s=e;if(a&&!a.has(s.getAttribute(`data-card-id`)??``))return;let c=K(s),l=s.offsetWidth,u=s.offsetHeight;t=Math.min(t,c.x),n=Math.min(n,c.y),r=Math.max(r,c.x+l),i=Math.max(i,c.y+u),o++}),o>0?{minX:t,minY:n,maxX:r,maxY:i}:null)}function wt(){if(k.value=1,!E.value)return;let e=Ct();if(!e){D.value=0,O.value=0;return}let t=E.value.getBoundingClientRect(),n=(e.minX+e.maxX)/2,r=(e.minY+e.maxY)/2;D.value=t.width/2-n,O.value=t.height/2-r}function Tt(e=40,t){if(!E.value)return;let n=Ct(t);if(!n){if(t&&t.length)return;Et();return}let r=E.value.getBoundingClientRect(),i=n.maxX-n.minX,a=n.maxY-n.minY;if(i<=0||a<=0){wt();return}let o=r.width-e*2,s=r.height-e*2,c=o/i,l=s/a,u=Math.max(S,Math.min(te,Math.min(c,l))),d=(n.minX+n.maxX)/2,f=(n.minY+n.maxY)/2;k.value=u,D.value=r.width/2-d*u,O.value=r.height/2-f*u}function Et(){D.value=0,O.value=0,k.value=1}function Dt(){return{panX:D.value,panY:O.value,zoom:k.value}}function Ot(e){typeof e.panX==`number`&&(D.value=e.panX),typeof e.panY==`number`&&(O.value=e.panY),typeof e.zoom==`number`&&(k.value=e.zoom)}function Q(){if(!E.value)return[];let e=[];for(let t of U.value){let n=E.value.querySelector(`[data-card-id="${t}"]`);if(!n)continue;let r=K(n);e.push({id:t,el:n,x:r.x,y:r.y,w:n.offsetWidth,h:n.offsetHeight})}return e}function $(e){let t=[];for(let n of e)n.el&&ze(n.el,n.x,n.y),t.push({id:n.id,x:Math.round(n.x),y:Math.round(n.y)});t.length&&(A.value++,T(`move`,t))}function kt(){let e=Q();if(e.length<2)return;let t=Math.min(...e.map(e=>e.x));e.forEach(e=>e.x=t),$(e)}function At(){let e=Q();if(e.length<2)return;let t=e.map(e=>e.x+e.w/2),n=t.reduce((e,t)=>e+t,0)/t.length;e.forEach(e=>e.x=n-e.w/2),$(e)}function jt(){let e=Q();if(e.length<2)return;let t=Math.max(...e.map(e=>e.x+e.w));e.forEach(e=>e.x=t-e.w),$(e)}function Mt(){let e=Q();if(e.length<2)return;let t=Math.min(...e.map(e=>e.y));e.forEach(e=>e.y=t),$(e)}function Nt(){let e=Q();if(e.length<2)return;let t=e.map(e=>e.y+e.h/2),n=t.reduce((e,t)=>e+t,0)/t.length;e.forEach(e=>e.y=n-e.h/2),$(e)}function Pt(){let e=Q();if(e.length<2)return;let t=Math.max(...e.map(e=>e.y+e.h));e.forEach(e=>e.y=t-e.h),$(e)}function Ft(){let e=Q();if(e.length<3)return;e.sort((e,t)=>e.x-t.x);let t=e[0],n=e[e.length-1],r=e.reduce((e,t)=>e+t.w,0),i=(n.x+n.w-t.x-r)/(e.length-1),a=t.x+t.w+i;for(let t=1;t<e.length-1;t++)e[t].x=a,a+=e[t].w+i;$(e)}function It(){let e=Q();if(e.length<3)return;e.sort((e,t)=>e.y-t.y);let t=e[0],n=e[e.length-1],r=e.reduce((e,t)=>e+t.h,0),i=(n.y+n.h-t.y-r)/(e.length-1),a=t.y+t.h+i;for(let t=1;t<e.length-1;t++)e[t].y=a,a+=e[t].h+i;$(e)}function Lt(e){if(!E.value)return;let t=e?.gapY??40,n=e?.padding??60,r=[];if(s.cards)for(let e of s.cards){let t=E.value.querySelector(`[data-card-id="${e.id}"]`),{w:n,h:i}=bt(e);r.push({id:e.id,el:t,x:e.x,y:e.y,w:e.width??t?.offsetWidth??n,h:e.height??t?.offsetHeight??i})}else E.value.querySelectorAll(`[data-card-id]`).forEach(e=>{let t=e,n=t.dataset.cardId;if(!n)return;let i=K(t);r.push({id:n,el:t,x:i.x,y:i.y,w:t.offsetWidth,h:t.offsetHeight})});if(!r.length)return;let i=new Map(r.map(e=>[e.id,e])),a=r.map(e=>({id:e.id,w:e.w,h:e.h})),o=s.layoutEdgeKind,c=[];for(let e of s.connections)!i.has(e.fromNode)||!i.has(e.toNode)||c.push({from:e.fromNode,to:e.toNode,kind:o?o(e):`signal`});let l=y(a,c,{colGap:e?.gapX,rowGap:t,originX:n,originY:n});for(let e of r){let t=l.get(e.id);t&&(e.x=t.x,e.y=t.y)}$(r)}let Rt=new MutationObserver(e=>{B.prune();let t=!1,n=!1;for(let r of e){if(r.type===`childList`){t=!0;continue}if(!i(r.target))continue;n=!0;let e=r.target.querySelector(`[data-card-id]`)?.getAttribute(`data-card-id`);e&&oe(e)}t&&se(),(t||n)&&A.value++}),zt=null;return(0,n.onMounted)(()=>{if(E.value){let e=E.value.getBoundingClientRect();z.value={w:e.width,h:e.height},typeof ResizeObserver<`u`&&(zt=new ResizeObserver(e=>{let t=e[0]?.contentRect;t&&(z.value={w:t.width,h:t.height})}),zt.observe(E.value)),Rt.observe(E.value,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`]})}window.addEventListener(`keydown`,he),window.addEventListener(`keyup`,ge),document.addEventListener(`mousedown`,ct),document.addEventListener(`keydown`,lt),(0,n.nextTick)(()=>(0,n.nextTick)(Tt))}),(0,n.onBeforeUnmount)(()=>{Rt.disconnect(),zt?.disconnect(),N&&clearTimeout(N),window.removeEventListener(`keydown`,he),window.removeEventListener(`keyup`,ge),document.removeEventListener(`mousedown`,ct),document.removeEventListener(`keydown`,lt)}),a({centerView:wt,fitToView:Tt,resetView:Et,getCamera:Dt,setCamera:Ot,zoomIn:Ae,zoomOut:je,selectedIds:U,focusedId:le,selectAll:de,deselectAll:fe,alignLeft:kt,alignCenter:At,alignRight:jt,alignTop:Mt,alignMiddle:Nt,alignBottom:Pt,distributeHorizontally:Ft,distributeVertically:It,autoLayout:Lt,onPortMouseDown:Qe,onPortMouseUp:mt,panX:D,panY:O,zoom:k,isTransforming:M,live:j}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`containerRef`,ref:E,class:(0,n.normalizeClass)([`nb-blueprint`,{"is-panning":(0,n.unref)(_e),"is-space":pe.value}]),onMousedown:we,onWheel:Me},[r[4]||=(0,n.createElementVNode)(`div`,{class:`nb-blueprint__ambient`},null,-1),t.$slots.background?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,b,[(0,n.renderSlot)(t.$slots,`background`,{},void 0,!0)])):(0,n.createCommentVNode)(``,!0),p.value===`dom`?((0,n.openBlock)(),(0,n.createBlock)(d,{key:1,"pan-x":D.value,"pan-y":O.value,zoom:k.value,"is-transforming":M.value,wires:yt.value,windowed:!!s.cards,"visible-cards":xt.value,"drag-wire":J.value,"should-flow":St,"level-coloring":e.animateConnections===`levels`,"activity-style":e.activityStyle??`flow`,"animate-connections":e.animateConnections,background:l.value,onWireMousedown:$e,onWireContextmenu:rt,onWireMousemove:it,onWireMouseleave:at},{card:(0,n.withCtx)(({card:e})=>[(0,n.renderSlot)(t.$slots,`card`,{card:e},void 0,!0)]),default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`,{},void 0,!0)]),_:3},8,[`pan-x`,`pan-y`,`zoom`,`is-transforming`,`wires`,`windowed`,`visible-cards`,`drag-wire`,`level-coloring`,`activity-style`,`animate-connections`,`background`])):((0,n.openBlock)(),(0,n.createBlock)(_,{key:2,"pan-x":D.value,"pan-y":O.value,zoom:k.value,"is-transforming":M.value,wires:yt.value,windowed:!!s.cards,"visible-cards":xt.value,"drag-wire":J.value,"should-flow":St,"level-coloring":e.animateConnections===`levels`,"activity-style":e.activityStyle??`flow`,"animate-connections":e.animateConnections,background:l.value,"live-data":(0,n.unref)(j),onWireMousedown:$e,onWireContextmenu:rt,onWireMousemove:it,onWireMouseleave:at,onUnavailable:g},{card:(0,n.withCtx)(({card:e})=>[(0,n.renderSlot)(t.$slots,`card`,{card:e},void 0,!0)]),default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`,{},void 0,!0)]),_:3},8,[`pan-x`,`pan-y`,`zoom`,`is-transforming`,`wires`,`windowed`,`visible-cards`,`drag-wire`,`level-coloring`,`activity-style`,`animate-connections`,`background`,`live-data`])),q.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:3,class:`nb-blueprint__marquee nb-blueprint__marquee--dragging`,style:(0,n.normalizeStyle)(Ke.value)},null,4)):(0,n.createCommentVNode)(``,!0),qe.value?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:4,class:`nb-blueprint__selection-box`,style:(0,n.normalizeStyle)(qe.value)},[...r[3]||=[(0,n.createElementVNode)(`rect`,{x:`0.75`,y:`0.75`,width:`calc(100% - 1.5px)`,height:`calc(100% - 1.5px)`,rx:`4`,ry:`4`,fill:`none`,stroke:`var(--nb-blueprint-marquee-border, var(--nb-c-primary, #6366f1))`,"stroke-width":`1.5`,"stroke-dasharray":`6 4`,class:`nb-blueprint__selection-ants`},null,-1)]],4)):(0,n.createCommentVNode)(``,!0),Z.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:5,class:`nb-blueprint__wire-menu`,style:(0,n.normalizeStyle)({left:`${Z.value.x}px`,top:`${Z.value.y}px`}),role:`menu`,onClick:r[1]||=(0,n.withModifiers)(()=>{},[`stop`]),onContextmenu:r[2]||=(0,n.withModifiers)(()=>{},[`prevent`])},[(0,n.renderSlot)(t.$slots,`wire-menu`,{connection:Z.value.conn,close:ot,disconnect:()=>st(Z.value.conn)},()=>[(0,n.createElementVNode)(`button`,{type:`button`,class:`nb-blueprint__wire-menu-item`,onClick:r[0]||=e=>st(Z.value.conn)},` Disconnect `)],!0)],36)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,ee,[(0,n.renderSlot)(t.$slots,`chrome`,{},void 0,!0)])],34))}}),E=e.t(T,[[`__scopeId`,`data-v-16839f88`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return E}});
1
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./Blueprint.context-CFUllT-M.cjs`);let n=require(`vue`);function r(e){let t=new Map;function n(n,r){let i=`${n}:${r}`,a=t.get(i);if(a&&a.isConnected)return a;a&&t.delete(i);let o=e();if(!o)return null;let s=o.querySelector(`[data-port="${n}:${r}"]`);return s&&t.set(i,s),s}function r(){for(let[e,n]of t)n.isConnected||t.delete(e)}function i(){t.clear()}function a(){return t.size}return{get:n,prune:r,clear:i,size:a}}function i(e){return e instanceof Element?e.parentElement?.classList.contains(`nb-blueprint__canvas`)??!1:!1}var a={class:`nb-blueprint__wires`},o=[`d`,`data-wire-index`,`onMousedown`,`onContextmenu`,`onMousemove`,`onMouseleave`],s=[`d`,`stroke`],c=[`d`,`stroke`],l=[`d`],u=(0,n.defineComponent)({__name:`BlueprintDomRenderer`,props:{panX:{},panY:{},zoom:{},isTransforming:{type:Boolean},wires:{},windowed:{type:Boolean},visibleCards:{},dragWire:{},shouldFlow:{type:Function},levelColoring:{type:Boolean},activityStyle:{},animateConnections:{},background:{},liveData:{}},emits:[`wire-mousedown`,`wire-contextmenu`,`wire-mousemove`,`wire-mouseleave`],setup(e,{emit:t}){let r=e,i=t,u=(0,n.computed)(()=>`translate(${r.panX}px, ${r.panY}px) scale(${r.zoom})`),d=(0,n.computed)(()=>r.isTransforming?`transform`:void 0),f=(0,n.computed)(()=>({transform:u.value,willChange:d.value})),p=(0,n.computed)(()=>({transform:u.value,transformOrigin:`0 0`,willChange:d.value}));return(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[e.background===`none`?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:(0,n.normalizeClass)([`nb-blueprint__grid`,`nb-blueprint__grid--${e.background}`]),style:(0,n.normalizeStyle)(f.value)},null,6)),(0,n.createElementVNode)(`div`,{class:`nb-blueprint__canvas`,style:(0,n.normalizeStyle)(p.value)},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,a,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.wires,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`g`,{key:t,class:`nb-blueprint__wire-group`},[(0,n.createElementVNode)(`path`,{d:e.path,fill:`none`,stroke:`transparent`,"stroke-width":`14`,class:`nb-blueprint__wire-hitregion`,"data-wire-index":t,onMousedown:t=>i(`wire-mousedown`,t,e.conn),onContextmenu:(0,n.withModifiers)(t=>i(`wire-contextmenu`,t,e.conn),[`prevent`]),onMousemove:t=>i(`wire-mousemove`,t,e.conn),onMouseleave:t=>i(`wire-mouseleave`,e.conn)},null,40,o),(0,n.createElementVNode)(`path`,{d:e.path,fill:`none`,stroke:e.color,"stroke-width":`1.5`,class:(0,n.normalizeClass)([`nb-blueprint__wire`,{"nb-blueprint__wire--inactive":e.conn.active===!1}]),"pointer-events":`none`},null,10,s)]))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.wires,(t,r)=>(0,n.withDirectives)(((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:`flow-${r}`,d:t.path,fill:`none`,stroke:t.color,"stroke-width":`1.5`,"stroke-dasharray":`4 8`,class:`nb-blueprint__wire-flow`,"pointer-events":`none`},null,8,c)),[[n.vShow,e.shouldFlow(t.conn)]])),128)),e.dragWire?((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:0,d:e.dragWire,fill:`none`,stroke:`var(--nb-c-primary)`,"stroke-width":`2`,"stroke-dasharray":`6 3`,opacity:`0.6`},null,8,l)):(0,n.createCommentVNode)(``,!0)])),e.windowed?((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:0},(0,n.renderList)(e.visibleCards,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.id,class:`nb-blueprint__card-wrapper`,style:(0,n.normalizeStyle)({position:`absolute`,left:`${e.x}px`,top:`${e.y}px`})},[(0,n.renderSlot)(t.$slots,`card`,{card:e},void 0,!0)],4))),128)):(0,n.renderSlot)(t.$slots,`default`,{key:1},void 0,!0)],4)],64))}}),d=e.t(u,[[`__scopeId`,`data-v-31ed2748`]]),f={class:`nb-blueprint__wires`},p=[`d`,`stroke`],m=[`d`,`data-wire-index`,`onMousedown`,`onContextmenu`,`onMousemove`,`onMouseleave`],h=[`d`],g=(0,n.defineComponent)({__name:`BlueprintPixiRenderer`,props:{panX:{},panY:{},zoom:{},isTransforming:{type:Boolean},wires:{},windowed:{type:Boolean},visibleCards:{},dragWire:{},shouldFlow:{type:Function},levelColoring:{type:Boolean},activityStyle:{},animateConnections:{},background:{},liveData:{}},emits:[`wire-mousedown`,`wire-contextmenu`,`wire-mousemove`,`wire-mouseleave`,`unavailable`],setup(e,{emit:t}){let r=e,i=t,a=(0,n.ref)(),o=(0,n.ref)(),s=(0,n.ref)(!1),c=null,l,u=(0,n.computed)(()=>({transform:`translate(${r.panX}px, ${r.panY}px) scale(${r.zoom})`,transformOrigin:`0 0`,willChange:r.isTransforming?`transform`:`auto`}));function d(){let e=a.value?.parentElement;return{width:e?.clientWidth??0,height:e?.clientHeight??0}}async function g(){let e=a.value,t=o.value;if(!(!e||!t))try{let[n,{PixiScene:i}]=await Promise.all([import(`pixi.js`),Promise.resolve().then(()=>require(`./pixi-scene-DD4f6Hr_.cjs`))]),{width:o,height:l}=d(),u=await i.create(n,{canvas:e,el:t,width:o,height:l,resolution:window.devicePixelRatio||1,background:r.background,liveData:r.liveData});if(!a.value){u.destroy();return}c=u,_(),s.value=!0,v()}catch(e){i(`unavailable`,e)}}function _(){c&&(c.setCamera(r.panX,r.panY,r.zoom),c.setLevelColoring(r.levelColoring??!1),c.setActivityStyle(r.activityStyle??`flow`),c.setWires(r.wires,r.shouldFlow),c.setMeters(r.visibleCards))}function v(){let e=a.value?.parentElement;e&&(l=new ResizeObserver(()=>{if(!c)return;let{width:e,height:t}=d();c.resize(e,t,window.devicePixelRatio||1)}),l.observe(e))}return(0,n.watch)(()=>[r.panX,r.panY,r.zoom],([e,t,n])=>c?.setCamera(e,t,n)),(0,n.watch)(()=>r.wires,e=>c?.setWires(e,r.shouldFlow)),(0,n.watch)(()=>r.visibleCards,e=>c?.setMeters(e)),(0,n.watch)(()=>r.levelColoring,e=>c?.setLevelColoring(e??!1)),(0,n.watch)(()=>r.activityStyle,e=>c?.setActivityStyle(e??`flow`)),(0,n.watch)(()=>r.animateConnections,()=>c?.setWires(r.wires,r.shouldFlow)),(0,n.watch)(()=>r.background,e=>c?.setBackground(e)),(0,n.onMounted)(g),(0,n.onBeforeUnmount)(()=>{l?.disconnect(),c?.destroy(),c=null}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,[(0,n.createElementVNode)(`canvas`,{ref_key:`canvasRef`,ref:a,class:`nb-blueprint-pixi__canvas`},null,512),(0,n.createElementVNode)(`div`,{ref_key:`overlayRef`,ref:o,class:`nb-blueprint__canvas nb-blueprint-pixi__overlay`,style:(0,n.normalizeStyle)(u.value)},[((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,f,[s.value?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:0},(0,n.renderList)(e.wires,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:`w-${t}`,d:e.path,fill:`none`,stroke:e.color,"stroke-width":`1.5`,class:(0,n.normalizeClass)([`nb-blueprint__wire`,{"nb-blueprint__wire--inactive":e.conn.active===!1}]),"pointer-events":`none`},null,10,p))),128)),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.wires,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:`h-${t}`,d:e.path,fill:`none`,stroke:`transparent`,"stroke-width":`14`,class:`nb-blueprint__wire-hitregion`,"data-wire-index":t,onMousedown:t=>i(`wire-mousedown`,t,e.conn),onContextmenu:(0,n.withModifiers)(t=>i(`wire-contextmenu`,t,e.conn),[`prevent`]),onMousemove:t=>i(`wire-mousemove`,t,e.conn),onMouseleave:t=>i(`wire-mouseleave`,e.conn)},null,40,m))),128)),e.dragWire?((0,n.openBlock)(),(0,n.createElementBlock)(`path`,{key:1,d:e.dragWire,fill:`none`,stroke:`var(--nb-c-primary)`,"stroke-width":`2`,"stroke-dasharray":`6 3`,opacity:`0.6`},null,8,h)):(0,n.createCommentVNode)(``,!0)])),e.windowed?((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:0},(0,n.renderList)(e.visibleCards,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.id,class:`nb-blueprint__card-wrapper`,style:(0,n.normalizeStyle)({position:`absolute`,left:`${e.x}px`,top:`${e.y}px`})},[(0,n.renderSlot)(t.$slots,`card`,{card:e},void 0,!0)],4))),128)):(0,n.renderSlot)(t.$slots,`default`,{key:1},void 0,!0)],4)],64))}}),_=e.t(g,[[`__scopeId`,`data-v-6fdf251d`]]),v=class{values=new Map;epoch=0;onChange=void 0;set(e,t){this.values.set(e,t),this.epoch++,this.onChange?.()}setMany(e){for(let t in e)this.values.set(t,e[t]);this.epoch++,this.onChange?.()}replace(e){this.values.clear(),this.setMany(e)}get(e){return this.values.get(e)??0}clear(){this.values.size!==0&&(this.values.clear(),this.epoch++,this.onChange?.())}get size(){return this.values.size}get version(){return this.epoch}};function y(e,t,n={}){let r=n.originX??80,i=n.originY??80,a=n.colGap??420,o=n.rowGap??48,s=n.bandGap??90,c=n.defaultW??220,l=n.defaultH??140,u=new Map;if(!e.length)return u;let d=new Map(e.map(e=>[e.id,e])),f=e=>Math.max(c,d.get(e)?.w||c),p=e=>Math.max(l,d.get(e)?.h||l),m=new Map,h=new Map;for(let t of e)m.set(t.id,new Set),h.set(t.id,new Set);let g=[];for(let e of t)if(!(!d.has(e.from)||!d.has(e.to))&&e.kind!==`ignore`){if(e.kind===`control`){g.push({from:e.from,to:e.to});continue}m.get(e.to).add(e.from),h.get(e.from).add(e.to)}let _=e=>m.get(e).size,v=e=>h.get(e).size,y=e=>_(e)>=2,b=new Map,ee=(e,t=new Set)=>{let n=b.get(e);if(n!==void 0)return n;if(t.has(e))return 0;t.add(e);let r=0;for(let n of m.get(e))r=Math.max(r,ee(n,t)+1);return t.delete(e),b.set(e,r),r};for(let t of e)ee(t.id);let x,S=-1,te=-1;for(let t of e){if(!y(t.id)||v(t.id)===0)continue;let e=b.get(t.id),n=_(t.id);(e>S||e===S&&n>te)&&(S=e,te=n,x=t.id)}let C=new Set;if(x){let e=[x];for(;e.length;){let t=e.pop();if(!C.has(t)){C.add(t);for(let n of h.get(t))e.push(n)}}}let ne=e=>{let t=[...h.get(e)],n=new Set(t);for(;t.length;){let e=t.shift();if(y(e))return e;for(let r of h.get(e))n.has(r)||(n.add(r),t.push(r))}return null},re=e=>y(e)?e:ne(e),w=new Set;for(let t of e){if(_(t.id)!==0||v(t.id)<2)continue;let e=new Set;for(let n of h.get(t.id))e.add(re(n));e.size>1&&w.add(t.id)}let ie=`\0shared`,T=`\0trunk`,E=new Map;for(let t of e){let e=t.id;if(w.has(e)){E.set(e,ie);continue}if(C.has(e)){E.set(e,T);continue}let n=y(e)?e:ne(e);E.set(e,n&&n!==x?n:`direct:${e}`)}let D=e.map(e=>e.id).filter(e=>E.get(e)?.startsWith(`direct:`)),O=new Map(D.map(e=>[e,e])),k=e=>{let t=e;for(;O.get(t)!==t;)t=O.get(t);for(;O.get(e)!==t;){let n=O.get(e);O.set(e,t),e=n}return t};for(let e of t)e.kind===`signal`&&E.get(e.from)?.startsWith(`direct:`)&&E.get(e.to)?.startsWith(`direct:`)&&O.set(k(e.from),k(e.to));for(let e of D)E.set(e,`chain:${k(e)}`);for(let{from:e,to:t}of g){let n=E.get(t);n&&E.has(e)&&E.set(e,n)}for(let t of e)E.has(t.id)||E.set(t.id,`\0orphan`);let A=[...new Set(E.values())].filter(e=>e!==ie&&e!==T),j=t=>e.filter(e=>E.get(e.id)===t);A.sort((e,t)=>j(t).length-j(e).length);let M=new Map;for(let e of A)M.set(e,Math.max(0,...j(e).map(e=>b.get(e.id))));let N=Math.max(0,...M.values()),P=new Map;if(x){P.set(x,0);let e=[x];for(;e.length;){let t=e.shift(),n=P.get(t);for(let r of h.get(t))C.has(r)&&!P.has(r)&&(P.set(r,n+1),e.push(r))}}let F=e=>w.has(e)?-1:C.has(e)?N+1+(P.get(e)??0):N-(M.get(E.get(e))??0)+(b.get(e)??0),I=[...new Set(e.map(e=>F(e.id)))].sort((e,t)=>e-t),L=new Map;for(let t of I)L.set(t,Math.max(c,...e.filter(e=>F(e.id)===t).map(e=>f(e.id))));let ae=new Map,R=r;for(let e of I)ae.set(e,R),R+=L.get(e)+a;let z=new Map,B=e=>e.reduce((e,t)=>e+p(t)+o,0)-o,V=e=>{let t=[...m.get(e),...h.get(e)].map(e=>z.get(e)).filter(e=>e!=null).sort((e,t)=>e-t);return t.length?t[Math.floor(t.length/2)]:0},oe=(e,t)=>{let n=t;for(let t of e)z.set(t,n),n+=p(t)+o},se=e=>{let t=new Map;for(let n of e){let e=F(n);(t.get(e)??t.set(e,[]).get(e)).push(n)}return t},H=i;for(let e of A){let t=se(j(e).map(e=>e.id)),n=l;for(let e of t.values())n=Math.max(n,B(e));for(let[,e]of t)e.sort((e,t)=>V(e)-V(t)),oe(e,H+(n-B(e))/2);H+=n+s}let ce=(i+Math.max(i,H-s))/2;{let e=[...w];oe(e,ce-B(e)/2)}for(let[,e]of se([...C]))oe(e,ce-B(e)/2);for(let t of e)u.set(t.id,{x:ae.get(F(t.id)),y:z.get(t.id)??i});return u}var b={key:0,class:`nb-blueprint__background-slot`,"aria-hidden":`true`},ee={class:`nb-blueprint__chrome`},x=100,S=.2,te=3,C=4,ne=240,re=400,w=1.2,ie=40,T=(0,n.defineComponent)({__name:`Blueprint`,props:{connections:{default:()=>[]},density:{default:`default`},cards:{},cardSizeEstimate:{},animateConnections:{default:`never`},activityStyle:{},wheelMode:{default:`auto`},editable:{type:Boolean,default:!1},renderer:{default:`auto`},background:{default:`dots`},layoutEdgeKind:{}},emits:[`connect`,`disconnect`,`move`,`selection-change`,`focus`,`drop-on-wire`,`wire-hover`,`wire-mouseover`,`wire-mouseout`],setup(e,{expose:a,emit:o}){let s=e,c=(0,n.useSlots)(),l=(0,n.computed)(()=>c.background?`none`:s.background),u=(0,n.ref)(!1),f=(0,n.ref)(!1),p=(0,n.computed)(()=>s.renderer!==`dom`&&u.value&&!f.value?`pixi`:`dom`);function m(){try{let e=document.createElement(`canvas`);return!!(e.getContext(`webgl2`)||e.getContext(`webgl`)||e.getContext(`experimental-webgl`))}catch{return!1}}function h(e){s.renderer===`pixi`&&console.warn(`[NubiscoUI] Blueprint renderer="pixi" unavailable (${e}); using the DOM renderer.`)}(0,n.onMounted)(async()=>{if(!(s.renderer===`dom`||typeof window>`u`)){if(!m()){h(`no WebGL`);return}try{await import(`pixi.js`),u.value=!0}catch{h(`pixi.js not installed`)}}});function g(e){f.value=!0,h(e instanceof Error?e.message:`init failed`)}let T=o,E=(0,n.ref)(),D=(0,n.ref)(0),O=(0,n.ref)(0),k=(0,n.ref)(1),A=(0,n.ref)(0),j=new v,M=(0,n.ref)(!1),N;function P(){M.value=!0,N&&clearTimeout(N),N=setTimeout(()=>{M.value=!1},220)}let F=(0,n.ref)(0),I=(0,n.ref)(0),L=(0,n.ref)(1),ae=0;function R(){F.value=D.value,I.value=O.value,L.value=k.value,ae=performance.now()}(0,n.watch)([D,O,k],()=>{if(!M.value){R();return}performance.now()-ae>=x&&R()}),(0,n.watch)(M,e=>{e||R()});let z=(0,n.ref)({w:0,h:0}),B=r(()=>E.value),V=new Map;function oe(e){for(let[t,n]of V)n.cardId===e&&V.delete(t)}function se(){V.clear()}function H(e,t,n){let r=`${e}:${t}`,i=V.get(r);if(i)return{x:i.x,y:i.y};let a=B.get(e,t);if(!a)return null;let o=a.getBoundingClientRect(),s=(o.left+o.width/2-n.left-D.value)/k.value,c=(o.top+o.height/2-n.top-O.value)/k.value,l=a.closest(`[data-card-id]`)?.getAttribute(`data-card-id`)??``;return V.set(r,{cardId:l,x:s,y:c}),{x:s,y:c}}let ce={width:260,height:200},U=(0,n.ref)(new Set),le=(0,n.ref)(null);function ue(e){le.value=e,T(`focus`,e)}function W(e){U.value=new Set(e),T(`selection-change`,e)}function de(){if(s.cards){W(s.cards.map(e=>e.id));return}if(!E.value)return;let e=[];E.value.querySelectorAll(`[data-card-id]`).forEach(t=>{let n=t.dataset.cardId;n&&e.push(n)}),W(e)}function fe(){W([]),ue(null)}let pe=(0,n.ref)(!1);function me(){let e=document.activeElement;if(!e)return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`?!0:e.isContentEditable===!0}function he(e){if(e.code===`Space`&&!e.repeat){if(me())return;pe.value=!0,e.preventDefault()}}function ge(e){e.code===`Space`&&(pe.value=!1)}let _e=!1,ve=0,ye=0,be=[`button`,`input`,`select`,`textarea`,`label`,`a[href]`,`[role="button"]`,`[role="slider"]`,`[contenteditable="true"]`,`[data-no-card-drag]`].join(`, `);function xe(e){return!!(e instanceof Element?e:null)?.closest(be)}let Se=[`[role="slider"]`,`[role="spinbutton"]`,`[role="listbox"]`,`[data-canvas-wheel-passthrough]`,`input[type="range"]`,`input[type="number"]`].join(`, `);function Ce(e){let t=e instanceof Element?e:null;if(!t)return!1;if(t.closest(Se))return!0;let n=t;for(;n&&n!==E.value;){let e=window.getComputedStyle(n),t=e.overflowY,r=e.overflowX,i=(t===`auto`||t===`scroll`||t===`overlay`)&&n.scrollHeight>n.clientHeight,a=(r===`auto`||r===`scroll`||r===`overlay`)&&n.scrollWidth>n.clientWidth;if(i||a)return!0;n=n.parentElement}return!1}function we(e){let t=e.target instanceof HTMLElement?e.target:null;if(t?.closest(`.nb-blueprint__chrome`)||t?.closest(`.nb-blueprint-card__port`))return;if(e.button===1){Te(e);return}if(pe.value){Te(e);return}let n=t?.closest(`.nb-blueprint-card`);if(n){Be(e,n,!xe(t));return}Ye(e)}function Te(e){_e=!0,ve=e.clientX-D.value,ye=e.clientY-O.value,document.addEventListener(`mousemove`,Ee),document.addEventListener(`mouseup`,De)}function Ee(e){_e&&(P(),D.value=e.clientX-ve,O.value=e.clientY-ye)}function De(){_e=!1,document.removeEventListener(`mousemove`,Ee),document.removeEventListener(`mouseup`,De)}function Oe(e,t,n){let r=E.value?.getBoundingClientRect();if(!r)return;let i=k.value,a=Math.max(S,Math.min(te,i*n));if(a===i)return;let o=e-r.left,s=t-r.top,c=(o-D.value)/i,l=(s-O.value)/i;D.value=o-c*a,O.value=s-l*a,k.value=a}function ke(e){let t=E.value?.getBoundingClientRect();t&&Oe(t.left+t.width/2,t.top+t.height/2,e)}function Ae(){ke(w)}function je(){ke(1/w)}function Me(e){if(!E.value?.getBoundingClientRect())return;let t=e.ctrlKey;if(!t&&Ce(e.target))return;e.preventDefault(),P();let n;if(n=t||s.wheelMode===`zoom`?`zoom`:(s.wheelMode,`pan`),n===`zoom`){let t=1-e.deltaY*.01;Oe(e.clientX,e.clientY,t)}else D.value-=e.deltaX,O.value-=e.deltaY}let Ne=!1,Pe=null,Fe=0,Ie=0,G=new Map,Le=!1;function Re(e){let t=e;for(;t?.parentElement;){if(t.parentElement.classList.contains(`nb-blueprint__canvas`))return t;t=t.parentElement}return e.parentElement}function K(e){let t=Re(e);if(!t)return{x:0,y:0};let n=parseFloat(t.style.left),r=parseFloat(t.style.top);if(!Number.isNaN(n)&&!Number.isNaN(r))return{x:n,y:r};let i=(t.style.transform||``).match(/translate\(([^,]+)px,\s*([^)]+)px\)/);return i?{x:parseFloat(i[1]),y:parseFloat(i[2])}:{x:t.offsetLeft,y:t.offsetTop}}function ze(e,t,n){let r=Re(e);r&&(r.style.left=`${t}px`,r.style.top=`${n}px`)}function Be(e,t,r=!0){let i=t.dataset.cardId;if(i){if(Fe=e.clientX,Ie=e.clientY,Le=!1,G=new Map,e.shiftKey){let e=new Set(U.value);e.has(i)?e.delete(i):e.add(i),W(Array.from(e))}else U.value.has(i)||W([i]),ue(i);(0,n.nextTick)(()=>{if(E.value)for(let e of U.value){let t=E.value.querySelector(`[data-card-id="${e}"]`);t&&G.set(e,K(t))}}),r&&(document.addEventListener(`mousemove`,He),document.addEventListener(`mouseup`,We))}}function Ve(){if(!E.value)return;let e=[];for(let t of G.keys()){let n=E.value.querySelector(`[data-card-id="${t}"]`);if(n){let r=K(n);e.push({id:t,x:Math.round(r.x),y:Math.round(r.y)})}}e.length&&T(`move`,e)}function He(e){let t=(e.clientX-Fe)/k.value,n=(e.clientY-Ie)/k.value;if(!(!Ne&&Math.abs(t*k.value)<C&&Math.abs(n*k.value)<C)&&(Ne=!0,Le=!0,E.value)){for(let[e,r]of G){let i=E.value.querySelector(`[data-card-id="${e}"]`);i&&ze(i,r.x+t,r.y+n)}if(Ve(),A.value++,G.size===1){let[t]=G.keys();if(t){let n=Ue(e.clientX,e.clientY),r=n?`${n.fromNode}/${n.fromPort}|${n.toNode}/${n.toPort}`:null;r!==Pe&&(Pe=r,T(`wire-hover`,t,n))}}}}function Ue(e,t){if(!E.value)return null;let n=E.value.querySelectorAll(`.nb-blueprint__wire-hitregion`);for(let r of n){let n=r.ownerSVGElement;if(!n)continue;let i=n.getScreenCTM();if(!i)continue;let a=i.inverse(),o=n.createSVGPoint();o.x=e,o.y=t;let s=o.matrixTransform(a);if(r.isPointInStroke(s)){let e=parseInt(r.getAttribute(`data-wire-index`)??`-1`,10),t=e>=0?yt.value[e]:void 0;if(t)return t.conn}}return null}function We(e){if(document.removeEventListener(`mousemove`,He),document.removeEventListener(`mouseup`,We),Le&&(Ve(),e&&G.size===1)){let[t]=G.keys();if(t){let n=Ue(e.clientX,e.clientY);n&&T(`drop-on-wire`,t,n)}}if(Ne=!1,Le=!1,G=new Map,Pe!==null){let[e]=G.keys();e&&T(`wire-hover`,e,null),Pe=null}}let q=(0,n.ref)(null),Ge=!1,Ke=(0,n.computed)(()=>{if(!q.value)return{};let{x1:e,y1:t,x2:n,y2:r}=q.value;return{left:`${Math.min(e,n)}px`,top:`${Math.min(t,r)}px`,width:`${Math.abs(n-e)}px`,height:`${Math.abs(r-t)}px`}}),qe=(0,n.ref)(null);function Je(){if(U.value.size<2||!E.value||q.value)return null;let e=E.value.getBoundingClientRect(),t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of U.value){let o=E.value.querySelector(`[data-card-id="${a}"]`);if(!o)continue;let s=o.getBoundingClientRect(),c=s.left-e.left,l=s.top-e.top;t=Math.min(t,c),n=Math.min(n,l),r=Math.max(r,c+s.width),i=Math.max(i,l+s.height)}return t===1/0?null:{left:`${t-8}px`,top:`${n-8}px`,width:`${r-t+16}px`,height:`${i-n+16}px`}}(0,n.watch)([D,O,k,A,U,q],()=>{qe.value=Je()},{flush:`post`,immediate:!0});function Ye(e){if(!E.value)return;let t=E.value.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;Ge=e.shiftKey,Ge||W([]),q.value={x1:n,y1:r,x2:n,y2:r},document.addEventListener(`mousemove`,Xe),document.addEventListener(`mouseup`,Ze)}function Xe(e){if(!q.value||!E.value)return;let t=E.value.getBoundingClientRect();q.value.x2=e.clientX-t.left,q.value.y2=e.clientY-t.top}function Ze(){if(document.removeEventListener(`mousemove`,Xe),document.removeEventListener(`mouseup`,Ze),!q.value||!E.value){q.value=null;return}let e=E.value.getBoundingClientRect(),{x1:t,y1:n,x2:r,y2:i}=q.value,a=Math.min(t,r),o=Math.min(n,i),s=Math.max(t,r),c=Math.max(n,i);if(Math.abs(r-t)<C&&Math.abs(i-n)<C){Ge||(W([]),ue(null)),q.value=null;return}let l=Ge?[...U.value]:[];E.value.querySelectorAll(`[data-card-id]`).forEach(t=>{let n=t.getBoundingClientRect(),r=n.left-e.left,i=n.top-e.top,u=r+n.width,d=i+n.height;if(r<s&&u>a&&i<c&&d>o){let e=t.dataset.cardId;e&&!l.includes(e)&&l.push(e)}}),W(l),q.value=null}let J=(0,n.ref)(null),Y=(0,n.ref)(null),X=(0,n.ref)(null);function Qe(e){Y.value=e,X.value=null,document.addEventListener(`mousemove`,ft),document.addEventListener(`mouseup`,pt)}function $e(e,t){if(e.button!==0||(e.stopPropagation(),!E.value))return;let n=E.value.getBoundingClientRect(),r=(e.clientX-n.left-D.value)/k.value,i=(e.clientY-n.top-O.value)/k.value,a=ut(t.fromNode,t.fromPort),o=ut(t.toNode,t.toPort);if(!a||!o)return;let s=a.getBoundingClientRect(),c=o.getBoundingClientRect(),l=(s.left+s.width/2-n.left-D.value)/k.value,u=(s.top+s.height/2-n.top-O.value)/k.value,d=(c.left+c.width/2-n.left-D.value)/k.value,f=(c.top+c.height/2-n.top-O.value)/k.value,p=Math.hypot(r-l,i-u),m=Math.hypot(r-d,i-f);if(Math.min(p,m)>ie)return;e.preventDefault();let h=p<m,g=h?o:a;Y.value=h?{nodeId:t.toNode,portId:t.toPort,type:`input`,dataType:dt(g)}:{nodeId:t.fromNode,portId:t.fromPort,type:`output`,dataType:dt(g)},X.value=t,document.addEventListener(`mousemove`,ft),document.addEventListener(`mouseup`,pt)}(0,n.provide)(t.t,{onPortDown:e=>Qe(e),onPortUp:e=>mt(e),dragOrigin:Y,density:(0,n.computed)(()=>s.density),nudge:et,cancelPortDrag:pt});function et(e,t,n){let r=E.value;if(!r)return;let i;if(U.value.has(e))i=Q();else{let t=r.querySelector(`[data-card-id="${e}"]`);if(!t)return;let n=K(t);i=[{id:e,el:t,x:n.x,y:n.y,w:t.offsetWidth,h:t.offsetHeight}]}i.length&&$(i.map(e=>({...e,x:e.x+t,y:e.y+n})))}function tt(e,t){let n=E.value?.getBoundingClientRect(),r=n?.left??0,i=n?.top??0;return{x:(e-r-D.value)/k.value,y:(t-i-O.value)/k.value}}function nt(e,t){let n=E.value?.getBoundingClientRect(),r=n?.left??0,i=n?.top??0;return{clientX:e*k.value+D.value+r,clientY:t*k.value+O.value+i}}(0,n.provide)(t.n,{panX:D,panY:O,zoom:k,selectedIds:U,focusedId:le,selectAll:de,deselectAll:fe,centerView:wt,fitToView:Tt,resetView:Et,getCamera:Dt,setCamera:Ot,zoomIn:Ae,zoomOut:je,alignLeft:kt,alignCenter:At,alignRight:jt,alignTop:Mt,alignMiddle:Nt,alignBottom:Pt,distributeHorizontally:Ft,distributeVertically:It,autoLayout:Lt,screenToCanvas:tt,canvasToScreen:nt,isEditMode:(0,n.computed)(()=>s.editable),viewportSize:z,isTransforming:M,live:j,onPortDown:e=>Qe(e),onPortUp:e=>mt(e)});let Z=(0,n.ref)(null);function rt(e,t){if(!E.value)return;let n=E.value.getBoundingClientRect();Z.value={x:e.clientX-n.left,y:e.clientY-n.top,conn:t}}function it(e,t){T(`wire-mouseover`,t,e.clientX,e.clientY)}function at(e){T(`wire-mouseout`,e)}function ot(){Z.value=null}function st(e){T(`disconnect`,e),ot()}function ct(e){Z.value&&(e.target.closest(`.nb-blueprint__wire-menu`)||ot())}function lt(e){e.key===`Escape`&&Z.value&&ot()}function ut(e,t){return B.get(e,t)}function dt(e){let t=e?.getAttribute(`data-port-data-type`);return t&&t!==`any`?t:void 0}function ft(e){let t=Y.value;if(!t||!E.value)return;let n=E.value.getBoundingClientRect(),r=(e.clientX-n.left-D.value)/k.value,i=(e.clientY-n.top-O.value)/k.value,a=ut(t.nodeId,t.portId);if(!a)return;let o=a.getBoundingClientRect(),s=(o.left+o.width/2-n.left-D.value)/k.value,c=(o.top+o.height/2-n.top-O.value)/k.value,l=Math.abs(r-s)*.5;J.value=`M ${s} ${c} C ${s+l} ${c}, ${r-l} ${i}, ${r} ${i}`}function pt(){Y.value=null,X.value=null,J.value=null,document.removeEventListener(`mousemove`,ft),document.removeEventListener(`mouseup`,pt)}function mt(e){let t=Y.value;if(!t||t.nodeId===e.nodeId||t.type===e.type)return;let n=t.type===`output`?t:e,r=t.type===`output`?e:t,i={fromNode:n.nodeId,fromPort:n.portId,toNode:r.nodeId,toPort:r.portId},a=X.value;a?a.fromNode===i.fromNode&&a.fromPort===i.fromPort&&a.toNode===i.toNode&&a.toPort===i.toPort||(T(`disconnect`,a),T(`connect`,i)):T(`connect`,i),Y.value=null,X.value=null,J.value=null}let ht=new WeakMap;function gt(e){let t=ht.get(e);if(t)return t;let n=e.closest(`.nb-blueprint-card`),r=`var(--nb-c-primary)`;if(n){let e=getComputedStyle(n).getPropertyValue(`--nb-card-color`).trim();e&&!e.startsWith(`var(`)&&(r=e)}return ht.set(e,r),r}function _t(e){let t=e.getAttribute(`data-port-data-type`)??``;return t===`midi`||t.startsWith(`midi:`)}function vt(e){let t=Math.max(0,Math.min(1,e)),n=[34,197,94],r=[250,204,21],i=[239,68,68],a,o,s;t<=.5?(a=n,o=r,s=t*2):(a=r,o=i,s=(t-.5)*2);let c=(e,t)=>Math.round(e+(t-e)*s);return`rgb(${c(a[0],o[0])}, ${c(a[1],o[1])}, ${c(a[2],o[2])})`}let yt=(0,n.computed)(()=>{if(A.value,!E.value)return[];let e=E.value.getBoundingClientRect(),t=L.value,n=ne/t,r=(0-F.value)/t-n,i=(e.width-F.value)/t+n,a=(0-I.value)/t-n,o=(e.height-I.value)/t+n,c=X.value;return s.connections.filter(e=>!c||e.fromNode!==c.fromNode||e.fromPort!==c.fromPort||e.toNode!==c.toNode||e.toPort!==c.toPort).map(t=>{let n=H(t.fromNode,t.fromPort,e),c=H(t.toNode,t.toPort,e);if(!n||!c)return null;let l=n.x,u=n.y,d=c.x,f=c.y,p=Math.abs(d-l)*.4,m=l+p,h=d-p;if(Math.max(l,m,h,d)<r||Math.min(l,m,h,d)>i||(u<f?f:u)<a||(u<f?u:f)>o)return null;let g=ut(t.fromNode,t.fromPort);if(!g)return null;let _=`M ${l} ${u} C ${m} ${u}, ${h} ${f}, ${d} ${f}`,v=gt(g),y=_t(g),b=v;return s.animateConnections===`levels`&&t.active!==!1&&!y&&typeof t.level==`number`&&(b=vt(t.level)),{path:_,conn:t,color:b,isMidi:y}}).filter(Boolean)}),bt=e=>{let t=s.cardSizeEstimate??ce;return{w:e.width??t.width,h:e.height??t.height}},xt=(0,n.computed)(()=>{let e=s.cards;if(!e||e.length===0)return[];let t=L.value,n=re/t,r=(0-F.value)/t-n,i=(z.value.w-F.value)/t+n,a=(0-I.value)/t-n,o=(z.value.h-I.value)/t+n,c=(e,t,n,s)=>n>=r&&e<=i&&s>=a&&t<=o,l=new Map,u=new Set;for(let t of e){l.set(t.id,t);let{w:e,h:n}=bt(t);c(t.x,t.y,t.x+e,t.y+n)&&u.add(t.id)}for(let e of s.connections){let t=l.get(e.fromNode),n=l.get(e.toNode);if(!t||!n||u.has(t.id)&&u.has(n.id))continue;let r=bt(t),i=bt(n),a=t.x+r.w,o=t.y+r.h/2,s=n.x,d=n.y+i.h/2,f=Math.abs(s-a)*.4,p=Math.min(a,a+f,s-f,s),m=Math.max(a,a+f,s-f,s);c(p,o<d?o:d,m,o<d?d:o)&&(u.add(t.id),u.add(n.id))}return e.filter(e=>u.has(e.id))});function St(e){return s.animateConnections===`never`?!1:s.animateConnections===`always`?!0:s.animateConnections===`levels`?!1:e.active!==!1}function Ct(e){let t=1/0,n=1/0,r=-1/0,i=-1/0,a=e&&e.length?new Set(e):null,o=0;if(s.cards){if(s.cards.length===0)return null;for(let e of s.cards){if(a&&!a.has(e.id))continue;let{w:s,h:c}=bt(e);t=Math.min(t,e.x),n=Math.min(n,e.y),r=Math.max(r,e.x+s),i=Math.max(i,e.y+c),o++}return o>0?{minX:t,minY:n,maxX:r,maxY:i}:null}if(!E.value)return null;let c=E.value.querySelectorAll(`[data-card-id]`);return c.length===0?null:(c.forEach(e=>{let s=e;if(a&&!a.has(s.getAttribute(`data-card-id`)??``))return;let c=K(s),l=s.offsetWidth,u=s.offsetHeight;t=Math.min(t,c.x),n=Math.min(n,c.y),r=Math.max(r,c.x+l),i=Math.max(i,c.y+u),o++}),o>0?{minX:t,minY:n,maxX:r,maxY:i}:null)}function wt(){if(k.value=1,!E.value)return;let e=Ct();if(!e){D.value=0,O.value=0;return}let t=E.value.getBoundingClientRect(),n=(e.minX+e.maxX)/2,r=(e.minY+e.maxY)/2;D.value=t.width/2-n,O.value=t.height/2-r}function Tt(e=40,t){if(!E.value)return;let n=Ct(t);if(!n){if(t&&t.length)return;Et();return}let r=E.value.getBoundingClientRect(),i=n.maxX-n.minX,a=n.maxY-n.minY;if(i<=0||a<=0){wt();return}let o=r.width-e*2,s=r.height-e*2,c=o/i,l=s/a,u=Math.max(S,Math.min(te,Math.min(c,l))),d=(n.minX+n.maxX)/2,f=(n.minY+n.maxY)/2;k.value=u,D.value=r.width/2-d*u,O.value=r.height/2-f*u}function Et(){D.value=0,O.value=0,k.value=1}function Dt(){return{panX:D.value,panY:O.value,zoom:k.value}}function Ot(e){typeof e.panX==`number`&&(D.value=e.panX),typeof e.panY==`number`&&(O.value=e.panY),typeof e.zoom==`number`&&(k.value=e.zoom)}function Q(){if(!E.value)return[];let e=[];for(let t of U.value){let n=E.value.querySelector(`[data-card-id="${t}"]`);if(!n)continue;let r=K(n);e.push({id:t,el:n,x:r.x,y:r.y,w:n.offsetWidth,h:n.offsetHeight})}return e}function $(e){let t=[];for(let n of e)n.el&&ze(n.el,n.x,n.y),t.push({id:n.id,x:Math.round(n.x),y:Math.round(n.y)});t.length&&(A.value++,T(`move`,t))}function kt(){let e=Q();if(e.length<2)return;let t=Math.min(...e.map(e=>e.x));e.forEach(e=>e.x=t),$(e)}function At(){let e=Q();if(e.length<2)return;let t=e.map(e=>e.x+e.w/2),n=t.reduce((e,t)=>e+t,0)/t.length;e.forEach(e=>e.x=n-e.w/2),$(e)}function jt(){let e=Q();if(e.length<2)return;let t=Math.max(...e.map(e=>e.x+e.w));e.forEach(e=>e.x=t-e.w),$(e)}function Mt(){let e=Q();if(e.length<2)return;let t=Math.min(...e.map(e=>e.y));e.forEach(e=>e.y=t),$(e)}function Nt(){let e=Q();if(e.length<2)return;let t=e.map(e=>e.y+e.h/2),n=t.reduce((e,t)=>e+t,0)/t.length;e.forEach(e=>e.y=n-e.h/2),$(e)}function Pt(){let e=Q();if(e.length<2)return;let t=Math.max(...e.map(e=>e.y+e.h));e.forEach(e=>e.y=t-e.h),$(e)}function Ft(){let e=Q();if(e.length<3)return;e.sort((e,t)=>e.x-t.x);let t=e[0],n=e[e.length-1],r=e.reduce((e,t)=>e+t.w,0),i=(n.x+n.w-t.x-r)/(e.length-1),a=t.x+t.w+i;for(let t=1;t<e.length-1;t++)e[t].x=a,a+=e[t].w+i;$(e)}function It(){let e=Q();if(e.length<3)return;e.sort((e,t)=>e.y-t.y);let t=e[0],n=e[e.length-1],r=e.reduce((e,t)=>e+t.h,0),i=(n.y+n.h-t.y-r)/(e.length-1),a=t.y+t.h+i;for(let t=1;t<e.length-1;t++)e[t].y=a,a+=e[t].h+i;$(e)}function Lt(e){if(!E.value)return;let t=e?.gapY??40,n=e?.padding??60,r=[];if(s.cards)for(let e of s.cards){let t=E.value.querySelector(`[data-card-id="${e.id}"]`),{w:n,h:i}=bt(e);r.push({id:e.id,el:t,x:e.x,y:e.y,w:e.width??t?.offsetWidth??n,h:e.height??t?.offsetHeight??i})}else E.value.querySelectorAll(`[data-card-id]`).forEach(e=>{let t=e,n=t.dataset.cardId;if(!n)return;let i=K(t);r.push({id:n,el:t,x:i.x,y:i.y,w:t.offsetWidth,h:t.offsetHeight})});if(!r.length)return;let i=new Map(r.map(e=>[e.id,e])),a=r.map(e=>({id:e.id,w:e.w,h:e.h})),o=s.layoutEdgeKind,c=[];for(let e of s.connections)!i.has(e.fromNode)||!i.has(e.toNode)||c.push({from:e.fromNode,to:e.toNode,kind:o?o(e):`signal`});let l=y(a,c,{colGap:e?.gapX,rowGap:t,originX:n,originY:n});for(let e of r){let t=l.get(e.id);t&&(e.x=t.x,e.y=t.y)}$(r)}let Rt=new MutationObserver(e=>{B.prune();let t=!1,n=!1;for(let r of e){if(r.type===`childList`){t=!0;continue}if(!i(r.target))continue;n=!0;let e=r.target.querySelector(`[data-card-id]`)?.getAttribute(`data-card-id`);e&&oe(e)}t&&se(),(t||n)&&A.value++}),zt=null;return(0,n.onMounted)(()=>{if(E.value){let e=E.value.getBoundingClientRect();z.value={w:e.width,h:e.height},typeof ResizeObserver<`u`&&(zt=new ResizeObserver(e=>{let t=e[0]?.contentRect;t&&(z.value={w:t.width,h:t.height})}),zt.observe(E.value)),Rt.observe(E.value,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`]})}window.addEventListener(`keydown`,he),window.addEventListener(`keyup`,ge),document.addEventListener(`mousedown`,ct),document.addEventListener(`keydown`,lt),(0,n.nextTick)(()=>(0,n.nextTick)(Tt))}),(0,n.onBeforeUnmount)(()=>{Rt.disconnect(),zt?.disconnect(),N&&clearTimeout(N),window.removeEventListener(`keydown`,he),window.removeEventListener(`keyup`,ge),document.removeEventListener(`mousedown`,ct),document.removeEventListener(`keydown`,lt)}),a({centerView:wt,fitToView:Tt,resetView:Et,getCamera:Dt,setCamera:Ot,zoomIn:Ae,zoomOut:je,selectedIds:U,focusedId:le,selectAll:de,deselectAll:fe,alignLeft:kt,alignCenter:At,alignRight:jt,alignTop:Mt,alignMiddle:Nt,alignBottom:Pt,distributeHorizontally:Ft,distributeVertically:It,autoLayout:Lt,onPortMouseDown:Qe,onPortMouseUp:mt,panX:D,panY:O,zoom:k,isTransforming:M,live:j}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`containerRef`,ref:E,class:(0,n.normalizeClass)([`nb-blueprint`,{"is-panning":(0,n.unref)(_e),"is-space":pe.value}]),onMousedown:we,onWheel:Me},[r[4]||=(0,n.createElementVNode)(`div`,{class:`nb-blueprint__ambient`},null,-1),t.$slots.background?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,b,[(0,n.renderSlot)(t.$slots,`background`,{},void 0,!0)])):(0,n.createCommentVNode)(``,!0),p.value===`dom`?((0,n.openBlock)(),(0,n.createBlock)(d,{key:1,"pan-x":D.value,"pan-y":O.value,zoom:k.value,"is-transforming":M.value,wires:yt.value,windowed:!!s.cards,"visible-cards":xt.value,"drag-wire":J.value,"should-flow":St,"level-coloring":e.animateConnections===`levels`,"activity-style":e.activityStyle??`flow`,"animate-connections":e.animateConnections,background:l.value,onWireMousedown:$e,onWireContextmenu:rt,onWireMousemove:it,onWireMouseleave:at},{card:(0,n.withCtx)(({card:e})=>[(0,n.renderSlot)(t.$slots,`card`,{card:e},void 0,!0)]),default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`,{},void 0,!0)]),_:3},8,[`pan-x`,`pan-y`,`zoom`,`is-transforming`,`wires`,`windowed`,`visible-cards`,`drag-wire`,`level-coloring`,`activity-style`,`animate-connections`,`background`])):((0,n.openBlock)(),(0,n.createBlock)(_,{key:2,"pan-x":D.value,"pan-y":O.value,zoom:k.value,"is-transforming":M.value,wires:yt.value,windowed:!!s.cards,"visible-cards":xt.value,"drag-wire":J.value,"should-flow":St,"level-coloring":e.animateConnections===`levels`,"activity-style":e.activityStyle??`flow`,"animate-connections":e.animateConnections,background:l.value,"live-data":(0,n.unref)(j),onWireMousedown:$e,onWireContextmenu:rt,onWireMousemove:it,onWireMouseleave:at,onUnavailable:g},{card:(0,n.withCtx)(({card:e})=>[(0,n.renderSlot)(t.$slots,`card`,{card:e},void 0,!0)]),default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`,{},void 0,!0)]),_:3},8,[`pan-x`,`pan-y`,`zoom`,`is-transforming`,`wires`,`windowed`,`visible-cards`,`drag-wire`,`level-coloring`,`activity-style`,`animate-connections`,`background`,`live-data`])),q.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:3,class:`nb-blueprint__marquee nb-blueprint__marquee--dragging`,style:(0,n.normalizeStyle)(Ke.value)},null,4)):(0,n.createCommentVNode)(``,!0),qe.value?((0,n.openBlock)(),(0,n.createElementBlock)(`svg`,{key:4,class:`nb-blueprint__selection-box`,style:(0,n.normalizeStyle)(qe.value)},[...r[3]||=[(0,n.createElementVNode)(`rect`,{x:`0.75`,y:`0.75`,width:`calc(100% - 1.5px)`,height:`calc(100% - 1.5px)`,rx:`4`,ry:`4`,fill:`none`,stroke:`var(--nb-blueprint-marquee-border, var(--nb-c-primary, #6366f1))`,"stroke-width":`1.5`,"stroke-dasharray":`6 4`,class:`nb-blueprint__selection-ants`},null,-1)]],4)):(0,n.createCommentVNode)(``,!0),Z.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:5,class:`nb-blueprint__wire-menu`,style:(0,n.normalizeStyle)({left:`${Z.value.x}px`,top:`${Z.value.y}px`}),role:`menu`,onClick:r[1]||=(0,n.withModifiers)(()=>{},[`stop`]),onContextmenu:r[2]||=(0,n.withModifiers)(()=>{},[`prevent`])},[(0,n.renderSlot)(t.$slots,`wire-menu`,{connection:Z.value.conn,close:ot,disconnect:()=>st(Z.value.conn)},()=>[(0,n.createElementVNode)(`button`,{type:`button`,class:`nb-blueprint__wire-menu-item`,onClick:r[0]||=e=>st(Z.value.conn)},` Disconnect `)],!0)],36)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,ee,[(0,n.renderSlot)(t.$slots,`chrome`,{},void 0,!0)])],34))}}),E=e.t(T,[[`__scopeId`,`data-v-16839f88`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return E}});
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
2
- import { n as t, t as n } from "./Blueprint.context-CFdYIXJd.js";
2
+ import { n as t, t as n } from "./Blueprint.context-M8FbIHtQ.js";
3
3
  import { Fragment as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, defineComponent as l, nextTick as u, normalizeClass as d, normalizeStyle as f, onBeforeUnmount as p, onMounted as m, openBlock as h, provide as g, ref as _, renderList as v, renderSlot as y, unref as b, useSlots as x, vShow as S, watch as C, withCtx as w, withDirectives as T, withModifiers as E } from "vue";
4
4
  //#region src/components/blueprint-port-cache.ts
5
5
  function ee(e) {
@@ -181,7 +181,7 @@ var O = { class: "nb-blueprint__wires" }, k = [
181
181
  async function T() {
182
182
  let e = l.value, t = u.value;
183
183
  if (!(!e || !t)) try {
184
- let [r, { PixiScene: i }] = await Promise.all([import("pixi.js"), import("./pixi-scene-BsU_T9YR.js")]), { width: a, height: o } = w(), s = await i.create(r, {
184
+ let [r, { PixiScene: i }] = await Promise.all([import("pixi.js"), import("./pixi-scene-zrD35mCw.js")]), { width: a, height: o } = w(), s = await i.create(r, {
185
185
  canvas: e,
186
186
  el: t,
187
187
  width: a,
@@ -1,6 +1,6 @@
1
1
  import { useReducedMotion as e } from "./composables/useReducedMotion.composable.mjs";
2
2
  import { t } from "./_plugin-vue_export-helper-O4QQSku4.js";
3
- import { t as n } from "./Blueprint.context-CFdYIXJd.js";
3
+ import { t as n } from "./Blueprint.context-M8FbIHtQ.js";
4
4
  import { Fragment as r, computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, defineComponent as l, inject as u, normalizeClass as d, normalizeStyle as f, onScopeDispose as p, openBlock as m, ref as h, renderList as g, renderSlot as _, toDisplayString as v, watch as ee, withModifiers as y } from "vue";
5
5
  //#region src/components/BlueprintCard.vue?vue&type=script&setup=true&lang.ts
6
6
  var te = ["data-card-id", "aria-label"], ne = { class: "nb-blueprint-card__ports nb-blueprint-card__ports--left" }, re = ["title"], ie = [
@@ -1 +1 @@
1
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./composables/useReducedMotion.composable.cjs`),t=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),n=require(`./Blueprint.context-CFxL4QTQ.cjs`);let r=require(`vue`);var i=[`data-card-id`,`aria-label`],a={class:`nb-blueprint-card__ports nb-blueprint-card__ports--left`},o=[`title`],s=[`title`,`aria-label`,`onMousedown`,`onMouseup`,`onKeydown`],c=[`data-port`,`data-port-data-type`],l={key:0,class:`nb-blueprint-card__port-label`},u={class:`nb-blueprint-card__inner`},d={class:`nb-blueprint-card__body`},f={class:`nb-blueprint-card__header`},p=[`title`,`aria-label`,`aria-expanded`],m={class:`nb-blueprint-card__title-group`},h={class:`nb-blueprint-card__name`},g={key:0,class:`nb-blueprint-card__tag`},_=[`aria-label`],v=[`checked`,`aria-label`],ee=[`aria-label`],te={key:0,class:`nb-blueprint-card__preview`},ne={key:1,class:`nb-blueprint-card__params`},re={class:`nb-blueprint-card__row-label`},ie={class:`nb-blueprint-card__row-value`},ae={key:0,class:`nb-blueprint-card__row-unit`},oe={key:2,class:`nb-blueprint-card__content`},se={class:`nb-blueprint-card__ports nb-blueprint-card__ports--right`},ce=[`title`],le=[`title`,`aria-label`,`onMousedown`,`onMouseup`,`onKeydown`],ue=[`data-port`,`data-port-data-type`],de={key:0,class:`nb-blueprint-card__port-label`},fe=320,pe=1,me=10,y=(0,r.defineComponent)({__name:`BlueprintCard`,props:{id:{},title:{},color:{default:void 0},enabled:{type:Boolean,default:!0},selected:{type:Boolean,default:!1},category:{default:``},ports:{default:()=>[]},connectedPorts:{default:()=>[]},activePorts:{default:()=>[]},x:{default:0},y:{default:0},removable:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1},status:{default:`none`},preview:{default:``},parameters:{default:()=>[]},showPortLabels:{type:[String,Boolean],default:!1},portLevels:{default:()=>({})},density:{default:void 0}},emits:[`select`,`toggle`,`remove`,`toggle-collapse`,`port-mousedown`,`port-mouseup`],setup(t,{emit:y}){let b=t,x=y,S=(0,r.inject)(n.t,null);function C(e){x(`port-mousedown`,e),S?.onPortDown(e)}function w(e){x(`port-mouseup`,e),S?.onPortUp(e)}function T(e){S?.dragOrigin?.value?w(e):C(e)}function E(e,t){if(e.key===`Enter`||e.key===` `){e.preventDefault(),e.stopPropagation(),T(t);return}e.key===`Escape`&&S?.dragOrigin?.value&&(e.preventDefault(),e.stopPropagation(),S.cancelPortDrag?.())}let D=(0,r.computed)(()=>b.density??S?.density?.value??`default`),O=(0,r.computed)(()=>!!S?.dragOrigin?.value);function k(e,t){return!e||!t||e===`any`||t===`any`||e===t?!0:e.split(`:`)[0]===t.split(`:`)[0]}function A(e,t){let n=S?.dragOrigin?.value;return!n||n.nodeId===b.id&&n.portId===e.portId?!1:n.nodeId!==b.id&&n.type!==t&&k(n.dataType,e.port.dataType)?`nb-blueprint-card__port--target-valid`:`nb-blueprint-card__port--target-invalid`}let j=e.useReducedMotion(),M=(0,r.ref)(new Set),N=new Map;(0,r.watch)(()=>b.activePorts,(e,t)=>{if(j.value)return;let n=new Set(t??[]);for(let t of e??[])n.has(t)||(M.value=new Set(M.value).add(t),clearTimeout(N.get(t)),N.set(t,setTimeout(()=>{let e=new Set(M.value);e.delete(t),M.value=e,N.delete(t)},fe)))},{deep:!0}),(0,r.onScopeDispose)(()=>{for(let e of N.values())clearTimeout(e);N.clear()});function P(e){return typeof b.portLevels?.[e]==`number`}function F(e){let t={"--pin-color":Ee(e.port)},n=b.portLevels?.[e.portId];return typeof n==`number`&&(t[`--pin-level`]=`${(Math.max(0,Math.min(1,n))*100).toFixed(1)}%`),t}let I={valid:`Valid`,warning:`Warning`,error:`Error`};function L(e,t){let n=K(e.portId)?`connected`:`not connected`;return`${J(e)}, ${t}, ${n}`}let R=(0,r.computed)(()=>{let e=[b.title];return b.category&&e.push(b.category),b.status&&b.status!==`none`&&e.push(I[b.status]),e.push(b.enabled?`enabled`:`disabled`),e.join(`, `)}),z={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function he(e){let t=z[e.key];if(!t||!S?.nudge)return;e.preventDefault();let n=e.shiftKey?me:pe;S.nudge(b.id,t[0]*n,t[1]*n)}function ge(e){return e.showLabel===void 0?b.showPortLabels===`both`?!0:b.showPortLabels===`left`?e.type===`input`:b.showPortLabels===`right`?e.type===`output`:!1:e.showLabel}function B(e){let t=[];for(let n of b.ports){if(n.type!==e)continue;let r=ge(n);if(n.channels&&n.channels.length>0)for(let e of n.channels)t.push({key:`${n.id}/${e.id}`,port:n,portId:`${n.id}/${e.id}`,channel:e,showLabel:r});else t.push({key:n.id,port:n,portId:n.id,showLabel:r})}return t}let V=(0,r.computed)(()=>B(`input`)),H=(0,r.computed)(()=>B(`output`)),_e=(0,r.computed)(()=>Math.max(V.value.length,H.value.length,1)),U=(0,r.computed)(()=>({left:V.value.some(e=>e.showLabel),right:H.value.some(e=>e.showLabel)})),ve=(0,r.computed)(()=>{let e=b.category||``;return!b.enabled&&e?`${e} · off`:e}),ye=(0,r.computed)(()=>{let e=b.color;if(!e||e.startsWith(`var(`))return`rgba(139, 124, 255, 0.18)`;if(e.startsWith(`#`)&&(e.length===7||e.length===4)){let t=e.length===4?`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`:e;return`rgba(${parseInt(t.slice(1,3),16)}, ${parseInt(t.slice(3,5),16)}, ${parseInt(t.slice(5,7),16)}, 0.18)`}return`rgba(139, 124, 255, 0.18)`}),W=(0,r.computed)(()=>new Set(b.connectedPorts)),G=(0,r.computed)(()=>new Set(b.activePorts));function K(e){return W.value.has(e)}function q(e){return G.value.has(e)}let be=(0,r.computed)(()=>V.value.some(e=>W.value.has(e.portId))),xe=(0,r.computed)(()=>V.value.some(e=>G.value.has(e.portId))),Se=(0,r.computed)(()=>H.value.some(e=>W.value.has(e.portId))),Ce=(0,r.computed)(()=>H.value.some(e=>G.value.has(e.portId)));function J(e){return e.channel?`${e.port.label} . ${e.channel.label}`:e.port.label}function Y(e){return e.channel?e.channel.label:e.port.label}let X={geometry:`#6366f1`,celestial:`#f97316`,lighting:`#f59e0b`,effect:`#a855f7`,surface:`#3b82f6`,audio:`#22c55e`,"audio:mono":`#22c55e`,"audio:stereo":`#10b981`,"audio:bus":`#059669`,midi:`#a855f7`,"midi:rechannelized":`#9333ea`,control:`#94a3b8`,entity:`#ec4899`,number:`#94a3b8`,vector3:`#38bdf8`,color:`#fb923c`,asset:`#a78bfa`,any:`#64748b`},we={geometry:`pill`,celestial:`pill`,lighting:`pill`,effect:`pill`,surface:`pill`,audio:`pill`,"audio:mono":`pill`,"audio:stereo":`pill`,"audio:bus":`pill`,midi:`pill`,"midi:rechannelized":`pill`,control:`pill`,entity:`pill`,number:`pill`,vector3:`pill`,color:`pill`,asset:`pill`,any:`pill`},Te={geometry:`analog`,celestial:`analog`,lighting:`analog`,effect:`analog`,surface:`analog`,audio:`analog`,"audio:mono":`analog`,"audio:stereo":`analog`,"audio:bus":`analog`,midi:`digital`,"midi:rechannelized":`digital`,control:`digital`,entity:`digital`,number:`analog`,vector3:`analog`,color:`digital`,asset:`digital`,any:`analog`};function Ee(e){return e.color??X[e.dataType??`any`]??X.any}function Z(e){return e.shape??we[e.dataType??`any`]??`pill`}function Q(e){return e.size??`md`}function $(e){return e.signal??Te[e.dataType??`any`]??`analog`}return(e,n)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{class:(0,r.normalizeClass)([`nb-blueprint-card`,[`nb-blueprint-card--density-${D.value}`,{"nb-blueprint-card--selected":t.selected,"nb-blueprint-card--disabled":!t.enabled,"nb-blueprint-card--collapsed":t.collapsed,"nb-blueprint-card--has-category":!!t.category,"nb-blueprint-card--has-port-labels-left":U.value.left,"nb-blueprint-card--has-port-labels-right":U.value.right,"nb-blueprint-card--dragging-wire":O.value}]]),"data-card-id":t.id,style:(0,r.normalizeStyle)({"--nb-card-color":t.color||`var(--nb-c-primary)`,"--nb-card-glow":ye.value,"--nb-blueprint-port-count":_e.value}),tabindex:`0`,role:`group`,"aria-roledescription":`Graph node`,"aria-label":R.value,onMousedown:n[7]||=n=>e.$emit(`select`,t.id),onFocus:n[8]||=n=>e.$emit(`select`,t.id),onKeydown:he},[(0,r.createElementVNode)(`div`,a,[t.collapsed&&V.value.length>0?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([`nb-blueprint-card__port-combined nb-blueprint-card__port-combined--left`,{"nb-blueprint-card__port-combined--connected":be.value,"nb-blueprint-card__port-combined--active":xe.value}]),title:`${V.value.length} input${V.value.length===1?``:`s`}`},null,10,o)):(0,r.createCommentVNode)(``,!0),((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(V.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.key,class:`nb-blueprint-card__port-slot`},[(0,r.createElementVNode)(`button`,{type:`button`,class:`nb-blueprint-card__port-hit`,title:J(e),"aria-label":L(e,`input`),onMousedown:(0,r.withModifiers)(n=>C({nodeId:t.id,portId:e.portId,type:`input`,dataType:e.port.dataType}),[`stop`]),onMouseup:(0,r.withModifiers)(n=>w({nodeId:t.id,portId:e.portId,type:`input`,dataType:e.port.dataType}),[`stop`]),onKeydown:n=>E(n,{nodeId:t.id,portId:e.portId,type:`input`,dataType:e.port.dataType})},[(0,r.createElementVNode)(`span`,{"data-port":`${t.id}:${e.portId}`,"data-port-data-type":e.port.dataType??`any`,class:(0,r.normalizeClass)([`nb-blueprint-card__port nb-blueprint-card__port--left`,[`nb-blueprint-card__port--${Z(e.port)}`,`nb-blueprint-card__port--size-${Q(e.port)}`,`nb-blueprint-card__port--${$(e.port)}`,e.port.required?`nb-blueprint-card__port--required`:``,e.channel?`nb-blueprint-card__port--channel`:``,K(e.portId)?`nb-blueprint-card__port--connected`:``,q(e.portId)?`nb-blueprint-card__port--active`:``,P(e.portId)?`nb-blueprint-card__port--metered`:``,M.value.has(e.portId)?`nb-blueprint-card__port--ping`:``,A(e,`input`)]]),style:(0,r.normalizeStyle)(F(e))},null,14,c)],40,s),e.showLabel?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,l,(0,r.toDisplayString)(Y(e)),1)):(0,r.createCommentVNode)(``,!0)]))),128))]),(0,r.createElementVNode)(`div`,u,[(0,r.createElementVNode)(`div`,d,[(0,r.createElementVNode)(`div`,f,[(0,r.createElementVNode)(`button`,{type:`button`,class:`nb-blueprint-card__collapse`,title:t.collapsed?`Expand`:`Collapse`,"aria-label":`${t.collapsed?`Expand`:`Collapse`} ${t.title}`,"aria-expanded":!t.collapsed,onMousedown:n[0]||=(0,r.withModifiers)(()=>{},[`stop`]),onClick:n[1]||=(0,r.withModifiers)(n=>e.$emit(`toggle-collapse`,t.id),[`stop`])},[...n[9]||=[(0,r.createElementVNode)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[(0,r.createElementVNode)(`polyline`,{points:`4 6 8 10 12 6`})],-1)]],40,p),(0,r.createElementVNode)(`div`,m,[(0,r.createElementVNode)(`span`,h,(0,r.toDisplayString)(t.title),1),t.category?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,g,(0,r.toDisplayString)(ve.value),1)):(0,r.createCommentVNode)(``,!0)]),t.status&&t.status!==`none`?((0,r.openBlock)(),(0,r.createElementBlock)(`svg`,{key:0,class:(0,r.normalizeClass)([`nb-blueprint-card__status`,`nb-blueprint-card__status--${t.status}`]),viewBox:`0 0 16 16`,width:`14`,height:`14`,role:`img`,"aria-label":I[t.status]},[(0,r.createElementVNode)(`title`,null,(0,r.toDisplayString)(I[t.status]),1),t.status===`valid`?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[n[10]||=(0,r.createElementVNode)(`circle`,{cx:`8`,cy:`8`,r:`7`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},null,-1),n[11]||=(0,r.createElementVNode)(`polyline`,{points:`4.5 8.2 7 10.5 11.5 5.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},null,-1)],64)):t.status===`warning`?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:1},[n[12]||=(0,r.createElementVNode)(`path`,{d:`M8 1.5 15 14.5 1 14.5 Z`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,-1),n[13]||=(0,r.createElementVNode)(`line`,{x1:`8`,y1:`6`,x2:`8`,y2:`10`,stroke:`currentColor`,"stroke-width":`1.5`},null,-1),n[14]||=(0,r.createElementVNode)(`circle`,{cx:`8`,cy:`12.2`,r:`0.9`,fill:`currentColor`},null,-1)],64)):((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:2},[n[15]||=(0,r.createElementVNode)(`circle`,{cx:`8`,cy:`8`,r:`7`,fill:`currentColor`},null,-1),n[16]||=(0,r.createElementVNode)(`line`,{x1:`8`,y1:`4.5`,x2:`8`,y2:`9`,stroke:`var(--nb-c-surface)`,"stroke-width":`1.8`},null,-1),n[17]||=(0,r.createElementVNode)(`circle`,{cx:`8`,cy:`11.4`,r:`1`,fill:`var(--nb-c-surface)`},null,-1)],64))],10,_)):(0,r.createCommentVNode)(``,!0),t.enabled===void 0?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`label`,{key:1,class:`nb-blueprint-card__toggle`,onMousedown:n[3]||=(0,r.withModifiers)(()=>{},[`stop`]),onClick:n[4]||=(0,r.withModifiers)(()=>{},[`stop`])},[(0,r.createElementVNode)(`input`,{type:`checkbox`,checked:t.enabled,"aria-label":`Enable ${t.title}`,onChange:n[2]||=n=>e.$emit(`toggle`,t.id,n.target.checked)},null,40,v),n[18]||=(0,r.createElementVNode)(`span`,{class:`nb-blueprint-card__toggle-track`},null,-1)],32)),t.removable?((0,r.openBlock)(),(0,r.createElementBlock)(`button`,{key:2,type:`button`,class:`nb-blueprint-card__remove`,title:`Remove`,"aria-label":`Remove ${t.title}`,onMousedown:n[5]||=(0,r.withModifiers)(()=>{},[`stop`]),onClick:n[6]||=(0,r.withModifiers)(n=>e.$emit(`remove`,t.id),[`stop`])},` × `,40,ee)):(0,r.createCommentVNode)(``,!0)]),t.collapsed?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[t.preview?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,te,(0,r.toDisplayString)(t.preview),1)):(0,r.createCommentVNode)(``,!0),t.parameters&&t.parameters.length?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,ne,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(t.parameters,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.label,class:`nb-blueprint-card__row`},[(0,r.createElementVNode)(`span`,re,(0,r.toDisplayString)(e.label),1),(0,r.createElementVNode)(`span`,ie,[(0,r.createTextVNode)((0,r.toDisplayString)(e.value)+` `,1),e.unit?((0,r.openBlock)(),(0,r.createElementBlock)(`em`,ae,(0,r.toDisplayString)(e.unit),1)):(0,r.createCommentVNode)(``,!0)]),e.bar===void 0?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:`nb-blueprint-card__row-bar`,style:(0,r.normalizeStyle)({"--bar-progress":`${e.bar}%`})},null,4))]))),128))])):(0,r.createCommentVNode)(``,!0),e.$slots.default?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,oe,[(0,r.renderSlot)(e.$slots,`default`,{},void 0,!0)])):(0,r.createCommentVNode)(``,!0)],64))])]),(0,r.createElementVNode)(`div`,se,[t.collapsed&&H.value.length>0?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([`nb-blueprint-card__port-combined nb-blueprint-card__port-combined--right`,{"nb-blueprint-card__port-combined--connected":Se.value,"nb-blueprint-card__port-combined--active":Ce.value}]),title:`${H.value.length} output${H.value.length===1?``:`s`}`},null,10,ce)):(0,r.createCommentVNode)(``,!0),((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(H.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.key,class:`nb-blueprint-card__port-slot`},[(0,r.createElementVNode)(`button`,{type:`button`,class:`nb-blueprint-card__port-hit`,title:J(e),"aria-label":L(e,`output`),onMousedown:(0,r.withModifiers)(n=>C({nodeId:t.id,portId:e.portId,type:`output`,dataType:e.port.dataType}),[`stop`]),onMouseup:(0,r.withModifiers)(n=>w({nodeId:t.id,portId:e.portId,type:`output`,dataType:e.port.dataType}),[`stop`]),onKeydown:n=>E(n,{nodeId:t.id,portId:e.portId,type:`output`,dataType:e.port.dataType})},[(0,r.createElementVNode)(`span`,{"data-port":`${t.id}:${e.portId}`,"data-port-data-type":e.port.dataType??`any`,class:(0,r.normalizeClass)([`nb-blueprint-card__port nb-blueprint-card__port--right`,[`nb-blueprint-card__port--${Z(e.port)}`,`nb-blueprint-card__port--size-${Q(e.port)}`,`nb-blueprint-card__port--${$(e.port)}`,e.channel?`nb-blueprint-card__port--channel`:``,K(e.portId)?`nb-blueprint-card__port--connected`:``,q(e.portId)?`nb-blueprint-card__port--active`:``,P(e.portId)?`nb-blueprint-card__port--metered`:``,M.value.has(e.portId)?`nb-blueprint-card__port--ping`:``,A(e,`output`)]]),style:(0,r.normalizeStyle)(F(e))},null,14,ue)],40,le),e.showLabel?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,de,(0,r.toDisplayString)(Y(e)),1)):(0,r.createCommentVNode)(``,!0)]))),128))])],46,i))}}),b=t.t(y,[[`__scopeId`,`data-v-abebdb9e`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return b}});
1
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./composables/useReducedMotion.composable.cjs`),t=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),n=require(`./Blueprint.context-CFUllT-M.cjs`);let r=require(`vue`);var i=[`data-card-id`,`aria-label`],a={class:`nb-blueprint-card__ports nb-blueprint-card__ports--left`},o=[`title`],s=[`title`,`aria-label`,`onMousedown`,`onMouseup`,`onKeydown`],c=[`data-port`,`data-port-data-type`],l={key:0,class:`nb-blueprint-card__port-label`},u={class:`nb-blueprint-card__inner`},d={class:`nb-blueprint-card__body`},f={class:`nb-blueprint-card__header`},p=[`title`,`aria-label`,`aria-expanded`],m={class:`nb-blueprint-card__title-group`},h={class:`nb-blueprint-card__name`},g={key:0,class:`nb-blueprint-card__tag`},_=[`aria-label`],v=[`checked`,`aria-label`],ee=[`aria-label`],te={key:0,class:`nb-blueprint-card__preview`},ne={key:1,class:`nb-blueprint-card__params`},re={class:`nb-blueprint-card__row-label`},ie={class:`nb-blueprint-card__row-value`},ae={key:0,class:`nb-blueprint-card__row-unit`},oe={key:2,class:`nb-blueprint-card__content`},se={class:`nb-blueprint-card__ports nb-blueprint-card__ports--right`},ce=[`title`],le=[`title`,`aria-label`,`onMousedown`,`onMouseup`,`onKeydown`],ue=[`data-port`,`data-port-data-type`],de={key:0,class:`nb-blueprint-card__port-label`},fe=320,pe=1,me=10,y=(0,r.defineComponent)({__name:`BlueprintCard`,props:{id:{},title:{},color:{default:void 0},enabled:{type:Boolean,default:!0},selected:{type:Boolean,default:!1},category:{default:``},ports:{default:()=>[]},connectedPorts:{default:()=>[]},activePorts:{default:()=>[]},x:{default:0},y:{default:0},removable:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1},status:{default:`none`},preview:{default:``},parameters:{default:()=>[]},showPortLabels:{type:[String,Boolean],default:!1},portLevels:{default:()=>({})},density:{default:void 0}},emits:[`select`,`toggle`,`remove`,`toggle-collapse`,`port-mousedown`,`port-mouseup`],setup(t,{emit:y}){let b=t,x=y,S=(0,r.inject)(n.t,null);function C(e){x(`port-mousedown`,e),S?.onPortDown(e)}function w(e){x(`port-mouseup`,e),S?.onPortUp(e)}function T(e){S?.dragOrigin?.value?w(e):C(e)}function E(e,t){if(e.key===`Enter`||e.key===` `){e.preventDefault(),e.stopPropagation(),T(t);return}e.key===`Escape`&&S?.dragOrigin?.value&&(e.preventDefault(),e.stopPropagation(),S.cancelPortDrag?.())}let D=(0,r.computed)(()=>b.density??S?.density?.value??`default`),O=(0,r.computed)(()=>!!S?.dragOrigin?.value);function k(e,t){return!e||!t||e===`any`||t===`any`||e===t?!0:e.split(`:`)[0]===t.split(`:`)[0]}function A(e,t){let n=S?.dragOrigin?.value;return!n||n.nodeId===b.id&&n.portId===e.portId?!1:n.nodeId!==b.id&&n.type!==t&&k(n.dataType,e.port.dataType)?`nb-blueprint-card__port--target-valid`:`nb-blueprint-card__port--target-invalid`}let j=e.useReducedMotion(),M=(0,r.ref)(new Set),N=new Map;(0,r.watch)(()=>b.activePorts,(e,t)=>{if(j.value)return;let n=new Set(t??[]);for(let t of e??[])n.has(t)||(M.value=new Set(M.value).add(t),clearTimeout(N.get(t)),N.set(t,setTimeout(()=>{let e=new Set(M.value);e.delete(t),M.value=e,N.delete(t)},fe)))},{deep:!0}),(0,r.onScopeDispose)(()=>{for(let e of N.values())clearTimeout(e);N.clear()});function P(e){return typeof b.portLevels?.[e]==`number`}function F(e){let t={"--pin-color":Ee(e.port)},n=b.portLevels?.[e.portId];return typeof n==`number`&&(t[`--pin-level`]=`${(Math.max(0,Math.min(1,n))*100).toFixed(1)}%`),t}let I={valid:`Valid`,warning:`Warning`,error:`Error`};function L(e,t){let n=K(e.portId)?`connected`:`not connected`;return`${J(e)}, ${t}, ${n}`}let R=(0,r.computed)(()=>{let e=[b.title];return b.category&&e.push(b.category),b.status&&b.status!==`none`&&e.push(I[b.status]),e.push(b.enabled?`enabled`:`disabled`),e.join(`, `)}),z={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function he(e){let t=z[e.key];if(!t||!S?.nudge)return;e.preventDefault();let n=e.shiftKey?me:pe;S.nudge(b.id,t[0]*n,t[1]*n)}function ge(e){return e.showLabel===void 0?b.showPortLabels===`both`?!0:b.showPortLabels===`left`?e.type===`input`:b.showPortLabels===`right`?e.type===`output`:!1:e.showLabel}function B(e){let t=[];for(let n of b.ports){if(n.type!==e)continue;let r=ge(n);if(n.channels&&n.channels.length>0)for(let e of n.channels)t.push({key:`${n.id}/${e.id}`,port:n,portId:`${n.id}/${e.id}`,channel:e,showLabel:r});else t.push({key:n.id,port:n,portId:n.id,showLabel:r})}return t}let V=(0,r.computed)(()=>B(`input`)),H=(0,r.computed)(()=>B(`output`)),_e=(0,r.computed)(()=>Math.max(V.value.length,H.value.length,1)),U=(0,r.computed)(()=>({left:V.value.some(e=>e.showLabel),right:H.value.some(e=>e.showLabel)})),ve=(0,r.computed)(()=>{let e=b.category||``;return!b.enabled&&e?`${e} · off`:e}),ye=(0,r.computed)(()=>{let e=b.color;if(!e||e.startsWith(`var(`))return`rgba(139, 124, 255, 0.18)`;if(e.startsWith(`#`)&&(e.length===7||e.length===4)){let t=e.length===4?`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`:e;return`rgba(${parseInt(t.slice(1,3),16)}, ${parseInt(t.slice(3,5),16)}, ${parseInt(t.slice(5,7),16)}, 0.18)`}return`rgba(139, 124, 255, 0.18)`}),W=(0,r.computed)(()=>new Set(b.connectedPorts)),G=(0,r.computed)(()=>new Set(b.activePorts));function K(e){return W.value.has(e)}function q(e){return G.value.has(e)}let be=(0,r.computed)(()=>V.value.some(e=>W.value.has(e.portId))),xe=(0,r.computed)(()=>V.value.some(e=>G.value.has(e.portId))),Se=(0,r.computed)(()=>H.value.some(e=>W.value.has(e.portId))),Ce=(0,r.computed)(()=>H.value.some(e=>G.value.has(e.portId)));function J(e){return e.channel?`${e.port.label} . ${e.channel.label}`:e.port.label}function Y(e){return e.channel?e.channel.label:e.port.label}let X={geometry:`#6366f1`,celestial:`#f97316`,lighting:`#f59e0b`,effect:`#a855f7`,surface:`#3b82f6`,audio:`#22c55e`,"audio:mono":`#22c55e`,"audio:stereo":`#10b981`,"audio:bus":`#059669`,midi:`#a855f7`,"midi:rechannelized":`#9333ea`,control:`#94a3b8`,entity:`#ec4899`,number:`#94a3b8`,vector3:`#38bdf8`,color:`#fb923c`,asset:`#a78bfa`,any:`#64748b`},we={geometry:`pill`,celestial:`pill`,lighting:`pill`,effect:`pill`,surface:`pill`,audio:`pill`,"audio:mono":`pill`,"audio:stereo":`pill`,"audio:bus":`pill`,midi:`pill`,"midi:rechannelized":`pill`,control:`pill`,entity:`pill`,number:`pill`,vector3:`pill`,color:`pill`,asset:`pill`,any:`pill`},Te={geometry:`analog`,celestial:`analog`,lighting:`analog`,effect:`analog`,surface:`analog`,audio:`analog`,"audio:mono":`analog`,"audio:stereo":`analog`,"audio:bus":`analog`,midi:`digital`,"midi:rechannelized":`digital`,control:`digital`,entity:`digital`,number:`analog`,vector3:`analog`,color:`digital`,asset:`digital`,any:`analog`};function Ee(e){return e.color??X[e.dataType??`any`]??X.any}function Z(e){return e.shape??we[e.dataType??`any`]??`pill`}function Q(e){return e.size??`md`}function $(e){return e.signal??Te[e.dataType??`any`]??`analog`}return(e,n)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{class:(0,r.normalizeClass)([`nb-blueprint-card`,[`nb-blueprint-card--density-${D.value}`,{"nb-blueprint-card--selected":t.selected,"nb-blueprint-card--disabled":!t.enabled,"nb-blueprint-card--collapsed":t.collapsed,"nb-blueprint-card--has-category":!!t.category,"nb-blueprint-card--has-port-labels-left":U.value.left,"nb-blueprint-card--has-port-labels-right":U.value.right,"nb-blueprint-card--dragging-wire":O.value}]]),"data-card-id":t.id,style:(0,r.normalizeStyle)({"--nb-card-color":t.color||`var(--nb-c-primary)`,"--nb-card-glow":ye.value,"--nb-blueprint-port-count":_e.value}),tabindex:`0`,role:`group`,"aria-roledescription":`Graph node`,"aria-label":R.value,onMousedown:n[7]||=n=>e.$emit(`select`,t.id),onFocus:n[8]||=n=>e.$emit(`select`,t.id),onKeydown:he},[(0,r.createElementVNode)(`div`,a,[t.collapsed&&V.value.length>0?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([`nb-blueprint-card__port-combined nb-blueprint-card__port-combined--left`,{"nb-blueprint-card__port-combined--connected":be.value,"nb-blueprint-card__port-combined--active":xe.value}]),title:`${V.value.length} input${V.value.length===1?``:`s`}`},null,10,o)):(0,r.createCommentVNode)(``,!0),((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(V.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.key,class:`nb-blueprint-card__port-slot`},[(0,r.createElementVNode)(`button`,{type:`button`,class:`nb-blueprint-card__port-hit`,title:J(e),"aria-label":L(e,`input`),onMousedown:(0,r.withModifiers)(n=>C({nodeId:t.id,portId:e.portId,type:`input`,dataType:e.port.dataType}),[`stop`]),onMouseup:(0,r.withModifiers)(n=>w({nodeId:t.id,portId:e.portId,type:`input`,dataType:e.port.dataType}),[`stop`]),onKeydown:n=>E(n,{nodeId:t.id,portId:e.portId,type:`input`,dataType:e.port.dataType})},[(0,r.createElementVNode)(`span`,{"data-port":`${t.id}:${e.portId}`,"data-port-data-type":e.port.dataType??`any`,class:(0,r.normalizeClass)([`nb-blueprint-card__port nb-blueprint-card__port--left`,[`nb-blueprint-card__port--${Z(e.port)}`,`nb-blueprint-card__port--size-${Q(e.port)}`,`nb-blueprint-card__port--${$(e.port)}`,e.port.required?`nb-blueprint-card__port--required`:``,e.channel?`nb-blueprint-card__port--channel`:``,K(e.portId)?`nb-blueprint-card__port--connected`:``,q(e.portId)?`nb-blueprint-card__port--active`:``,P(e.portId)?`nb-blueprint-card__port--metered`:``,M.value.has(e.portId)?`nb-blueprint-card__port--ping`:``,A(e,`input`)]]),style:(0,r.normalizeStyle)(F(e))},null,14,c)],40,s),e.showLabel?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,l,(0,r.toDisplayString)(Y(e)),1)):(0,r.createCommentVNode)(``,!0)]))),128))]),(0,r.createElementVNode)(`div`,u,[(0,r.createElementVNode)(`div`,d,[(0,r.createElementVNode)(`div`,f,[(0,r.createElementVNode)(`button`,{type:`button`,class:`nb-blueprint-card__collapse`,title:t.collapsed?`Expand`:`Collapse`,"aria-label":`${t.collapsed?`Expand`:`Collapse`} ${t.title}`,"aria-expanded":!t.collapsed,onMousedown:n[0]||=(0,r.withModifiers)(()=>{},[`stop`]),onClick:n[1]||=(0,r.withModifiers)(n=>e.$emit(`toggle-collapse`,t.id),[`stop`])},[...n[9]||=[(0,r.createElementVNode)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[(0,r.createElementVNode)(`polyline`,{points:`4 6 8 10 12 6`})],-1)]],40,p),(0,r.createElementVNode)(`div`,m,[(0,r.createElementVNode)(`span`,h,(0,r.toDisplayString)(t.title),1),t.category?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,g,(0,r.toDisplayString)(ve.value),1)):(0,r.createCommentVNode)(``,!0)]),t.status&&t.status!==`none`?((0,r.openBlock)(),(0,r.createElementBlock)(`svg`,{key:0,class:(0,r.normalizeClass)([`nb-blueprint-card__status`,`nb-blueprint-card__status--${t.status}`]),viewBox:`0 0 16 16`,width:`14`,height:`14`,role:`img`,"aria-label":I[t.status]},[(0,r.createElementVNode)(`title`,null,(0,r.toDisplayString)(I[t.status]),1),t.status===`valid`?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[n[10]||=(0,r.createElementVNode)(`circle`,{cx:`8`,cy:`8`,r:`7`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},null,-1),n[11]||=(0,r.createElementVNode)(`polyline`,{points:`4.5 8.2 7 10.5 11.5 5.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},null,-1)],64)):t.status===`warning`?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:1},[n[12]||=(0,r.createElementVNode)(`path`,{d:`M8 1.5 15 14.5 1 14.5 Z`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linejoin":`round`},null,-1),n[13]||=(0,r.createElementVNode)(`line`,{x1:`8`,y1:`6`,x2:`8`,y2:`10`,stroke:`currentColor`,"stroke-width":`1.5`},null,-1),n[14]||=(0,r.createElementVNode)(`circle`,{cx:`8`,cy:`12.2`,r:`0.9`,fill:`currentColor`},null,-1)],64)):((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:2},[n[15]||=(0,r.createElementVNode)(`circle`,{cx:`8`,cy:`8`,r:`7`,fill:`currentColor`},null,-1),n[16]||=(0,r.createElementVNode)(`line`,{x1:`8`,y1:`4.5`,x2:`8`,y2:`9`,stroke:`var(--nb-c-surface)`,"stroke-width":`1.8`},null,-1),n[17]||=(0,r.createElementVNode)(`circle`,{cx:`8`,cy:`11.4`,r:`1`,fill:`var(--nb-c-surface)`},null,-1)],64))],10,_)):(0,r.createCommentVNode)(``,!0),t.enabled===void 0?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`label`,{key:1,class:`nb-blueprint-card__toggle`,onMousedown:n[3]||=(0,r.withModifiers)(()=>{},[`stop`]),onClick:n[4]||=(0,r.withModifiers)(()=>{},[`stop`])},[(0,r.createElementVNode)(`input`,{type:`checkbox`,checked:t.enabled,"aria-label":`Enable ${t.title}`,onChange:n[2]||=n=>e.$emit(`toggle`,t.id,n.target.checked)},null,40,v),n[18]||=(0,r.createElementVNode)(`span`,{class:`nb-blueprint-card__toggle-track`},null,-1)],32)),t.removable?((0,r.openBlock)(),(0,r.createElementBlock)(`button`,{key:2,type:`button`,class:`nb-blueprint-card__remove`,title:`Remove`,"aria-label":`Remove ${t.title}`,onMousedown:n[5]||=(0,r.withModifiers)(()=>{},[`stop`]),onClick:n[6]||=(0,r.withModifiers)(n=>e.$emit(`remove`,t.id),[`stop`])},` × `,40,ee)):(0,r.createCommentVNode)(``,!0)]),t.collapsed?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[t.preview?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,te,(0,r.toDisplayString)(t.preview),1)):(0,r.createCommentVNode)(``,!0),t.parameters&&t.parameters.length?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,ne,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(t.parameters,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.label,class:`nb-blueprint-card__row`},[(0,r.createElementVNode)(`span`,re,(0,r.toDisplayString)(e.label),1),(0,r.createElementVNode)(`span`,ie,[(0,r.createTextVNode)((0,r.toDisplayString)(e.value)+` `,1),e.unit?((0,r.openBlock)(),(0,r.createElementBlock)(`em`,ae,(0,r.toDisplayString)(e.unit),1)):(0,r.createCommentVNode)(``,!0)]),e.bar===void 0?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:`nb-blueprint-card__row-bar`,style:(0,r.normalizeStyle)({"--bar-progress":`${e.bar}%`})},null,4))]))),128))])):(0,r.createCommentVNode)(``,!0),e.$slots.default?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,oe,[(0,r.renderSlot)(e.$slots,`default`,{},void 0,!0)])):(0,r.createCommentVNode)(``,!0)],64))])]),(0,r.createElementVNode)(`div`,se,[t.collapsed&&H.value.length>0?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([`nb-blueprint-card__port-combined nb-blueprint-card__port-combined--right`,{"nb-blueprint-card__port-combined--connected":Se.value,"nb-blueprint-card__port-combined--active":Ce.value}]),title:`${H.value.length} output${H.value.length===1?``:`s`}`},null,10,ce)):(0,r.createCommentVNode)(``,!0),((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(H.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.key,class:`nb-blueprint-card__port-slot`},[(0,r.createElementVNode)(`button`,{type:`button`,class:`nb-blueprint-card__port-hit`,title:J(e),"aria-label":L(e,`output`),onMousedown:(0,r.withModifiers)(n=>C({nodeId:t.id,portId:e.portId,type:`output`,dataType:e.port.dataType}),[`stop`]),onMouseup:(0,r.withModifiers)(n=>w({nodeId:t.id,portId:e.portId,type:`output`,dataType:e.port.dataType}),[`stop`]),onKeydown:n=>E(n,{nodeId:t.id,portId:e.portId,type:`output`,dataType:e.port.dataType})},[(0,r.createElementVNode)(`span`,{"data-port":`${t.id}:${e.portId}`,"data-port-data-type":e.port.dataType??`any`,class:(0,r.normalizeClass)([`nb-blueprint-card__port nb-blueprint-card__port--right`,[`nb-blueprint-card__port--${Z(e.port)}`,`nb-blueprint-card__port--size-${Q(e.port)}`,`nb-blueprint-card__port--${$(e.port)}`,e.channel?`nb-blueprint-card__port--channel`:``,K(e.portId)?`nb-blueprint-card__port--connected`:``,q(e.portId)?`nb-blueprint-card__port--active`:``,P(e.portId)?`nb-blueprint-card__port--metered`:``,M.value.has(e.portId)?`nb-blueprint-card__port--ping`:``,A(e,`output`)]]),style:(0,r.normalizeStyle)(F(e))},null,14,ue)],40,le),e.showLabel?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,de,(0,r.toDisplayString)(Y(e)),1)):(0,r.createCommentVNode)(``,!0)]))),128))])],46,i))}}),b=t.t(y,[[`__scopeId`,`data-v-abebdb9e`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return b}});
@@ -0,0 +1 @@
1
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./composables/useCommandPalette.composable.cjs`),t=require(`./Icon-C8R_r_In.cjs`),n=require(`./composables/useScrollLock.composable.cjs`);let r=require(`vue`),i=require(`@nubisco/ui/icons/magnifying-glass`);var a={class:`nb-command-palette__input-row`},o=[`placeholder`],s={key:0,class:`nb-command-palette__results`},c={key:0,class:`nb-command-palette__group-header`},l=[`onClick`,`onMouseenter`],u={class:`nb-command-palette__item-label`},d={key:1,class:`nb-command-palette__item-shortcut`},f={key:1,class:`nb-command-palette__empty`},p={key:2,class:`nb-command-palette__empty`},m={key:3,class:`nb-command-palette__empty`},h=(0,r.defineComponent)({__name:`CommandPalette`,props:{openShortcut:{default:`Meta+k`},placeholder:{default:`Search commands...`},maxResults:{default:50},suggest:{type:Function,default:void 0},suggestDebounce:{default:150}},setup(h){let{lock:g,unlock:_}=n.useScrollLock(),v=h,y=(0,r.inject)(e.NB_COMMAND_PALETTE_KEY),b=(0,r.ref)(null),x=(0,r.ref)(``),S=(0,r.ref)(null),C=(0,r.ref)([]),w=(0,r.ref)(!1),T=null,E=0;function D(){T!==null&&(clearTimeout(T),T=null)}function O(){D(),E++,C.value=[],w.value=!1}async function k(e){let t=v.suggest;if(!t)return;let n=++E;w.value=!0;try{let r=await t(e);if(n!==E)return;C.value=r}catch{n===E&&(C.value=[])}finally{n===E&&(w.value=!1)}}(0,r.watch)(x,e=>{if(!v.suggest)return;D();let t=e.trim();if(!t){O();return}w.value=!0,T=setTimeout(()=>void k(t),v.suggestDebounce)});function A(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(n.startsWith(r))return 1e3+r.length/n.length*100;if(n.split(/[\s\-_./]+/).some(e=>e.startsWith(r)))return 500;let i=n.indexOf(r);if(i>=0)return 300-i;let a=0,o=0;for(let e=0;e<n.length&&a<r.length;e++)n[e]===r[a]&&(o+=10,e>0&&n[e-1]===(a>0?r[a-1]:``)&&(o+=5),a++);return a===r.length?o:-1}function j(e,t){let n=A(e.label,t);if(e.namespace&&(n=Math.max(n,A(e.namespace,t)*.8)),e.keywords)for(let r of e.keywords)n=Math.max(n,A(r,t)*.7);return n}let M=(0,r.computed)(()=>{let e=Array.from(y.commands.values()).filter(e=>!e.context||e.context===y.activeContext);return x.value?e.map(e=>({cmd:e,score:j(e,x.value)})).filter(e=>e.score>0).sort((e,t)=>t.score-e.score).slice(0,v.maxResults).map(e=>e.cmd):e.slice(0,v.maxResults)}),N=(0,r.computed)(()=>{let e=new Map;for(let t of M.value){let n=t.namespace??``;e.has(n)||e.set(n,[]),e.get(n).push(t)}let t=Array.from(e.entries()).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({namespace:e,commands:t.sort((e,t)=>e.label.localeCompare(t.label))}));if(C.value.length===0)return t;let n=new Map;for(let e of C.value.slice(0,v.maxResults)){let t=e.namespace??``;n.has(t)||n.set(t,[]),n.get(t).push(e)}return[...Array.from(n.entries()).map(([e,t])=>({namespace:e,commands:t})),...t]}),P=(0,r.computed)(()=>N.value.flatMap(e=>e.commands));function F(e){y.close(),x.value=``,O(),e.handler()}function I(e){if(e.key===`Escape`){e.preventDefault(),y.close(),x.value=``,O();return}let t=P.value;if(!t.length)return;let n=t.findIndex(e=>e.id===S.value);if(e.key===`ArrowDown`)e.preventDefault(),S.value=t[n<t.length-1?n+1:0].id,L();else if(e.key===`ArrowUp`)e.preventDefault(),S.value=t[n>0?n-1:t.length-1].id,L();else if(e.key===`Enter`&&S.value){e.preventDefault();let n=t.find(e=>e.id===S.value);n&&F(n)}}function L(){(0,r.nextTick)(()=>{document.querySelector(`.nb-command-palette__item--highlighted`)?.scrollIntoView({block:`nearest`})})}(0,r.watch)(()=>y.isOpen,e=>{e?(x.value=y.searchFilter??``,S.value=null,(0,r.nextTick)(()=>{b.value?.focus(),(0,r.nextTick)(()=>{P.value.length>0&&(S.value=P.value[0].id)})}),g()):(x.value=``,O(),_())}),(0,r.watch)(P,e=>{e.length>0&&!e.find(e=>e.id===S.value)?S.value=e[0].id:e.length===0&&(S.value=null)});let R={cmd:`⌘`,meta:`⌘`,shift:`⇧`,alt:`⌥`,option:`⌥`,ctrl:`⌃`,control:`⌃`};function z(e){return e.split(`+`).map(e=>R[e.trim().toLowerCase()]||e.trim())}function B(e){let t=e.toLowerCase().split(`+`);return{key:t[t.length-1],meta:t.includes(`meta`)||t.includes(`cmd`),ctrl:t.includes(`ctrl`)||t.includes(`control`),shift:t.includes(`shift`),alt:t.includes(`alt`)}}function V(e){if(e.key===`Escape`&&y.isOpen){e.preventDefault(),y.close(),x.value=``;return}let t=B(v.openShortcut),n=e.key.toLowerCase()===t.key,r=t.meta?e.metaKey:!e.metaKey,i=t.ctrl?e.ctrlKey:!e.ctrlKey,a=t.shift?e.shiftKey:!e.shiftKey,o=t.alt?e.altKey:!e.altKey;n&&r&&i&&a&&o&&(e.preventDefault(),y.isOpen?y.close():y.open())}return(0,r.onMounted)(()=>{document.addEventListener(`keydown`,V)}),(0,r.onBeforeUnmount)(()=>{document.removeEventListener(`keydown`,V),D(),_()}),(e,n)=>((0,r.openBlock)(),(0,r.createBlock)(r.Teleport,{to:`body`},[(0,r.createVNode)(r.Transition,{name:`nb-command-palette`},{default:(0,r.withCtx)(()=>[(0,r.unref)(y).isOpen?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:`nb-command-palette__overlay`,onClick:n[1]||=(0,r.withModifiers)(e=>(0,r.unref)(y).close(),[`self`])},[(0,r.createElementVNode)(`div`,{class:`nb-command-palette`,onKeydown:I},[(0,r.createElementVNode)(`div`,a,[(0,r.createVNode)(t.t,{name:(0,r.unref)(i.regular),size:20,class:`nb-command-palette__search-icon`},null,8,[`name`]),(0,r.withDirectives)((0,r.createElementVNode)(`input`,{ref_key:`inputRef`,ref:b,"onUpdate:modelValue":n[0]||=e=>x.value=e,type:`text`,class:`nb-command-palette__input`,placeholder:h.placeholder,autocomplete:`off`,spellcheck:`false`},null,8,o),[[r.vModelText,x.value]])]),N.value.length>0?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,s,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(N.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:e.namespace},[e.namespace?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,c,(0,r.toDisplayString)(e.namespace),1)):(0,r.createCommentVNode)(``,!0),((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(e.commands,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.id,class:(0,r.normalizeClass)([`nb-command-palette__item`,{"nb-command-palette__item--highlighted":e.id===S.value}]),onClick:t=>F(e),onMouseenter:t=>S.value=e.id},[e.icon?((0,r.openBlock)(),(0,r.createBlock)(t.t,{key:0,name:e.icon,size:16,class:`nb-command-palette__item-icon`},null,8,[`name`])):(0,r.createCommentVNode)(``,!0),(0,r.createElementVNode)(`span`,u,(0,r.toDisplayString)(e.label),1),e.shortcut?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,d,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(z(e.shortcut),(e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)(`kbd`,{key:t,class:`nb-command-palette__key`},(0,r.toDisplayString)(e),1))),128))])):(0,r.createCommentVNode)(``,!0)],42,l))),128))],64))),128))])):w.value?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,f,` Searching... `)):x.value?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,p,` No matches `)):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,m,` Type to search commands `))],32)])):(0,r.createCommentVNode)(``,!0)]),_:1})]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});
@@ -0,0 +1,223 @@
1
+ import { NB_COMMAND_PALETTE_KEY as e } from "./composables/useCommandPalette.composable.mjs";
2
+ import { t } from "./Icon-rREAqsu0.js";
3
+ import { useScrollLock as n } from "./composables/useScrollLock.composable.mjs";
4
+ import { Fragment as r, Teleport as i, Transition as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createVNode as d, defineComponent as f, inject as p, nextTick as m, normalizeClass as h, onBeforeUnmount as g, onMounted as _, openBlock as v, ref as y, renderList as b, toDisplayString as x, unref as S, vModelText as C, watch as w, withCtx as T, withDirectives as E, withModifiers as D } from "vue";
5
+ import { regular as O } from "@nubisco/ui/icons/magnifying-glass";
6
+ //#region src/components/CommandPalette.vue?vue&type=script&setup=true&lang.ts
7
+ var ee = { class: "nb-command-palette__input-row" }, te = ["placeholder"], ne = {
8
+ key: 0,
9
+ class: "nb-command-palette__results"
10
+ }, k = {
11
+ key: 0,
12
+ class: "nb-command-palette__group-header"
13
+ }, A = ["onClick", "onMouseenter"], re = { class: "nb-command-palette__item-label" }, ie = {
14
+ key: 1,
15
+ class: "nb-command-palette__item-shortcut"
16
+ }, j = {
17
+ key: 1,
18
+ class: "nb-command-palette__empty"
19
+ }, M = {
20
+ key: 2,
21
+ class: "nb-command-palette__empty"
22
+ }, N = {
23
+ key: 3,
24
+ class: "nb-command-palette__empty"
25
+ }, P = /* @__PURE__ */ f({
26
+ __name: "CommandPalette",
27
+ props: {
28
+ openShortcut: { default: "Meta+k" },
29
+ placeholder: { default: "Search commands..." },
30
+ maxResults: { default: 50 },
31
+ suggest: {
32
+ type: Function,
33
+ default: void 0
34
+ },
35
+ suggestDebounce: { default: 150 }
36
+ },
37
+ setup(f) {
38
+ let { lock: P, unlock: F } = n(), I = f, L = p(e), R = y(null), z = y(""), B = y(null), V = y([]), H = y(!1), U = null, W = 0;
39
+ function G() {
40
+ U !== null && (clearTimeout(U), U = null);
41
+ }
42
+ function K() {
43
+ G(), W++, V.value = [], H.value = !1;
44
+ }
45
+ async function q(e) {
46
+ let t = I.suggest;
47
+ if (!t) return;
48
+ let n = ++W;
49
+ H.value = !0;
50
+ try {
51
+ let r = await t(e);
52
+ if (n !== W) return;
53
+ V.value = r;
54
+ } catch {
55
+ n === W && (V.value = []);
56
+ } finally {
57
+ n === W && (H.value = !1);
58
+ }
59
+ }
60
+ w(z, (e) => {
61
+ if (!I.suggest) return;
62
+ G();
63
+ let t = e.trim();
64
+ if (!t) {
65
+ K();
66
+ return;
67
+ }
68
+ H.value = !0, U = setTimeout(() => void q(t), I.suggestDebounce);
69
+ });
70
+ function J(e, t) {
71
+ let n = e.toLowerCase(), r = t.toLowerCase();
72
+ if (n.startsWith(r)) return 1e3 + r.length / n.length * 100;
73
+ if (n.split(/[\s\-_./]+/).some((e) => e.startsWith(r))) return 500;
74
+ let i = n.indexOf(r);
75
+ if (i >= 0) return 300 - i;
76
+ let a = 0, o = 0;
77
+ for (let e = 0; e < n.length && a < r.length; e++) n[e] === r[a] && (o += 10, e > 0 && n[e - 1] === (a > 0 ? r[a - 1] : "") && (o += 5), a++);
78
+ return a === r.length ? o : -1;
79
+ }
80
+ function ae(e, t) {
81
+ let n = J(e.label, t);
82
+ if (e.namespace && (n = Math.max(n, J(e.namespace, t) * .8)), e.keywords) for (let r of e.keywords) n = Math.max(n, J(r, t) * .7);
83
+ return n;
84
+ }
85
+ let oe = o(() => {
86
+ let e = Array.from(L.commands.values()).filter((e) => !e.context || e.context === L.activeContext);
87
+ return z.value ? e.map((e) => ({
88
+ cmd: e,
89
+ score: ae(e, z.value)
90
+ })).filter((e) => e.score > 0).sort((e, t) => t.score - e.score).slice(0, I.maxResults).map((e) => e.cmd) : e.slice(0, I.maxResults);
91
+ }), Y = o(() => {
92
+ let e = /* @__PURE__ */ new Map();
93
+ for (let t of oe.value) {
94
+ let n = t.namespace ?? "";
95
+ e.has(n) || e.set(n, []), e.get(n).push(t);
96
+ }
97
+ let t = Array.from(e.entries()).sort(([e], [t]) => e.localeCompare(t)).map(([e, t]) => ({
98
+ namespace: e,
99
+ commands: t.sort((e, t) => e.label.localeCompare(t.label))
100
+ }));
101
+ if (V.value.length === 0) return t;
102
+ let n = /* @__PURE__ */ new Map();
103
+ for (let e of V.value.slice(0, I.maxResults)) {
104
+ let t = e.namespace ?? "";
105
+ n.has(t) || n.set(t, []), n.get(t).push(e);
106
+ }
107
+ return [...Array.from(n.entries()).map(([e, t]) => ({
108
+ namespace: e,
109
+ commands: t
110
+ })), ...t];
111
+ }), X = o(() => Y.value.flatMap((e) => e.commands));
112
+ function Z(e) {
113
+ L.close(), z.value = "", K(), e.handler();
114
+ }
115
+ function se(e) {
116
+ if (e.key === "Escape") {
117
+ e.preventDefault(), L.close(), z.value = "", K();
118
+ return;
119
+ }
120
+ let t = X.value;
121
+ if (!t.length) return;
122
+ let n = t.findIndex((e) => e.id === B.value);
123
+ if (e.key === "ArrowDown") e.preventDefault(), B.value = t[n < t.length - 1 ? n + 1 : 0].id, Q();
124
+ else if (e.key === "ArrowUp") e.preventDefault(), B.value = t[n > 0 ? n - 1 : t.length - 1].id, Q();
125
+ else if (e.key === "Enter" && B.value) {
126
+ e.preventDefault();
127
+ let n = t.find((e) => e.id === B.value);
128
+ n && Z(n);
129
+ }
130
+ }
131
+ function Q() {
132
+ m(() => {
133
+ document.querySelector(".nb-command-palette__item--highlighted")?.scrollIntoView({ block: "nearest" });
134
+ });
135
+ }
136
+ w(() => L.isOpen, (e) => {
137
+ e ? (z.value = L.searchFilter ?? "", B.value = null, m(() => {
138
+ R.value?.focus(), m(() => {
139
+ X.value.length > 0 && (B.value = X.value[0].id);
140
+ });
141
+ }), P()) : (z.value = "", K(), F());
142
+ }), w(X, (e) => {
143
+ e.length > 0 && !e.find((e) => e.id === B.value) ? B.value = e[0].id : e.length === 0 && (B.value = null);
144
+ });
145
+ let ce = {
146
+ cmd: "⌘",
147
+ meta: "⌘",
148
+ shift: "⇧",
149
+ alt: "⌥",
150
+ option: "⌥",
151
+ ctrl: "⌃",
152
+ control: "⌃"
153
+ };
154
+ function le(e) {
155
+ return e.split("+").map((e) => ce[e.trim().toLowerCase()] || e.trim());
156
+ }
157
+ function ue(e) {
158
+ let t = e.toLowerCase().split("+");
159
+ return {
160
+ key: t[t.length - 1],
161
+ meta: t.includes("meta") || t.includes("cmd"),
162
+ ctrl: t.includes("ctrl") || t.includes("control"),
163
+ shift: t.includes("shift"),
164
+ alt: t.includes("alt")
165
+ };
166
+ }
167
+ function $(e) {
168
+ if (e.key === "Escape" && L.isOpen) {
169
+ e.preventDefault(), L.close(), z.value = "";
170
+ return;
171
+ }
172
+ let t = ue(I.openShortcut), n = e.key.toLowerCase() === t.key, r = t.meta ? e.metaKey : !e.metaKey, i = t.ctrl ? e.ctrlKey : !e.ctrlKey, a = t.shift ? e.shiftKey : !e.shiftKey, o = t.alt ? e.altKey : !e.altKey;
173
+ n && r && i && a && o && (e.preventDefault(), L.isOpen ? L.close() : L.open());
174
+ }
175
+ return _(() => {
176
+ document.addEventListener("keydown", $);
177
+ }), g(() => {
178
+ document.removeEventListener("keydown", $), G(), F();
179
+ }), (e, n) => (v(), s(i, { to: "body" }, [d(a, { name: "nb-command-palette" }, {
180
+ default: T(() => [S(L).isOpen ? (v(), l("div", {
181
+ key: 0,
182
+ class: "nb-command-palette__overlay",
183
+ onClick: n[1] ||= D((e) => S(L).close(), ["self"])
184
+ }, [u("div", {
185
+ class: "nb-command-palette",
186
+ onKeydown: se
187
+ }, [u("div", ee, [d(t, {
188
+ name: S(O),
189
+ size: 20,
190
+ class: "nb-command-palette__search-icon"
191
+ }, null, 8, ["name"]), E(u("input", {
192
+ ref_key: "inputRef",
193
+ ref: R,
194
+ "onUpdate:modelValue": n[0] ||= (e) => z.value = e,
195
+ type: "text",
196
+ class: "nb-command-palette__input",
197
+ placeholder: f.placeholder,
198
+ autocomplete: "off",
199
+ spellcheck: "false"
200
+ }, null, 8, te), [[C, z.value]])]), Y.value.length > 0 ? (v(), l("div", ne, [(v(!0), l(r, null, b(Y.value, (e) => (v(), l(r, { key: e.namespace }, [e.namespace ? (v(), l("div", k, x(e.namespace), 1)) : c("", !0), (v(!0), l(r, null, b(e.commands, (e) => (v(), l("div", {
201
+ key: e.id,
202
+ class: h(["nb-command-palette__item", { "nb-command-palette__item--highlighted": e.id === B.value }]),
203
+ onClick: (t) => Z(e),
204
+ onMouseenter: (t) => B.value = e.id
205
+ }, [
206
+ e.icon ? (v(), s(t, {
207
+ key: 0,
208
+ name: e.icon,
209
+ size: 16,
210
+ class: "nb-command-palette__item-icon"
211
+ }, null, 8, ["name"])) : c("", !0),
212
+ u("span", re, x(e.label), 1),
213
+ e.shortcut ? (v(), l("span", ie, [(v(!0), l(r, null, b(le(e.shortcut), (e, t) => (v(), l("kbd", {
214
+ key: t,
215
+ class: "nb-command-palette__key"
216
+ }, x(e), 1))), 128))])) : c("", !0)
217
+ ], 42, A))), 128))], 64))), 128))])) : H.value ? (v(), l("div", j, " Searching... ")) : z.value ? (v(), l("div", M, " No matches ")) : (v(), l("div", N, " Type to search commands "))], 32)])) : c("", !0)]),
218
+ _: 1
219
+ })]));
220
+ }
221
+ });
222
+ //#endregion
223
+ export { P as t };
@@ -1 +1 @@
1
- const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),n=require(`./Icon-C8R_r_In.cjs`),r=require(`./composables/useStableId.composable.cjs`),i=require(`./Spinner-CqSN2vaR.cjs`);let a=require(`vue`),o=require(`@nubisco/ui/icons/warning-circle`);o=e.n(o);let s=require(`@nubisco/ui/icons/check-circle`);s=e.n(s);var c=function(e){return e.Inactive=`inactive`,e.Active=`active`,e.Finished=`finished`,e.Error=`error`,e}(c||{}),l=[`id`,`aria-live`],u={class:`nb-inline-loading__text`},d=(0,a.defineComponent)({__name:`InlineLoading`,props:{status:{default:c.Inactive},label:{default:`Saving`},finishedLabel:{default:`Saved`},errorLabel:{default:`Could not save`},dwell:{default:1600},reserveSpace:{type:Boolean,default:!0},id:{default:void 0}},emits:[`success`],setup(e,{emit:t}){let d=e,f=t,p=r.useStableId(d),m;function h(){m&&=(clearTimeout(m),void 0)}(0,a.watch)(()=>d.status,e=>{h(),e===c.Finished&&(m=setTimeout(()=>{m=void 0,f(`success`)},d.dwell))},{immediate:!0}),(0,a.onBeforeUnmount)(h);let g=(0,a.computed)(()=>{switch(d.status){case c.Active:return d.label;case c.Finished:return d.finishedLabel;case c.Error:return d.errorLabel;default:return``}}),_=(0,a.computed)(()=>d.status===c.Finished?s:d.status===c.Error?o:null),v=(0,a.computed)(()=>d.status===c.Inactive?`off`:d.status===c.Error?`assertive`:`polite`),y=(0,a.computed)(()=>[`nb-inline-loading`,`nb-inline-loading--${d.status}`]),b=(0,a.computed)(()=>{if(!d.reserveSpace)return;let e=Math.max(d.label.length,d.finishedLabel.length,d.errorLabel.length);return{"--nb-inline-loading-reserve":`${e+1}ch`}});return(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{id:(0,a.unref)(p),class:(0,a.normalizeClass)(y.value),style:(0,a.normalizeStyle)(b.value),role:`status`,"aria-live":v.value},[e.status===`active`?((0,a.openBlock)(),(0,a.createBlock)(i.t,{key:0,class:`nb-inline-loading__spinner`,size:`sm`,tone:`inherit`,decorative:``})):_.value?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:1,class:`nb-inline-loading__icon`,name:_.value,size:16,"aria-hidden":`true`},null,8,[`name`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`span`,u,[(0,a.renderSlot)(t.$slots,`default`,{status:e.status,text:g.value},()=>[(0,a.createTextVNode)((0,a.toDisplayString)(g.value),1)],!0)])],14,l))}}),f=t.t(d,[[`__scopeId`,`data-v-077014e8`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
1
+ const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),n=require(`./Icon-C8R_r_In.cjs`),r=require(`./composables/useStableId.composable.cjs`),i=require(`./Spinner-0U-QK2re.cjs`);let a=require(`vue`),o=require(`@nubisco/ui/icons/warning-circle`);o=e.n(o);let s=require(`@nubisco/ui/icons/check-circle`);s=e.n(s);var c=function(e){return e.Inactive=`inactive`,e.Active=`active`,e.Finished=`finished`,e.Error=`error`,e}(c||{}),l=[`id`,`aria-live`],u={class:`nb-inline-loading__text`},d=(0,a.defineComponent)({__name:`InlineLoading`,props:{status:{default:c.Inactive},label:{default:`Saving`},finishedLabel:{default:`Saved`},errorLabel:{default:`Could not save`},dwell:{default:1600},reserveSpace:{type:Boolean,default:!0},id:{default:void 0}},emits:[`success`],setup(e,{emit:t}){let d=e,f=t,p=r.useStableId(d),m;function h(){m&&=(clearTimeout(m),void 0)}(0,a.watch)(()=>d.status,e=>{h(),e===c.Finished&&(m=setTimeout(()=>{m=void 0,f(`success`)},d.dwell))},{immediate:!0}),(0,a.onBeforeUnmount)(h);let g=(0,a.computed)(()=>{switch(d.status){case c.Active:return d.label;case c.Finished:return d.finishedLabel;case c.Error:return d.errorLabel;default:return``}}),_=(0,a.computed)(()=>d.status===c.Finished?s:d.status===c.Error?o:null),v=(0,a.computed)(()=>d.status===c.Inactive?`off`:d.status===c.Error?`assertive`:`polite`),y=(0,a.computed)(()=>[`nb-inline-loading`,`nb-inline-loading--${d.status}`]),b=(0,a.computed)(()=>{if(!d.reserveSpace)return;let e=Math.max(d.label.length,d.finishedLabel.length,d.errorLabel.length);return{"--nb-inline-loading-reserve":`${e+1}ch`}});return(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{id:(0,a.unref)(p),class:(0,a.normalizeClass)(y.value),style:(0,a.normalizeStyle)(b.value),role:`status`,"aria-live":v.value},[e.status===`active`?((0,a.openBlock)(),(0,a.createBlock)(i.t,{key:0,class:`nb-inline-loading__spinner`,size:`sm`,tone:`inherit`,decorative:``})):_.value?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:1,class:`nb-inline-loading__icon`,name:_.value,size:16,"aria-hidden":`true`},null,8,[`name`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`span`,u,[(0,a.renderSlot)(t.$slots,`default`,{status:e.status,text:g.value},()=>[(0,a.createTextVNode)((0,a.toDisplayString)(g.value),1)],!0)])],14,l))}}),f=t.t(d,[[`__scopeId`,`data-v-077014e8`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
2
2
  import { t } from "./Icon-rREAqsu0.js";
3
3
  import { useStableId as n } from "./composables/useStableId.composable.mjs";
4
- import { t as r } from "./Spinner-BEYUpJdP.js";
4
+ import { t as r } from "./Spinner-CcKjiWEY.js";
5
5
  import { computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, defineComponent as u, normalizeClass as d, normalizeStyle as f, onBeforeUnmount as p, openBlock as m, renderSlot as h, toDisplayString as g, unref as _, watch as v } from "vue";
6
6
  import * as y from "@nubisco/ui/icons/warning-circle";
7
7
  import * as b from "@nubisco/ui/icons/check-circle";
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "./Icon-rREAqsu0.js";
2
2
  import { t } from "./EmptyState-CwMG-NeI.js";
3
3
  import { t as n } from "./Button-Q8MBLMvG.js";
4
- import { t as r } from "./Spinner-BEYUpJdP.js";
5
- import { t as i } from "./Skeleton-sox6qUDk.js";
6
- import { t as a } from "./NotificationCenterItem-ZkLsiQIV.js";
4
+ import { t as r } from "./Spinner-CcKjiWEY.js";
5
+ import { t as i } from "./Skeleton-D8_ZS3rD.js";
6
+ import { t as a } from "./NotificationCenterItem-CH-V1S51.js";
7
7
  import { Fragment as o, Teleport as s, Transition as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createSlots as ee, createTextVNode as te, createVNode as m, defineComponent as h, mergeProps as ne, nextTick as g, normalizeClass as re, normalizeStyle as _, onBeforeUnmount as ie, openBlock as v, ref as y, renderList as ae, renderSlot as b, toDisplayString as x, unref as oe, useId as se, useSlots as ce, watch as S, withCtx as C } from "vue";
8
8
  import { regular as le } from "@nubisco/ui/icons/warning-circle";
9
9
  import * as ue from "@nubisco/ui/icons/bell";