@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/features/localization/translations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAA4B,MAAM,6BAA6B,CAAA;AAUtG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQwC,CAAA;AAEvE,eAAO,MAAM,cAAc,EAAE,yBAAgC,CAAA;AAE7D,eAAO,MAAM,WAAW,aAAoC,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { ar } from "./locales/ar.js";
2
+ import { de } from "./locales/de.js";
3
+ import { en } from "./locales/en.js";
4
+ import { es } from "./locales/es.js";
5
+ import { fr } from "./locales/fr.js";
6
+ import { ru } from "./locales/ru.js";
7
+ import { zhCn } from "./locales/zh-cn.js";
8
+ //#region src/features/localization/translations.ts
9
+ var localeTranslations = {
10
+ en,
11
+ ru,
12
+ es,
13
+ fr,
14
+ de,
15
+ "zh-CN": zhCn,
16
+ ar
17
+ };
18
+ var RTL_LOCALES = new Set([
19
+ "ar",
20
+ "fa",
21
+ "he",
22
+ "ur"
23
+ ]);
24
+ //#endregion
25
+ export { RTL_LOCALES, localeTranslations };
26
+
27
+ //# sourceMappingURL=translations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.js","names":[],"sources":["../../../src/features/localization/translations.ts"],"sourcesContent":["import type { ApiReferenceBuiltInLocale, ApiReferenceTranslations } from '@scalar/types/api-reference'\n\nimport { ar } from './locales/ar'\nimport { de } from './locales/de'\nimport { en } from './locales/en'\nimport { es } from './locales/es'\nimport { fr } from './locales/fr'\nimport { ru } from './locales/ru'\nimport { zhCn } from './locales/zh-cn'\n\nexport const localeTranslations = {\n en,\n ru,\n es,\n fr,\n de,\n 'zh-CN': zhCn,\n ar,\n} satisfies Record<ApiReferenceBuiltInLocale, ApiReferenceTranslations>\n\nexport const DEFAULT_LOCALE: ApiReferenceBuiltInLocale = 'en'\n\nexport const RTL_LOCALES = new Set(['ar', 'fa', 'he', 'ur'])\n"],"mappings":";;;;;;;;AAUA,IAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA,SAAS;CACT;CACD;AAID,IAAa,cAAc,IAAI,IAAI;CAAC;CAAM;CAAM;CAAM;CAAK,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ApiReferenceLocale, ApiReferenceLocalization, ApiReferenceTextDirection, ApiReferenceTranslationKey, ApiReferenceTranslations } from '@scalar/types/api-reference';
2
+ import { type ComputedRef, type MaybeRefOrGetter } from 'vue';
3
+ type LocalizationContext = {
4
+ locale: ComputedRef<ApiReferenceLocale>;
5
+ direction: ComputedRef<ApiReferenceTextDirection>;
6
+ translations: ComputedRef<ApiReferenceTranslations>;
7
+ translate: (key: ApiReferenceTranslationKey, params?: Record<string, number | string>) => string;
8
+ };
9
+ type ResolvedLocalization = {
10
+ locale: ApiReferenceLocale;
11
+ direction: ApiReferenceTextDirection;
12
+ translations: ApiReferenceTranslations;
13
+ };
14
+ export declare const resolveLocalization: (localization?: ApiReferenceLocalization) => ResolvedLocalization;
15
+ export declare const provideLocalization: (localization: MaybeRefOrGetter<ApiReferenceLocalization | undefined>) => LocalizationContext;
16
+ export declare const useLocalization: () => LocalizationContext;
17
+ export {};
18
+ //# sourceMappingURL=use-localization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-localization.d.ts","sourceRoot":"","sources":["../../../src/features/localization/use-localization.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,KAAK,WAAW,EAAqB,KAAK,gBAAgB,EAAsC,MAAM,KAAK,CAAA;AAIpH,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACvC,SAAS,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAA;IACjD,YAAY,EAAE,WAAW,CAAC,wBAAwB,CAAC,CAAA;IACnD,SAAS,EAAE,CAAC,GAAG,EAAE,0BAA0B,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAA;CACjG,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,MAAM,EAAE,kBAAkB,CAAA;IAC1B,SAAS,EAAE,yBAAyB,CAAA;IACpC,YAAY,EAAE,wBAAwB,CAAA;CACvC,CAAA;AAoCD,eAAO,MAAM,mBAAmB,GAAI,eAAe,wBAAwB,KAAG,oBAa7E,CAAA;AA+CD,eAAO,MAAM,mBAAmB,GAAI,cAAc,gBAAgB,CAAC,wBAAwB,GAAG,SAAS,CAAC,wBAMvG,CAAA;AAED,eAAO,MAAM,eAAe,QAAO,mBACgC,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { RTL_LOCALES, localeTranslations } from "./translations.js";
2
+ import { computed, inject, provide, toValue } from "vue";
3
+ import { isObject } from "@scalar/helpers/object/is-object";
4
+ import { mergeObjects } from "@scalar/helpers/object/merge-objects";
5
+ //#region src/features/localization/use-localization.ts
6
+ var LOCALIZATION_SYMBOL = Symbol("LOCALIZATION");
7
+ var resolveBuiltInLocale = (locale) => {
8
+ if (!locale) return "en";
9
+ if (locale in localeTranslations) return locale;
10
+ const normalized = locale.replace("_", "-").toLowerCase();
11
+ if (normalized.startsWith("zh")) return "zh-CN";
12
+ const language = normalized.split("-")[0];
13
+ return Object.keys(localeTranslations).find((key) => key.toLowerCase() === language) ?? "en";
14
+ };
15
+ var resolveDirection = (localization) => {
16
+ if (localization?.direction && localization.direction !== "auto") return localization.direction;
17
+ const language = (localization?.locale ?? "en").replace("_", "-").split("-")[0]?.toLowerCase();
18
+ return language && RTL_LOCALES.has(language) ? "rtl" : "ltr";
19
+ };
20
+ var resolveLocalization = (localization) => {
21
+ const locale = localization?.locale ?? "en";
22
+ const builtInLocale = resolveBuiltInLocale(locale);
23
+ const translations = mergeObjects(mergeObjects(localeTranslations.en, localeTranslations[builtInLocale]), localization?.translations);
24
+ return {
25
+ locale,
26
+ direction: resolveDirection(localization),
27
+ translations
28
+ };
29
+ };
30
+ var getTranslationValue = (translations, key) => key.split(".").reduce((value, segment) => {
31
+ if (!isObject(value)) return;
32
+ return value[segment];
33
+ }, translations);
34
+ var translateApiReference = (translations, key, params) => {
35
+ const value = getTranslationValue(translations, key);
36
+ const template = typeof value === "string" ? value : key;
37
+ if (!params) return template;
38
+ return Object.entries(params).reduce((result, [param, paramValue]) => result.replaceAll(`{${param}}`, String(paramValue)), template);
39
+ };
40
+ var createLocalizationContext = (localization) => {
41
+ const resolved = computed(() => resolveLocalization(toValue(localization)));
42
+ return {
43
+ locale: computed(() => resolved.value.locale),
44
+ direction: computed(() => resolved.value.direction),
45
+ translations: computed(() => resolved.value.translations),
46
+ translate: (key, params) => translateApiReference(resolved.value.translations, key, params)
47
+ };
48
+ };
49
+ var provideLocalization = (localization) => {
50
+ const context = createLocalizationContext(localization);
51
+ provide(LOCALIZATION_SYMBOL, context);
52
+ return context;
53
+ };
54
+ var useLocalization = () => inject(LOCALIZATION_SYMBOL, createLocalizationContext(void 0));
55
+ //#endregion
56
+ export { provideLocalization, resolveLocalization, useLocalization };
57
+
58
+ //# sourceMappingURL=use-localization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-localization.js","names":[],"sources":["../../../src/features/localization/use-localization.ts"],"sourcesContent":["import { isObject } from '@scalar/helpers/object/is-object'\nimport { mergeObjects } from '@scalar/helpers/object/merge-objects'\nimport type {\n ApiReferenceLocale,\n ApiReferenceLocalization,\n ApiReferenceTextDirection,\n ApiReferenceTranslationKey,\n ApiReferenceTranslations,\n} from '@scalar/types/api-reference'\nimport { type ComputedRef, type InjectionKey, type MaybeRefOrGetter, computed, inject, provide, toValue } from 'vue'\n\nimport { DEFAULT_LOCALE, RTL_LOCALES, localeTranslations } from './translations'\n\ntype LocalizationContext = {\n locale: ComputedRef<ApiReferenceLocale>\n direction: ComputedRef<ApiReferenceTextDirection>\n translations: ComputedRef<ApiReferenceTranslations>\n translate: (key: ApiReferenceTranslationKey, params?: Record<string, number | string>) => string\n}\n\ntype ResolvedLocalization = {\n locale: ApiReferenceLocale\n direction: ApiReferenceTextDirection\n translations: ApiReferenceTranslations\n}\n\nconst LOCALIZATION_SYMBOL: InjectionKey<LocalizationContext> = Symbol('LOCALIZATION')\n\nconst resolveBuiltInLocale = (locale?: ApiReferenceLocale): keyof typeof localeTranslations => {\n if (!locale) {\n return DEFAULT_LOCALE\n }\n\n if (locale in localeTranslations) {\n return locale as keyof typeof localeTranslations\n }\n\n const normalized = locale.replace('_', '-').toLowerCase()\n\n if (normalized.startsWith('zh')) {\n return 'zh-CN'\n }\n\n const language = normalized.split('-')[0]\n const match = Object.keys(localeTranslations).find((key) => key.toLowerCase() === language)\n\n return (match as keyof typeof localeTranslations | undefined) ?? DEFAULT_LOCALE\n}\n\nconst resolveDirection = (localization?: ApiReferenceLocalization): ApiReferenceTextDirection => {\n if (localization?.direction && localization.direction !== 'auto') {\n return localization.direction\n }\n\n const locale = localization?.locale ?? DEFAULT_LOCALE\n const language = locale.replace('_', '-').split('-')[0]?.toLowerCase()\n\n return language && RTL_LOCALES.has(language) ? 'rtl' : 'ltr'\n}\n\nexport const resolveLocalization = (localization?: ApiReferenceLocalization): ResolvedLocalization => {\n const locale = localization?.locale ?? DEFAULT_LOCALE\n const builtInLocale = resolveBuiltInLocale(locale)\n const translations = mergeObjects(\n mergeObjects(localeTranslations.en, localeTranslations[builtInLocale]),\n localization?.translations,\n )\n\n return {\n locale,\n direction: resolveDirection(localization),\n translations,\n }\n}\n\nconst getTranslationValue = (translations: ApiReferenceTranslations, key: ApiReferenceTranslationKey) =>\n key.split('.').reduce<unknown>((value, segment) => {\n if (!isObject(value)) {\n return undefined\n }\n\n return value[segment]\n }, translations)\n\nconst translateApiReference = (\n translations: ApiReferenceTranslations,\n key: ApiReferenceTranslationKey,\n params?: Record<string, number | string>,\n): string => {\n const value = getTranslationValue(translations, key)\n\n if (typeof value !== 'string' && import.meta.env.DEV) {\n console.warn(`[@scalar/api-reference] Missing translation for key \"${key}\". Falling back to the key itself.`)\n }\n\n const template = typeof value === 'string' ? value : key\n\n if (!params) {\n return template\n }\n\n return Object.entries(params).reduce(\n (result, [param, paramValue]) => result.replaceAll(`{${param}}`, String(paramValue)),\n template,\n )\n}\n\nconst createLocalizationContext = (\n localization: MaybeRefOrGetter<ApiReferenceLocalization | undefined>,\n): LocalizationContext => {\n const resolved = computed(() => resolveLocalization(toValue(localization)))\n\n return {\n locale: computed(() => resolved.value.locale),\n direction: computed(() => resolved.value.direction),\n translations: computed(() => resolved.value.translations),\n translate: (key, params) => translateApiReference(resolved.value.translations, key, params),\n }\n}\n\nexport const provideLocalization = (localization: MaybeRefOrGetter<ApiReferenceLocalization | undefined>) => {\n const context = createLocalizationContext(localization)\n\n provide(LOCALIZATION_SYMBOL, context)\n\n return context\n}\n\nexport const useLocalization = (): LocalizationContext =>\n inject(LOCALIZATION_SYMBOL, createLocalizationContext(undefined))\n"],"mappings":";;;;;AA0BA,IAAM,sBAAyD,OAAO,eAAe;AAErF,IAAM,wBAAwB,WAAiE;AAC7F,KAAI,CAAC,OACH,QAAA;AAGF,KAAI,UAAU,mBACZ,QAAO;CAGT,MAAM,aAAa,OAAO,QAAQ,KAAK,IAAI,CAAC,aAAa;AAEzD,KAAI,WAAW,WAAW,KAAK,CAC7B,QAAO;CAGT,MAAM,WAAW,WAAW,MAAM,IAAI,CAAC;AAGvC,QAFc,OAAO,KAAK,mBAAmB,CAAC,MAAM,QAAQ,IAAI,aAAa,KAAK,SAAS,IAAA;;AAK7F,IAAM,oBAAoB,iBAAuE;AAC/F,KAAI,cAAc,aAAa,aAAa,cAAc,OACxD,QAAO,aAAa;CAItB,MAAM,YADS,cAAc,UAAA,MACL,QAAQ,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,aAAa;AAEtE,QAAO,YAAY,YAAY,IAAI,SAAS,GAAG,QAAQ;;AAGzD,IAAa,uBAAuB,iBAAkE;CACpG,MAAM,SAAS,cAAc,UAAA;CAC7B,MAAM,gBAAgB,qBAAqB,OAAO;CAClD,MAAM,eAAe,aACnB,aAAa,mBAAmB,IAAI,mBAAmB,eAAe,EACtE,cAAc,aACf;AAED,QAAO;EACL;EACA,WAAW,iBAAiB,aAAa;EACzC;EACD;;AAGH,IAAM,uBAAuB,cAAwC,QACnE,IAAI,MAAM,IAAI,CAAC,QAAiB,OAAO,YAAY;AACjD,KAAI,CAAC,SAAS,MAAM,CAClB;AAGF,QAAO,MAAM;GACZ,aAAa;AAElB,IAAM,yBACJ,cACA,KACA,WACW;CACX,MAAM,QAAQ,oBAAoB,cAAc,IAAI;CAMpD,MAAM,WAAW,OAAO,UAAU,WAAW,QAAQ;AAErD,KAAI,CAAC,OACH,QAAO;AAGT,QAAO,OAAO,QAAQ,OAAO,CAAC,QAC3B,QAAQ,CAAC,OAAO,gBAAgB,OAAO,WAAW,IAAI,MAAM,IAAI,OAAO,WAAW,CAAC,EACpF,SACD;;AAGH,IAAM,6BACJ,iBACwB;CACxB,MAAM,WAAW,eAAe,oBAAoB,QAAQ,aAAa,CAAC,CAAC;AAE3E,QAAO;EACL,QAAQ,eAAe,SAAS,MAAM,OAAO;EAC7C,WAAW,eAAe,SAAS,MAAM,UAAU;EACnD,cAAc,eAAe,SAAS,MAAM,aAAa;EACzD,YAAY,KAAK,WAAW,sBAAsB,SAAS,MAAM,cAAc,KAAK,OAAO;EAC5F;;AAGH,IAAa,uBAAuB,iBAAyE;CAC3G,MAAM,UAAU,0BAA0B,aAAa;AAEvD,SAAQ,qBAAqB,QAAQ;AAErC,QAAO;;AAGT,IAAa,wBACX,OAAO,qBAAqB,0BAA0B,KAAA,EAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, toDisplayString, unref, withCtx } from "vue";
2
- import { ScalarIconCaretDown } from "@scalar/icons";
3
2
  import { ScalarListbox } from "@scalar/components/listbox";
3
+ import { ScalarIconCaretDown } from "@scalar/icons";
4
4
  //#region src/features/multiple-documents/DocumentSelector.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = {
6
6
  key: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"TestRequestButton.vue.d.ts","sourceRoot":"","sources":["../../../src/features/test-request-button/TestRequestButton.vue"],"names":[],"mappings":"AA0FA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAIvE,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+BAA+B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzD,CAAC;AAuFF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"TestRequestButton.vue.d.ts","sourceRoot":"","sources":["../../../src/features/test-request-button/TestRequestButton.vue"],"names":[],"mappings":"AA4FA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAKvE,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+BAA+B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzD,CAAC;AA0FF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export
2
2
  import TestRequestButton_vue_vue_type_script_setup_true_lang_default from "./TestRequestButton.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/features/test-request-button/TestRequestButton.vue
5
- var TestRequestButton_default = /* @__PURE__ */ _plugin_vue_export_helper_default(TestRequestButton_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-15e312d9"]]);
5
+ var TestRequestButton_default = /* @__PURE__ */ _plugin_vue_export_helper_default(TestRequestButton_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ad72d914"]]);
6
6
  //#endregion
7
7
  export { TestRequestButton_default as default };
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"TestRequestButton.vue.js","names":[],"sources":["../../../src/features/test-request-button/TestRequestButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { ScalarIconPlay } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\n\nimport ScreenReader from '@/components/ScreenReader.vue'\n\nconst {\n id,\n method,\n path,\n eventBus,\n exampleName,\n requestBodyCompositionSelection,\n} = defineProps<{\n id: string\n method: HttpMethod\n path: string\n eventBus: WorkspaceEventBus\n exampleName?: string\n requestBodyCompositionSelection?: Record<string, number>\n}>()\n\n/** Route via ID and optionally with example name */\nconst handleClick = () => {\n // Include exampleName in payload if provided\n const payload = {\n id,\n ...(exampleName && { exampleName }),\n ...(requestBodyCompositionSelection &&\n Object.keys(requestBodyCompositionSelection).length > 0 && {\n requestBodyCompositionSelection,\n }),\n }\n eventBus.emit('ui:open:client-modal', payload)\n}\n</script>\n<template>\n <!-- Render the Test Request Button -->\n <button\n class=\"show-api-client-button\"\n :method=\"method\"\n type=\"button\"\n @click.stop=\"handleClick\">\n <ScalarIconPlay\n class=\"size-3\"\n weight=\"fill\" />\n <span>Test Request</span>\n <ScreenReader>({{ method }} {{ path }})</ScreenReader>\n </button>\n</template>\n<style scoped>\n.show-api-client-button {\n appearance: none;\n border: none;\n padding: 1px 6px;\n white-space: nowrap;\n border-radius: var(--scalar-radius);\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-small);\n line-height: 22px;\n color: var(--scalar-background-2);\n font-family: var(--scalar-font);\n background: var(--scalar-button-1);\n position: relative;\n cursor: pointer;\n box-sizing: border-box;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n\n outline-offset: 2px;\n}\n.show-api-client-button span,\n.show-api-client-button svg {\n fill: currentColor;\n color: var(--scalar-button-1-color);\n z-index: 1;\n}\n.show-api-client-button:hover {\n background: var(--scalar-button-1-hover);\n}\n.show-api-client-button svg {\n margin-right: 4px;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"TestRequestButton.vue.js","names":[],"sources":["../../../src/features/test-request-button/TestRequestButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { ScalarIconPlay } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\n\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport { useLocalization } from '@/features/localization'\n\nconst {\n id,\n method,\n path,\n eventBus,\n exampleName,\n requestBodyCompositionSelection,\n} = defineProps<{\n id: string\n method: HttpMethod\n path: string\n eventBus: WorkspaceEventBus\n exampleName?: string\n requestBodyCompositionSelection?: Record<string, number>\n}>()\nconst { translate } = useLocalization()\n\n/** Route via ID and optionally with example name */\nconst handleClick = () => {\n // Include exampleName in payload if provided\n const payload = {\n id,\n ...(exampleName && { exampleName }),\n ...(requestBodyCompositionSelection &&\n Object.keys(requestBodyCompositionSelection).length > 0 && {\n requestBodyCompositionSelection,\n }),\n }\n eventBus.emit('ui:open:client-modal', payload)\n}\n</script>\n<template>\n <!-- Render the Test Request Button -->\n <button\n class=\"show-api-client-button\"\n :method=\"method\"\n type=\"button\"\n @click.stop=\"handleClick\">\n <ScalarIconPlay\n class=\"size-3\"\n weight=\"fill\" />\n <span>{{ translate('operation.testRequest') }}</span>\n <ScreenReader>({{ method }} {{ path }})</ScreenReader>\n </button>\n</template>\n<style scoped>\n.show-api-client-button {\n appearance: none;\n border: none;\n padding: 1px 6px;\n white-space: nowrap;\n border-radius: var(--scalar-radius);\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-small);\n line-height: 22px;\n color: var(--scalar-background-2);\n font-family: var(--scalar-font);\n background: var(--scalar-button-1);\n position: relative;\n cursor: pointer;\n box-sizing: border-box;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n\n outline-offset: 2px;\n}\n.show-api-client-button span,\n.show-api-client-button svg {\n fill: currentColor;\n color: var(--scalar-button-1-color);\n z-index: 1;\n}\n.show-api-client-button:hover {\n background: var(--scalar-button-1-hover);\n}\n.show-api-client-button svg {\n margin-right: 4px;\n}\n</style>\n"],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import { useLocalization } from "../localization/use-localization.js";
1
2
  import ScreenReader_default from "../../components/ScreenReader.vue.js";
2
3
  import { createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, toDisplayString, unref, withCtx, withModifiers } from "vue";
3
4
  import { ScalarIconPlay } from "@scalar/icons";
@@ -14,6 +15,7 @@ var TestRequestButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
14
15
  requestBodyCompositionSelection: {}
15
16
  },
16
17
  setup(__props) {
18
+ const { translate } = useLocalization();
17
19
  /** Route via ID and optionally with example name */
18
20
  const handleClick = () => {
19
21
  const payload = {
@@ -34,7 +36,7 @@ var TestRequestButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
34
36
  class: "size-3",
35
37
  weight: "fill"
36
38
  }),
37
- _cache[0] || (_cache[0] = createElementVNode("span", null, "Test Request", -1)),
39
+ createElementVNode("span", null, toDisplayString(unref(translate)("operation.testRequest")), 1),
38
40
  createVNode(ScreenReader_default, null, {
39
41
  default: withCtx(() => [createTextVNode("(" + toDisplayString(__props.method) + " " + toDisplayString(__props.path) + ")", 1)]),
40
42
  _: 1
@@ -1 +1 @@
1
- {"version":3,"file":"TestRequestButton.vue.script.js","names":[],"sources":["../../../src/features/test-request-button/TestRequestButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { ScalarIconPlay } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\n\nimport ScreenReader from '@/components/ScreenReader.vue'\n\nconst {\n id,\n method,\n path,\n eventBus,\n exampleName,\n requestBodyCompositionSelection,\n} = defineProps<{\n id: string\n method: HttpMethod\n path: string\n eventBus: WorkspaceEventBus\n exampleName?: string\n requestBodyCompositionSelection?: Record<string, number>\n}>()\n\n/** Route via ID and optionally with example name */\nconst handleClick = () => {\n // Include exampleName in payload if provided\n const payload = {\n id,\n ...(exampleName && { exampleName }),\n ...(requestBodyCompositionSelection &&\n Object.keys(requestBodyCompositionSelection).length > 0 && {\n requestBodyCompositionSelection,\n }),\n }\n eventBus.emit('ui:open:client-modal', payload)\n}\n</script>\n<template>\n <!-- Render the Test Request Button -->\n <button\n class=\"show-api-client-button\"\n :method=\"method\"\n type=\"button\"\n @click.stop=\"handleClick\">\n <ScalarIconPlay\n class=\"size-3\"\n weight=\"fill\" />\n <span>Test Request</span>\n <ScreenReader>({{ method }} {{ path }})</ScreenReader>\n </button>\n</template>\n<style scoped>\n.show-api-client-button {\n appearance: none;\n border: none;\n padding: 1px 6px;\n white-space: nowrap;\n border-radius: var(--scalar-radius);\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-small);\n line-height: 22px;\n color: var(--scalar-background-2);\n font-family: var(--scalar-font);\n background: var(--scalar-button-1);\n position: relative;\n cursor: pointer;\n box-sizing: border-box;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n\n outline-offset: 2px;\n}\n.show-api-client-button span,\n.show-api-client-button svg {\n fill: currentColor;\n color: var(--scalar-button-1-color);\n z-index: 1;\n}\n.show-api-client-button:hover {\n background: var(--scalar-button-1-hover);\n}\n.show-api-client-button svg {\n margin-right: 4px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;EAwBA,MAAM,oBAAoB;GAExB,MAAM,UAAU;IACd,IAAC,QAAA;IACD,GAAI,QAAA,eAAe,EAAE,aAAU,QAAA,aAAG;IAClC,GAAI,QAAA,mCACF,OAAO,KAAK,QAAA,gCAAgC,CAAC,SAAS,KAAK,EACzD,iCAA8B,QAAA,iCAC/B;IACL;AACA,WAAA,SAAS,KAAK,wBAAwB,QAAO;;;uBAK7C,mBAUS,UAAA;IATP,OAAM;IACL,QAAQ,QAAA;IACT,MAAK;IACJ,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;;IACxB,YAEkB,MAAA,eAAA,EAAA;KADhB,OAAM;KACN,QAAO;;8BACT,mBAAyB,QAAA,MAAnB,gBAAY,GAAA;IAClB,YAAsD,sBAAA,MAAA;4BAAvC,CAAA,gBAAD,MAAC,gBAAG,QAAA,OAAM,GAAG,MAAC,gBAAG,QAAA,KAAI,GAAG,KAAC,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"TestRequestButton.vue.script.js","names":[],"sources":["../../../src/features/test-request-button/TestRequestButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { ScalarIconPlay } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\n\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport { useLocalization } from '@/features/localization'\n\nconst {\n id,\n method,\n path,\n eventBus,\n exampleName,\n requestBodyCompositionSelection,\n} = defineProps<{\n id: string\n method: HttpMethod\n path: string\n eventBus: WorkspaceEventBus\n exampleName?: string\n requestBodyCompositionSelection?: Record<string, number>\n}>()\nconst { translate } = useLocalization()\n\n/** Route via ID and optionally with example name */\nconst handleClick = () => {\n // Include exampleName in payload if provided\n const payload = {\n id,\n ...(exampleName && { exampleName }),\n ...(requestBodyCompositionSelection &&\n Object.keys(requestBodyCompositionSelection).length > 0 && {\n requestBodyCompositionSelection,\n }),\n }\n eventBus.emit('ui:open:client-modal', payload)\n}\n</script>\n<template>\n <!-- Render the Test Request Button -->\n <button\n class=\"show-api-client-button\"\n :method=\"method\"\n type=\"button\"\n @click.stop=\"handleClick\">\n <ScalarIconPlay\n class=\"size-3\"\n weight=\"fill\" />\n <span>{{ translate('operation.testRequest') }}</span>\n <ScreenReader>({{ method }} {{ path }})</ScreenReader>\n </button>\n</template>\n<style scoped>\n.show-api-client-button {\n appearance: none;\n border: none;\n padding: 1px 6px;\n white-space: nowrap;\n border-radius: var(--scalar-radius);\n display: flex;\n justify-content: center;\n align-items: center;\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-small);\n line-height: 22px;\n color: var(--scalar-background-2);\n font-family: var(--scalar-font);\n background: var(--scalar-button-1);\n position: relative;\n cursor: pointer;\n box-sizing: border-box;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n\n outline-offset: 2px;\n}\n.show-api-client-button span,\n.show-api-client-button svg {\n fill: currentColor;\n color: var(--scalar-button-1-color);\n z-index: 1;\n}\n.show-api-client-button:hover {\n background: var(--scalar-button-1-hover);\n}\n.show-api-client-button svg {\n margin-right: 4px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;EAuBA,MAAM,EAAE,cAAc,iBAAgB;;EAGtC,MAAM,oBAAoB;GAExB,MAAM,UAAU;IACd,IAAC,QAAA;IACD,GAAI,QAAA,eAAe,EAAE,aAAU,QAAA,aAAG;IAClC,GAAI,QAAA,mCACF,OAAO,KAAK,QAAA,gCAAgC,CAAC,SAAS,KAAK,EACzD,iCAA8B,QAAA,iCAC/B;IACL;AACA,WAAA,SAAS,KAAK,wBAAwB,QAAO;;;uBAK7C,mBAUS,UAAA;IATP,OAAM;IACL,QAAQ,QAAA;IACT,MAAK;IACJ,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;;IACxB,YAEkB,MAAA,eAAA,EAAA;KADhB,OAAM;KACN,QAAO;;IACT,mBAAqD,QAAA,MAAA,gBAA5C,MAAA,UAAS,CAAA,wBAAA,CAAA,EAAA,EAAA;IAClB,YAAsD,sBAAA,MAAA;4BAAvC,CAAA,gBAAD,MAAC,gBAAG,QAAA,OAAM,GAAG,MAAC,gBAAG,QAAA,KAAI,GAAG,KAAC,EAAA,CAAA,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { AsyncApiMessageObject } from '@scalar/types/asyncapi/3.1';
2
+ import type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
3
+ /**
4
+ * Unwraps an AsyncAPI schema-bearing value into the `SchemaObject` shape the shared OpenAPI
5
+ * `Schema`/`Model` components expect.
6
+ *
7
+ * AsyncAPI reuses JSON Schema, but a value may need extra handling:
8
+ * - The value itself may be a `$ref`; it is resolved to its `$ref-value`.
9
+ * - A Multi Format Schema Object (`schemaFormat` plus a nested `schema`) is unwrapped to its
10
+ * payload, so we render the inner JSON Schema rather than the wrapper.
11
+ * - Boolean (`true`/`false`) and non-JSON-Schema payloads are skipped.
12
+ */
13
+ export declare const unwrapAsyncApiSchema: (value: unknown) => SchemaObject | undefined;
14
+ /** Resolves an AsyncAPI message `payload` into the `SchemaObject` the shared Schema component expects. */
15
+ export declare const getAsyncApiMessagePayloadSchema: (message: AsyncApiMessageObject) => SchemaObject | undefined;
16
+ /** Resolves an AsyncAPI message `headers` into the `SchemaObject` the shared Schema component expects. */
17
+ export declare const getAsyncApiMessageHeadersSchema: (message: AsyncApiMessageObject) => SchemaObject | undefined;
18
+ //# sourceMappingURL=get-async-api-message-payload-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-async-api-message-payload-schema.d.ts","sourceRoot":"","sources":["../../src/helpers/get-async-api-message-payload-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAShG;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,YAAY,GAAG,SAYpE,CAAA;AAED,0GAA0G;AAC1G,eAAO,MAAM,+BAA+B,GAAI,SAAS,qBAAqB,KAAG,YAAY,GAAG,SACzD,CAAA;AAEvC,0GAA0G;AAC1G,eAAO,MAAM,+BAA+B,GAAI,SAAS,qBAAqB,KAAG,YAAY,GAAG,SACzD,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref";
2
+ import { isObject } from "@scalar/helpers/object/is-object";
3
+ //#region src/helpers/get-async-api-message-payload-schema.ts
4
+ /**
5
+ * A resolved schema-bearing value may be a JSON Schema object, a boolean (`true`/`false`)
6
+ * schema, or a Multi Format Schema wrapper, so accept only plain objects and treat them as the
7
+ * `SchemaObject` the shared Schema/Model rendering expects.
8
+ */
9
+ var isSchemaObject = (value) => isObject(value);
10
+ /**
11
+ * Unwraps an AsyncAPI schema-bearing value into the `SchemaObject` shape the shared OpenAPI
12
+ * `Schema`/`Model` components expect.
13
+ *
14
+ * AsyncAPI reuses JSON Schema, but a value may need extra handling:
15
+ * - The value itself may be a `$ref`; it is resolved to its `$ref-value`.
16
+ * - A Multi Format Schema Object (`schemaFormat` plus a nested `schema`) is unwrapped to its
17
+ * payload, so we render the inner JSON Schema rather than the wrapper.
18
+ * - Boolean (`true`/`false`) and non-JSON-Schema payloads are skipped.
19
+ */
20
+ var unwrapAsyncApiSchema = (value) => {
21
+ if (value === void 0) return;
22
+ const resolved = getResolvedRef(value);
23
+ const schema = isObject(resolved) && "schemaFormat" in resolved ? getResolvedRef(resolved.schema) : resolved;
24
+ return isSchemaObject(schema) ? schema : void 0;
25
+ };
26
+ /** Resolves an AsyncAPI message `payload` into the `SchemaObject` the shared Schema component expects. */
27
+ var getAsyncApiMessagePayloadSchema = (message) => unwrapAsyncApiSchema(message.payload);
28
+ /** Resolves an AsyncAPI message `headers` into the `SchemaObject` the shared Schema component expects. */
29
+ var getAsyncApiMessageHeadersSchema = (message) => unwrapAsyncApiSchema(message.headers);
30
+ //#endregion
31
+ export { getAsyncApiMessageHeadersSchema, getAsyncApiMessagePayloadSchema, unwrapAsyncApiSchema };
32
+
33
+ //# sourceMappingURL=get-async-api-message-payload-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-async-api-message-payload-schema.js","names":[],"sources":["../../src/helpers/get-async-api-message-payload-schema.ts"],"sourcesContent":["import { isObject } from '@scalar/helpers/object/is-object'\nimport type { AsyncApiMessageObject } from '@scalar/types/asyncapi/3.1'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/**\n * A resolved schema-bearing value may be a JSON Schema object, a boolean (`true`/`false`)\n * schema, or a Multi Format Schema wrapper, so accept only plain objects and treat them as the\n * `SchemaObject` the shared Schema/Model rendering expects.\n */\nconst isSchemaObject = (value: unknown): value is SchemaObject => isObject(value)\n\n/**\n * Unwraps an AsyncAPI schema-bearing value into the `SchemaObject` shape the shared OpenAPI\n * `Schema`/`Model` components expect.\n *\n * AsyncAPI reuses JSON Schema, but a value may need extra handling:\n * - The value itself may be a `$ref`; it is resolved to its `$ref-value`.\n * - A Multi Format Schema Object (`schemaFormat` plus a nested `schema`) is unwrapped to its\n * payload, so we render the inner JSON Schema rather than the wrapper.\n * - Boolean (`true`/`false`) and non-JSON-Schema payloads are skipped.\n */\nexport const unwrapAsyncApiSchema = (value: unknown): SchemaObject | undefined => {\n if (value === undefined) {\n return undefined\n }\n\n // Resolve the value the same way OpenAPI model rendering does (plain `$ref-value`).\n const resolved = getResolvedRef(value)\n\n // Multi Format Schema Objects carry the real schema under `schema`; unwrap to that payload.\n const schema = isObject(resolved) && 'schemaFormat' in resolved ? getResolvedRef(resolved.schema) : resolved\n\n return isSchemaObject(schema) ? schema : undefined\n}\n\n/** Resolves an AsyncAPI message `payload` into the `SchemaObject` the shared Schema component expects. */\nexport const getAsyncApiMessagePayloadSchema = (message: AsyncApiMessageObject): SchemaObject | undefined =>\n unwrapAsyncApiSchema(message.payload)\n\n/** Resolves an AsyncAPI message `headers` into the `SchemaObject` the shared Schema component expects. */\nexport const getAsyncApiMessageHeadersSchema = (message: AsyncApiMessageObject): SchemaObject | undefined =>\n unwrapAsyncApiSchema(message.headers)\n"],"mappings":";;;;;;;;AAUA,IAAM,kBAAkB,UAA0C,SAAS,MAAM;;;;;;;;;;;AAYjF,IAAa,wBAAwB,UAA6C;AAChF,KAAI,UAAU,KAAA,EACZ;CAIF,MAAM,WAAW,eAAe,MAAM;CAGtC,MAAM,SAAS,SAAS,SAAS,IAAI,kBAAkB,WAAW,eAAe,SAAS,OAAO,GAAG;AAEpG,QAAO,eAAe,OAAO,GAAG,SAAS,KAAA;;;AAI3C,IAAa,mCAAmC,YAC9C,qBAAqB,QAAQ,QAAQ;;AAGvC,IAAa,mCAAmC,YAC9C,qBAAqB,QAAQ,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-async-api-model-schema.d.ts","sourceRoot":"","sources":["../../src/helpers/get-async-api-model-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAShG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU,gBAAgB,EAAE,MAAM,MAAM,KAAG,YAAY,GAAG,SAmBhG,CAAA"}
1
+ {"version":3,"file":"get-async-api-model-schema.d.ts","sourceRoot":"","sources":["../../src/helpers/get-async-api-model-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAIhG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU,gBAAgB,EAAE,MAAM,MAAM,KAAG,YAAY,GAAG,SAWhG,CAAA"}
@@ -1,13 +1,7 @@
1
+ import { unwrapAsyncApiSchema } from "./get-async-api-message-payload-schema.js";
1
2
  import { getResolvedRef, mergeSiblingReferences } from "@scalar/workspace-store/helpers/get-resolved-ref";
2
- import { isObject } from "@scalar/helpers/object/is-object";
3
3
  //#region src/helpers/get-async-api-model-schema.ts
4
4
  /**
5
- * A resolved `components.schemas` entry may be a JSON Schema object, a boolean (`true`/`false`)
6
- * schema, or a Multi Format Schema wrapper, so accept only plain objects and treat them as the
7
- * `SchemaObject` the shared Model rendering and search helpers expect.
8
- */
9
- var isSchemaObject = (value) => isObject(value);
10
- /**
11
5
  * Resolves a named schema from an AsyncAPI document's `components.schemas` into the `SchemaObject`
12
6
  * shape the shared OpenAPI Model components and search indexing expect.
13
7
  *
@@ -21,10 +15,7 @@ var isSchemaObject = (value) => isObject(value);
21
15
  var getAsyncApiModelSchema = (document, name) => {
22
16
  if (!document.components) return;
23
17
  const entry = getResolvedRef(document.components, mergeSiblingReferences).schemas?.[name];
24
- if (entry === void 0) return;
25
- const resolved = getResolvedRef(entry);
26
- const schema = isObject(resolved) && "schemaFormat" in resolved ? getResolvedRef(resolved.schema) : resolved;
27
- return isSchemaObject(schema) ? schema : void 0;
18
+ return unwrapAsyncApiSchema(entry);
28
19
  };
29
20
  //#endregion
30
21
  export { getAsyncApiModelSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"get-async-api-model-schema.js","names":[],"sources":["../../src/helpers/get-async-api-model-schema.ts"],"sourcesContent":["import { isObject } from '@scalar/helpers/object/is-object'\nimport type { AsyncApiDocument } from '@scalar/types/asyncapi/3.1'\nimport { getResolvedRef, mergeSiblingReferences } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/**\n * A resolved `components.schemas` entry may be a JSON Schema object, a boolean (`true`/`false`)\n * schema, or a Multi Format Schema wrapper, so accept only plain objects and treat them as the\n * `SchemaObject` the shared Model rendering and search helpers expect.\n */\nconst isSchemaObject = (value: unknown): value is SchemaObject => isObject(value)\n\n/**\n * Resolves a named schema from an AsyncAPI document's `components.schemas` into the `SchemaObject`\n * shape the shared OpenAPI Model components and search indexing expect.\n *\n * AsyncAPI keeps reusable schemas in the same place OpenAPI does, but an entry may need extra handling:\n * - `components` or the schema itself may be a `$ref`; siblings are merged so keys declared alongside\n * a `$ref` are kept rather than dropped.\n * - A Multi Format Schema Object (`schemaFormat` plus a nested `schema`) is unwrapped to its payload,\n * so we index and render the inner JSON Schema rather than the wrapper.\n * - Boolean (`true`/`false`) and non-JSON-Schema payloads are skipped.\n */\nexport const getAsyncApiModelSchema = (document: AsyncApiDocument, name: string): SchemaObject | undefined => {\n if (!document.components) {\n return undefined\n }\n\n // Merge siblings at the components level so schemas declared alongside a `$ref` are kept.\n const components = getResolvedRef(document.components, mergeSiblingReferences)\n const entry = components.schemas?.[name]\n if (entry === undefined) {\n return undefined\n }\n\n // Resolve the schema itself the same way OpenAPI model rendering does (plain `$ref-value`).\n const resolved = getResolvedRef(entry)\n\n // Multi Format Schema Objects carry the real schema under `schema`; unwrap to that payload.\n const schema = isObject(resolved) && 'schemaFormat' in resolved ? getResolvedRef(resolved.schema) : resolved\n\n return isSchemaObject(schema) ? schema : undefined\n}\n"],"mappings":";;;;;;;;AAUA,IAAM,kBAAkB,UAA0C,SAAS,MAAM;;;;;;;;;;;;AAajF,IAAa,0BAA0B,UAA4B,SAA2C;AAC5G,KAAI,CAAC,SAAS,WACZ;CAKF,MAAM,QADa,eAAe,SAAS,YAAY,uBAAuB,CACrD,UAAU;AACnC,KAAI,UAAU,KAAA,EACZ;CAIF,MAAM,WAAW,eAAe,MAAM;CAGtC,MAAM,SAAS,SAAS,SAAS,IAAI,kBAAkB,WAAW,eAAe,SAAS,OAAO,GAAG;AAEpG,QAAO,eAAe,OAAO,GAAG,SAAS,KAAA"}
1
+ {"version":3,"file":"get-async-api-model-schema.js","names":[],"sources":["../../src/helpers/get-async-api-model-schema.ts"],"sourcesContent":["import type { AsyncApiDocument } from '@scalar/types/asyncapi/3.1'\nimport { getResolvedRef, mergeSiblingReferences } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { unwrapAsyncApiSchema } from './get-async-api-message-payload-schema'\n\n/**\n * Resolves a named schema from an AsyncAPI document's `components.schemas` into the `SchemaObject`\n * shape the shared OpenAPI Model components and search indexing expect.\n *\n * AsyncAPI keeps reusable schemas in the same place OpenAPI does, but an entry may need extra handling:\n * - `components` or the schema itself may be a `$ref`; siblings are merged so keys declared alongside\n * a `$ref` are kept rather than dropped.\n * - A Multi Format Schema Object (`schemaFormat` plus a nested `schema`) is unwrapped to its payload,\n * so we index and render the inner JSON Schema rather than the wrapper.\n * - Boolean (`true`/`false`) and non-JSON-Schema payloads are skipped.\n */\nexport const getAsyncApiModelSchema = (document: AsyncApiDocument, name: string): SchemaObject | undefined => {\n if (!document.components) {\n return undefined\n }\n\n // Merge siblings at the components level so schemas declared alongside a `$ref` are kept.\n const components = getResolvedRef(document.components, mergeSiblingReferences)\n const entry = components.schemas?.[name]\n\n // Resolve `$ref`s and unwrap Multi Format Schema Objects into the plain JSON Schema shape.\n return unwrapAsyncApiSchema(entry)\n}\n"],"mappings":";;;;;;;;;;;;;;AAiBA,IAAa,0BAA0B,UAA4B,SAA2C;AAC5G,KAAI,CAAC,SAAS,WACZ;CAKF,MAAM,QADa,eAAe,SAAS,YAAY,uBAAuB,CACrD,UAAU;AAGnC,QAAO,qBAAqB,MAAM"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The auto-generated "Introduction" navigation entry always uses the `introduction` slug, so its id
3
+ * ends with this suffix regardless of the active locale or the displayed title.
4
+ */
5
+ export declare const INTRODUCTION_ENTRY_ID_SUFFIX = "/description/introduction";
6
+ /**
7
+ * Whether a navigation entry is the auto-generated introduction section.
8
+ *
9
+ * We match on the stable entry id instead of the English title so localization does not accidentally
10
+ * rewrite unrelated description headings that happen to be called "Introduction".
11
+ */
12
+ export declare const isIntroductionEntry: (entry: {
13
+ type?: string;
14
+ id?: string;
15
+ }) => boolean;
16
+ //# sourceMappingURL=is-introduction-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-introduction-entry.d.ts","sourceRoot":"","sources":["../../src/helpers/is-introduction-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,4BAA4B,8BAA8B,CAAA;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,OAC8B,CAAA"}
@@ -0,0 +1,17 @@
1
+ //#region src/helpers/is-introduction-entry.ts
2
+ /**
3
+ * The auto-generated "Introduction" navigation entry always uses the `introduction` slug, so its id
4
+ * ends with this suffix regardless of the active locale or the displayed title.
5
+ */
6
+ var INTRODUCTION_ENTRY_ID_SUFFIX = "/description/introduction";
7
+ /**
8
+ * Whether a navigation entry is the auto-generated introduction section.
9
+ *
10
+ * We match on the stable entry id instead of the English title so localization does not accidentally
11
+ * rewrite unrelated description headings that happen to be called "Introduction".
12
+ */
13
+ var isIntroductionEntry = (entry) => entry.type === "text" && typeof entry.id === "string" && entry.id.endsWith("/description/introduction");
14
+ //#endregion
15
+ export { INTRODUCTION_ENTRY_ID_SUFFIX, isIntroductionEntry };
16
+
17
+ //# sourceMappingURL=is-introduction-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-introduction-entry.js","names":[],"sources":["../../src/helpers/is-introduction-entry.ts"],"sourcesContent":["/**\n * The auto-generated \"Introduction\" navigation entry always uses the `introduction` slug, so its id\n * ends with this suffix regardless of the active locale or the displayed title.\n */\nexport const INTRODUCTION_ENTRY_ID_SUFFIX = '/description/introduction'\n\n/**\n * Whether a navigation entry is the auto-generated introduction section.\n *\n * We match on the stable entry id instead of the English title so localization does not accidentally\n * rewrite unrelated description headings that happen to be called \"Introduction\".\n */\nexport const isIntroductionEntry = (entry: { type?: string; id?: string }): boolean =>\n entry.type === 'text' && typeof entry.id === 'string' && entry.id.endsWith(INTRODUCTION_ENTRY_ID_SUFFIX)\n"],"mappings":";;;;;AAIA,IAAa,+BAA+B;;;;;;;AAQ5C,IAAa,uBAAuB,UAClC,MAAM,SAAS,UAAU,OAAO,MAAM,OAAO,YAAY,MAAM,GAAG,SAAA,4BAAsC"}
@@ -1,5 +1,5 @@
1
1
  import { authStorage, clientStorage } from "./storage.js";
2
- import { isSelectedClient } from "@scalar/api-client/blocks/operation-code-sample";
2
+ import { isSelectedClient } from "@scalar/blocks/code-example";
3
3
  //#region src/helpers/load-from-perssistance.ts
4
4
  /**
5
5
  * Loads the default HTTP client from storage and applies it to the workspace.
@@ -1 +1 @@
1
- {"version":3,"file":"load-from-perssistance.js","names":[],"sources":["../../src/helpers/load-from-perssistance.ts"],"sourcesContent":["import { isSelectedClient } from '@scalar/api-client/blocks/operation-code-sample'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\n\nimport { authStorage, clientStorage } from '@/helpers/storage'\n\n/**\n * Loads the default HTTP client from storage and applies it to the workspace.\n * Only updates if no default client is already set. Accepts both built-in client\n * ids and custom sample ids (e.g. `custom/python`) so a custom selection persists.\n */\nexport const loadClientFromStorage = (store: WorkspaceStore): void => {\n const storedClient = clientStorage().get()\n\n if (isSelectedClient(storedClient) && !store.workspace['x-scalar-default-client']) {\n store.update('x-scalar-default-client', storedClient)\n }\n}\n\n/**\n * Loads the authentication data from storage and applies it to the workspace.\n * Only updates if no authentication data is already set.\n */\nexport const loadAuthFromStorage = (store: WorkspaceStore, slug: string): void => {\n const authPersistence = authStorage()\n const auth = authPersistence.getAuth(slug)\n store.auth.load({ [slug]: auth })\n}\n"],"mappings":";;;;;;;;AAUA,IAAa,yBAAyB,UAAgC;CACpE,MAAM,eAAe,eAAe,CAAC,KAAK;AAE1C,KAAI,iBAAiB,aAAa,IAAI,CAAC,MAAM,UAAU,2BACrD,OAAM,OAAO,2BAA2B,aAAa;;;;;;AAQzD,IAAa,uBAAuB,OAAuB,SAAuB;CAEhF,MAAM,OADkB,aAAa,CACR,QAAQ,KAAK;AAC1C,OAAM,KAAK,KAAK,GAAG,OAAO,MAAM,CAAC"}
1
+ {"version":3,"file":"load-from-perssistance.js","names":[],"sources":["../../src/helpers/load-from-perssistance.ts"],"sourcesContent":["import { isSelectedClient } from '@scalar/blocks/code-example'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\n\nimport { authStorage, clientStorage } from '@/helpers/storage'\n\n/**\n * Loads the default HTTP client from storage and applies it to the workspace.\n * Only updates if no default client is already set. Accepts both built-in client\n * ids and custom sample ids (e.g. `custom/python`) so a custom selection persists.\n */\nexport const loadClientFromStorage = (store: WorkspaceStore): void => {\n const storedClient = clientStorage().get()\n\n if (isSelectedClient(storedClient) && !store.workspace['x-scalar-default-client']) {\n store.update('x-scalar-default-client', storedClient)\n }\n}\n\n/**\n * Loads the authentication data from storage and applies it to the workspace.\n * Only updates if no authentication data is already set.\n */\nexport const loadAuthFromStorage = (store: WorkspaceStore, slug: string): void => {\n const authPersistence = authStorage()\n const auth = authPersistence.getAuth(slug)\n store.auth.load({ [slug]: auth })\n}\n"],"mappings":";;;;;;;;AAUA,IAAa,yBAAyB,UAAgC;CACpE,MAAM,eAAe,eAAe,CAAC,KAAK;AAE1C,KAAI,iBAAiB,aAAa,IAAI,CAAC,MAAM,UAAU,2BACrD,OAAM,OAAO,2BAA2B,aAAa;;;;;;AAQzD,IAAa,uBAAuB,OAAuB,SAAuB;CAEhF,MAAM,OADkB,aAAa,CACR,QAAQ,KAAK;AAC1C,OAAM,KAAK,KAAK,GAAG,OAAO,MAAM,CAAC"}
@@ -5,9 +5,14 @@ import { type ComputedRef } from 'vue';
5
5
  /**
6
6
  * Maps API reference configuration callbacks to client plugins.
7
7
  *
8
- * This function transforms the legacy onBeforeRequest and onRequestSent callbacks
9
- * into the new plugin hook system. The mapping is reactive, so changes to the
10
- * configuration will automatically update the plugin hooks.
8
+ * This function transforms the onBeforeRequest, onRequestBuilt, and onRequestSent
9
+ * callbacks into the new plugin hook system. The mapping is reactive, so changes
10
+ * to the configuration will automatically update the plugin hooks.
11
+ *
12
+ * Note: onRequestBuilt is mapped to the requestBuilt hook so the callback receives
13
+ * the exact fetch Request that is sent over the wire. Mutating its headers modifies
14
+ * the outgoing request, and hashing its body produces a hash that matches what the
15
+ * server receives (a rebuilt multipart body would get a different boundary).
11
16
  *
12
17
  * Note: onRequestSent is mapped to responseReceived hook. This is not a perfect
13
18
  * one-to-one mapping, but it maintains backward compatibility with the old API.
@@ -1 +1 @@
1
- {"version":3,"file":"map-config-plugins.d.ts","sourceRoot":"","sources":["../../src/helpers/map-config-plugins.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAE5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,EAAE,KAAK,WAAW,EAAS,MAAM,KAAK,CAAA;AAE7C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,WAAW,CAAC,yBAAyB,CAAC,EAC9C,aAAa,WAAW,CAAC,kBAAkB,CAAC,KAC3C,YAAY,EAmDd,CAAA"}
1
+ {"version":3,"file":"map-config-plugins.d.ts","sourceRoot":"","sources":["../../src/helpers/map-config-plugins.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAE5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,EAAE,KAAK,WAAW,EAAS,MAAM,KAAK,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,WAAW,CAAC,yBAAyB,CAAC,EAC9C,aAAa,WAAW,CAAC,kBAAkB,CAAC,KAC3C,YAAY,EAuEd,CAAA"}
@@ -5,9 +5,14 @@ import { buildSafeBodyRequest } from "@scalar/helpers/http/can-method-have-body"
5
5
  /**
6
6
  * Maps API reference configuration callbacks to client plugins.
7
7
  *
8
- * This function transforms the legacy onBeforeRequest and onRequestSent callbacks
9
- * into the new plugin hook system. The mapping is reactive, so changes to the
10
- * configuration will automatically update the plugin hooks.
8
+ * This function transforms the onBeforeRequest, onRequestBuilt, and onRequestSent
9
+ * callbacks into the new plugin hook system. The mapping is reactive, so changes
10
+ * to the configuration will automatically update the plugin hooks.
11
+ *
12
+ * Note: onRequestBuilt is mapped to the requestBuilt hook so the callback receives
13
+ * the exact fetch Request that is sent over the wire. Mutating its headers modifies
14
+ * the outgoing request, and hashing its body produces a hash that matches what the
15
+ * server receives (a rebuilt multipart body would get a different boundary).
11
16
  *
12
17
  * Note: onRequestSent is mapped to responseReceived hook. This is not a perfect
13
18
  * one-to-one mapping, but it maintains backward compatibility with the old API.
@@ -21,9 +26,10 @@ var mapConfigPlugins = (config, environment) => {
21
26
  const plugin = { hooks: {} };
22
27
  watch([
23
28
  () => config.value.onBeforeRequest,
29
+ () => config.value.onRequestBuilt,
24
30
  () => config.value.onRequestSent,
25
31
  () => environment.value
26
- ], ([onBeforeRequest, onRequestSent, environment]) => {
32
+ ], ([onBeforeRequest, onRequestBuilt, onRequestSent, environment]) => {
27
33
  const envVariables = getEnvironmentVariables(environment);
28
34
  if (!plugin.hooks) plugin.hooks = {};
29
35
  plugin.hooks.beforeRequest = onBeforeRequest ? async (payload) => {
@@ -42,6 +48,18 @@ var mapConfigPlugins = (config, environment) => {
42
48
  });
43
49
  } : void 0;
44
50
  /**
51
+ * Maps onRequestBuilt to the requestBuilt hook. The payload request is the
52
+ * exact fetch Request that will be sent, so header mutations apply and body
53
+ * hashes match what goes over the wire.
54
+ */
55
+ plugin.hooks.requestBuilt = onRequestBuilt ? async (payload) => {
56
+ await onRequestBuilt({
57
+ request: payload.request,
58
+ requestBuilder: payload.requestBuilder,
59
+ envVariables
60
+ });
61
+ } : void 0;
62
+ /**
45
63
  * Maps onRequestSent to responseReceived hook.
46
64
  * The old API only passed the URL string, so we extract it from the request.
47
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"map-config-plugins.js","names":[],"sources":["../../src/helpers/map-config-plugins.ts"],"sourcesContent":["import { buildSafeBodyRequest } from '@scalar/helpers/http/can-method-have-body'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport type { ApiReferenceConfiguration } from '@scalar/types/api-reference'\nimport { buildRequest, getEnvironmentVariables } from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { type ComputedRef, watch } from 'vue'\n\n/**\n * Maps API reference configuration callbacks to client plugins.\n *\n * This function transforms the legacy onBeforeRequest and onRequestSent callbacks\n * into the new plugin hook system. The mapping is reactive, so changes to the\n * configuration will automatically update the plugin hooks.\n *\n * Note: onRequestSent is mapped to responseReceived hook. This is not a perfect\n * one-to-one mapping, but it maintains backward compatibility with the old API.\n * The old callback receives only the URL string, while the new hook receives\n * the full response object.\n *\n * @param config - Reactive configuration object containing optional hook callbacks\n * @returns Array containing a single plugin with the mapped hooks\n */\nexport const mapConfigPlugins = (\n config: ComputedRef<ApiReferenceConfiguration>,\n environment: ComputedRef<XScalarEnvironment>,\n): ClientPlugin[] => {\n // Create a new plugin with the hooks which is going to be updated by the watcher when config changes\n const plugin: ClientPlugin = { hooks: {} }\n\n watch(\n [() => config.value.onBeforeRequest, () => config.value.onRequestSent, () => environment.value],\n ([onBeforeRequest, onRequestSent, environment]) => {\n // Get the environment variables for the current environment\n const envVariables = getEnvironmentVariables(environment)\n\n // Initialize the hooks object if it doesn't exist\n if (!plugin.hooks) {\n plugin.hooks = {}\n }\n\n plugin.hooks.beforeRequest = onBeforeRequest\n ? async (payload) => {\n const built = buildRequest(payload.requestBuilder, {\n envVariables,\n allowMissingRequestServerBase: true,\n })\n if (!built.ok) {\n console.error(\n '[@scalar/api-reference] onBeforeRequest was not run because the request could not be built:',\n built.message ?? built.error,\n )\n return\n }\n await onBeforeRequest({\n // We need to build the request to get the fetch `Request`\n request: buildSafeBodyRequest(...built.data.requestPayload),\n requestBuilder: payload.requestBuilder,\n envVariables,\n })\n }\n : undefined\n\n /**\n * Maps onRequestSent to responseReceived hook.\n * The old API only passed the URL string, so we extract it from the request.\n */\n plugin.hooks.responseReceived = onRequestSent\n ? (payload) => {\n onRequestSent(payload.request.url)\n }\n : undefined\n },\n { immediate: true },\n )\n\n return [plugin]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAsBA,IAAa,oBACX,QACA,gBACmB;CAEnB,MAAM,SAAuB,EAAE,OAAO,EAAE,EAAE;AAE1C,OACE;QAAO,OAAO,MAAM;QAAuB,OAAO,MAAM;QAAqB,YAAY;EAAM,GAC9F,CAAC,iBAAiB,eAAe,iBAAiB;EAEjD,MAAM,eAAe,wBAAwB,YAAY;AAGzD,MAAI,CAAC,OAAO,MACV,QAAO,QAAQ,EAAE;AAGnB,SAAO,MAAM,gBAAgB,kBACzB,OAAO,YAAY;GACjB,MAAM,QAAQ,aAAa,QAAQ,gBAAgB;IACjD;IACA,+BAA+B;IAChC,CAAC;AACF,OAAI,CAAC,MAAM,IAAI;AACb,YAAQ,MACN,+FACA,MAAM,WAAW,MAAM,MACxB;AACD;;AAEF,SAAM,gBAAgB;IAEpB,SAAS,qBAAqB,GAAG,MAAM,KAAK,eAAe;IAC3D,gBAAgB,QAAQ;IACxB;IACD,CAAC;MAEJ,KAAA;;;;;AAMJ,SAAO,MAAM,mBAAmB,iBAC3B,YAAY;AACX,iBAAc,QAAQ,QAAQ,IAAI;MAEpC,KAAA;IAEN,EAAE,WAAW,MAAM,CACpB;AAED,QAAO,CAAC,OAAO"}
1
+ {"version":3,"file":"map-config-plugins.js","names":[],"sources":["../../src/helpers/map-config-plugins.ts"],"sourcesContent":["import { buildSafeBodyRequest } from '@scalar/helpers/http/can-method-have-body'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport type { ApiReferenceConfiguration } from '@scalar/types/api-reference'\nimport { buildRequest, getEnvironmentVariables } from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { type ComputedRef, watch } from 'vue'\n\n/**\n * Maps API reference configuration callbacks to client plugins.\n *\n * This function transforms the onBeforeRequest, onRequestBuilt, and onRequestSent\n * callbacks into the new plugin hook system. The mapping is reactive, so changes\n * to the configuration will automatically update the plugin hooks.\n *\n * Note: onRequestBuilt is mapped to the requestBuilt hook so the callback receives\n * the exact fetch Request that is sent over the wire. Mutating its headers modifies\n * the outgoing request, and hashing its body produces a hash that matches what the\n * server receives (a rebuilt multipart body would get a different boundary).\n *\n * Note: onRequestSent is mapped to responseReceived hook. This is not a perfect\n * one-to-one mapping, but it maintains backward compatibility with the old API.\n * The old callback receives only the URL string, while the new hook receives\n * the full response object.\n *\n * @param config - Reactive configuration object containing optional hook callbacks\n * @returns Array containing a single plugin with the mapped hooks\n */\nexport const mapConfigPlugins = (\n config: ComputedRef<ApiReferenceConfiguration>,\n environment: ComputedRef<XScalarEnvironment>,\n): ClientPlugin[] => {\n // Create a new plugin with the hooks which is going to be updated by the watcher when config changes\n const plugin: ClientPlugin = { hooks: {} }\n\n watch(\n [\n () => config.value.onBeforeRequest,\n () => config.value.onRequestBuilt,\n () => config.value.onRequestSent,\n () => environment.value,\n ],\n ([onBeforeRequest, onRequestBuilt, onRequestSent, environment]) => {\n // Get the environment variables for the current environment\n const envVariables = getEnvironmentVariables(environment)\n\n // Initialize the hooks object if it doesn't exist\n if (!plugin.hooks) {\n plugin.hooks = {}\n }\n\n plugin.hooks.beforeRequest = onBeforeRequest\n ? async (payload) => {\n const built = buildRequest(payload.requestBuilder, {\n envVariables,\n allowMissingRequestServerBase: true,\n })\n if (!built.ok) {\n console.error(\n '[@scalar/api-reference] onBeforeRequest was not run because the request could not be built:',\n built.message ?? built.error,\n )\n return\n }\n await onBeforeRequest({\n // We need to build the request to get the fetch `Request`\n request: buildSafeBodyRequest(...built.data.requestPayload),\n requestBuilder: payload.requestBuilder,\n envVariables,\n })\n }\n : undefined\n\n /**\n * Maps onRequestBuilt to the requestBuilt hook. The payload request is the\n * exact fetch Request that will be sent, so header mutations apply and body\n * hashes match what goes over the wire.\n */\n plugin.hooks.requestBuilt = onRequestBuilt\n ? async (payload) => {\n await onRequestBuilt({\n request: payload.request,\n requestBuilder: payload.requestBuilder,\n envVariables,\n })\n }\n : undefined\n\n /**\n * Maps onRequestSent to responseReceived hook.\n * The old API only passed the URL string, so we extract it from the request.\n */\n plugin.hooks.responseReceived = onRequestSent\n ? (payload) => {\n onRequestSent(payload.request.url)\n }\n : undefined\n },\n { immediate: true },\n )\n\n return [plugin]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2BA,IAAa,oBACX,QACA,gBACmB;CAEnB,MAAM,SAAuB,EAAE,OAAO,EAAE,EAAE;AAE1C,OACE;QACQ,OAAO,MAAM;QACb,OAAO,MAAM;QACb,OAAO,MAAM;QACb,YAAY;EACnB,GACA,CAAC,iBAAiB,gBAAgB,eAAe,iBAAiB;EAEjE,MAAM,eAAe,wBAAwB,YAAY;AAGzD,MAAI,CAAC,OAAO,MACV,QAAO,QAAQ,EAAE;AAGnB,SAAO,MAAM,gBAAgB,kBACzB,OAAO,YAAY;GACjB,MAAM,QAAQ,aAAa,QAAQ,gBAAgB;IACjD;IACA,+BAA+B;IAChC,CAAC;AACF,OAAI,CAAC,MAAM,IAAI;AACb,YAAQ,MACN,+FACA,MAAM,WAAW,MAAM,MACxB;AACD;;AAEF,SAAM,gBAAgB;IAEpB,SAAS,qBAAqB,GAAG,MAAM,KAAK,eAAe;IAC3D,gBAAgB,QAAQ;IACxB;IACD,CAAC;MAEJ,KAAA;;;;;;AAOJ,SAAO,MAAM,eAAe,iBACxB,OAAO,YAAY;AACjB,SAAM,eAAe;IACnB,SAAS,QAAQ;IACjB,gBAAgB,QAAQ;IACxB;IACD,CAAC;MAEJ,KAAA;;;;;AAMJ,SAAO,MAAM,mBAAmB,iBAC3B,YAAY;AACX,iBAAc,QAAQ,QAAQ,IAAI;MAEpC,KAAA;IAEN,EAAE,WAAW,MAAM,CACpB;AAED,QAAO,CAAC,OAAO"}
@@ -1,6 +1,6 @@
1
1
  import { computed, toValue, watch } from "vue";
2
2
  import { useFavicon } from "@vueuse/core";
3
- import { isClient } from "@scalar/api-client/blocks/operation-code-sample";
3
+ import { isClient } from "@scalar/blocks/code-example";
4
4
  import { useSeoMeta } from "@unhead/vue";
5
5
  //#region src/helpers/map-config-to-workspace-store.ts
6
6
  var mapConfigToWorkspaceStore = ({ config, store, isDarkMode }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"map-config-to-workspace-store.js","names":[],"sources":["../../src/helpers/map-config-to-workspace-store.ts"],"sourcesContent":["import { isClient } from '@scalar/api-client/blocks/operation-code-sample'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { useSeoMeta } from '@unhead/vue'\nimport { useFavicon } from '@vueuse/core'\nimport { type MaybeRefOrGetter, type Ref, computed, toValue, watch } from 'vue'\n\nexport const mapConfigToWorkspaceStore = ({\n config,\n store,\n isDarkMode,\n}: {\n config: MaybeRefOrGetter<ApiReferenceConfigurationRaw>\n store: WorkspaceStore\n isDarkMode: Ref<boolean>\n}) => {\n // Update the workspace store if default client changes\n watch(\n () => toValue(config).defaultHttpClient,\n (newValue) => {\n if (newValue) {\n const { targetKey, clientKey } = newValue\n\n const clientId = `${targetKey}/${clientKey}`\n if (isClient(clientId)) {\n store.update('x-scalar-default-client', clientId)\n }\n }\n },\n { immediate: true },\n )\n\n /** Update the dark mode state when props change */\n watch(\n () => toValue(config).darkMode,\n (isDark) => store.update('x-scalar-color-mode', isDark ? 'dark' : 'light'),\n )\n\n // Temporary mapping of isDarkMode until we update the standalone component\n watch(\n () => isDarkMode.value,\n (newIsDark) => store.update('x-scalar-color-mode', newIsDark ? 'dark' : 'light'),\n { immediate: true },\n )\n\n if (toValue(config).metaData) {\n useSeoMeta(toValue(config).metaData)\n }\n\n // Update the active proxy when the proxyUrl changes\n watch(\n () => toValue(config).proxyUrl,\n (newProxyUrl) => store.update('x-scalar-active-proxy', newProxyUrl),\n { immediate: true },\n )\n\n const favicon = computed(() => toValue(config).favicon)\n useFavicon(favicon)\n}\n"],"mappings":";;;;;AAOA,IAAa,6BAA6B,EACxC,QACA,OACA,iBAKI;AAEJ,aACQ,QAAQ,OAAO,CAAC,oBACrB,aAAa;AACZ,MAAI,UAAU;GACZ,MAAM,EAAE,WAAW,cAAc;GAEjC,MAAM,WAAW,GAAG,UAAU,GAAG;AACjC,OAAI,SAAS,SAAS,CACpB,OAAM,OAAO,2BAA2B,SAAS;;IAIvD,EAAE,WAAW,MAAM,CACpB;;AAGD,aACQ,QAAQ,OAAO,CAAC,WACrB,WAAW,MAAM,OAAO,uBAAuB,SAAS,SAAS,QAAQ,CAC3E;AAGD,aACQ,WAAW,QAChB,cAAc,MAAM,OAAO,uBAAuB,YAAY,SAAS,QAAQ,EAChF,EAAE,WAAW,MAAM,CACpB;AAED,KAAI,QAAQ,OAAO,CAAC,SAClB,YAAW,QAAQ,OAAO,CAAC,SAAS;AAItC,aACQ,QAAQ,OAAO,CAAC,WACrB,gBAAgB,MAAM,OAAO,yBAAyB,YAAY,EACnE,EAAE,WAAW,MAAM,CACpB;AAGD,YADgB,eAAe,QAAQ,OAAO,CAAC,QAAQ,CACpC"}
1
+ {"version":3,"file":"map-config-to-workspace-store.js","names":[],"sources":["../../src/helpers/map-config-to-workspace-store.ts"],"sourcesContent":["import { isClient } from '@scalar/blocks/code-example'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport { useSeoMeta } from '@unhead/vue'\nimport { useFavicon } from '@vueuse/core'\nimport { type MaybeRefOrGetter, type Ref, computed, toValue, watch } from 'vue'\n\nexport const mapConfigToWorkspaceStore = ({\n config,\n store,\n isDarkMode,\n}: {\n config: MaybeRefOrGetter<ApiReferenceConfigurationRaw>\n store: WorkspaceStore\n isDarkMode: Ref<boolean>\n}) => {\n // Update the workspace store if default client changes\n watch(\n () => toValue(config).defaultHttpClient,\n (newValue) => {\n if (newValue) {\n const { targetKey, clientKey } = newValue\n\n const clientId = `${targetKey}/${clientKey}`\n if (isClient(clientId)) {\n store.update('x-scalar-default-client', clientId)\n }\n }\n },\n { immediate: true },\n )\n\n /** Update the dark mode state when props change */\n watch(\n () => toValue(config).darkMode,\n (isDark) => store.update('x-scalar-color-mode', isDark ? 'dark' : 'light'),\n )\n\n // Temporary mapping of isDarkMode until we update the standalone component\n watch(\n () => isDarkMode.value,\n (newIsDark) => store.update('x-scalar-color-mode', newIsDark ? 'dark' : 'light'),\n { immediate: true },\n )\n\n if (toValue(config).metaData) {\n useSeoMeta(toValue(config).metaData)\n }\n\n // Update the active proxy when the proxyUrl changes\n watch(\n () => toValue(config).proxyUrl,\n (newProxyUrl) => store.update('x-scalar-active-proxy', newProxyUrl),\n { immediate: true },\n )\n\n const favicon = computed(() => toValue(config).favicon)\n useFavicon(favicon)\n}\n"],"mappings":";;;;;AAOA,IAAa,6BAA6B,EACxC,QACA,OACA,iBAKI;AAEJ,aACQ,QAAQ,OAAO,CAAC,oBACrB,aAAa;AACZ,MAAI,UAAU;GACZ,MAAM,EAAE,WAAW,cAAc;GAEjC,MAAM,WAAW,GAAG,UAAU,GAAG;AACjC,OAAI,SAAS,SAAS,CACpB,OAAM,OAAO,2BAA2B,SAAS;;IAIvD,EAAE,WAAW,MAAM,CACpB;;AAGD,aACQ,QAAQ,OAAO,CAAC,WACrB,WAAW,MAAM,OAAO,uBAAuB,SAAS,SAAS,QAAQ,CAC3E;AAGD,aACQ,WAAW,QAChB,cAAc,MAAM,OAAO,uBAAuB,YAAY,SAAS,QAAQ,EAChF,EAAE,WAAW,MAAM,CACpB;AAED,KAAI,QAAQ,OAAO,CAAC,SAClB,YAAW,QAAQ,OAAO,CAAC,SAAS;AAItC,aACQ,QAAQ,OAAO,CAAC,WACrB,gBAAgB,MAAM,OAAO,yBAAyB,YAAY,EACnE,EAAE,WAAW,MAAM,CACpB;AAGD,YADgB,eAAe,QAAQ,OAAO,CAAC,QAAQ,CACpC"}
@@ -24,6 +24,20 @@ export declare const authStorage: () => {
24
24
  * Retrieves and coerces the authentication schemes stored in local storage.
25
25
  */
26
26
  getAuth: (slug: string) => {
27
+ selected: {
28
+ path?: {
29
+ [x: string]: {
30
+ [x: string]: {
31
+ selectedIndex: number;
32
+ selectedSchemes: {}[];
33
+ };
34
+ };
35
+ } | undefined;
36
+ document?: {
37
+ selectedIndex: number;
38
+ selectedSchemes: {}[];
39
+ } | undefined;
40
+ };
27
41
  secrets: {
28
42
  [x: string]: ({
29
43
  type: "apiKey";
@@ -230,20 +244,6 @@ export declare const authStorage: () => {
230
244
  type: "openIdConnect";
231
245
  };
232
246
  };
233
- selected: {
234
- path?: {
235
- [x: string]: {
236
- [x: string]: {
237
- selectedIndex: number;
238
- selectedSchemes: {}[];
239
- };
240
- };
241
- } | undefined;
242
- document?: {
243
- selectedIndex: number;
244
- selectedSchemes: {}[];
245
- } | undefined;
246
- };
247
247
  };
248
248
  /**
249
249
  * Stores the authentication schemes in local storage.