@nubisco/ui 5.26.1 → 5.27.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 (184) hide show
  1. package/dist/{Blueprint-DxHaLr4P.cjs → Blueprint-CMNV_pFD.cjs} +1 -1
  2. package/dist/{Blueprint-CQ0UBrND.js → Blueprint-DAySN9o8.js} +2 -2
  3. package/dist/{BlueprintCard-BpVITfop.js → BlueprintCard-CaDr0605.js} +1 -1
  4. package/dist/{BlueprintCard-ndSnIVKE.cjs → BlueprintCard-DIe9bROZ.cjs} +1 -1
  5. package/dist/{InlineLoading-w5XKQdGi.cjs → InlineLoading-DBJe1W5c.cjs} +1 -1
  6. package/dist/{InlineLoading-uGDGiTNv.js → InlineLoading-DcAS5wVb.js} +1 -1
  7. package/dist/{NotificationCenter-DNA6BL18.js → NotificationCenter-BcBIvNED.js} +3 -3
  8. package/dist/{NotificationCenter-BceqDL0a.cjs → NotificationCenter-CzYFsX7I.cjs} +1 -1
  9. package/dist/Shell-BWIHH0q8.js +497 -0
  10. package/dist/Shell-CgOJlNco.cjs +1 -0
  11. package/dist/SidebarHeaderToggle-BZ_YU8EU.cjs +1 -0
  12. package/dist/SidebarHeaderToggle-DBiI4idz.js +61 -0
  13. package/dist/{Skeleton-Ba4m2jYi.js → Skeleton-1DNgvYeb.js} +1 -1
  14. package/dist/{Skeleton-Bgo6pIY2.cjs → Skeleton-DmkE06TO.cjs} +1 -1
  15. package/dist/{Slider-BAhq6cJT.js → Slider-B7dj-HgC.js} +1 -1
  16. package/dist/{Slider-BK5yS7Ih.cjs → Slider-CUe2-pUo.cjs} +1 -1
  17. package/dist/{Spinner-swPRQ7kf.cjs → Spinner-BJ0Xx-p9.cjs} +1 -1
  18. package/dist/{Spinner-BxnDJP1H.js → Spinner-DQULvHnJ.js} +1 -1
  19. package/dist/{Stepper-BH7RO00M.js → Stepper-BOVp6Jjq.js} +1 -1
  20. package/dist/{Stepper-Da0Ba3PE.cjs → Stepper-SRPMyDLn.cjs} +1 -1
  21. package/dist/{StepperStep-CI482bzO.cjs → StepperStep-B5eYC6hG.cjs} +1 -1
  22. package/dist/{StepperStep-CLd8c1dj.js → StepperStep-CqlIqHLF.js} +1 -1
  23. package/dist/{Toaster-Cit4iNYG.cjs → Toaster-BqGcvJTt.cjs} +1 -1
  24. package/dist/{Toaster-zIdIFToW.js → Toaster-jp4xMJRY.js} +1 -1
  25. package/dist/{Tree-BiqO99_n.cjs → Tree-CBRmya_L.cjs} +1 -1
  26. package/dist/{Tree-ZtXPSE7w.js → Tree-HuylLYXS.js} +1 -1
  27. package/dist/{TreeNode-HVTTXuRl.js → TreeNode-BUYoyTFq.js} +1 -1
  28. package/dist/{TreeNode-BcVuy7zd.cjs → TreeNode-QHxF9qEB.cjs} +1 -1
  29. package/dist/all.cjs +1 -1
  30. package/dist/all.mjs +205 -203
  31. package/dist/component-styles.json +4 -0
  32. package/dist/components/Blueprint.cjs +1 -1
  33. package/dist/components/Blueprint.mjs +1 -1
  34. package/dist/components/BlueprintBackground.cjs +1 -1
  35. package/dist/components/BlueprintBackground.mjs +1 -1
  36. package/dist/components/BlueprintCard.cjs +1 -1
  37. package/dist/components/BlueprintCard.mjs +1 -1
  38. package/dist/components/BlueprintControls.cjs +1 -1
  39. package/dist/components/BlueprintControls.mjs +1 -1
  40. package/dist/components/BlueprintMinimap.cjs +1 -1
  41. package/dist/components/BlueprintMinimap.mjs +1 -1
  42. package/dist/components/BottomPanel.cjs +1 -1
  43. package/dist/components/BottomPanel.mjs +1 -1
  44. package/dist/components/Charts/Sparkline.cjs +1 -1
  45. package/dist/components/Charts/Sparkline.mjs +1 -1
  46. package/dist/components/FileUploader.cjs +1 -1
  47. package/dist/components/FileUploader.mjs +1 -1
  48. package/dist/components/Form.cjs +1 -1
  49. package/dist/components/Form.mjs +1 -1
  50. package/dist/components/ImageCropper.cjs +1 -1
  51. package/dist/components/ImageCropper.mjs +1 -1
  52. package/dist/components/InlineEdit.cjs +1 -1
  53. package/dist/components/InlineEdit.mjs +1 -1
  54. package/dist/components/InlineLoading.cjs +1 -1
  55. package/dist/components/InlineLoading.mjs +1 -1
  56. package/dist/components/NotificationCenter.cjs +1 -1
  57. package/dist/components/NotificationCenter.mjs +1 -1
  58. package/dist/components/NotificationCenterItem.cjs +1 -1
  59. package/dist/components/NotificationCenterItem.mjs +1 -1
  60. package/dist/components/NumberInput.cjs +1 -1
  61. package/dist/components/NumberInput.mjs +1 -1
  62. package/dist/components/ProgressBar.cjs +1 -1
  63. package/dist/components/ProgressBar.mjs +1 -1
  64. package/dist/components/Radio.cjs +1 -1
  65. package/dist/components/Radio.mjs +1 -1
  66. package/dist/components/Shell.cjs +1 -1
  67. package/dist/components/Shell.d.ts +26 -0
  68. package/dist/components/Shell.mjs +1 -1
  69. package/dist/components/Shell.vue.d.ts +19 -13
  70. package/dist/components/Shell.vue.d.ts.map +1 -1
  71. package/dist/components/ShellPanel.cjs +1 -1
  72. package/dist/components/ShellPanel.mjs +1 -1
  73. package/dist/components/SidebarHeaderToggle.cjs +1 -0
  74. package/dist/components/SidebarHeaderToggle.d.ts +22 -0
  75. package/dist/components/SidebarHeaderToggle.mjs +2 -0
  76. package/dist/components/SidebarHeaderToggle.vue.d.ts +13 -0
  77. package/dist/components/SidebarHeaderToggle.vue.d.ts.map +1 -0
  78. package/dist/components/SidebarLink.cjs +1 -1
  79. package/dist/components/SidebarLink.mjs +1 -1
  80. package/dist/components/SidebarMenu.cjs +1 -1
  81. package/dist/components/SidebarMenu.mjs +1 -1
  82. package/dist/components/SidebarMenuGroup.cjs +1 -1
  83. package/dist/components/SidebarMenuGroup.mjs +1 -1
  84. package/dist/components/Skeleton.cjs +1 -1
  85. package/dist/components/Skeleton.mjs +1 -1
  86. package/dist/components/Slider.cjs +1 -1
  87. package/dist/components/Slider.mjs +1 -1
  88. package/dist/components/Spinner.cjs +1 -1
  89. package/dist/components/Spinner.mjs +1 -1
  90. package/dist/components/Stepper.cjs +1 -1
  91. package/dist/components/Stepper.mjs +1 -1
  92. package/dist/components/StepperStep.cjs +1 -1
  93. package/dist/components/StepperStep.mjs +1 -1
  94. package/dist/components/TableOfContents.cjs +1 -1
  95. package/dist/components/TableOfContents.mjs +1 -1
  96. package/dist/components/Tabs.cjs +1 -1
  97. package/dist/components/Tabs.mjs +1 -1
  98. package/dist/components/Toast.cjs +1 -1
  99. package/dist/components/Toast.mjs +1 -1
  100. package/dist/components/Toaster.cjs +1 -1
  101. package/dist/components/Toaster.mjs +1 -1
  102. package/dist/components/Tree.cjs +1 -1
  103. package/dist/components/Tree.mjs +1 -1
  104. package/dist/components/TreeNode.cjs +1 -1
  105. package/dist/components/TreeNode.mjs +1 -1
  106. package/dist/components/Walkthrough.cjs +1 -1
  107. package/dist/components/Walkthrough.mjs +1 -1
  108. package/dist/components/Wireframe.cjs +1 -1
  109. package/dist/components/Wireframe.mjs +1 -1
  110. package/dist/components/index.d.ts.map +1 -1
  111. package/dist/components/manifest.d.ts +1 -0
  112. package/dist/components/manifest.d.ts.map +1 -1
  113. package/dist/components/manifest.js +1 -0
  114. package/dist/composables/useBlueprint.composable.cjs +1 -1
  115. package/dist/composables/useBlueprint.composable.mjs +1 -1
  116. package/dist/composables/useInlineLoading.composable.cjs +1 -1
  117. package/dist/composables/useInlineLoading.composable.mjs +1 -1
  118. package/dist/composables/useLoadingAnnouncer.composable.cjs +1 -1
  119. package/dist/composables/useLoadingAnnouncer.composable.mjs +1 -1
  120. package/dist/global.d.ts +2 -0
  121. package/dist/index.cjs +1 -1
  122. package/dist/index.mjs +52 -51
  123. package/dist/main.d.ts +3 -1
  124. package/dist/main.d.ts.map +1 -1
  125. package/dist/styles/Shell.css +1 -1
  126. package/dist/styles/SidebarHeaderToggle.css +1 -0
  127. package/dist/ui.css +2 -1
  128. package/package.json +1 -1
  129. package/dist/Shell-6Dwl2FnC.cjs +0 -1
  130. package/dist/Shell-C9DK_Phw.js +0 -487
  131. /package/dist/{Blueprint.context-BU2ujsDD.js → Blueprint.context-2_MDBjES.js} +0 -0
  132. /package/dist/{Blueprint.context-DjbRPuLQ.cjs → Blueprint.context-Bg93XvTO.cjs} +0 -0
  133. /package/dist/{BlueprintBackground-D5i-Rlmm.cjs → BlueprintBackground-BMsTpTgI.cjs} +0 -0
  134. /package/dist/{BlueprintBackground-DtGJCzDy.js → BlueprintBackground-Drl6oulr.js} +0 -0
  135. /package/dist/{BlueprintControls-xe0sgQXW.cjs → BlueprintControls-BzVToPNV.cjs} +0 -0
  136. /package/dist/{BlueprintControls-CLW9PC_k.js → BlueprintControls-Yv2qEoQn.js} +0 -0
  137. /package/dist/{BlueprintMinimap-CujSRNvs.cjs → BlueprintMinimap-BKmT77co.cjs} +0 -0
  138. /package/dist/{BlueprintMinimap-xwEOZlv6.js → BlueprintMinimap-CfP0QG1u.js} +0 -0
  139. /package/dist/{BottomPanel-Cpr7_cZI.cjs → BottomPanel-B4BKovGy.cjs} +0 -0
  140. /package/dist/{BottomPanel-DdjpIyOA.js → BottomPanel-BElntZaN.js} +0 -0
  141. /package/dist/{FileUploader-DAbs5fWp.cjs → FileUploader-B1eAj1oT.cjs} +0 -0
  142. /package/dist/{FileUploader-DBGNk6Qg.js → FileUploader-B3JSn14R.js} +0 -0
  143. /package/dist/{Form-2pXj4bhZ.js → Form-4TJwMxqu.js} +0 -0
  144. /package/dist/{Form-CYesmztD.cjs → Form-B19aJo0v.cjs} +0 -0
  145. /package/dist/{ImageCropper-CLyH3zZ-.js → ImageCropper-B1a_A5Ib.js} +0 -0
  146. /package/dist/{ImageCropper-DAU0ddvI.cjs → ImageCropper-Czn19fHb.cjs} +0 -0
  147. /package/dist/{InlineEdit-BLrO3i1p.cjs → InlineEdit-CdzJp_Qc.cjs} +0 -0
  148. /package/dist/{InlineEdit-BemWhcI3.js → InlineEdit-sXl15lhv.js} +0 -0
  149. /package/dist/{NotificationCenterItem-CdzyTsCY.js → NotificationCenterItem-BS99lA9U.js} +0 -0
  150. /package/dist/{NotificationCenterItem-C8zaSiem.cjs → NotificationCenterItem-Bq6hBjxG.cjs} +0 -0
  151. /package/dist/{NumberInput-BtPQ7p5y.cjs → NumberInput-B3dMMfkv.cjs} +0 -0
  152. /package/dist/{NumberInput-Dk8ofnNJ.js → NumberInput-CYKutu9p.js} +0 -0
  153. /package/dist/{ProgressBar-B2EXpOdC.js → ProgressBar-NAH9T3du.js} +0 -0
  154. /package/dist/{ProgressBar-D1O4iAxy.cjs → ProgressBar-vlXYuXqm.cjs} +0 -0
  155. /package/dist/{Radio-DALC1A47.cjs → Radio-CZFANKLv.cjs} +0 -0
  156. /package/dist/{Radio-fgJU2hwQ.js → Radio-CqwO18b1.js} +0 -0
  157. /package/dist/{ShellPanel-rrSF7BQs.cjs → ShellPanel-BBR1L2R6.cjs} +0 -0
  158. /package/dist/{ShellPanel-Cu3C3H9J.js → ShellPanel-BpyI2aIg.js} +0 -0
  159. /package/dist/{SidebarLink-Bi8GxvCf.js → SidebarLink-CrAE9jVP.js} +0 -0
  160. /package/dist/{SidebarLink-BbzeT8Tq.cjs → SidebarLink-Q_24cprL.cjs} +0 -0
  161. /package/dist/{SidebarMenu-B4nng5Fz.cjs → SidebarMenu-CG7INeFB.cjs} +0 -0
  162. /package/dist/{SidebarMenu-DoMgZO7c.js → SidebarMenu-CyU7BDNi.js} +0 -0
  163. /package/dist/{SidebarMenuGroup-CmCPtZJD.js → SidebarMenuGroup-DBYK7rcf.js} +0 -0
  164. /package/dist/{SidebarMenuGroup-BdOpz4N1.cjs → SidebarMenuGroup-DTBKBUjn.cjs} +0 -0
  165. /package/dist/{Sparkline-DI7arXX0.cjs → Sparkline-BVdqvpyz.cjs} +0 -0
  166. /package/dist/{Sparkline-C4gA55Pc.js → Sparkline-DcUnQ1P1.js} +0 -0
  167. /package/dist/{Stepper.context-Dxw8xYGX.cjs → Stepper.context-ChJ_li6d.cjs} +0 -0
  168. /package/dist/{Stepper.context-q_CjX3CO.js → Stepper.context-qAFBgE0m.js} +0 -0
  169. /package/dist/{TableOfContents-1OY_mlI4.js → TableOfContents-D_BGx-pk.js} +0 -0
  170. /package/dist/{TableOfContents-BZCrLDe1.cjs → TableOfContents-DuHDYa_2.cjs} +0 -0
  171. /package/dist/{Tabs-D3daz-Xc.cjs → Tabs-CAp2Db_g.cjs} +0 -0
  172. /package/dist/{Tabs-BzsQiQ2H.js → Tabs-DMvOHEf0.js} +0 -0
  173. /package/dist/{Toast-Ci4P6mM0.cjs → Toast-DVDmzm3P.cjs} +0 -0
  174. /package/dist/{Toast-CeGAznEA.js → Toast-DonkhsQJ.js} +0 -0
  175. /package/dist/{TreeContext-xtlNBGhB.js → TreeContext-C7vosBJ7.js} +0 -0
  176. /package/dist/{TreeContext-we7Xt7IP.cjs → TreeContext-DndlJ7Bk.cjs} +0 -0
  177. /package/dist/{Walkthrough-ZuHZx69C.cjs → Walkthrough-4ZCZMy5H.cjs} +0 -0
  178. /package/dist/{Walkthrough-BYCQMYqG.js → Walkthrough-BhmY-KYC.js} +0 -0
  179. /package/dist/{Wireframe-CX8KvGJx.cjs → Wireframe-BRodipXd.cjs} +0 -0
  180. /package/dist/{Wireframe-Bf55dFWu.js → Wireframe-BjuYZcDs.js} +0 -0
  181. /package/dist/{pixi-scene-D57Y3MvT.js → pixi-scene-BO02twgE.js} +0 -0
  182. /package/dist/{pixi-scene-OOSMyGKD.cjs → pixi-scene-BZa8QvH8.cjs} +0 -0
  183. /package/dist/{useLoadingAnnouncer.composable-BMMz4C1C.cjs → useLoadingAnnouncer.composable-BCTl7kry.cjs} +0 -0
  184. /package/dist/{useLoadingAnnouncer.composable-DY8jGEwJ.js → useLoadingAnnouncer.composable-kJ9fDUqa.js} +0 -0
@@ -1 +1 @@
1
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./Blueprint.context-DjbRPuLQ.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-OOSMyGKD.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-Bg93XvTO.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-BZa8QvH8.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-BU2ujsDD.js";
2
+ import { n as t, t as n } from "./Blueprint.context-2_MDBjES.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-D57Y3MvT.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-BO02twgE.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-BU2ujsDD.js";
3
+ import { t as n } from "./Blueprint.context-2_MDBjES.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-DjbRPuLQ.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-Bg93XvTO.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 +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-swPRQ7kf.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-BJ0Xx-p9.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-BxnDJP1H.js";
4
+ import { t as r } from "./Spinner-DQULvHnJ.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";
@@ -2,9 +2,9 @@ import { t as e } from "./Icon-rREAqsu0.js";
2
2
  import { usePhoneLayout as t } from "./composables/usePhoneLayout.composable.mjs";
3
3
  import { t as n } from "./Button-Cq9dEeHz.js";
4
4
  import { t as r } from "./EmptyState-63UqLFX6.js";
5
- import { t as i } from "./Spinner-BxnDJP1H.js";
6
- import { t as a } from "./Skeleton-Ba4m2jYi.js";
7
- import { t as o } from "./NotificationCenterItem-CdzyTsCY.js";
5
+ import { t as i } from "./Spinner-DQULvHnJ.js";
6
+ import { t as a } from "./Skeleton-1DNgvYeb.js";
7
+ import { t as o } from "./NotificationCenterItem-BS99lA9U.js";
8
8
  import { Fragment as s, Teleport as c, Transition as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createSlots as ee, createTextVNode as te, createVNode as h, defineComponent as g, mergeProps as ne, nextTick as _, normalizeClass as re, normalizeStyle as v, onBeforeUnmount as ie, openBlock as y, ref as b, renderList as ae, renderSlot as x, toDisplayString as S, unref as oe, useId as se, useSlots as ce, watch as C, withCtx as w } from "vue";
9
9
  import * as le from "@nubisco/ui/icons/x";
10
10
  import { regular as ue } from "@nubisco/ui/icons/warning-circle";
@@ -1 +1 @@
1
- const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./Icon-C8R_r_In.cjs`),n=require(`./composables/usePhoneLayout.composable.cjs`),r=require(`./Button-CbQyG-jg.cjs`),i=require(`./EmptyState-CV-UfKR6.cjs`),a=require(`./Spinner-swPRQ7kf.cjs`),o=require(`./Skeleton-Bgo6pIY2.cjs`),s=require(`./NotificationCenterItem-C8zaSiem.cjs`);let c=require(`vue`),l=require(`@nubisco/ui/icons/x`);l=e.n(l);let u=require(`@nubisco/ui/icons/warning-circle`),d=require(`@nubisco/ui/icons/bell`);d=e.n(d);var f={key:0,class:`nb-notification-center__badge`,"aria-hidden":`true`},p=[`aria-describedby`,`aria-busy`],m={class:`nb-notification-center__header`},ee={class:`nb-notification-center__sr`,role:`status`},te={class:`nb-notification-center__stale-text`},ne={class:`nb-notification-center__sr`},re=[`tabindex`],ie={key:4,class:`nb-notification-center__empty`},ae={key:5,class:`nb-notification-center__footer`},h=new Set,g=8,_=8,v=96,y=88,b=200;function oe(e,{align:t,side:n,width:r,maxHeight:i,viewport:a}){let o=e.left+e.width;if(n===`right`&&a.width-o-g-_>=r){let n=e.top+e.height,r=t===`end`?n-_:a.height-e.top-_,s=Math.max(y+v,r),c=Math.min(i+v,s),l=Math.max(y,Math.min(i,s-v));return t===`end`?{top:Math.max(_,n-c),bottom:Math.max(_,a.height-n),left:o+g,side:`right`,maxListHeight:l}:{top:Math.max(_,Math.min(e.top,a.height-_-c)),left:o+g,side:`right`,maxListHeight:l}}let s=t===`start`?e.left:e.left+e.width-r,c=Math.min(Math.max(s,_),Math.max(_,a.width-r-_)),l=e.top+e.height,u=a.height-l-g-_,d=e.top-g-_,f=u<b&&d>u?`top`:`bottom`,p=Math.max(y,f===`top`?d:u),m=Math.max(y,Math.min(i,p-v)),ee=Math.min(i+v,p);return{top:f===`top`?Math.max(_,e.top-g-ee):l+g,left:c,side:f,maxListHeight:m}}function se(e,t){return e.left<=t.width&&e.left+e.width>=0&&e.top<=t.height&&e.top+e.height>=0}var x=(0,c.defineComponent)({__name:`NotificationCenter`,props:{items:{default:()=>[]},unreadCount:{default:void 0},itemCount:{default:void 0},open:{type:Boolean,default:void 0},label:{default:`Notifications`},markAllLabel:{default:`Mark all as read`},markAllPendingLabel:{default:`Marking all as read`},markAllPending:{type:Boolean,default:!1},emptyTitle:{default:`No notifications`},emptyDescription:{default:`New activity shows up here.`},loadingLabel:{default:`Loading notifications`},loading:{type:Boolean,default:!1},error:{type:Boolean,default:!1},errorTitle:{default:`Could not load notifications`},errorDescription:{default:`The request failed. Nothing has been lost.`},errorStaleLabel:{default:`These may be out of date.`},retryLabel:{default:`Try again`},showRetry:{type:Boolean,default:!0},maxCount:{default:99},width:{default:360},closeLabel:{default:`Close notifications`},maxHeight:{default:384},align:{default:`end`},side:{default:`vertical`},showMarkAll:{type:Boolean,default:!0},interactive:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},closeOnNavigate:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},icon:{default:void 0},locale:{default:void 0},unreadLabel:{default:`Unread`},readLabel:{default:`Read`},formatUnread:{type:Function,default:e=>e===1?`1 unread`:`${e} unread`}},emits:[`update:open`,`open`,`close`,`select`,`mark-all-read`,`retry`],setup(e,{expose:g,emit:_}){let v=e,y=(0,c.computed)(()=>v.icon??d),b=_,x=(0,c.useSlots)(),S=`nb-notification-center-${(0,c.useId)()}`,C=`${S}-title`,ce=`${S}-trigger`,w=`${S}-error`,T=(0,c.ref)(null),le=(0,c.ref)(null),E=(0,c.ref)(null),D=(0,c.ref)(null),ue=(0,c.ref)(!1),O=(0,c.computed)(()=>v.open===void 0?ue.value:v.open),k=(0,c.computed)(()=>typeof v.unreadCount==`number`?Math.max(0,v.unreadCount):v.items.filter(e=>!e.read).length),de=(0,c.computed)(()=>k.value>v.maxCount?`${v.maxCount}+`:String(k.value)),fe=(0,c.computed)(()=>k.value>0?`${v.label}, ${v.formatUnread(k.value)}`:v.label),pe=(0,c.computed)(()=>{if(typeof v.itemCount==`number`)return Math.max(0,v.itemCount);if(!x.default)return v.items.length}),me=(0,c.computed)(()=>(pe.value??0)>0),A=(0,c.computed)(()=>{if(v.loading)return`loading`;let e=pe.value;return v.error&&(e===void 0||e===0)?`error`:e===void 0||e>0?`list`:`empty`}),he=(0,c.computed)(()=>v.error&&!v.loading&&A.value===`list`&&me.value);(0,c.ref)(!1),(0,c.watch)(()=>[O.value,!!x.default,v.itemCount],([e,t,n])=>{},{immediate:!0});function j(){b(`retry`)}let M=(0,c.computed)(()=>({id:ce,"aria-haspopup":`dialog`,"aria-expanded":O.value?`true`:`false`,"aria-controls":O.value?S:void 0,"aria-label":fe.value,disabled:v.disabled||void 0})),N=(0,c.computed)(()=>({type:`button`,disabled:k.value===0&&!v.markAllPending,"aria-disabled":v.markAllPending?`true`:void 0,"aria-busy":v.markAllPending?`true`:void 0,onClick:Ne})),ge=(0,c.computed)(()=>he.value||A.value===`error`?w:void 0);function P(e){if(!e){E.value=null;return}let t=e instanceof HTMLElement?e:e.$el;E.value=t instanceof HTMLElement?t:null}let F=(0,c.ref)({top:0,left:0,side:`bottom`,maxListHeight:v.maxHeight});function I(){return{width:window.innerWidth,height:window.innerHeight}}function L(){let e=T.value?.getBoundingClientRect();e&&(F.value=oe(e,{align:v.align,side:v.side,width:v.width,maxHeight:v.maxHeight,viewport:I()}))}let{phone:_e}=n.usePhoneLayout(),R=(0,c.computed)(()=>_e.value),ve=(0,c.computed)(()=>{if(!R.value)return F.value.bottom===void 0?{top:`${Math.round(F.value.top)}px`,left:`${Math.round(F.value.left)}px`,width:`${v.width}px`}:{bottom:`${Math.round(F.value.bottom)}px`,left:`${Math.round(F.value.left)}px`,width:`${v.width}px`}}),z=(0,c.computed)(()=>R.value?void 0:{maxHeight:`${Math.round(F.value.maxListHeight)}px`}),ye=(0,c.computed)(()=>({"nb-notification-center__panel--sheet":R.value,"nb-notification-center__panel--start":v.align===`start`,"nb-notification-center__panel--above":!R.value&&F.value.side===`top`,"nb-notification-center__panel--beside":!R.value&&F.value.side===`right`}));function be(e){v.open===void 0&&(ue.value=e),b(`update:open`,e)}function B(){v.disabled||O.value||(L(),be(!0),b(`open`))}function V(e={}){if(!O.value)return;let t=D.value?.contains(document.activeElement);be(!1),b(`close`),(e.restoreFocus??t)&&(0,c.nextTick)(xe)}function xe(){let e=E.value;if(e?.isConnected){e.focus();return}(T.value?.querySelector(q))?.focus()}function H(){O.value?V({restoreFocus:!0}):B()}let U=(0,c.ref)(0),Se=new Set([`button`,`link`,`menuitem`,`option`]);function Ce(e){if(e.tagName===`BUTTON`)return!e.hasAttribute(`disabled`);if(e.tagName===`A`)return e.hasAttribute(`href`);let t=e.getAttribute(`role`);return t!==null&&Se.has(t)}function W(){return D.value?Array.from(D.value.querySelectorAll(`[data-nb-notification-item]`)).filter(e=>!!Ce(e)):[]}let we=(0,c.ref)(void 0);function Te(e){let t=le.value;we.value=t&&t.childElementCount>0&&e.length===0?0:void 0}function G(e){let t=W();Te(t),t.length&&(U.value=Math.min(Math.max(e,0),t.length-1),t.forEach((e,t)=>{e.setAttribute(`tabindex`,t===U.value?`0`:`-1`)}))}function K(e){let t=W();if(!t.length)return!1;let n=Math.min(Math.max(e,0),t.length-1);return G(n),t[n]?.focus(),!0}function Ee(e){let t=e.target?.closest(`[data-nb-notification-item]`);if(!t)return;let n=W().indexOf(t);n>=0&&G(n)}let q=`a[href]:not([tabindex="-1"]), button:not([disabled]):not([tabindex="-1"]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex="0"]`;function De(e){return!!e?.closest?.(`input, textarea, select, [contenteditable=""], [contenteditable="true"]`)}function Oe(e){let t=W(),n=e.target?.closest(`[data-nb-notification-item]`),r=n?t.indexOf(n):-1;if(e.key===`Escape`){if(!ke(e))return;e.preventDefault(),e.stopPropagation(),V({restoreFocus:!0});return}if(e.key===`Tab`){Ae(e);return}if(!De(e.target))switch(e.key){case`ArrowDown`:K(r<0?0:r+1)&&e.preventDefault();break;case`ArrowUp`:K(r<0?t.length-1:r-1)&&e.preventDefault();break;case`Home`:r>=0&&(e.preventDefault(),K(0));break;case`End`:r>=0&&(e.preventDefault(),K(t.length-1));break;default:break}}function ke(e){if(e.defaultPrevented)return!1;let t=(e.target??document.activeElement)?.closest?.(`[aria-modal="true"]`);return!(t&&t!==D.value)}function Ae(e){let t=D.value;if(!t)return;let n=Array.from(t.querySelectorAll(q)),r=document.activeElement,i=n[0],a=n[n.length-1],o=!n.length||r===i||!t.contains(r),s=!n.length||r===a;if(e.shiftKey?!o:!s)return;e.preventDefault();let l=e.shiftKey?E.value:je();V({restoreFocus:!1}),(0,c.nextTick)(()=>{l?.isConnected?l.focus():xe()})}function je(){let e=E.value;if(!e)return null;let t=Array.from(document.querySelectorAll(q)).filter(e=>!D.value?.contains(e)).filter(e=>e.tabIndex>=0),n=t.indexOf(e);return n<0?null:t[n+1]??null}function Me(e,t){b(`select`,e,t),v.closeOnSelect&&V({restoreFocus:!1})}function J(e){if(!x.default)return;let t=e.target?.closest(`[data-nb-notification-item]`);if(t&&Ce(t)){if(e.type===`keydown`){let n=e.key;if(n!==`Enter`&&n!==` `||t.tagName===`BUTTON`||t.tagName===`A`)return;e.preventDefault()}b(`select`,null,e),v.closeOnSelect&&V({restoreFocus:!1})}}function Ne(){v.markAllPending||b(`mark-all-read`)}function Pe(e){let t=e.target;T.value?.contains(t)||D.value?.contains(t)||V({restoreFocus:!1})}function Fe(e){e.key===`Escape`&&(D.value?.contains(document.activeElement)||ke(e)&&V({restoreFocus:T.value?.contains(document.activeElement)??!1}))}let Y=0;function X(){!O.value||Y||(Y=requestAnimationFrame(()=>{Y=0,Le()}))}function Ie(){Y&&=(cancelAnimationFrame(Y),0)}function Le(){if(!O.value||R.value)return;let e=T.value?.getBoundingClientRect();if(e&&!se(e,I())){V({restoreFocus:!1});return}L()}function Z(){v.closeOnNavigate&&V({restoreFocus:!1})}function Re(){return window.navigation}function ze(){document.addEventListener(`mousedown`,Pe),document.addEventListener(`keydown`,Fe),window.addEventListener(`resize`,X),window.addEventListener(`scroll`,X,!0),window.addEventListener(`popstate`,Z),window.addEventListener(`hashchange`,Z),Re()?.addEventListener(`navigate`,Z)}function Q(){Ie(),document.removeEventListener(`mousedown`,Pe),document.removeEventListener(`keydown`,Fe),window.removeEventListener(`resize`,X),window.removeEventListener(`scroll`,X,!0),window.removeEventListener(`popstate`,Z),window.removeEventListener(`hashchange`,Z),Re()?.removeEventListener(`navigate`,Z)}let $=()=>V({restoreFocus:!1});return(0,c.watch)(O,e=>{if(e){for(let e of[...h])e!==$&&e();h.add($),ze(),(0,c.nextTick)(()=>{L(),G(0),K(0)||D.value?.focus()})}else h.delete($),Q(),U.value=0}),(0,c.watch)(()=>[v.items.length,A.value],()=>{O.value&&(0,c.nextTick)(()=>G(U.value))}),(0,c.onBeforeUnmount)(()=>{Q(),h.delete($);let e=D.value;e?.isConnected&&e.remove()}),g({show:B,close:V,toggle:H,isOpen:O,unreadCount:k}),(n,d)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{ref_key:`rootRef`,ref:T,class:`nb-notification-center`},[(0,c.renderSlot)(n.$slots,`trigger`,{open:O.value,toggle:H,show:B,close:V,unreadCount:k.value,badge:de.value,panelId:S,triggerProps:M.value,setTriggerRef:P},()=>[(0,c.createElementVNode)(`button`,(0,c.mergeProps)({ref:P,type:`button`,class:[`nb-notification-center__trigger`,{"nb-notification-center__trigger--active":O.value}]},M.value,{onClick:H}),[(0,c.createVNode)(t.t,{name:y.value,size:18},null,8,[`name`]),k.value>0?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,f,(0,c.toDisplayString)(de.value),1)):(0,c.createCommentVNode)(``,!0)],16)]),((0,c.openBlock)(),(0,c.createBlock)(c.Teleport,{to:`body`},[(0,c.createVNode)(c.Transition,{name:`nb-notification-center-pop`},{default:(0,c.withCtx)(()=>[O.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,id:S,ref_key:`panelRef`,ref:D,class:(0,c.normalizeClass)([`nb-notification-center__panel`,ye.value]),style:(0,c.normalizeStyle)(ve.value),role:`dialog`,tabindex:`-1`,"aria-labelledby":C,"aria-describedby":ge.value,"aria-busy":e.loading?`true`:void 0,onKeydown:Oe,onFocusin:Ee},[(0,c.createElementVNode)(`div`,m,[(0,c.createElementVNode)(`h2`,{id:C,class:`nb-notification-center__title`},(0,c.toDisplayString)(e.label),1),(0,c.renderSlot)(n.$slots,`header-start`,{close:V,unreadCount:k.value}),(0,c.renderSlot)(n.$slots,`header-actions`,{close:V,unreadCount:k.value,markAllRead:Ne,markAllPending:e.markAllPending,markAllProps:N.value,markAllText:e.markAllPending?e.markAllPendingLabel:e.markAllLabel},()=>[e.showMarkAll?((0,c.openBlock)(),(0,c.createElementBlock)(`button`,(0,c.mergeProps)({key:0,class:`nb-notification-center__mark-all`},N.value),[e.markAllPending?((0,c.openBlock)(),(0,c.createBlock)(a.t,{key:0,size:`xs`,tone:`inherit`,decorative:``})):(0,c.createCommentVNode)(``,!0),(0,c.createTextVNode)(` `+(0,c.toDisplayString)(e.markAllPending?e.markAllPendingLabel:e.markAllLabel),1)],16)):(0,c.createCommentVNode)(``,!0)]),R.value?((0,c.openBlock)(),(0,c.createBlock)(r.t,{key:0,class:`nb-notification-center__close`,variant:`ghost`,size:`lg`,icon:l,"aria-label":e.closeLabel,onClick:d[0]||=e=>V()},null,8,[`aria-label`])):(0,c.createCommentVNode)(``,!0)]),(0,c.createElementVNode)(`span`,ee,(0,c.toDisplayString)(e.markAllPending?e.markAllPendingLabel:``),1),he.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,id:w,class:`nb-notification-center__stale`,role:`status`},[(0,c.createVNode)(t.t,{name:(0,c.unref)(u.regular),size:14,"aria-hidden":`true`},null,8,[`name`]),(0,c.createElementVNode)(`span`,te,(0,c.toDisplayString)(e.errorStaleLabel),1),e.showRetry?((0,c.openBlock)(),(0,c.createElementBlock)(`button`,{key:0,type:`button`,class:`nb-notification-center__retry`,onClick:j},(0,c.toDisplayString)(e.retryLabel),1)):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),A.value===`loading`?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:`nb-notification-center__loading`,role:`status`,style:(0,c.normalizeStyle)(z.value)},[(0,c.createElementVNode)(`span`,ne,(0,c.toDisplayString)(e.loadingLabel),1),((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(3,e=>(0,c.createVNode)(o.t,{key:e,variant:`text`,type:`body-sm`,lines:2,"last-line-width":`60%`})),64))],4)):A.value===`error`?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:2,id:w,class:`nb-notification-center__error`,role:`alert`},[(0,c.renderSlot)(n.$slots,`error`,{retry:j},()=>[(0,c.createVNode)(i.t,{size:`sm`,kind:`error`,title:e.errorTitle,description:e.errorDescription},(0,c.createSlots)({_:2},[e.showRetry?{name:`actions`,fn:(0,c.withCtx)(()=>[(0,c.createVNode)(r.t,{size:`sm`,variant:`secondary`,onClick:j},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)(e.retryLabel),1)]),_:1})]),key:`0`}:void 0]),1032,[`title`,`description`])])])):A.value===`list`?((0,c.openBlock)(),(0,c.createElementBlock)(`ul`,{key:3,ref_key:`listRef`,ref:le,class:`nb-notification-center__list`,role:`list`,tabindex:we.value,style:(0,c.normalizeStyle)(z.value),onClick:J,onKeydown:J},[(0,c.renderSlot)(n.$slots,`default`,{close:V,items:e.items},()=>[((0,c.openBlock)(!0),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(e.items,t=>((0,c.openBlock)(),(0,c.createBlock)(s.t,{key:t.id,title:t.title,body:t.body,time:t.time,"time-label":t.timeLabel,read:t.read,variant:t.variant??`neutral`,icon:t.icon,href:t.href,interactive:t.interactive??e.interactive,locale:e.locale,"unread-label":e.unreadLabel,"read-label":e.readLabel,onSelect:e=>Me(t,e)},null,8,[`title`,`body`,`time`,`time-label`,`read`,`variant`,`icon`,`href`,`interactive`,`locale`,`unread-label`,`read-label`,`onSelect`]))),128))])],44,re)):A.value===`empty`?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ie,[(0,c.renderSlot)(n.$slots,`empty`,{},()=>[(0,c.createVNode)(i.t,{size:`sm`,icon:y.value,title:e.emptyTitle,description:e.emptyDescription},null,8,[`icon`,`title`,`description`])])])):(0,c.createCommentVNode)(``,!0),n.$slots.footer?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ae,[(0,c.renderSlot)(n.$slots,`footer`,{close:V})])):(0,c.createCommentVNode)(``,!0)],46,p)):(0,c.createCommentVNode)(``,!0)]),_:3})]))],512))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return x}});
1
+ const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./Icon-C8R_r_In.cjs`),n=require(`./composables/usePhoneLayout.composable.cjs`),r=require(`./Button-CbQyG-jg.cjs`),i=require(`./EmptyState-CV-UfKR6.cjs`),a=require(`./Spinner-BJ0Xx-p9.cjs`),o=require(`./Skeleton-DmkE06TO.cjs`),s=require(`./NotificationCenterItem-Bq6hBjxG.cjs`);let c=require(`vue`),l=require(`@nubisco/ui/icons/x`);l=e.n(l);let u=require(`@nubisco/ui/icons/warning-circle`),d=require(`@nubisco/ui/icons/bell`);d=e.n(d);var f={key:0,class:`nb-notification-center__badge`,"aria-hidden":`true`},p=[`aria-describedby`,`aria-busy`],m={class:`nb-notification-center__header`},ee={class:`nb-notification-center__sr`,role:`status`},te={class:`nb-notification-center__stale-text`},ne={class:`nb-notification-center__sr`},re=[`tabindex`],ie={key:4,class:`nb-notification-center__empty`},ae={key:5,class:`nb-notification-center__footer`},h=new Set,g=8,_=8,v=96,y=88,b=200;function oe(e,{align:t,side:n,width:r,maxHeight:i,viewport:a}){let o=e.left+e.width;if(n===`right`&&a.width-o-g-_>=r){let n=e.top+e.height,r=t===`end`?n-_:a.height-e.top-_,s=Math.max(y+v,r),c=Math.min(i+v,s),l=Math.max(y,Math.min(i,s-v));return t===`end`?{top:Math.max(_,n-c),bottom:Math.max(_,a.height-n),left:o+g,side:`right`,maxListHeight:l}:{top:Math.max(_,Math.min(e.top,a.height-_-c)),left:o+g,side:`right`,maxListHeight:l}}let s=t===`start`?e.left:e.left+e.width-r,c=Math.min(Math.max(s,_),Math.max(_,a.width-r-_)),l=e.top+e.height,u=a.height-l-g-_,d=e.top-g-_,f=u<b&&d>u?`top`:`bottom`,p=Math.max(y,f===`top`?d:u),m=Math.max(y,Math.min(i,p-v)),ee=Math.min(i+v,p);return{top:f===`top`?Math.max(_,e.top-g-ee):l+g,left:c,side:f,maxListHeight:m}}function se(e,t){return e.left<=t.width&&e.left+e.width>=0&&e.top<=t.height&&e.top+e.height>=0}var x=(0,c.defineComponent)({__name:`NotificationCenter`,props:{items:{default:()=>[]},unreadCount:{default:void 0},itemCount:{default:void 0},open:{type:Boolean,default:void 0},label:{default:`Notifications`},markAllLabel:{default:`Mark all as read`},markAllPendingLabel:{default:`Marking all as read`},markAllPending:{type:Boolean,default:!1},emptyTitle:{default:`No notifications`},emptyDescription:{default:`New activity shows up here.`},loadingLabel:{default:`Loading notifications`},loading:{type:Boolean,default:!1},error:{type:Boolean,default:!1},errorTitle:{default:`Could not load notifications`},errorDescription:{default:`The request failed. Nothing has been lost.`},errorStaleLabel:{default:`These may be out of date.`},retryLabel:{default:`Try again`},showRetry:{type:Boolean,default:!0},maxCount:{default:99},width:{default:360},closeLabel:{default:`Close notifications`},maxHeight:{default:384},align:{default:`end`},side:{default:`vertical`},showMarkAll:{type:Boolean,default:!0},interactive:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},closeOnNavigate:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},icon:{default:void 0},locale:{default:void 0},unreadLabel:{default:`Unread`},readLabel:{default:`Read`},formatUnread:{type:Function,default:e=>e===1?`1 unread`:`${e} unread`}},emits:[`update:open`,`open`,`close`,`select`,`mark-all-read`,`retry`],setup(e,{expose:g,emit:_}){let v=e,y=(0,c.computed)(()=>v.icon??d),b=_,x=(0,c.useSlots)(),S=`nb-notification-center-${(0,c.useId)()}`,C=`${S}-title`,ce=`${S}-trigger`,w=`${S}-error`,T=(0,c.ref)(null),le=(0,c.ref)(null),E=(0,c.ref)(null),D=(0,c.ref)(null),ue=(0,c.ref)(!1),O=(0,c.computed)(()=>v.open===void 0?ue.value:v.open),k=(0,c.computed)(()=>typeof v.unreadCount==`number`?Math.max(0,v.unreadCount):v.items.filter(e=>!e.read).length),de=(0,c.computed)(()=>k.value>v.maxCount?`${v.maxCount}+`:String(k.value)),fe=(0,c.computed)(()=>k.value>0?`${v.label}, ${v.formatUnread(k.value)}`:v.label),pe=(0,c.computed)(()=>{if(typeof v.itemCount==`number`)return Math.max(0,v.itemCount);if(!x.default)return v.items.length}),me=(0,c.computed)(()=>(pe.value??0)>0),A=(0,c.computed)(()=>{if(v.loading)return`loading`;let e=pe.value;return v.error&&(e===void 0||e===0)?`error`:e===void 0||e>0?`list`:`empty`}),he=(0,c.computed)(()=>v.error&&!v.loading&&A.value===`list`&&me.value);(0,c.ref)(!1),(0,c.watch)(()=>[O.value,!!x.default,v.itemCount],([e,t,n])=>{},{immediate:!0});function j(){b(`retry`)}let M=(0,c.computed)(()=>({id:ce,"aria-haspopup":`dialog`,"aria-expanded":O.value?`true`:`false`,"aria-controls":O.value?S:void 0,"aria-label":fe.value,disabled:v.disabled||void 0})),N=(0,c.computed)(()=>({type:`button`,disabled:k.value===0&&!v.markAllPending,"aria-disabled":v.markAllPending?`true`:void 0,"aria-busy":v.markAllPending?`true`:void 0,onClick:Ne})),ge=(0,c.computed)(()=>he.value||A.value===`error`?w:void 0);function P(e){if(!e){E.value=null;return}let t=e instanceof HTMLElement?e:e.$el;E.value=t instanceof HTMLElement?t:null}let F=(0,c.ref)({top:0,left:0,side:`bottom`,maxListHeight:v.maxHeight});function I(){return{width:window.innerWidth,height:window.innerHeight}}function L(){let e=T.value?.getBoundingClientRect();e&&(F.value=oe(e,{align:v.align,side:v.side,width:v.width,maxHeight:v.maxHeight,viewport:I()}))}let{phone:_e}=n.usePhoneLayout(),R=(0,c.computed)(()=>_e.value),ve=(0,c.computed)(()=>{if(!R.value)return F.value.bottom===void 0?{top:`${Math.round(F.value.top)}px`,left:`${Math.round(F.value.left)}px`,width:`${v.width}px`}:{bottom:`${Math.round(F.value.bottom)}px`,left:`${Math.round(F.value.left)}px`,width:`${v.width}px`}}),z=(0,c.computed)(()=>R.value?void 0:{maxHeight:`${Math.round(F.value.maxListHeight)}px`}),ye=(0,c.computed)(()=>({"nb-notification-center__panel--sheet":R.value,"nb-notification-center__panel--start":v.align===`start`,"nb-notification-center__panel--above":!R.value&&F.value.side===`top`,"nb-notification-center__panel--beside":!R.value&&F.value.side===`right`}));function be(e){v.open===void 0&&(ue.value=e),b(`update:open`,e)}function B(){v.disabled||O.value||(L(),be(!0),b(`open`))}function V(e={}){if(!O.value)return;let t=D.value?.contains(document.activeElement);be(!1),b(`close`),(e.restoreFocus??t)&&(0,c.nextTick)(xe)}function xe(){let e=E.value;if(e?.isConnected){e.focus();return}(T.value?.querySelector(q))?.focus()}function H(){O.value?V({restoreFocus:!0}):B()}let U=(0,c.ref)(0),Se=new Set([`button`,`link`,`menuitem`,`option`]);function Ce(e){if(e.tagName===`BUTTON`)return!e.hasAttribute(`disabled`);if(e.tagName===`A`)return e.hasAttribute(`href`);let t=e.getAttribute(`role`);return t!==null&&Se.has(t)}function W(){return D.value?Array.from(D.value.querySelectorAll(`[data-nb-notification-item]`)).filter(e=>!!Ce(e)):[]}let we=(0,c.ref)(void 0);function Te(e){let t=le.value;we.value=t&&t.childElementCount>0&&e.length===0?0:void 0}function G(e){let t=W();Te(t),t.length&&(U.value=Math.min(Math.max(e,0),t.length-1),t.forEach((e,t)=>{e.setAttribute(`tabindex`,t===U.value?`0`:`-1`)}))}function K(e){let t=W();if(!t.length)return!1;let n=Math.min(Math.max(e,0),t.length-1);return G(n),t[n]?.focus(),!0}function Ee(e){let t=e.target?.closest(`[data-nb-notification-item]`);if(!t)return;let n=W().indexOf(t);n>=0&&G(n)}let q=`a[href]:not([tabindex="-1"]), button:not([disabled]):not([tabindex="-1"]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex="0"]`;function De(e){return!!e?.closest?.(`input, textarea, select, [contenteditable=""], [contenteditable="true"]`)}function Oe(e){let t=W(),n=e.target?.closest(`[data-nb-notification-item]`),r=n?t.indexOf(n):-1;if(e.key===`Escape`){if(!ke(e))return;e.preventDefault(),e.stopPropagation(),V({restoreFocus:!0});return}if(e.key===`Tab`){Ae(e);return}if(!De(e.target))switch(e.key){case`ArrowDown`:K(r<0?0:r+1)&&e.preventDefault();break;case`ArrowUp`:K(r<0?t.length-1:r-1)&&e.preventDefault();break;case`Home`:r>=0&&(e.preventDefault(),K(0));break;case`End`:r>=0&&(e.preventDefault(),K(t.length-1));break;default:break}}function ke(e){if(e.defaultPrevented)return!1;let t=(e.target??document.activeElement)?.closest?.(`[aria-modal="true"]`);return!(t&&t!==D.value)}function Ae(e){let t=D.value;if(!t)return;let n=Array.from(t.querySelectorAll(q)),r=document.activeElement,i=n[0],a=n[n.length-1],o=!n.length||r===i||!t.contains(r),s=!n.length||r===a;if(e.shiftKey?!o:!s)return;e.preventDefault();let l=e.shiftKey?E.value:je();V({restoreFocus:!1}),(0,c.nextTick)(()=>{l?.isConnected?l.focus():xe()})}function je(){let e=E.value;if(!e)return null;let t=Array.from(document.querySelectorAll(q)).filter(e=>!D.value?.contains(e)).filter(e=>e.tabIndex>=0),n=t.indexOf(e);return n<0?null:t[n+1]??null}function Me(e,t){b(`select`,e,t),v.closeOnSelect&&V({restoreFocus:!1})}function J(e){if(!x.default)return;let t=e.target?.closest(`[data-nb-notification-item]`);if(t&&Ce(t)){if(e.type===`keydown`){let n=e.key;if(n!==`Enter`&&n!==` `||t.tagName===`BUTTON`||t.tagName===`A`)return;e.preventDefault()}b(`select`,null,e),v.closeOnSelect&&V({restoreFocus:!1})}}function Ne(){v.markAllPending||b(`mark-all-read`)}function Pe(e){let t=e.target;T.value?.contains(t)||D.value?.contains(t)||V({restoreFocus:!1})}function Fe(e){e.key===`Escape`&&(D.value?.contains(document.activeElement)||ke(e)&&V({restoreFocus:T.value?.contains(document.activeElement)??!1}))}let Y=0;function X(){!O.value||Y||(Y=requestAnimationFrame(()=>{Y=0,Le()}))}function Ie(){Y&&=(cancelAnimationFrame(Y),0)}function Le(){if(!O.value||R.value)return;let e=T.value?.getBoundingClientRect();if(e&&!se(e,I())){V({restoreFocus:!1});return}L()}function Z(){v.closeOnNavigate&&V({restoreFocus:!1})}function Re(){return window.navigation}function ze(){document.addEventListener(`mousedown`,Pe),document.addEventListener(`keydown`,Fe),window.addEventListener(`resize`,X),window.addEventListener(`scroll`,X,!0),window.addEventListener(`popstate`,Z),window.addEventListener(`hashchange`,Z),Re()?.addEventListener(`navigate`,Z)}function Q(){Ie(),document.removeEventListener(`mousedown`,Pe),document.removeEventListener(`keydown`,Fe),window.removeEventListener(`resize`,X),window.removeEventListener(`scroll`,X,!0),window.removeEventListener(`popstate`,Z),window.removeEventListener(`hashchange`,Z),Re()?.removeEventListener(`navigate`,Z)}let $=()=>V({restoreFocus:!1});return(0,c.watch)(O,e=>{if(e){for(let e of[...h])e!==$&&e();h.add($),ze(),(0,c.nextTick)(()=>{L(),G(0),K(0)||D.value?.focus()})}else h.delete($),Q(),U.value=0}),(0,c.watch)(()=>[v.items.length,A.value],()=>{O.value&&(0,c.nextTick)(()=>G(U.value))}),(0,c.onBeforeUnmount)(()=>{Q(),h.delete($);let e=D.value;e?.isConnected&&e.remove()}),g({show:B,close:V,toggle:H,isOpen:O,unreadCount:k}),(n,d)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{ref_key:`rootRef`,ref:T,class:`nb-notification-center`},[(0,c.renderSlot)(n.$slots,`trigger`,{open:O.value,toggle:H,show:B,close:V,unreadCount:k.value,badge:de.value,panelId:S,triggerProps:M.value,setTriggerRef:P},()=>[(0,c.createElementVNode)(`button`,(0,c.mergeProps)({ref:P,type:`button`,class:[`nb-notification-center__trigger`,{"nb-notification-center__trigger--active":O.value}]},M.value,{onClick:H}),[(0,c.createVNode)(t.t,{name:y.value,size:18},null,8,[`name`]),k.value>0?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,f,(0,c.toDisplayString)(de.value),1)):(0,c.createCommentVNode)(``,!0)],16)]),((0,c.openBlock)(),(0,c.createBlock)(c.Teleport,{to:`body`},[(0,c.createVNode)(c.Transition,{name:`nb-notification-center-pop`},{default:(0,c.withCtx)(()=>[O.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,id:S,ref_key:`panelRef`,ref:D,class:(0,c.normalizeClass)([`nb-notification-center__panel`,ye.value]),style:(0,c.normalizeStyle)(ve.value),role:`dialog`,tabindex:`-1`,"aria-labelledby":C,"aria-describedby":ge.value,"aria-busy":e.loading?`true`:void 0,onKeydown:Oe,onFocusin:Ee},[(0,c.createElementVNode)(`div`,m,[(0,c.createElementVNode)(`h2`,{id:C,class:`nb-notification-center__title`},(0,c.toDisplayString)(e.label),1),(0,c.renderSlot)(n.$slots,`header-start`,{close:V,unreadCount:k.value}),(0,c.renderSlot)(n.$slots,`header-actions`,{close:V,unreadCount:k.value,markAllRead:Ne,markAllPending:e.markAllPending,markAllProps:N.value,markAllText:e.markAllPending?e.markAllPendingLabel:e.markAllLabel},()=>[e.showMarkAll?((0,c.openBlock)(),(0,c.createElementBlock)(`button`,(0,c.mergeProps)({key:0,class:`nb-notification-center__mark-all`},N.value),[e.markAllPending?((0,c.openBlock)(),(0,c.createBlock)(a.t,{key:0,size:`xs`,tone:`inherit`,decorative:``})):(0,c.createCommentVNode)(``,!0),(0,c.createTextVNode)(` `+(0,c.toDisplayString)(e.markAllPending?e.markAllPendingLabel:e.markAllLabel),1)],16)):(0,c.createCommentVNode)(``,!0)]),R.value?((0,c.openBlock)(),(0,c.createBlock)(r.t,{key:0,class:`nb-notification-center__close`,variant:`ghost`,size:`lg`,icon:l,"aria-label":e.closeLabel,onClick:d[0]||=e=>V()},null,8,[`aria-label`])):(0,c.createCommentVNode)(``,!0)]),(0,c.createElementVNode)(`span`,ee,(0,c.toDisplayString)(e.markAllPending?e.markAllPendingLabel:``),1),he.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,id:w,class:`nb-notification-center__stale`,role:`status`},[(0,c.createVNode)(t.t,{name:(0,c.unref)(u.regular),size:14,"aria-hidden":`true`},null,8,[`name`]),(0,c.createElementVNode)(`span`,te,(0,c.toDisplayString)(e.errorStaleLabel),1),e.showRetry?((0,c.openBlock)(),(0,c.createElementBlock)(`button`,{key:0,type:`button`,class:`nb-notification-center__retry`,onClick:j},(0,c.toDisplayString)(e.retryLabel),1)):(0,c.createCommentVNode)(``,!0)])):(0,c.createCommentVNode)(``,!0),A.value===`loading`?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:1,class:`nb-notification-center__loading`,role:`status`,style:(0,c.normalizeStyle)(z.value)},[(0,c.createElementVNode)(`span`,ne,(0,c.toDisplayString)(e.loadingLabel),1),((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(3,e=>(0,c.createVNode)(o.t,{key:e,variant:`text`,type:`body-sm`,lines:2,"last-line-width":`60%`})),64))],4)):A.value===`error`?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:2,id:w,class:`nb-notification-center__error`,role:`alert`},[(0,c.renderSlot)(n.$slots,`error`,{retry:j},()=>[(0,c.createVNode)(i.t,{size:`sm`,kind:`error`,title:e.errorTitle,description:e.errorDescription},(0,c.createSlots)({_:2},[e.showRetry?{name:`actions`,fn:(0,c.withCtx)(()=>[(0,c.createVNode)(r.t,{size:`sm`,variant:`secondary`,onClick:j},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)(e.retryLabel),1)]),_:1})]),key:`0`}:void 0]),1032,[`title`,`description`])])])):A.value===`list`?((0,c.openBlock)(),(0,c.createElementBlock)(`ul`,{key:3,ref_key:`listRef`,ref:le,class:`nb-notification-center__list`,role:`list`,tabindex:we.value,style:(0,c.normalizeStyle)(z.value),onClick:J,onKeydown:J},[(0,c.renderSlot)(n.$slots,`default`,{close:V,items:e.items},()=>[((0,c.openBlock)(!0),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(e.items,t=>((0,c.openBlock)(),(0,c.createBlock)(s.t,{key:t.id,title:t.title,body:t.body,time:t.time,"time-label":t.timeLabel,read:t.read,variant:t.variant??`neutral`,icon:t.icon,href:t.href,interactive:t.interactive??e.interactive,locale:e.locale,"unread-label":e.unreadLabel,"read-label":e.readLabel,onSelect:e=>Me(t,e)},null,8,[`title`,`body`,`time`,`time-label`,`read`,`variant`,`icon`,`href`,`interactive`,`locale`,`unread-label`,`read-label`,`onSelect`]))),128))])],44,re)):A.value===`empty`?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ie,[(0,c.renderSlot)(n.$slots,`empty`,{},()=>[(0,c.createVNode)(i.t,{size:`sm`,icon:y.value,title:e.emptyTitle,description:e.emptyDescription},null,8,[`icon`,`title`,`description`])])])):(0,c.createCommentVNode)(``,!0),n.$slots.footer?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,ae,[(0,c.renderSlot)(n.$slots,`footer`,{close:V})])):(0,c.createCommentVNode)(``,!0)],46,p)):(0,c.createCommentVNode)(``,!0)]),_:3})]))],512))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return x}});