@scalar/api-reference 1.60.0 → 1.62.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 (555) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.d.ts.map +1 -1
  3. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.js.map +1 -1
  4. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.script.js +8 -5
  5. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.script.js.map +1 -1
  6. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.d.ts.map +1 -1
  7. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.js.map +1 -1
  8. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.script.js +11 -7
  9. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.script.js.map +1 -1
  10. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/AsyncApiSidebarFilters.vue.d.ts +36 -0
  11. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/AsyncApiSidebarFilters.vue.d.ts.map +1 -0
  12. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/AsyncApiSidebarFilters.vue.js +7 -0
  13. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/AsyncApiSidebarFilters.vue.js.map +1 -0
  14. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/AsyncApiSidebarFilters.vue.script.js +69 -0
  15. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/AsyncApiSidebarFilters.vue.script.js.map +1 -0
  16. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/SidebarFilter.vue.d.ts +28 -0
  17. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/SidebarFilter.vue.d.ts.map +1 -0
  18. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/SidebarFilter.vue.js +7 -0
  19. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/SidebarFilter.vue.js.map +1 -0
  20. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/SidebarFilter.vue.script.js +62 -0
  21. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/SidebarFilter.vue.script.js.map +1 -0
  22. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/helpers/filter-async-api-navigation.d.ts +18 -0
  23. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/helpers/filter-async-api-navigation.d.ts.map +1 -0
  24. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/helpers/filter-async-api-navigation.js +59 -0
  25. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/helpers/filter-async-api-navigation.js.map +1 -0
  26. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/index.d.ts +3 -0
  27. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/index.d.ts.map +1 -0
  28. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.d.ts +1 -1
  29. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.d.ts.map +1 -1
  30. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js +1 -1
  31. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js.map +1 -1
  32. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.script.js +6 -3
  33. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.script.js.map +1 -1
  34. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.d.ts +2 -2
  35. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.d.ts.map +1 -1
  36. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js +1 -1
  37. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js.map +1 -1
  38. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js +4 -2
  39. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js.map +1 -1
  40. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.d.ts +1 -1
  41. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.d.ts.map +1 -1
  42. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.js.map +1 -1
  43. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.d.ts.map +1 -1
  44. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.js +1 -1
  45. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.js.map +1 -1
  46. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.script.js +3 -1
  47. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.script.js.map +1 -1
  48. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.d.ts.map +1 -1
  49. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.js.map +1 -1
  50. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.script.js +17 -3
  51. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.script.js.map +1 -1
  52. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.d.ts.map +1 -1
  53. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.js +1 -1
  54. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.js.map +1 -1
  55. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.script.js +4 -2
  56. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.script.js.map +1 -1
  57. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.d.ts.map +1 -1
  58. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.js +1 -1
  59. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.js.map +1 -1
  60. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.script.js +16 -12
  61. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.script.js.map +1 -1
  62. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.d.ts.map +1 -1
  63. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.js.map +1 -1
  64. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.script.js +11 -7
  65. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.script.js.map +1 -1
  66. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.d.ts.map +1 -1
  67. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.js.map +1 -1
  68. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.script.js +7 -4
  69. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.script.js.map +1 -1
  70. package/dist/browser/chunks/AgentScalarChatInterface-C3QiXv0S.js +27 -0
  71. package/dist/browser/chunks/ScalarTextInput.vue-CysYmeeN.js +27 -0
  72. package/dist/browser/chunks/basic-shape-diamond.svg-BTEOT1FL.js +1 -1
  73. package/dist/browser/chunks/basic-shape-hexagon.svg-BSPzaCgF.js +1 -1
  74. package/dist/browser/chunks/basic-shape-primary-circle-ellipse-round.svg-DKmZ8UUU.js +1 -1
  75. package/dist/browser/chunks/basic-shape-primary-square-rectangle.svg-n2YRykHD.js +1 -1
  76. package/dist/browser/chunks/basic-shape-shield.svg-Bec9cJDA.js +1 -1
  77. package/dist/browser/chunks/browser-67K6wmG9.js +1 -1
  78. package/dist/browser/chunks/computer-device-desktop-monitor.svg-m6j893Hb.js +1 -1
  79. package/dist/browser/chunks/computer-device-desktop.svg-Dk1VVO7k.js +1 -1
  80. package/dist/browser/chunks/computer-device-laptop.svg-BNGVUCYS.js +1 -1
  81. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung-back.svg-CC4UUTFw.js +1 -1
  82. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung.svg-D8ExpMpL.js +1 -1
  83. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x-back.svg-CLm7sgMM.js +1 -1
  84. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x.svg-Xrttg6_7.js +1 -1
  85. package/dist/browser/chunks/computer-device-mobile-tablet-touch.svg-DQ2oTvOG.js +1 -1
  86. package/dist/browser/chunks/computer-device-mobile-tablet.svg-DCr0XlRc.js +1 -1
  87. package/dist/browser/chunks/computer-device-network-ethernet-cat6.svg-AK9l0iOl.js +1 -1
  88. package/dist/browser/chunks/computer-device-network-lan-www.svg-gUIdFBlE.js +1 -1
  89. package/dist/browser/chunks/computer-device-network-wifi-connection.svg-Be-EMm4e.js +1 -1
  90. package/dist/browser/chunks/computer-device-network-wifi-router.svg-Dc2VzyqK.js +1 -1
  91. package/dist/browser/chunks/ecology-science-erlenmeyer-flask.svg-DHgy7Jfd.js +1 -1
  92. package/dist/browser/chunks/image-flash-lightning.svg-EETR_y1q.js +1 -1
  93. package/dist/browser/chunks/image-picture-flower.svg-DN1AYzJU.js +1 -1
  94. package/dist/browser/chunks/interface-alert-exclamation-diamond.svg-C5NozMV_.js +1 -1
  95. package/dist/browser/chunks/interface-alert-exclamation-triangle-warning.svg-DaAg2fF5.js +1 -1
  96. package/dist/browser/chunks/interface-alert-information-circle.svg-ckkkt9Mv.js +1 -1
  97. package/dist/browser/chunks/interface-award-crown.svg-pjvn9hY-.js +1 -1
  98. package/dist/browser/chunks/interface-bookmark-tag.svg-r2r-lQq4.js +1 -1
  99. package/dist/browser/chunks/interface-bookmark.svg-BK9HKQBT.js +1 -1
  100. package/dist/browser/chunks/interface-calendar-date-one.svg-DNnF0M1I.js +1 -1
  101. package/dist/browser/chunks/interface-content-book-open-pages.svg-CQj_w9Vp.js +1 -1
  102. package/dist/browser/chunks/interface-content-book-page.svg-DppoeJRe.js +1 -1
  103. package/dist/browser/chunks/interface-content-file.svg-CvcD7OiY.js +1 -1
  104. package/dist/browser/chunks/interface-content-folder.svg-BmtS5I9A.js +1 -1
  105. package/dist/browser/chunks/interface-copy-clipboard.svg-Be6EI50X.js +1 -1
  106. package/dist/browser/chunks/interface-edit-attachment.svg-G5TKzpWX.js +1 -1
  107. package/dist/browser/chunks/interface-edit-binocular.svg-jzL-DvGB.js +1 -1
  108. package/dist/browser/chunks/interface-edit-magic-wand.svg-BOTlymvp.js +1 -1
  109. package/dist/browser/chunks/interface-edit-tool-paint-roller.svg-s9dwryx7.js +1 -1
  110. package/dist/browser/chunks/interface-edit-tool-pencil.svg-C7v0dbB3.js +1 -1
  111. package/dist/browser/chunks/interface-favorite-award.svg-CYHUgUG0.js +1 -1
  112. package/dist/browser/chunks/interface-favorite-flag.svg-C10zlKOb.js +1 -1
  113. package/dist/browser/chunks/interface-favorite-heart.svg-eoduXxlz.js +1 -1
  114. package/dist/browser/chunks/interface-favorite-star.svg-BSmxJetr.js +1 -1
  115. package/dist/browser/chunks/interface-favorite-stars-sparkles.svg-JTFLj3Ls.js +1 -1
  116. package/dist/browser/chunks/interface-hierarchy-flowchart.svg-Cg_Wy0kN.js +1 -1
  117. package/dist/browser/chunks/interface-home-house.svg-DytoGRnv.js +1 -1
  118. package/dist/browser/chunks/interface-hyperlink.svg-CuEfmmQI.js +1 -1
  119. package/dist/browser/chunks/interface-lighting-brightness.svg-DSK0h_Pa.js +1 -1
  120. package/dist/browser/chunks/interface-lock-closed.svg-Cn6TaLYv.js +1 -1
  121. package/dist/browser/chunks/interface-lock-open-unlock.svg-CVkG5-9W.js +1 -1
  122. package/dist/browser/chunks/interface-login-key.svg-y-cwwXjN.js +1 -1
  123. package/dist/browser/chunks/interface-search.svg-S-puVFJB.js +1 -1
  124. package/dist/browser/chunks/interface-setting-cog.svg-CTH4_lLg.js +1 -1
  125. package/dist/browser/chunks/interface-share-megaphone-bullhorn.svg-Pbp39MyC.js +1 -1
  126. package/dist/browser/chunks/interface-share-rocket.svg-BgCsIRZO.js +1 -1
  127. package/dist/browser/chunks/interface-share-satellite.svg-DAMN9d5G.js +1 -1
  128. package/dist/browser/chunks/interface-share-space-ship.svg-Dt-Mejxk.js +1 -1
  129. package/dist/browser/chunks/interface-share.svg-vFYTXSti.js +1 -1
  130. package/dist/browser/chunks/interface-signal-square.svg-DNG4LpAe.js +1 -1
  131. package/dist/browser/chunks/interface-time-clock-circle.svg-Bpz-nLxo.js +1 -1
  132. package/dist/browser/chunks/interface-time-hour-glass.svg-D7agfKsH.js +1 -1
  133. package/dist/browser/chunks/interface-users-multiple.svg-CkPJBBnG.js +1 -1
  134. package/dist/browser/chunks/interface-weather-moon.svg-CaTZFMPO.js +1 -1
  135. package/dist/browser/chunks/mail-chat-bubble-square.svg-DC8RIihp.js +1 -1
  136. package/dist/browser/chunks/mail-send-email-paper-airplane.svg-D8OLs9jz.js +1 -1
  137. package/dist/browser/chunks/mail-send-envelope.svg-CV33h5Sx.js +1 -1
  138. package/dist/browser/chunks/{modal-LBDjZSmM.js → modal-CMytT4BZ.js} +2 -2
  139. package/dist/browser/chunks/modal-wI0tG53V.js +99 -0
  140. package/dist/browser/chunks/money-cashier-receipt.svg-CJL8C2gs.js +1 -1
  141. package/dist/browser/chunks/money-currency-dollar-pay.svg-VdBplCTx.js +1 -1
  142. package/dist/browser/chunks/money-graph-arrow-increase.svg-DcRov3zk.js +1 -1
  143. package/dist/browser/chunks/money-graph-bar-chart-increase.svg-Cc7KxjX-.js +1 -1
  144. package/dist/browser/chunks/nature-ecology-leaf.svg-DR3cTZxt.js +1 -1
  145. package/dist/browser/chunks/phone-telephone.svg-DyY0gUlk.js +1 -1
  146. package/dist/browser/chunks/programming-bug.svg-BHLT-Qhp.js +1 -1
  147. package/dist/browser/chunks/programming-cloud.svg-B6YW33ba.js +1 -1
  148. package/dist/browser/chunks/programming-computer-database-server.svg-B6o5Sdn-.js +1 -1
  149. package/dist/browser/chunks/programming-computer-database.svg-Cl7OVtpJ.js +1 -1
  150. package/dist/browser/chunks/programming-module-four-layout.svg-BQrerL1x.js +1 -1
  151. package/dist/browser/chunks/programming-module-three.svg-B2KTQzBM.js +1 -1
  152. package/dist/browser/chunks/programming-module.svg-CiID7kPm.js +1 -1
  153. package/dist/browser/chunks/programming-script-code.svg-D1M5rtkN.js +1 -1
  154. package/dist/browser/chunks/runtime-core.esm-bundler-Byrbbu5Q.js +1 -1
  155. package/dist/browser/chunks/shopping-cart.svg-BEegiIR9.js +1 -1
  156. package/dist/browser/chunks/shopping-gift-present.svg-BUHwuLix.js +1 -1
  157. package/dist/browser/chunks/shopping-shipping-box-parcel-package.svg-D6fxWdYx.js +1 -1
  158. package/dist/browser/chunks/tag-new-circle.svg-jsg1bGs0.js +1 -1
  159. package/dist/browser/chunks/travel-map-earth-globe.svg-ClbMiU-f.js +1 -1
  160. package/dist/browser/chunks/vendor-BPQqqkn-.js +306 -0
  161. package/dist/browser/standalone.esm.js +20 -20
  162. package/dist/browser/standalone.js +294 -294
  163. package/dist/components/AgentScalar/AgentScalarButton.vue.d.ts.map +1 -1
  164. package/dist/components/AgentScalar/AgentScalarButton.vue.js.map +1 -1
  165. package/dist/components/AgentScalar/AgentScalarButton.vue.script.js +4 -2
  166. package/dist/components/AgentScalar/AgentScalarButton.vue.script.js.map +1 -1
  167. package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts.map +1 -1
  168. package/dist/components/AgentScalar/AgentScalarDrawer.vue.js +1 -1
  169. package/dist/components/AgentScalar/AgentScalarDrawer.vue.js.map +1 -1
  170. package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js +4 -2
  171. package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js.map +1 -1
  172. package/dist/components/AgentScalar/OpenMCPButton.vue.d.ts.map +1 -1
  173. package/dist/components/AgentScalar/OpenMCPButton.vue.js +1 -1
  174. package/dist/components/AgentScalar/OpenMCPButton.vue.js.map +1 -1
  175. package/dist/components/AgentScalar/OpenMCPButton.vue.script.js +8 -6
  176. package/dist/components/AgentScalar/OpenMCPButton.vue.script.js.map +1 -1
  177. package/dist/components/Anchor/Anchor.vue.d.ts.map +1 -1
  178. package/dist/components/Anchor/Anchor.vue.js.map +1 -1
  179. package/dist/components/Anchor/Anchor.vue.script.js +5 -3
  180. package/dist/components/Anchor/Anchor.vue.script.js.map +1 -1
  181. package/dist/components/Anchor/WithBreadcrumb.vue.d.ts +1 -3
  182. package/dist/components/Anchor/WithBreadcrumb.vue.d.ts.map +1 -1
  183. package/dist/components/Anchor/WithBreadcrumb.vue.js.map +1 -1
  184. package/dist/components/Anchor/WithBreadcrumb.vue.script.js +6 -2
  185. package/dist/components/Anchor/WithBreadcrumb.vue.script.js.map +1 -1
  186. package/dist/components/ApiReference.vue.d.ts.map +1 -1
  187. package/dist/components/ApiReference.vue.js +1 -1
  188. package/dist/components/ApiReference.vue.js.map +1 -1
  189. package/dist/components/ApiReference.vue.script.js +181 -46
  190. package/dist/components/ApiReference.vue.script.js.map +1 -1
  191. package/dist/components/Content/AsyncApi/AsyncApiLabels.vue.d.ts +10 -0
  192. package/dist/components/Content/AsyncApi/AsyncApiLabels.vue.d.ts.map +1 -0
  193. package/dist/components/Content/AsyncApi/AsyncApiLabels.vue.js +9 -0
  194. package/dist/components/Content/AsyncApi/AsyncApiLabels.vue.js.map +1 -0
  195. package/dist/components/Content/AsyncApi/AsyncApiLabels.vue.script.js +47 -0
  196. package/dist/components/Content/AsyncApi/AsyncApiLabels.vue.script.js.map +1 -0
  197. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.d.ts.map +1 -1
  198. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.js.map +1 -1
  199. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.script.js +2 -0
  200. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.script.js.map +1 -1
  201. package/dist/components/Content/AsyncApi/Channel.vue.d.ts +4 -1
  202. package/dist/components/Content/AsyncApi/Channel.vue.d.ts.map +1 -1
  203. package/dist/components/Content/AsyncApi/Channel.vue.js +1 -1
  204. package/dist/components/Content/AsyncApi/Channel.vue.js.map +1 -1
  205. package/dist/components/Content/AsyncApi/Channel.vue.script.js +98 -44
  206. package/dist/components/Content/AsyncApi/Channel.vue.script.js.map +1 -1
  207. package/dist/components/Content/AsyncApi/Message.vue.d.ts +18 -0
  208. package/dist/components/Content/AsyncApi/Message.vue.d.ts.map +1 -0
  209. package/dist/components/Content/AsyncApi/Message.vue.js +9 -0
  210. package/dist/components/Content/AsyncApi/Message.vue.js.map +1 -0
  211. package/dist/components/Content/AsyncApi/Message.vue.script.js +159 -0
  212. package/dist/components/Content/AsyncApi/Message.vue.script.js.map +1 -0
  213. package/dist/components/Content/AsyncApi/Operation.vue.d.ts +18 -0
  214. package/dist/components/Content/AsyncApi/Operation.vue.d.ts.map +1 -0
  215. package/dist/components/Content/AsyncApi/Operation.vue.js +9 -0
  216. package/dist/components/Content/AsyncApi/Operation.vue.js.map +1 -0
  217. package/dist/components/Content/AsyncApi/Operation.vue.script.js +84 -0
  218. package/dist/components/Content/AsyncApi/Operation.vue.script.js.map +1 -0
  219. package/dist/components/Content/AsyncApi/helpers/async-api-render-options.d.ts +14 -0
  220. package/dist/components/Content/AsyncApi/helpers/async-api-render-options.d.ts.map +1 -0
  221. package/dist/components/Content/AsyncApi/helpers/async-api-render-options.js +14 -0
  222. package/dist/components/Content/AsyncApi/helpers/async-api-render-options.js.map +1 -0
  223. package/dist/components/Content/AsyncApi/helpers/filter-children-by-type.d.ts +9 -0
  224. package/dist/components/Content/AsyncApi/helpers/filter-children-by-type.d.ts.map +1 -0
  225. package/dist/components/Content/AsyncApi/helpers/filter-children-by-type.js +12 -0
  226. package/dist/components/Content/AsyncApi/helpers/filter-children-by-type.js.map +1 -0
  227. package/dist/components/Content/AsyncApi/helpers/get-async-api-labels.d.ts +13 -0
  228. package/dist/components/Content/AsyncApi/helpers/get-async-api-labels.d.ts.map +1 -0
  229. package/dist/components/Content/AsyncApi/helpers/get-async-api-labels.js +23 -0
  230. package/dist/components/Content/AsyncApi/helpers/get-async-api-labels.js.map +1 -0
  231. package/dist/components/Content/AsyncApi/helpers/pick-heading.d.ts +10 -0
  232. package/dist/components/Content/AsyncApi/helpers/pick-heading.d.ts.map +1 -0
  233. package/dist/components/Content/AsyncApi/helpers/pick-heading.js +20 -0
  234. package/dist/components/Content/AsyncApi/helpers/pick-heading.js.map +1 -0
  235. package/dist/components/Content/AsyncApi/helpers/resolve-async-api-nodes.d.ts +21 -0
  236. package/dist/components/Content/AsyncApi/helpers/resolve-async-api-nodes.d.ts.map +1 -0
  237. package/dist/components/Content/AsyncApi/helpers/resolve-async-api-nodes.js +35 -0
  238. package/dist/components/Content/AsyncApi/helpers/resolve-async-api-nodes.js.map +1 -0
  239. package/dist/components/Content/Auth/Auth.vue.d.ts.map +1 -1
  240. package/dist/components/Content/Auth/Auth.vue.js.map +1 -1
  241. package/dist/components/Content/Auth/Auth.vue.script.js +5 -2
  242. package/dist/components/Content/Auth/Auth.vue.script.js.map +1 -1
  243. package/dist/components/Content/Content.vue.d.ts +1 -0
  244. package/dist/components/Content/Content.vue.d.ts.map +1 -1
  245. package/dist/components/Content/Content.vue.js.map +1 -1
  246. package/dist/components/Content/Content.vue.script.js +4 -1
  247. package/dist/components/Content/Content.vue.script.js.map +1 -1
  248. package/dist/components/Content/Operations/TraversedEntry.vue.d.ts +3 -1
  249. package/dist/components/Content/Operations/TraversedEntry.vue.d.ts.map +1 -1
  250. package/dist/components/Content/Operations/TraversedEntry.vue.js.map +1 -1
  251. package/dist/components/Content/Operations/TraversedEntry.vue.script.js +9 -0
  252. package/dist/components/Content/Operations/TraversedEntry.vue.script.js.map +1 -1
  253. package/dist/components/Content/Schema/Schema.vue.d.ts.map +1 -1
  254. package/dist/components/Content/Schema/Schema.vue.js +1 -1
  255. package/dist/components/Content/Schema/Schema.vue.js.map +1 -1
  256. package/dist/components/Content/Schema/Schema.vue.script.js +10 -6
  257. package/dist/components/Content/Schema/Schema.vue.script.js.map +1 -1
  258. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts.map +1 -1
  259. package/dist/components/Content/Schema/SchemaComposition.vue.js.map +1 -1
  260. package/dist/components/Content/Schema/SchemaComposition.vue.script.js +25 -12
  261. package/dist/components/Content/Schema/SchemaComposition.vue.script.js.map +1 -1
  262. package/dist/components/Content/Schema/SchemaEnums.vue.d.ts.map +1 -1
  263. package/dist/components/Content/Schema/SchemaEnums.vue.js +1 -1
  264. package/dist/components/Content/Schema/SchemaEnums.vue.js.map +1 -1
  265. package/dist/components/Content/Schema/SchemaEnums.vue.script.js +4 -2
  266. package/dist/components/Content/Schema/SchemaEnums.vue.script.js.map +1 -1
  267. package/dist/components/Content/Schema/SchemaHeading.vue.d.ts.map +1 -1
  268. package/dist/components/Content/Schema/SchemaHeading.vue.js +1 -1
  269. package/dist/components/Content/Schema/SchemaHeading.vue.js.map +1 -1
  270. package/dist/components/Content/Schema/SchemaHeading.vue.script.js +6 -4
  271. package/dist/components/Content/Schema/SchemaHeading.vue.script.js.map +1 -1
  272. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.js.map +1 -1
  273. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js +1 -1
  274. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js.map +1 -1
  275. package/dist/components/Content/Schema/SchemaObjectProperties.vue.d.ts.map +1 -1
  276. package/dist/components/Content/Schema/SchemaObjectProperties.vue.js.map +1 -1
  277. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js +12 -0
  278. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js.map +1 -1
  279. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts +3 -1
  280. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts.map +1 -1
  281. package/dist/components/Content/Schema/SchemaProperty.vue.js +1 -1
  282. package/dist/components/Content/Schema/SchemaProperty.vue.js.map +1 -1
  283. package/dist/components/Content/Schema/SchemaProperty.vue.script.js +24 -6
  284. package/dist/components/Content/Schema/SchemaProperty.vue.script.js.map +1 -1
  285. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.d.ts.map +1 -1
  286. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.js +1 -1
  287. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.js.map +1 -1
  288. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js +8 -5
  289. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js.map +1 -1
  290. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.d.ts.map +1 -1
  291. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.js +1 -1
  292. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.js.map +1 -1
  293. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js +5 -3
  294. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js.map +1 -1
  295. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts +3 -1
  296. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts.map +1 -1
  297. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js +1 -1
  298. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js.map +1 -1
  299. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js +47 -22
  300. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js.map +1 -1
  301. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.d.ts.map +1 -1
  302. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js +10 -9
  303. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js.map +1 -1
  304. package/dist/components/Content/Tags/components/ModernLayout.vue.d.ts.map +1 -1
  305. package/dist/components/Content/Tags/components/ModernLayout.vue.js +1 -1
  306. package/dist/components/Content/Tags/components/ModernLayout.vue.js.map +1 -1
  307. package/dist/components/Content/Tags/components/ModernLayout.vue.script.js +3 -1
  308. package/dist/components/Content/Tags/components/ModernLayout.vue.script.js.map +1 -1
  309. package/dist/components/Content/Tags/components/TagSection.vue.d.ts.map +1 -1
  310. package/dist/components/Content/Tags/components/TagSection.vue.js.map +1 -1
  311. package/dist/components/Content/Tags/components/TagSection.vue.script.js +3 -1
  312. package/dist/components/Content/Tags/components/TagSection.vue.script.js.map +1 -1
  313. package/dist/components/GettingStarted.vue.d.ts.map +1 -1
  314. package/dist/components/GettingStarted.vue.js +1 -1
  315. package/dist/components/GettingStarted.vue.js.map +1 -1
  316. package/dist/components/GettingStarted.vue.script.js +58 -21
  317. package/dist/components/GettingStarted.vue.script.js.map +1 -1
  318. package/dist/components/MobileHeader.vue.d.ts.map +1 -1
  319. package/dist/components/MobileHeader.vue.js.map +1 -1
  320. package/dist/components/MobileHeader.vue.script.js +3 -1
  321. package/dist/components/MobileHeader.vue.script.js.map +1 -1
  322. package/dist/components/OperationsList/OperationsList.vue.d.ts.map +1 -1
  323. package/dist/components/OperationsList/OperationsList.vue.js +1 -1
  324. package/dist/components/OperationsList/OperationsList.vue.js.map +1 -1
  325. package/dist/components/OperationsList/OperationsList.vue.script.js +4 -2
  326. package/dist/components/OperationsList/OperationsList.vue.script.js.map +1 -1
  327. package/dist/components/ShowMoreButton.vue.d.ts.map +1 -1
  328. package/dist/components/ShowMoreButton.vue.js +1 -1
  329. package/dist/components/ShowMoreButton.vue.js.map +1 -1
  330. package/dist/components/ShowMoreButton.vue.script.js +4 -2
  331. package/dist/components/ShowMoreButton.vue.script.js.map +1 -1
  332. package/dist/features/Operation/Operation.vue.d.ts +3 -1
  333. package/dist/features/Operation/Operation.vue.d.ts.map +1 -1
  334. package/dist/features/Operation/Operation.vue.js.map +1 -1
  335. package/dist/features/Operation/Operation.vue.script.js +6 -1
  336. package/dist/features/Operation/Operation.vue.script.js.map +1 -1
  337. package/dist/features/Operation/components/ContentTypeSelect.vue.d.ts.map +1 -1
  338. package/dist/features/Operation/components/ContentTypeSelect.vue.js.map +1 -1
  339. package/dist/features/Operation/components/ContentTypeSelect.vue.script.js +4 -2
  340. package/dist/features/Operation/components/ContentTypeSelect.vue.script.js.map +1 -1
  341. package/dist/features/Operation/components/Headers.vue.d.ts.map +1 -1
  342. package/dist/features/Operation/components/Headers.vue.js +1 -1
  343. package/dist/features/Operation/components/Headers.vue.js.map +1 -1
  344. package/dist/features/Operation/components/Headers.vue.script.js +8 -6
  345. package/dist/features/Operation/components/Headers.vue.script.js.map +1 -1
  346. package/dist/features/Operation/components/OperationParameters.vue.d.ts.map +1 -1
  347. package/dist/features/Operation/components/OperationParameters.vue.js.map +1 -1
  348. package/dist/features/Operation/components/OperationParameters.vue.script.js +8 -6
  349. package/dist/features/Operation/components/OperationParameters.vue.script.js.map +1 -1
  350. package/dist/features/Operation/components/OperationResponses.vue.d.ts.map +1 -1
  351. package/dist/features/Operation/components/OperationResponses.vue.js.map +1 -1
  352. package/dist/features/Operation/components/OperationResponses.vue.script.js +10 -7
  353. package/dist/features/Operation/components/OperationResponses.vue.script.js.map +1 -1
  354. package/dist/features/Operation/components/ParameterListItem.vue.script.js +1 -1
  355. package/dist/features/Operation/components/RequestBody.vue.d.ts.map +1 -1
  356. package/dist/features/Operation/components/RequestBody.vue.js +1 -1
  357. package/dist/features/Operation/components/RequestBody.vue.js.map +1 -1
  358. package/dist/features/Operation/components/RequestBody.vue.script.js +18 -13
  359. package/dist/features/Operation/components/RequestBody.vue.script.js.map +1 -1
  360. package/dist/features/Operation/components/SecurityRequirementBadge.vue.d.ts.map +1 -1
  361. package/dist/features/Operation/components/SecurityRequirementBadge.vue.js.map +1 -1
  362. package/dist/features/Operation/components/SecurityRequirementBadge.vue.script.js +5 -3
  363. package/dist/features/Operation/components/SecurityRequirementBadge.vue.script.js.map +1 -1
  364. package/dist/features/Operation/components/callbacks/Callbacks.vue.d.ts.map +1 -1
  365. package/dist/features/Operation/components/callbacks/Callbacks.vue.js.map +1 -1
  366. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js +11 -8
  367. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js.map +1 -1
  368. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts.map +1 -1
  369. package/dist/features/Operation/layouts/ClassicLayout.vue.js +1 -1
  370. package/dist/features/Operation/layouts/ClassicLayout.vue.js.map +1 -1
  371. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js +37 -17
  372. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js.map +1 -1
  373. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts.map +1 -1
  374. package/dist/features/Operation/layouts/ModernLayout.vue.js +1 -1
  375. package/dist/features/Operation/layouts/ModernLayout.vue.js.map +1 -1
  376. package/dist/features/Operation/layouts/ModernLayout.vue.script.js +22 -7
  377. package/dist/features/Operation/layouts/ModernLayout.vue.script.js.map +1 -1
  378. package/dist/features/Search/components/SearchButton.vue.d.ts.map +1 -1
  379. package/dist/features/Search/components/SearchButton.vue.js.map +1 -1
  380. package/dist/features/Search/components/SearchButton.vue.script.js +15 -8
  381. package/dist/features/Search/components/SearchButton.vue.script.js.map +1 -1
  382. package/dist/features/Search/components/SearchModal.vue.d.ts.map +1 -1
  383. package/dist/features/Search/components/SearchModal.vue.js +1 -1
  384. package/dist/features/Search/components/SearchModal.vue.js.map +1 -1
  385. package/dist/features/Search/components/SearchModal.vue.script.js +29 -10
  386. package/dist/features/Search/components/SearchModal.vue.script.js.map +1 -1
  387. package/dist/features/Search/components/SearchResult.vue.d.ts.map +1 -1
  388. package/dist/features/Search/components/SearchResult.vue.js.map +1 -1
  389. package/dist/features/Search/components/SearchResult.vue.script.js +12 -8
  390. package/dist/features/Search/components/SearchResult.vue.script.js.map +1 -1
  391. package/dist/features/Search/helpers/create-search-index.d.ts +8 -0
  392. package/dist/features/Search/helpers/create-search-index.d.ts.map +1 -1
  393. package/dist/features/Search/helpers/create-search-index.js +18 -9
  394. package/dist/features/Search/helpers/create-search-index.js.map +1 -1
  395. package/dist/features/Search/hooks/useSearchIndex.d.ts +7 -1
  396. package/dist/features/Search/hooks/useSearchIndex.d.ts.map +1 -1
  397. package/dist/features/Search/hooks/useSearchIndex.js +11 -2
  398. package/dist/features/Search/hooks/useSearchIndex.js.map +1 -1
  399. package/dist/features/ask-agent-button/AskAgentButton.vue.d.ts.map +1 -1
  400. package/dist/features/ask-agent-button/AskAgentButton.vue.js +1 -1
  401. package/dist/features/ask-agent-button/AskAgentButton.vue.js.map +1 -1
  402. package/dist/features/ask-agent-button/AskAgentButton.vue.script.js +10 -6
  403. package/dist/features/ask-agent-button/AskAgentButton.vue.script.js.map +1 -1
  404. package/dist/features/developer-tools/DeveloperTools.vue.d.ts.map +1 -1
  405. package/dist/features/developer-tools/DeveloperTools.vue.js.map +1 -1
  406. package/dist/features/developer-tools/DeveloperTools.vue.script.js +10 -8
  407. package/dist/features/developer-tools/DeveloperTools.vue.script.js.map +1 -1
  408. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.d.ts.map +1 -1
  409. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.js.map +1 -1
  410. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js +11 -11
  411. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js.map +1 -1
  412. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.d.ts.map +1 -1
  413. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.js.map +1 -1
  414. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js +15 -11
  415. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js.map +1 -1
  416. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js +1 -1
  417. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.d.ts +1 -3
  418. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.d.ts.map +1 -1
  419. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.js.map +1 -1
  420. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js +4 -6
  421. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js.map +1 -1
  422. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.d.ts.map +1 -1
  423. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.js.map +1 -1
  424. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js +6 -4
  425. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js.map +1 -1
  426. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.d.ts.map +1 -1
  427. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js.map +1 -1
  428. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js +23 -22
  429. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js.map +1 -1
  430. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.d.ts.map +1 -1
  431. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.js.map +1 -1
  432. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js +7 -5
  433. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js.map +1 -1
  434. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.d.ts.map +1 -1
  435. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.js.map +1 -1
  436. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js +9 -7
  437. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js.map +1 -1
  438. package/dist/features/developer-tools/components/DeployApiReference.vue.d.ts.map +1 -1
  439. package/dist/features/developer-tools/components/DeployApiReference.vue.js.map +1 -1
  440. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js +7 -4
  441. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js.map +1 -1
  442. package/dist/features/developer-tools/components/ModifyConfiguration.vue.d.ts.map +1 -1
  443. package/dist/features/developer-tools/components/ModifyConfiguration.vue.js.map +1 -1
  444. package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js +8 -6
  445. package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js.map +1 -1
  446. package/dist/features/developer-tools/components/ShareApiReference.vue.d.ts.map +1 -1
  447. package/dist/features/developer-tools/components/ShareApiReference.vue.js.map +1 -1
  448. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js +7 -4
  449. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js.map +1 -1
  450. package/dist/features/example-responses/ExampleResponse.vue.d.ts.map +1 -1
  451. package/dist/features/example-responses/ExampleResponse.vue.js +1 -1
  452. package/dist/features/example-responses/ExampleResponse.vue.js.map +1 -1
  453. package/dist/features/example-responses/ExampleResponse.vue.script.js +5 -3
  454. package/dist/features/example-responses/ExampleResponse.vue.script.js.map +1 -1
  455. package/dist/features/example-responses/ExampleResponses.vue.d.ts +9 -0
  456. package/dist/features/example-responses/ExampleResponses.vue.d.ts.map +1 -1
  457. package/dist/features/example-responses/ExampleResponses.vue.js +1 -1
  458. package/dist/features/example-responses/ExampleResponses.vue.js.map +1 -1
  459. package/dist/features/example-responses/ExampleResponses.vue.script.js +42 -23
  460. package/dist/features/example-responses/ExampleResponses.vue.script.js.map +1 -1
  461. package/dist/features/example-responses/ExampleSchema.vue.js.map +1 -1
  462. package/dist/features/example-responses/ExampleSchema.vue.script.js +1 -1
  463. package/dist/features/example-responses/ExampleSchema.vue.script.js.map +1 -1
  464. package/dist/features/info-object/Contact.vue.d.ts.map +1 -1
  465. package/dist/features/info-object/Contact.vue.js.map +1 -1
  466. package/dist/features/info-object/Contact.vue.script.js +14 -11
  467. package/dist/features/info-object/Contact.vue.script.js.map +1 -1
  468. package/dist/features/info-object/InfoLink.vue.d.ts +8 -0
  469. package/dist/features/info-object/InfoLink.vue.d.ts.map +1 -0
  470. package/dist/features/info-object/InfoLink.vue.js +7 -0
  471. package/dist/features/info-object/InfoLink.vue.js.map +1 -0
  472. package/dist/features/info-object/InfoLink.vue.script.js +30 -0
  473. package/dist/features/info-object/InfoLink.vue.script.js.map +1 -0
  474. package/dist/features/info-object/TermsOfService.vue.d.ts.map +1 -1
  475. package/dist/features/info-object/TermsOfService.vue.js.map +1 -1
  476. package/dist/features/info-object/TermsOfService.vue.script.js +9 -6
  477. package/dist/features/info-object/TermsOfService.vue.script.js.map +1 -1
  478. package/dist/features/info-object/index.d.ts +1 -0
  479. package/dist/features/info-object/index.d.ts.map +1 -1
  480. package/dist/features/localization/index.d.ts +2 -0
  481. package/dist/features/localization/index.d.ts.map +1 -0
  482. package/dist/features/localization/locales/ar.d.ts +227 -0
  483. package/dist/features/localization/locales/ar.d.ts.map +1 -0
  484. package/dist/features/localization/locales/ar.js +225 -0
  485. package/dist/features/localization/locales/ar.js.map +1 -0
  486. package/dist/features/localization/locales/de.d.ts +227 -0
  487. package/dist/features/localization/locales/de.d.ts.map +1 -0
  488. package/dist/features/localization/locales/de.js +225 -0
  489. package/dist/features/localization/locales/de.js.map +1 -0
  490. package/dist/features/localization/locales/en.d.ts +227 -0
  491. package/dist/features/localization/locales/en.d.ts.map +1 -0
  492. package/dist/features/localization/locales/en.js +225 -0
  493. package/dist/features/localization/locales/en.js.map +1 -0
  494. package/dist/features/localization/locales/es.d.ts +227 -0
  495. package/dist/features/localization/locales/es.d.ts.map +1 -0
  496. package/dist/features/localization/locales/es.js +225 -0
  497. package/dist/features/localization/locales/es.js.map +1 -0
  498. package/dist/features/localization/locales/fr.d.ts +227 -0
  499. package/dist/features/localization/locales/fr.d.ts.map +1 -0
  500. package/dist/features/localization/locales/fr.js +225 -0
  501. package/dist/features/localization/locales/fr.js.map +1 -0
  502. package/dist/features/localization/locales/ru.d.ts +227 -0
  503. package/dist/features/localization/locales/ru.d.ts.map +1 -0
  504. package/dist/features/localization/locales/ru.js +225 -0
  505. package/dist/features/localization/locales/ru.js.map +1 -0
  506. package/dist/features/localization/locales/zh-cn.d.ts +227 -0
  507. package/dist/features/localization/locales/zh-cn.d.ts.map +1 -0
  508. package/dist/features/localization/locales/zh-cn.js +225 -0
  509. package/dist/features/localization/locales/zh-cn.js.map +1 -0
  510. package/dist/features/localization/translations.d.ts +1588 -0
  511. package/dist/features/localization/translations.d.ts.map +1 -0
  512. package/dist/features/localization/translations.js +27 -0
  513. package/dist/features/localization/translations.js.map +1 -0
  514. package/dist/features/localization/use-localization.d.ts +18 -0
  515. package/dist/features/localization/use-localization.d.ts.map +1 -0
  516. package/dist/features/localization/use-localization.js +58 -0
  517. package/dist/features/localization/use-localization.js.map +1 -0
  518. package/dist/features/multiple-documents/DocumentSelector.vue.script.js +1 -1
  519. package/dist/features/test-request-button/TestRequestButton.vue.d.ts.map +1 -1
  520. package/dist/features/test-request-button/TestRequestButton.vue.js +1 -1
  521. package/dist/features/test-request-button/TestRequestButton.vue.js.map +1 -1
  522. package/dist/features/test-request-button/TestRequestButton.vue.script.js +3 -1
  523. package/dist/features/test-request-button/TestRequestButton.vue.script.js.map +1 -1
  524. package/dist/helpers/get-async-api-message-payload-schema.d.ts +18 -0
  525. package/dist/helpers/get-async-api-message-payload-schema.d.ts.map +1 -0
  526. package/dist/helpers/get-async-api-message-payload-schema.js +33 -0
  527. package/dist/helpers/get-async-api-message-payload-schema.js.map +1 -0
  528. package/dist/helpers/get-async-api-model-schema.d.ts.map +1 -1
  529. package/dist/helpers/get-async-api-model-schema.js +2 -11
  530. package/dist/helpers/get-async-api-model-schema.js.map +1 -1
  531. package/dist/helpers/is-introduction-entry.d.ts +16 -0
  532. package/dist/helpers/is-introduction-entry.d.ts.map +1 -0
  533. package/dist/helpers/is-introduction-entry.js +17 -0
  534. package/dist/helpers/is-introduction-entry.js.map +1 -0
  535. package/dist/helpers/load-from-perssistance.js +1 -1
  536. package/dist/helpers/load-from-perssistance.js.map +1 -1
  537. package/dist/helpers/map-config-plugins.d.ts +8 -3
  538. package/dist/helpers/map-config-plugins.d.ts.map +1 -1
  539. package/dist/helpers/map-config-plugins.js +22 -4
  540. package/dist/helpers/map-config-plugins.js.map +1 -1
  541. package/dist/helpers/map-config-to-workspace-store.js +1 -1
  542. package/dist/helpers/map-config-to-workspace-store.js.map +1 -1
  543. package/dist/helpers/storage.d.ts +14 -14
  544. package/dist/style.css +783 -666
  545. package/dist/styles/tailwind.config.css +1 -0
  546. package/dist/vue-styles.css +700 -597
  547. package/package.json +18 -17
  548. package/dist/browser/chunks/AgentScalarChatInterface-CesFQ_Ax.js +0 -27
  549. package/dist/browser/chunks/ScalarTextInput.vue-C14zmVNI.js +0 -27
  550. package/dist/browser/chunks/modal-BZzcBkVp.js +0 -99
  551. package/dist/browser/chunks/vendor-wW8jg8wN.js +0 -306
  552. package/dist/features/Operation/helpers/get-first-server.d.ts +0 -9
  553. package/dist/features/Operation/helpers/get-first-server.d.ts.map +0 -1
  554. package/dist/features/Operation/helpers/get-first-server.js +0 -27
  555. package/dist/features/Operation/helpers/get-first-server.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AgentScalarButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/AgentScalarButton.vue"],"names":[],"mappings":"AAyEA,QAAA,MAAM,YAAY,+QAChB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"AgentScalarButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/AgentScalarButton.vue"],"names":[],"mappings":"AA+EA,QAAA,MAAM,YAAY,+QAChB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentScalarButton.vue.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconSparkle } from '@scalar/icons'\n\nimport { useAgentContext } from '@/hooks/use-agent'\n\nconst agentContext = useAgentContext()\n</script>\n\n<template>\n <button\n class=\"bg-sidebar-b-search text-sidebar-c-2 hover:text-sidebar-c-1 flex items-center gap-1.5 rounded border px-2 text-base whitespace-nowrap\"\n type=\"button\"\n @click=\"agentContext?.toggleAgent()\">\n <ScalarIconSparkle />\n Ask AI\n </button>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AgentScalarButton.vue.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconSparkle } from '@scalar/icons'\n\nimport { useLocalization } from '@/features/localization'\nimport { useAgentContext } from '@/hooks/use-agent'\n\nconst agentContext = useAgentContext()\nconst { translate } = useLocalization()\n</script>\n\n<template>\n <button\n class=\"bg-sidebar-b-search text-sidebar-c-2 hover:text-sidebar-c-1 flex items-center gap-1.5 rounded border px-2 text-base whitespace-nowrap\"\n type=\"button\"\n @click=\"agentContext?.toggleAgent()\">\n <ScalarIconSparkle />\n {{ translate('agent.askAi') }}\n </button>\n</template>\n"],"mappings":""}
@@ -1,17 +1,19 @@
1
+ import { useLocalization } from "../../features/localization/use-localization.js";
1
2
  import { useAgentContext } from "../../hooks/use-agent.js";
2
- import { createElementBlock, createTextVNode, createVNode, defineComponent, openBlock, unref } from "vue";
3
+ import { createElementBlock, createTextVNode, createVNode, defineComponent, openBlock, toDisplayString, unref } from "vue";
3
4
  import { ScalarIconSparkle } from "@scalar/icons";
4
5
  //#region src/components/AgentScalar/AgentScalarButton.vue?vue&type=script&setup=true&lang.ts
5
6
  var AgentScalarButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
6
7
  __name: "AgentScalarButton",
7
8
  setup(__props) {
8
9
  const agentContext = useAgentContext();
10
+ const { translate } = useLocalization();
9
11
  return (_ctx, _cache) => {
10
12
  return openBlock(), createElementBlock("button", {
11
13
  class: "bg-sidebar-b-search text-sidebar-c-2 hover:text-sidebar-c-1 flex items-center gap-1.5 rounded border px-2 text-base whitespace-nowrap",
12
14
  type: "button",
13
15
  onClick: _cache[0] || (_cache[0] = ($event) => unref(agentContext)?.toggleAgent())
14
- }, [createVNode(unref(ScalarIconSparkle)), _cache[1] || (_cache[1] = createTextVNode(" Ask AI ", -1))]);
16
+ }, [createVNode(unref(ScalarIconSparkle)), createTextVNode(" " + toDisplayString(unref(translate)("agent.askAi")), 1)]);
15
17
  };
16
18
  }
17
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AgentScalarButton.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconSparkle } from '@scalar/icons'\n\nimport { useAgentContext } from '@/hooks/use-agent'\n\nconst agentContext = useAgentContext()\n</script>\n\n<template>\n <button\n class=\"bg-sidebar-b-search text-sidebar-c-2 hover:text-sidebar-c-1 flex items-center gap-1.5 rounded border px-2 text-base whitespace-nowrap\"\n type=\"button\"\n @click=\"agentContext?.toggleAgent()\">\n <ScalarIconSparkle />\n Ask AI\n </button>\n</template>\n"],"mappings":";;;;;;;EAKA,MAAM,eAAe,iBAAgB;;uBAInC,mBAMS,UAAA;IALP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,aAAY,EAAE,aAAW;OACjC,YAAqB,MAAA,kBAAA,CAAA,EAAA,OAAA,OAAA,OAAA,KAAA,gBAAA,YAEvB,GAAA,EAAA,CAAA"}
1
+ {"version":3,"file":"AgentScalarButton.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconSparkle } from '@scalar/icons'\n\nimport { useLocalization } from '@/features/localization'\nimport { useAgentContext } from '@/hooks/use-agent'\n\nconst agentContext = useAgentContext()\nconst { translate } = useLocalization()\n</script>\n\n<template>\n <button\n class=\"bg-sidebar-b-search text-sidebar-c-2 hover:text-sidebar-c-1 flex items-center gap-1.5 rounded border px-2 text-base whitespace-nowrap\"\n type=\"button\"\n @click=\"agentContext?.toggleAgent()\">\n <ScalarIconSparkle />\n {{ translate('agent.askAi') }}\n </button>\n</template>\n"],"mappings":";;;;;;;;EAMA,MAAM,eAAe,iBAAgB;EACrC,MAAM,EAAE,cAAc,iBAAgB;;uBAIpC,mBAMS,UAAA;IALP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,aAAY,EAAE,aAAW;OACjC,YAAqB,MAAA,kBAAA,CAAA,EAAA,gBAAA,MACrB,gBAAG,MAAA,UAAS,CAAA,cAAA,CAAA,EAAA,EAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentScalarDrawer.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"names":[],"mappings":"AAqFA,OAAO,KAAK,EACV,mCAAmC,EACnC,YAAY,EACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAKpE,KAAK,WAAW,GAAG;IACjB,wBAAwB,CAAC,EAAE,mCAAmC,CAAC,OAAO,CAAC,CAAA;IACvE,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;CAC/B,CAAC;AAgLF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"AgentScalarDrawer.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EACV,mCAAmC,EACnC,YAAY,EACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAMpE,KAAK,WAAW,GAAG;IACjB,wBAAwB,CAAC,EAAE,mCAAmC,CAAC,OAAO,CAAC,CAAA;IACvE,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;CAC/B,CAAC;AAkLF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,7 +2,7 @@ import AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default from "./Age
2
2
  /* empty css */
3
3
  import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
4
4
  //#region src/components/AgentScalar/AgentScalarDrawer.vue
5
- var AgentScalarDrawer_default = /* @__PURE__ */ _plugin_vue_export_helper_default(AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-34fa4e92"]]);
5
+ var AgentScalarDrawer_default = /* @__PURE__ */ _plugin_vue_export_helper_default(AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3496197b"]]);
6
6
  //#endregion
7
7
  export { AgentScalarDrawer_default as default };
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"AgentScalarDrawer.vue.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components/icon-button'\nimport { ScalarIconX } from '@scalar/icons'\nimport type {\n ApiReferenceConfigurationWithSource,\n ExternalUrls,\n} from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { defineAsyncComponent } from 'vue'\n\nimport { useAgentContext } from '@/hooks/use-agent'\n\ndefineProps<{\n agentScalarConfiguration?: ApiReferenceConfigurationWithSource['agent']\n externalUrls: ExternalUrls\n workspaceStore: WorkspaceStore\n}>()\n\nconst agentContext = useAgentContext()\n\nconst AgentScalarChatInterface = defineAsyncComponent(\n async () => import('./AgentScalarChatInterface.vue'),\n)\n</script>\n\n<template>\n <Transition\n enterActiveClass=\"transition-opacity duration-500\"\n enterFromClass=\"opacity-0\"\n enterToClass=\"opacity-100\"\n leaveActiveClass=\"transition-opacity duration-200\"\n leaveFromClass=\"opacity-100\"\n leaveToClass=\"opacity-0\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar-overlay bg-backdrop fixed inset-0 z-10 ease-[cubic-bezier(0.77,0,0.175,1)]\"\n @click=\"agentContext?.closeAgent()\" />\n </Transition>\n <Transition\n enterActiveClass=\"transition-transform duration-300\"\n enterFromClass=\"-translate-x-full\"\n enterToClass=\"translate-x-0\"\n leaveActiveClass=\"transition-transform duration-200\"\n leaveFromClass=\"translate-x-0\"\n leaveToClass=\"-translate-x-full\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar left-refs-w-sidebar bg-b-1 fixed inset-y-0 right-12 z-10 grid border-r shadow-lg\"\n @keydown.escape=\"agentContext?.closeAgent()\">\n <div\n class=\"agent-scalar-container custom-scroll custom-scroll-self-contain-overflow overflow-auto px-6\">\n <AgentScalarChatInterface\n :agentScalarConfiguration\n :externalUrls\n :prefilledMessage=\"agentContext?.prefilledMessage\"\n :workspaceStore />\n </div>\n <ScalarIconButton\n class=\"agent-scalar-exit-button absolute top-2 right-2\"\n :icon=\"ScalarIconX\"\n label=\"Close Client\"\n weight=\"bold\"\n @click=\"agentContext?.closeAgent()\" />\n </div>\n </Transition>\n</template>\n\n<style scoped>\n@reference \"../../style.css\";\n\n@media (max-width: 1000px) {\n .agent-scalar.agent-scalar {\n @apply inset-x-0 top-12 rounded-t-lg;\n }\n .agent-scalar.agent-scalar,\n .agent-scalar-overlay.agent-scalar-overlay {\n @apply z-15;\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"AgentScalarDrawer.vue.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components/icon-button'\nimport { ScalarIconX } from '@scalar/icons'\nimport type {\n ApiReferenceConfigurationWithSource,\n ExternalUrls,\n} from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { defineAsyncComponent } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport { useAgentContext } from '@/hooks/use-agent'\n\ndefineProps<{\n agentScalarConfiguration?: ApiReferenceConfigurationWithSource['agent']\n externalUrls: ExternalUrls\n workspaceStore: WorkspaceStore\n}>()\n\nconst agentContext = useAgentContext()\nconst { translate } = useLocalization()\n\nconst AgentScalarChatInterface = defineAsyncComponent(\n async () => import('./AgentScalarChatInterface.vue'),\n)\n</script>\n\n<template>\n <Transition\n enterActiveClass=\"transition-opacity duration-500\"\n enterFromClass=\"opacity-0\"\n enterToClass=\"opacity-100\"\n leaveActiveClass=\"transition-opacity duration-200\"\n leaveFromClass=\"opacity-100\"\n leaveToClass=\"opacity-0\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar-overlay bg-backdrop fixed inset-0 z-10 ease-[cubic-bezier(0.77,0,0.175,1)]\"\n @click=\"agentContext?.closeAgent()\" />\n </Transition>\n <Transition\n enterActiveClass=\"transition-transform duration-300\"\n enterFromClass=\"-translate-x-full\"\n enterToClass=\"translate-x-0\"\n leaveActiveClass=\"transition-transform duration-200\"\n leaveFromClass=\"translate-x-0\"\n leaveToClass=\"-translate-x-full\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar left-refs-w-sidebar bg-b-1 fixed inset-y-0 right-12 z-10 grid border-r shadow-lg\"\n @keydown.escape=\"agentContext?.closeAgent()\">\n <div\n class=\"agent-scalar-container custom-scroll custom-scroll-self-contain-overflow overflow-auto px-6\">\n <AgentScalarChatInterface\n :agentScalarConfiguration\n :externalUrls\n :prefilledMessage=\"agentContext?.prefilledMessage\"\n :workspaceStore />\n </div>\n <ScalarIconButton\n class=\"agent-scalar-exit-button absolute top-2 right-2\"\n :icon=\"ScalarIconX\"\n :label=\"translate('agent.close')\"\n weight=\"bold\"\n @click=\"agentContext?.closeAgent()\" />\n </div>\n </Transition>\n</template>\n\n<style scoped>\n@reference \"../../style.css\";\n\n@media (max-width: 1000px) {\n .agent-scalar.agent-scalar {\n @apply inset-x-0 top-12 rounded-t-lg;\n }\n .agent-scalar.agent-scalar,\n .agent-scalar-overlay.agent-scalar-overlay {\n @apply z-15;\n }\n}\n</style>\n"],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import { useLocalization } from "../../features/localization/use-localization.js";
1
2
  import { useAgentContext } from "../../hooks/use-agent.js";
2
3
  import { Fragment, Transition, createElementBlock, createElementVNode, createVNode, defineAsyncComponent, defineComponent, openBlock, unref, vShow, withCtx, withDirectives, withKeys } from "vue";
3
4
  import { ScalarIconX } from "@scalar/icons";
@@ -13,6 +14,7 @@ var AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
13
14
  },
14
15
  setup(__props) {
15
16
  const agentContext = useAgentContext();
17
+ const { translate } = useLocalization();
16
18
  const AgentScalarChatInterface = defineAsyncComponent(async () => import("./AgentScalarChatInterface.vue.js"));
17
19
  return (_ctx, _cache) => {
18
20
  return openBlock(), createElementBlock(Fragment, null, [createVNode(Transition, {
@@ -52,10 +54,10 @@ var AgentScalarDrawer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
52
54
  ])]), createVNode(unref(ScalarIconButton), {
53
55
  class: "agent-scalar-exit-button absolute top-2 right-2",
54
56
  icon: unref(ScalarIconX),
55
- label: "Close Client",
57
+ label: unref(translate)("agent.close"),
56
58
  weight: "bold",
57
59
  onClick: _cache[1] || (_cache[1] = ($event) => unref(agentContext)?.closeAgent())
58
- }, null, 8, ["icon"])], 544), [[vShow, unref(agentContext)?.showAgent.value]])]),
60
+ }, null, 8, ["icon", "label"])], 544), [[vShow, unref(agentContext)?.showAgent.value]])]),
59
61
  _: 1
60
62
  })], 64);
61
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AgentScalarDrawer.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components/icon-button'\nimport { ScalarIconX } from '@scalar/icons'\nimport type {\n ApiReferenceConfigurationWithSource,\n ExternalUrls,\n} from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { defineAsyncComponent } from 'vue'\n\nimport { useAgentContext } from '@/hooks/use-agent'\n\ndefineProps<{\n agentScalarConfiguration?: ApiReferenceConfigurationWithSource['agent']\n externalUrls: ExternalUrls\n workspaceStore: WorkspaceStore\n}>()\n\nconst agentContext = useAgentContext()\n\nconst AgentScalarChatInterface = defineAsyncComponent(\n async () => import('./AgentScalarChatInterface.vue'),\n)\n</script>\n\n<template>\n <Transition\n enterActiveClass=\"transition-opacity duration-500\"\n enterFromClass=\"opacity-0\"\n enterToClass=\"opacity-100\"\n leaveActiveClass=\"transition-opacity duration-200\"\n leaveFromClass=\"opacity-100\"\n leaveToClass=\"opacity-0\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar-overlay bg-backdrop fixed inset-0 z-10 ease-[cubic-bezier(0.77,0,0.175,1)]\"\n @click=\"agentContext?.closeAgent()\" />\n </Transition>\n <Transition\n enterActiveClass=\"transition-transform duration-300\"\n enterFromClass=\"-translate-x-full\"\n enterToClass=\"translate-x-0\"\n leaveActiveClass=\"transition-transform duration-200\"\n leaveFromClass=\"translate-x-0\"\n leaveToClass=\"-translate-x-full\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar left-refs-w-sidebar bg-b-1 fixed inset-y-0 right-12 z-10 grid border-r shadow-lg\"\n @keydown.escape=\"agentContext?.closeAgent()\">\n <div\n class=\"agent-scalar-container custom-scroll custom-scroll-self-contain-overflow overflow-auto px-6\">\n <AgentScalarChatInterface\n :agentScalarConfiguration\n :externalUrls\n :prefilledMessage=\"agentContext?.prefilledMessage\"\n :workspaceStore />\n </div>\n <ScalarIconButton\n class=\"agent-scalar-exit-button absolute top-2 right-2\"\n :icon=\"ScalarIconX\"\n label=\"Close Client\"\n weight=\"bold\"\n @click=\"agentContext?.closeAgent()\" />\n </div>\n </Transition>\n</template>\n\n<style scoped>\n@reference \"../../style.css\";\n\n@media (max-width: 1000px) {\n .agent-scalar.agent-scalar {\n @apply inset-x-0 top-12 rounded-t-lg;\n }\n .agent-scalar.agent-scalar,\n .agent-scalar-overlay.agent-scalar-overlay {\n @apply z-15;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;EAkBA,MAAM,eAAe,iBAAgB;EAErC,MAAM,2BAA2B,qBAC/B,YAAY,OAAO,qCACrB;;2DAIE,YAWa,YAAA;IAVX,kBAAiB;IACjB,gBAAe;IACf,cAAa;IACb,kBAAiB;IACjB,gBAAe;IACf,cAAa;;2BAI2B,CAAA,eAHxC,mBAGwC,OAAA;KADtC,OAAM;KACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,aAAY,EAAE,YAAU;4BAFxB,MAAA,aAAY,EAAE,UAAU,MAAK,CAAA,CAAA,CAAA,CAAA;;OAIzC,YA0Ba,YAAA;IAzBX,kBAAiB;IACjB,gBAAe;IACf,cAAa;IACb,kBAAiB;IACjB,gBAAe;IACf,cAAa;;2BAmBP,CAAA,eAlBN,mBAkBM,OAAA;KAhBJ,OAAM;KACL,WAAO,OAAA,OAAA,OAAA,KAAA,UAAA,WAAS,MAAA,aAAY,EAAE,YAAU,EAAA,CAAA,SAAA,CAAA;QACzC,mBAOM,OAPN,YAOM,CALJ,YAIoB,MAAA,yBAAA,EAAA;KAHjB,0BAAA,QAAA;KACA,cAAA,QAAA;KACA,kBAAkB,MAAA,aAAY,EAAE;KAChC,gBAAA,QAAA;;;;;;UAEL,YAKwC,MAAA,iBAAA,EAAA;KAJtC,OAAM;KACL,MAAM,MAAA,YAAW;KAClB,OAAM;KACN,QAAO;KACN,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,aAAY,EAAE,YAAU;2CAhB1B,MAAA,aAAY,EAAE,UAAU,MAAK,CAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"AgentScalarDrawer.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/AgentScalarDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconButton } from '@scalar/components/icon-button'\nimport { ScalarIconX } from '@scalar/icons'\nimport type {\n ApiReferenceConfigurationWithSource,\n ExternalUrls,\n} from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { defineAsyncComponent } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport { useAgentContext } from '@/hooks/use-agent'\n\ndefineProps<{\n agentScalarConfiguration?: ApiReferenceConfigurationWithSource['agent']\n externalUrls: ExternalUrls\n workspaceStore: WorkspaceStore\n}>()\n\nconst agentContext = useAgentContext()\nconst { translate } = useLocalization()\n\nconst AgentScalarChatInterface = defineAsyncComponent(\n async () => import('./AgentScalarChatInterface.vue'),\n)\n</script>\n\n<template>\n <Transition\n enterActiveClass=\"transition-opacity duration-500\"\n enterFromClass=\"opacity-0\"\n enterToClass=\"opacity-100\"\n leaveActiveClass=\"transition-opacity duration-200\"\n leaveFromClass=\"opacity-100\"\n leaveToClass=\"opacity-0\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar-overlay bg-backdrop fixed inset-0 z-10 ease-[cubic-bezier(0.77,0,0.175,1)]\"\n @click=\"agentContext?.closeAgent()\" />\n </Transition>\n <Transition\n enterActiveClass=\"transition-transform duration-300\"\n enterFromClass=\"-translate-x-full\"\n enterToClass=\"translate-x-0\"\n leaveActiveClass=\"transition-transform duration-200\"\n leaveFromClass=\"translate-x-0\"\n leaveToClass=\"-translate-x-full\">\n <div\n v-show=\"agentContext?.showAgent.value\"\n class=\"agent-scalar left-refs-w-sidebar bg-b-1 fixed inset-y-0 right-12 z-10 grid border-r shadow-lg\"\n @keydown.escape=\"agentContext?.closeAgent()\">\n <div\n class=\"agent-scalar-container custom-scroll custom-scroll-self-contain-overflow overflow-auto px-6\">\n <AgentScalarChatInterface\n :agentScalarConfiguration\n :externalUrls\n :prefilledMessage=\"agentContext?.prefilledMessage\"\n :workspaceStore />\n </div>\n <ScalarIconButton\n class=\"agent-scalar-exit-button absolute top-2 right-2\"\n :icon=\"ScalarIconX\"\n :label=\"translate('agent.close')\"\n weight=\"bold\"\n @click=\"agentContext?.closeAgent()\" />\n </div>\n </Transition>\n</template>\n\n<style scoped>\n@reference \"../../style.css\";\n\n@media (max-width: 1000px) {\n .agent-scalar.agent-scalar {\n @apply inset-x-0 top-12 rounded-t-lg;\n }\n .agent-scalar.agent-scalar,\n .agent-scalar-overlay.agent-scalar-overlay {\n @apply z-15;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;EAmBA,MAAM,eAAe,iBAAgB;EACrC,MAAM,EAAE,cAAc,iBAAgB;EAEtC,MAAM,2BAA2B,qBAC/B,YAAY,OAAO,qCACrB;;2DAIE,YAWa,YAAA;IAVX,kBAAiB;IACjB,gBAAe;IACf,cAAa;IACb,kBAAiB;IACjB,gBAAe;IACf,cAAa;;2BAI2B,CAAA,eAHxC,mBAGwC,OAAA;KADtC,OAAM;KACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,aAAY,EAAE,YAAU;4BAFxB,MAAA,aAAY,EAAE,UAAU,MAAK,CAAA,CAAA,CAAA,CAAA;;OAIzC,YA0Ba,YAAA;IAzBX,kBAAiB;IACjB,gBAAe;IACf,cAAa;IACb,kBAAiB;IACjB,gBAAe;IACf,cAAa;;2BAmBP,CAAA,eAlBN,mBAkBM,OAAA;KAhBJ,OAAM;KACL,WAAO,OAAA,OAAA,OAAA,KAAA,UAAA,WAAS,MAAA,aAAY,EAAE,YAAU,EAAA,CAAA,SAAA,CAAA;QACzC,mBAOM,OAPN,YAOM,CALJ,YAIoB,MAAA,yBAAA,EAAA;KAHjB,0BAAA,QAAA;KACA,cAAA,QAAA;KACA,kBAAkB,MAAA,aAAY,EAAE;KAChC,gBAAA,QAAA;;;;;;UAEL,YAKwC,MAAA,iBAAA,EAAA;KAJtC,OAAM;KACL,MAAM,MAAA,YAAW;KACjB,OAAO,MAAA,UAAS,CAAA,cAAA;KACjB,QAAO;KACN,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,aAAY,EAAE,YAAU;oDAhB1B,MAAA,aAAY,EAAE,UAAU,MAAK,CAAA,CAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenMCPButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"names":[],"mappings":"AA4SA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAKpE,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IACD,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAC;AAmEF,KAAK,gBAAgB,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAiOxD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"OpenMCPButton.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"names":[],"mappings":"AAgTA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAMpE,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IACD,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,cAAc,CAAA;CAC1B,CAAC;AAsEF,KAAK,gBAAgB,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAoOxD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
2
2
  import OpenMCPButton_vue_vue_type_script_setup_true_lang_default from "./OpenMCPButton.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/components/AgentScalar/OpenMCPButton.vue
5
- var OpenMCPButton_default = /* @__PURE__ */ _plugin_vue_export_helper_default(OpenMCPButton_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d469cd5e"]]);
5
+ var OpenMCPButton_default = /* @__PURE__ */ _plugin_vue_export_helper_default(OpenMCPButton_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-5b614c7b"]]);
6
6
  //#endregion
7
7
  export { OpenMCPButton_default as default };
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"OpenMCPButton.vue.js","names":[],"sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLoadingState } from '@scalar/components/loading'\nimport { isValidUrl } from '@scalar/helpers/url/is-valid-url'\nimport { ScalarIconArrowUpRight } from '@scalar/icons'\nimport type { ExternalUrls } from '@scalar/types/api-reference'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport { useToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { nextTick } from 'vue'\n\nimport { uploadTempDocument } from '@/helpers/upload-temp-document'\n\nconst props = defineProps<{\n config?: {\n name?: string\n url?: string\n }\n externalUrls: ExternalUrls\n url?: string\n workspace: WorkspaceStore\n}>()\n\nconst { copyToClipboard } = useClipboard()\n\nconst { toast } = useToasts()\n\nconst loader = useLoadingState()\n\nconst hasConfig = props.config?.name || props.config?.url\n\nconst encoded = btoa(JSON.stringify(props.config ?? {}))\n\nconst name = encodeURIComponent(props.config?.name ?? '')\nconst cursorLink = `cursor://anysphere.cursor-deeplink/mcp/install?name=${name}&config=${encoded}`\nconst vscodeLink = `vscode:mcp/install?${encodeURIComponent(JSON.stringify(props.config ?? {}))}`\n\nconst docUrl = defineModel<string>('url')\n\n/** Generate and open the registration link */\nasync function generateRegisterLink() {\n if (loader.isLoading || !props.workspace) {\n return\n }\n\n // If we have already have a document URL that is valid\n if (docUrl.value && isValidUrl(docUrl.value)) {\n openRegisterLink(docUrl.value)\n return\n }\n\n loader.start()\n\n const document = props.workspace.exportActiveDocument('json')\n\n if (!document) {\n toast('Unable to export active document', 'error')\n await loader.invalidate()\n return\n }\n\n try {\n docUrl.value = await uploadTempDocument(document, props.externalUrls)\n await loader.validate()\n openRegisterLink(docUrl.value)\n\n await nextTick()\n\n await loader.clear()\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'An unknown error occurred'\n toast(message, 'error')\n await loader.invalidate()\n }\n}\n\n/** Open the registration link in a new tab */\nfunction openRegisterLink(documentUrl: string) {\n const url = new URL(`${props.externalUrls.dashboardUrl}/register`)\n url.searchParams.set('url', documentUrl)\n url.searchParams.set('createMcp', 'true')\n\n window.open(url.toString(), '_blank')\n}\n</script>\n\n<template>\n <div class=\"scalar-mcp-layer\">\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? vscodeLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n fill=\"currentColor\"\n height=\"800\"\n viewBox=\"0 0 32 32\"\n width=\"800\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M30.865 3.448 24.282.281a1.99 1.99 0 0 0-2.276.385L9.397 12.171 3.902 8.004a1.33 1.33 0 0 0-1.703.073L.439 9.681a1.33 1.33 0 0 0-.005 1.969L5.2 15.999.434 20.348a1.33 1.33 0 0 0 .005 1.969l1.76 1.604a1.33 1.33 0 0 0 1.703.073l5.495-4.172 12.615 11.51a1.98 1.98 0 0 0 2.271.385l6.589-3.172a1.99 1.99 0 0 0 1.13-1.802V5.248c0-.766-.443-1.469-1.135-1.802zm-6.86 19.818L14.432 16l9.573-7.266z\" />\n </svg>\n VS Code\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? cursorLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n viewBox=\"0 0 466.73 532.09\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M457.43 125.94 244.42 2.96a22.13 22.13 0 0 0-22.12 0L9.3 125.94C3.55 129.26 0 135.4 0 142.05v247.99c0 6.65 3.55 12.79 9.3 16.11l213.01 122.98a22.13 22.13 0 0 0 22.12 0l213.01-122.98c5.75-3.32 9.3-9.46 9.3-16.11V142.05c0-6.65-3.55-12.79-9.3-16.11zm-13.38 26.05L238.42 508.15c-1.39 2.4-5.06 1.42-5.06-1.36V273.58c0-4.66-2.49-8.97-6.53-11.31L24.87 145.67c-2.4-1.39-1.42-5.06 1.36-5.06h411.26c5.84 0 9.49 6.33 6.57 11.39h-.01Z\"\n style=\"fill: currentColor\" />\n </svg>\n Cursor\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <!-- localhost + you don't have a MCP added -->\n <div\n v-if=\"!hasConfig\"\n class=\"scalar-mcp-layer-link\"\n @click=\"generateRegisterLink\">\n <svg\n class=\"mcp-logo\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n Generate MCP\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </div>\n <!-- you do have an MCP added -->\n <div\n v-else\n class=\"scalar-mcp-layer-link\"\n @click=\"copyToClipboard(config?.url ?? '')\">\n Connect MCP\n <svg\n class=\"mcp-logo ml-auto\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n </div>\n </div>\n</template>\n\n<style scoped>\n.scalar-mcp-layer {\n gap: 2px;\n display: flex;\n flex-direction: column;\n background: transparent;\n position: relative;\n justify-content: flex-end;\n transition: all 0.4s ease-in-out;\n height: 32px;\n}\n.scalar-mcp-layer:hover {\n height: 172px;\n}\n.scalar-mcp-layer-link:hover {\n cursor: pointer !important;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link {\n cursor: pointer;\n width: 100%;\n padding: 9px 6px;\n height: 31px;\n display: block;\n text-align: center;\n display: flex;\n align-items: center;\n white-space: nowrap;\n font-size: var(--scalar-small);\n line-height: 1.385;\n text-decoration: none;\n border-radius: var(--scalar-radius);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n gap: 6px;\n color: var(--scalar-sidebar-color-1);\n background: var(--scalar-background-1);\n transition: transform 0.2s ease-in-out;\n position: absolute;\n bottom: 0;\n}\n/* increase click area for gap */\n.scalar-mcp-layer-link:after {\n content: '';\n position: absolute;\n bottom: -2px;\n height: 2px;\n width: 100%;\n left: 0;\n}\n.scalar-mcp-layer div.scalar-mcp-layer-link {\n cursor: default;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(1) {\n transform: translate3d(0, 0, 0);\n position: relative;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(2) {\n transform: translate3d(0, -2px, 0) scale(0.99);\n}\n.scalar-mcp-layer:hover a:nth-last-child(2) {\n transform: translate3d(0, calc(-100% - 2px), 0) scale(0.99);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(3) {\n transform: translate3d(0, -4px, 0) scale(0.98);\n}\n.scalar-mcp-layer:hover a:nth-last-child(3) {\n transform: translate3d(0, calc(-200% - 4px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(4) {\n transform: translate3d(0, -6px, 0) scale(0.97);\n}\n.scalar-mcp-layer:hover a:nth-last-child(4) {\n transform: translate3d(0, calc(-300% - 6px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, -8px, 0) scale(0.96);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, calc(-400% - 8px), 0) scale(1);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link {\n transition: transform 0.2s ease-in-out 0.1s;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:hover {\n background: var(--scalar-background-2);\n}\n.scalar-mcp-layer .mcp-logo {\n width: 16px;\n height: 16px;\n color: var(--scalar-sidebar-color-1);\n}\n.mcp-nav {\n color: var(--scalar-sidebar-color-2);\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"OpenMCPButton.vue.js","names":[],"sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLoadingState } from '@scalar/components/loading'\nimport { isValidUrl } from '@scalar/helpers/url/is-valid-url'\nimport { ScalarIconArrowUpRight } from '@scalar/icons'\nimport type { ExternalUrls } from '@scalar/types/api-reference'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport { useToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { nextTick } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport { uploadTempDocument } from '@/helpers/upload-temp-document'\n\nconst props = defineProps<{\n config?: {\n name?: string\n url?: string\n }\n externalUrls: ExternalUrls\n url?: string\n workspace: WorkspaceStore\n}>()\n\nconst { copyToClipboard } = useClipboard()\nconst { translate } = useLocalization()\n\nconst { toast } = useToasts()\n\nconst loader = useLoadingState()\n\nconst hasConfig = props.config?.name || props.config?.url\n\nconst encoded = btoa(JSON.stringify(props.config ?? {}))\n\nconst name = encodeURIComponent(props.config?.name ?? '')\nconst cursorLink = `cursor://anysphere.cursor-deeplink/mcp/install?name=${name}&config=${encoded}`\nconst vscodeLink = `vscode:mcp/install?${encodeURIComponent(JSON.stringify(props.config ?? {}))}`\n\nconst docUrl = defineModel<string>('url')\n\n/** Generate and open the registration link */\nasync function generateRegisterLink() {\n if (loader.isLoading || !props.workspace) {\n return\n }\n\n // If we have already have a document URL that is valid\n if (docUrl.value && isValidUrl(docUrl.value)) {\n openRegisterLink(docUrl.value)\n return\n }\n\n loader.start()\n\n const document = props.workspace.exportActiveDocument('json')\n\n if (!document) {\n toast(translate('developerTools.unableToExportDocument'), 'error')\n await loader.invalidate()\n return\n }\n\n try {\n docUrl.value = await uploadTempDocument(document, props.externalUrls)\n await loader.validate()\n openRegisterLink(docUrl.value)\n\n await nextTick()\n\n await loader.clear()\n } catch (error) {\n const message =\n error instanceof Error\n ? error.message\n : translate('developerTools.unknownError')\n toast(message, 'error')\n await loader.invalidate()\n }\n}\n\n/** Open the registration link in a new tab */\nfunction openRegisterLink(documentUrl: string) {\n const url = new URL(`${props.externalUrls.dashboardUrl}/register`)\n url.searchParams.set('url', documentUrl)\n url.searchParams.set('createMcp', 'true')\n\n window.open(url.toString(), '_blank')\n}\n</script>\n\n<template>\n <div class=\"scalar-mcp-layer\">\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? vscodeLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n fill=\"currentColor\"\n height=\"800\"\n viewBox=\"0 0 32 32\"\n width=\"800\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M30.865 3.448 24.282.281a1.99 1.99 0 0 0-2.276.385L9.397 12.171 3.902 8.004a1.33 1.33 0 0 0-1.703.073L.439 9.681a1.33 1.33 0 0 0-.005 1.969L5.2 15.999.434 20.348a1.33 1.33 0 0 0 .005 1.969l1.76 1.604a1.33 1.33 0 0 0 1.703.073l5.495-4.172 12.615 11.51a1.98 1.98 0 0 0 2.271.385l6.589-3.172a1.99 1.99 0 0 0 1.13-1.802V5.248c0-.766-.443-1.469-1.135-1.802zm-6.86 19.818L14.432 16l9.573-7.266z\" />\n </svg>\n VS Code\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? cursorLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n viewBox=\"0 0 466.73 532.09\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M457.43 125.94 244.42 2.96a22.13 22.13 0 0 0-22.12 0L9.3 125.94C3.55 129.26 0 135.4 0 142.05v247.99c0 6.65 3.55 12.79 9.3 16.11l213.01 122.98a22.13 22.13 0 0 0 22.12 0l213.01-122.98c5.75-3.32 9.3-9.46 9.3-16.11V142.05c0-6.65-3.55-12.79-9.3-16.11zm-13.38 26.05L238.42 508.15c-1.39 2.4-5.06 1.42-5.06-1.36V273.58c0-4.66-2.49-8.97-6.53-11.31L24.87 145.67c-2.4-1.39-1.42-5.06 1.36-5.06h411.26c5.84 0 9.49 6.33 6.57 11.39h-.01Z\"\n style=\"fill: currentColor\" />\n </svg>\n Cursor\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <!-- localhost + you don't have a MCP added -->\n <div\n v-if=\"!hasConfig\"\n class=\"scalar-mcp-layer-link\"\n @click=\"generateRegisterLink\">\n <svg\n class=\"mcp-logo\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n {{ translate('mcp.generate') }}\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </div>\n <!-- you do have an MCP added -->\n <div\n v-else\n class=\"scalar-mcp-layer-link\"\n @click=\"copyToClipboard(config?.url ?? '')\">\n {{ translate('mcp.connect') }}\n <svg\n class=\"mcp-logo ml-auto\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n </div>\n </div>\n</template>\n\n<style scoped>\n.scalar-mcp-layer {\n gap: 2px;\n display: flex;\n flex-direction: column;\n background: transparent;\n position: relative;\n justify-content: flex-end;\n transition: all 0.4s ease-in-out;\n height: 32px;\n}\n.scalar-mcp-layer:hover {\n height: 172px;\n}\n.scalar-mcp-layer-link:hover {\n cursor: pointer !important;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link {\n cursor: pointer;\n width: 100%;\n padding: 9px 6px;\n height: 31px;\n display: block;\n text-align: center;\n display: flex;\n align-items: center;\n white-space: nowrap;\n font-size: var(--scalar-small);\n line-height: 1.385;\n text-decoration: none;\n border-radius: var(--scalar-radius);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n gap: 6px;\n color: var(--scalar-sidebar-color-1);\n background: var(--scalar-background-1);\n transition: transform 0.2s ease-in-out;\n position: absolute;\n bottom: 0;\n}\n/* increase click area for gap */\n.scalar-mcp-layer-link:after {\n content: '';\n position: absolute;\n bottom: -2px;\n height: 2px;\n width: 100%;\n left: 0;\n}\n.scalar-mcp-layer div.scalar-mcp-layer-link {\n cursor: default;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(1) {\n transform: translate3d(0, 0, 0);\n position: relative;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(2) {\n transform: translate3d(0, -2px, 0) scale(0.99);\n}\n.scalar-mcp-layer:hover a:nth-last-child(2) {\n transform: translate3d(0, calc(-100% - 2px), 0) scale(0.99);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(3) {\n transform: translate3d(0, -4px, 0) scale(0.98);\n}\n.scalar-mcp-layer:hover a:nth-last-child(3) {\n transform: translate3d(0, calc(-200% - 4px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(4) {\n transform: translate3d(0, -6px, 0) scale(0.97);\n}\n.scalar-mcp-layer:hover a:nth-last-child(4) {\n transform: translate3d(0, calc(-300% - 6px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, -8px, 0) scale(0.96);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, calc(-400% - 8px), 0) scale(1);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link {\n transition: transform 0.2s ease-in-out 0.1s;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:hover {\n background: var(--scalar-background-2);\n}\n.scalar-mcp-layer .mcp-logo {\n width: 16px;\n height: 16px;\n color: var(--scalar-sidebar-color-1);\n}\n.mcp-nav {\n color: var(--scalar-sidebar-color-2);\n}\n</style>\n"],"mappings":""}
@@ -1,5 +1,6 @@
1
+ import { useLocalization } from "../../features/localization/use-localization.js";
1
2
  import { uploadTempDocument } from "../../helpers/upload-temp-document.js";
2
- import { createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, nextTick, openBlock, unref, useModel } from "vue";
3
+ import { createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, nextTick, openBlock, toDisplayString, unref, useModel } from "vue";
3
4
  import { useClipboard } from "@scalar/use-hooks/useClipboard";
4
5
  import { useToasts } from "@scalar/use-toasts";
5
6
  import { ScalarIconArrowUpRight } from "@scalar/icons";
@@ -24,6 +25,7 @@ var OpenMCPButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
24
25
  setup(__props) {
25
26
  const props = __props;
26
27
  const { copyToClipboard } = useClipboard();
28
+ const { translate } = useLocalization();
27
29
  const { toast } = useToasts();
28
30
  const loader = useLoadingState();
29
31
  const hasConfig = props.config?.name || props.config?.url;
@@ -41,7 +43,7 @@ var OpenMCPButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
41
43
  loader.start();
42
44
  const document = props.workspace.exportActiveDocument("json");
43
45
  if (!document) {
44
- toast("Unable to export active document", "error");
46
+ toast(translate("developerTools.unableToExportDocument"), "error");
45
47
  await loader.invalidate();
46
48
  return;
47
49
  }
@@ -52,7 +54,7 @@ var OpenMCPButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
52
54
  await nextTick();
53
55
  await loader.clear();
54
56
  } catch (error) {
55
- toast(error instanceof Error ? error.message : "An unknown error occurred", "error");
57
+ toast(error instanceof Error ? error.message : translate("developerTools.unknownError"), "error");
56
58
  await loader.invalidate();
57
59
  }
58
60
  }
@@ -141,13 +143,13 @@ var OpenMCPButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
141
143
  "stroke-width": "12"
142
144
  })
143
145
  ], -1)),
144
- _cache[8] || (_cache[8] = createTextVNode(" Generate MCP ", -1)),
146
+ createTextVNode(" " + toDisplayString(unref(translate)("mcp.generate")) + " ", 1),
145
147
  createVNode(unref(ScalarIconArrowUpRight), { class: "mcp-nav ml-auto size-4" })
146
148
  ])) : (openBlock(), createElementBlock("div", {
147
149
  key: 1,
148
150
  class: "scalar-mcp-layer-link",
149
151
  onClick: _cache[2] || (_cache[2] = ($event) => unref(copyToClipboard)(__props.config?.url ?? ""))
150
- }, [..._cache[9] || (_cache[9] = [createTextVNode(" Connect MCP ", -1), createElementVNode("svg", {
152
+ }, [createTextVNode(toDisplayString(unref(translate)("mcp.connect")) + " ", 1), _cache[8] || (_cache[8] = createElementVNode("svg", {
151
153
  class: "mcp-logo ml-auto",
152
154
  fill: "none",
153
155
  height: "173",
@@ -173,7 +175,7 @@ var OpenMCPButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
173
175
  "stroke-linecap": "round",
174
176
  "stroke-width": "12"
175
177
  })
176
- ], -1)])]))
178
+ ], -1))]))
177
179
  ]);
178
180
  };
179
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpenMCPButton.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLoadingState } from '@scalar/components/loading'\nimport { isValidUrl } from '@scalar/helpers/url/is-valid-url'\nimport { ScalarIconArrowUpRight } from '@scalar/icons'\nimport type { ExternalUrls } from '@scalar/types/api-reference'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport { useToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { nextTick } from 'vue'\n\nimport { uploadTempDocument } from '@/helpers/upload-temp-document'\n\nconst props = defineProps<{\n config?: {\n name?: string\n url?: string\n }\n externalUrls: ExternalUrls\n url?: string\n workspace: WorkspaceStore\n}>()\n\nconst { copyToClipboard } = useClipboard()\n\nconst { toast } = useToasts()\n\nconst loader = useLoadingState()\n\nconst hasConfig = props.config?.name || props.config?.url\n\nconst encoded = btoa(JSON.stringify(props.config ?? {}))\n\nconst name = encodeURIComponent(props.config?.name ?? '')\nconst cursorLink = `cursor://anysphere.cursor-deeplink/mcp/install?name=${name}&config=${encoded}`\nconst vscodeLink = `vscode:mcp/install?${encodeURIComponent(JSON.stringify(props.config ?? {}))}`\n\nconst docUrl = defineModel<string>('url')\n\n/** Generate and open the registration link */\nasync function generateRegisterLink() {\n if (loader.isLoading || !props.workspace) {\n return\n }\n\n // If we have already have a document URL that is valid\n if (docUrl.value && isValidUrl(docUrl.value)) {\n openRegisterLink(docUrl.value)\n return\n }\n\n loader.start()\n\n const document = props.workspace.exportActiveDocument('json')\n\n if (!document) {\n toast('Unable to export active document', 'error')\n await loader.invalidate()\n return\n }\n\n try {\n docUrl.value = await uploadTempDocument(document, props.externalUrls)\n await loader.validate()\n openRegisterLink(docUrl.value)\n\n await nextTick()\n\n await loader.clear()\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'An unknown error occurred'\n toast(message, 'error')\n await loader.invalidate()\n }\n}\n\n/** Open the registration link in a new tab */\nfunction openRegisterLink(documentUrl: string) {\n const url = new URL(`${props.externalUrls.dashboardUrl}/register`)\n url.searchParams.set('url', documentUrl)\n url.searchParams.set('createMcp', 'true')\n\n window.open(url.toString(), '_blank')\n}\n</script>\n\n<template>\n <div class=\"scalar-mcp-layer\">\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? vscodeLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n fill=\"currentColor\"\n height=\"800\"\n viewBox=\"0 0 32 32\"\n width=\"800\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M30.865 3.448 24.282.281a1.99 1.99 0 0 0-2.276.385L9.397 12.171 3.902 8.004a1.33 1.33 0 0 0-1.703.073L.439 9.681a1.33 1.33 0 0 0-.005 1.969L5.2 15.999.434 20.348a1.33 1.33 0 0 0 .005 1.969l1.76 1.604a1.33 1.33 0 0 0 1.703.073l5.495-4.172 12.615 11.51a1.98 1.98 0 0 0 2.271.385l6.589-3.172a1.99 1.99 0 0 0 1.13-1.802V5.248c0-.766-.443-1.469-1.135-1.802zm-6.86 19.818L14.432 16l9.573-7.266z\" />\n </svg>\n VS Code\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? cursorLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n viewBox=\"0 0 466.73 532.09\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M457.43 125.94 244.42 2.96a22.13 22.13 0 0 0-22.12 0L9.3 125.94C3.55 129.26 0 135.4 0 142.05v247.99c0 6.65 3.55 12.79 9.3 16.11l213.01 122.98a22.13 22.13 0 0 0 22.12 0l213.01-122.98c5.75-3.32 9.3-9.46 9.3-16.11V142.05c0-6.65-3.55-12.79-9.3-16.11zm-13.38 26.05L238.42 508.15c-1.39 2.4-5.06 1.42-5.06-1.36V273.58c0-4.66-2.49-8.97-6.53-11.31L24.87 145.67c-2.4-1.39-1.42-5.06 1.36-5.06h411.26c5.84 0 9.49 6.33 6.57 11.39h-.01Z\"\n style=\"fill: currentColor\" />\n </svg>\n Cursor\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <!-- localhost + you don't have a MCP added -->\n <div\n v-if=\"!hasConfig\"\n class=\"scalar-mcp-layer-link\"\n @click=\"generateRegisterLink\">\n <svg\n class=\"mcp-logo\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n Generate MCP\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </div>\n <!-- you do have an MCP added -->\n <div\n v-else\n class=\"scalar-mcp-layer-link\"\n @click=\"copyToClipboard(config?.url ?? '')\">\n Connect MCP\n <svg\n class=\"mcp-logo ml-auto\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n </div>\n </div>\n</template>\n\n<style scoped>\n.scalar-mcp-layer {\n gap: 2px;\n display: flex;\n flex-direction: column;\n background: transparent;\n position: relative;\n justify-content: flex-end;\n transition: all 0.4s ease-in-out;\n height: 32px;\n}\n.scalar-mcp-layer:hover {\n height: 172px;\n}\n.scalar-mcp-layer-link:hover {\n cursor: pointer !important;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link {\n cursor: pointer;\n width: 100%;\n padding: 9px 6px;\n height: 31px;\n display: block;\n text-align: center;\n display: flex;\n align-items: center;\n white-space: nowrap;\n font-size: var(--scalar-small);\n line-height: 1.385;\n text-decoration: none;\n border-radius: var(--scalar-radius);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n gap: 6px;\n color: var(--scalar-sidebar-color-1);\n background: var(--scalar-background-1);\n transition: transform 0.2s ease-in-out;\n position: absolute;\n bottom: 0;\n}\n/* increase click area for gap */\n.scalar-mcp-layer-link:after {\n content: '';\n position: absolute;\n bottom: -2px;\n height: 2px;\n width: 100%;\n left: 0;\n}\n.scalar-mcp-layer div.scalar-mcp-layer-link {\n cursor: default;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(1) {\n transform: translate3d(0, 0, 0);\n position: relative;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(2) {\n transform: translate3d(0, -2px, 0) scale(0.99);\n}\n.scalar-mcp-layer:hover a:nth-last-child(2) {\n transform: translate3d(0, calc(-100% - 2px), 0) scale(0.99);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(3) {\n transform: translate3d(0, -4px, 0) scale(0.98);\n}\n.scalar-mcp-layer:hover a:nth-last-child(3) {\n transform: translate3d(0, calc(-200% - 4px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(4) {\n transform: translate3d(0, -6px, 0) scale(0.97);\n}\n.scalar-mcp-layer:hover a:nth-last-child(4) {\n transform: translate3d(0, calc(-300% - 6px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, -8px, 0) scale(0.96);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, calc(-400% - 8px), 0) scale(1);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link {\n transition: transform 0.2s ease-in-out 0.1s;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:hover {\n background: var(--scalar-background-2);\n}\n.scalar-mcp-layer .mcp-logo {\n width: 16px;\n height: 16px;\n color: var(--scalar-sidebar-color-1);\n}\n.mcp-nav {\n color: var(--scalar-sidebar-color-2);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAYA,MAAM,QAAQ;EAUd,MAAM,EAAE,oBAAoB,cAAa;EAEzC,MAAM,EAAE,UAAU,WAAU;EAE5B,MAAM,SAAS,iBAAgB;EAE/B,MAAM,YAAY,MAAM,QAAQ,QAAQ,MAAM,QAAQ;EAEtD,MAAM,UAAU,KAAK,KAAK,UAAU,MAAM,UAAU,EAAE,CAAC,CAAA;EAGvD,MAAM,aAAa,uDADN,mBAAmB,MAAM,QAAQ,QAAQ,GAAE,CACuB,UAAU;EACzF,MAAM,aAAa,sBAAsB,mBAAmB,KAAK,UAAU,MAAM,UAAU,EAAE,CAAC,CAAC;EAE/F,MAAM,SAAS,SAAmB,SAAC,MAAK;;EAGxC,eAAe,uBAAuB;AACpC,OAAI,OAAO,aAAa,CAAC,MAAM,UAC7B;AAIF,OAAI,OAAO,SAAS,WAAW,OAAO,MAAM,EAAE;AAC5C,qBAAiB,OAAO,MAAK;AAC7B;;AAGF,UAAO,OAAM;GAEb,MAAM,WAAW,MAAM,UAAU,qBAAqB,OAAM;AAE5D,OAAI,CAAC,UAAU;AACb,UAAM,oCAAoC,QAAO;AACjD,UAAM,OAAO,YAAW;AACxB;;AAGF,OAAI;AACF,WAAO,QAAQ,MAAM,mBAAmB,UAAU,MAAM,aAAY;AACpE,UAAM,OAAO,UAAS;AACtB,qBAAiB,OAAO,MAAK;AAE7B,UAAM,UAAS;AAEf,UAAM,OAAO,OAAM;YACZ,OAAO;AAGd,UADE,iBAAiB,QAAQ,MAAM,UAAU,6BAC5B,QAAO;AACtB,UAAM,OAAO,YAAW;;;;EAK5B,SAAS,iBAAiB,aAAqB;GAC7C,MAAM,MAAM,IAAI,IAAI,GAAG,MAAM,aAAa,aAAa,WAAU;AACjE,OAAI,aAAa,IAAI,OAAO,YAAW;AACvC,OAAI,aAAa,IAAI,aAAa,OAAM;AAExC,UAAO,KAAK,IAAI,UAAU,EAAE,SAAQ;;;uBAKpC,mBA8GM,OA9GN,YA8GM;IA7GJ,mBAwBI,KAAA;KAvBF,OAAM;KACL,MAAM,MAAA,UAAS,GAAG,aAAa,KAAA;KAC/B,QAAQ,MAAA,UAAS,GAAA,WAAc,KAAA;KAC/B,SAAK,OAAA,OAAA,OAAA,MAAY,MAAC;WAAsB,MAAA,UAAS,EAAA;AAAgB,SAAE,gBAAc;AAAe,6BAAoB;;;;+BAQrH,mBASM,OAAA;MARJ,OAAM;MACN,MAAK;MACL,QAAO;MACP,SAAQ;MACR,OAAM;MACN,OAAM;SACN,mBAC6Y,QAAA,EAA3Y,GAAE,wYAAsY,CAAA,CAAA,EAAA,GAAA;+CACtY,aAEN,GAAA;KAAA,YAAyD,MAAA,uBAAA,EAAA,EAAjC,OAAM,0BAAwB,CAAA;;IAExD,mBAsBI,KAAA;KArBF,OAAM;KACL,MAAM,MAAA,UAAS,GAAG,aAAa,KAAA;KAC/B,QAAQ,MAAA,UAAS,GAAA,WAAc,KAAA;KAC/B,SAAK,OAAA,OAAA,OAAA,MAAY,MAAC;WAAsB,MAAA,UAAS,EAAA;AAAgB,SAAE,gBAAc;AAAe,6BAAoB;;;;+BAQrH,mBAOM,OAAA;MANJ,OAAM;MACN,SAAQ;MACR,OAAM;SACN,mBAE+B,QAAA;MAD7B,GAAE;MACF,OAAA,EAAA,QAAA,gBAA0B;;+CACxB,YAEN,GAAA;KAAA,YAAyD,MAAA,uBAAA,EAAA,EAAjC,OAAM,0BAAwB,CAAA;;KAI/C,MAAA,UAAS,IAAA,WAAA,EADlB,mBA6BM,OAAA;;KA3BJ,OAAM;KACL,SAAO;;+BACR,mBAsBM,OAAA;MArBJ,OAAM;MACN,MAAK;MACL,QAAO;MACP,SAAQ;MACR,OAAM;MACN,OAAM;;MACN,mBAIsB,QAAA;OAHpB,GAAE;OACF,QAAO;OACP,kBAAe;OACf,gBAAa;;MACf,mBAIsB,QAAA;OAHpB,GAAE;OACF,QAAO;OACP,kBAAe;OACf,gBAAa;;MACf,mBAIsB,QAAA;OAHpB,GAAE;OACF,QAAO;OACP,kBAAe;OACf,gBAAa;;;+CACX,kBAEN,GAAA;KAAA,YAAyD,MAAA,uBAAA,EAAA,EAAjC,OAAM,0BAAwB,CAAA;wBAGxD,mBA4BM,OAAA;;KA1BJ,OAAM;KACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,gBAAe,CAAC,QAAA,QAAQ,OAAG,GAAA;sDAAS,iBAE5C,GAAA,EAAA,mBAsBM,OAAA;KArBJ,OAAM;KACN,MAAK;KACL,QAAO;KACP,SAAQ;KACR,OAAM;KACN,OAAM;;KACN,mBAIsB,QAAA;MAHpB,GAAE;MACF,QAAO;MACP,kBAAe;MACf,gBAAa;;KACf,mBAIsB,QAAA;MAHpB,GAAE;MACF,QAAO;MACP,kBAAe;MACf,gBAAa;;KACf,mBAIsB,QAAA;MAHpB,GAAE;MACF,QAAO;MACP,kBAAe;MACf,gBAAa"}
1
+ {"version":3,"file":"OpenMCPButton.vue.script.js","names":[],"sources":["../../../src/components/AgentScalar/OpenMCPButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLoadingState } from '@scalar/components/loading'\nimport { isValidUrl } from '@scalar/helpers/url/is-valid-url'\nimport { ScalarIconArrowUpRight } from '@scalar/icons'\nimport type { ExternalUrls } from '@scalar/types/api-reference'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport { useToasts } from '@scalar/use-toasts'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { nextTick } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport { uploadTempDocument } from '@/helpers/upload-temp-document'\n\nconst props = defineProps<{\n config?: {\n name?: string\n url?: string\n }\n externalUrls: ExternalUrls\n url?: string\n workspace: WorkspaceStore\n}>()\n\nconst { copyToClipboard } = useClipboard()\nconst { translate } = useLocalization()\n\nconst { toast } = useToasts()\n\nconst loader = useLoadingState()\n\nconst hasConfig = props.config?.name || props.config?.url\n\nconst encoded = btoa(JSON.stringify(props.config ?? {}))\n\nconst name = encodeURIComponent(props.config?.name ?? '')\nconst cursorLink = `cursor://anysphere.cursor-deeplink/mcp/install?name=${name}&config=${encoded}`\nconst vscodeLink = `vscode:mcp/install?${encodeURIComponent(JSON.stringify(props.config ?? {}))}`\n\nconst docUrl = defineModel<string>('url')\n\n/** Generate and open the registration link */\nasync function generateRegisterLink() {\n if (loader.isLoading || !props.workspace) {\n return\n }\n\n // If we have already have a document URL that is valid\n if (docUrl.value && isValidUrl(docUrl.value)) {\n openRegisterLink(docUrl.value)\n return\n }\n\n loader.start()\n\n const document = props.workspace.exportActiveDocument('json')\n\n if (!document) {\n toast(translate('developerTools.unableToExportDocument'), 'error')\n await loader.invalidate()\n return\n }\n\n try {\n docUrl.value = await uploadTempDocument(document, props.externalUrls)\n await loader.validate()\n openRegisterLink(docUrl.value)\n\n await nextTick()\n\n await loader.clear()\n } catch (error) {\n const message =\n error instanceof Error\n ? error.message\n : translate('developerTools.unknownError')\n toast(message, 'error')\n await loader.invalidate()\n }\n}\n\n/** Open the registration link in a new tab */\nfunction openRegisterLink(documentUrl: string) {\n const url = new URL(`${props.externalUrls.dashboardUrl}/register`)\n url.searchParams.set('url', documentUrl)\n url.searchParams.set('createMcp', 'true')\n\n window.open(url.toString(), '_blank')\n}\n</script>\n\n<template>\n <div class=\"scalar-mcp-layer\">\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? vscodeLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n fill=\"currentColor\"\n height=\"800\"\n viewBox=\"0 0 32 32\"\n width=\"800\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M30.865 3.448 24.282.281a1.99 1.99 0 0 0-2.276.385L9.397 12.171 3.902 8.004a1.33 1.33 0 0 0-1.703.073L.439 9.681a1.33 1.33 0 0 0-.005 1.969L5.2 15.999.434 20.348a1.33 1.33 0 0 0 .005 1.969l1.76 1.604a1.33 1.33 0 0 0 1.703.073l5.495-4.172 12.615 11.51a1.98 1.98 0 0 0 2.271.385l6.589-3.172a1.99 1.99 0 0 0 1.13-1.802V5.248c0-.766-.443-1.469-1.135-1.802zm-6.86 19.818L14.432 16l9.573-7.266z\" />\n </svg>\n VS Code\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <a\n class=\"scalar-mcp-layer-link\"\n :href=\"hasConfig ? cursorLink : undefined\"\n :target=\"hasConfig ? '_blank' : undefined\"\n @click=\"\n (e) => {\n if (!hasConfig) {\n e.preventDefault()\n generateRegisterLink()\n }\n }\n \">\n <svg\n class=\"mcp-logo\"\n viewBox=\"0 0 466.73 532.09\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M457.43 125.94 244.42 2.96a22.13 22.13 0 0 0-22.12 0L9.3 125.94C3.55 129.26 0 135.4 0 142.05v247.99c0 6.65 3.55 12.79 9.3 16.11l213.01 122.98a22.13 22.13 0 0 0 22.12 0l213.01-122.98c5.75-3.32 9.3-9.46 9.3-16.11V142.05c0-6.65-3.55-12.79-9.3-16.11zm-13.38 26.05L238.42 508.15c-1.39 2.4-5.06 1.42-5.06-1.36V273.58c0-4.66-2.49-8.97-6.53-11.31L24.87 145.67c-2.4-1.39-1.42-5.06 1.36-5.06h411.26c5.84 0 9.49 6.33 6.57 11.39h-.01Z\"\n style=\"fill: currentColor\" />\n </svg>\n Cursor\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </a>\n <!-- localhost + you don't have a MCP added -->\n <div\n v-if=\"!hasConfig\"\n class=\"scalar-mcp-layer-link\"\n @click=\"generateRegisterLink\">\n <svg\n class=\"mcp-logo\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n {{ translate('mcp.generate') }}\n <ScalarIconArrowUpRight class=\"mcp-nav ml-auto size-4\" />\n </div>\n <!-- you do have an MCP added -->\n <div\n v-else\n class=\"scalar-mcp-layer-link\"\n @click=\"copyToClipboard(config?.url ?? '')\">\n {{ translate('mcp.connect') }}\n <svg\n class=\"mcp-logo ml-auto\"\n fill=\"none\"\n height=\"173\"\n viewBox=\"0 0 156 173\"\n width=\"156\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"m6 80.912 67.882-67.883c9.373-9.372 24.569-9.372 33.941 0s9.373 24.569 0 33.942L56.558 98.236\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"m57.265 97.529 50.558-50.558c9.373-9.373 24.569-9.373 33.942 0l.353.353c9.373 9.373 9.373 24.569 0 33.941L80.725 142.66a8 8 0 0 0 0 11.313l12.606 12.607\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n <path\n d=\"M90.853 30 40.648 80.205c-9.372 9.372-9.372 24.568 0 33.941 9.373 9.372 24.569 9.372 33.941 0l50.205-50.205\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-width=\"12\" />\n </svg>\n </div>\n </div>\n</template>\n\n<style scoped>\n.scalar-mcp-layer {\n gap: 2px;\n display: flex;\n flex-direction: column;\n background: transparent;\n position: relative;\n justify-content: flex-end;\n transition: all 0.4s ease-in-out;\n height: 32px;\n}\n.scalar-mcp-layer:hover {\n height: 172px;\n}\n.scalar-mcp-layer-link:hover {\n cursor: pointer !important;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link {\n cursor: pointer;\n width: 100%;\n padding: 9px 6px;\n height: 31px;\n display: block;\n text-align: center;\n display: flex;\n align-items: center;\n white-space: nowrap;\n font-size: var(--scalar-small);\n line-height: 1.385;\n text-decoration: none;\n border-radius: var(--scalar-radius);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n gap: 6px;\n color: var(--scalar-sidebar-color-1);\n background: var(--scalar-background-1);\n transition: transform 0.2s ease-in-out;\n position: absolute;\n bottom: 0;\n}\n/* increase click area for gap */\n.scalar-mcp-layer-link:after {\n content: '';\n position: absolute;\n bottom: -2px;\n height: 2px;\n width: 100%;\n left: 0;\n}\n.scalar-mcp-layer div.scalar-mcp-layer-link {\n cursor: default;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(1) {\n transform: translate3d(0, 0, 0);\n position: relative;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(2) {\n transform: translate3d(0, -2px, 0) scale(0.99);\n}\n.scalar-mcp-layer:hover a:nth-last-child(2) {\n transform: translate3d(0, calc(-100% - 2px), 0) scale(0.99);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(3) {\n transform: translate3d(0, -4px, 0) scale(0.98);\n}\n.scalar-mcp-layer:hover a:nth-last-child(3) {\n transform: translate3d(0, calc(-200% - 4px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(4) {\n transform: translate3d(0, -6px, 0) scale(0.97);\n}\n.scalar-mcp-layer:hover a:nth-last-child(4) {\n transform: translate3d(0, calc(-300% - 6px), 0) scale(1);\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, -8px, 0) scale(0.96);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link:nth-last-child(5) {\n transform: translate3d(0, calc(-400% - 8px), 0) scale(1);\n}\n.scalar-mcp-layer:hover .scalar-mcp-layer-link {\n transition: transform 0.2s ease-in-out 0.1s;\n}\n.scalar-mcp-layer .scalar-mcp-layer-link:hover {\n background: var(--scalar-background-2);\n}\n.scalar-mcp-layer .mcp-logo {\n width: 16px;\n height: 16px;\n color: var(--scalar-sidebar-color-1);\n}\n.mcp-nav {\n color: var(--scalar-sidebar-color-2);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAaA,MAAM,QAAQ;EAUd,MAAM,EAAE,oBAAoB,cAAa;EACzC,MAAM,EAAE,cAAc,iBAAgB;EAEtC,MAAM,EAAE,UAAU,WAAU;EAE5B,MAAM,SAAS,iBAAgB;EAE/B,MAAM,YAAY,MAAM,QAAQ,QAAQ,MAAM,QAAQ;EAEtD,MAAM,UAAU,KAAK,KAAK,UAAU,MAAM,UAAU,EAAE,CAAC,CAAA;EAGvD,MAAM,aAAa,uDADN,mBAAmB,MAAM,QAAQ,QAAQ,GAAE,CACuB,UAAU;EACzF,MAAM,aAAa,sBAAsB,mBAAmB,KAAK,UAAU,MAAM,UAAU,EAAE,CAAC,CAAC;EAE/F,MAAM,SAAS,SAAmB,SAAC,MAAK;;EAGxC,eAAe,uBAAuB;AACpC,OAAI,OAAO,aAAa,CAAC,MAAM,UAC7B;AAIF,OAAI,OAAO,SAAS,WAAW,OAAO,MAAM,EAAE;AAC5C,qBAAiB,OAAO,MAAK;AAC7B;;AAGF,UAAO,OAAM;GAEb,MAAM,WAAW,MAAM,UAAU,qBAAqB,OAAM;AAE5D,OAAI,CAAC,UAAU;AACb,UAAM,UAAU,wCAAwC,EAAE,QAAO;AACjE,UAAM,OAAO,YAAW;AACxB;;AAGF,OAAI;AACF,WAAO,QAAQ,MAAM,mBAAmB,UAAU,MAAM,aAAY;AACpE,UAAM,OAAO,UAAS;AACtB,qBAAiB,OAAO,MAAK;AAE7B,UAAM,UAAS;AAEf,UAAM,OAAO,OAAM;YACZ,OAAO;AAKd,UAHE,iBAAiB,QACb,MAAM,UACN,UAAU,8BAA6B,EAC9B,QAAO;AACtB,UAAM,OAAO,YAAW;;;;EAK5B,SAAS,iBAAiB,aAAqB;GAC7C,MAAM,MAAM,IAAI,IAAI,GAAG,MAAM,aAAa,aAAa,WAAU;AACjE,OAAI,aAAa,IAAI,OAAO,YAAW;AACvC,OAAI,aAAa,IAAI,aAAa,OAAM;AAExC,UAAO,KAAK,IAAI,UAAU,EAAE,SAAQ;;;uBAKpC,mBA8GM,OA9GN,YA8GM;IA7GJ,mBAwBI,KAAA;KAvBF,OAAM;KACL,MAAM,MAAA,UAAS,GAAG,aAAa,KAAA;KAC/B,QAAQ,MAAA,UAAS,GAAA,WAAc,KAAA;KAC/B,SAAK,OAAA,OAAA,OAAA,MAAY,MAAC;WAAsB,MAAA,UAAS,EAAA;AAAgB,SAAE,gBAAc;AAAe,6BAAoB;;;;+BAQrH,mBASM,OAAA;MARJ,OAAM;MACN,MAAK;MACL,QAAO;MACP,SAAQ;MACR,OAAM;MACN,OAAM;SACN,mBAC6Y,QAAA,EAA3Y,GAAE,wYAAsY,CAAA,CAAA,EAAA,GAAA;+CACtY,aAEN,GAAA;KAAA,YAAyD,MAAA,uBAAA,EAAA,EAAjC,OAAM,0BAAwB,CAAA;;IAExD,mBAsBI,KAAA;KArBF,OAAM;KACL,MAAM,MAAA,UAAS,GAAG,aAAa,KAAA;KAC/B,QAAQ,MAAA,UAAS,GAAA,WAAc,KAAA;KAC/B,SAAK,OAAA,OAAA,OAAA,MAAY,MAAC;WAAsB,MAAA,UAAS,EAAA;AAAgB,SAAE,gBAAc;AAAe,6BAAoB;;;;+BAQrH,mBAOM,OAAA;MANJ,OAAM;MACN,SAAQ;MACR,OAAM;SACN,mBAE+B,QAAA;MAD7B,GAAE;MACF,OAAA,EAAA,QAAA,gBAA0B;;+CACxB,YAEN,GAAA;KAAA,YAAyD,MAAA,uBAAA,EAAA,EAAjC,OAAM,0BAAwB,CAAA;;KAI/C,MAAA,UAAS,IAAA,WAAA,EADlB,mBA6BM,OAAA;;KA3BJ,OAAM;KACL,SAAO;;+BACR,mBAsBM,OAAA;MArBJ,OAAM;MACN,MAAK;MACL,QAAO;MACP,SAAQ;MACR,OAAM;MACN,OAAM;;MACN,mBAIsB,QAAA;OAHpB,GAAE;OACF,QAAO;OACP,kBAAe;OACf,gBAAa;;MACf,mBAIsB,QAAA;OAHpB,GAAE;OACF,QAAO;OACP,kBAAe;OACf,gBAAa;;MACf,mBAIsB,QAAA;OAHpB,GAAE;OACF,QAAO;OACP,kBAAe;OACf,gBAAa;;;qBACX,MACN,gBAAG,MAAA,UAAS,CAAA,eAAA,CAAA,GAAmB,KAC/B,EAAA;KAAA,YAAyD,MAAA,uBAAA,EAAA,EAAjC,OAAM,0BAAwB,CAAA;wBAGxD,mBA4BM,OAAA;;KA1BJ,OAAM;KACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,gBAAe,CAAC,QAAA,QAAQ,OAAG,GAAA;wCAChC,MAAA,UAAS,CAAA,cAAA,CAAA,GAAkB,KAC9B,EAAA,EAAA,OAAA,OAAA,OAAA,KAAA,mBAsBM,OAAA;KArBJ,OAAM;KACN,MAAK;KACL,QAAO;KACP,SAAQ;KACR,OAAM;KACN,OAAM;;KACN,mBAIsB,QAAA;MAHpB,GAAE;MACF,QAAO;MACP,kBAAe;MACf,gBAAa;;KACf,mBAIsB,QAAA;MAHpB,GAAE;MACF,QAAO;MACP,kBAAe;MACf,gBAAa;;KACf,mBAIsB,QAAA;MAHpB,GAAE;MACF,QAAO;MACP,kBAAe;MACf,gBAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"Anchor.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Anchor/Anchor.vue"],"names":[],"mappings":"AA4JA,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU;;;;iFAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"Anchor.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Anchor/Anchor.vue"],"names":[],"mappings":"AAoKA,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAK/C,QAAA,MAAM,UAAU;;;;iFAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Anchor.vue.js","names":[],"sources":["../../../src/components/Anchor/Anchor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton } from '@scalar/components/button'\nimport { ScalarIconHash } from '@scalar/icons'\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { useId } from 'vue'\n\nimport ScreenReader from '../ScreenReader.vue'\n\nconst emit = defineEmits<{\n (e: 'copyAnchorUrl'): void\n}>()\n\nconst labelId = useId()\n\nconst { cx } = useBindCx()\n</script>\n<template>\n <span v-bind=\"cx('group/heading wrap-break-word relative')\">\n <span\n :id=\"labelId\"\n class=\"contents\">\n <slot />\n </span>\n <span class=\"relative\">\n <!-- Position anchor to align the copy button to the last line of text -->\n <span>&ZeroWidthSpace;</span>\n <ScalarButton\n :aria-describedby=\"labelId\"\n class=\"absolute top-1/2 left-0 inline-block h-fit -translate-y-1/2 px-1.5 py-1 opacity-0 group-hover/heading:opacity-100 group-has-focus-visible/heading:opacity-100\"\n variant=\"ghost\"\n @click.stop=\"() => emit('copyAnchorUrl')\">\n <ScalarIconHash\n aria-hidden=\"true\"\n class=\"size-4.5\" />\n <ScreenReader>Copy link</ScreenReader>\n </ScalarButton>\n </span>\n </span>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Anchor.vue.js","names":[],"sources":["../../../src/components/Anchor/Anchor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton } from '@scalar/components/button'\nimport { ScalarIconHash } from '@scalar/icons'\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { useId } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\n\nimport ScreenReader from '../ScreenReader.vue'\n\nconst emit = defineEmits<{\n (e: 'copyAnchorUrl'): void\n}>()\n\nconst labelId = useId()\nconst { translate } = useLocalization()\n\nconst { cx } = useBindCx()\n</script>\n<template>\n <span v-bind=\"cx('group/heading wrap-break-word relative')\">\n <span\n :id=\"labelId\"\n class=\"contents\">\n <slot />\n </span>\n <span class=\"relative\">\n <!-- Position anchor to align the copy button to the last line of text -->\n <span>&ZeroWidthSpace;</span>\n <ScalarButton\n :aria-describedby=\"labelId\"\n class=\"absolute top-1/2 left-0 inline-block h-fit -translate-y-1/2 px-1.5 py-1 opacity-0 group-hover/heading:opacity-100 group-has-focus-visible/heading:opacity-100\"\n variant=\"ghost\"\n @click.stop=\"() => emit('copyAnchorUrl')\">\n <ScalarIconHash\n aria-hidden=\"true\"\n class=\"size-4.5\" />\n <ScreenReader>{{ translate('actions.copyLink') }}</ScreenReader>\n </ScalarButton>\n </span>\n </span>\n</template>\n"],"mappings":""}
@@ -1,5 +1,6 @@
1
+ import { useLocalization } from "../../features/localization/use-localization.js";
1
2
  import ScreenReader_default from "../ScreenReader.vue.js";
2
- import { createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, normalizeProps, openBlock, renderSlot, unref, useId, withCtx, withModifiers } from "vue";
3
+ import { createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, normalizeProps, openBlock, renderSlot, toDisplayString, unref, useId, withCtx, withModifiers } from "vue";
3
4
  import { ScalarIconHash } from "@scalar/icons";
4
5
  import { ScalarButton } from "@scalar/components/button";
5
6
  import { useBindCx } from "@scalar/use-hooks/useBindCx";
@@ -12,12 +13,13 @@ var Anchor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
12
13
  setup(__props, { emit: __emit }) {
13
14
  const emit = __emit;
14
15
  const labelId = useId();
16
+ const { translate } = useLocalization();
15
17
  const { cx } = useBindCx();
16
18
  return (_ctx, _cache) => {
17
19
  return openBlock(), createElementBlock("span", normalizeProps(guardReactiveProps(unref(cx)("group/heading wrap-break-word relative"))), [createElementVNode("span", {
18
20
  id: unref(labelId),
19
21
  class: "contents"
20
- }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1), createElementVNode("span", _hoisted_2, [_cache[2] || (_cache[2] = createElementVNode("span", null, "​", -1)), createVNode(unref(ScalarButton), {
22
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1), createElementVNode("span", _hoisted_2, [_cache[1] || (_cache[1] = createElementVNode("span", null, "​", -1)), createVNode(unref(ScalarButton), {
21
23
  "aria-describedby": unref(labelId),
22
24
  class: "absolute top-1/2 left-0 inline-block h-fit -translate-y-1/2 px-1.5 py-1 opacity-0 group-hover/heading:opacity-100 group-has-focus-visible/heading:opacity-100",
23
25
  variant: "ghost",
@@ -27,7 +29,7 @@ var Anchor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
27
29
  "aria-hidden": "true",
28
30
  class: "size-4.5"
29
31
  }), createVNode(ScreenReader_default, null, {
30
- default: withCtx(() => [..._cache[1] || (_cache[1] = [createTextVNode("Copy link", -1)])]),
32
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(translate)("actions.copyLink")), 1)]),
31
33
  _: 1
32
34
  })]),
33
35
  _: 1
@@ -1 +1 @@
1
- {"version":3,"file":"Anchor.vue.script.js","names":[],"sources":["../../../src/components/Anchor/Anchor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton } from '@scalar/components/button'\nimport { ScalarIconHash } from '@scalar/icons'\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { useId } from 'vue'\n\nimport ScreenReader from '../ScreenReader.vue'\n\nconst emit = defineEmits<{\n (e: 'copyAnchorUrl'): void\n}>()\n\nconst labelId = useId()\n\nconst { cx } = useBindCx()\n</script>\n<template>\n <span v-bind=\"cx('group/heading wrap-break-word relative')\">\n <span\n :id=\"labelId\"\n class=\"contents\">\n <slot />\n </span>\n <span class=\"relative\">\n <!-- Position anchor to align the copy button to the last line of text -->\n <span>&ZeroWidthSpace;</span>\n <ScalarButton\n :aria-describedby=\"labelId\"\n class=\"absolute top-1/2 left-0 inline-block h-fit -translate-y-1/2 px-1.5 py-1 opacity-0 group-hover/heading:opacity-100 group-has-focus-visible/heading:opacity-100\"\n variant=\"ghost\"\n @click.stop=\"() => emit('copyAnchorUrl')\">\n <ScalarIconHash\n aria-hidden=\"true\"\n class=\"size-4.5\" />\n <ScreenReader>Copy link</ScreenReader>\n </ScalarButton>\n </span>\n </span>\n</template>\n"],"mappings":";;;;;;;;;;;;EAQA,MAAM,OAAO;EAIb,MAAM,UAAU,OAAM;EAEtB,MAAM,EAAE,OAAO,WAAU;;uBAGvB,mBAoBO,QAAA,eAAA,mBApBO,MAAA,GAAE,CAAA,yCAAA,CAAA,CAAA,EAAA,CACd,mBAIO,QAAA;IAHJ,IAAI,MAAA,QAAO;IACZ,OAAM;OACN,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,GAAA,WAAA,EAEV,mBAaO,QAbP,YAaO,CAAA,OAAA,OAAA,OAAA,KAXL,mBAA6B,QAAA,MAAvB,KAAgB,GAAA,GACtB,YASe,MAAA,aAAA,EAAA;IARZ,oBAAkB,MAAA,QAAO;IAC1B,OAAM;IACN,SAAQ;IACP,SAAK,OAAA,OAAA,OAAA,KAAA,oBAAa,KAAI,gBAAA,EAAA,CAAA,OAAA,CAAA;;2BAGF,CAFrB,YAEqB,MAAA,eAAA,EAAA;KADnB,eAAY;KACZ,OAAM;QACR,YAAsC,sBAAA,MAAA;4BAAf,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,gBAAT,aAAS,GAAA,CAAA,EAAA,CAAA"}
1
+ {"version":3,"file":"Anchor.vue.script.js","names":[],"sources":["../../../src/components/Anchor/Anchor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton } from '@scalar/components/button'\nimport { ScalarIconHash } from '@scalar/icons'\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { useId } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\n\nimport ScreenReader from '../ScreenReader.vue'\n\nconst emit = defineEmits<{\n (e: 'copyAnchorUrl'): void\n}>()\n\nconst labelId = useId()\nconst { translate } = useLocalization()\n\nconst { cx } = useBindCx()\n</script>\n<template>\n <span v-bind=\"cx('group/heading wrap-break-word relative')\">\n <span\n :id=\"labelId\"\n class=\"contents\">\n <slot />\n </span>\n <span class=\"relative\">\n <!-- Position anchor to align the copy button to the last line of text -->\n <span>&ZeroWidthSpace;</span>\n <ScalarButton\n :aria-describedby=\"labelId\"\n class=\"absolute top-1/2 left-0 inline-block h-fit -translate-y-1/2 px-1.5 py-1 opacity-0 group-hover/heading:opacity-100 group-has-focus-visible/heading:opacity-100\"\n variant=\"ghost\"\n @click.stop=\"() => emit('copyAnchorUrl')\">\n <ScalarIconHash\n aria-hidden=\"true\"\n class=\"size-4.5\" />\n <ScreenReader>{{ translate('actions.copyLink') }}</ScreenReader>\n </ScalarButton>\n </span>\n </span>\n</template>\n"],"mappings":";;;;;;;;;;;;;EAUA,MAAM,OAAO;EAIb,MAAM,UAAU,OAAM;EACtB,MAAM,EAAE,cAAc,iBAAgB;EAEtC,MAAM,EAAE,OAAO,WAAU;;uBAGvB,mBAoBO,QAAA,eAAA,mBApBO,MAAA,GAAE,CAAA,yCAAA,CAAA,CAAA,EAAA,CACd,mBAIO,QAAA;IAHJ,IAAI,MAAA,QAAO;IACZ,OAAM;OACN,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,GAAA,WAAA,EAEV,mBAaO,QAbP,YAaO,CAAA,OAAA,OAAA,OAAA,KAXL,mBAA6B,QAAA,MAAvB,KAAgB,GAAA,GACtB,YASe,MAAA,aAAA,EAAA;IARZ,oBAAkB,MAAA,QAAO;IAC1B,OAAM;IACN,SAAQ;IACP,SAAK,OAAA,OAAA,OAAA,KAAA,oBAAa,KAAI,gBAAA,EAAA,CAAA,OAAA,CAAA;;2BAGF,CAFrB,YAEqB,MAAA,eAAA,EAAA;KADnB,eAAY;KACZ,OAAM;QACR,YAAgE,sBAAA,MAAA;4BAAf,CAAA,gBAAA,gBAAhC,MAAA,UAAS,CAAA,mBAAA,CAAA,EAAA,EAAA,CAAA,CAAA"}
@@ -3,15 +3,13 @@ type __VLS_Props = {
3
3
  breadcrumb?: string[];
4
4
  eventBus: WorkspaceEventBus | null;
5
5
  };
6
- declare var __VLS_1: {}, __VLS_8: {}, __VLS_10: {}, __VLS_12: {};
6
+ declare var __VLS_1: {}, __VLS_8: {}, __VLS_10: {};
7
7
  type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_1) => any;
9
9
  } & {
10
10
  'sr-label'?: (props: typeof __VLS_8) => any;
11
11
  } & {
12
12
  default?: (props: typeof __VLS_10) => any;
13
- } & {
14
- default?: (props: typeof __VLS_12) => any;
15
13
  };
16
14
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1 @@
1
- {"version":3,"file":"WithBreadcrumb.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Anchor/WithBreadcrumb.vue"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACnC,CAAC;AAgFF,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO,IAAU,EAAE,QAAQ,IAAU,EAAE,QAAQ,IAAY,CAAE;AACpF,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC5C;IAAE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC/C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC7C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAKhD,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WithBreadcrumb.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Anchor/WithBreadcrumb.vue"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAKvE,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACnC,CAAC;AAwFF,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO,IAAU,EAAE,QAAQ,IAAW,CAAE;AAC/D,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC5C;IAAE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC/C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAKhD,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WithBreadcrumb.vue.js","names":[],"sources":["../../../src/components/Anchor/WithBreadcrumb.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconLink } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\n\nconst { breadcrumb } = defineProps<{\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n}>()\n</script>\n\n<template>\n <template v-if=\"breadcrumb && breadcrumb.length > 0\">\n <div\n :id=\"breadcrumb.join('.')\"\n class=\"relative scroll-mt-24\">\n <!-- Content -->\n <slot />\n <button\n class=\"text-c-3 hover:text-c-1 absolute -top-2 -left-4.5 flex h-[calc(100%+16px)] w-4.5 cursor-pointer items-center justify-center pr-1.5 opacity-0 group-hover:opacity-100 focus-visible:opacity-100\"\n type=\"button\"\n @click=\"\n () =>\n eventBus?.emit('copy-url:nav-item', { id: breadcrumb.join('.') })\n \">\n <!-- Copy button -->\n <ScalarIconLink\n class=\"size-3\"\n weight=\"bold\" />\n <span class=\"sr-only\">\n <slot name=\"sr-label\">Copy link to <slot /></slot>\n </span>\n </button>\n </div>\n </template>\n <template v-else>\n <slot />\n </template>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"WithBreadcrumb.vue.js","names":[],"sources":["../../../src/components/Anchor/WithBreadcrumb.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconLink } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { computed } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\n\nconst { breadcrumb } = defineProps<{\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n}>()\nconst { translate } = useLocalization()\n\n/** Screen-reader label for the copy-link button, naming the deep-linked item. */\nconst copyLinkLabel = computed(() =>\n translate('actions.copyLinkTo', {\n name: breadcrumb?.[breadcrumb.length - 1] ?? '',\n }),\n)\n</script>\n\n<template>\n <template v-if=\"breadcrumb && breadcrumb.length > 0\">\n <div\n :id=\"breadcrumb.join('.')\"\n class=\"relative scroll-mt-24\">\n <!-- Content -->\n <slot />\n <button\n class=\"text-c-3 hover:text-c-1 absolute -top-2 -left-4.5 flex h-[calc(100%+16px)] w-4.5 cursor-pointer items-center justify-center pr-1.5 opacity-0 group-hover:opacity-100 focus-visible:opacity-100\"\n type=\"button\"\n @click=\"\n () =>\n eventBus?.emit('copy-url:nav-item', { id: breadcrumb.join('.') })\n \">\n <!-- Copy button -->\n <ScalarIconLink\n class=\"size-3\"\n weight=\"bold\" />\n <span class=\"sr-only\">\n <slot name=\"sr-label\">{{ copyLinkLabel }}</slot>\n </span>\n </button>\n </div>\n </template>\n <template v-else>\n <slot />\n </template>\n</template>\n"],"mappings":""}
@@ -1,4 +1,5 @@
1
- import { createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, renderSlot, unref } from "vue";
1
+ import { useLocalization } from "../../features/localization/use-localization.js";
2
+ import { computed, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, renderSlot, toDisplayString, unref } from "vue";
2
3
  import { ScalarIconLink } from "@scalar/icons";
3
4
  //#region src/components/Anchor/WithBreadcrumb.vue?vue&type=script&setup=true&lang.ts
4
5
  var _hoisted_1 = ["id"];
@@ -10,6 +11,9 @@ var WithBreadcrumb_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
10
11
  eventBus: {}
11
12
  },
12
13
  setup(__props) {
14
+ const { translate } = useLocalization();
15
+ /** Screen-reader label for the copy-link button, naming the deep-linked item. */
16
+ const copyLinkLabel = computed(() => translate("actions.copyLinkTo", { name: __props.breadcrumb?.[__props.breadcrumb.length - 1] ?? "" }));
13
17
  return (_ctx, _cache) => {
14
18
  return __props.breadcrumb && __props.breadcrumb.length > 0 ? (openBlock(), createElementBlock("div", {
15
19
  key: 0,
@@ -22,7 +26,7 @@ var WithBreadcrumb_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
22
26
  }, [createVNode(unref(ScalarIconLink), {
23
27
  class: "size-3",
24
28
  weight: "bold"
25
- }), createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "sr-label", {}, () => [_cache[1] || (_cache[1] = createTextVNode("Copy link to ", -1)), renderSlot(_ctx.$slots, "default")])])])], 8, _hoisted_1)) : renderSlot(_ctx.$slots, "default", { key: 1 });
29
+ }), createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "sr-label", {}, () => [createTextVNode(toDisplayString(copyLinkLabel.value), 1)])])])], 8, _hoisted_1)) : renderSlot(_ctx.$slots, "default", { key: 1 });
26
30
  };
27
31
  }
28
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"WithBreadcrumb.vue.script.js","names":[],"sources":["../../../src/components/Anchor/WithBreadcrumb.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconLink } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\n\nconst { breadcrumb } = defineProps<{\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n}>()\n</script>\n\n<template>\n <template v-if=\"breadcrumb && breadcrumb.length > 0\">\n <div\n :id=\"breadcrumb.join('.')\"\n class=\"relative scroll-mt-24\">\n <!-- Content -->\n <slot />\n <button\n class=\"text-c-3 hover:text-c-1 absolute -top-2 -left-4.5 flex h-[calc(100%+16px)] w-4.5 cursor-pointer items-center justify-center pr-1.5 opacity-0 group-hover:opacity-100 focus-visible:opacity-100\"\n type=\"button\"\n @click=\"\n () =>\n eventBus?.emit('copy-url:nav-item', { id: breadcrumb.join('.') })\n \">\n <!-- Copy button -->\n <ScalarIconLink\n class=\"size-3\"\n weight=\"bold\" />\n <span class=\"sr-only\">\n <slot name=\"sr-label\">Copy link to <slot /></slot>\n </span>\n </button>\n </div>\n </template>\n <template v-else>\n <slot />\n </template>\n</template>\n"],"mappings":";;;;;;;;;;;;;UAWkB,QAAA,cAAc,QAAA,WAAW,SAAM,KAAA,WAAA,EAC7C,mBAoBM,OAAA;;IAnBH,IAAI,QAAA,WAAW,KAAI,IAAA;IACpB,OAAM;OAEN,WAAQ,KAAA,QAAA,UAAA,EACR,mBAcS,UAAA;IAbP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,WAA+B,QAAA,UAAU,KAAI,qBAAA,EAAA,IAA4B,QAAA,WAAW,KAAI,IAAA,EAAA,CAAA;OAK9F,YAEkB,MAAA,eAAA,EAAA;IADhB,OAAM;IACN,QAAO;OACT,mBAEO,QAFP,YAEO,CADL,WAAkD,KAAA,QAAA,YAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAAA,gBAA5B,iBAAa,GAAA,GAAA,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,GAAA,WAAA,IAMjD,WAAQ,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"WithBreadcrumb.vue.script.js","names":[],"sources":["../../../src/components/Anchor/WithBreadcrumb.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconLink } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { computed } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\n\nconst { breadcrumb } = defineProps<{\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n}>()\nconst { translate } = useLocalization()\n\n/** Screen-reader label for the copy-link button, naming the deep-linked item. */\nconst copyLinkLabel = computed(() =>\n translate('actions.copyLinkTo', {\n name: breadcrumb?.[breadcrumb.length - 1] ?? '',\n }),\n)\n</script>\n\n<template>\n <template v-if=\"breadcrumb && breadcrumb.length > 0\">\n <div\n :id=\"breadcrumb.join('.')\"\n class=\"relative scroll-mt-24\">\n <!-- Content -->\n <slot />\n <button\n class=\"text-c-3 hover:text-c-1 absolute -top-2 -left-4.5 flex h-[calc(100%+16px)] w-4.5 cursor-pointer items-center justify-center pr-1.5 opacity-0 group-hover:opacity-100 focus-visible:opacity-100\"\n type=\"button\"\n @click=\"\n () =>\n eventBus?.emit('copy-url:nav-item', { id: breadcrumb.join('.') })\n \">\n <!-- Copy button -->\n <ScalarIconLink\n class=\"size-3\"\n weight=\"bold\" />\n <span class=\"sr-only\">\n <slot name=\"sr-label\">{{ copyLinkLabel }}</slot>\n </span>\n </button>\n </div>\n </template>\n <template v-else>\n <slot />\n </template>\n</template>\n"],"mappings":";;;;;;;;;;;;;EAWA,MAAM,EAAE,cAAc,iBAAgB;;EAGtC,MAAM,gBAAgB,eACpB,UAAU,sBAAsB,EAC9B,MAAM,QAAA,aAAa,QAAA,WAAW,SAAS,MAAM,IAC9C,CAAC,CACJ;;UAIkB,QAAA,cAAc,QAAA,WAAW,SAAM,KAAA,WAAA,EAC7C,mBAoBM,OAAA;;IAnBH,IAAI,QAAA,WAAW,KAAI,IAAA;IACpB,OAAM;OAEN,WAAQ,KAAA,QAAA,UAAA,EACR,mBAcS,UAAA;IAbP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,WAA+B,QAAA,UAAU,KAAI,qBAAA,EAAA,IAA4B,QAAA,WAAW,KAAI,IAAA,EAAA,CAAA;OAK9F,YAEkB,MAAA,eAAA,EAAA;IADhB,OAAM;IACN,QAAO;OACT,mBAEO,QAFP,YAEO,CADL,WAAgD,KAAA,QAAA,YAAA,EAAA,QAAA,CAAA,gBAAA,gBAAvB,cAAA,MAAa,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,GAAA,WAAA,IAM5C,WAAQ,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApiReference.vue.d.ts","sourceRoot":"","sources":["../../src/components/ApiReference.vue"],"names":[],"mappings":"AAyhDA,OAAO,EAEL,KAAK,4BAA4B,EAGlC,MAAM,6BAA6B,CAAA;AAYpC,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4CAA4C,CAAA;wBAsE9B,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAEhB;;;OAGG;oBACa,4BAA4B;;;;;;IAJ5C;;;OAGG;oBACa,4BAA4B;;wBAKxB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;sBACxB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;wBACpB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;sBACxB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;6BACf;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;eACpC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;EAqmD/B,CAAC;AACL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"ApiReference.vue.d.ts","sourceRoot":"","sources":["../../src/components/ApiReference.vue"],"names":[],"mappings":"AAgwDA,OAAO,EAEL,KAAK,4BAA4B,EAGlC,MAAM,6BAA6B,CAAA;AAYpC,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4CAA4C,CAAA;wBAmF9B,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAEhB;;;OAGG;oBACa,4BAA4B;;;;;;IAJ5C;;;OAGG;oBACa,4BAA4B;;wBAKxB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;sBACxB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;wBACpB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;sBACxB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;6BACf;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;eACpC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;EAs2D/B,CAAC;AACL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -5,7 +5,7 @@ import ApiReference_vue_vue_type_script_setup_true_lang_default from "./ApiRefer
5
5
  /* empty css */
6
6
  /* empty css */
7
7
  //#region src/components/ApiReference.vue
8
- var ApiReference_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ApiReference_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-85d24c5b"]]);
8
+ var ApiReference_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ApiReference_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-876968b6"]]);
9
9
  //#endregion
10
10
  export { ApiReference_default as default };
11
11