@scalar/api-reference 1.49.3 → 1.49.4

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 (620) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  3. package/dist/blocks/index.js +4 -2
  4. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.d.ts.map +1 -1
  5. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js +9 -0
  6. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js.map +1 -0
  7. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.script.js +106 -0
  8. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.script.js.map +1 -0
  9. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js +9 -0
  10. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js.map +1 -0
  11. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js +121 -0
  12. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js.map +1 -0
  13. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.js +27 -0
  14. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.js.map +1 -0
  15. package/dist/blocks/scalar-client-selector-block/index.d.ts +1 -1
  16. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.js +9 -0
  17. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.js.map +1 -0
  18. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.script.js +55 -0
  19. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.script.js.map +1 -0
  20. package/dist/blocks/scalar-info-block/components/InfoBlock.vue.js +7 -0
  21. package/dist/blocks/scalar-info-block/components/InfoBlock.vue.js.map +1 -0
  22. package/dist/blocks/scalar-info-block/components/InfoBlock.vue.script.js +69 -0
  23. package/dist/blocks/scalar-info-block/components/InfoBlock.vue.script.js.map +1 -0
  24. package/dist/blocks/scalar-info-block/components/InfoDescription.vue.js +9 -0
  25. package/dist/blocks/scalar-info-block/components/InfoDescription.vue.js.map +1 -0
  26. package/dist/blocks/scalar-info-block/components/InfoDescription.vue.script.js +68 -0
  27. package/dist/blocks/scalar-info-block/components/InfoDescription.vue.script.js.map +1 -0
  28. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.js +7 -0
  29. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.js.map +1 -0
  30. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.script.js +40 -0
  31. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.script.js.map +1 -0
  32. package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.js +7 -0
  33. package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.js.map +1 -0
  34. package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.script.js +35 -0
  35. package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.script.js.map +1 -0
  36. package/dist/blocks/scalar-info-block/components/InfoVersion.vue.js +7 -0
  37. package/dist/blocks/scalar-info-block/components/InfoVersion.vue.js.map +1 -0
  38. package/dist/blocks/scalar-info-block/components/InfoVersion.vue.script.js +25 -0
  39. package/dist/blocks/scalar-info-block/components/InfoVersion.vue.script.js.map +1 -0
  40. package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.js +9 -0
  41. package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.js.map +1 -0
  42. package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.script.js +15 -0
  43. package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.script.js.map +1 -0
  44. package/dist/blocks/scalar-info-block/components/IntroductionCardItem.vue.js +14 -0
  45. package/dist/blocks/scalar-info-block/components/IntroductionCardItem.vue.js.map +1 -0
  46. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.js +9 -0
  47. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.js.map +1 -0
  48. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.script.js +92 -0
  49. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.script.js.map +1 -0
  50. package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue.js +7 -0
  51. package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue.js.map +1 -0
  52. package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue.script.js +19 -0
  53. package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue.script.js.map +1 -0
  54. package/dist/blocks/scalar-info-block/index.d.ts +2 -2
  55. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.js +7 -0
  56. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.js.map +1 -0
  57. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.script.js +71 -0
  58. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.script.js.map +1 -0
  59. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.js +7 -0
  60. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.js.map +1 -0
  61. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.script.js +69 -0
  62. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.script.js.map +1 -0
  63. package/dist/blocks/scalar-server-selector-block/index.d.ts +1 -1
  64. package/dist/browser/standalone.js +35377 -34973
  65. package/dist/browser/webpack-stats.json +1 -1
  66. package/dist/components/AgentScalar/AgentScalarButton.vue.js +7 -0
  67. package/dist/components/AgentScalar/AgentScalarButton.vue.js.map +1 -0
  68. package/dist/components/AgentScalar/AgentScalarButton.vue.script.js +21 -0
  69. package/dist/components/AgentScalar/AgentScalarButton.vue.script.js.map +1 -0
  70. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.js +7 -0
  71. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.js.map +1 -0
  72. package/dist/{AgentScalarChatInterface-MUbtSqMw.js → components/AgentScalar/AgentScalarChatInterface.vue.script.js} +5 -6
  73. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.script.js.map +1 -0
  74. package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts +0 -1
  75. package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts.map +1 -1
  76. package/dist/components/AgentScalar/AgentScalarDrawer.vue.js +9 -0
  77. package/dist/components/AgentScalar/AgentScalarDrawer.vue.js.map +1 -0
  78. package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js +65 -0
  79. package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js.map +1 -0
  80. package/dist/components/AgentScalar/OpenMCPButton.vue.js +9 -0
  81. package/dist/components/AgentScalar/OpenMCPButton.vue.js.map +1 -0
  82. package/dist/components/AgentScalar/OpenMCPButton.vue.script.js +184 -0
  83. package/dist/components/AgentScalar/OpenMCPButton.vue.script.js.map +1 -0
  84. package/dist/components/AgentScalar/index.d.ts +3 -3
  85. package/dist/components/Anchor/Anchor.vue.js +7 -0
  86. package/dist/components/Anchor/Anchor.vue.js.map +1 -0
  87. package/dist/components/Anchor/Anchor.vue.script.js +40 -0
  88. package/dist/components/Anchor/Anchor.vue.script.js.map +1 -0
  89. package/dist/components/Anchor/WithBreadcrumb.vue.js +7 -0
  90. package/dist/components/Anchor/WithBreadcrumb.vue.js.map +1 -0
  91. package/dist/components/Anchor/WithBreadcrumb.vue.script.js +32 -0
  92. package/dist/components/Anchor/WithBreadcrumb.vue.script.js.map +1 -0
  93. package/dist/components/Anchor/index.d.ts +2 -2
  94. package/dist/components/ApiReference.vue.d.ts.map +1 -1
  95. package/dist/components/ApiReference.vue.js +12 -0
  96. package/dist/components/ApiReference.vue.js.map +1 -0
  97. package/dist/components/ApiReference.vue.script.js +662 -0
  98. package/dist/components/ApiReference.vue.script.js.map +1 -0
  99. package/dist/components/Badge/Badge.vue.js +9 -0
  100. package/dist/components/Badge/Badge.vue.js.map +1 -0
  101. package/dist/components/Badge/Badge.vue.script.js +22 -0
  102. package/dist/components/Badge/Badge.vue.script.js.map +1 -0
  103. package/dist/components/Badge/index.d.ts +1 -1
  104. package/dist/components/ClassicHeader.vue.js +16 -0
  105. package/dist/components/ClassicHeader.vue.js.map +1 -0
  106. package/dist/components/Content/Auth/Auth.vue.js +7 -0
  107. package/dist/components/Content/Auth/Auth.vue.js.map +1 -0
  108. package/dist/components/Content/Auth/Auth.vue.script.js +70 -0
  109. package/dist/components/Content/Auth/Auth.vue.script.js.map +1 -0
  110. package/dist/components/Content/Auth/helpers/get-default-security.js +64 -0
  111. package/dist/components/Content/Auth/helpers/get-default-security.js.map +1 -0
  112. package/dist/components/Content/Auth/index.d.ts +1 -1
  113. package/dist/components/Content/Content.vue.js +8 -0
  114. package/dist/components/Content/Content.vue.js.map +1 -0
  115. package/dist/components/Content/Content.vue.script.js +192 -0
  116. package/dist/components/Content/Content.vue.script.js.map +1 -0
  117. package/dist/components/Content/Models/Model.vue.js +7 -0
  118. package/dist/components/Content/Models/Model.vue.js.map +1 -0
  119. package/dist/components/Content/Models/Model.vue.script.js +61 -0
  120. package/dist/components/Content/Models/Model.vue.script.js.map +1 -0
  121. package/dist/components/Content/Models/ModelTag.vue.js +7 -0
  122. package/dist/components/Content/Models/ModelTag.vue.js.map +1 -0
  123. package/dist/components/Content/Models/ModelTag.vue.script.js +69 -0
  124. package/dist/components/Content/Models/ModelTag.vue.script.js.map +1 -0
  125. package/dist/components/Content/Models/components/ClassicLayout.vue.js +9 -0
  126. package/dist/components/Content/Models/components/ClassicLayout.vue.js.map +1 -0
  127. package/dist/components/Content/Models/components/ClassicLayout.vue.script.js +81 -0
  128. package/dist/components/Content/Models/components/ClassicLayout.vue.script.js.map +1 -0
  129. package/dist/components/Content/Models/components/ModernLayout.vue.js +7 -0
  130. package/dist/components/Content/Models/components/ModernLayout.vue.js.map +1 -0
  131. package/dist/components/Content/Models/components/ModernLayout.vue.script.js +66 -0
  132. package/dist/components/Content/Models/components/ModernLayout.vue.script.js.map +1 -0
  133. package/dist/components/Content/Models/index.d.ts +2 -2
  134. package/dist/components/Content/Operations/TraversedEntry.vue.js +7 -0
  135. package/dist/components/Content/Operations/TraversedEntry.vue.js.map +1 -0
  136. package/dist/components/Content/Operations/TraversedEntry.vue.script.js +213 -0
  137. package/dist/components/Content/Operations/TraversedEntry.vue.script.js.map +1 -0
  138. package/dist/components/Content/Schema/RenderString.vue.js +7 -0
  139. package/dist/components/Content/Schema/RenderString.vue.js.map +1 -0
  140. package/dist/components/Content/Schema/RenderString.vue.script.js +36 -0
  141. package/dist/components/Content/Schema/RenderString.vue.script.js.map +1 -0
  142. package/dist/components/Content/Schema/Schema.vue.js +9 -0
  143. package/dist/components/Content/Schema/Schema.vue.js.map +1 -0
  144. package/dist/components/Content/Schema/Schema.vue.script.js +184 -0
  145. package/dist/components/Content/Schema/Schema.vue.script.js.map +1 -0
  146. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts +1 -1
  147. package/dist/components/Content/Schema/SchemaComposition.vue.js +7 -0
  148. package/dist/components/Content/Schema/SchemaComposition.vue.js.map +1 -0
  149. package/dist/components/Content/Schema/SchemaComposition.vue.script.js +146 -0
  150. package/dist/components/Content/Schema/SchemaComposition.vue.script.js.map +1 -0
  151. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.js +9 -0
  152. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.js.map +1 -0
  153. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.script.js +29 -0
  154. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.script.js.map +1 -0
  155. package/dist/components/Content/Schema/SchemaEnums.vue.js +9 -0
  156. package/dist/components/Content/Schema/SchemaEnums.vue.js.map +1 -0
  157. package/dist/components/Content/Schema/SchemaEnums.vue.script.js +108 -0
  158. package/dist/components/Content/Schema/SchemaEnums.vue.script.js.map +1 -0
  159. package/dist/components/Content/Schema/SchemaHeading.vue.js +9 -0
  160. package/dist/components/Content/Schema/SchemaHeading.vue.js.map +1 -0
  161. package/dist/components/Content/Schema/SchemaHeading.vue.script.js +45 -0
  162. package/dist/components/Content/Schema/SchemaHeading.vue.script.js.map +1 -0
  163. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.js +7 -0
  164. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.js.map +1 -0
  165. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js +55 -0
  166. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js.map +1 -0
  167. package/dist/components/Content/Schema/SchemaObjectProperties.vue.js +7 -0
  168. package/dist/components/Content/Schema/SchemaObjectProperties.vue.js.map +1 -0
  169. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js +161 -0
  170. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js.map +1 -0
  171. package/dist/components/Content/Schema/SchemaProperty.vue.js +9 -0
  172. package/dist/components/Content/Schema/SchemaProperty.vue.js.map +1 -0
  173. package/dist/components/Content/Schema/SchemaProperty.vue.script.js +256 -0
  174. package/dist/components/Content/Schema/SchemaProperty.vue.script.js.map +1 -0
  175. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.js +9 -0
  176. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.js.map +1 -0
  177. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js +35 -0
  178. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js.map +1 -0
  179. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.js +9 -0
  180. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.js.map +1 -0
  181. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.script.js +30 -0
  182. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.script.js.map +1 -0
  183. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.js +9 -0
  184. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.js.map +1 -0
  185. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js +67 -0
  186. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js.map +1 -0
  187. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js +9 -0
  188. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js.map +1 -0
  189. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js +251 -0
  190. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js.map +1 -0
  191. package/dist/components/Content/Schema/helpers/format-example.js +26 -0
  192. package/dist/components/Content/Schema/helpers/format-example.js.map +1 -0
  193. package/dist/components/Content/Schema/helpers/format-value.js +22 -0
  194. package/dist/components/Content/Schema/helpers/format-value.js.map +1 -0
  195. package/dist/components/Content/Schema/helpers/get-compositions-to-render.d.ts +1 -1
  196. package/dist/components/Content/Schema/helpers/get-compositions-to-render.js +32 -0
  197. package/dist/components/Content/Schema/helpers/get-compositions-to-render.js.map +1 -0
  198. package/dist/components/Content/Schema/helpers/get-enum-values.js +22 -0
  199. package/dist/components/Content/Schema/helpers/get-enum-values.js.map +1 -0
  200. package/dist/components/Content/Schema/helpers/get-property-description.js +36 -0
  201. package/dist/components/Content/Schema/helpers/get-property-description.js.map +1 -0
  202. package/dist/components/Content/Schema/helpers/get-ref-name.js +19 -0
  203. package/dist/components/Content/Schema/helpers/get-ref-name.js.map +1 -0
  204. package/dist/components/Content/Schema/helpers/get-schema-type.js +49 -0
  205. package/dist/components/Content/Schema/helpers/get-schema-type.js.map +1 -0
  206. package/dist/components/Content/Schema/helpers/has-complex-array-items.js +53 -0
  207. package/dist/components/Content/Schema/helpers/has-complex-array-items.js.map +1 -0
  208. package/dist/components/Content/Schema/helpers/is-empty-schema-object.js +18 -0
  209. package/dist/components/Content/Schema/helpers/is-empty-schema-object.js.map +1 -0
  210. package/dist/components/Content/Schema/helpers/is-type-object.js +18 -0
  211. package/dist/components/Content/Schema/helpers/is-type-object.js.map +1 -0
  212. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js +175 -0
  213. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js.map +1 -0
  214. package/dist/components/Content/Schema/helpers/optimize-value-for-display.js +68 -0
  215. package/dist/components/Content/Schema/helpers/optimize-value-for-display.js.map +1 -0
  216. package/dist/components/Content/Schema/helpers/schema-composition.js +11 -0
  217. package/dist/components/Content/Schema/helpers/schema-composition.js.map +1 -0
  218. package/dist/components/Content/Schema/helpers/schema-name.js +23 -0
  219. package/dist/components/Content/Schema/helpers/schema-name.js.map +1 -0
  220. package/dist/components/Content/Schema/helpers/should-display-description.js +17 -0
  221. package/dist/components/Content/Schema/helpers/should-display-description.js.map +1 -0
  222. package/dist/components/Content/Schema/helpers/should-display-heading.js +18 -0
  223. package/dist/components/Content/Schema/helpers/should-display-heading.js.map +1 -0
  224. package/dist/components/Content/Schema/helpers/should-render-array-item-composition.js +20 -0
  225. package/dist/components/Content/Schema/helpers/should-render-array-item-composition.js.map +1 -0
  226. package/dist/components/Content/Schema/helpers/sort-property-names.js +45 -0
  227. package/dist/components/Content/Schema/helpers/sort-property-names.js.map +1 -0
  228. package/dist/components/Content/Schema/index.d.ts +4 -4
  229. package/dist/components/Content/Tags/Tag.vue.js +7 -0
  230. package/dist/components/Content/Tags/Tag.vue.js.map +1 -0
  231. package/dist/components/Content/Tags/Tag.vue.script.js +56 -0
  232. package/dist/components/Content/Tags/Tag.vue.script.js.map +1 -0
  233. package/dist/components/Content/Tags/components/ClassicLayout.vue.js +9 -0
  234. package/dist/components/Content/Tags/components/ClassicLayout.vue.js.map +1 -0
  235. package/dist/components/Content/Tags/components/ClassicLayout.vue.script.js +49 -0
  236. package/dist/components/Content/Tags/components/ClassicLayout.vue.script.js.map +1 -0
  237. package/dist/components/Content/Tags/components/ModernLayout.vue.js +9 -0
  238. package/dist/components/Content/Tags/components/ModernLayout.vue.js.map +1 -0
  239. package/dist/components/Content/Tags/components/ModernLayout.vue.script.js +63 -0
  240. package/dist/components/Content/Tags/components/ModernLayout.vue.script.js.map +1 -0
  241. package/dist/components/Content/Tags/components/TagSection.vue.js +7 -0
  242. package/dist/components/Content/Tags/components/TagSection.vue.js.map +1 -0
  243. package/dist/components/Content/Tags/components/TagSection.vue.script.js +78 -0
  244. package/dist/components/Content/Tags/components/TagSection.vue.script.js.map +1 -0
  245. package/dist/components/Content/Tags/index.d.ts +1 -1
  246. package/dist/components/Content/index.d.ts +2 -2
  247. package/dist/components/GettingStarted.vue.js +9 -0
  248. package/dist/components/GettingStarted.vue.js.map +1 -0
  249. package/dist/components/GettingStarted.vue.script.js +71 -0
  250. package/dist/components/GettingStarted.vue.script.js.map +1 -0
  251. package/dist/components/HttpMethod/HttpMethod.vue.js +7 -0
  252. package/dist/components/HttpMethod/HttpMethod.vue.js.map +1 -0
  253. package/dist/components/HttpMethod/HttpMethod.vue.script.js +33 -0
  254. package/dist/components/HttpMethod/HttpMethod.vue.script.js.map +1 -0
  255. package/dist/components/HttpMethod/index.d.ts +1 -1
  256. package/dist/components/IntersectionObserver.vue.js +7 -0
  257. package/dist/components/IntersectionObserver.vue.js.map +1 -0
  258. package/dist/components/IntersectionObserver.vue.script.js +45 -0
  259. package/dist/components/IntersectionObserver.vue.script.js.map +1 -0
  260. package/dist/components/Lazy/Lazy.vue.js +7 -0
  261. package/dist/components/Lazy/Lazy.vue.js.map +1 -0
  262. package/dist/components/Lazy/Lazy.vue.script.js +101 -0
  263. package/dist/components/Lazy/Lazy.vue.script.js.map +1 -0
  264. package/dist/components/LinkList/LinkList.vue.js +9 -0
  265. package/dist/components/LinkList/LinkList.vue.js.map +1 -0
  266. package/dist/components/LinkList/LinkList.vue.script.js +53 -0
  267. package/dist/components/LinkList/LinkList.vue.script.js.map +1 -0
  268. package/dist/components/LinkList/index.d.ts +1 -1
  269. package/dist/components/LoadingSkeleton.vue.js +9 -0
  270. package/dist/components/LoadingSkeleton.vue.js.map +1 -0
  271. package/dist/components/LoadingSkeleton.vue.script.js +20 -0
  272. package/dist/components/LoadingSkeleton.vue.script.js.map +1 -0
  273. package/dist/components/MobileHeader.vue.d.ts.map +1 -1
  274. package/dist/components/MobileHeader.vue.js +7 -0
  275. package/dist/components/MobileHeader.vue.js.map +1 -0
  276. package/dist/components/MobileHeader.vue.script.js +43 -0
  277. package/dist/components/MobileHeader.vue.script.js.map +1 -0
  278. package/dist/components/OperationPath.vue.js +9 -0
  279. package/dist/components/OperationPath.vue.js.map +1 -0
  280. package/dist/components/OperationPath.vue.script.js +24 -0
  281. package/dist/components/OperationPath.vue.script.js.map +1 -0
  282. package/dist/components/OperationsList/OperationsList.vue.js +9 -0
  283. package/dist/components/OperationsList/OperationsList.vue.js.map +1 -0
  284. package/dist/components/OperationsList/OperationsList.vue.script.js +49 -0
  285. package/dist/components/OperationsList/OperationsList.vue.script.js.map +1 -0
  286. package/dist/components/OperationsList/OperationsListItem.vue.js +9 -0
  287. package/dist/components/OperationsList/OperationsListItem.vue.js.map +1 -0
  288. package/dist/components/OperationsList/OperationsListItem.vue.script.js +51 -0
  289. package/dist/components/OperationsList/OperationsListItem.vue.script.js.map +1 -0
  290. package/dist/components/OperationsList/index.d.ts +1 -1
  291. package/dist/components/RenderPlugins/RenderPlugins.vue.js +7 -0
  292. package/dist/components/RenderPlugins/RenderPlugins.vue.js.map +1 -0
  293. package/dist/components/RenderPlugins/RenderPlugins.vue.script.js +44 -0
  294. package/dist/components/RenderPlugins/RenderPlugins.vue.script.js.map +1 -0
  295. package/dist/components/RenderPlugins/index.d.ts +1 -1
  296. package/dist/components/ScreenReader.vue.js +9 -0
  297. package/dist/components/ScreenReader.vue.js.map +1 -0
  298. package/dist/components/ScreenReader.vue.script.js +22 -0
  299. package/dist/components/ScreenReader.vue.script.js.map +1 -0
  300. package/dist/components/Section/CompactSection.vue.js +9 -0
  301. package/dist/components/Section/CompactSection.vue.js.map +1 -0
  302. package/dist/components/Section/CompactSection.vue.script.js +56 -0
  303. package/dist/components/Section/CompactSection.vue.script.js.map +1 -0
  304. package/dist/components/Section/Section.vue.js +9 -0
  305. package/dist/components/Section/Section.vue.js.map +1 -0
  306. package/dist/components/Section/Section.vue.script.js +23 -0
  307. package/dist/components/Section/Section.vue.script.js.map +1 -0
  308. package/dist/components/Section/SectionAccordion.vue.js +9 -0
  309. package/dist/components/Section/SectionAccordion.vue.js.map +1 -0
  310. package/dist/components/Section/SectionAccordion.vue.script.js +60 -0
  311. package/dist/components/Section/SectionAccordion.vue.script.js.map +1 -0
  312. package/dist/components/Section/SectionColumn.vue.js +14 -0
  313. package/dist/components/Section/SectionColumn.vue.js.map +1 -0
  314. package/dist/components/Section/SectionColumns.vue.js +14 -0
  315. package/dist/components/Section/SectionColumns.vue.js.map +1 -0
  316. package/dist/components/Section/SectionContainer.vue.js +9 -0
  317. package/dist/components/Section/SectionContainer.vue.js.map +1 -0
  318. package/dist/components/Section/SectionContainer.vue.script.js +19 -0
  319. package/dist/components/Section/SectionContainer.vue.script.js.map +1 -0
  320. package/dist/components/Section/SectionContainerAccordion.vue.js +9 -0
  321. package/dist/components/Section/SectionContainerAccordion.vue.js.map +1 -0
  322. package/dist/components/Section/SectionContainerAccordion.vue.script.js +40 -0
  323. package/dist/components/Section/SectionContainerAccordion.vue.script.js.map +1 -0
  324. package/dist/components/Section/SectionContent.vue.js +9 -0
  325. package/dist/components/Section/SectionContent.vue.js.map +1 -0
  326. package/dist/components/Section/SectionContent.vue.script.js +23 -0
  327. package/dist/components/Section/SectionContent.vue.script.js.map +1 -0
  328. package/dist/components/Section/SectionHeader.vue.js +9 -0
  329. package/dist/components/Section/SectionHeader.vue.js.map +1 -0
  330. package/dist/components/Section/SectionHeader.vue.script.js +23 -0
  331. package/dist/components/Section/SectionHeader.vue.script.js.map +1 -0
  332. package/dist/components/Section/SectionHeaderTag.vue.js +9 -0
  333. package/dist/components/Section/SectionHeaderTag.vue.js.map +1 -0
  334. package/dist/components/Section/SectionHeaderTag.vue.script.js +18 -0
  335. package/dist/components/Section/SectionHeaderTag.vue.script.js.map +1 -0
  336. package/dist/components/Section/index.d.ts +10 -10
  337. package/dist/components/SectionFlare/SectionFlare.vue.js +14 -0
  338. package/dist/components/SectionFlare/SectionFlare.vue.js.map +1 -0
  339. package/dist/components/SectionFlare/index.d.ts +1 -1
  340. package/dist/components/ShowMoreButton.vue.js +9 -0
  341. package/dist/components/ShowMoreButton.vue.js.map +1 -0
  342. package/dist/components/ShowMoreButton.vue.script.js +22 -0
  343. package/dist/components/ShowMoreButton.vue.script.js.map +1 -0
  344. package/dist/components/index.d.ts +5 -5
  345. package/dist/components/index.js +20 -102
  346. package/dist/{urls-gPTXGgbj.js → consts/urls.js} +2 -2
  347. package/dist/consts/urls.js.map +1 -0
  348. package/dist/features/Operation/Operation.vue.js +7 -0
  349. package/dist/features/Operation/Operation.vue.js.map +1 -0
  350. package/dist/features/Operation/Operation.vue.script.js +115 -0
  351. package/dist/features/Operation/Operation.vue.script.js.map +1 -0
  352. package/dist/features/Operation/components/ContentTypeSelect.vue.js +7 -0
  353. package/dist/features/Operation/components/ContentTypeSelect.vue.js.map +1 -0
  354. package/dist/features/Operation/components/ContentTypeSelect.vue.script.js +75 -0
  355. package/dist/features/Operation/components/ContentTypeSelect.vue.script.js.map +1 -0
  356. package/dist/features/Operation/components/Header.vue.js +7 -0
  357. package/dist/features/Operation/components/Header.vue.js.map +1 -0
  358. package/dist/features/Operation/components/Header.vue.script.js +42 -0
  359. package/dist/features/Operation/components/Header.vue.script.js.map +1 -0
  360. package/dist/features/Operation/components/Headers.vue.js +9 -0
  361. package/dist/features/Operation/components/Headers.vue.js.map +1 -0
  362. package/dist/features/Operation/components/Headers.vue.script.js +58 -0
  363. package/dist/features/Operation/components/Headers.vue.script.js.map +1 -0
  364. package/dist/features/Operation/components/OperationParameters.vue.d.ts +1 -1
  365. package/dist/features/Operation/components/OperationParameters.vue.js +7 -0
  366. package/dist/features/Operation/components/OperationParameters.vue.js.map +1 -0
  367. package/dist/features/Operation/components/OperationParameters.vue.script.js +108 -0
  368. package/dist/features/Operation/components/OperationParameters.vue.script.js.map +1 -0
  369. package/dist/features/Operation/components/OperationResponses.vue.d.ts +1 -1
  370. package/dist/features/Operation/components/OperationResponses.vue.js +7 -0
  371. package/dist/features/Operation/components/OperationResponses.vue.js.map +1 -0
  372. package/dist/features/Operation/components/OperationResponses.vue.script.js +48 -0
  373. package/dist/features/Operation/components/OperationResponses.vue.script.js.map +1 -0
  374. package/dist/features/Operation/components/ParameterList.vue.d.ts +1 -1
  375. package/dist/features/Operation/components/ParameterList.vue.js +7 -0
  376. package/dist/features/Operation/components/ParameterList.vue.js.map +1 -0
  377. package/dist/features/Operation/components/ParameterList.vue.script.js +53 -0
  378. package/dist/features/Operation/components/ParameterList.vue.script.js.map +1 -0
  379. package/dist/features/Operation/components/ParameterListItem.vue.d.ts +1 -1
  380. package/dist/features/Operation/components/ParameterListItem.vue.js +9 -0
  381. package/dist/features/Operation/components/ParameterListItem.vue.js.map +1 -0
  382. package/dist/features/Operation/components/ParameterListItem.vue.script.js +161 -0
  383. package/dist/features/Operation/components/ParameterListItem.vue.script.js.map +1 -0
  384. package/dist/features/Operation/components/RequestBody.vue.js +9 -0
  385. package/dist/features/Operation/components/RequestBody.vue.js.map +1 -0
  386. package/dist/features/Operation/components/RequestBody.vue.script.js +154 -0
  387. package/dist/features/Operation/components/RequestBody.vue.script.js.map +1 -0
  388. package/dist/features/Operation/components/callbacks/Callback.vue.d.ts +1 -1
  389. package/dist/features/Operation/components/callbacks/Callback.vue.js +9 -0
  390. package/dist/features/Operation/components/callbacks/Callback.vue.js.map +1 -0
  391. package/dist/features/Operation/components/callbacks/Callback.vue.script.js +62 -0
  392. package/dist/features/Operation/components/callbacks/Callback.vue.script.js.map +1 -0
  393. package/dist/features/Operation/components/callbacks/Callbacks.vue.d.ts +1 -1
  394. package/dist/features/Operation/components/callbacks/Callbacks.vue.js +7 -0
  395. package/dist/features/Operation/components/callbacks/Callbacks.vue.js.map +1 -0
  396. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js +67 -0
  397. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js.map +1 -0
  398. package/dist/features/Operation/helpers/filter-selected-security.js +30 -0
  399. package/dist/features/Operation/helpers/filter-selected-security.js.map +1 -0
  400. package/dist/features/Operation/helpers/get-first-server.js +27 -0
  401. package/dist/features/Operation/helpers/get-first-server.js.map +1 -0
  402. package/dist/features/Operation/index.d.ts +1 -1
  403. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts +1 -1
  404. package/dist/features/Operation/layouts/ClassicLayout.vue.js +9 -0
  405. package/dist/features/Operation/layouts/ClassicLayout.vue.js.map +1 -0
  406. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js +243 -0
  407. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js.map +1 -0
  408. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts +1 -1
  409. package/dist/features/Operation/layouts/ModernLayout.vue.js +9 -0
  410. package/dist/features/Operation/layouts/ModernLayout.vue.js.map +1 -0
  411. package/dist/features/Operation/layouts/ModernLayout.vue.script.js +243 -0
  412. package/dist/features/Operation/layouts/ModernLayout.vue.script.js.map +1 -0
  413. package/dist/features/Search/components/SearchButton.vue.js +7 -0
  414. package/dist/features/Search/components/SearchButton.vue.js.map +1 -0
  415. package/dist/features/Search/components/SearchButton.vue.script.js +77 -0
  416. package/dist/features/Search/components/SearchButton.vue.script.js.map +1 -0
  417. package/dist/features/Search/components/SearchModal.vue.js +9 -0
  418. package/dist/features/Search/components/SearchModal.vue.js.map +1 -0
  419. package/dist/features/Search/components/SearchModal.vue.script.js +115 -0
  420. package/dist/features/Search/components/SearchModal.vue.script.js.map +1 -0
  421. package/dist/features/Search/components/SearchResult.vue.js +7 -0
  422. package/dist/features/Search/components/SearchResult.vue.js.map +1 -0
  423. package/dist/features/Search/components/SearchResult.vue.script.js +69 -0
  424. package/dist/features/Search/components/SearchResult.vue.script.js.map +1 -0
  425. package/dist/features/Search/helpers/create-fuse-instance.js +52 -0
  426. package/dist/features/Search/helpers/create-fuse-instance.js.map +1 -0
  427. package/dist/features/Search/helpers/create-search-index.js +127 -0
  428. package/dist/features/Search/helpers/create-search-index.js.map +1 -0
  429. package/dist/features/Search/hooks/useSearchIndex.js +31 -0
  430. package/dist/features/Search/hooks/useSearchIndex.js.map +1 -0
  431. package/dist/features/Search/index.d.ts +2 -2
  432. package/dist/features/Search/types.d.ts +1 -1
  433. package/dist/features/ask-agent-button/AskAgentButton.vue.js +9 -0
  434. package/dist/features/ask-agent-button/AskAgentButton.vue.js.map +1 -0
  435. package/dist/features/ask-agent-button/AskAgentButton.vue.script.js +49 -0
  436. package/dist/features/ask-agent-button/AskAgentButton.vue.script.js.map +1 -0
  437. package/dist/features/developer-tools/DeveloperTools.vue.js +7 -0
  438. package/dist/features/developer-tools/DeveloperTools.vue.js.map +1 -0
  439. package/dist/features/developer-tools/DeveloperTools.vue.script.js +49 -0
  440. package/dist/features/developer-tools/DeveloperTools.vue.script.js.map +1 -0
  441. package/dist/features/developer-tools/components/ApiReferenceToolbarBlurb.vue.js +13 -0
  442. package/dist/features/developer-tools/components/ApiReferenceToolbarBlurb.vue.js.map +1 -0
  443. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.js +7 -0
  444. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.js.map +1 -0
  445. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js +38 -0
  446. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js.map +1 -0
  447. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.js +7 -0
  448. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.js.map +1 -0
  449. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js +112 -0
  450. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js.map +1 -0
  451. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.js +7 -0
  452. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.js.map +1 -0
  453. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js +60 -0
  454. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js.map +1 -0
  455. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.js +7 -0
  456. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.js.map +1 -0
  457. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js +35 -0
  458. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js.map +1 -0
  459. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.js +7 -0
  460. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.js.map +1 -0
  461. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js +68 -0
  462. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js.map +1 -0
  463. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js +7 -0
  464. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js.map +1 -0
  465. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js +80 -0
  466. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js.map +1 -0
  467. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.js +7 -0
  468. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.js.map +1 -0
  469. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js +66 -0
  470. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js.map +1 -0
  471. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.js +7 -0
  472. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.js.map +1 -0
  473. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js +44 -0
  474. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js.map +1 -0
  475. package/dist/features/developer-tools/components/DeployApiReference.vue.js +7 -0
  476. package/dist/features/developer-tools/components/DeployApiReference.vue.js.map +1 -0
  477. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js +26 -0
  478. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js.map +1 -0
  479. package/dist/features/developer-tools/components/ModifyConfiguration.vue.js +7 -0
  480. package/dist/features/developer-tools/components/ModifyConfiguration.vue.js.map +1 -0
  481. package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js +86 -0
  482. package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js.map +1 -0
  483. package/dist/features/developer-tools/components/ShareApiReference.vue.js +7 -0
  484. package/dist/features/developer-tools/components/ShareApiReference.vue.js.map +1 -0
  485. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js +26 -0
  486. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js.map +1 -0
  487. package/dist/features/developer-tools/index.d.ts +1 -1
  488. package/dist/features/example-responses/ExampleResponse.vue.js +9 -0
  489. package/dist/features/example-responses/ExampleResponse.vue.js.map +1 -0
  490. package/dist/features/example-responses/ExampleResponse.vue.script.js +56 -0
  491. package/dist/features/example-responses/ExampleResponse.vue.script.js.map +1 -0
  492. package/dist/features/example-responses/ExampleResponseTab.vue.js +9 -0
  493. package/dist/features/example-responses/ExampleResponseTab.vue.js.map +1 -0
  494. package/dist/features/example-responses/ExampleResponseTab.vue.script.js +21 -0
  495. package/dist/features/example-responses/ExampleResponseTab.vue.script.js.map +1 -0
  496. package/dist/features/example-responses/ExampleResponseTabList.vue.js +9 -0
  497. package/dist/features/example-responses/ExampleResponseTabList.vue.js.map +1 -0
  498. package/dist/features/example-responses/ExampleResponseTabList.vue.script.js +31 -0
  499. package/dist/features/example-responses/ExampleResponseTabList.vue.script.js.map +1 -0
  500. package/dist/features/example-responses/ExampleResponses.vue.js +9 -0
  501. package/dist/features/example-responses/ExampleResponses.vue.js.map +1 -0
  502. package/dist/features/example-responses/ExampleResponses.vue.script.js +157 -0
  503. package/dist/features/example-responses/ExampleResponses.vue.script.js.map +1 -0
  504. package/dist/features/example-responses/ExampleSchema.vue.js +7 -0
  505. package/dist/features/example-responses/ExampleSchema.vue.js.map +1 -0
  506. package/dist/features/example-responses/ExampleSchema.vue.script.js +42 -0
  507. package/dist/features/example-responses/ExampleSchema.vue.script.js.map +1 -0
  508. package/dist/features/example-responses/has-response-content.js +37 -0
  509. package/dist/features/example-responses/has-response-content.js.map +1 -0
  510. package/dist/features/example-responses/index.d.ts +1 -1
  511. package/dist/features/external-docs/ExternalDocs.vue.js +7 -0
  512. package/dist/features/external-docs/ExternalDocs.vue.js.map +1 -0
  513. package/dist/features/external-docs/ExternalDocs.vue.script.js +37 -0
  514. package/dist/features/external-docs/ExternalDocs.vue.script.js.map +1 -0
  515. package/dist/features/external-docs/index.d.ts +1 -1
  516. package/dist/features/index.d.ts +2 -2
  517. package/dist/features/index.js +4 -3
  518. package/dist/features/info-object/Contact.vue.js +7 -0
  519. package/dist/features/info-object/Contact.vue.js.map +1 -0
  520. package/dist/features/info-object/Contact.vue.script.js +37 -0
  521. package/dist/features/info-object/Contact.vue.script.js.map +1 -0
  522. package/dist/features/info-object/License.vue.js +7 -0
  523. package/dist/features/info-object/License.vue.js.map +1 -0
  524. package/dist/features/info-object/License.vue.script.js +32 -0
  525. package/dist/features/info-object/License.vue.script.js.map +1 -0
  526. package/dist/features/info-object/TermsOfService.vue.js +7 -0
  527. package/dist/features/info-object/TermsOfService.vue.js.map +1 -0
  528. package/dist/features/info-object/TermsOfService.vue.script.js +29 -0
  529. package/dist/features/info-object/TermsOfService.vue.script.js.map +1 -0
  530. package/dist/features/info-object/index.d.ts +3 -3
  531. package/dist/features/multiple-documents/DocumentSelector.vue.js +7 -0
  532. package/dist/features/multiple-documents/DocumentSelector.vue.js.map +1 -0
  533. package/dist/features/multiple-documents/DocumentSelector.vue.script.js +48 -0
  534. package/dist/features/multiple-documents/DocumentSelector.vue.script.js.map +1 -0
  535. package/dist/features/specification-extension/SpecificationExtension.vue.js +7 -0
  536. package/dist/features/specification-extension/SpecificationExtension.vue.js.map +1 -0
  537. package/dist/features/specification-extension/SpecificationExtension.vue.script.js +56 -0
  538. package/dist/features/specification-extension/SpecificationExtension.vue.script.js.map +1 -0
  539. package/dist/features/specification-extension/helpers.js +15 -0
  540. package/dist/features/specification-extension/helpers.js.map +1 -0
  541. package/dist/features/specification-extension/index.d.ts +2 -2
  542. package/dist/features/test-request-button/TestRequestButton.vue.js +9 -0
  543. package/dist/features/test-request-button/TestRequestButton.vue.js.map +1 -0
  544. package/dist/features/test-request-button/TestRequestButton.vue.script.js +47 -0
  545. package/dist/features/test-request-button/TestRequestButton.vue.script.js.map +1 -0
  546. package/dist/features/test-request-button/index.d.ts +1 -1
  547. package/dist/features/x-badges/XBadges.vue.js +7 -0
  548. package/dist/features/x-badges/XBadges.vue.js.map +1 -0
  549. package/dist/features/x-badges/XBadges.vue.script.js +31 -0
  550. package/dist/features/x-badges/XBadges.vue.script.js.map +1 -0
  551. package/dist/features/x-badges/index.d.ts +1 -1
  552. package/dist/helpers/color-mode.js +15 -0
  553. package/dist/helpers/color-mode.js.map +1 -0
  554. package/dist/helpers/download.js +77 -0
  555. package/dist/helpers/download.js.map +1 -0
  556. package/dist/helpers/id-routing.js +107 -0
  557. package/dist/helpers/id-routing.js.map +1 -0
  558. package/dist/helpers/index.d.ts +8 -8
  559. package/dist/helpers/index.js +8 -2
  560. package/dist/{lazy-bus-CV8Ox5hD.js → helpers/lazy-bus.js} +3 -106
  561. package/dist/helpers/lazy-bus.js.map +1 -0
  562. package/dist/helpers/load-from-perssistance.js +23 -0
  563. package/dist/helpers/load-from-perssistance.js.map +1 -0
  564. package/dist/helpers/map-config-plugins.js +44 -0
  565. package/dist/helpers/map-config-plugins.js.map +1 -0
  566. package/dist/helpers/map-config-to-workspace-store.js +24 -0
  567. package/dist/helpers/map-config-to-workspace-store.js.map +1 -0
  568. package/dist/helpers/normalize-configurations.js +66 -0
  569. package/dist/helpers/normalize-configurations.js.map +1 -0
  570. package/dist/helpers/openapi.js +132 -0
  571. package/dist/helpers/openapi.js.map +1 -0
  572. package/dist/{storage--3JuzjCI.js → helpers/storage.js} +2 -2
  573. package/dist/helpers/storage.js.map +1 -0
  574. package/dist/helpers/upload-temp-document.js +24 -0
  575. package/dist/helpers/upload-temp-document.js.map +1 -0
  576. package/dist/hooks/index.d.ts +2 -2
  577. package/dist/hooks/index.js +2 -2
  578. package/dist/{use-agent-Bnm1de0n.js → hooks/use-agent.js} +2 -2
  579. package/dist/hooks/use-agent.js.map +1 -0
  580. package/dist/{use-intersection-8QqPi2O-.js → hooks/use-intersection.js} +2 -2
  581. package/dist/hooks/use-intersection.js.map +1 -0
  582. package/dist/index.d.ts +4 -4
  583. package/dist/index.js +6 -6
  584. package/dist/plugins/hooks/usePluginManager.d.ts +1 -1
  585. package/dist/plugins/hooks/usePluginManager.js +16 -0
  586. package/dist/plugins/hooks/usePluginManager.js.map +1 -0
  587. package/dist/plugins/index.d.ts +3 -3
  588. package/dist/plugins/index.js +3 -1
  589. package/dist/plugins/persistance-plugin.js +39 -0
  590. package/dist/plugins/persistance-plugin.js.map +1 -0
  591. package/dist/plugins/plugin-manager.js +32 -0
  592. package/dist/plugins/plugin-manager.js.map +1 -0
  593. package/dist/ssr.js +6 -6
  594. package/dist/standalone/lib/html-api.js +73 -0
  595. package/dist/standalone/lib/html-api.js.map +1 -0
  596. package/dist/style.css +7878 -6432
  597. package/package.json +11 -11
  598. package/dist/AgentScalarChatInterface-MUbtSqMw.js.map +0 -1
  599. package/dist/ExternalDocs-phu7GxpZ.js +0 -272
  600. package/dist/ExternalDocs-phu7GxpZ.js.map +0 -1
  601. package/dist/MobileHeader-DAm6yQX0.js +0 -1373
  602. package/dist/MobileHeader-DAm6yQX0.js.map +0 -1
  603. package/dist/Operation-CvpVIkc3.js +0 -3829
  604. package/dist/Operation-CvpVIkc3.js.map +0 -1
  605. package/dist/SearchButton-xzhIpMCZ.js +0 -621
  606. package/dist/SearchButton-xzhIpMCZ.js.map +0 -1
  607. package/dist/ServerSelector-5y29y2BJ.js +0 -852
  608. package/dist/ServerSelector-5y29y2BJ.js.map +0 -1
  609. package/dist/components/index.js.map +0 -1
  610. package/dist/lazy-bus-CV8Ox5hD.js.map +0 -1
  611. package/dist/normalize-configurations-DcVpOEjD.js +0 -232
  612. package/dist/normalize-configurations-DcVpOEjD.js.map +0 -1
  613. package/dist/plugins-4EyiUD_A.js +0 -80
  614. package/dist/plugins-4EyiUD_A.js.map +0 -1
  615. package/dist/src-DJwsRvMU.js +0 -1686
  616. package/dist/src-DJwsRvMU.js.map +0 -1
  617. package/dist/storage--3JuzjCI.js.map +0 -1
  618. package/dist/urls-gPTXGgbj.js.map +0 -1
  619. package/dist/use-agent-Bnm1de0n.js.map +0 -1
  620. package/dist/use-intersection-8QqPi2O-.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"MobileHeader-DAm6yQX0.js","names":[],"sources":["../src/components/ClassicHeader.vue","../src/components/Section/SectionContainerAccordion.vue","../src/components/Section/SectionContainerAccordion.vue","../src/components/Section/CompactSection.vue","../src/components/Section/CompactSection.vue","../src/components/Content/Auth/helpers/get-default-security.ts","../src/components/Content/Auth/Auth.vue","../src/components/Content/Auth/Auth.vue","../src/components/Content/Models/components/ClassicLayout.vue","../src/components/Content/Models/components/ClassicLayout.vue","../src/components/Content/Models/components/ModernLayout.vue","../src/components/Content/Models/components/ModernLayout.vue","../src/components/Content/Models/Model.vue","../src/components/Content/Models/Model.vue","../src/components/ShowMoreButton.vue","../src/components/ShowMoreButton.vue","../src/components/Content/Models/ModelTag.vue","../src/components/Content/Models/ModelTag.vue","../src/components/Content/Tags/components/ClassicLayout.vue","../src/components/Content/Tags/components/ClassicLayout.vue","../src/components/OperationsList/OperationsListItem.vue","../src/components/OperationsList/OperationsListItem.vue","../src/components/OperationsList/OperationsList.vue","../src/components/OperationsList/OperationsList.vue","../src/components/Content/Tags/components/TagSection.vue","../src/components/Content/Tags/components/TagSection.vue","../src/components/Content/Tags/components/ModernLayout.vue","../src/components/Content/Tags/components/ModernLayout.vue","../src/components/Content/Tags/Tag.vue","../src/components/Content/Tags/Tag.vue","../src/components/Lazy/Lazy.vue","../src/components/Lazy/Lazy.vue","../src/components/Content/Operations/TraversedEntry.vue","../src/components/Content/Operations/TraversedEntry.vue","../src/components/RenderPlugins/RenderPlugins.vue","../src/components/RenderPlugins/RenderPlugins.vue","../src/components/SectionFlare/SectionFlare.vue","../src/components/Content/Content.vue","../src/components/Content/Content.vue","../src/components/MobileHeader.vue","../src/components/MobileHeader.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\n<template>\n <div class=\"references-classic-header-container\">\n <div class=\"references-classic-header\">\n <div class=\"references-classic-header-content\">\n <slot />\n </div>\n <slot name=\"dark-mode-toggle\" />\n </div>\n </div>\n</template>\n<style scoped>\n.references-classic-header {\n display: flex;\n align-items: center;\n gap: 12px;\n\n max-width: var(--refs-content-max-width);\n margin: auto;\n padding: 12px 0;\n}\n.references-classic-header-content {\n display: flex;\n gap: 12px;\n flex-grow: 1;\n}\n\n.references-classic-header-container {\n position: relative;\n padding: 0 60px;\n}\n@container narrow-references-container (max-width: 900px) {\n .references-classic-header {\n padding: 12px 24px;\n }\n .references-classic-header-container {\n padding: 0;\n }\n}\n.references-classic-header-icon {\n height: 24px;\n color: var(--scalar-color-1);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarIconCaretRight } from '@scalar/icons'\n\ndefineProps<{\n modelValue: boolean\n}>()\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n}>()\n</script>\n<template>\n <section class=\"section-accordion-wrapper\">\n <Disclosure\n as=\"div\"\n class=\"section-accordion\">\n <DisclosureButton\n class=\"section-accordion-button\"\n @click=\"emit('update:modelValue', !modelValue)\">\n <ScalarIconCaretRight\n class=\"section-accordion-chevron size-5 transition-transform\"\n :class=\"{ 'rotate-90': modelValue }\" />\n <div class=\"section-accordion-title\">\n <slot name=\"title\" />\n </div>\n </DisclosureButton>\n <DisclosurePanel\n v-if=\"modelValue\"\n class=\"section-accordion-content\"\n static>\n <slot />\n </DisclosurePanel>\n </Disclosure>\n </section>\n</template>\n<style scoped>\n.section-accordion-wrapper {\n padding: 0 60px;\n}\n.section-accordion {\n position: relative;\n width: 100%;\n max-width: var(--refs-content-max-width);\n margin: auto;\n}\n.section-accordion-content {\n display: flex;\n flex-direction: column;\n gap: 12px;\n\n padding-top: 12px;\n}\n.section-accordion-button {\n width: 100%;\n display: flex;\n\n cursor: pointer;\n\n padding: 6px 0 6px 0;\n margin: -6px 0 -6px 0;\n border-radius: var(--scalar-radius);\n}\n.section-accordion-chevron {\n position: absolute;\n left: -22px;\n top: 12px;\n color: var(--scalar-color-3);\n}\n\n.section-accordion-button:hover .section-accordion-chevron {\n color: var(--scalar-color-1);\n}\n.section-accordion-title {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1;\n padding: 0 6px;\n}\n.section-accordion-title :deep(.section-header-wrapper) {\n grid-template-columns: 1fr;\n}\n.section-accordion-title :deep(.section-header) {\n margin-bottom: 0;\n}\n@container narrow-references-container (max-width: 900px) {\n .section-accordion-chevron {\n width: 16px;\n left: -16px;\n top: 14px;\n }\n .section-accordion-wrapper {\n padding: calc(var(--refs-viewport-offset)) 24px 0 24px;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarIconCaretRight } from '@scalar/icons'\n\ndefineProps<{\n modelValue: boolean\n}>()\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n}>()\n</script>\n<template>\n <section class=\"section-accordion-wrapper\">\n <Disclosure\n as=\"div\"\n class=\"section-accordion\">\n <DisclosureButton\n class=\"section-accordion-button\"\n @click=\"emit('update:modelValue', !modelValue)\">\n <ScalarIconCaretRight\n class=\"section-accordion-chevron size-5 transition-transform\"\n :class=\"{ 'rotate-90': modelValue }\" />\n <div class=\"section-accordion-title\">\n <slot name=\"title\" />\n </div>\n </DisclosureButton>\n <DisclosurePanel\n v-if=\"modelValue\"\n class=\"section-accordion-content\"\n static>\n <slot />\n </DisclosurePanel>\n </Disclosure>\n </section>\n</template>\n<style scoped>\n.section-accordion-wrapper {\n padding: 0 60px;\n}\n.section-accordion {\n position: relative;\n width: 100%;\n max-width: var(--refs-content-max-width);\n margin: auto;\n}\n.section-accordion-content {\n display: flex;\n flex-direction: column;\n gap: 12px;\n\n padding-top: 12px;\n}\n.section-accordion-button {\n width: 100%;\n display: flex;\n\n cursor: pointer;\n\n padding: 6px 0 6px 0;\n margin: -6px 0 -6px 0;\n border-radius: var(--scalar-radius);\n}\n.section-accordion-chevron {\n position: absolute;\n left: -22px;\n top: 12px;\n color: var(--scalar-color-3);\n}\n\n.section-accordion-button:hover .section-accordion-chevron {\n color: var(--scalar-color-1);\n}\n.section-accordion-title {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1;\n padding: 0 6px;\n}\n.section-accordion-title :deep(.section-header-wrapper) {\n grid-template-columns: 1fr;\n}\n.section-accordion-title :deep(.section-header) {\n margin-bottom: 0;\n}\n@container narrow-references-container (max-width: 900px) {\n .section-accordion-chevron {\n width: 16px;\n left: -16px;\n top: 14px;\n }\n .section-accordion-wrapper {\n padding: calc(var(--refs-viewport-offset)) 24px 0 24px;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ScalarIconCaretRight } from '@scalar/icons'\n\nimport { Anchor } from '@/components/Anchor'\n\nimport Section from './Section.vue'\n\nconst { id } = defineProps<{\n id: string\n label?: string\n modelValue: boolean\n}>()\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'copyAnchorUrl'): void\n}>()\n</script>\n<template>\n <section\n :aria-label=\"label\"\n class=\"collapsible-section\">\n <button\n :id=\"id\"\n :aria-controls=\"id\"\n :aria-expanded=\"modelValue\"\n class=\"collapsible-section-trigger\"\n :class=\"{ 'collapsible-section-trigger-open': modelValue }\"\n type=\"button\"\n @click=\"emit('update:modelValue', !modelValue)\">\n <ScalarIconCaretRight\n class=\"size-3 transition-transform duration-100\"\n :class=\"{ 'rotate-90': modelValue }\"\n weight=\"bold\" />\n <Anchor\n class=\"collapsible-section-header\"\n @copyAnchorUrl=\"() => emit('copyAnchorUrl')\">\n <slot name=\"heading\" />\n </Anchor>\n </button>\n <Section\n v-if=\"modelValue\"\n class=\"collapsible-section-content\"\n :label=\"label\">\n <slot />\n </Section>\n </section>\n</template>\n<style scoped>\n.collapsible-section {\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n position: relative;\n}\n.collapsible-section-header {\n color: var(--scalar-color-1);\n}\n.collapsible-section .collapsible-section-trigger {\n display: flex;\n align-items: center;\n cursor: pointer;\n padding: 10px 0;\n font-size: var(--scalar-font-size-3);\n z-index: 1;\n position: relative;\n}\n.collapsible-section-trigger svg {\n color: var(--scalar-color-3);\n position: absolute;\n left: -19px;\n}\n.collapsible-section:hover .collapsible-section-trigger svg {\n color: var(--scalar-color-1);\n}\n.collapsible-section .collapsible-section-trigger :deep(.anchor-copy) {\n line-height: 18.5px;\n}\n.collapsible-section-content {\n padding: 0;\n margin: 0;\n margin-bottom: 10px;\n scroll-margin-top: 140px;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ScalarIconCaretRight } from '@scalar/icons'\n\nimport { Anchor } from '@/components/Anchor'\n\nimport Section from './Section.vue'\n\nconst { id } = defineProps<{\n id: string\n label?: string\n modelValue: boolean\n}>()\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n (e: 'copyAnchorUrl'): void\n}>()\n</script>\n<template>\n <section\n :aria-label=\"label\"\n class=\"collapsible-section\">\n <button\n :id=\"id\"\n :aria-controls=\"id\"\n :aria-expanded=\"modelValue\"\n class=\"collapsible-section-trigger\"\n :class=\"{ 'collapsible-section-trigger-open': modelValue }\"\n type=\"button\"\n @click=\"emit('update:modelValue', !modelValue)\">\n <ScalarIconCaretRight\n class=\"size-3 transition-transform duration-100\"\n :class=\"{ 'rotate-90': modelValue }\"\n weight=\"bold\" />\n <Anchor\n class=\"collapsible-section-header\"\n @copyAnchorUrl=\"() => emit('copyAnchorUrl')\">\n <slot name=\"heading\" />\n </Anchor>\n </button>\n <Section\n v-if=\"modelValue\"\n class=\"collapsible-section-content\"\n :label=\"label\">\n <slot />\n </Section>\n </section>\n</template>\n<style scoped>\n.collapsible-section {\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n position: relative;\n}\n.collapsible-section-header {\n color: var(--scalar-color-1);\n}\n.collapsible-section .collapsible-section-trigger {\n display: flex;\n align-items: center;\n cursor: pointer;\n padding: 10px 0;\n font-size: var(--scalar-font-size-3);\n z-index: 1;\n position: relative;\n}\n.collapsible-section-trigger svg {\n color: var(--scalar-color-3);\n position: absolute;\n left: -19px;\n}\n.collapsible-section:hover .collapsible-section-trigger svg {\n color: var(--scalar-color-1);\n}\n.collapsible-section .collapsible-section-trigger :deep(.anchor-copy) {\n line-height: 18.5px;\n}\n.collapsible-section-content {\n padding: 0;\n margin: 0;\n margin-bottom: 10px;\n scroll-margin-top: 140px;\n}\n</style>\n","import type { MergedSecuritySchemes } from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport type { AuthenticationConfiguration } from '@scalar/types/api-reference'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport type {\n SecurityRequirementObject,\n SecuritySchemeObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/**\n * Extracts the default scopes for a security scheme.\n * Only OAuth2 schemes can have default scopes via the x-default-scopes extension.\n */\nexport const getDefaultScopes = (scheme: SecuritySchemeObject | undefined): string[] => {\n if (!scheme || scheme.type !== 'oauth2') {\n return []\n }\n\n return scheme['x-default-scopes'] ?? []\n}\n\n/**\n * Hydrates an existing security requirement with configured default scopes.\n * Explicit scopes from the OpenAPI requirement take precedence over x-default-scopes.\n */\nconst hydrateSecurityRequirement = (\n requirement: SecurityRequirementObject,\n securitySchemes: MergedSecuritySchemes,\n): SecurityRequirementObject => {\n const hydratedRequirement: SecurityRequirementObject = {}\n\n for (const [schemeName, scopes] of Object.entries(unpackProxyObject(requirement, { depth: 1 }) ?? requirement)) {\n if (Array.isArray(scopes) && scopes.length > 0) {\n hydratedRequirement[schemeName] = scopes\n continue\n }\n\n const scheme = getResolvedRef(securitySchemes[schemeName])\n hydratedRequirement[schemeName] = getDefaultScopes(scheme)\n }\n\n return hydratedRequirement\n}\n\n/**\n * Processes a single scheme name and adds it to the accumulator with its default scopes.\n */\nconst addSchemeToRequirement = (\n acc: SecurityRequirementObject,\n schemeName: string,\n securitySchemes: MergedSecuritySchemes,\n): void => {\n const scheme = getResolvedRef(securitySchemes[schemeName])\n acc[schemeName] = getDefaultScopes(scheme)\n}\n\n/**\n * Converts the preferred security scheme configuration into a SecurityRequirementObject.\n * Handles both flat arrays and nested arrays (for complex auth scenarios).\n */\nconst buildSecurityRequirementFromPreferred = (\n preferredSecurityScheme: string | (string | string[])[],\n securitySchemes: MergedSecuritySchemes,\n): SecurityRequirementObject => {\n if (!Array.isArray(preferredSecurityScheme)) {\n const scheme = getResolvedRef(securitySchemes[preferredSecurityScheme])\n return { [preferredSecurityScheme]: getDefaultScopes(scheme) }\n }\n\n const requirement: SecurityRequirementObject = {}\n\n for (const item of preferredSecurityScheme) {\n if (Array.isArray(item)) {\n // Handle nested arrays for complex auth (e.g., [['oauth2', 'apiKey'], 'basic'])\n for (const schemeName of item) {\n addSchemeToRequirement(requirement, schemeName, securitySchemes)\n }\n } else {\n addSchemeToRequirement(requirement, item, securitySchemes)\n }\n }\n\n return requirement\n}\n\n/**\n * Determines the default security scheme to use for an operation.\n *\n * Priority order:\n * 1. User-configured preferred security scheme (if provided)\n * 2. First security requirement from the OpenAPI spec\n * 3. null (no security required)\n */\nexport const getDefaultSecurity = (\n securityRequirements: SecurityRequirementObject[],\n preferredSecurityScheme: AuthenticationConfiguration['preferredSecurityScheme'],\n securitySchemes: MergedSecuritySchemes,\n): SecurityRequirementObject | null => {\n if (preferredSecurityScheme) {\n return buildSecurityRequirementFromPreferred(preferredSecurityScheme, securitySchemes)\n }\n\n const firstRequirement = securityRequirements[0]\n if (firstRequirement) {\n return hydrateSecurityRequirement(firstRequirement, securitySchemes)\n }\n\n return null\n}\n","<script setup lang=\"ts\">\nimport {\n AuthSelector,\n type MergedSecuritySchemes,\n} from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport {\n getSecurityRequirements,\n getSelectedSecurity,\n} from '@scalar/api-client/v2/features/operation'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\nimport { computed, watch } from 'vue'\n\nimport { getDefaultSecurity } from '@/components/Content/Auth/helpers/get-default-security'\n\nconst { document, environment, eventBus, options, securitySchemes, authStore } =\n defineProps<{\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'authentication' | 'persistAuth' | 'proxyUrl'\n >\n authStore: AuthStore\n document: WorkspaceDocument | undefined\n eventBus: WorkspaceEventBus\n securitySchemes: MergedSecuritySchemes\n selectedServer: ServerObject | null\n environment: XScalarEnvironment\n }>()\n\n/** Compute what the security requirements should be for the document */\nconst securityRequirements = computed(() =>\n getSecurityRequirements(document?.security),\n)\n\n/** Grab the selected security for the document from the auth store */\nconst documentSelectedSecurity = computed(() =>\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n }),\n)\n\n/** The selected security keys for the document */\nconst selectedSecurity = computed(() =>\n getSelectedSecurity(\n documentSelectedSecurity.value,\n undefined,\n securityRequirements.value,\n ),\n)\n\n// We set the initial security on the document to the default if it doesn't exist\nwatch(\n documentSelectedSecurity,\n (newDocumentSelectedSecurity) => {\n if (typeof newDocumentSelectedSecurity !== 'undefined') {\n return\n }\n\n const defaultSecurity = getDefaultSecurity(\n securityRequirements.value,\n options.authentication?.preferredSecurityScheme,\n securitySchemes,\n )\n if (!defaultSecurity) {\n return\n }\n\n eventBus.emit('auth:update:selected-security-schemes', {\n selectedRequirements: [defaultSecurity],\n newSchemes: [],\n meta: { type: 'document' },\n })\n },\n { immediate: true },\n)\n</script>\n<template>\n <AuthSelector\n v-if=\"Object.keys(securitySchemes).length\"\n :createAnySecurityScheme=\"\n options.authentication?.createAnySecurityScheme ?? false\n \"\n :environment\n :eventBus\n isStatic\n layout=\"reference\"\n :meta=\"{ type: 'document' }\"\n :persistAuth=\"options.persistAuth\"\n :proxyUrl=\"options.proxyUrl ?? ''\"\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :server=\"selectedServer\"\n title=\"Authentication\" />\n</template>\n","<script setup lang=\"ts\">\nimport {\n AuthSelector,\n type MergedSecuritySchemes,\n} from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport {\n getSecurityRequirements,\n getSelectedSecurity,\n} from '@scalar/api-client/v2/features/operation'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\nimport { computed, watch } from 'vue'\n\nimport { getDefaultSecurity } from '@/components/Content/Auth/helpers/get-default-security'\n\nconst { document, environment, eventBus, options, securitySchemes, authStore } =\n defineProps<{\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'authentication' | 'persistAuth' | 'proxyUrl'\n >\n authStore: AuthStore\n document: WorkspaceDocument | undefined\n eventBus: WorkspaceEventBus\n securitySchemes: MergedSecuritySchemes\n selectedServer: ServerObject | null\n environment: XScalarEnvironment\n }>()\n\n/** Compute what the security requirements should be for the document */\nconst securityRequirements = computed(() =>\n getSecurityRequirements(document?.security),\n)\n\n/** Grab the selected security for the document from the auth store */\nconst documentSelectedSecurity = computed(() =>\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n }),\n)\n\n/** The selected security keys for the document */\nconst selectedSecurity = computed(() =>\n getSelectedSecurity(\n documentSelectedSecurity.value,\n undefined,\n securityRequirements.value,\n ),\n)\n\n// We set the initial security on the document to the default if it doesn't exist\nwatch(\n documentSelectedSecurity,\n (newDocumentSelectedSecurity) => {\n if (typeof newDocumentSelectedSecurity !== 'undefined') {\n return\n }\n\n const defaultSecurity = getDefaultSecurity(\n securityRequirements.value,\n options.authentication?.preferredSecurityScheme,\n securitySchemes,\n )\n if (!defaultSecurity) {\n return\n }\n\n eventBus.emit('auth:update:selected-security-schemes', {\n selectedRequirements: [defaultSecurity],\n newSchemes: [],\n meta: { type: 'document' },\n })\n },\n { immediate: true },\n)\n</script>\n<template>\n <AuthSelector\n v-if=\"Object.keys(securitySchemes).length\"\n :createAnySecurityScheme=\"\n options.authentication?.createAnySecurityScheme ?? false\n \"\n :environment\n :eventBus\n isStatic\n layout=\"reference\"\n :meta=\"{ type: 'document' }\"\n :persistAuth=\"options.persistAuth\"\n :proxyUrl=\"options.proxyUrl ?? ''\"\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :server=\"selectedServer\"\n title=\"Authentication\" />\n</template>\n","<script setup lang=\"ts\">\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { Anchor } from '@/components/Anchor'\nimport { SectionAccordion, SectionHeaderTag } from '@/components/Section'\n\nimport { SchemaHeading, SchemaProperty } from '../../Schema'\n\nconst { eventBus, id } = defineProps<{\n id: string\n name: string\n schema: SchemaObject\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy'\n >\n}>()\n</script>\n<template>\n <SectionAccordion\n :aria-label=\"schema.title ?? name\"\n :modelValue=\"!isCollapsed\"\n @update:modelValue=\"\n (value) => eventBus?.emit('toggle:nav-item', { id, open: value })\n \">\n <template #title>\n <Anchor\n class=\"reference-models-anchor\"\n :eventBus=\"eventBus\"\n @copyAnchorUrl=\"() => eventBus?.emit('copy-url:nav-item', { id })\">\n <SectionHeaderTag :level=\"3\">\n <SchemaHeading\n class=\"reference-models-label\"\n :name=\"schema.title ?? name\"\n :value=\"schema\" />\n </SectionHeaderTag>\n </Anchor>\n </template>\n <!-- Schema -->\n <div\n v-if=\"'properties' in schema\"\n class=\"properties\">\n <SchemaProperty\n v-for=\"[property, value] in Object.entries(schema.properties ?? {})\"\n :key=\"property\"\n :eventBus=\"eventBus\"\n :name=\"property\"\n :options\n :required=\"schema.required?.includes(property)\"\n :schema=\"resolve.schema(value)\" />\n </div>\n <div v-else>\n <SchemaProperty\n :eventBus=\"eventBus\"\n :options\n :schema=\"schema\" />\n </div>\n </SectionAccordion>\n</template>\n<style scoped>\n.reference-models-anchor {\n display: flex;\n align-items: center;\n font-size: 20px;\n padding-left: 6px;\n color: var(--scalar-color-1);\n}\n.reference-models-label {\n display: block;\n font-size: var(--scalar-mini);\n}\n\n/* Style the \"icon\" */\n.reference-models-label :deep(em) {\n font-weight: var(--scalar-bold);\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { Anchor } from '@/components/Anchor'\nimport { SectionAccordion, SectionHeaderTag } from '@/components/Section'\n\nimport { SchemaHeading, SchemaProperty } from '../../Schema'\n\nconst { eventBus, id } = defineProps<{\n id: string\n name: string\n schema: SchemaObject\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy'\n >\n}>()\n</script>\n<template>\n <SectionAccordion\n :aria-label=\"schema.title ?? name\"\n :modelValue=\"!isCollapsed\"\n @update:modelValue=\"\n (value) => eventBus?.emit('toggle:nav-item', { id, open: value })\n \">\n <template #title>\n <Anchor\n class=\"reference-models-anchor\"\n :eventBus=\"eventBus\"\n @copyAnchorUrl=\"() => eventBus?.emit('copy-url:nav-item', { id })\">\n <SectionHeaderTag :level=\"3\">\n <SchemaHeading\n class=\"reference-models-label\"\n :name=\"schema.title ?? name\"\n :value=\"schema\" />\n </SectionHeaderTag>\n </Anchor>\n </template>\n <!-- Schema -->\n <div\n v-if=\"'properties' in schema\"\n class=\"properties\">\n <SchemaProperty\n v-for=\"[property, value] in Object.entries(schema.properties ?? {})\"\n :key=\"property\"\n :eventBus=\"eventBus\"\n :name=\"property\"\n :options\n :required=\"schema.required?.includes(property)\"\n :schema=\"resolve.schema(value)\" />\n </div>\n <div v-else>\n <SchemaProperty\n :eventBus=\"eventBus\"\n :options\n :schema=\"schema\" />\n </div>\n </SectionAccordion>\n</template>\n<style scoped>\n.reference-models-anchor {\n display: flex;\n align-items: center;\n font-size: 20px;\n padding-left: 6px;\n color: var(--scalar-color-1);\n}\n.reference-models-label {\n display: block;\n font-size: var(--scalar-mini);\n}\n\n/* Style the \"icon\" */\n.reference-models-label :deep(em) {\n font-weight: var(--scalar-bold);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { CompactSection, SectionHeaderTag } from '@/components/Section'\n\nimport { Schema, SchemaHeading } from '../../Schema'\n\nconst { schema, options } = defineProps<{\n id: string\n name: string\n schema: SchemaObject\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n options: {\n orderRequiredPropertiesFirst: boolean | undefined\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n }\n}>()\n</script>\n<template>\n <CompactSection\n :id=\"id\"\n :key=\"name\"\n :label=\"name\"\n :modelValue=\"!isCollapsed\"\n @copyAnchorUrl=\"() => eventBus?.emit('copy-url:nav-item', { id })\"\n @update:modelValue=\"\n (value) => eventBus?.emit('toggle:nav-item', { id, open: value })\n \">\n <template #heading>\n <SectionHeaderTag :level=\"3\">\n <SchemaHeading\n :name=\"schema.title ?? name\"\n :value=\"schema\" />\n </SectionHeaderTag>\n </template>\n <ScalarErrorBoundary>\n <Schema\n :eventBus\n hideHeading\n hideModelNames\n :level=\"1\"\n noncollapsible\n :options=\"options\"\n :schema=\"schema\" />\n </ScalarErrorBoundary>\n </CompactSection>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { CompactSection, SectionHeaderTag } from '@/components/Section'\n\nimport { Schema, SchemaHeading } from '../../Schema'\n\nconst { schema, options } = defineProps<{\n id: string\n name: string\n schema: SchemaObject\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n options: {\n orderRequiredPropertiesFirst: boolean | undefined\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n }\n}>()\n</script>\n<template>\n <CompactSection\n :id=\"id\"\n :key=\"name\"\n :label=\"name\"\n :modelValue=\"!isCollapsed\"\n @copyAnchorUrl=\"() => eventBus?.emit('copy-url:nav-item', { id })\"\n @update:modelValue=\"\n (value) => eventBus?.emit('toggle:nav-item', { id, open: value })\n \">\n <template #heading>\n <SectionHeaderTag :level=\"3\">\n <SchemaHeading\n :name=\"schema.title ?? name\"\n :value=\"schema\" />\n </SectionHeaderTag>\n </template>\n <ScalarErrorBoundary>\n <Schema\n :eventBus\n hideHeading\n hideModelNames\n :level=\"1\"\n noncollapsible\n :options=\"options\"\n :schema=\"schema\" />\n </ScalarErrorBoundary>\n </CompactSection>\n</template>\n","<script setup lang=\"ts\">\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { useTemplateRef } from 'vue'\n\nimport { useIntersection } from '@/hooks/use-intersection'\n\nimport ClassicLayout from './components/ClassicLayout.vue'\nimport ModernLayout from './components/ModernLayout.vue'\n\nconst { schema, isCollapsed, id, options, eventBus } = defineProps<{\n id: string\n name: string\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'layout' | 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy'\n >\n schema: SchemaObject | undefined\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n}>()\n\nconst section = useTemplateRef<HTMLElement>('section')\n\nuseIntersection(section, () => eventBus?.emit('intersecting:nav-item', { id }))\n</script>\n<template>\n <div\n v-if=\"schema\"\n ref=\"section\">\n <ClassicLayout\n v-if=\"options.layout === 'classic'\"\n :id\n :eventBus\n :isCollapsed\n :name\n :options\n :schema />\n <ModernLayout\n v-else\n :id\n :eventBus\n :isCollapsed\n :name\n :options\n :schema />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { useTemplateRef } from 'vue'\n\nimport { useIntersection } from '@/hooks/use-intersection'\n\nimport ClassicLayout from './components/ClassicLayout.vue'\nimport ModernLayout from './components/ModernLayout.vue'\n\nconst { schema, isCollapsed, id, options, eventBus } = defineProps<{\n id: string\n name: string\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'layout' | 'orderRequiredPropertiesFirst' | 'orderSchemaPropertiesBy'\n >\n schema: SchemaObject | undefined\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n}>()\n\nconst section = useTemplateRef<HTMLElement>('section')\n\nuseIntersection(section, () => eventBus?.emit('intersecting:nav-item', { id }))\n</script>\n<template>\n <div\n v-if=\"schema\"\n ref=\"section\">\n <ClassicLayout\n v-if=\"options.layout === 'classic'\"\n :id\n :eventBus\n :isCollapsed\n :name\n :options\n :schema />\n <ModernLayout\n v-else\n :id\n :eventBus\n :isCollapsed\n :name\n :options\n :schema />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarIconCaretDown } from '@scalar/icons'\n</script>\n\n<template>\n <button\n class=\"show-more\"\n type=\"button\">\n Show More\n <ScalarIconCaretDown\n class=\"text-c-2 mt-0.25 size-3\"\n weight=\"bold\" />\n </button>\n</template>\n\n<style scoped>\n.show-more {\n appearance: none;\n border: none;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n margin: auto;\n padding: 8px 12px 8px 16px;\n border-radius: 30px;\n color: var(--scalar-color-1);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-small);\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n gap: 6px;\n top: -48px;\n}\n\n.show-more:hover {\n background: var(--scalar-background-2);\n cursor: pointer;\n}\n\n.show-more:active {\n box-shadow: 0 0 0 1px var(--scalar-border-color);\n}\n\n@container narrow-references-container (max-width: 900px) {\n .show-more {\n top: -24px;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ScalarIconCaretDown } from '@scalar/icons'\n</script>\n\n<template>\n <button\n class=\"show-more\"\n type=\"button\">\n Show More\n <ScalarIconCaretDown\n class=\"text-c-2 mt-0.25 size-3\"\n weight=\"bold\" />\n </button>\n</template>\n\n<style scoped>\n.show-more {\n appearance: none;\n border: none;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n margin: auto;\n padding: 8px 12px 8px 16px;\n border-radius: 30px;\n color: var(--scalar-color-1);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-small);\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n gap: 6px;\n top: -48px;\n}\n\n.show-more:hover {\n background: var(--scalar-background-2);\n cursor: pointer;\n}\n\n.show-more:active {\n box-shadow: 0 0 0 1px var(--scalar-border-color);\n}\n\n@container narrow-references-container (max-width: 900px) {\n .show-more {\n top: -24px;\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\n\nimport { Section, SectionHeader } from '@/components/Section'\nimport SectionContainer from '@/components/Section/SectionContainer.vue'\nimport SectionContainerAccordion from '@/components/Section/SectionContainerAccordion.vue'\nimport SectionHeaderTag from '@/components/Section/SectionHeaderTag.vue'\nimport ShowMoreButton from '@/components/ShowMoreButton.vue'\n\ndefineProps<{\n id: string\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n layout: 'classic' | 'modern'\n}>()\n</script>\n<template>\n <!-- Modern Layout Model Container -->\n <SectionContainer\n v-if=\"layout === 'modern'\"\n id=\"model\">\n <Section\n :id=\"id\"\n aria-label=\"Models\"\n @intersecting=\"() => eventBus?.emit('intersecting:nav-item', { id })\">\n <SectionHeader>\n <SectionHeaderTag :level=\"2\"> Models </SectionHeaderTag>\n </SectionHeader>\n <template v-if=\"!isCollapsed\">\n <slot />\n </template>\n <template v-else>\n <ShowMoreButton\n :id\n class=\"top-0\"\n @click=\"() => eventBus.emit('toggle:nav-item', { id, open: true })\">\n </ShowMoreButton>\n </template>\n </Section>\n </SectionContainer>\n <!-- Classic Layout Model Container -->\n <SectionContainerAccordion\n v-else\n aria-label=\"Models\"\n class=\"pb-12\"\n :modelValue=\"!isCollapsed\"\n @update:modelValue=\"\n () => eventBus?.emit('toggle:nav-item', { id, open: isCollapsed })\n \">\n <template #title>\n <SectionHeader :level=\"2\">Models</SectionHeader>\n </template>\n <slot />\n </SectionContainerAccordion>\n</template>\n","<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\n\nimport { Section, SectionHeader } from '@/components/Section'\nimport SectionContainer from '@/components/Section/SectionContainer.vue'\nimport SectionContainerAccordion from '@/components/Section/SectionContainerAccordion.vue'\nimport SectionHeaderTag from '@/components/Section/SectionHeaderTag.vue'\nimport ShowMoreButton from '@/components/ShowMoreButton.vue'\n\ndefineProps<{\n id: string\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n layout: 'classic' | 'modern'\n}>()\n</script>\n<template>\n <!-- Modern Layout Model Container -->\n <SectionContainer\n v-if=\"layout === 'modern'\"\n id=\"model\">\n <Section\n :id=\"id\"\n aria-label=\"Models\"\n @intersecting=\"() => eventBus?.emit('intersecting:nav-item', { id })\">\n <SectionHeader>\n <SectionHeaderTag :level=\"2\"> Models </SectionHeaderTag>\n </SectionHeader>\n <template v-if=\"!isCollapsed\">\n <slot />\n </template>\n <template v-else>\n <ShowMoreButton\n :id\n class=\"top-0\"\n @click=\"() => eventBus.emit('toggle:nav-item', { id, open: true })\">\n </ShowMoreButton>\n </template>\n </Section>\n </SectionContainer>\n <!-- Classic Layout Model Container -->\n <SectionContainerAccordion\n v-else\n aria-label=\"Models\"\n class=\"pb-12\"\n :modelValue=\"!isCollapsed\"\n @update:modelValue=\"\n () => eventBus?.emit('toggle:nav-item', { id, open: isCollapsed })\n \">\n <template #title>\n <SectionHeader :level=\"2\">Models</SectionHeader>\n </template>\n <slot />\n </SectionContainerAccordion>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\n\nimport { Anchor } from '@/components/Anchor'\nimport {\n SectionContainerAccordion,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\n\nconst { tag, isCollapsed } = defineProps<{\n tag: TraversedTag\n isCollapsed: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n</script>\n\n<template>\n <SectionContainerAccordion\n :aria-label=\"tag.title\"\n class=\"tag-section\"\n :modelValue=\"!isCollapsed\"\n @update:modelValue=\"\n (value) => eventBus?.emit('toggle:nav-item', { id: tag.id, open: value })\n \">\n <template #title>\n <SectionHeader class=\"tag-name\">\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: tag.id })\n \">\n <SectionHeaderTag :level=\"2\">\n {{ tag.title }}\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <ScalarMarkdown\n class=\"tag-description\"\n :value=\"tag?.description\"\n withImages />\n </template>\n <slot />\n </SectionContainerAccordion>\n</template>\n\n<style scoped>\n.tag-section {\n margin-bottom: 48px;\n}\n.tag-name {\n text-transform: capitalize;\n}\n.tag-description {\n padding-bottom: 4px;\n text-align: left;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\n\nimport { Anchor } from '@/components/Anchor'\nimport {\n SectionContainerAccordion,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\n\nconst { tag, isCollapsed } = defineProps<{\n tag: TraversedTag\n isCollapsed: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n</script>\n\n<template>\n <SectionContainerAccordion\n :aria-label=\"tag.title\"\n class=\"tag-section\"\n :modelValue=\"!isCollapsed\"\n @update:modelValue=\"\n (value) => eventBus?.emit('toggle:nav-item', { id: tag.id, open: value })\n \">\n <template #title>\n <SectionHeader class=\"tag-name\">\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: tag.id })\n \">\n <SectionHeaderTag :level=\"2\">\n {{ tag.title }}\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <ScalarMarkdown\n class=\"tag-description\"\n :value=\"tag?.description\"\n withImages />\n </template>\n <slot />\n </SectionContainerAccordion>\n</template>\n\n<style scoped>\n.tag-section {\n margin-bottom: 48px;\n}\n.tag-name {\n text-transform: capitalize;\n}\n.tag-description {\n padding-bottom: 4px;\n text-align: left;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { getHttpMethodInfo } from '@scalar/helpers/http/http-info'\nimport { ScalarIconWebhooksLogo } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n TraversedEntry,\n TraversedOperation,\n TraversedWebhook,\n} from '@scalar/workspace-store/schemas/navigation'\nimport { computed } from 'vue'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport { SectionHeaderTag } from '@/components/Section'\n\nconst { operation } = defineProps<{\n operation: TraversedOperation | TraversedWebhook\n isCollapsed?: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n\nconst pathOrTitle = computed(() => {\n if ('path' in operation) {\n return operation.path\n }\n\n return operation.title\n})\n\nconst isWebhook = (\n _operation: TraversedEntry,\n): _operation is TraversedWebhook => _operation.type === 'webhook'\n</script>\n\n<template>\n <li\n :key=\"operation.id\"\n class=\"contents\">\n <!-- If collapsed add hidden headers so they show up for screen readers -->\n <SectionHeaderTag\n v-if=\"isCollapsed\"\n class=\"sr-only\"\n :level=\"3\">\n {{ operation.title }} (Hidden)\n </SectionHeaderTag>\n <a\n class=\"endpoint\"\n @click.prevent=\"\n () => eventBus?.emit('scroll-to:nav-item', { id: operation.id })\n \">\n <HttpMethod\n class=\"endpoint-method items-center justify-end gap-2\"\n :method=\"operation.method\">\n <ScalarIconWebhooksLogo\n v-if=\"isWebhook(operation)\"\n class=\"size-3.5\"\n :style=\"{\n color: getHttpMethodInfo(operation.method).colorVar,\n }\" />\n </HttpMethod>\n <span\n class=\"endpoint-path\"\n :class=\"{ deprecated: operation.isDeprecated }\">\n {{ pathOrTitle }}\n </span>\n </a>\n </li>\n</template>\n\n<style scoped>\n.endpoint {\n display: flex;\n white-space: nowrap;\n cursor: pointer;\n text-decoration: none;\n}\n.endpoint:hover .endpoint-path,\n.endpoint:focus-visible .endpoint-path {\n text-decoration: underline;\n}\n.endpoint .post,\n.endpoint .get,\n.endpoint .delete,\n.endpoint .put {\n white-space: nowrap;\n}\n\n.endpoint-method,\n.endpoint-path {\n color: var(--scalar-color-1);\n min-width: 62px;\n display: inline-flex;\n line-height: 1.55;\n font-family: var(--scalar-font-code);\n font-size: var(--scalar-small);\n cursor: pointer;\n}\n\n.endpoint-method {\n text-align: right;\n}\n\n.endpoint-path {\n margin-left: 12px;\n text-transform: initial;\n}\n\n.deprecated {\n text-decoration: line-through;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { getHttpMethodInfo } from '@scalar/helpers/http/http-info'\nimport { ScalarIconWebhooksLogo } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n TraversedEntry,\n TraversedOperation,\n TraversedWebhook,\n} from '@scalar/workspace-store/schemas/navigation'\nimport { computed } from 'vue'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport { SectionHeaderTag } from '@/components/Section'\n\nconst { operation } = defineProps<{\n operation: TraversedOperation | TraversedWebhook\n isCollapsed?: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n\nconst pathOrTitle = computed(() => {\n if ('path' in operation) {\n return operation.path\n }\n\n return operation.title\n})\n\nconst isWebhook = (\n _operation: TraversedEntry,\n): _operation is TraversedWebhook => _operation.type === 'webhook'\n</script>\n\n<template>\n <li\n :key=\"operation.id\"\n class=\"contents\">\n <!-- If collapsed add hidden headers so they show up for screen readers -->\n <SectionHeaderTag\n v-if=\"isCollapsed\"\n class=\"sr-only\"\n :level=\"3\">\n {{ operation.title }} (Hidden)\n </SectionHeaderTag>\n <a\n class=\"endpoint\"\n @click.prevent=\"\n () => eventBus?.emit('scroll-to:nav-item', { id: operation.id })\n \">\n <HttpMethod\n class=\"endpoint-method items-center justify-end gap-2\"\n :method=\"operation.method\">\n <ScalarIconWebhooksLogo\n v-if=\"isWebhook(operation)\"\n class=\"size-3.5\"\n :style=\"{\n color: getHttpMethodInfo(operation.method).colorVar,\n }\" />\n </HttpMethod>\n <span\n class=\"endpoint-path\"\n :class=\"{ deprecated: operation.isDeprecated }\">\n {{ pathOrTitle }}\n </span>\n </a>\n </li>\n</template>\n\n<style scoped>\n.endpoint {\n display: flex;\n white-space: nowrap;\n cursor: pointer;\n text-decoration: none;\n}\n.endpoint:hover .endpoint-path,\n.endpoint:focus-visible .endpoint-path {\n text-decoration: underline;\n}\n.endpoint .post,\n.endpoint .get,\n.endpoint .delete,\n.endpoint .put {\n white-space: nowrap;\n}\n\n.endpoint-method,\n.endpoint-path {\n color: var(--scalar-color-1);\n min-width: 62px;\n display: inline-flex;\n line-height: 1.55;\n font-family: var(--scalar-font-code);\n font-size: var(--scalar-small);\n cursor: pointer;\n}\n\n.endpoint-method {\n text-align: right;\n}\n\n.endpoint-path {\n margin-left: 12px;\n text-transform: initial;\n}\n\n.deprecated {\n text-decoration: line-through;\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n ScalarCard,\n ScalarCardHeader,\n ScalarCardSection,\n} from '@scalar/components'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\nimport { computed } from 'vue'\n\nimport ScreenReader from '@/components/ScreenReader.vue'\n\nimport OperationsListItem from './OperationsListItem.vue'\n\nconst { tag } = defineProps<{\n tag: TraversedTag\n eventBus: WorkspaceEventBus | null\n}>()\n\nconst operationsAndWebhooks = computed(() => {\n return (\n tag.children?.filter(\n (child) => child.type === 'operation' || child.type === 'webhook',\n ) ?? []\n )\n})\n</script>\n\n<template>\n <template v-if=\"tag.children && tag.children?.length > 0\">\n <ScalarCard class=\"endpoints-card\">\n <ScalarCardHeader muted>\n <ScreenReader>{{ tag.title }}</ScreenReader>\n {{ tag.isWebhooks ? 'Webhooks' : 'Operations' }}\n </ScalarCardHeader>\n <ScalarCardSection class=\"custom-scroll max-h-[60vh]\">\n <ul\n :aria-label=\"`${tag.title} endpoints`\"\n class=\"endpoints\">\n <OperationsListItem\n v-for=\"operationOrWebhook in operationsAndWebhooks\"\n :key=\"operationOrWebhook.id\"\n :eventBus=\"eventBus\"\n :operation=\"operationOrWebhook\" />\n </ul>\n </ScalarCardSection>\n </ScalarCard>\n </template>\n</template>\n\n<style scoped>\n.endpoints-card {\n position: sticky;\n top: calc(var(--refs-viewport-offset) + 24px);\n font-size: var(--scalar-font-size-3);\n}\n.endpoints {\n overflow: auto;\n background: var(--scalar-background-2);\n padding: 10px 12px;\n width: 100%;\n}\n</style>\n","<script setup lang=\"ts\">\nimport {\n ScalarCard,\n ScalarCardHeader,\n ScalarCardSection,\n} from '@scalar/components'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\nimport { computed } from 'vue'\n\nimport ScreenReader from '@/components/ScreenReader.vue'\n\nimport OperationsListItem from './OperationsListItem.vue'\n\nconst { tag } = defineProps<{\n tag: TraversedTag\n eventBus: WorkspaceEventBus | null\n}>()\n\nconst operationsAndWebhooks = computed(() => {\n return (\n tag.children?.filter(\n (child) => child.type === 'operation' || child.type === 'webhook',\n ) ?? []\n )\n})\n</script>\n\n<template>\n <template v-if=\"tag.children && tag.children?.length > 0\">\n <ScalarCard class=\"endpoints-card\">\n <ScalarCardHeader muted>\n <ScreenReader>{{ tag.title }}</ScreenReader>\n {{ tag.isWebhooks ? 'Webhooks' : 'Operations' }}\n </ScalarCardHeader>\n <ScalarCardSection class=\"custom-scroll max-h-[60vh]\">\n <ul\n :aria-label=\"`${tag.title} endpoints`\"\n class=\"endpoints\">\n <OperationsListItem\n v-for=\"operationOrWebhook in operationsAndWebhooks\"\n :key=\"operationOrWebhook.id\"\n :eventBus=\"eventBus\"\n :operation=\"operationOrWebhook\" />\n </ul>\n </ScalarCardSection>\n </ScalarCard>\n </template>\n</template>\n\n<style scoped>\n.endpoints-card {\n position: sticky;\n top: calc(var(--refs-viewport-offset) + 24px);\n font-size: var(--scalar-font-size-3);\n}\n.endpoints {\n overflow: auto;\n background: var(--scalar-background-2);\n padding: 10px 12px;\n width: 100%;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\n\nimport { Anchor } from '@/components/Anchor'\nimport { OperationsList } from '@/components/OperationsList'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport {\n Section,\n SectionColumn,\n SectionColumns,\n SectionContent,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\nimport { SpecificationExtension } from '@/features/specification-extension'\n\nconst { tag, headerId, isCollapsed } = defineProps<{\n tag: TraversedTag\n headerId?: string\n isCollapsed?: boolean\n isLoading?: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n</script>\n<template>\n <Section\n v-if=\"tag\"\n :id=\"tag.id\"\n role=\"none\"\n @intersecting=\"\n () => eventBus?.emit('intersecting:nav-item', { id: tag.id })\n \">\n <SectionHeader v-show=\"!isLoading\">\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: tag.id })\n \">\n <SectionHeaderTag\n :id=\"headerId\"\n :level=\"2\">\n {{ tag.title }}\n <ScreenReader v-if=\"isCollapsed\"> (Collapsed)</ScreenReader>\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <SectionContent :loading=\"isLoading\">\n <SectionColumns>\n <SectionColumn>\n <ScalarMarkdown\n :clamp=\"isCollapsed ? 7 : undefined\"\n :value=\"tag?.description ?? ''\"\n withImages />\n </SectionColumn>\n <SectionColumn>\n <OperationsList\n :eventBus=\"eventBus\"\n :tag=\"tag\" />\n </SectionColumn>\n </SectionColumns>\n </SectionContent>\n <SpecificationExtension :value=\"tag.xKeys\" />\n </Section>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\n\nimport { Anchor } from '@/components/Anchor'\nimport { OperationsList } from '@/components/OperationsList'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport {\n Section,\n SectionColumn,\n SectionColumns,\n SectionContent,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\nimport { SpecificationExtension } from '@/features/specification-extension'\n\nconst { tag, headerId, isCollapsed } = defineProps<{\n tag: TraversedTag\n headerId?: string\n isCollapsed?: boolean\n isLoading?: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n</script>\n<template>\n <Section\n v-if=\"tag\"\n :id=\"tag.id\"\n role=\"none\"\n @intersecting=\"\n () => eventBus?.emit('intersecting:nav-item', { id: tag.id })\n \">\n <SectionHeader v-show=\"!isLoading\">\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: tag.id })\n \">\n <SectionHeaderTag\n :id=\"headerId\"\n :level=\"2\">\n {{ tag.title }}\n <ScreenReader v-if=\"isCollapsed\"> (Collapsed)</ScreenReader>\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <SectionContent :loading=\"isLoading\">\n <SectionColumns>\n <SectionColumn>\n <ScalarMarkdown\n :clamp=\"isCollapsed ? 7 : undefined\"\n :value=\"tag?.description ?? ''\"\n withImages />\n </SectionColumn>\n <SectionColumn>\n <OperationsList\n :eventBus=\"eventBus\"\n :tag=\"tag\" />\n </SectionColumn>\n </SectionColumns>\n </SectionContent>\n <SpecificationExtension :value=\"tag.xKeys\" />\n </Section>\n</template>\n","<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\nimport { computed, useId } from 'vue'\n\nimport { SectionContainer } from '@/components/Section'\nimport ShowMoreButton from '@/components/ShowMoreButton.vue'\n\nimport TagSection from './TagSection.vue'\n\nconst { tag, moreThanOneTag } = defineProps<{\n tag: TraversedTag\n moreThanOneTag: boolean\n isLoading: boolean\n isCollapsed: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n\nconst headerId = useId()\n\nconst moreThanOneDefaultTag = computed(\n () => moreThanOneTag || tag?.title !== 'default' || tag?.description !== '',\n)\n\nconst hasChildren = computed(() => (tag?.children?.length ?? 0) > 0)\n</script>\n\n<template>\n <SectionContainer\n :aria-labelledby=\"headerId\"\n class=\"tag-section-container\"\n role=\"region\">\n <TagSection\n v-if=\"moreThanOneDefaultTag\"\n :eventBus=\"eventBus\"\n :headerId=\"headerId\"\n :isCollapsed=\"isCollapsed\"\n :isLoading=\"isLoading\"\n :tag=\"tag\" />\n <ShowMoreButton\n v-if=\"isCollapsed && moreThanOneTag && hasChildren\"\n :id=\"tag.id\"\n :aria-label=\"`Show all ${tag.title} endpoints`\"\n @click=\"\n () => eventBus?.emit('toggle:nav-item', { id: tag.id, open: true })\n \" />\n\n <!-- Show slot when section is expanded or single-tag (inverse of ShowMoreButton visibility). -->\n <div\n v-if=\"!(isCollapsed && moreThanOneTag)\"\n class=\"contents divide-y\">\n <slot />\n </div>\n </SectionContainer>\n</template>\n\n<style scoped>\n.section-container {\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.section-container:has(.show-more) {\n background-color: color-mix(in srgb, var(--scalar-background-2), transparent);\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\nimport { computed, useId } from 'vue'\n\nimport { SectionContainer } from '@/components/Section'\nimport ShowMoreButton from '@/components/ShowMoreButton.vue'\n\nimport TagSection from './TagSection.vue'\n\nconst { tag, moreThanOneTag } = defineProps<{\n tag: TraversedTag\n moreThanOneTag: boolean\n isLoading: boolean\n isCollapsed: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n\nconst headerId = useId()\n\nconst moreThanOneDefaultTag = computed(\n () => moreThanOneTag || tag?.title !== 'default' || tag?.description !== '',\n)\n\nconst hasChildren = computed(() => (tag?.children?.length ?? 0) > 0)\n</script>\n\n<template>\n <SectionContainer\n :aria-labelledby=\"headerId\"\n class=\"tag-section-container\"\n role=\"region\">\n <TagSection\n v-if=\"moreThanOneDefaultTag\"\n :eventBus=\"eventBus\"\n :headerId=\"headerId\"\n :isCollapsed=\"isCollapsed\"\n :isLoading=\"isLoading\"\n :tag=\"tag\" />\n <ShowMoreButton\n v-if=\"isCollapsed && moreThanOneTag && hasChildren\"\n :id=\"tag.id\"\n :aria-label=\"`Show all ${tag.title} endpoints`\"\n @click=\"\n () => eventBus?.emit('toggle:nav-item', { id: tag.id, open: true })\n \" />\n\n <!-- Show slot when section is expanded or single-tag (inverse of ShowMoreButton visibility). -->\n <div\n v-if=\"!(isCollapsed && moreThanOneTag)\"\n class=\"contents divide-y\">\n <slot />\n </div>\n </SectionContainer>\n</template>\n\n<style scoped>\n.section-container {\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.section-container:has(.show-more) {\n background-color: color-mix(in srgb, var(--scalar-background-2), transparent);\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\n\nimport ClassicLayout from './components/ClassicLayout.vue'\nimport ModernLayout from './components/ModernLayout.vue'\n\nconst { tag, layout, moreThanOneTag, isLoading } = defineProps<{\n tag: TraversedTag\n layout: 'classic' | 'modern'\n moreThanOneTag: boolean\n isLoading: boolean\n isCollapsed: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n</script>\n\n<template>\n <template v-if=\"layout === 'classic'\">\n <ClassicLayout\n :eventBus=\"eventBus\"\n :isCollapsed=\"isCollapsed\"\n :layout=\"layout\"\n :tag=\"tag\">\n <slot />\n </ClassicLayout>\n </template>\n <template v-else>\n <ModernLayout\n :eventBus=\"eventBus\"\n :isCollapsed=\"isCollapsed\"\n :isLoading=\"isLoading\"\n :layout=\"layout\"\n :moreThanOneTag=\"moreThanOneTag\"\n :tag=\"tag\">\n <slot />\n </ModernLayout>\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\n\nimport ClassicLayout from './components/ClassicLayout.vue'\nimport ModernLayout from './components/ModernLayout.vue'\n\nconst { tag, layout, moreThanOneTag, isLoading } = defineProps<{\n tag: TraversedTag\n layout: 'classic' | 'modern'\n moreThanOneTag: boolean\n isLoading: boolean\n isCollapsed: boolean\n eventBus: WorkspaceEventBus | null\n}>()\n</script>\n\n<template>\n <template v-if=\"layout === 'classic'\">\n <ClassicLayout\n :eventBus=\"eventBus\"\n :isCollapsed=\"isCollapsed\"\n :layout=\"layout\"\n :tag=\"tag\">\n <slot />\n </ClassicLayout>\n </template>\n <template v-else>\n <ModernLayout\n :eventBus=\"eventBus\"\n :isCollapsed=\"isCollapsed\"\n :isLoading=\"isLoading\"\n :layout=\"layout\"\n :moreThanOneTag=\"moreThanOneTag\"\n :tag=\"tag\">\n <slot />\n </ModernLayout>\n </template>\n</template>\n","<script lang=\"ts\" setup>\n/**\n * Lazily renders content when the element is within the viewport overscan.\n * Uses a fixed-height placeholder so layout is stable while we block during render.\n *\n * When server-side rendering, content renders immediately.\n *\n * @link https://medium.com/js-dojo/lazy-rendering-in-vue-to-improve-performance-dcccd445d5f\n */\n\nimport { useIntersectionObserver } from '@vueuse/core'\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\nimport {\n getLazyPlaceholderHeight,\n requestLazyRender,\n setLazyPlaceholderHeight,\n useLazyBus,\n} from '@/helpers/lazy-bus'\n\nconst { id, expanded = false } = defineProps<{\n /** Identifier for this lazy section; used for scroll-to and bus registration. */\n id: string\n /** When true, render the slot so child Lazy placeholders mount (e.g. for navigation). */\n expanded?: boolean\n}>()\n\n/** Fixed height for all placeholders so we do not measure or jump. */\nconst PLACEHOLDER_HEIGHT_PX = 760\n\n/** Overscan: render items within this many pixels above and below the viewport. */\nconst VIEWPORT_OVERSCAN_PX = 1200\nconst VIEWPORT_ROOT_MARGIN = `${VIEWPORT_OVERSCAN_PX}px 0px`\n\nconst { isReady } = useLazyBus(id)\nconst lazyContainerRef = ref<HTMLElement | null>(null)\n\nconst placeholderHeight = ref(\n getLazyPlaceholderHeight(id) ?? PLACEHOLDER_HEIGHT_PX,\n)\nlet contentResizeObserver: ResizeObserver | null = null\n\n/** Once ready we always show (no eviction). Otherwise show when expanded (e.g. so child Lazy placeholders mount). */\nconst shouldRender = computed(() => isReady.value || expanded)\n\nonMounted(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n if (!('IntersectionObserver' in window)) {\n requestLazyRender(id, true)\n return\n }\n\n useIntersectionObserver(\n lazyContainerRef,\n ([entry]) => {\n if (entry?.isIntersecting && !isReady.value) {\n requestLazyRender(id, true)\n }\n },\n { rootMargin: VIEWPORT_ROOT_MARGIN },\n )\n})\n\n/**\n * Capture content height right before we switch to placeholder (pre-flush so content\n * is still in the DOM). Ensures we never measure the container or leave the cache stale.\n */\nwatch(\n () => shouldRender.value,\n (rendered, wasRendered) => {\n if (wasRendered && !rendered && lazyContainerRef.value) {\n const h = lazyContainerRef.value.offsetHeight\n if (Number.isFinite(h) && h > 0) {\n placeholderHeight.value = h\n setLazyPlaceholderHeight(id, h)\n }\n }\n },\n { flush: 'pre' },\n)\n\n/** When content is visible, set up ResizeObserver and measure. */\nwatch(\n () => shouldRender.value,\n (rendered) => {\n if (!rendered) {\n contentResizeObserver?.disconnect()\n contentResizeObserver = null\n return\n }\n void nextTick(() => {\n if (!lazyContainerRef.value || typeof ResizeObserver === 'undefined') {\n return\n }\n if (!contentResizeObserver) {\n contentResizeObserver = new ResizeObserver(() => {\n if (!lazyContainerRef.value) {\n return\n }\n const h = lazyContainerRef.value.offsetHeight\n if (Number.isFinite(h) && h > 0) {\n placeholderHeight.value = h\n setLazyPlaceholderHeight(id, h)\n }\n })\n }\n contentResizeObserver.observe(lazyContainerRef.value)\n const h = lazyContainerRef.value.offsetHeight\n if (Number.isFinite(h) && h > 0) {\n placeholderHeight.value = h\n setLazyPlaceholderHeight(id, h)\n }\n })\n },\n { immediate: true },\n)\n\nonBeforeUnmount(() => {\n contentResizeObserver?.disconnect()\n})\n</script>\n<template>\n <div\n :id=\"!shouldRender ? id : undefined\"\n ref=\"lazyContainerRef\"\n :data-placeholder=\"!shouldRender\"\n data-testid=\"lazy-container\"\n :style=\"{ height: shouldRender ? undefined : `${placeholderHeight}px` }\">\n <slot v-if=\"shouldRender\" />\n </div>\n</template>\n","<script lang=\"ts\" setup>\n/**\n * Lazily renders content when the element is within the viewport overscan.\n * Uses a fixed-height placeholder so layout is stable while we block during render.\n *\n * When server-side rendering, content renders immediately.\n *\n * @link https://medium.com/js-dojo/lazy-rendering-in-vue-to-improve-performance-dcccd445d5f\n */\n\nimport { useIntersectionObserver } from '@vueuse/core'\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\nimport {\n getLazyPlaceholderHeight,\n requestLazyRender,\n setLazyPlaceholderHeight,\n useLazyBus,\n} from '@/helpers/lazy-bus'\n\nconst { id, expanded = false } = defineProps<{\n /** Identifier for this lazy section; used for scroll-to and bus registration. */\n id: string\n /** When true, render the slot so child Lazy placeholders mount (e.g. for navigation). */\n expanded?: boolean\n}>()\n\n/** Fixed height for all placeholders so we do not measure or jump. */\nconst PLACEHOLDER_HEIGHT_PX = 760\n\n/** Overscan: render items within this many pixels above and below the viewport. */\nconst VIEWPORT_OVERSCAN_PX = 1200\nconst VIEWPORT_ROOT_MARGIN = `${VIEWPORT_OVERSCAN_PX}px 0px`\n\nconst { isReady } = useLazyBus(id)\nconst lazyContainerRef = ref<HTMLElement | null>(null)\n\nconst placeholderHeight = ref(\n getLazyPlaceholderHeight(id) ?? PLACEHOLDER_HEIGHT_PX,\n)\nlet contentResizeObserver: ResizeObserver | null = null\n\n/** Once ready we always show (no eviction). Otherwise show when expanded (e.g. so child Lazy placeholders mount). */\nconst shouldRender = computed(() => isReady.value || expanded)\n\nonMounted(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n if (!('IntersectionObserver' in window)) {\n requestLazyRender(id, true)\n return\n }\n\n useIntersectionObserver(\n lazyContainerRef,\n ([entry]) => {\n if (entry?.isIntersecting && !isReady.value) {\n requestLazyRender(id, true)\n }\n },\n { rootMargin: VIEWPORT_ROOT_MARGIN },\n )\n})\n\n/**\n * Capture content height right before we switch to placeholder (pre-flush so content\n * is still in the DOM). Ensures we never measure the container or leave the cache stale.\n */\nwatch(\n () => shouldRender.value,\n (rendered, wasRendered) => {\n if (wasRendered && !rendered && lazyContainerRef.value) {\n const h = lazyContainerRef.value.offsetHeight\n if (Number.isFinite(h) && h > 0) {\n placeholderHeight.value = h\n setLazyPlaceholderHeight(id, h)\n }\n }\n },\n { flush: 'pre' },\n)\n\n/** When content is visible, set up ResizeObserver and measure. */\nwatch(\n () => shouldRender.value,\n (rendered) => {\n if (!rendered) {\n contentResizeObserver?.disconnect()\n contentResizeObserver = null\n return\n }\n void nextTick(() => {\n if (!lazyContainerRef.value || typeof ResizeObserver === 'undefined') {\n return\n }\n if (!contentResizeObserver) {\n contentResizeObserver = new ResizeObserver(() => {\n if (!lazyContainerRef.value) {\n return\n }\n const h = lazyContainerRef.value.offsetHeight\n if (Number.isFinite(h) && h > 0) {\n placeholderHeight.value = h\n setLazyPlaceholderHeight(id, h)\n }\n })\n }\n contentResizeObserver.observe(lazyContainerRef.value)\n const h = lazyContainerRef.value.offsetHeight\n if (Number.isFinite(h) && h > 0) {\n placeholderHeight.value = h\n setLazyPlaceholderHeight(id, h)\n }\n })\n },\n { immediate: true },\n)\n\nonBeforeUnmount(() => {\n contentResizeObserver?.disconnect()\n})\n</script>\n<template>\n <div\n :id=\"!shouldRender ? id : undefined\"\n ref=\"lazyContainerRef\"\n :data-placeholder=\"!shouldRender\"\n data-testid=\"lazy-container\"\n :style=\"{ height: shouldRender ? undefined : `${placeholderHeight}px` }\">\n <slot v-if=\"shouldRender\" />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport type { ClientOptionGroup } from '@scalar/api-client/v2/blocks/operation-code-sample'\nimport type { MergedSecuritySchemes } from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\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 type { WorkspaceDocument } from '@scalar/workspace-store/schemas'\nimport type {\n TraversedEntry,\n TraversedModels,\n TraversedOperation,\n TraversedSchema,\n TraversedTag,\n TraversedWebhook,\n} from '@scalar/workspace-store/schemas/navigation'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport Model from '@/components/Content/Models/Model.vue'\nimport ModelTag from '@/components/Content/Models/ModelTag.vue'\nimport { Tag } from '@/components/Content/Tags'\nimport Lazy from '@/components/Lazy/Lazy.vue'\nimport { SectionContainer } from '@/components/Section'\nimport { Operation } from '@/features/Operation'\n\nconst {\n level = 0,\n clientOptions,\n document,\n authStore,\n entries,\n} = defineProps<{\n /** The auth store */\n authStore: AuthStore\n /** The level of depth */\n level?: number\n /** Traversed entries to render */\n entries: TraversedEntry[]\n /** The document object */\n document: WorkspaceDocument\n /** The http client options for the dropdown */\n clientOptions: ClientOptionGroup[]\n /** The subset of the configuration object required for the operation component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'expandAllResponses'\n | 'hideTestRequestButton'\n | 'layout'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'showOperationId'\n >\n /** Currently selected server for the document */\n selectedServer: ServerObject | null\n /** The merged security schemes for the document and the authentication configuration */\n securitySchemes: MergedSecuritySchemes\n /** Currently selected http client for the document */\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n /** Used to determine if an entry is collapsed */\n expandedItems: Record<string, boolean>\n /** The event bus for the handling all events. */\n eventBus: WorkspaceEventBus\n}>()\n\n/**\n * Type guards for different entry types\n */\nconst isTagGroup = (\n entry: TraversedEntry,\n): entry is TraversedTag & { isGroup: true } =>\n entry['type'] === 'tag' && entry.isGroup === true\n\nconst isTag = (\n entry: TraversedEntry,\n): entry is TraversedTag & { isGroup: false } =>\n entry['type'] === 'tag' && !isTagGroup(entry) && entry.id !== 'models'\n\nconst isOperation = (entry: TraversedEntry): entry is TraversedOperation =>\n entry['type'] === 'operation'\n\nconst isWebhook = (entry: TraversedEntry): entry is TraversedWebhook =>\n entry['type'] === 'webhook'\n\n/** Models are special form of tag entry */\nconst isModelsTag = (entry: TraversedEntry): entry is TraversedModels =>\n entry['type'] === 'models'\n\nconst isModel = (entry: TraversedEntry): entry is TraversedSchema =>\n entry['type'] === 'model'\n\nfunction getPathValue(entry: TraversedOperation | TraversedWebhook) {\n return isWebhook(entry)\n ? document.webhooks?.[entry.name]\n : document.paths?.[entry.path]\n}\n</script>\n\n<template>\n <!-- The key must be joined with the layout to force a re-render when the layout changes -->\n <!-- Without this we get a timing issue where the lazy bus is reset and the element is not rendered -->\n <Lazy\n v-for=\"entry in entries\"\n :id=\"entry.id\"\n :key=\"`${entry.id}-${options.layout}`\"\n :expanded=\"!!expandedItems[entry.id]\">\n <!-- Operation or Webhook -->\n <SectionContainer\n v-if=\"isOperation(entry) || isWebhook(entry)\"\n :omit=\"level !== 0\">\n <Operation\n :id=\"entry.id\"\n :authStore\n :clientOptions\n :document\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\n :isWebhook=\"isWebhook(entry)\"\n :method=\"entry.method\"\n :options=\"options\"\n :path=\"isWebhook(entry) ? entry.name : entry.path\"\n :pathValue=\"getPathValue(entry)\"\n :securitySchemes=\"securitySchemes\"\n :selectedClient=\"selectedClient\"\n :server=\"selectedServer\" />\n </SectionContainer>\n\n <!-- Webhook Group or Tag -->\n <Tag\n v-else-if=\"isTag(entry)\"\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\n :isLoading=\"false\"\n :layout=\"options.layout\"\n :moreThanOneTag=\"entries.filter(isTag).length > 1\"\n :tag=\"entry\">\n <template v-if=\"'children' in entry && entry.children?.length\">\n <TraversedEntry\n :authStore\n :clientOptions\n :document\n :entries=\"entry.children\"\n :eventBus\n :expandedItems\n :level=\"level + 1\"\n :options\n :securitySchemes\n :selectedClient\n :selectedServer>\n </TraversedEntry>\n </template>\n </Tag>\n\n <!-- Tag Group -->\n <TraversedEntry\n v-else-if=\"isTagGroup(entry)\"\n :authStore\n :clientOptions\n :document\n :entries=\"entry.children || []\"\n :eventBus\n :expandedItems\n :level=\"level + 1\"\n :options\n :securitySchemes\n :selectedClient\n :selectedServer>\n </TraversedEntry>\n\n <!-- Models -->\n <ModelTag\n v-else-if=\"isModelsTag(entry) && document.components?.schemas\"\n :id=\"entry.id\"\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\n :layout=\"options.layout\">\n <TraversedEntry\n :authStore\n :clientOptions\n :document\n :entries=\"entry.children || []\"\n :eventBus\n :expandedItems=\"expandedItems\"\n :level=\"level + 1\"\n :options\n :securitySchemes\n :selectedClient\n :selectedServer>\n </TraversedEntry>\n </ModelTag>\n\n <Model\n v-else-if=\"isModel(entry) && document.components?.schemas?.[entry.name]\"\n :id=\"entry.id\"\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\n :name=\"entry.name\"\n :options\n :schema=\"getResolvedRef(document.components.schemas[entry.name])\">\n </Model>\n </Lazy>\n</template>\n","<script setup lang=\"ts\">\nimport type { ClientOptionGroup } from '@scalar/api-client/v2/blocks/operation-code-sample'\nimport type { MergedSecuritySchemes } from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\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 type { WorkspaceDocument } from '@scalar/workspace-store/schemas'\nimport type {\n TraversedEntry,\n TraversedModels,\n TraversedOperation,\n TraversedSchema,\n TraversedTag,\n TraversedWebhook,\n} from '@scalar/workspace-store/schemas/navigation'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport Model from '@/components/Content/Models/Model.vue'\nimport ModelTag from '@/components/Content/Models/ModelTag.vue'\nimport { Tag } from '@/components/Content/Tags'\nimport Lazy from '@/components/Lazy/Lazy.vue'\nimport { SectionContainer } from '@/components/Section'\nimport { Operation } from '@/features/Operation'\n\nconst {\n level = 0,\n clientOptions,\n document,\n authStore,\n entries,\n} = defineProps<{\n /** The auth store */\n authStore: AuthStore\n /** The level of depth */\n level?: number\n /** Traversed entries to render */\n entries: TraversedEntry[]\n /** The document object */\n document: WorkspaceDocument\n /** The http client options for the dropdown */\n clientOptions: ClientOptionGroup[]\n /** The subset of the configuration object required for the operation component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'expandAllResponses'\n | 'hideTestRequestButton'\n | 'layout'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'showOperationId'\n >\n /** Currently selected server for the document */\n selectedServer: ServerObject | null\n /** The merged security schemes for the document and the authentication configuration */\n securitySchemes: MergedSecuritySchemes\n /** Currently selected http client for the document */\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n /** Used to determine if an entry is collapsed */\n expandedItems: Record<string, boolean>\n /** The event bus for the handling all events. */\n eventBus: WorkspaceEventBus\n}>()\n\n/**\n * Type guards for different entry types\n */\nconst isTagGroup = (\n entry: TraversedEntry,\n): entry is TraversedTag & { isGroup: true } =>\n entry['type'] === 'tag' && entry.isGroup === true\n\nconst isTag = (\n entry: TraversedEntry,\n): entry is TraversedTag & { isGroup: false } =>\n entry['type'] === 'tag' && !isTagGroup(entry) && entry.id !== 'models'\n\nconst isOperation = (entry: TraversedEntry): entry is TraversedOperation =>\n entry['type'] === 'operation'\n\nconst isWebhook = (entry: TraversedEntry): entry is TraversedWebhook =>\n entry['type'] === 'webhook'\n\n/** Models are special form of tag entry */\nconst isModelsTag = (entry: TraversedEntry): entry is TraversedModels =>\n entry['type'] === 'models'\n\nconst isModel = (entry: TraversedEntry): entry is TraversedSchema =>\n entry['type'] === 'model'\n\nfunction getPathValue(entry: TraversedOperation | TraversedWebhook) {\n return isWebhook(entry)\n ? document.webhooks?.[entry.name]\n : document.paths?.[entry.path]\n}\n</script>\n\n<template>\n <!-- The key must be joined with the layout to force a re-render when the layout changes -->\n <!-- Without this we get a timing issue where the lazy bus is reset and the element is not rendered -->\n <Lazy\n v-for=\"entry in entries\"\n :id=\"entry.id\"\n :key=\"`${entry.id}-${options.layout}`\"\n :expanded=\"!!expandedItems[entry.id]\">\n <!-- Operation or Webhook -->\n <SectionContainer\n v-if=\"isOperation(entry) || isWebhook(entry)\"\n :omit=\"level !== 0\">\n <Operation\n :id=\"entry.id\"\n :authStore\n :clientOptions\n :document\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\n :isWebhook=\"isWebhook(entry)\"\n :method=\"entry.method\"\n :options=\"options\"\n :path=\"isWebhook(entry) ? entry.name : entry.path\"\n :pathValue=\"getPathValue(entry)\"\n :securitySchemes=\"securitySchemes\"\n :selectedClient=\"selectedClient\"\n :server=\"selectedServer\" />\n </SectionContainer>\n\n <!-- Webhook Group or Tag -->\n <Tag\n v-else-if=\"isTag(entry)\"\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\n :isLoading=\"false\"\n :layout=\"options.layout\"\n :moreThanOneTag=\"entries.filter(isTag).length > 1\"\n :tag=\"entry\">\n <template v-if=\"'children' in entry && entry.children?.length\">\n <TraversedEntry\n :authStore\n :clientOptions\n :document\n :entries=\"entry.children\"\n :eventBus\n :expandedItems\n :level=\"level + 1\"\n :options\n :securitySchemes\n :selectedClient\n :selectedServer>\n </TraversedEntry>\n </template>\n </Tag>\n\n <!-- Tag Group -->\n <TraversedEntry\n v-else-if=\"isTagGroup(entry)\"\n :authStore\n :clientOptions\n :document\n :entries=\"entry.children || []\"\n :eventBus\n :expandedItems\n :level=\"level + 1\"\n :options\n :securitySchemes\n :selectedClient\n :selectedServer>\n </TraversedEntry>\n\n <!-- Models -->\n <ModelTag\n v-else-if=\"isModelsTag(entry) && document.components?.schemas\"\n :id=\"entry.id\"\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\n :layout=\"options.layout\">\n <TraversedEntry\n :authStore\n :clientOptions\n :document\n :entries=\"entry.children || []\"\n :eventBus\n :expandedItems=\"expandedItems\"\n :level=\"level + 1\"\n :options\n :securitySchemes\n :selectedClient\n :selectedServer>\n </TraversedEntry>\n </ModelTag>\n\n <Model\n v-else-if=\"isModel(entry) && document.components?.schemas?.[entry.name]\"\n :id=\"entry.id\"\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\n :name=\"entry.name\"\n :options\n :schema=\"getResolvedRef(document.components.schemas[entry.name])\">\n </Model>\n </Lazy>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\n\nimport { usePluginManager } from '@/plugins'\n\nconst { viewName, options } = defineProps<{\n viewName: 'content.end'\n options: Record<string, any>\n}>()\n\nconst { getViewComponents } = usePluginManager()\nconst components = getViewComponents(viewName)\n</script>\n\n<template>\n <template v-if=\"components.length\">\n <div class=\"plugin-view\">\n <template\n v-for=\"(item, _index) in components\"\n :key=\"_index\">\n <ScalarErrorBoundary>\n <template v-if=\"item.renderer\">\n <!-- Custom renderer (e.g. React) -->\n <component\n :is=\"item.renderer\"\n v-bind=\"{\n component: item.component,\n options,\n ...item.props,\n }\" />\n </template>\n <template v-else>\n <!-- Vue component -->\n <component\n :is=\"item.component\"\n v-bind=\"{ options, ...item.props }\" />\n </template>\n </ScalarErrorBoundary>\n </template>\n </div>\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\n\nimport { usePluginManager } from '@/plugins'\n\nconst { viewName, options } = defineProps<{\n viewName: 'content.end'\n options: Record<string, any>\n}>()\n\nconst { getViewComponents } = usePluginManager()\nconst components = getViewComponents(viewName)\n</script>\n\n<template>\n <template v-if=\"components.length\">\n <div class=\"plugin-view\">\n <template\n v-for=\"(item, _index) in components\"\n :key=\"_index\">\n <ScalarErrorBoundary>\n <template v-if=\"item.renderer\">\n <!-- Custom renderer (e.g. React) -->\n <component\n :is=\"item.renderer\"\n v-bind=\"{\n component: item.component,\n options,\n ...item.props,\n }\" />\n </template>\n <template v-else>\n <!-- Vue component -->\n <component\n :is=\"item.component\"\n v-bind=\"{ options, ...item.props }\" />\n </template>\n </ScalarErrorBoundary>\n </template>\n </div>\n </template>\n</template>\n","<template>\n <!-- For adding gradients + animations to introduction of documents that :before / :after won't work for -->\n <div class=\"section-flare\">\n <div class=\"section-flare-item\"></div>\n <div class=\"section-flare-item\"></div>\n <div class=\"section-flare-item\"></div>\n <div class=\"section-flare-item\"></div>\n <div class=\"section-flare-item\"></div>\n <div class=\"section-flare-item\"></div>\n <div class=\"section-flare-item\"></div>\n <div class=\"section-flare-item\"></div>\n </div>\n</template>\n\n<style scoped>\n.section-flare {\n top: 0;\n right: 0;\n pointer-events: none;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { generateClientOptions } from '@scalar/api-client/v2/blocks/operation-code-sample'\nimport { mergeSecurity } from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport { mapHiddenClientsConfig } from '@scalar/api-client/v2/features/modal'\nimport { getSelectedServer } from '@scalar/api-client/v2/features/operation'\nimport { getServers } from '@scalar/api-client/v2/helpers'\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { Heading } from '@scalar/types/legacy'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { TraversedEntry as TraversedEntryType } from '@scalar/workspace-store/schemas/navigation'\nimport type {\n Workspace,\n WorkspaceDocument,\n} from '@scalar/workspace-store/schemas/workspace'\nimport { computed, onMounted } from 'vue'\n\nimport { ClientSelector } from '@/blocks/scalar-client-selector-block'\nimport { InfoBlock } from '@/blocks/scalar-info-block'\nimport { IntroductionCardItem } from '@/blocks/scalar-info-block/'\nimport { ServerSelector } from '@/blocks/scalar-server-selector-block'\nimport { Auth } from '@/components/Content/Auth'\nimport TraversedEntry from '@/components/Content/Operations/TraversedEntry.vue'\nimport { RenderPlugins } from '@/components/RenderPlugins'\nimport { SectionFlare } from '@/components/SectionFlare'\nimport { getXKeysFromObject } from '@/features/specification-extension'\nimport {\n firstLazyLoadComplete,\n scheduleInitialLoadComplete,\n} from '@/helpers/lazy-bus'\n\nconst { document, items, environment, eventBus, options, authStore } =\n defineProps<{\n infoSectionId: string\n /** The subset of the configuration object required for the content component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'authentication'\n | 'baseServerURL'\n | 'documentDownloadType'\n | 'expandAllResponses'\n | 'hiddenClients'\n | 'hideTestRequestButton'\n | 'layout'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'persistAuth'\n | 'proxyUrl'\n | 'servers'\n | 'showOperationId'\n >\n document: WorkspaceDocument | undefined\n authStore: AuthStore\n xScalarDefaultClient: Workspace['x-scalar-default-client']\n items: TraversedEntryType[]\n expandedItems: Record<string, boolean>\n eventBus: WorkspaceEventBus\n environment: XScalarEnvironment\n /** Heading id generator for Markdown headings */\n headingSlugGenerator: (heading: Heading) => string\n }>()\n\n/** Generate all client options so that it can be shared between the top client picker and the operations */\nconst clientOptions = computed(() =>\n generateClientOptions(mapHiddenClientsConfig(options.hiddenClients)),\n)\n\n/** Computed property to get all OpenAPI extension fields from the root document object */\nconst documentExtensions = computed(() => getXKeysFromObject(document))\n\n/** Computed property to get all OpenAPI extension fields from the document's info object */\nconst infoExtensions = computed(() => getXKeysFromObject(document?.info))\n\n/** Compute the servers for the document */\nconst servers = computed(() =>\n getServers(options?.servers ?? document?.servers, {\n baseServerUrl: options?.baseServerURL,\n documentUrl: document?.['x-scalar-original-source-url'],\n }),\n)\n\n/** Compute the selected server for the document only (for now) */\nconst selectedServer = computed(() =>\n getSelectedServer(servers.value, document?.['x-scalar-selected-server']),\n)\n\n/** Merge authentication config with the document security schemes */\nconst securitySchemes = computed(() =>\n mergeSecurity(\n document?.components?.securitySchemes,\n options.authentication?.securitySchemes,\n authStore,\n document?.['x-scalar-navigation']?.name ?? '',\n ),\n)\n\n/** Ensures firstLazyLoadComplete is set for documents with no Lazy sections (e.g. no operations/tags/models). */\nonMounted(() => {\n scheduleInitialLoadComplete()\n})\n</script>\n<template>\n <SectionFlare />\n\n <div class=\"narrow-references-container\">\n <slot name=\"start\" />\n\n <!-- Introduction -->\n\n <InfoBlock\n :id=\"infoSectionId\"\n :documentDownloadType=\"options.documentDownloadType\"\n :documentExtensions\n :documentUrl=\"document?.['x-scalar-original-source-url']\"\n :eventBus\n :externalDocs=\"document?.externalDocs\"\n :headingSlugGenerator\n :info=\"document?.info\"\n :infoExtensions\n :layout=\"options.layout\"\n :oasVersion=\"document?.['x-original-oas-version']\">\n <template #selectors>\n <!-- Server Selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"servers?.length\"\n class=\"scalar-reference-intro-server scalar-client introduction-card-item text-base leading-normal [--scalar-address-bar-height:0px]\">\n <ServerSelector\n :eventBus\n :selectedServer\n :servers />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- Auth selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"document && !options.hideTestRequestButton\"\n class=\"scalar-reference-intro-auth scalar-client introduction-card-item leading-normal\">\n <Auth\n :authStore\n :document\n :environment\n :eventBus\n :options\n :securitySchemes\n :selectedServer />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- Client selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"clientOptions.length\"\n class=\"introduction-card-item scalar-reference-intro-clients\">\n <ClientSelector\n class=\"introduction-card-item scalar-reference-intro-clients\"\n :clientOptions\n :eventBus\n :selectedClient=\"xScalarDefaultClient\"\n :xScalarSdkInstallation=\"\n document?.info?.['x-scalar-sdk-installation']\n \" />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n </template>\n </InfoBlock>\n\n <!-- Render traversed operations and webhooks -->\n <!-- Use recursive component for cleaner rendering -->\n <TraversedEntry\n v-if=\"items.length && document\"\n :authStore\n :clientOptions\n :document\n :entries=\"items\"\n :eventBus\n :expandedItems\n :options\n :securitySchemes\n :selectedClient=\"xScalarDefaultClient\"\n :selectedServer>\n </TraversedEntry>\n\n <!-- Render plugins at content.end view -->\n <RenderPlugins\n :options\n viewName=\"content.end\" />\n\n <slot name=\"end\" />\n <!-- Placeholder content to allow the active item to be scrolled to the top while the rest of the content is lazy loaded -->\n <div\n v-if=\"!firstLazyLoadComplete\"\n class=\"h-dvh\"></div>\n </div>\n</template>\n\n<style>\n.narrow-references-container {\n container-name: narrow-references-container;\n container-type: inline-size;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { generateClientOptions } from '@scalar/api-client/v2/blocks/operation-code-sample'\nimport { mergeSecurity } from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport { mapHiddenClientsConfig } from '@scalar/api-client/v2/features/modal'\nimport { getSelectedServer } from '@scalar/api-client/v2/features/operation'\nimport { getServers } from '@scalar/api-client/v2/helpers'\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { Heading } from '@scalar/types/legacy'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { TraversedEntry as TraversedEntryType } from '@scalar/workspace-store/schemas/navigation'\nimport type {\n Workspace,\n WorkspaceDocument,\n} from '@scalar/workspace-store/schemas/workspace'\nimport { computed, onMounted } from 'vue'\n\nimport { ClientSelector } from '@/blocks/scalar-client-selector-block'\nimport { InfoBlock } from '@/blocks/scalar-info-block'\nimport { IntroductionCardItem } from '@/blocks/scalar-info-block/'\nimport { ServerSelector } from '@/blocks/scalar-server-selector-block'\nimport { Auth } from '@/components/Content/Auth'\nimport TraversedEntry from '@/components/Content/Operations/TraversedEntry.vue'\nimport { RenderPlugins } from '@/components/RenderPlugins'\nimport { SectionFlare } from '@/components/SectionFlare'\nimport { getXKeysFromObject } from '@/features/specification-extension'\nimport {\n firstLazyLoadComplete,\n scheduleInitialLoadComplete,\n} from '@/helpers/lazy-bus'\n\nconst { document, items, environment, eventBus, options, authStore } =\n defineProps<{\n infoSectionId: string\n /** The subset of the configuration object required for the content component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'authentication'\n | 'baseServerURL'\n | 'documentDownloadType'\n | 'expandAllResponses'\n | 'hiddenClients'\n | 'hideTestRequestButton'\n | 'layout'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'persistAuth'\n | 'proxyUrl'\n | 'servers'\n | 'showOperationId'\n >\n document: WorkspaceDocument | undefined\n authStore: AuthStore\n xScalarDefaultClient: Workspace['x-scalar-default-client']\n items: TraversedEntryType[]\n expandedItems: Record<string, boolean>\n eventBus: WorkspaceEventBus\n environment: XScalarEnvironment\n /** Heading id generator for Markdown headings */\n headingSlugGenerator: (heading: Heading) => string\n }>()\n\n/** Generate all client options so that it can be shared between the top client picker and the operations */\nconst clientOptions = computed(() =>\n generateClientOptions(mapHiddenClientsConfig(options.hiddenClients)),\n)\n\n/** Computed property to get all OpenAPI extension fields from the root document object */\nconst documentExtensions = computed(() => getXKeysFromObject(document))\n\n/** Computed property to get all OpenAPI extension fields from the document's info object */\nconst infoExtensions = computed(() => getXKeysFromObject(document?.info))\n\n/** Compute the servers for the document */\nconst servers = computed(() =>\n getServers(options?.servers ?? document?.servers, {\n baseServerUrl: options?.baseServerURL,\n documentUrl: document?.['x-scalar-original-source-url'],\n }),\n)\n\n/** Compute the selected server for the document only (for now) */\nconst selectedServer = computed(() =>\n getSelectedServer(servers.value, document?.['x-scalar-selected-server']),\n)\n\n/** Merge authentication config with the document security schemes */\nconst securitySchemes = computed(() =>\n mergeSecurity(\n document?.components?.securitySchemes,\n options.authentication?.securitySchemes,\n authStore,\n document?.['x-scalar-navigation']?.name ?? '',\n ),\n)\n\n/** Ensures firstLazyLoadComplete is set for documents with no Lazy sections (e.g. no operations/tags/models). */\nonMounted(() => {\n scheduleInitialLoadComplete()\n})\n</script>\n<template>\n <SectionFlare />\n\n <div class=\"narrow-references-container\">\n <slot name=\"start\" />\n\n <!-- Introduction -->\n\n <InfoBlock\n :id=\"infoSectionId\"\n :documentDownloadType=\"options.documentDownloadType\"\n :documentExtensions\n :documentUrl=\"document?.['x-scalar-original-source-url']\"\n :eventBus\n :externalDocs=\"document?.externalDocs\"\n :headingSlugGenerator\n :info=\"document?.info\"\n :infoExtensions\n :layout=\"options.layout\"\n :oasVersion=\"document?.['x-original-oas-version']\">\n <template #selectors>\n <!-- Server Selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"servers?.length\"\n class=\"scalar-reference-intro-server scalar-client introduction-card-item text-base leading-normal [--scalar-address-bar-height:0px]\">\n <ServerSelector\n :eventBus\n :selectedServer\n :servers />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- Auth selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"document && !options.hideTestRequestButton\"\n class=\"scalar-reference-intro-auth scalar-client introduction-card-item leading-normal\">\n <Auth\n :authStore\n :document\n :environment\n :eventBus\n :options\n :securitySchemes\n :selectedServer />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- Client selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"clientOptions.length\"\n class=\"introduction-card-item scalar-reference-intro-clients\">\n <ClientSelector\n class=\"introduction-card-item scalar-reference-intro-clients\"\n :clientOptions\n :eventBus\n :selectedClient=\"xScalarDefaultClient\"\n :xScalarSdkInstallation=\"\n document?.info?.['x-scalar-sdk-installation']\n \" />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n </template>\n </InfoBlock>\n\n <!-- Render traversed operations and webhooks -->\n <!-- Use recursive component for cleaner rendering -->\n <TraversedEntry\n v-if=\"items.length && document\"\n :authStore\n :clientOptions\n :document\n :entries=\"items\"\n :eventBus\n :expandedItems\n :options\n :securitySchemes\n :selectedClient=\"xScalarDefaultClient\"\n :selectedServer>\n </TraversedEntry>\n\n <!-- Render plugins at content.end view -->\n <RenderPlugins\n :options\n viewName=\"content.end\" />\n\n <slot name=\"end\" />\n <!-- Placeholder content to allow the active item to be scrolled to the top while the rest of the content is lazy loaded -->\n <div\n v-if=\"!firstLazyLoadComplete\"\n class=\"h-dvh\"></div>\n </div>\n</template>\n\n<style>\n.narrow-references-container {\n container-name: narrow-references-container;\n container-type: inline-size;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { cva, ScalarIconButton } from '@scalar/components'\nimport { ScalarIconList, ScalarIconX } from '@scalar/icons'\nimport { useBreakpoints } from '@scalar/use-hooks/useBreakpoints'\n\ndefineProps<{\n breadcrumb: string\n isSidebarOpen: boolean\n showSidebar: boolean\n}>()\n\nconst emit = defineEmits<{\n (e: 'toggleSidebar'): void\n}>()\n\ndefineSlots<{\n actions?(): never\n sidebar?(props: { sidebarClasses: string }): never\n search?(): never\n}>()\n\nconst { mediaQueries } = useBreakpoints()\n\nconst variants = cva({\n base: 'items-center bg-b-1 sticky top-(--scalar-custom-header-height,0) z-10',\n variants: {\n open: {\n true: 'h-(--refs-sidebar-height) custom-scrollbar flex flex-col',\n },\n lg: {\n true: 'hidden [grid-area:header]',\n },\n },\n})\n</script>\n<template>\n <!-- In desktop layout, just render the default slot for the sidebar -->\n <slot\n v-if=\"mediaQueries.lg.value\"\n v-bind=\"{\n sidebarClasses:\n 'sticky top-(--refs-header-height) h-(--refs-sidebar-height) w-(--refs-sidebar-width) [grid-area:navigation]',\n }\"\n name=\"sidebar\" />\n <div\n v-else\n class=\"t-doc__header\"\n :class=\"variants({ open: isSidebarOpen, lg: mediaQueries.lg.value })\">\n <header\n class=\"flex h-(--scalar-header-height) w-full items-center border-b bg-inherit px-2\">\n <ScalarIconButton\n v-if=\"showSidebar\"\n :icon=\"isSidebarOpen ? ScalarIconX : ScalarIconList\"\n :label=\"isSidebarOpen ? 'Close Menu' : 'Open Menu'\"\n size=\"md\"\n @click=\"emit('toggleSidebar')\" />\n\n <span\n v-if=\"showSidebar\"\n class=\"flex-1 text-sm font-medium whitespace-nowrap\">\n {{ breadcrumb }}\n </span>\n <slot\n v-else\n name=\"search\" />\n\n <div class=\"flex h-6 items-center gap-1 pl-1\">\n <slot name=\"actions\" />\n </div>\n </header>\n <!-- In mobile layout, render the sidebar slot into the header panel -->\n <slot\n v-if=\"isSidebarOpen\"\n v-bind=\"{\n sidebarClasses:\n 'overflow-y-auto custom-scrollbar min-h-0 flex-1 w-full border-none',\n }\"\n name=\"sidebar\" />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { cva, ScalarIconButton } from '@scalar/components'\nimport { ScalarIconList, ScalarIconX } from '@scalar/icons'\nimport { useBreakpoints } from '@scalar/use-hooks/useBreakpoints'\n\ndefineProps<{\n breadcrumb: string\n isSidebarOpen: boolean\n showSidebar: boolean\n}>()\n\nconst emit = defineEmits<{\n (e: 'toggleSidebar'): void\n}>()\n\ndefineSlots<{\n actions?(): never\n sidebar?(props: { sidebarClasses: string }): never\n search?(): never\n}>()\n\nconst { mediaQueries } = useBreakpoints()\n\nconst variants = cva({\n base: 'items-center bg-b-1 sticky top-(--scalar-custom-header-height,0) z-10',\n variants: {\n open: {\n true: 'h-(--refs-sidebar-height) custom-scrollbar flex flex-col',\n },\n lg: {\n true: 'hidden [grid-area:header]',\n },\n },\n})\n</script>\n<template>\n <!-- In desktop layout, just render the default slot for the sidebar -->\n <slot\n v-if=\"mediaQueries.lg.value\"\n v-bind=\"{\n sidebarClasses:\n 'sticky top-(--refs-header-height) h-(--refs-sidebar-height) w-(--refs-sidebar-width) [grid-area:navigation]',\n }\"\n name=\"sidebar\" />\n <div\n v-else\n class=\"t-doc__header\"\n :class=\"variants({ open: isSidebarOpen, lg: mediaQueries.lg.value })\">\n <header\n class=\"flex h-(--scalar-header-height) w-full items-center border-b bg-inherit px-2\">\n <ScalarIconButton\n v-if=\"showSidebar\"\n :icon=\"isSidebarOpen ? ScalarIconX : ScalarIconList\"\n :label=\"isSidebarOpen ? 'Close Menu' : 'Open Menu'\"\n size=\"md\"\n @click=\"emit('toggleSidebar')\" />\n\n <span\n v-if=\"showSidebar\"\n class=\"flex-1 text-sm font-medium whitespace-nowrap\">\n {{ breadcrumb }}\n </span>\n <slot\n v-else\n name=\"search\" />\n\n <div class=\"flex h-6 items-center gap-1 pl-1\">\n <slot name=\"actions\" />\n </div>\n </header>\n <!-- In mobile layout, render the sidebar slot into the header panel -->\n <slot\n v-if=\"isSidebarOpen\"\n v-bind=\"{\n sidebarClasses:\n 'overflow-y-auto custom-scrollbar min-h-0 flex-1 w-full border-none',\n }\"\n name=\"sidebar\" />\n </div>\n</template>\n"],"mappings":"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"}