@scalar/api-reference 1.57.5 → 1.59.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 (385) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/dist/blocks/index.d.ts +1 -0
  3. package/dist/blocks/index.d.ts.map +1 -1
  4. package/dist/blocks/index.js +2 -1
  5. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.d.ts +24 -0
  6. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.d.ts.map +1 -0
  7. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.js +7 -0
  8. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.js.map +1 -0
  9. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.script.js +80 -0
  10. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.script.js.map +1 -0
  11. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.d.ts +25 -0
  12. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.d.ts.map +1 -0
  13. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.js +7 -0
  14. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.js.map +1 -0
  15. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.script.js +76 -0
  16. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.script.js.map +1 -0
  17. package/dist/blocks/scalar-asyncapi-server-selector-block/index.d.ts +2 -0
  18. package/dist/blocks/scalar-asyncapi-server-selector-block/index.d.ts.map +1 -0
  19. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.d.ts +2 -3
  20. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.d.ts.map +1 -1
  21. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js +1 -1
  22. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js.map +1 -1
  23. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.script.js.map +1 -1
  24. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.d.ts +2 -6
  25. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.d.ts.map +1 -1
  26. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js +1 -1
  27. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js.map +1 -1
  28. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js +26 -36
  29. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js.map +1 -1
  30. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.d.ts +1 -1
  31. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.d.ts.map +1 -1
  32. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.js.map +1 -1
  33. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.d.ts +9 -0
  34. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.d.ts.map +1 -0
  35. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.js +9 -0
  36. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.js.map +1 -0
  37. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.script.js +225 -0
  38. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.script.js.map +1 -0
  39. package/dist/blocks/scalar-sdk-installation-instructions/helpers/language-icon.d.ts +4 -0
  40. package/dist/blocks/scalar-sdk-installation-instructions/helpers/language-icon.d.ts.map +1 -0
  41. package/dist/blocks/scalar-sdk-installation-instructions/helpers/language-icon.js +59 -0
  42. package/dist/blocks/scalar-sdk-installation-instructions/helpers/language-icon.js.map +1 -0
  43. package/dist/blocks/scalar-sdk-installation-instructions/helpers/renderable-sdks.d.ts +19 -0
  44. package/dist/blocks/scalar-sdk-installation-instructions/helpers/renderable-sdks.d.ts.map +1 -0
  45. package/dist/blocks/scalar-sdk-installation-instructions/helpers/renderable-sdks.js +19 -0
  46. package/dist/blocks/scalar-sdk-installation-instructions/helpers/renderable-sdks.js.map +1 -0
  47. package/dist/blocks/scalar-sdk-installation-instructions/helpers/visible-tab-count.d.ts +16 -0
  48. package/dist/blocks/scalar-sdk-installation-instructions/helpers/visible-tab-count.d.ts.map +1 -0
  49. package/dist/blocks/scalar-sdk-installation-instructions/helpers/visible-tab-count.js +29 -0
  50. package/dist/blocks/scalar-sdk-installation-instructions/helpers/visible-tab-count.js.map +1 -0
  51. package/dist/blocks/scalar-sdk-installation-instructions/index.d.ts +3 -0
  52. package/dist/blocks/scalar-sdk-installation-instructions/index.d.ts.map +1 -0
  53. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.script.js +1 -1
  54. package/dist/browser/chunks/AgentScalarChatInterface-BXB1nZKJ.js +27 -0
  55. package/dist/browser/chunks/ScalarTextInput.vue-XkIzhvc0.js +27 -0
  56. package/dist/browser/chunks/basic-shape-diamond.svg-BTEOT1FL.js +15 -0
  57. package/dist/browser/chunks/basic-shape-hexagon.svg-BSPzaCgF.js +15 -0
  58. package/dist/browser/chunks/basic-shape-primary-circle-ellipse-round.svg-DKmZ8UUU.js +15 -0
  59. package/dist/browser/chunks/basic-shape-primary-square-rectangle.svg-n2YRykHD.js +15 -0
  60. package/dist/browser/chunks/basic-shape-shield.svg-Bec9cJDA.js +15 -0
  61. package/dist/browser/chunks/browser-67K6wmG9.js +129 -0
  62. package/dist/browser/chunks/computer-device-desktop-monitor.svg-m6j893Hb.js +15 -0
  63. package/dist/browser/chunks/computer-device-desktop.svg-Dk1VVO7k.js +15 -0
  64. package/dist/browser/chunks/computer-device-laptop.svg-BNGVUCYS.js +15 -0
  65. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung-back.svg-CC4UUTFw.js +15 -0
  66. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung.svg-D8ExpMpL.js +15 -0
  67. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x-back.svg-CLm7sgMM.js +15 -0
  68. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x.svg-Xrttg6_7.js +15 -0
  69. package/dist/browser/chunks/computer-device-mobile-tablet-touch.svg-DQ2oTvOG.js +15 -0
  70. package/dist/browser/chunks/computer-device-mobile-tablet.svg-DCr0XlRc.js +15 -0
  71. package/dist/browser/chunks/computer-device-network-ethernet-cat6.svg-AK9l0iOl.js +15 -0
  72. package/dist/browser/chunks/computer-device-network-lan-www.svg-gUIdFBlE.js +15 -0
  73. package/dist/browser/chunks/computer-device-network-wifi-connection.svg-Be-EMm4e.js +15 -0
  74. package/dist/browser/chunks/computer-device-network-wifi-router.svg-Dc2VzyqK.js +15 -0
  75. package/dist/browser/chunks/ecology-science-erlenmeyer-flask.svg-DHgy7Jfd.js +15 -0
  76. package/dist/browser/chunks/image-flash-lightning.svg-EETR_y1q.js +15 -0
  77. package/dist/browser/chunks/image-picture-flower.svg-DN1AYzJU.js +15 -0
  78. package/dist/browser/chunks/interface-alert-exclamation-diamond.svg-C5NozMV_.js +15 -0
  79. package/dist/browser/chunks/interface-alert-exclamation-triangle-warning.svg-DaAg2fF5.js +15 -0
  80. package/dist/browser/chunks/interface-alert-information-circle.svg-ckkkt9Mv.js +15 -0
  81. package/dist/browser/chunks/interface-award-crown.svg-pjvn9hY-.js +15 -0
  82. package/dist/browser/chunks/interface-bookmark-tag.svg-r2r-lQq4.js +15 -0
  83. package/dist/browser/chunks/interface-bookmark.svg-BK9HKQBT.js +15 -0
  84. package/dist/browser/chunks/interface-calendar-date-one.svg-DNnF0M1I.js +15 -0
  85. package/dist/browser/chunks/interface-content-book-open-pages.svg-CQj_w9Vp.js +15 -0
  86. package/dist/browser/chunks/interface-content-book-page.svg-DppoeJRe.js +15 -0
  87. package/dist/browser/chunks/interface-content-file.svg-CvcD7OiY.js +15 -0
  88. package/dist/browser/chunks/interface-content-folder.svg-BmtS5I9A.js +15 -0
  89. package/dist/browser/chunks/interface-copy-clipboard.svg-Be6EI50X.js +15 -0
  90. package/dist/browser/chunks/interface-edit-attachment.svg-G5TKzpWX.js +15 -0
  91. package/dist/browser/chunks/interface-edit-binocular.svg-jzL-DvGB.js +15 -0
  92. package/dist/browser/chunks/interface-edit-magic-wand.svg-BOTlymvp.js +15 -0
  93. package/dist/browser/chunks/interface-edit-tool-paint-roller.svg-s9dwryx7.js +15 -0
  94. package/dist/browser/chunks/interface-edit-tool-pencil.svg-C7v0dbB3.js +15 -0
  95. package/dist/browser/chunks/interface-favorite-award.svg-CYHUgUG0.js +15 -0
  96. package/dist/browser/chunks/interface-favorite-flag.svg-C10zlKOb.js +15 -0
  97. package/dist/browser/chunks/interface-favorite-heart.svg-eoduXxlz.js +15 -0
  98. package/dist/browser/chunks/interface-favorite-star.svg-BSmxJetr.js +15 -0
  99. package/dist/browser/chunks/interface-favorite-stars-sparkles.svg-JTFLj3Ls.js +15 -0
  100. package/dist/browser/chunks/interface-hierarchy-flowchart.svg-Cg_Wy0kN.js +15 -0
  101. package/dist/browser/chunks/interface-home-house.svg-DytoGRnv.js +15 -0
  102. package/dist/browser/chunks/interface-hyperlink.svg-CuEfmmQI.js +15 -0
  103. package/dist/browser/chunks/interface-lighting-brightness.svg-DSK0h_Pa.js +15 -0
  104. package/dist/browser/chunks/interface-lock-closed.svg-Cn6TaLYv.js +15 -0
  105. package/dist/browser/chunks/interface-lock-open-unlock.svg-CVkG5-9W.js +15 -0
  106. package/dist/browser/chunks/interface-login-key.svg-y-cwwXjN.js +15 -0
  107. package/dist/browser/chunks/interface-search.svg-S-puVFJB.js +15 -0
  108. package/dist/browser/chunks/interface-setting-cog.svg-CTH4_lLg.js +15 -0
  109. package/dist/browser/chunks/interface-share-megaphone-bullhorn.svg-Pbp39MyC.js +15 -0
  110. package/dist/browser/chunks/interface-share-rocket.svg-BgCsIRZO.js +15 -0
  111. package/dist/browser/chunks/interface-share-satellite.svg-DAMN9d5G.js +15 -0
  112. package/dist/browser/chunks/interface-share-space-ship.svg-Dt-Mejxk.js +15 -0
  113. package/dist/browser/chunks/interface-share.svg-vFYTXSti.js +15 -0
  114. package/dist/browser/chunks/interface-signal-square.svg-DNG4LpAe.js +15 -0
  115. package/dist/browser/chunks/interface-time-clock-circle.svg-Bpz-nLxo.js +15 -0
  116. package/dist/browser/chunks/interface-time-hour-glass.svg-D7agfKsH.js +15 -0
  117. package/dist/browser/chunks/interface-users-multiple.svg-CkPJBBnG.js +15 -0
  118. package/dist/browser/chunks/interface-weather-moon.svg-CaTZFMPO.js +15 -0
  119. package/dist/browser/chunks/mail-chat-bubble-square.svg-DC8RIihp.js +15 -0
  120. package/dist/browser/chunks/mail-send-email-paper-airplane.svg-D8OLs9jz.js +15 -0
  121. package/dist/browser/chunks/mail-send-envelope.svg-CV33h5Sx.js +15 -0
  122. package/dist/browser/chunks/modal-Bp9V4D2s.js +66 -0
  123. package/dist/browser/chunks/modal-CtAiwzwH.js +15 -0
  124. package/dist/browser/chunks/money-cashier-receipt.svg-CJL8C2gs.js +15 -0
  125. package/dist/browser/chunks/money-currency-dollar-pay.svg-VdBplCTx.js +15 -0
  126. package/dist/browser/chunks/money-graph-arrow-increase.svg-DcRov3zk.js +15 -0
  127. package/dist/browser/chunks/money-graph-bar-chart-increase.svg-Cc7KxjX-.js +15 -0
  128. package/dist/browser/chunks/nature-ecology-leaf.svg-DR3cTZxt.js +15 -0
  129. package/dist/browser/chunks/phone-telephone.svg-DyY0gUlk.js +15 -0
  130. package/dist/browser/chunks/programming-bug.svg-BHLT-Qhp.js +15 -0
  131. package/dist/browser/chunks/programming-cloud.svg-B6YW33ba.js +15 -0
  132. package/dist/browser/chunks/programming-computer-database-server.svg-B6o5Sdn-.js +15 -0
  133. package/dist/browser/chunks/programming-computer-database.svg-Cl7OVtpJ.js +15 -0
  134. package/dist/browser/chunks/programming-module-four-layout.svg-BQrerL1x.js +15 -0
  135. package/dist/browser/chunks/programming-module-three.svg-B2KTQzBM.js +15 -0
  136. package/dist/browser/chunks/programming-module.svg-CiID7kPm.js +15 -0
  137. package/dist/browser/chunks/programming-script-code.svg-D1M5rtkN.js +15 -0
  138. package/dist/browser/chunks/runtime-core.esm-bundler-Byrbbu5Q.js +17 -0
  139. package/dist/browser/chunks/shopping-cart.svg-BEegiIR9.js +15 -0
  140. package/dist/browser/chunks/shopping-gift-present.svg-BUHwuLix.js +15 -0
  141. package/dist/browser/chunks/shopping-shipping-box-parcel-package.svg-D6fxWdYx.js +15 -0
  142. package/dist/browser/chunks/tag-new-circle.svg-jsg1bGs0.js +15 -0
  143. package/dist/browser/chunks/travel-map-earth-globe.svg-ClbMiU-f.js +15 -0
  144. package/dist/browser/chunks/vendor-nugWm4eq.js +337 -0
  145. package/dist/browser/standalone.esm.js +1853 -0
  146. package/dist/browser/standalone.js +258 -255
  147. package/dist/components/ApiReference.vue.d.ts.map +1 -1
  148. package/dist/components/ApiReference.vue.js +1 -1
  149. package/dist/components/ApiReference.vue.js.map +1 -1
  150. package/dist/components/ApiReference.vue.script.js +79 -28
  151. package/dist/components/ApiReference.vue.script.js.map +1 -1
  152. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.d.ts +16 -0
  153. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.d.ts.map +1 -0
  154. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.js +7 -0
  155. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.js.map +1 -0
  156. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.script.js +166 -0
  157. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.script.js.map +1 -0
  158. package/dist/components/Content/AsyncApi/Channel.vue.d.ts +18 -0
  159. package/dist/components/Content/AsyncApi/Channel.vue.d.ts.map +1 -0
  160. package/dist/components/Content/AsyncApi/Channel.vue.js +9 -0
  161. package/dist/components/Content/AsyncApi/Channel.vue.js.map +1 -0
  162. package/dist/components/Content/AsyncApi/Channel.vue.script.js +148 -0
  163. package/dist/components/Content/AsyncApi/Channel.vue.script.js.map +1 -0
  164. package/dist/components/Content/AsyncApi/helpers/adapt-async-api-parameters.d.ts +14 -0
  165. package/dist/components/Content/AsyncApi/helpers/adapt-async-api-parameters.d.ts.map +1 -0
  166. package/dist/components/Content/AsyncApi/helpers/adapt-async-api-parameters.js +34 -0
  167. package/dist/components/Content/AsyncApi/helpers/adapt-async-api-parameters.js.map +1 -0
  168. package/dist/components/Content/AsyncApi/index.d.ts +2 -0
  169. package/dist/components/Content/AsyncApi/index.d.ts.map +1 -0
  170. package/dist/components/Content/Auth/Auth.vue.d.ts +1 -1
  171. package/dist/components/Content/Auth/Auth.vue.d.ts.map +1 -1
  172. package/dist/components/Content/Auth/Auth.vue.js.map +1 -1
  173. package/dist/components/Content/Auth/Auth.vue.script.js +2 -0
  174. package/dist/components/Content/Auth/Auth.vue.script.js.map +1 -1
  175. package/dist/components/Content/Content.vue.d.ts +3 -3
  176. package/dist/components/Content/Content.vue.d.ts.map +1 -1
  177. package/dist/components/Content/Content.vue.js.map +1 -1
  178. package/dist/components/Content/Content.vue.script.js +69 -9
  179. package/dist/components/Content/Content.vue.script.js.map +1 -1
  180. package/dist/components/Content/Models/Model.vue.d.ts +4 -2
  181. package/dist/components/Content/Models/Model.vue.d.ts.map +1 -1
  182. package/dist/components/Content/Models/Model.vue.js.map +1 -1
  183. package/dist/components/Content/Models/Model.vue.script.js +6 -1
  184. package/dist/components/Content/Models/Model.vue.script.js.map +1 -1
  185. package/dist/components/Content/Models/ModelTag.vue.d.ts +2 -0
  186. package/dist/components/Content/Models/ModelTag.vue.d.ts.map +1 -1
  187. package/dist/components/Content/Models/ModelTag.vue.js.map +1 -1
  188. package/dist/components/Content/Models/ModelTag.vue.script.js +11 -12
  189. package/dist/components/Content/Models/ModelTag.vue.script.js.map +1 -1
  190. package/dist/components/Content/Models/components/ClassicLayout.vue.d.ts +4 -2
  191. package/dist/components/Content/Models/components/ClassicLayout.vue.d.ts.map +1 -1
  192. package/dist/components/Content/Models/components/ClassicLayout.vue.js +1 -1
  193. package/dist/components/Content/Models/components/ClassicLayout.vue.js.map +1 -1
  194. package/dist/components/Content/Models/components/ClassicLayout.vue.script.js +9 -2
  195. package/dist/components/Content/Models/components/ClassicLayout.vue.script.js.map +1 -1
  196. package/dist/components/Content/Models/components/ModernLayout.vue.d.ts +4 -1
  197. package/dist/components/Content/Models/components/ModernLayout.vue.d.ts.map +1 -1
  198. package/dist/components/Content/Models/components/ModernLayout.vue.js.map +1 -1
  199. package/dist/components/Content/Models/components/ModernLayout.vue.script.js +5 -1
  200. package/dist/components/Content/Models/components/ModernLayout.vue.script.js.map +1 -1
  201. package/dist/components/Content/Operations/TraversedEntry.vue.d.ts +1 -1
  202. package/dist/components/Content/Operations/TraversedEntry.vue.d.ts.map +1 -1
  203. package/dist/components/Content/Operations/TraversedEntry.vue.js.map +1 -1
  204. package/dist/components/Content/Operations/TraversedEntry.vue.script.js +11 -4
  205. package/dist/components/Content/Operations/TraversedEntry.vue.script.js.map +1 -1
  206. package/dist/components/Content/Schema/Schema.vue.d.ts +6 -0
  207. package/dist/components/Content/Schema/Schema.vue.d.ts.map +1 -1
  208. package/dist/components/Content/Schema/Schema.vue.js +1 -1
  209. package/dist/components/Content/Schema/Schema.vue.js.map +1 -1
  210. package/dist/components/Content/Schema/Schema.vue.script.js +32 -7
  211. package/dist/components/Content/Schema/Schema.vue.script.js.map +1 -1
  212. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts.map +1 -1
  213. package/dist/components/Content/Schema/SchemaComposition.vue.js.map +1 -1
  214. package/dist/components/Content/Schema/SchemaComposition.vue.script.js +16 -3
  215. package/dist/components/Content/Schema/SchemaComposition.vue.script.js.map +1 -1
  216. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js +1 -1
  217. package/dist/components/Content/Schema/SchemaObjectProperties.vue.d.ts.map +1 -1
  218. package/dist/components/Content/Schema/SchemaObjectProperties.vue.js.map +1 -1
  219. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js +11 -6
  220. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js.map +1 -1
  221. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts +2 -0
  222. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts.map +1 -1
  223. package/dist/components/Content/Schema/SchemaProperty.vue.js +1 -1
  224. package/dist/components/Content/Schema/SchemaProperty.vue.js.map +1 -1
  225. package/dist/components/Content/Schema/SchemaProperty.vue.script.js +17 -2
  226. package/dist/components/Content/Schema/SchemaProperty.vue.script.js.map +1 -1
  227. package/dist/components/Content/Schema/helpers/get-compositions-to-render.d.ts +3 -2
  228. package/dist/components/Content/Schema/helpers/get-compositions-to-render.d.ts.map +1 -1
  229. package/dist/components/Content/Schema/helpers/get-compositions-to-render.js +26 -1
  230. package/dist/components/Content/Schema/helpers/get-compositions-to-render.js.map +1 -1
  231. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.d.ts +2 -1
  232. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.d.ts.map +1 -1
  233. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js +40 -25
  234. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js.map +1 -1
  235. package/dist/components/Content/Schema/helpers/schema-cycle.d.ts +31 -0
  236. package/dist/components/Content/Schema/helpers/schema-cycle.d.ts.map +1 -0
  237. package/dist/components/Content/Schema/helpers/schema-cycle.js +39 -0
  238. package/dist/components/Content/Schema/helpers/schema-cycle.js.map +1 -0
  239. package/dist/components/Content/Schema/types.d.ts +10 -0
  240. package/dist/components/Content/Schema/types.d.ts.map +1 -1
  241. package/dist/components/index.js +1 -1
  242. package/dist/features/Operation/Operation.vue.d.ts +1 -1
  243. package/dist/features/Operation/Operation.vue.d.ts.map +1 -1
  244. package/dist/features/Operation/Operation.vue.js.map +1 -1
  245. package/dist/features/Operation/Operation.vue.script.js +4 -0
  246. package/dist/features/Operation/Operation.vue.script.js.map +1 -1
  247. package/dist/features/Operation/components/ContentTypeSelect.vue.script.js +1 -1
  248. package/dist/features/Operation/components/Header.vue.d.ts +4 -1
  249. package/dist/features/Operation/components/Header.vue.d.ts.map +1 -1
  250. package/dist/features/Operation/components/Header.vue.js.map +1 -1
  251. package/dist/features/Operation/components/Header.vue.script.js +6 -2
  252. package/dist/features/Operation/components/Header.vue.script.js.map +1 -1
  253. package/dist/features/Operation/components/Headers.vue.d.ts +4 -1
  254. package/dist/features/Operation/components/Headers.vue.d.ts.map +1 -1
  255. package/dist/features/Operation/components/Headers.vue.js +1 -1
  256. package/dist/features/Operation/components/Headers.vue.js.map +1 -1
  257. package/dist/features/Operation/components/Headers.vue.script.js +10 -4
  258. package/dist/features/Operation/components/Headers.vue.script.js.map +1 -1
  259. package/dist/features/Operation/components/OperationParameters.vue.d.ts +4 -2
  260. package/dist/features/Operation/components/OperationParameters.vue.d.ts.map +1 -1
  261. package/dist/features/Operation/components/OperationParameters.vue.js.map +1 -1
  262. package/dist/features/Operation/components/OperationParameters.vue.script.js +12 -1
  263. package/dist/features/Operation/components/OperationParameters.vue.script.js.map +1 -1
  264. package/dist/features/Operation/components/OperationResponses.vue.d.ts +4 -2
  265. package/dist/features/Operation/components/OperationResponses.vue.d.ts.map +1 -1
  266. package/dist/features/Operation/components/OperationResponses.vue.js.map +1 -1
  267. package/dist/features/Operation/components/OperationResponses.vue.script.js +3 -0
  268. package/dist/features/Operation/components/OperationResponses.vue.script.js.map +1 -1
  269. package/dist/features/Operation/components/ParameterList.vue.d.ts +4 -2
  270. package/dist/features/Operation/components/ParameterList.vue.d.ts.map +1 -1
  271. package/dist/features/Operation/components/ParameterList.vue.js.map +1 -1
  272. package/dist/features/Operation/components/ParameterList.vue.script.js +3 -0
  273. package/dist/features/Operation/components/ParameterList.vue.script.js.map +1 -1
  274. package/dist/features/Operation/components/ParameterListItem.vue.d.ts +4 -2
  275. package/dist/features/Operation/components/ParameterListItem.vue.d.ts.map +1 -1
  276. package/dist/features/Operation/components/ParameterListItem.vue.js +1 -1
  277. package/dist/features/Operation/components/ParameterListItem.vue.js.map +1 -1
  278. package/dist/features/Operation/components/ParameterListItem.vue.script.js +8 -1
  279. package/dist/features/Operation/components/ParameterListItem.vue.script.js.map +1 -1
  280. package/dist/features/Operation/components/RequestBody.vue.d.ts +4 -1
  281. package/dist/features/Operation/components/RequestBody.vue.d.ts.map +1 -1
  282. package/dist/features/Operation/components/RequestBody.vue.js +1 -1
  283. package/dist/features/Operation/components/RequestBody.vue.js.map +1 -1
  284. package/dist/features/Operation/components/RequestBody.vue.script.js +10 -3
  285. package/dist/features/Operation/components/RequestBody.vue.script.js.map +1 -1
  286. package/dist/features/Operation/components/callbacks/Callback.vue.d.ts +4 -2
  287. package/dist/features/Operation/components/callbacks/Callback.vue.d.ts.map +1 -1
  288. package/dist/features/Operation/components/callbacks/Callback.vue.js +1 -1
  289. package/dist/features/Operation/components/callbacks/Callback.vue.js.map +1 -1
  290. package/dist/features/Operation/components/callbacks/Callback.vue.script.js +5 -0
  291. package/dist/features/Operation/components/callbacks/Callback.vue.script.js.map +1 -1
  292. package/dist/features/Operation/components/callbacks/Callbacks.vue.d.ts +4 -2
  293. package/dist/features/Operation/components/callbacks/Callbacks.vue.d.ts.map +1 -1
  294. package/dist/features/Operation/components/callbacks/Callbacks.vue.js.map +1 -1
  295. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js +3 -0
  296. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js.map +1 -1
  297. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts +3 -1
  298. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts.map +1 -1
  299. package/dist/features/Operation/layouts/ClassicLayout.vue.js +1 -1
  300. package/dist/features/Operation/layouts/ClassicLayout.vue.js.map +1 -1
  301. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js +8 -1
  302. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js.map +1 -1
  303. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts +3 -1
  304. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts.map +1 -1
  305. package/dist/features/Operation/layouts/ModernLayout.vue.js +1 -1
  306. package/dist/features/Operation/layouts/ModernLayout.vue.js.map +1 -1
  307. package/dist/features/Operation/layouts/ModernLayout.vue.script.js +170 -176
  308. package/dist/features/Operation/layouts/ModernLayout.vue.script.js.map +1 -1
  309. package/dist/features/Search/components/SearchButton.vue.d.ts +4 -1
  310. package/dist/features/Search/components/SearchButton.vue.d.ts.map +1 -1
  311. package/dist/features/Search/components/SearchButton.vue.js.map +1 -1
  312. package/dist/features/Search/components/SearchButton.vue.script.js +20 -9
  313. package/dist/features/Search/components/SearchButton.vue.script.js.map +1 -1
  314. package/dist/features/Search/components/SearchModal.vue.d.ts +4 -1
  315. package/dist/features/Search/components/SearchModal.vue.d.ts.map +1 -1
  316. package/dist/features/Search/components/SearchModal.vue.js +1 -1
  317. package/dist/features/Search/components/SearchModal.vue.js.map +1 -1
  318. package/dist/features/Search/components/SearchModal.vue.script.js +7 -5
  319. package/dist/features/Search/components/SearchModal.vue.script.js.map +1 -1
  320. package/dist/features/Search/components/SearchResult.vue.d.ts +2 -0
  321. package/dist/features/Search/components/SearchResult.vue.d.ts.map +1 -1
  322. package/dist/features/Search/components/SearchResult.vue.js.map +1 -1
  323. package/dist/features/Search/components/SearchResult.vue.script.js +8 -6
  324. package/dist/features/Search/components/SearchResult.vue.script.js.map +1 -1
  325. package/dist/features/Search/helpers/create-search-index.d.ts +9 -1
  326. package/dist/features/Search/helpers/create-search-index.d.ts.map +1 -1
  327. package/dist/features/Search/helpers/create-search-index.js +27 -8
  328. package/dist/features/Search/helpers/create-search-index.js.map +1 -1
  329. package/dist/features/Search/hooks/useSearchIndex.d.ts +4 -2
  330. package/dist/features/Search/hooks/useSearchIndex.d.ts.map +1 -1
  331. package/dist/features/Search/hooks/useSearchIndex.js +4 -3
  332. package/dist/features/Search/hooks/useSearchIndex.js.map +1 -1
  333. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.d.ts +1 -1
  334. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.d.ts.map +1 -1
  335. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.js.map +1 -1
  336. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js +11 -9
  337. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js.map +1 -1
  338. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js +1 -1
  339. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.d.ts.map +1 -1
  340. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js.map +1 -1
  341. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js +9 -1
  342. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js.map +1 -1
  343. package/dist/features/example-responses/ExampleResponse.vue.d.ts.map +1 -1
  344. package/dist/features/example-responses/ExampleResponse.vue.js +1 -1
  345. package/dist/features/example-responses/ExampleResponse.vue.js.map +1 -1
  346. package/dist/features/example-responses/ExampleResponse.vue.script.js +6 -7
  347. package/dist/features/example-responses/ExampleResponse.vue.script.js.map +1 -1
  348. package/dist/features/example-responses/ExampleResponses.vue.script.js +1 -1
  349. package/dist/features/example-responses/ExampleSchema.vue.d.ts.map +1 -1
  350. package/dist/features/example-responses/ExampleSchema.vue.js.map +1 -1
  351. package/dist/features/example-responses/ExampleSchema.vue.script.js +6 -7
  352. package/dist/features/example-responses/ExampleSchema.vue.script.js.map +1 -1
  353. package/dist/features/info-object/Contact.vue.d.ts.map +1 -1
  354. package/dist/features/info-object/Contact.vue.js.map +1 -1
  355. package/dist/features/info-object/Contact.vue.script.js +15 -4
  356. package/dist/features/info-object/Contact.vue.script.js.map +1 -1
  357. package/dist/helpers/get-async-api-model-schema.d.ts +15 -0
  358. package/dist/helpers/get-async-api-model-schema.d.ts.map +1 -0
  359. package/dist/helpers/get-async-api-model-schema.js +32 -0
  360. package/dist/helpers/get-async-api-model-schema.js.map +1 -0
  361. package/dist/helpers/id-routing.d.ts +18 -0
  362. package/dist/helpers/id-routing.d.ts.map +1 -1
  363. package/dist/helpers/id-routing.js +41 -1
  364. package/dist/helpers/id-routing.js.map +1 -1
  365. package/dist/helpers/load-from-perssistance.d.ts +2 -1
  366. package/dist/helpers/load-from-perssistance.d.ts.map +1 -1
  367. package/dist/helpers/load-from-perssistance.js +4 -3
  368. package/dist/helpers/load-from-perssistance.js.map +1 -1
  369. package/dist/plugins/index.d.ts +1 -1
  370. package/dist/plugins/index.js +1 -1
  371. package/dist/plugins/{persistance-plugin.d.ts → persistence-plugin.d.ts} +2 -8
  372. package/dist/plugins/persistence-plugin.d.ts.map +1 -0
  373. package/dist/plugins/{persistance-plugin.js → persistence-plugin.js} +4 -13
  374. package/dist/plugins/persistence-plugin.js.map +1 -0
  375. package/dist/standalone/lib/html-api.d.ts.map +1 -1
  376. package/dist/standalone/lib/html-api.js +60 -2
  377. package/dist/standalone/lib/html-api.js.map +1 -1
  378. package/dist/standalone.esm.d.ts +4 -0
  379. package/dist/standalone.esm.d.ts.map +1 -0
  380. package/dist/style.css +665 -470
  381. package/dist/vue-styles.css +661 -463
  382. package/package.json +21 -19
  383. package/dist/browser/webpack-stats.json +0 -1
  384. package/dist/plugins/persistance-plugin.d.ts.map +0 -1
  385. package/dist/plugins/persistance-plugin.js.map +0 -1
@@ -9,9 +9,10 @@ import { objectKeys } from "@scalar/helpers/object/object-keys";
9
9
  *
10
10
  * @param schemas - Array of OpenAPI schema objects to merge
11
11
  * @param rootSchema - Optional root schema to merge with the result
12
+ * @param seenRefs - `$ref` strings already being merged higher in the call stack
12
13
  * @returns Merged schema object
13
14
  */
14
- var mergeAllOfSchemas = (schemas, rootSchema) => {
15
+ var mergeAllOfSchemas = (schemas, rootSchema, seenRefs = /* @__PURE__ */ new Set()) => {
15
16
  if (!schemas?.allOf?.length || !Array.isArray(schemas.allOf)) return rootSchema || {};
16
17
  const result = {};
17
18
  const { allOf: _, ...baseSchema } = schemas;
@@ -19,14 +20,14 @@ var mergeAllOfSchemas = (schemas, rootSchema) => {
19
20
  if (!_schema || typeof _schema !== "object") continue;
20
21
  const schema = resolve.schema(_schema);
21
22
  if (schema.allOf) {
22
- mergeSchemaIntoResult(result, mergeAllOfSchemas(schema));
23
+ mergeSchemaIntoResult(result, mergeAllOfSchemas(schema, void 0, seenRefs), false, seenRefs);
23
24
  continue;
24
25
  }
25
- mergeSchemaIntoResult(result, schema);
26
+ mergeSchemaIntoResult(result, schema, false, seenRefs);
26
27
  }
27
- if (Object.keys(baseSchema).length > 0) mergeSchemaIntoResult(result, baseSchema, true);
28
- if (rootSchema && typeof rootSchema === "object") if (rootSchema.allOf) mergeSchemaIntoResult(result, mergeAllOfSchemas(rootSchema), true);
29
- else mergeSchemaIntoResult(result, rootSchema, true);
28
+ if (Object.keys(baseSchema).length > 0) mergeSchemaIntoResult(result, baseSchema, true, seenRefs);
29
+ if (rootSchema && typeof rootSchema === "object") if (rootSchema.allOf) mergeSchemaIntoResult(result, mergeAllOfSchemas(rootSchema, void 0, seenRefs), true, seenRefs);
30
+ else mergeSchemaIntoResult(result, rootSchema, true, seenRefs);
30
31
  return result;
31
32
  };
32
33
  /**
@@ -37,7 +38,7 @@ var mergeAllOfSchemas = (schemas, rootSchema) => {
37
38
  * @param schema - The source schema object to merge from
38
39
  * @param override - Whether to override existing properties (default: false)
39
40
  */
40
- var mergeSchemaIntoResult = (result, schema, override = false) => {
41
+ var mergeSchemaIntoResult = (result, schema, override = false, seenRefs = /* @__PURE__ */ new Set()) => {
41
42
  const schemaKeys = objectKeys(schema);
42
43
  if (schemaKeys.length === 0) return;
43
44
  for (const key of schemaKeys) {
@@ -49,7 +50,7 @@ var mergeSchemaIntoResult = (result, schema, override = false) => {
49
50
  } else if (key === "properties") {
50
51
  if (value && typeof value === "object") {
51
52
  if (!result.properties) result.properties = {};
52
- mergePropertiesIntoResult(result.properties, value);
53
+ mergePropertiesIntoResult(result.properties, value, seenRefs);
53
54
  }
54
55
  } else if (key === "items") {
55
56
  const items = resolve.schema(value);
@@ -57,14 +58,14 @@ var mergeSchemaIntoResult = (result, schema, override = false) => {
57
58
  if (isArraySchema(schema)) {
58
59
  if (!result.items) result.items = {};
59
60
  if (items.allOf) {
60
- const mergedItems = mergeAllOfSchemas(items);
61
+ const mergedItems = mergeAllOfSchemas(items, void 0, seenRefs);
61
62
  Object.assign(result.items, mergedItems);
62
- } else mergeItemsIntoResult(getResolvedRef(result.items), items);
63
+ } else mergeItemsIntoResult(getResolvedRef(result.items), items, seenRefs);
63
64
  } else if (items.allOf) {
64
- const mergedItems = mergeAllOfSchemas(items);
65
+ const mergedItems = mergeAllOfSchemas(items, void 0, seenRefs);
65
66
  if ("properties" in mergedItems) {
66
67
  if (!("properties" in result)) result.properties = {};
67
- "properties" in result && mergePropertiesIntoResult(result.properties, mergedItems.properties);
68
+ "properties" in result && mergePropertiesIntoResult(result.properties, mergedItems.properties, seenRefs);
68
69
  }
69
70
  } else if (!("items" in result)) result.items = items;
70
71
  }
@@ -75,7 +76,7 @@ var mergeSchemaIntoResult = (result, schema, override = false) => {
75
76
  if (!("properties" in result)) result.properties = {};
76
77
  for (const _option of value) {
77
78
  const option = resolve.schema(_option);
78
- if (option && "properties" in option && "properties" in result) mergePropertiesIntoResult(result.properties, option.properties);
79
+ if (option && "properties" in option && "properties" in result) mergePropertiesIntoResult(result.properties, option.properties, seenRefs);
79
80
  }
80
81
  }
81
82
  } else if (key === "allOf") continue;
@@ -85,7 +86,7 @@ var mergeSchemaIntoResult = (result, schema, override = false) => {
85
86
  /**
86
87
  * Efficiently merges properties into a result object without creating new objects.
87
88
  */
88
- var mergePropertiesIntoResult = (result, properties) => {
89
+ var mergePropertiesIntoResult = (result, properties, seenRefs = /* @__PURE__ */ new Set()) => {
89
90
  const propertyKeys = Object.keys(properties ?? {});
90
91
  if (!properties || !result || propertyKeys.length === 0) return;
91
92
  for (const key of propertyKeys) {
@@ -99,22 +100,28 @@ var mergePropertiesIntoResult = (result, properties) => {
99
100
  continue;
100
101
  }
101
102
  if (!result[key]) {
102
- if (schema.allOf) result[key] = mergeAllOfSchemas(schema);
103
+ if (schema.allOf) result[key] = mergeAllOfSchemas(schema, void 0, seenRefs);
103
104
  else if (isArraySchema(schema) && resolve.schema(schema.items)?.allOf) result[key] = {
104
105
  ...schema,
105
- items: mergeAllOfSchemas(resolve.schema(schema.items))
106
+ items: mergeAllOfSchemas(resolve.schema(schema.items), void 0, seenRefs)
106
107
  };
107
108
  else if (properties[key]) result[key] = properties[key];
108
109
  continue;
109
110
  }
110
111
  const existing = resolve.schema(result[key]);
111
- if (schema.allOf) result[key] = mergeAllOfSchemas({ allOf: [existing, ...schema.allOf] });
112
+ const schemaRef = schema.$ref;
113
+ if (typeof schemaRef === "string" && seenRefs.has(schemaRef)) {
114
+ result[key] = existing;
115
+ continue;
116
+ }
117
+ const nextSeenRefs = typeof schemaRef === "string" ? new Set(seenRefs).add(schemaRef) : seenRefs;
118
+ if (schema.allOf) result[key] = mergeAllOfSchemas({ allOf: [existing, ...schema.allOf] }, void 0, nextSeenRefs);
112
119
  else if (isArraySchema(schema) && isArraySchema(existing) && schema.items) {
113
120
  const existingItems = resolve.schema(existing.items);
114
121
  result[key] = {
115
122
  ...existing,
116
123
  type: "array",
117
- items: existingItems ? mergeItems(existingItems, resolve.schema(schema.items)) : resolve.schema(schema.items)
124
+ items: existingItems ? mergeItems(existingItems, resolve.schema(schema.items), nextSeenRefs) : resolve.schema(schema.items)
118
125
  };
119
126
  } else if ("properties" in existing && "properties" in schema) {
120
127
  const merged = {
@@ -122,7 +129,7 @@ var mergePropertiesIntoResult = (result, properties) => {
122
129
  ...schema
123
130
  };
124
131
  merged.properties = { ...existing.properties };
125
- mergePropertiesIntoResult(merged.properties, schema.properties);
132
+ mergePropertiesIntoResult(merged.properties, schema.properties, nextSeenRefs);
126
133
  result[key] = merged;
127
134
  } else result[key] = {
128
135
  ...schema,
@@ -133,31 +140,39 @@ var mergePropertiesIntoResult = (result, properties) => {
133
140
  /**
134
141
  * Efficiently merges array items into a result object.
135
142
  */
136
- var mergeItemsIntoResult = (result, items) => {
143
+ var mergeItemsIntoResult = (result, items, seenRefs = /* @__PURE__ */ new Set()) => {
137
144
  if (items.allOf || result.allOf) {
138
145
  const allOfSchemas = [];
139
146
  if (result.allOf) for (const schema of result.allOf) allOfSchemas.push(resolve.schema(schema));
140
147
  else allOfSchemas.push(result);
141
148
  if (items.allOf) for (const schema of items.allOf) allOfSchemas.push(resolve.schema(schema));
142
149
  else allOfSchemas.push(items);
143
- const merged = mergeAllOfSchemas({ allOf: allOfSchemas });
150
+ const merged = mergeAllOfSchemas({ allOf: allOfSchemas }, void 0, seenRefs);
144
151
  Object.assign(result, merged);
145
152
  return;
146
153
  }
147
154
  Object.assign(result, items);
148
- if ("properties" in result && "properties" in items) mergePropertiesIntoResult(result.properties, items.properties);
155
+ if ("properties" in result && "properties" in items) mergePropertiesIntoResult(result.properties, items.properties, seenRefs);
149
156
  };
150
157
  /**
151
158
  * Helper function for merging items that returns a new object.
152
159
  */
153
- var mergeItems = (existing, incoming) => {
160
+ var mergeItems = (existing, incoming, seenRefs = /* @__PURE__ */ new Set()) => {
161
+ const incomingRef = incoming.$ref;
162
+ if (typeof incomingRef === "string") {
163
+ if (seenRefs.has(incomingRef)) return existing;
164
+ return mergeItemsInner(existing, incoming, new Set(seenRefs).add(incomingRef));
165
+ }
166
+ return mergeItemsInner(existing, incoming, seenRefs);
167
+ };
168
+ var mergeItemsInner = (existing, incoming, seenRefs = /* @__PURE__ */ new Set()) => {
154
169
  if (existing.allOf || incoming.allOf) {
155
170
  const allOfSchemas = [];
156
171
  if (existing.allOf) for (const schema of existing.allOf) allOfSchemas.push(resolve.schema(schema));
157
172
  else allOfSchemas.push(existing);
158
173
  if (incoming.allOf) for (const schema of incoming.allOf) allOfSchemas.push(resolve.schema(schema));
159
174
  else allOfSchemas.push(incoming);
160
- return mergeAllOfSchemas({ allOf: allOfSchemas });
175
+ return mergeAllOfSchemas({ allOf: allOfSchemas }, void 0, seenRefs);
161
176
  }
162
177
  const merged = {
163
178
  ...existing,
@@ -165,7 +180,7 @@ var mergeItems = (existing, incoming) => {
165
180
  };
166
181
  if ("properties" in existing && "properties" in incoming) {
167
182
  merged.properties = { ...existing.properties };
168
- mergePropertiesIntoResult(merged.properties, incoming.properties);
183
+ mergePropertiesIntoResult(merged.properties, incoming.properties, seenRefs);
169
184
  }
170
185
  return merged;
171
186
  };
@@ -1 +1 @@
1
- {"version":3,"file":"merge-all-of-schemas.js","names":[],"sources":["../../../../../src/components/Content/Schema/helpers/merge-all-of-schemas.ts"],"sourcesContent":["import { objectKeys } from '@scalar/helpers/object/object-keys'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { isArraySchema } from '@scalar/workspace-store/schemas/v3.1/strict/type-guards'\n\n/**\n * Merges multiple OpenAPI schema objects into a single schema object.\n * Handles nested allOf compositions and merges properties recursively.\n *\n * @param schemas - Array of OpenAPI schema objects to merge\n * @param rootSchema - Optional root schema to merge with the result\n * @returns Merged schema object\n */\nexport const mergeAllOfSchemas = (schemas: SchemaObject | undefined, rootSchema?: SchemaObject): SchemaObject => {\n // Handle max depth, empty or invalid input\n if (!schemas?.allOf?.length || !Array.isArray(schemas.allOf)) {\n return rootSchema || ({} as SchemaObject)\n }\n\n // Initialize result object once\n const result = {} as SchemaObject\n\n // Extract base schema properties (everything except allOf)\n const { allOf: _, ...baseSchema } = schemas\n\n // Process allOf schemas first\n for (const _schema of schemas.allOf) {\n if (!_schema || typeof _schema !== 'object') {\n continue\n }\n\n // Resolve ref if present\n const schema = resolve.schema(_schema)\n\n // Handle nested allOf recursively\n if (schema.allOf) {\n const nestedMerged = mergeAllOfSchemas(schema)\n mergeSchemaIntoResult(result, nestedMerged)\n continue\n }\n\n mergeSchemaIntoResult(result, schema)\n }\n\n // Apply base schema properties with precedence over allOf properties\n if (Object.keys(baseSchema).length > 0) {\n mergeSchemaIntoResult(result, baseSchema, true)\n }\n\n // Process root schema last if provided\n if (rootSchema && typeof rootSchema === 'object') {\n if (rootSchema.allOf) {\n const nestedMerged = mergeAllOfSchemas(rootSchema)\n mergeSchemaIntoResult(result, nestedMerged, true)\n } else {\n mergeSchemaIntoResult(result, rootSchema, true)\n }\n }\n\n return result\n}\n\n/**\n * Efficiently merges a source schema into a target result object.\n * Handles all schema merging logic in a single optimized function.\n *\n * @param result - The target schema object to merge into\n * @param schema - The source schema object to merge from\n * @param override - Whether to override existing properties (default: false)\n */\nconst mergeSchemaIntoResult = (result: SchemaObject, schema: SchemaObject, override: boolean = false): void => {\n // Early return if schema is empty\n const schemaKeys = objectKeys(schema)\n if (schemaKeys.length === 0) {\n return\n }\n\n // Loop through all schema properties and handle them appropriately\n for (const key of schemaKeys) {\n const value = getResolvedRef(schema[key]) as any\n\n if (value === undefined) {\n continue\n }\n\n // Required\n if ((key as string) === 'required') {\n // Merge required fields with deduplication\n if (Array.isArray(value) && value.length > 0) {\n // @ts-expect-error\n if (result.required?.length) {\n // @ts-expect-error\n result.required = [...new Set([...result.required, ...value])]\n } else {\n // @ts-expect-error\n result.required = value.slice()\n }\n }\n }\n // Properties\n else if ((key as string) === 'properties') {\n // Merge properties recursively\n if (value && typeof value === 'object') {\n // @ts-expect-error\n if (!result.properties) {\n // @ts-expect-error\n result.properties = {}\n }\n\n // @ts-expect-error\n mergePropertiesIntoResult(result.properties, value)\n }\n }\n // Items\n else if ((key as string) === 'items') {\n // Handle items (for both arrays and objects with items)\n const items = resolve.schema(value)\n if (items) {\n if (isArraySchema(schema)) {\n // @ts-expect-error\n if (!result.items) {\n // @ts-expect-error\n result.items = {}\n }\n\n // Handle allOf within array items\n if (items.allOf) {\n const mergedItems = mergeAllOfSchemas(items)\n // @ts-expect-error\n Object.assign(result.items, mergedItems)\n } else {\n // @ts-expect-error\n mergeItemsIntoResult(getResolvedRef(result.items), items)\n }\n }\n // For non-array types with items.allOf, merge into properties\n else if (items.allOf) {\n const mergedItems = mergeAllOfSchemas(items)\n if ('properties' in mergedItems) {\n if (!('properties' in result)) {\n // @ts-expect-error\n result.properties = {}\n }\n\n 'properties' in result && mergePropertiesIntoResult(result.properties, mergedItems.properties)\n }\n }\n // For non-array types without allOf, still set items if not already set\n else if (!('items' in result)) {\n // @ts-expect-error\n result.items = items\n }\n }\n }\n // Enum\n else if (key === 'enum') {\n if (Array.isArray(value) && value.length > 0) {\n result.enum = [...new Set([...(result.enum || []), ...value])]\n }\n }\n // OneOf/AnyOf\n else if (key === 'oneOf' || key === 'anyOf') {\n // Merge oneOf/anyOf subschema\n if (Array.isArray(value)) {\n if (!('properties' in result)) {\n // @ts-expect-error\n result.properties = {}\n }\n for (const _option of value) {\n const option = resolve.schema(_option)\n if (option && 'properties' in option && 'properties' in result) {\n mergePropertiesIntoResult(result.properties, option.properties)\n }\n }\n }\n }\n // Skip allOf as it's handled at a higher level\n else if (key === 'allOf') {\n continue\n }\n // For all other properties, preserve the first occurrence or override if specified\n else {\n if (override || result[key] === undefined) {\n result[key] = value\n }\n }\n }\n}\n\n/**\n * Efficiently merges properties into a result object without creating new objects.\n */\nconst mergePropertiesIntoResult = (\n result: Extract<SchemaObject, { type: 'object' }>['properties'],\n properties: Extract<SchemaObject, { type: 'object' }>['properties'],\n): void => {\n const propertyKeys = Object.keys(properties ?? {})\n if (!properties || !result || propertyKeys.length === 0) {\n return\n }\n\n for (const key of propertyKeys) {\n const schema = resolve.schema(properties[key])\n if (!schema) {\n delete result[key]\n continue\n }\n\n if (typeof schema !== 'object') {\n result[key] = schema\n continue\n }\n\n if (!result[key]) {\n // Handle new property with allOf\n if (schema.allOf) {\n result[key] = mergeAllOfSchemas(schema)\n } else if (isArraySchema(schema) && resolve.schema(schema.items)?.allOf) {\n result[key] = {\n ...schema,\n items: mergeAllOfSchemas(resolve.schema(schema.items)),\n }\n } else if (properties[key]) {\n result[key] = properties[key]\n }\n continue\n }\n\n // Merge existing property\n const existing = resolve.schema(result[key])\n\n if (schema.allOf) {\n result[key] = mergeAllOfSchemas({ allOf: [existing, ...schema.allOf] } as SchemaObject)\n } else if (isArraySchema(schema) && isArraySchema(existing) && schema.items) {\n const existingItems = resolve.schema(existing.items)\n result[key] = {\n ...existing,\n type: 'array',\n items: existingItems ? mergeItems(existingItems, resolve.schema(schema.items)) : resolve.schema(schema.items),\n }\n } else {\n // Create merged object with properties handled separately\n if ('properties' in existing && 'properties' in schema) {\n const merged = { ...existing, ...schema }\n merged.properties = { ...existing.properties }\n mergePropertiesIntoResult(merged.properties, schema.properties)\n result[key] = merged\n }\n // Simple merge without property recursion\n else {\n result[key] = { ...schema, ...existing }\n }\n }\n }\n}\n\n/**\n * Efficiently merges array items into a result object.\n */\nconst mergeItemsIntoResult = (result: SchemaObject, items: SchemaObject): void => {\n // Handle allOf in items\n if (items.allOf || result.allOf) {\n // Build array without spreads for better performance\n const allOfSchemas: SchemaObject[] = []\n\n if (result.allOf) {\n for (const schema of result.allOf) {\n allOfSchemas.push(resolve.schema(schema))\n }\n } else {\n allOfSchemas.push(result)\n }\n\n if (items.allOf) {\n for (const schema of items.allOf) {\n allOfSchemas.push(resolve.schema(schema))\n }\n } else {\n allOfSchemas.push(items)\n }\n\n const merged = mergeAllOfSchemas({ allOf: allOfSchemas } as SchemaObject)\n Object.assign(result, merged)\n return\n }\n\n // Regular merge\n Object.assign(result, items)\n\n // Merge properties if both have them\n if ('properties' in result && 'properties' in items) {\n mergePropertiesIntoResult(result.properties, items.properties)\n }\n}\n\n/**\n * Helper function for merging items that returns a new object.\n */\nconst mergeItems = (existing: SchemaObject, incoming: SchemaObject): SchemaObject => {\n // Handle allOf in either schema\n if (existing.allOf || incoming.allOf) {\n // Build array without spreads for better performance\n const allOfSchemas: SchemaObject[] = []\n\n if (existing.allOf) {\n for (const schema of existing.allOf) {\n allOfSchemas.push(resolve.schema(schema))\n }\n } else {\n allOfSchemas.push(existing)\n }\n\n if (incoming.allOf) {\n for (const schema of incoming.allOf) {\n allOfSchemas.push(resolve.schema(schema))\n }\n } else {\n allOfSchemas.push(incoming)\n }\n\n return mergeAllOfSchemas({ allOf: allOfSchemas } as SchemaObject)\n }\n\n const merged = { ...existing, ...incoming }\n\n // Recursively merge properties if both have properties\n if ('properties' in existing && 'properties' in incoming) {\n // @ts-expect-error\n merged.properties = { ...existing.properties }\n // @ts-expect-error\n mergePropertiesIntoResult(merged.properties, incoming.properties)\n }\n\n return merged as SchemaObject\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,IAAa,qBAAqB,SAAmC,eAA4C;AAE/G,KAAI,CAAC,SAAS,OAAO,UAAU,CAAC,MAAM,QAAQ,QAAQ,MAAM,CAC1D,QAAO,cAAe,EAAE;CAI1B,MAAM,SAAS,EAAE;CAGjB,MAAM,EAAE,OAAO,GAAG,GAAG,eAAe;AAGpC,MAAK,MAAM,WAAW,QAAQ,OAAO;AACnC,MAAI,CAAC,WAAW,OAAO,YAAY,SACjC;EAIF,MAAM,SAAS,QAAQ,OAAO,QAAQ;AAGtC,MAAI,OAAO,OAAO;AAEhB,yBAAsB,QADD,kBAAkB,OAAO,CACH;AAC3C;;AAGF,wBAAsB,QAAQ,OAAO;;AAIvC,KAAI,OAAO,KAAK,WAAW,CAAC,SAAS,EACnC,uBAAsB,QAAQ,YAAY,KAAK;AAIjD,KAAI,cAAc,OAAO,eAAe,SACtC,KAAI,WAAW,MAEb,uBAAsB,QADD,kBAAkB,WAAW,EACN,KAAK;KAEjD,uBAAsB,QAAQ,YAAY,KAAK;AAInD,QAAO;;;;;;;;;;AAWT,IAAM,yBAAyB,QAAsB,QAAsB,WAAoB,UAAgB;CAE7G,MAAM,aAAa,WAAW,OAAO;AACrC,KAAI,WAAW,WAAW,EACxB;AAIF,MAAK,MAAM,OAAO,YAAY;EAC5B,MAAM,QAAQ,eAAe,OAAO,KAAK;AAEzC,MAAI,UAAU,KAAA,EACZ;AAIF,MAAK,QAAmB;OAElB,MAAM,QAAQ,MAAM,IAAI,MAAM,SAAS,EAEzC,KAAI,OAAO,UAAU,OAEnB,QAAO,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,OAAO,UAAU,GAAG,MAAM,CAAC,CAAC;OAG9D,QAAO,WAAW,MAAM,OAAO;aAK3B,QAAmB;OAEvB,SAAS,OAAO,UAAU,UAAU;AAEtC,QAAI,CAAC,OAAO,WAEV,QAAO,aAAa,EAAE;AAIxB,8BAA0B,OAAO,YAAY,MAAM;;aAI7C,QAAmB,SAAS;GAEpC,MAAM,QAAQ,QAAQ,OAAO,MAAM;AACnC,OAAI;QACE,cAAc,OAAO,EAAE;AAEzB,SAAI,CAAC,OAAO,MAEV,QAAO,QAAQ,EAAE;AAInB,SAAI,MAAM,OAAO;MACf,MAAM,cAAc,kBAAkB,MAAM;AAE5C,aAAO,OAAO,OAAO,OAAO,YAAY;WAGxC,sBAAqB,eAAe,OAAO,MAAM,EAAE,MAAM;eAIpD,MAAM,OAAO;KACpB,MAAM,cAAc,kBAAkB,MAAM;AAC5C,SAAI,gBAAgB,aAAa;AAC/B,UAAI,EAAE,gBAAgB,QAEpB,QAAO,aAAa,EAAE;AAGxB,sBAAgB,UAAU,0BAA0B,OAAO,YAAY,YAAY,WAAW;;eAIzF,EAAE,WAAW,QAEpB,QAAO,QAAQ;;aAKZ,QAAQ;OACX,MAAM,QAAQ,MAAM,IAAI,MAAM,SAAS,EACzC,QAAO,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAI,OAAO,QAAQ,EAAE,EAAG,GAAG,MAAM,CAAC,CAAC;aAIzD,QAAQ,WAAW,QAAQ;OAE9B,MAAM,QAAQ,MAAM,EAAE;AACxB,QAAI,EAAE,gBAAgB,QAEpB,QAAO,aAAa,EAAE;AAExB,SAAK,MAAM,WAAW,OAAO;KAC3B,MAAM,SAAS,QAAQ,OAAO,QAAQ;AACtC,SAAI,UAAU,gBAAgB,UAAU,gBAAgB,OACtD,2BAA0B,OAAO,YAAY,OAAO,WAAW;;;aAM9D,QAAQ,QACf;WAII,YAAY,OAAO,SAAS,KAAA,EAC9B,QAAO,OAAO;;;;;;AAStB,IAAM,6BACJ,QACA,eACS;CACT,MAAM,eAAe,OAAO,KAAK,cAAc,EAAE,CAAC;AAClD,KAAI,CAAC,cAAc,CAAC,UAAU,aAAa,WAAW,EACpD;AAGF,MAAK,MAAM,OAAO,cAAc;EAC9B,MAAM,SAAS,QAAQ,OAAO,WAAW,KAAK;AAC9C,MAAI,CAAC,QAAQ;AACX,UAAO,OAAO;AACd;;AAGF,MAAI,OAAO,WAAW,UAAU;AAC9B,UAAO,OAAO;AACd;;AAGF,MAAI,CAAC,OAAO,MAAM;AAEhB,OAAI,OAAO,MACT,QAAO,OAAO,kBAAkB,OAAO;YAC9B,cAAc,OAAO,IAAI,QAAQ,OAAO,OAAO,MAAM,EAAE,MAChE,QAAO,OAAO;IACZ,GAAG;IACH,OAAO,kBAAkB,QAAQ,OAAO,OAAO,MAAM,CAAC;IACvD;YACQ,WAAW,KACpB,QAAO,OAAO,WAAW;AAE3B;;EAIF,MAAM,WAAW,QAAQ,OAAO,OAAO,KAAK;AAE5C,MAAI,OAAO,MACT,QAAO,OAAO,kBAAkB,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,MAAM,EAAE,CAAiB;WAC9E,cAAc,OAAO,IAAI,cAAc,SAAS,IAAI,OAAO,OAAO;GAC3E,MAAM,gBAAgB,QAAQ,OAAO,SAAS,MAAM;AACpD,UAAO,OAAO;IACZ,GAAG;IACH,MAAM;IACN,OAAO,gBAAgB,WAAW,eAAe,QAAQ,OAAO,OAAO,MAAM,CAAC,GAAG,QAAQ,OAAO,OAAO,MAAM;IAC9G;aAGG,gBAAgB,YAAY,gBAAgB,QAAQ;GACtD,MAAM,SAAS;IAAE,GAAG;IAAU,GAAG;IAAQ;AACzC,UAAO,aAAa,EAAE,GAAG,SAAS,YAAY;AAC9C,6BAA0B,OAAO,YAAY,OAAO,WAAW;AAC/D,UAAO,OAAO;QAId,QAAO,OAAO;GAAE,GAAG;GAAQ,GAAG;GAAU;;;;;;AAShD,IAAM,wBAAwB,QAAsB,UAA8B;AAEhF,KAAI,MAAM,SAAS,OAAO,OAAO;EAE/B,MAAM,eAA+B,EAAE;AAEvC,MAAI,OAAO,MACT,MAAK,MAAM,UAAU,OAAO,MAC1B,cAAa,KAAK,QAAQ,OAAO,OAAO,CAAC;MAG3C,cAAa,KAAK,OAAO;AAG3B,MAAI,MAAM,MACR,MAAK,MAAM,UAAU,MAAM,MACzB,cAAa,KAAK,QAAQ,OAAO,OAAO,CAAC;MAG3C,cAAa,KAAK,MAAM;EAG1B,MAAM,SAAS,kBAAkB,EAAE,OAAO,cAAc,CAAiB;AACzE,SAAO,OAAO,QAAQ,OAAO;AAC7B;;AAIF,QAAO,OAAO,QAAQ,MAAM;AAG5B,KAAI,gBAAgB,UAAU,gBAAgB,MAC5C,2BAA0B,OAAO,YAAY,MAAM,WAAW;;;;;AAOlE,IAAM,cAAc,UAAwB,aAAyC;AAEnF,KAAI,SAAS,SAAS,SAAS,OAAO;EAEpC,MAAM,eAA+B,EAAE;AAEvC,MAAI,SAAS,MACX,MAAK,MAAM,UAAU,SAAS,MAC5B,cAAa,KAAK,QAAQ,OAAO,OAAO,CAAC;MAG3C,cAAa,KAAK,SAAS;AAG7B,MAAI,SAAS,MACX,MAAK,MAAM,UAAU,SAAS,MAC5B,cAAa,KAAK,QAAQ,OAAO,OAAO,CAAC;MAG3C,cAAa,KAAK,SAAS;AAG7B,SAAO,kBAAkB,EAAE,OAAO,cAAc,CAAiB;;CAGnE,MAAM,SAAS;EAAE,GAAG;EAAU,GAAG;EAAU;AAG3C,KAAI,gBAAgB,YAAY,gBAAgB,UAAU;AAExD,SAAO,aAAa,EAAE,GAAG,SAAS,YAAY;AAE9C,4BAA0B,OAAO,YAAY,SAAS,WAAW;;AAGnE,QAAO"}
1
+ {"version":3,"file":"merge-all-of-schemas.js","names":[],"sources":["../../../../../src/components/Content/Schema/helpers/merge-all-of-schemas.ts"],"sourcesContent":["import { objectKeys } from '@scalar/helpers/object/object-keys'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { isArraySchema } from '@scalar/workspace-store/schemas/v3.1/strict/type-guards'\n\n/**\n * Merges multiple OpenAPI schema objects into a single schema object.\n * Handles nested allOf compositions and merges properties recursively.\n *\n * @param schemas - Array of OpenAPI schema objects to merge\n * @param rootSchema - Optional root schema to merge with the result\n * @param seenRefs - `$ref` strings already being merged higher in the call stack\n * @returns Merged schema object\n */\nexport const mergeAllOfSchemas = (\n schemas: SchemaObject | undefined,\n rootSchema?: SchemaObject,\n seenRefs: Set<string> = new Set(),\n): SchemaObject => {\n // Handle max depth, empty or invalid input\n if (!schemas?.allOf?.length || !Array.isArray(schemas.allOf)) {\n return rootSchema || ({} as SchemaObject)\n }\n\n // Initialize result object once\n const result = {} as SchemaObject\n\n // Extract base schema properties (everything except allOf)\n const { allOf: _, ...baseSchema } = schemas\n\n // Process allOf schemas first\n for (const _schema of schemas.allOf) {\n if (!_schema || typeof _schema !== 'object') {\n continue\n }\n\n // Resolve ref if present\n const schema = resolve.schema(_schema)\n\n // Handle nested allOf recursively\n if (schema.allOf) {\n const nestedMerged = mergeAllOfSchemas(schema, undefined, seenRefs)\n mergeSchemaIntoResult(result, nestedMerged, false, seenRefs)\n continue\n }\n\n mergeSchemaIntoResult(result, schema, false, seenRefs)\n }\n\n // Apply base schema properties with precedence over allOf properties\n if (Object.keys(baseSchema).length > 0) {\n mergeSchemaIntoResult(result, baseSchema, true, seenRefs)\n }\n\n // Process root schema last if provided\n if (rootSchema && typeof rootSchema === 'object') {\n if (rootSchema.allOf) {\n const nestedMerged = mergeAllOfSchemas(rootSchema, undefined, seenRefs)\n mergeSchemaIntoResult(result, nestedMerged, true, seenRefs)\n } else {\n mergeSchemaIntoResult(result, rootSchema, true, seenRefs)\n }\n }\n\n return result\n}\n\n/**\n * Efficiently merges a source schema into a target result object.\n * Handles all schema merging logic in a single optimized function.\n *\n * @param result - The target schema object to merge into\n * @param schema - The source schema object to merge from\n * @param override - Whether to override existing properties (default: false)\n */\nconst mergeSchemaIntoResult = (\n result: SchemaObject,\n schema: SchemaObject,\n override: boolean = false,\n seenRefs: Set<string> = new Set(),\n): void => {\n // Early return if schema is empty\n const schemaKeys = objectKeys(schema)\n if (schemaKeys.length === 0) {\n return\n }\n\n // Loop through all schema properties and handle them appropriately\n for (const key of schemaKeys) {\n const value = getResolvedRef(schema[key]) as any\n\n if (value === undefined) {\n continue\n }\n\n // Required\n if ((key as string) === 'required') {\n // Merge required fields with deduplication\n if (Array.isArray(value) && value.length > 0) {\n // @ts-expect-error\n if (result.required?.length) {\n // @ts-expect-error\n result.required = [...new Set([...result.required, ...value])]\n } else {\n // @ts-expect-error\n result.required = value.slice()\n }\n }\n }\n // Properties\n else if ((key as string) === 'properties') {\n // Merge properties recursively\n if (value && typeof value === 'object') {\n // @ts-expect-error\n if (!result.properties) {\n // @ts-expect-error\n result.properties = {}\n }\n\n // @ts-expect-error\n mergePropertiesIntoResult(result.properties, value, seenRefs)\n }\n }\n // Items\n else if ((key as string) === 'items') {\n // Handle items (for both arrays and objects with items)\n const items = resolve.schema(value)\n if (items) {\n if (isArraySchema(schema)) {\n // @ts-expect-error\n if (!result.items) {\n // @ts-expect-error\n result.items = {}\n }\n\n // Handle allOf within array items\n if (items.allOf) {\n const mergedItems = mergeAllOfSchemas(items, undefined, seenRefs)\n // @ts-expect-error\n Object.assign(result.items, mergedItems)\n } else {\n // @ts-expect-error\n mergeItemsIntoResult(getResolvedRef(result.items), items, seenRefs)\n }\n }\n // For non-array types with items.allOf, merge into properties\n else if (items.allOf) {\n const mergedItems = mergeAllOfSchemas(items, undefined, seenRefs)\n if ('properties' in mergedItems) {\n if (!('properties' in result)) {\n // @ts-expect-error\n result.properties = {}\n }\n\n 'properties' in result && mergePropertiesIntoResult(result.properties, mergedItems.properties, seenRefs)\n }\n }\n // For non-array types without allOf, still set items if not already set\n else if (!('items' in result)) {\n // @ts-expect-error\n result.items = items\n }\n }\n }\n // Enum\n else if (key === 'enum') {\n if (Array.isArray(value) && value.length > 0) {\n result.enum = [...new Set([...(result.enum || []), ...value])]\n }\n }\n // OneOf/AnyOf\n else if (key === 'oneOf' || key === 'anyOf') {\n // Merge oneOf/anyOf subschema\n if (Array.isArray(value)) {\n if (!('properties' in result)) {\n // @ts-expect-error\n result.properties = {}\n }\n for (const _option of value) {\n const option = resolve.schema(_option)\n if (option && 'properties' in option && 'properties' in result) {\n mergePropertiesIntoResult(result.properties, option.properties, seenRefs)\n }\n }\n }\n }\n // Skip allOf as it's handled at a higher level\n else if (key === 'allOf') {\n continue\n }\n // For all other properties, preserve the first occurrence or override if specified\n else {\n if (override || result[key] === undefined) {\n result[key] = value\n }\n }\n }\n}\n\n/**\n * Efficiently merges properties into a result object without creating new objects.\n */\nconst mergePropertiesIntoResult = (\n result: Extract<SchemaObject, { type: 'object' }>['properties'],\n properties: Extract<SchemaObject, { type: 'object' }>['properties'],\n seenRefs: Set<string> = new Set(),\n): void => {\n const propertyKeys = Object.keys(properties ?? {})\n if (!properties || !result || propertyKeys.length === 0) {\n return\n }\n\n for (const key of propertyKeys) {\n const schema = resolve.schema(properties[key])\n if (!schema) {\n delete result[key]\n continue\n }\n\n if (typeof schema !== 'object') {\n result[key] = schema\n continue\n }\n\n if (!result[key]) {\n // Handle new property with allOf\n if (schema.allOf) {\n result[key] = mergeAllOfSchemas(schema, undefined, seenRefs)\n } else if (isArraySchema(schema) && resolve.schema(schema.items)?.allOf) {\n result[key] = {\n ...schema,\n items: mergeAllOfSchemas(resolve.schema(schema.items), undefined, seenRefs),\n }\n } else if (properties[key]) {\n result[key] = properties[key]\n }\n continue\n }\n\n // Merge existing property\n const existing = resolve.schema(result[key])\n\n // Break self-referential cycles: when this property's `$ref` is already\n // being merged higher in the call stack, keep the partially merged existing\n // schema instead of recursing into it again. This mirrors the guard in\n // `mergeItems` and covers schemas that point back at themselves through a\n // plain object property (e.g. a tree node whose `parent` $refs the node).\n const schemaRef = (schema as { $ref?: string }).$ref\n if (typeof schemaRef === 'string' && seenRefs.has(schemaRef)) {\n result[key] = existing\n continue\n }\n const nextSeenRefs = typeof schemaRef === 'string' ? new Set(seenRefs).add(schemaRef) : seenRefs\n\n if (schema.allOf) {\n result[key] = mergeAllOfSchemas({ allOf: [existing, ...schema.allOf] } as SchemaObject, undefined, nextSeenRefs)\n } else if (isArraySchema(schema) && isArraySchema(existing) && schema.items) {\n const existingItems = resolve.schema(existing.items)\n result[key] = {\n ...existing,\n type: 'array',\n items: existingItems\n ? mergeItems(existingItems, resolve.schema(schema.items), nextSeenRefs)\n : resolve.schema(schema.items),\n }\n } else {\n // Create merged object with properties handled separately\n if ('properties' in existing && 'properties' in schema) {\n const merged = { ...existing, ...schema }\n merged.properties = { ...existing.properties }\n mergePropertiesIntoResult(merged.properties, schema.properties, nextSeenRefs)\n result[key] = merged\n }\n // Simple merge without property recursion\n else {\n result[key] = { ...schema, ...existing }\n }\n }\n }\n}\n\n/**\n * Efficiently merges array items into a result object.\n */\nconst mergeItemsIntoResult = (result: SchemaObject, items: SchemaObject, seenRefs: Set<string> = new Set()): void => {\n // Handle allOf in items\n if (items.allOf || result.allOf) {\n // Build array without spreads for better performance\n const allOfSchemas: SchemaObject[] = []\n\n if (result.allOf) {\n for (const schema of result.allOf) {\n allOfSchemas.push(resolve.schema(schema))\n }\n } else {\n allOfSchemas.push(result)\n }\n\n if (items.allOf) {\n for (const schema of items.allOf) {\n allOfSchemas.push(resolve.schema(schema))\n }\n } else {\n allOfSchemas.push(items)\n }\n\n const merged = mergeAllOfSchemas({ allOf: allOfSchemas } as SchemaObject, undefined, seenRefs)\n Object.assign(result, merged)\n return\n }\n\n // Regular merge\n Object.assign(result, items)\n\n // Merge properties if both have them\n if ('properties' in result && 'properties' in items) {\n mergePropertiesIntoResult(result.properties, items.properties, seenRefs)\n }\n}\n\n/**\n * Helper function for merging items that returns a new object.\n */\nconst mergeItems = (\n existing: SchemaObject,\n incoming: SchemaObject,\n seenRefs: Set<string> = new Set(),\n): SchemaObject => {\n const incomingRef = (incoming as { $ref?: string }).$ref\n\n if (typeof incomingRef === 'string') {\n if (seenRefs.has(incomingRef)) {\n return existing\n }\n return mergeItemsInner(existing, incoming, new Set(seenRefs).add(incomingRef))\n }\n\n return mergeItemsInner(existing, incoming, seenRefs)\n}\n\nconst mergeItemsInner = (\n existing: SchemaObject,\n incoming: SchemaObject,\n seenRefs: Set<string> = new Set(),\n): SchemaObject => {\n // Handle allOf in either schema\n if (existing.allOf || incoming.allOf) {\n // Build array without spreads for better performance\n const allOfSchemas: SchemaObject[] = []\n\n if (existing.allOf) {\n for (const schema of existing.allOf) {\n allOfSchemas.push(resolve.schema(schema))\n }\n } else {\n allOfSchemas.push(existing)\n }\n\n if (incoming.allOf) {\n for (const schema of incoming.allOf) {\n allOfSchemas.push(resolve.schema(schema))\n }\n } else {\n allOfSchemas.push(incoming)\n }\n\n return mergeAllOfSchemas({ allOf: allOfSchemas } as SchemaObject, undefined, seenRefs)\n }\n\n const merged = { ...existing, ...incoming }\n\n // Recursively merge properties if both have properties\n if ('properties' in existing && 'properties' in incoming) {\n // @ts-expect-error\n merged.properties = { ...existing.properties }\n // @ts-expect-error\n mergePropertiesIntoResult(merged.properties, incoming.properties, seenRefs)\n }\n\n return merged as SchemaObject\n}\n"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { InjectionKey } from 'vue';
2
+ /**
3
+ * The set of schema "cycle keys" for every ancestor on the current render path.
4
+ *
5
+ * Each `Schema` component injects this set, adds its own key, and re-provides
6
+ * it to its descendants. When a node's key is already present in the ancestor
7
+ * set we've hit a cycle (a self-referential schema) and must stop force
8
+ * expanding to avoid rendering forever.
9
+ *
10
+ * See {@link getCycleKey} for how a node's key is derived.
11
+ */
12
+ export declare const SCHEMA_ANCESTORS_SYMBOL: InjectionKey<ReadonlySet<unknown>>;
13
+ /**
14
+ * Derive a stable identity for a schema node from its *raw* (unresolved) value.
15
+ *
16
+ * Cycle detection needs a key that is identical every time the same schema is
17
+ * reached along a path, and that survives the shallow copies/merges performed
18
+ * while rendering (which break object identity of the resolved schema).
19
+ *
20
+ * - For `$ref` nodes we use the ref string. Two branches that reference the
21
+ * same component share the string, so a schema that (transitively) references
22
+ * itself is detected as a cycle, while sibling references are not.
23
+ * - For inline schemas there is no ref, so we fall back to the raw object
24
+ * reference. A self-referential inline schema reuses the same object, so
25
+ * object identity catches the cycle.
26
+ *
27
+ * Returns `undefined` for primitives/booleans (e.g. `additionalProperties: true`)
28
+ * which can never form a cycle.
29
+ */
30
+ export declare const getCycleKey: (raw: unknown) => unknown;
31
+ //# sourceMappingURL=schema-cycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-cycle.d.ts","sourceRoot":"","sources":["../../../../../src/components/Content/Schema/helpers/schema-cycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAEvC;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAA8B,CAAA;AAErG;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,KAAG,OAS1C,CAAA"}
@@ -0,0 +1,39 @@
1
+ //#region src/components/Content/Schema/helpers/schema-cycle.ts
2
+ /**
3
+ * The set of schema "cycle keys" for every ancestor on the current render path.
4
+ *
5
+ * Each `Schema` component injects this set, adds its own key, and re-provides
6
+ * it to its descendants. When a node's key is already present in the ancestor
7
+ * set we've hit a cycle (a self-referential schema) and must stop force
8
+ * expanding to avoid rendering forever.
9
+ *
10
+ * See {@link getCycleKey} for how a node's key is derived.
11
+ */
12
+ var SCHEMA_ANCESTORS_SYMBOL = Symbol("schema-ancestors");
13
+ /**
14
+ * Derive a stable identity for a schema node from its *raw* (unresolved) value.
15
+ *
16
+ * Cycle detection needs a key that is identical every time the same schema is
17
+ * reached along a path, and that survives the shallow copies/merges performed
18
+ * while rendering (which break object identity of the resolved schema).
19
+ *
20
+ * - For `$ref` nodes we use the ref string. Two branches that reference the
21
+ * same component share the string, so a schema that (transitively) references
22
+ * itself is detected as a cycle, while sibling references are not.
23
+ * - For inline schemas there is no ref, so we fall back to the raw object
24
+ * reference. A self-referential inline schema reuses the same object, so
25
+ * object identity catches the cycle.
26
+ *
27
+ * Returns `undefined` for primitives/booleans (e.g. `additionalProperties: true`)
28
+ * which can never form a cycle.
29
+ */
30
+ var getCycleKey = (raw) => {
31
+ if (raw && typeof raw === "object") {
32
+ if ("$ref" in raw && typeof raw.$ref === "string") return raw.$ref;
33
+ return raw;
34
+ }
35
+ };
36
+ //#endregion
37
+ export { SCHEMA_ANCESTORS_SYMBOL, getCycleKey };
38
+
39
+ //# sourceMappingURL=schema-cycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-cycle.js","names":[],"sources":["../../../../../src/components/Content/Schema/helpers/schema-cycle.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\n\n/**\n * The set of schema \"cycle keys\" for every ancestor on the current render path.\n *\n * Each `Schema` component injects this set, adds its own key, and re-provides\n * it to its descendants. When a node's key is already present in the ancestor\n * set we've hit a cycle (a self-referential schema) and must stop force\n * expanding to avoid rendering forever.\n *\n * See {@link getCycleKey} for how a node's key is derived.\n */\nexport const SCHEMA_ANCESTORS_SYMBOL: InjectionKey<ReadonlySet<unknown>> = Symbol('schema-ancestors')\n\n/**\n * Derive a stable identity for a schema node from its *raw* (unresolved) value.\n *\n * Cycle detection needs a key that is identical every time the same schema is\n * reached along a path, and that survives the shallow copies/merges performed\n * while rendering (which break object identity of the resolved schema).\n *\n * - For `$ref` nodes we use the ref string. Two branches that reference the\n * same component share the string, so a schema that (transitively) references\n * itself is detected as a cycle, while sibling references are not.\n * - For inline schemas there is no ref, so we fall back to the raw object\n * reference. A self-referential inline schema reuses the same object, so\n * object identity catches the cycle.\n *\n * Returns `undefined` for primitives/booleans (e.g. `additionalProperties: true`)\n * which can never form a cycle.\n */\nexport const getCycleKey = (raw: unknown): unknown => {\n if (raw && typeof raw === 'object') {\n if ('$ref' in raw && typeof (raw as { $ref?: unknown }).$ref === 'string') {\n return (raw as { $ref: string }).$ref\n }\n return raw\n }\n\n return undefined\n}\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,0BAA8D,OAAO,mBAAmB;;;;;;;;;;;;;;;;;;AAmBrG,IAAa,eAAe,QAA0B;AACpD,KAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,MAAI,UAAU,OAAO,OAAQ,IAA2B,SAAS,SAC/D,QAAQ,IAAyB;AAEnC,SAAO"}
@@ -1,4 +1,5 @@
1
1
  import type { ApiReferenceConfiguration } from '@scalar/types/api-reference';
2
+ import type { OpenApiDocument } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
2
3
  /**
3
4
  * Options for the schema component tree
4
5
  *
@@ -13,5 +14,14 @@ export type SchemaOptions = {
13
14
  orderSchemaPropertiesBy?: ApiReferenceConfiguration['orderSchemaPropertiesBy'];
14
15
  /** Order required properties first */
15
16
  orderRequiredPropertiesFirst?: ApiReferenceConfiguration['orderRequiredPropertiesFirst'];
17
+ /** Expand all nested schema properties by default while keeping the toggle available */
18
+ expandAllSchemaProperties?: ApiReferenceConfiguration['expandAllSchemaProperties'];
19
+ /**
20
+ * The document the schema belongs to.
21
+ *
22
+ * Used purely for display, e.g. to resolve discriminator `mapping` references into
23
+ * their component schemas when inferring composition variants.
24
+ */
25
+ document?: OpenApiDocument;
16
26
  };
17
27
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Content/Schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAE5E;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,yBAAyB,CAAC,yBAAyB,CAAC,CAAA;IAC9E,sCAAsC;IACtC,4BAA4B,CAAC,EAAE,yBAAyB,CAAC,8BAA8B,CAAC,CAAA;CACzF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Content/Schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAEnG;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,yBAAyB,CAAC,yBAAyB,CAAC,CAAA;IAC9E,sCAAsC;IACtC,4BAA4B,CAAC,EAAE,yBAAyB,CAAC,8BAA8B,CAAC,CAAA;IACxF,wFAAwF;IACxF,yBAAyB,CAAC,EAAE,yBAAyB,CAAC,2BAA2B,CAAC,CAAA;IAClF;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import ClassicHeader_default from "./ClassicHeader.vue.js";
2
2
  import SectionContainer_default from "./Section/SectionContainer.vue.js";
3
- import Auth_default from "./Content/Auth/Auth.vue.js";
4
3
  import SchemaHeading_default from "./Content/Schema/SchemaHeading.vue.js";
5
4
  import SchemaProperty_default from "./Content/Schema/SchemaProperty.vue.js";
6
5
  import Schema_default from "./Content/Schema/Schema.vue.js";
@@ -11,6 +10,7 @@ import HttpMethod_default from "./HttpMethod/HttpMethod.vue.js";
11
10
  import OperationsList_default from "./OperationsList/OperationsList.vue.js";
12
11
  import Tag_default from "./Content/Tags/Tag.vue.js";
13
12
  import Lazy_default from "./Lazy/Lazy.vue.js";
13
+ import Auth_default from "./Content/Auth/Auth.vue.js";
14
14
  import TraversedEntry_default from "./Content/Operations/TraversedEntry.vue.js";
15
15
  import RenderPlugins_default from "./RenderPlugins/RenderPlugins.vue.js";
16
16
  import SectionFlare_default from "./SectionFlare/SectionFlare.vue.js";
@@ -15,7 +15,7 @@ export type OperationProps = {
15
15
  id: string;
16
16
  method: HttpMethod;
17
17
  /** The subset of the configuration object required for the operation component */
18
- options: Pick<ApiReferenceConfigurationRaw, 'expandAllResponses' | 'hideModels' | 'hideTestRequestButton' | 'layout' | 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy' | 'showOperationId'>;
18
+ options: Pick<ApiReferenceConfigurationRaw, 'expandAllResponses' | 'hideModels' | 'hideTestRequestButton' | 'layout' | 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy' | 'expandAllSchemaProperties' | 'showOperationId'>;
19
19
  /** Document object */
20
20
  document: OpenApiDocument;
21
21
  /** Key of the operations path in the document.paths object */
@@ -1 +1 @@
1
- {"version":3,"file":"Operation.vue.d.ts","sourceRoot":"","sources":["../../../src/features/Operation/Operation.vue"],"names":[],"mappings":"AAoLA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAA;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACb,MAAM,8DAA8D,CAAA;AAcrE;;GAEG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAIzC,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;IAClB,kFAAkF;IAClF,OAAO,EAAE,IAAI,CACX,4BAA4B,EAC1B,oBAAoB,GACpB,YAAY,GACZ,uBAAuB,GACvB,QAAQ,GACR,8BAA8B,GAC9B,yBAAyB,GACzB,iBAAiB,CACpB,CAAA;IACD,sBAAsB;IACtB,QAAQ,EAAE,eAAe,CAAA;IACzB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,SAAS,EAAE,cAAc,GAAG,SAAS,CAAA;IACrC,iDAAiD;IACjD,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,wFAAwF;IACxF,eAAe,EAAE,qBAAqB,CAAA;IACtC,+CAA+C;IAC/C,aAAa,EAAE,iBAAiB,EAAE,CAAA;IAClC,wDAAwD;IACxD,WAAW,EAAE,OAAO,CAAA;IACpB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAA;IAClB,qDAAqD;IACrD,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,yBAAyB,CAAC,CAAA;IACtE,oBAAoB;IACpB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,qBAAqB;IACrB,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AACD,QAAA,MAAM,YAAY,wSA4Kd,CAAC"}
1
+ {"version":3,"file":"Operation.vue.d.ts","sourceRoot":"","sources":["../../../src/features/Operation/Operation.vue"],"names":[],"mappings":"AAuLA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAA;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACb,MAAM,8DAA8D,CAAA;AAcrE;;GAEG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAIzC,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,CAAA;IAClB,kFAAkF;IAClF,OAAO,EAAE,IAAI,CACX,4BAA4B,EAC1B,oBAAoB,GACpB,YAAY,GACZ,uBAAuB,GACvB,QAAQ,GACR,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,GAC3B,iBAAiB,CACpB,CAAA;IACD,sBAAsB;IACtB,QAAQ,EAAE,eAAe,CAAA;IACzB,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,SAAS,EAAE,cAAc,GAAG,SAAS,CAAA;IACrC,iDAAiD;IACjD,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,wFAAwF;IACxF,eAAe,EAAE,qBAAqB,CAAA;IACtC,+CAA+C;IAC/C,aAAa,EAAE,iBAAiB,EAAE,CAAA;IAClC,wDAAwD;IACxD,WAAW,EAAE,OAAO,CAAA;IACpB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAA;IAClB,qDAAqD;IACrD,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,yBAAyB,CAAC,CAAA;IACtE,oBAAoB;IACpB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,qBAAqB;IACrB,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AACD,QAAA,MAAM,YAAY,wSAgLd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Operation.vue.js","names":[],"sources":["../../../src/features/Operation/Operation.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * References Operation \"block\"\n */\nexport default {}\n\nexport type OperationProps = {\n id: string\n method: HttpMethod\n /** The subset of the configuration object required for the operation component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'expandAllResponses'\n | 'hideModels'\n | 'hideTestRequestButton'\n | 'layout'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'showOperationId'\n >\n /** Document object */\n document: OpenApiDocument\n /** Key of the operations path in the document.paths object */\n path: string\n /** OpenAPI path object that will include the operation */\n pathValue: PathItemObject | undefined\n /** Currently selected server for the document */\n server: ServerObject | null\n /** The merged security schemes for the document and the authentication configuration */\n securitySchemes: MergedSecuritySchemes\n /** The http client options for the dropdown */\n clientOptions: ClientOptionGroup[]\n /** Whether the Classic layout operation is collapsed */\n isCollapsed: boolean\n /** Whether the operation is a webhook */\n isWebhook: boolean\n /** The currently selected client for the document */\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n /** The event bus */\n eventBus: WorkspaceEventBus\n /** The auth store */\n authStore: AuthStore\n}\n</script>\n\n<script lang=\"ts\" setup>\nimport type { ClientOptionGroup } from '@scalar/api-client/blocks/operation-code-sample'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport {\n combineParams,\n type MergedSecuritySchemes,\n} from '@scalar/workspace-store/request-example'\nimport type {\n OpenApiDocument,\n PathItemObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { filterSelectedSecurity } from '@/features/Operation/helpers/filter-selected-security'\n\nimport { getFirstServer } from './helpers/get-first-server'\nimport {\n getRequiredSecurity,\n type RequiredSecurity,\n} from './helpers/get-required-security'\nimport ClassicLayout from './layouts/ClassicLayout.vue'\nimport ModernLayout from './layouts/ModernLayout.vue'\n\nconst {\n authStore,\n clientOptions,\n document,\n eventBus,\n isCollapsed,\n isWebhook,\n method,\n options,\n path,\n pathValue,\n securitySchemes,\n server,\n} = defineProps<OperationProps>()\n\n/**\n * Operation from the new workspace store, ensure we are de-reference\n *\n * Also adds in params from the pathItemObject\n */\nconst operation = computed(() => {\n const entity = getResolvedRef(pathValue?.[method])\n\n if (!entity) {\n return null\n }\n\n // Combine params from the pathItem and the operation\n const parameters = combineParams(pathValue?.parameters, entity.parameters)\n return { ...entity, parameters }\n})\n\n/**\n * Determine the effective server for the code examples.\n */\nconst selectedServer = computed<ServerObject | null>(() =>\n getFirstServer(\n // 1) Operation\n operation.value?.servers ?? null,\n // 2) Path Item\n pathValue?.servers ?? null,\n // 3) Document\n server,\n ),\n)\n\nconst requiredSecurity = computed<RequiredSecurity>(() =>\n getRequiredSecurity(operation.value, document),\n)\n\n/** We must ensure the selected security schemes are required on this operation */\nconst selectedSecuritySchemes = computed(() =>\n filterSelectedSecurity(\n document,\n operation.value,\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n }),\n authStore.getAuthSelectedSchemas({\n type: 'operation',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n path,\n method,\n }),\n securitySchemes,\n ),\n)\n</script>\n\n<template>\n <template v-if=\"operation\">\n <ClassicLayout\n v-if=\"options.layout === 'classic'\"\n :id\n :clientOptions\n :eventBus\n :isCollapsed\n :isWebhook\n :method\n :operation\n :options\n :path\n :requiredSecurity\n :selectedClient\n :selectedSecuritySchemes\n :selectedServer />\n <ModernLayout\n v-else\n :id\n :clientOptions\n :eventBus\n :isWebhook\n :method\n :operation\n :options\n :path\n :requiredSecurity\n :selectedClient\n :selectedSecuritySchemes\n :selectedServer />\n </template>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Operation.vue.js","names":[],"sources":["../../../src/features/Operation/Operation.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * References Operation \"block\"\n */\nexport default {}\n\nexport type OperationProps = {\n id: string\n method: HttpMethod\n /** The subset of the configuration object required for the operation component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'expandAllResponses'\n | 'hideModels'\n | 'hideTestRequestButton'\n | 'layout'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n | 'showOperationId'\n >\n /** Document object */\n document: OpenApiDocument\n /** Key of the operations path in the document.paths object */\n path: string\n /** OpenAPI path object that will include the operation */\n pathValue: PathItemObject | undefined\n /** Currently selected server for the document */\n server: ServerObject | null\n /** The merged security schemes for the document and the authentication configuration */\n securitySchemes: MergedSecuritySchemes\n /** The http client options for the dropdown */\n clientOptions: ClientOptionGroup[]\n /** Whether the Classic layout operation is collapsed */\n isCollapsed: boolean\n /** Whether the operation is a webhook */\n isWebhook: boolean\n /** The currently selected client for the document */\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n /** The event bus */\n eventBus: WorkspaceEventBus\n /** The auth store */\n authStore: AuthStore\n}\n</script>\n\n<script lang=\"ts\" setup>\nimport type { ClientOptionGroup } from '@scalar/api-client/blocks/operation-code-sample'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport {\n combineParams,\n type MergedSecuritySchemes,\n} from '@scalar/workspace-store/request-example'\nimport type {\n OpenApiDocument,\n PathItemObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { filterSelectedSecurity } from '@/features/Operation/helpers/filter-selected-security'\n\nimport { getFirstServer } from './helpers/get-first-server'\nimport {\n getRequiredSecurity,\n type RequiredSecurity,\n} from './helpers/get-required-security'\nimport ClassicLayout from './layouts/ClassicLayout.vue'\nimport ModernLayout from './layouts/ModernLayout.vue'\n\nconst {\n authStore,\n clientOptions,\n document,\n eventBus,\n isCollapsed,\n isWebhook,\n method,\n options,\n path,\n pathValue,\n securitySchemes,\n server,\n} = defineProps<OperationProps>()\n\n/**\n * Operation from the new workspace store, ensure we are de-reference\n *\n * Also adds in params from the pathItemObject\n */\nconst operation = computed(() => {\n const entity = getResolvedRef(pathValue?.[method])\n\n if (!entity) {\n return null\n }\n\n // Combine params from the pathItem and the operation\n const parameters = combineParams(pathValue?.parameters, entity.parameters)\n return { ...entity, parameters }\n})\n\n/**\n * Determine the effective server for the code examples.\n */\nconst selectedServer = computed<ServerObject | null>(() =>\n getFirstServer(\n // 1) Operation\n operation.value?.servers ?? null,\n // 2) Path Item\n pathValue?.servers ?? null,\n // 3) Document\n server,\n ),\n)\n\nconst requiredSecurity = computed<RequiredSecurity>(() =>\n getRequiredSecurity(operation.value, document),\n)\n\n/** We must ensure the selected security schemes are required on this operation */\nconst selectedSecuritySchemes = computed(() =>\n filterSelectedSecurity(\n document,\n operation.value,\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n }),\n authStore.getAuthSelectedSchemas({\n type: 'operation',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n path,\n method,\n }),\n securitySchemes,\n ),\n)\n</script>\n\n<template>\n <template v-if=\"operation\">\n <ClassicLayout\n v-if=\"options.layout === 'classic'\"\n :id\n :clientOptions\n :document\n :eventBus\n :isCollapsed\n :isWebhook\n :method\n :operation\n :options\n :path\n :requiredSecurity\n :selectedClient\n :selectedSecuritySchemes\n :selectedServer />\n <ModernLayout\n v-else\n :id\n :clientOptions\n :document\n :eventBus\n :isWebhook\n :method\n :operation\n :options\n :path\n :requiredSecurity\n :selectedClient\n :selectedSecuritySchemes\n :selectedServer />\n </template>\n</template>\n"],"mappings":""}
@@ -59,6 +59,7 @@ var Operation_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
59
59
  key: 0,
60
60
  id: __props.id,
61
61
  clientOptions: __props.clientOptions,
62
+ document: __props.document,
62
63
  eventBus: __props.eventBus,
63
64
  isCollapsed: __props.isCollapsed,
64
65
  isWebhook: __props.isWebhook,
@@ -73,6 +74,7 @@ var Operation_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
73
74
  }, null, 8, [
74
75
  "id",
75
76
  "clientOptions",
77
+ "document",
76
78
  "eventBus",
77
79
  "isCollapsed",
78
80
  "isWebhook",
@@ -88,6 +90,7 @@ var Operation_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
88
90
  key: 1,
89
91
  id: __props.id,
90
92
  clientOptions: __props.clientOptions,
93
+ document: __props.document,
91
94
  eventBus: __props.eventBus,
92
95
  isWebhook: __props.isWebhook,
93
96
  method: __props.method,
@@ -101,6 +104,7 @@ var Operation_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
101
104
  }, null, 8, [
102
105
  "id",
103
106
  "clientOptions",
107
+ "document",
104
108
  "eventBus",
105
109
  "isWebhook",
106
110
  "method",
@@ -1 +1 @@
1
- {"version":3,"file":"Operation.vue.script.js","names":[],"sources":["../../../src/features/Operation/Operation.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * References Operation \"block\"\n */\nexport default {}\n\nexport type OperationProps = {\n id: string\n method: HttpMethod\n /** The subset of the configuration object required for the operation component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'expandAllResponses'\n | 'hideModels'\n | 'hideTestRequestButton'\n | 'layout'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'showOperationId'\n >\n /** Document object */\n document: OpenApiDocument\n /** Key of the operations path in the document.paths object */\n path: string\n /** OpenAPI path object that will include the operation */\n pathValue: PathItemObject | undefined\n /** Currently selected server for the document */\n server: ServerObject | null\n /** The merged security schemes for the document and the authentication configuration */\n securitySchemes: MergedSecuritySchemes\n /** The http client options for the dropdown */\n clientOptions: ClientOptionGroup[]\n /** Whether the Classic layout operation is collapsed */\n isCollapsed: boolean\n /** Whether the operation is a webhook */\n isWebhook: boolean\n /** The currently selected client for the document */\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n /** The event bus */\n eventBus: WorkspaceEventBus\n /** The auth store */\n authStore: AuthStore\n}\n</script>\n\n<script lang=\"ts\" setup>\nimport type { ClientOptionGroup } from '@scalar/api-client/blocks/operation-code-sample'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport {\n combineParams,\n type MergedSecuritySchemes,\n} from '@scalar/workspace-store/request-example'\nimport type {\n OpenApiDocument,\n PathItemObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { filterSelectedSecurity } from '@/features/Operation/helpers/filter-selected-security'\n\nimport { getFirstServer } from './helpers/get-first-server'\nimport {\n getRequiredSecurity,\n type RequiredSecurity,\n} from './helpers/get-required-security'\nimport ClassicLayout from './layouts/ClassicLayout.vue'\nimport ModernLayout from './layouts/ModernLayout.vue'\n\nconst {\n authStore,\n clientOptions,\n document,\n eventBus,\n isCollapsed,\n isWebhook,\n method,\n options,\n path,\n pathValue,\n securitySchemes,\n server,\n} = defineProps<OperationProps>()\n\n/**\n * Operation from the new workspace store, ensure we are de-reference\n *\n * Also adds in params from the pathItemObject\n */\nconst operation = computed(() => {\n const entity = getResolvedRef(pathValue?.[method])\n\n if (!entity) {\n return null\n }\n\n // Combine params from the pathItem and the operation\n const parameters = combineParams(pathValue?.parameters, entity.parameters)\n return { ...entity, parameters }\n})\n\n/**\n * Determine the effective server for the code examples.\n */\nconst selectedServer = computed<ServerObject | null>(() =>\n getFirstServer(\n // 1) Operation\n operation.value?.servers ?? null,\n // 2) Path Item\n pathValue?.servers ?? null,\n // 3) Document\n server,\n ),\n)\n\nconst requiredSecurity = computed<RequiredSecurity>(() =>\n getRequiredSecurity(operation.value, document),\n)\n\n/** We must ensure the selected security schemes are required on this operation */\nconst selectedSecuritySchemes = computed(() =>\n filterSelectedSecurity(\n document,\n operation.value,\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n }),\n authStore.getAuthSelectedSchemas({\n type: 'operation',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n path,\n method,\n }),\n securitySchemes,\n ),\n)\n</script>\n\n<template>\n <template v-if=\"operation\">\n <ClassicLayout\n v-if=\"options.layout === 'classic'\"\n :id\n :clientOptions\n :eventBus\n :isCollapsed\n :isWebhook\n :method\n :operation\n :options\n :path\n :requiredSecurity\n :selectedClient\n :selectedSecuritySchemes\n :selectedServer />\n <ModernLayout\n v-else\n :id\n :clientOptions\n :eventBus\n :isWebhook\n :method\n :operation\n :options\n :path\n :requiredSecurity\n :selectedClient\n :selectedSecuritySchemes\n :selectedServer />\n </template>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8FA,MAAM,YAAY,eAAe;GAC/B,MAAM,SAAS,eAAe,QAAA,YAAY,QAAA,QAAO;AAEjD,OAAI,CAAC,OACH,QAAO;GAIT,MAAM,aAAa,cAAc,QAAA,WAAW,YAAY,OAAO,WAAU;AACzE,UAAO;IAAE,GAAG;IAAQ;IAAW;IAChC;;;;EAKD,MAAM,iBAAiB,eACrB,eAEE,UAAU,OAAO,WAAW,MAE5B,QAAA,WAAW,WAAW,MAEtB,QAAA,OACD,CACH;EAEA,MAAM,mBAAmB,eACvB,oBAAoB,UAAU,OAAO,QAAA,SAAS,CAChD;;EAGA,MAAM,0BAA0B,eAC9B,uBACE,QAAA,UACA,UAAU,OACV,QAAA,UAAU,uBAAuB;GAC/B,MAAM;GACN,cAAc,QAAA,WAAW,wBAAwB,QAAQ;GAC1D,CAAC,EACF,QAAA,UAAU,uBAAuB;GAC/B,MAAM;GACN,cAAc,QAAA,WAAW,wBAAwB,QAAQ;GACzD,MAAG,QAAA;GACH,QAAK,QAAA;GACN,CAAC,EACF,QAAA,gBACD,CACH;;UAIkB,UAAA,SAAA,WAAA,EAAhB,mBA8BW,UAAA,EAAA,KAAA,GAAA,EAAA,CA5BD,QAAA,QAAQ,WAAM,aAAA,WAAA,EADtB,YAcoB,uBAAA;;IAZjB,IAAA,QAAA;IACA,eAAA,QAAA;IACA,UAAA,QAAA;IACA,aAAA,QAAA;IACA,WAAA,QAAA;IACA,QAAA,QAAA;IACA,WAAA,UAAA;IACA,SAAA,QAAA;IACA,MAAA,QAAA;IACA,kBAAA,iBAAA;IACA,gBAAA,QAAA;IACA,yBAAA,wBAAA;IACA,gBAAA,eAAA;;;;;;;;;;;;;;;uBACH,YAaoB,sBAAA;;IAXjB,IAAA,QAAA;IACA,eAAA,QAAA;IACA,UAAA,QAAA;IACA,WAAA,QAAA;IACA,QAAA,QAAA;IACA,WAAA,UAAA;IACA,SAAA,QAAA;IACA,MAAA,QAAA;IACA,kBAAA,iBAAA;IACA,gBAAA,QAAA;IACA,yBAAA,wBAAA;IACA,gBAAA,eAAA"}
1
+ {"version":3,"file":"Operation.vue.script.js","names":[],"sources":["../../../src/features/Operation/Operation.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * References Operation \"block\"\n */\nexport default {}\n\nexport type OperationProps = {\n id: string\n method: HttpMethod\n /** The subset of the configuration object required for the operation component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'expandAllResponses'\n | 'hideModels'\n | 'hideTestRequestButton'\n | 'layout'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n | 'showOperationId'\n >\n /** Document object */\n document: OpenApiDocument\n /** Key of the operations path in the document.paths object */\n path: string\n /** OpenAPI path object that will include the operation */\n pathValue: PathItemObject | undefined\n /** Currently selected server for the document */\n server: ServerObject | null\n /** The merged security schemes for the document and the authentication configuration */\n securitySchemes: MergedSecuritySchemes\n /** The http client options for the dropdown */\n clientOptions: ClientOptionGroup[]\n /** Whether the Classic layout operation is collapsed */\n isCollapsed: boolean\n /** Whether the operation is a webhook */\n isWebhook: boolean\n /** The currently selected client for the document */\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n /** The event bus */\n eventBus: WorkspaceEventBus\n /** The auth store */\n authStore: AuthStore\n}\n</script>\n\n<script lang=\"ts\" setup>\nimport type { ClientOptionGroup } from '@scalar/api-client/blocks/operation-code-sample'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport {\n combineParams,\n type MergedSecuritySchemes,\n} from '@scalar/workspace-store/request-example'\nimport type {\n OpenApiDocument,\n PathItemObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { filterSelectedSecurity } from '@/features/Operation/helpers/filter-selected-security'\n\nimport { getFirstServer } from './helpers/get-first-server'\nimport {\n getRequiredSecurity,\n type RequiredSecurity,\n} from './helpers/get-required-security'\nimport ClassicLayout from './layouts/ClassicLayout.vue'\nimport ModernLayout from './layouts/ModernLayout.vue'\n\nconst {\n authStore,\n clientOptions,\n document,\n eventBus,\n isCollapsed,\n isWebhook,\n method,\n options,\n path,\n pathValue,\n securitySchemes,\n server,\n} = defineProps<OperationProps>()\n\n/**\n * Operation from the new workspace store, ensure we are de-reference\n *\n * Also adds in params from the pathItemObject\n */\nconst operation = computed(() => {\n const entity = getResolvedRef(pathValue?.[method])\n\n if (!entity) {\n return null\n }\n\n // Combine params from the pathItem and the operation\n const parameters = combineParams(pathValue?.parameters, entity.parameters)\n return { ...entity, parameters }\n})\n\n/**\n * Determine the effective server for the code examples.\n */\nconst selectedServer = computed<ServerObject | null>(() =>\n getFirstServer(\n // 1) Operation\n operation.value?.servers ?? null,\n // 2) Path Item\n pathValue?.servers ?? null,\n // 3) Document\n server,\n ),\n)\n\nconst requiredSecurity = computed<RequiredSecurity>(() =>\n getRequiredSecurity(operation.value, document),\n)\n\n/** We must ensure the selected security schemes are required on this operation */\nconst selectedSecuritySchemes = computed(() =>\n filterSelectedSecurity(\n document,\n operation.value,\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n }),\n authStore.getAuthSelectedSchemas({\n type: 'operation',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n path,\n method,\n }),\n securitySchemes,\n ),\n)\n</script>\n\n<template>\n <template v-if=\"operation\">\n <ClassicLayout\n v-if=\"options.layout === 'classic'\"\n :id\n :clientOptions\n :document\n :eventBus\n :isCollapsed\n :isWebhook\n :method\n :operation\n :options\n :path\n :requiredSecurity\n :selectedClient\n :selectedSecuritySchemes\n :selectedServer />\n <ModernLayout\n v-else\n :id\n :clientOptions\n :document\n :eventBus\n :isWebhook\n :method\n :operation\n :options\n :path\n :requiredSecurity\n :selectedClient\n :selectedSecuritySchemes\n :selectedServer />\n </template>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+FA,MAAM,YAAY,eAAe;GAC/B,MAAM,SAAS,eAAe,QAAA,YAAY,QAAA,QAAO;AAEjD,OAAI,CAAC,OACH,QAAO;GAIT,MAAM,aAAa,cAAc,QAAA,WAAW,YAAY,OAAO,WAAU;AACzE,UAAO;IAAE,GAAG;IAAQ;IAAW;IAChC;;;;EAKD,MAAM,iBAAiB,eACrB,eAEE,UAAU,OAAO,WAAW,MAE5B,QAAA,WAAW,WAAW,MAEtB,QAAA,OACD,CACH;EAEA,MAAM,mBAAmB,eACvB,oBAAoB,UAAU,OAAO,QAAA,SAAS,CAChD;;EAGA,MAAM,0BAA0B,eAC9B,uBACE,QAAA,UACA,UAAU,OACV,QAAA,UAAU,uBAAuB;GAC/B,MAAM;GACN,cAAc,QAAA,WAAW,wBAAwB,QAAQ;GAC1D,CAAC,EACF,QAAA,UAAU,uBAAuB;GAC/B,MAAM;GACN,cAAc,QAAA,WAAW,wBAAwB,QAAQ;GACzD,MAAG,QAAA;GACH,QAAK,QAAA;GACN,CAAC,EACF,QAAA,gBACD,CACH;;UAIkB,UAAA,SAAA,WAAA,EAAhB,mBAgCW,UAAA,EAAA,KAAA,GAAA,EAAA,CA9BD,QAAA,QAAQ,WAAM,aAAA,WAAA,EADtB,YAeoB,uBAAA;;IAbjB,IAAA,QAAA;IACA,eAAA,QAAA;IACA,UAAA,QAAA;IACA,UAAA,QAAA;IACA,aAAA,QAAA;IACA,WAAA,QAAA;IACA,QAAA,QAAA;IACA,WAAA,UAAA;IACA,SAAA,QAAA;IACA,MAAA,QAAA;IACA,kBAAA,iBAAA;IACA,gBAAA,QAAA;IACA,yBAAA,wBAAA;IACA,gBAAA,eAAA;;;;;;;;;;;;;;;;uBACH,YAcoB,sBAAA;;IAZjB,IAAA,QAAA;IACA,eAAA,QAAA;IACA,UAAA,QAAA;IACA,UAAA,QAAA;IACA,WAAA,QAAA;IACA,QAAA,QAAA;IACA,WAAA,UAAA;IACA,SAAA,QAAA;IACA,MAAA,QAAA;IACA,kBAAA,iBAAA;IACA,gBAAA,QAAA;IACA,yBAAA,wBAAA;IACA,gBAAA,eAAA"}
@@ -2,8 +2,8 @@ import ScreenReader_default from "../../../components/ScreenReader.vue.js";
2
2
  import { computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, normalizeClass, openBlock, toDisplayString, unref, useModel, withCtx, withModifiers } from "vue";
3
3
  import { ScalarIconCaretDown } from "@scalar/icons";
4
4
  import { ScalarButton } from "@scalar/components/button";
5
- import { cva } from "@scalar/use-hooks/useBindCx";
6
5
  import { ScalarListbox } from "@scalar/components/listbox";
6
+ import { cva } from "@scalar/use-hooks/useBindCx";
7
7
  //#region src/features/Operation/components/ContentTypeSelect.vue?vue&type=script&setup=true&lang.ts
8
8
  var ContentTypeSelect_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
9
9
  inheritAttrs: false,
@@ -1,12 +1,15 @@
1
1
  import type { WorkspaceEventBus } from '@scalar/workspace-store/events';
2
- import type { HeaderObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
2
+ import type { HeaderObject, OpenApiDocument } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
3
3
  type __VLS_Props = {
4
4
  header: HeaderObject;
5
5
  name: string;
6
6
  breadcrumb?: string[];
7
7
  eventBus: WorkspaceEventBus | null;
8
+ /** The document the header belongs to, used to resolve schema references for display */
9
+ document?: OpenApiDocument;
8
10
  orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined;
9
11
  orderRequiredPropertiesFirst: boolean | undefined;
12
+ expandAllSchemaProperties: boolean | undefined;
10
13
  };
11
14
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
15
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/Header.vue"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAIhG,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,uBAAuB,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,4BAA4B,EAAE,OAAO,GAAG,SAAS,CAAA;CAClD,CAAC;AAqDF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"Header.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/Header.vue"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,8DAA8D,CAAA;AAIrE,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,uBAAuB,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,4BAA4B,EAAE,OAAO,GAAG,SAAS,CAAA;IACjD,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/C,CAAC;AAiEF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.js","names":[],"sources":["../../../../src/features/Operation/components/Header.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { HeaderObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\n\nconst { name, header, breadcrumb } = defineProps<{\n header: HeaderObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n orderRequiredPropertiesFirst: boolean | undefined\n}>()\n</script>\n<template>\n <SchemaProperty\n v-if=\"'schema' in header && header.schema\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :description=\"header.description\"\n :eventBus=\"eventBus\"\n :name=\"name\"\n :options=\"{\n orderRequiredPropertiesFirst: orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: orderSchemaPropertiesBy,\n }\"\n :schema=\"getResolvedRef(header.schema)\" />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Header.vue.js","names":[],"sources":["../../../../src/features/Operation/components/Header.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n HeaderObject,\n OpenApiDocument,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\n\nconst {\n name,\n header,\n breadcrumb,\n document,\n orderSchemaPropertiesBy,\n orderRequiredPropertiesFirst,\n expandAllSchemaProperties,\n} = defineProps<{\n header: HeaderObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n /** The document the header belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n orderRequiredPropertiesFirst: boolean | undefined\n expandAllSchemaProperties: boolean | undefined\n}>()\n</script>\n<template>\n <SchemaProperty\n v-if=\"'schema' in header && header.schema\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :description=\"header.description\"\n :eventBus=\"eventBus\"\n :name=\"name\"\n :options=\"{\n orderRequiredPropertiesFirst: orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: orderSchemaPropertiesBy,\n expandAllSchemaProperties: expandAllSchemaProperties,\n document,\n }\"\n :schema=\"getResolvedRef(header.schema)\" />\n</template>\n"],"mappings":""}
@@ -9,8 +9,10 @@ var Header_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
9
9
  name: {},
10
10
  breadcrumb: {},
11
11
  eventBus: {},
12
+ document: {},
12
13
  orderSchemaPropertiesBy: {},
13
- orderRequiredPropertiesFirst: { type: Boolean }
14
+ orderRequiredPropertiesFirst: { type: Boolean },
15
+ expandAllSchemaProperties: { type: Boolean }
14
16
  },
15
17
  setup(__props) {
16
18
  return (_ctx, _cache) => {
@@ -22,7 +24,9 @@ var Header_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
22
24
  name: __props.name,
23
25
  options: {
24
26
  orderRequiredPropertiesFirst: __props.orderRequiredPropertiesFirst,
25
- orderSchemaPropertiesBy: __props.orderSchemaPropertiesBy
27
+ orderSchemaPropertiesBy: __props.orderSchemaPropertiesBy,
28
+ expandAllSchemaProperties: __props.expandAllSchemaProperties,
29
+ document: __props.document
26
30
  },
27
31
  schema: unref(getResolvedRef)(__props.header.schema)
28
32
  }, null, 8, [
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/Header.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { HeaderObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\n\nconst { name, header, breadcrumb } = defineProps<{\n header: HeaderObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n orderRequiredPropertiesFirst: boolean | undefined\n}>()\n</script>\n<template>\n <SchemaProperty\n v-if=\"'schema' in header && header.schema\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :description=\"header.description\"\n :eventBus=\"eventBus\"\n :name=\"name\"\n :options=\"{\n orderRequiredPropertiesFirst: orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: orderSchemaPropertiesBy,\n }\"\n :schema=\"getResolvedRef(header.schema)\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;sBAkBsB,QAAA,UAAU,QAAA,OAAO,UAAA,WAAA,EADrC,YAU4C,wBAAA;;IARzC,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,UAAA,GAAe,KAAA;IACtD,aAAa,QAAA,OAAO;IACpB,UAAU,QAAA;IACV,MAAM,QAAA;IACN,SAAO;mCAAwC,QAAA;8BAA6D,QAAA;;IAI5G,QAAQ,MAAA,eAAc,CAAC,QAAA,OAAO,OAAM"}
1
+ {"version":3,"file":"Header.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/Header.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n HeaderObject,\n OpenApiDocument,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\n\nconst {\n name,\n header,\n breadcrumb,\n document,\n orderSchemaPropertiesBy,\n orderRequiredPropertiesFirst,\n expandAllSchemaProperties,\n} = defineProps<{\n header: HeaderObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n /** The document the header belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n orderRequiredPropertiesFirst: boolean | undefined\n expandAllSchemaProperties: boolean | undefined\n}>()\n</script>\n<template>\n <SchemaProperty\n v-if=\"'schema' in header && header.schema\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :description=\"header.description\"\n :eventBus=\"eventBus\"\n :name=\"name\"\n :options=\"{\n orderRequiredPropertiesFirst: orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: orderSchemaPropertiesBy,\n expandAllSchemaProperties: expandAllSchemaProperties,\n document,\n }\"\n :schema=\"getResolvedRef(header.schema)\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;sBAgCsB,QAAA,UAAU,QAAA,OAAO,UAAA,WAAA,EADrC,YAY4C,wBAAA;;IAVzC,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,UAAA,GAAe,KAAA;IACtD,aAAa,QAAA,OAAO;IACpB,UAAU,QAAA;IACV,MAAM,QAAA;IACN,SAAO;mCAAwC,QAAA;8BAA6D,QAAA;gCAA0D,QAAA;eAAiC,QAAA;;IAMvM,QAAQ,MAAA,eAAc,CAAC,QAAA,OAAO,OAAM"}
@@ -1,11 +1,14 @@
1
1
  import type { WorkspaceEventBus } from '@scalar/workspace-store/events';
2
- import type { HeaderObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
2
+ import type { HeaderObject, OpenApiDocument } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
3
3
  type __VLS_Props = {
4
4
  headers: Record<string, HeaderObject>;
5
5
  breadcrumb?: string[];
6
6
  eventBus: WorkspaceEventBus | null;
7
+ /** The document the headers belong to, used to resolve schema references for display */
8
+ document?: OpenApiDocument;
7
9
  orderRequiredPropertiesFirst: boolean | undefined;
8
10
  orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined;
11
+ expandAllSchemaProperties: boolean | undefined;
9
12
  };
10
13
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
14
  declare const _default: typeof __VLS_export;