@scalar/api-reference 1.49.0 → 1.49.2

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 (366) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/AgentScalarChatInterface-MUbtSqMw.js +41 -0
  3. package/dist/AgentScalarChatInterface-MUbtSqMw.js.map +1 -0
  4. package/dist/ExternalDocs-phu7GxpZ.js +272 -0
  5. package/dist/ExternalDocs-phu7GxpZ.js.map +1 -0
  6. package/dist/MobileHeader-DAm6yQX0.js +1373 -0
  7. package/dist/MobileHeader-DAm6yQX0.js.map +1 -0
  8. package/dist/Operation-CvpVIkc3.js +3829 -0
  9. package/dist/Operation-CvpVIkc3.js.map +1 -0
  10. package/dist/SearchButton-xzhIpMCZ.js +621 -0
  11. package/dist/SearchButton-xzhIpMCZ.js.map +1 -0
  12. package/dist/ServerSelector-5y29y2BJ.js +852 -0
  13. package/dist/ServerSelector-5y29y2BJ.js.map +1 -0
  14. package/dist/blocks/index.js +3 -10
  15. package/dist/blocks/scalar-client-selector-block/index.d.ts +1 -1
  16. package/dist/blocks/scalar-info-block/index.d.ts +2 -2
  17. package/dist/blocks/scalar-server-selector-block/index.d.ts +1 -1
  18. package/dist/browser/standalone.js +40799 -34683
  19. package/dist/browser/webpack-stats.json +1 -1
  20. package/dist/components/AgentScalar/index.d.ts +3 -3
  21. package/dist/components/Anchor/index.d.ts +2 -2
  22. package/dist/components/Badge/index.d.ts +1 -1
  23. package/dist/components/Content/Auth/index.d.ts +1 -1
  24. package/dist/components/Content/Models/index.d.ts +2 -2
  25. package/dist/components/Content/Schema/Schema.vue.d.ts +1 -1
  26. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts +2 -2
  27. package/dist/components/Content/Schema/SchemaObjectProperties.vue.d.ts +1 -1
  28. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts +1 -1
  29. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.d.ts.map +1 -1
  30. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts.map +1 -1
  31. package/dist/components/Content/Schema/helpers/get-compositions-to-render.d.ts +1 -1
  32. package/dist/components/Content/Schema/index.d.ts +4 -4
  33. package/dist/components/Content/Tags/index.d.ts +1 -1
  34. package/dist/components/Content/index.d.ts +2 -2
  35. package/dist/components/HttpMethod/index.d.ts +1 -1
  36. package/dist/components/LinkList/index.d.ts +1 -1
  37. package/dist/components/OperationsList/index.d.ts +1 -1
  38. package/dist/components/RenderPlugins/index.d.ts +1 -1
  39. package/dist/components/Section/index.d.ts +10 -10
  40. package/dist/components/SectionFlare/index.d.ts +1 -1
  41. package/dist/components/index.d.ts +5 -5
  42. package/dist/components/index.js +102 -42
  43. package/dist/components/index.js.map +1 -0
  44. package/dist/features/Operation/components/OperationParameters.vue.d.ts +1 -1
  45. package/dist/features/Operation/components/OperationResponses.vue.d.ts +1 -1
  46. package/dist/features/Operation/components/ParameterList.vue.d.ts +1 -1
  47. package/dist/features/Operation/components/ParameterListItem.vue.d.ts +1 -1
  48. package/dist/features/Operation/components/ParameterListItem.vue.d.ts.map +1 -1
  49. package/dist/features/Operation/components/callbacks/Callback.vue.d.ts +1 -1
  50. package/dist/features/Operation/components/callbacks/Callbacks.vue.d.ts +1 -1
  51. package/dist/features/Operation/index.d.ts +1 -1
  52. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts +1 -1
  53. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts +1 -1
  54. package/dist/features/Search/components/SearchResult.vue.d.ts +1 -1
  55. package/dist/features/Search/helpers/create-fuse-instance.d.ts +1 -1
  56. package/dist/features/Search/helpers/create-search-index.d.ts +1 -1
  57. package/dist/features/Search/index.d.ts +2 -2
  58. package/dist/features/Search/types.d.ts +1 -1
  59. package/dist/features/developer-tools/index.d.ts +1 -1
  60. package/dist/features/example-responses/index.d.ts +1 -1
  61. package/dist/features/external-docs/index.d.ts +1 -1
  62. package/dist/features/index.d.ts +2 -2
  63. package/dist/features/index.js +4 -10
  64. package/dist/features/info-object/index.d.ts +3 -3
  65. package/dist/features/specification-extension/index.d.ts +2 -2
  66. package/dist/features/test-request-button/index.d.ts +1 -1
  67. package/dist/features/x-badges/index.d.ts +1 -1
  68. package/dist/helpers/download.d.ts +1 -1
  69. package/dist/helpers/download.d.ts.map +1 -1
  70. package/dist/helpers/index.d.ts +8 -8
  71. package/dist/helpers/index.js +3 -24
  72. package/dist/hooks/index.d.ts +2 -2
  73. package/dist/hooks/index.js +3 -8
  74. package/dist/index.d.ts +5 -5
  75. package/dist/index.js +7 -14
  76. package/dist/lazy-bus-CV8Ox5hD.js +333 -0
  77. package/dist/lazy-bus-CV8Ox5hD.js.map +1 -0
  78. package/dist/normalize-configurations-DcVpOEjD.js +232 -0
  79. package/dist/normalize-configurations-DcVpOEjD.js.map +1 -0
  80. package/dist/plugins/hooks/usePluginManager.d.ts +1 -1
  81. package/dist/plugins/index.d.ts +3 -3
  82. package/dist/plugins/index.js +2 -9
  83. package/dist/plugins-4EyiUD_A.js +80 -0
  84. package/dist/plugins-4EyiUD_A.js.map +1 -0
  85. package/dist/src-DJwsRvMU.js +1686 -0
  86. package/dist/src-DJwsRvMU.js.map +1 -0
  87. package/dist/ssr.d.ts +2 -2
  88. package/dist/ssr.js +7 -14
  89. package/dist/storage--3JuzjCI.js +42 -0
  90. package/dist/storage--3JuzjCI.js.map +1 -0
  91. package/dist/style.css +6714 -7276
  92. package/dist/urls-gPTXGgbj.js +17 -0
  93. package/dist/urls-gPTXGgbj.js.map +1 -0
  94. package/dist/use-agent-Bnm1de0n.js +60 -0
  95. package/dist/use-agent-Bnm1de0n.js.map +1 -0
  96. package/dist/use-intersection-8QqPi2O-.js +24 -0
  97. package/dist/use-intersection-8QqPi2O-.js.map +1 -0
  98. package/package.json +25 -27
  99. package/dist/_virtual/_plugin-vue_export-helper.js +0 -10
  100. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js +0 -7
  101. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue2.js +0 -123
  102. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js +0 -7
  103. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue2.js +0 -142
  104. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.js +0 -24
  105. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.js +0 -7
  106. package/dist/blocks/scalar-info-block/components/DownloadLink.vue2.js +0 -63
  107. package/dist/blocks/scalar-info-block/components/InfoBlock.vue.js +0 -59
  108. package/dist/blocks/scalar-info-block/components/InfoBlock.vue2.js +0 -4
  109. package/dist/blocks/scalar-info-block/components/InfoDescription.vue.js +0 -7
  110. package/dist/blocks/scalar-info-block/components/InfoDescription.vue2.js +0 -70
  111. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.js +0 -38
  112. package/dist/blocks/scalar-info-block/components/InfoLinks.vue2.js +0 -4
  113. package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.js +0 -38
  114. package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue2.js +0 -4
  115. package/dist/blocks/scalar-info-block/components/InfoVersion.vue.js +0 -28
  116. package/dist/blocks/scalar-info-block/components/InfoVersion.vue2.js +0 -4
  117. package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.js +0 -7
  118. package/dist/blocks/scalar-info-block/components/IntroductionCard.vue2.js +0 -19
  119. package/dist/blocks/scalar-info-block/components/IntroductionCardItem.vue.js +0 -14
  120. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.js +0 -7
  121. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue2.js +0 -112
  122. package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue.js +0 -21
  123. package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue2.js +0 -4
  124. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.js +0 -76
  125. package/dist/blocks/scalar-server-selector-block/components/Selector.vue2.js +0 -4
  126. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.js +0 -72
  127. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue2.js +0 -4
  128. package/dist/components/AgentScalar/AgentScalarButton.vue.js +0 -22
  129. package/dist/components/AgentScalar/AgentScalarButton.vue2.js +0 -4
  130. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.js +0 -4
  131. package/dist/components/AgentScalar/AgentScalarChatInterface.vue2.js +0 -29
  132. package/dist/components/AgentScalar/AgentScalarDrawer.vue.js +0 -7
  133. package/dist/components/AgentScalar/AgentScalarDrawer.vue2.js +0 -78
  134. package/dist/components/AgentScalar/OpenMCPButton.vue.js +0 -7
  135. package/dist/components/AgentScalar/OpenMCPButton.vue2.js +0 -191
  136. package/dist/components/Anchor/Anchor.vue.js +0 -51
  137. package/dist/components/Anchor/Anchor.vue2.js +0 -4
  138. package/dist/components/Anchor/WithBreadcrumb.vue.js +0 -41
  139. package/dist/components/Anchor/WithBreadcrumb.vue2.js +0 -4
  140. package/dist/components/ApiReference.vue.js +0 -10
  141. package/dist/components/ApiReference.vue2.js +0 -742
  142. package/dist/components/Badge/Badge.vue.js +0 -7
  143. package/dist/components/Badge/Badge.vue2.js +0 -26
  144. package/dist/components/ClassicHeader.vue.js +0 -21
  145. package/dist/components/Content/Auth/Auth.vue.js +0 -77
  146. package/dist/components/Content/Auth/Auth.vue2.js +0 -4
  147. package/dist/components/Content/Auth/helpers/get-default-security.js +0 -55
  148. package/dist/components/Content/Content.vue.js +0 -171
  149. package/dist/components/Content/Content.vue3.js +0 -5
  150. package/dist/components/Content/Models/Model.vue.js +0 -47
  151. package/dist/components/Content/Models/Model.vue2.js +0 -4
  152. package/dist/components/Content/Models/ModelTag.vue.js +0 -76
  153. package/dist/components/Content/Models/ModelTag.vue2.js +0 -4
  154. package/dist/components/Content/Models/components/ClassicLayout.vue.js +0 -7
  155. package/dist/components/Content/Models/components/ClassicLayout.vue2.js +0 -78
  156. package/dist/components/Content/Models/components/ModernLayout.vue.js +0 -61
  157. package/dist/components/Content/Models/components/ModernLayout.vue2.js +0 -4
  158. package/dist/components/Content/Operations/TraversedEntry.vue.js +0 -146
  159. package/dist/components/Content/Operations/TraversedEntry.vue2.js +0 -4
  160. package/dist/components/Content/Schema/RenderString.vue.js +0 -27
  161. package/dist/components/Content/Schema/RenderString.vue2.js +0 -4
  162. package/dist/components/Content/Schema/Schema.vue.js +0 -7
  163. package/dist/components/Content/Schema/Schema.vue2.js +0 -193
  164. package/dist/components/Content/Schema/SchemaComposition.vue.js +0 -120
  165. package/dist/components/Content/Schema/SchemaComposition.vue2.js +0 -4
  166. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.js +0 -7
  167. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue2.js +0 -36
  168. package/dist/components/Content/Schema/SchemaEnums.vue.js +0 -7
  169. package/dist/components/Content/Schema/SchemaEnums.vue2.js +0 -112
  170. package/dist/components/Content/Schema/SchemaHeading.vue.js +0 -7
  171. package/dist/components/Content/Schema/SchemaHeading.vue2.js +0 -61
  172. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.js +0 -66
  173. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue2.js +0 -4
  174. package/dist/components/Content/Schema/SchemaObjectProperties.vue.js +0 -120
  175. package/dist/components/Content/Schema/SchemaObjectProperties.vue2.js +0 -4
  176. package/dist/components/Content/Schema/SchemaProperty.vue.js +0 -7
  177. package/dist/components/Content/Schema/SchemaProperty.vue2.js +0 -236
  178. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.js +0 -7
  179. package/dist/components/Content/Schema/SchemaPropertyDefault.vue2.js +0 -45
  180. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.js +0 -7
  181. package/dist/components/Content/Schema/SchemaPropertyDetail.vue2.js +0 -40
  182. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.js +0 -7
  183. package/dist/components/Content/Schema/SchemaPropertyExamples.vue2.js +0 -80
  184. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js +0 -7
  185. package/dist/components/Content/Schema/SchemaPropertyHeading.vue2.js +0 -318
  186. package/dist/components/Content/Schema/helpers/format-example.js +0 -41
  187. package/dist/components/Content/Schema/helpers/format-value.js +0 -35
  188. package/dist/components/Content/Schema/helpers/get-compositions-to-render.js +0 -31
  189. package/dist/components/Content/Schema/helpers/get-enum-values.js +0 -20
  190. package/dist/components/Content/Schema/helpers/get-property-description.js +0 -34
  191. package/dist/components/Content/Schema/helpers/get-ref-name.js +0 -14
  192. package/dist/components/Content/Schema/helpers/get-schema-type.js +0 -47
  193. package/dist/components/Content/Schema/helpers/has-complex-array-items.js +0 -48
  194. package/dist/components/Content/Schema/helpers/is-empty-schema-object.js +0 -13
  195. package/dist/components/Content/Schema/helpers/is-type-object.js +0 -27
  196. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js +0 -215
  197. package/dist/components/Content/Schema/helpers/optimize-value-for-display.js +0 -64
  198. package/dist/components/Content/Schema/helpers/schema-composition.js +0 -4
  199. package/dist/components/Content/Schema/helpers/schema-name.js +0 -24
  200. package/dist/components/Content/Schema/helpers/should-display-description.js +0 -12
  201. package/dist/components/Content/Schema/helpers/should-display-heading.js +0 -12
  202. package/dist/components/Content/Schema/helpers/should-render-array-item-composition.js +0 -15
  203. package/dist/components/Content/Schema/helpers/sort-property-names.js +0 -71
  204. package/dist/components/Content/Tags/Tag.vue.js +0 -46
  205. package/dist/components/Content/Tags/Tag.vue2.js +0 -4
  206. package/dist/components/Content/Tags/components/ClassicLayout.vue.js +0 -7
  207. package/dist/components/Content/Tags/components/ClassicLayout.vue2.js +0 -57
  208. package/dist/components/Content/Tags/components/ModernLayout.vue.js +0 -7
  209. package/dist/components/Content/Tags/components/ModernLayout.vue2.js +0 -56
  210. package/dist/components/Content/Tags/components/TagSection.vue.js +0 -100
  211. package/dist/components/Content/Tags/components/TagSection.vue2.js +0 -4
  212. package/dist/components/GettingStarted.vue.js +0 -7
  213. package/dist/components/GettingStarted.vue2.js +0 -82
  214. package/dist/components/HttpMethod/HttpMethod.vue.js +0 -34
  215. package/dist/components/HttpMethod/HttpMethod.vue2.js +0 -4
  216. package/dist/components/IntersectionObserver.vue.js +0 -55
  217. package/dist/components/IntersectionObserver.vue2.js +0 -4
  218. package/dist/components/Lazy/Lazy.vue.js +0 -106
  219. package/dist/components/Lazy/Lazy.vue2.js +0 -4
  220. package/dist/components/LinkList/LinkList.vue.js +0 -7
  221. package/dist/components/LinkList/LinkList.vue2.js +0 -48
  222. package/dist/components/LoadingSkeleton.vue.js +0 -7
  223. package/dist/components/LoadingSkeleton.vue2.js +0 -20
  224. package/dist/components/MobileHeader.vue.js +0 -62
  225. package/dist/components/MobileHeader.vue2.js +0 -4
  226. package/dist/components/OperationPath.vue.js +0 -7
  227. package/dist/components/OperationPath.vue2.js +0 -30
  228. package/dist/components/OperationsList/OperationsList.vue.js +0 -7
  229. package/dist/components/OperationsList/OperationsList.vue2.js +0 -61
  230. package/dist/components/OperationsList/OperationsListItem.vue.js +0 -7
  231. package/dist/components/OperationsList/OperationsListItem.vue2.js +0 -68
  232. package/dist/components/RenderPlugins/RenderPlugins.vue.js +0 -43
  233. package/dist/components/RenderPlugins/RenderPlugins.vue2.js +0 -4
  234. package/dist/components/ScreenReader.vue.js +0 -7
  235. package/dist/components/ScreenReader.vue2.js +0 -21
  236. package/dist/components/Section/CompactSection.vue.js +0 -7
  237. package/dist/components/Section/CompactSection.vue2.js +0 -60
  238. package/dist/components/Section/Section.vue.js +0 -7
  239. package/dist/components/Section/Section.vue2.js +0 -23
  240. package/dist/components/Section/SectionAccordion.vue.js +0 -7
  241. package/dist/components/Section/SectionAccordion.vue2.js +0 -76
  242. package/dist/components/Section/SectionColumn.vue.js +0 -14
  243. package/dist/components/Section/SectionColumns.vue.js +0 -14
  244. package/dist/components/Section/SectionContainer.vue.js +0 -7
  245. package/dist/components/Section/SectionContainer.vue2.js +0 -21
  246. package/dist/components/Section/SectionContainerAccordion.vue.js +0 -7
  247. package/dist/components/Section/SectionContainerAccordion.vue2.js +0 -54
  248. package/dist/components/Section/SectionContent.vue.js +0 -7
  249. package/dist/components/Section/SectionContent.vue2.js +0 -22
  250. package/dist/components/Section/SectionHeader.vue.js +0 -7
  251. package/dist/components/Section/SectionHeader.vue2.js +0 -26
  252. package/dist/components/Section/SectionHeaderTag.vue.js +0 -7
  253. package/dist/components/Section/SectionHeaderTag.vue2.js +0 -20
  254. package/dist/components/SectionFlare/SectionFlare.vue.js +0 -14
  255. package/dist/components/ShowMoreButton.vue.js +0 -7
  256. package/dist/components/ShowMoreButton.vue2.js +0 -23
  257. package/dist/consts/urls.js +0 -16
  258. package/dist/features/Operation/Operation.vue.js +0 -100
  259. package/dist/features/Operation/Operation.vue2.js +0 -4
  260. package/dist/features/Operation/components/ContentTypeSelect.vue.js +0 -88
  261. package/dist/features/Operation/components/ContentTypeSelect.vue2.js +0 -4
  262. package/dist/features/Operation/components/Header.vue.js +0 -33
  263. package/dist/features/Operation/components/Header.vue2.js +0 -4
  264. package/dist/features/Operation/components/Headers.vue.js +0 -7
  265. package/dist/features/Operation/components/Headers.vue2.js +0 -71
  266. package/dist/features/Operation/components/OperationParameters.vue.js +0 -92
  267. package/dist/features/Operation/components/OperationParameters.vue2.js +0 -4
  268. package/dist/features/Operation/components/OperationResponses.vue.js +0 -44
  269. package/dist/features/Operation/components/OperationResponses.vue2.js +0 -4
  270. package/dist/features/Operation/components/ParameterList.vue.js +0 -50
  271. package/dist/features/Operation/components/ParameterList.vue2.js +0 -4
  272. package/dist/features/Operation/components/ParameterListItem.vue.js +0 -7
  273. package/dist/features/Operation/components/ParameterListItem.vue2.js +0 -163
  274. package/dist/features/Operation/components/RequestBody.vue.js +0 -7
  275. package/dist/features/Operation/components/RequestBody.vue2.js +0 -164
  276. package/dist/features/Operation/components/callbacks/Callback.vue.js +0 -7
  277. package/dist/features/Operation/components/callbacks/Callback.vue2.js +0 -60
  278. package/dist/features/Operation/components/callbacks/Callbacks.vue.js +0 -63
  279. package/dist/features/Operation/components/callbacks/Callbacks.vue2.js +0 -4
  280. package/dist/features/Operation/helpers/filter-selected-security.js +0 -28
  281. package/dist/features/Operation/helpers/get-first-server.js +0 -25
  282. package/dist/features/Operation/layouts/ClassicLayout.vue.js +0 -7
  283. package/dist/features/Operation/layouts/ClassicLayout.vue2.js +0 -243
  284. package/dist/features/Operation/layouts/ModernLayout.vue.js +0 -7
  285. package/dist/features/Operation/layouts/ModernLayout.vue2.js +0 -256
  286. package/dist/features/Search/components/SearchButton.vue.js +0 -88
  287. package/dist/features/Search/components/SearchButton.vue2.js +0 -4
  288. package/dist/features/Search/components/SearchModal.vue.js +0 -7
  289. package/dist/features/Search/components/SearchModal.vue2.js +0 -120
  290. package/dist/features/Search/components/SearchResult.vue.js +0 -84
  291. package/dist/features/Search/components/SearchResult.vue2.js +0 -4
  292. package/dist/features/Search/helpers/create-fuse-instance.js +0 -43
  293. package/dist/features/Search/helpers/create-search-index.js +0 -119
  294. package/dist/features/Search/hooks/useSearchIndex.js +0 -33
  295. package/dist/features/ask-agent-button/AskAgentButton.vue.js +0 -7
  296. package/dist/features/ask-agent-button/AskAgentButton.vue2.js +0 -51
  297. package/dist/features/developer-tools/DeveloperTools.vue.js +0 -60
  298. package/dist/features/developer-tools/DeveloperTools.vue2.js +0 -4
  299. package/dist/features/developer-tools/components/ApiReferenceToolbarBlurb.vue.js +0 -13
  300. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.js +0 -33
  301. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue2.js +0 -4
  302. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.js +0 -138
  303. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue2.js +0 -4
  304. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.js +0 -66
  305. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue2.js +0 -4
  306. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.js +0 -54
  307. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue2.js +0 -4
  308. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.js +0 -71
  309. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue2.js +0 -4
  310. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js +0 -63
  311. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue2.js +0 -4
  312. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.js +0 -73
  313. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue2.js +0 -4
  314. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.js +0 -57
  315. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue2.js +0 -4
  316. package/dist/features/developer-tools/components/DeployApiReference.vue.js +0 -35
  317. package/dist/features/developer-tools/components/DeployApiReference.vue2.js +0 -4
  318. package/dist/features/developer-tools/components/ModifyConfiguration.vue.js +0 -103
  319. package/dist/features/developer-tools/components/ModifyConfiguration.vue2.js +0 -4
  320. package/dist/features/developer-tools/components/ShareApiReference.vue.js +0 -35
  321. package/dist/features/developer-tools/components/ShareApiReference.vue2.js +0 -4
  322. package/dist/features/example-responses/ExampleResponse.vue.js +0 -7
  323. package/dist/features/example-responses/ExampleResponse.vue2.js +0 -61
  324. package/dist/features/example-responses/ExampleResponseTab.vue.js +0 -7
  325. package/dist/features/example-responses/ExampleResponseTab.vue2.js +0 -25
  326. package/dist/features/example-responses/ExampleResponseTabList.vue.js +0 -7
  327. package/dist/features/example-responses/ExampleResponseTabList.vue2.js +0 -37
  328. package/dist/features/example-responses/ExampleResponses.vue.js +0 -7
  329. package/dist/features/example-responses/ExampleResponses.vue2.js +0 -181
  330. package/dist/features/example-responses/ExampleSchema.vue.js +0 -42
  331. package/dist/features/example-responses/ExampleSchema.vue2.js +0 -4
  332. package/dist/features/example-responses/has-response-content.js +0 -28
  333. package/dist/features/external-docs/ExternalDocs.vue.js +0 -42
  334. package/dist/features/external-docs/ExternalDocs.vue2.js +0 -4
  335. package/dist/features/info-object/Contact.vue.js +0 -46
  336. package/dist/features/info-object/Contact.vue2.js +0 -4
  337. package/dist/features/info-object/License.vue.js +0 -40
  338. package/dist/features/info-object/License.vue2.js +0 -4
  339. package/dist/features/info-object/TermsOfService.vue.js +0 -34
  340. package/dist/features/info-object/TermsOfService.vue2.js +0 -4
  341. package/dist/features/multiple-documents/DocumentSelector.vue.js +0 -54
  342. package/dist/features/multiple-documents/DocumentSelector.vue2.js +0 -4
  343. package/dist/features/specification-extension/SpecificationExtension.vue.js +0 -4
  344. package/dist/features/specification-extension/SpecificationExtension.vue2.js +0 -52
  345. package/dist/features/specification-extension/helpers.js +0 -9
  346. package/dist/features/test-request-button/TestRequestButton.vue.js +0 -7
  347. package/dist/features/test-request-button/TestRequestButton.vue2.js +0 -46
  348. package/dist/features/x-badges/XBadges.vue.js +0 -35
  349. package/dist/features/x-badges/XBadges.vue2.js +0 -4
  350. package/dist/helpers/color-mode.js +0 -9
  351. package/dist/helpers/download.js +0 -45
  352. package/dist/helpers/id-routing.js +0 -109
  353. package/dist/helpers/lazy-bus.js +0 -195
  354. package/dist/helpers/load-from-perssistance.js +0 -17
  355. package/dist/helpers/map-config-plugins.js +0 -27
  356. package/dist/helpers/map-config-to-workspace-store.js +0 -45
  357. package/dist/helpers/normalize-configurations.js +0 -69
  358. package/dist/helpers/openapi.js +0 -135
  359. package/dist/helpers/storage.js +0 -47
  360. package/dist/helpers/upload-temp-document.js +0 -24
  361. package/dist/hooks/use-agent.js +0 -42
  362. package/dist/hooks/use-intersection.js +0 -32
  363. package/dist/plugins/hooks/usePluginManager.js +0 -14
  364. package/dist/plugins/persistance-plugin.js +0 -48
  365. package/dist/plugins/plugin-manager.js +0 -39
  366. package/dist/standalone/lib/html-api.js +0 -81
@@ -0,0 +1,1373 @@
1
+ import { a as SectionHeader_default, c as SectionColumn_default, d as _plugin_vue_export_helper_default, i as SectionHeaderTag_default, l as Section_default, o as SectionContent_default, r as SpecificationExtension_default, s as SectionColumns_default } from "./ExternalDocs-phu7GxpZ.js";
2
+ import { a as ClientSelector_default, i as SectionContainer_default, n as IntroductionCardItem_default, r as InfoBlock_default, t as ServerSelector_default } from "./ServerSelector-5y29y2BJ.js";
3
+ import { t as useIntersection } from "./use-intersection-8QqPi2O-.js";
4
+ import { a as SchemaHeading_default, c as ScreenReader_default, i as SchemaProperty_default, l as SectionAccordion_default, n as HttpMethod_default, o as getXKeysFromObject, r as Schema_default, s as Anchor_default, t as Operation_default } from "./Operation-CvpVIkc3.js";
5
+ import { r as usePluginManager } from "./plugins-4EyiUD_A.js";
6
+ import { i as getLazyPlaceholderHeight, l as setLazyPlaceholderHeight, o as requestLazyRender, r as firstLazyLoadComplete, s as scheduleInitialLoadComplete, u as useLazyBus } from "./lazy-bus-CV8Ox5hD.js";
7
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createStaticVNode, createTextVNode, createVNode, defineComponent, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, resolveComponent, resolveDynamicComponent, toDisplayString, unref, useId, useTemplateRef, vShow, watch, withCtx, withDirectives, withModifiers } from "vue";
8
+ import { Disclosure, DisclosureButton, DisclosurePanel } from "@headlessui/vue";
9
+ import { mapHiddenClientsConfig } from "@scalar/api-client/v2/features/modal";
10
+ import { getServers } from "@scalar/api-client/v2/helpers";
11
+ import { ScalarCard, ScalarCardHeader, ScalarCardSection, ScalarErrorBoundary, ScalarIconButton, ScalarMarkdown, cva } from "@scalar/components";
12
+ import { useBreakpoints } from "@scalar/use-hooks/useBreakpoints";
13
+ import { useIntersectionObserver } from "@vueuse/core";
14
+ import { ScalarIconCaretDown, ScalarIconCaretRight, ScalarIconList, ScalarIconWebhooksLogo, ScalarIconX } from "@scalar/icons";
15
+ import { generateClientOptions } from "@scalar/api-client/v2/blocks/operation-code-sample";
16
+ import { AuthSelector, mergeSecurity } from "@scalar/api-client/v2/blocks/scalar-auth-selector-block";
17
+ import { getSecurityRequirements, getSelectedSecurity, getSelectedServer } from "@scalar/api-client/v2/features/operation";
18
+ import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref";
19
+ import { unpackProxyObject } from "@scalar/workspace-store/helpers/unpack-proxy";
20
+ import { resolve } from "@scalar/workspace-store/resolve";
21
+ import { getHttpMethodInfo } from "@scalar/helpers/http/http-info";
22
+ //#region src/components/ClassicHeader.vue
23
+ var _sfc_main$1 = {};
24
+ var _hoisted_1$11 = { class: "references-classic-header-container" };
25
+ var _hoisted_2$5 = { class: "references-classic-header" };
26
+ var _hoisted_3$1 = { class: "references-classic-header-content" };
27
+ function _sfc_render$1(_ctx, _cache) {
28
+ return openBlock(), createElementBlock("div", _hoisted_1$11, [createElementVNode("div", _hoisted_2$5, [createElementVNode("div", _hoisted_3$1, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), renderSlot(_ctx.$slots, "dark-mode-toggle", {}, void 0, true)])]);
29
+ }
30
+ var ClassicHeader_default = /* @__PURE__ */ _plugin_vue_export_helper_default(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-8a3822ca"]]);
31
+ //#endregion
32
+ //#region src/components/Section/SectionContainerAccordion.vue?vue&type=script&setup=true&lang.ts
33
+ var _hoisted_1$10 = { class: "section-accordion-wrapper" };
34
+ var _hoisted_2$4 = { class: "section-accordion-title" };
35
+ //#endregion
36
+ //#region src/components/Section/SectionContainerAccordion.vue
37
+ var SectionContainerAccordion_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
38
+ __name: "SectionContainerAccordion",
39
+ props: { modelValue: { type: Boolean } },
40
+ emits: ["update:modelValue"],
41
+ setup(__props, { emit: __emit }) {
42
+ const emit = __emit;
43
+ return (_ctx, _cache) => {
44
+ return openBlock(), createElementBlock("section", _hoisted_1$10, [createVNode(unref(Disclosure), {
45
+ as: "div",
46
+ class: "section-accordion"
47
+ }, {
48
+ default: withCtx(() => [createVNode(unref(DisclosureButton), {
49
+ class: "section-accordion-button",
50
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", !__props.modelValue))
51
+ }, {
52
+ default: withCtx(() => [createVNode(unref(ScalarIconCaretRight), { class: normalizeClass(["section-accordion-chevron size-5 transition-transform", { "rotate-90": __props.modelValue }]) }, null, 8, ["class"]), createElementVNode("div", _hoisted_2$4, [renderSlot(_ctx.$slots, "title", {}, void 0, true)])]),
53
+ _: 3
54
+ }), __props.modelValue ? (openBlock(), createBlock(unref(DisclosurePanel), {
55
+ key: 0,
56
+ class: "section-accordion-content",
57
+ static: ""
58
+ }, {
59
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
60
+ _: 3
61
+ })) : createCommentVNode("", true)]),
62
+ _: 3
63
+ })]);
64
+ };
65
+ }
66
+ }), [["__scopeId", "data-v-9419dd23"]]);
67
+ //#endregion
68
+ //#region src/components/Section/CompactSection.vue?vue&type=script&setup=true&lang.ts
69
+ var _hoisted_1$9 = ["aria-label"];
70
+ var _hoisted_2$3 = [
71
+ "id",
72
+ "aria-controls",
73
+ "aria-expanded"
74
+ ];
75
+ //#endregion
76
+ //#region src/components/Section/CompactSection.vue
77
+ var CompactSection_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
78
+ __name: "CompactSection",
79
+ props: {
80
+ id: {},
81
+ label: {},
82
+ modelValue: { type: Boolean }
83
+ },
84
+ emits: ["update:modelValue", "copyAnchorUrl"],
85
+ setup(__props, { emit: __emit }) {
86
+ const emit = __emit;
87
+ return (_ctx, _cache) => {
88
+ return openBlock(), createElementBlock("section", {
89
+ "aria-label": __props.label,
90
+ class: "collapsible-section"
91
+ }, [createElementVNode("button", {
92
+ id: __props.id,
93
+ "aria-controls": __props.id,
94
+ "aria-expanded": __props.modelValue,
95
+ class: normalizeClass(["collapsible-section-trigger", { "collapsible-section-trigger-open": __props.modelValue }]),
96
+ type: "button",
97
+ onClick: _cache[1] || (_cache[1] = ($event) => emit("update:modelValue", !__props.modelValue))
98
+ }, [createVNode(unref(ScalarIconCaretRight), {
99
+ class: normalizeClass(["size-3 transition-transform duration-100", { "rotate-90": __props.modelValue }]),
100
+ weight: "bold"
101
+ }, null, 8, ["class"]), createVNode(unref(Anchor_default), {
102
+ class: "collapsible-section-header",
103
+ onCopyAnchorUrl: _cache[0] || (_cache[0] = () => emit("copyAnchorUrl"))
104
+ }, {
105
+ default: withCtx(() => [renderSlot(_ctx.$slots, "heading", {}, void 0, true)]),
106
+ _: 3
107
+ })], 10, _hoisted_2$3), __props.modelValue ? (openBlock(), createBlock(Section_default, {
108
+ key: 0,
109
+ class: "collapsible-section-content",
110
+ label: __props.label
111
+ }, {
112
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
113
+ _: 3
114
+ }, 8, ["label"])) : createCommentVNode("", true)], 8, _hoisted_1$9);
115
+ };
116
+ }
117
+ }), [["__scopeId", "data-v-999a158a"]]);
118
+ //#endregion
119
+ //#region src/components/Content/Auth/helpers/get-default-security.ts
120
+ /**
121
+ * Extracts the default scopes for a security scheme.
122
+ * Only OAuth2 schemes can have default scopes via the x-default-scopes extension.
123
+ */
124
+ var getDefaultScopes = (scheme) => {
125
+ if (!scheme || scheme.type !== "oauth2") return [];
126
+ return scheme["x-default-scopes"] ?? [];
127
+ };
128
+ /**
129
+ * Hydrates an existing security requirement with configured default scopes.
130
+ * Explicit scopes from the OpenAPI requirement take precedence over x-default-scopes.
131
+ */
132
+ var hydrateSecurityRequirement = (requirement, securitySchemes) => {
133
+ const hydratedRequirement = {};
134
+ for (const [schemeName, scopes] of Object.entries(unpackProxyObject(requirement, { depth: 1 }) ?? requirement)) {
135
+ if (Array.isArray(scopes) && scopes.length > 0) {
136
+ hydratedRequirement[schemeName] = scopes;
137
+ continue;
138
+ }
139
+ hydratedRequirement[schemeName] = getDefaultScopes(getResolvedRef(securitySchemes[schemeName]));
140
+ }
141
+ return hydratedRequirement;
142
+ };
143
+ /**
144
+ * Processes a single scheme name and adds it to the accumulator with its default scopes.
145
+ */
146
+ var addSchemeToRequirement = (acc, schemeName, securitySchemes) => {
147
+ acc[schemeName] = getDefaultScopes(getResolvedRef(securitySchemes[schemeName]));
148
+ };
149
+ /**
150
+ * Converts the preferred security scheme configuration into a SecurityRequirementObject.
151
+ * Handles both flat arrays and nested arrays (for complex auth scenarios).
152
+ */
153
+ var buildSecurityRequirementFromPreferred = (preferredSecurityScheme, securitySchemes) => {
154
+ if (!Array.isArray(preferredSecurityScheme)) {
155
+ const scheme = getResolvedRef(securitySchemes[preferredSecurityScheme]);
156
+ return { [preferredSecurityScheme]: getDefaultScopes(scheme) };
157
+ }
158
+ const requirement = {};
159
+ for (const item of preferredSecurityScheme) if (Array.isArray(item)) for (const schemeName of item) addSchemeToRequirement(requirement, schemeName, securitySchemes);
160
+ else addSchemeToRequirement(requirement, item, securitySchemes);
161
+ return requirement;
162
+ };
163
+ /**
164
+ * Determines the default security scheme to use for an operation.
165
+ *
166
+ * Priority order:
167
+ * 1. User-configured preferred security scheme (if provided)
168
+ * 2. First security requirement from the OpenAPI spec
169
+ * 3. null (no security required)
170
+ */
171
+ var getDefaultSecurity = (securityRequirements, preferredSecurityScheme, securitySchemes) => {
172
+ if (preferredSecurityScheme) return buildSecurityRequirementFromPreferred(preferredSecurityScheme, securitySchemes);
173
+ const firstRequirement = securityRequirements[0];
174
+ if (firstRequirement) return hydrateSecurityRequirement(firstRequirement, securitySchemes);
175
+ return null;
176
+ };
177
+ //#endregion
178
+ //#region src/components/Content/Auth/Auth.vue
179
+ var Auth_default = /* @__PURE__ */ defineComponent({
180
+ __name: "Auth",
181
+ props: {
182
+ options: {},
183
+ authStore: {},
184
+ document: {},
185
+ eventBus: {},
186
+ securitySchemes: {},
187
+ selectedServer: {},
188
+ environment: {}
189
+ },
190
+ setup(__props) {
191
+ /** Compute what the security requirements should be for the document */
192
+ const securityRequirements = computed(() => getSecurityRequirements(__props.document?.security));
193
+ /** Grab the selected security for the document from the auth store */
194
+ const documentSelectedSecurity = computed(() => __props.authStore.getAuthSelectedSchemas({
195
+ type: "document",
196
+ documentName: __props.document?.["x-scalar-navigation"]?.name ?? ""
197
+ }));
198
+ /** The selected security keys for the document */
199
+ const selectedSecurity = computed(() => getSelectedSecurity(documentSelectedSecurity.value, void 0, securityRequirements.value));
200
+ watch(documentSelectedSecurity, (newDocumentSelectedSecurity) => {
201
+ if (typeof newDocumentSelectedSecurity !== "undefined") return;
202
+ const defaultSecurity = getDefaultSecurity(securityRequirements.value, __props.options.authentication?.preferredSecurityScheme, __props.securitySchemes);
203
+ if (!defaultSecurity) return;
204
+ __props.eventBus.emit("auth:update:selected-security-schemes", {
205
+ selectedRequirements: [defaultSecurity],
206
+ newSchemes: [],
207
+ meta: { type: "document" }
208
+ });
209
+ }, { immediate: true });
210
+ return (_ctx, _cache) => {
211
+ return Object.keys(__props.securitySchemes).length ? (openBlock(), createBlock(unref(AuthSelector), {
212
+ key: 0,
213
+ createAnySecurityScheme: __props.options.authentication?.createAnySecurityScheme ?? false,
214
+ environment: __props.environment,
215
+ eventBus: __props.eventBus,
216
+ isStatic: "",
217
+ layout: "reference",
218
+ meta: { type: "document" },
219
+ persistAuth: __props.options.persistAuth,
220
+ proxyUrl: __props.options.proxyUrl ?? "",
221
+ securityRequirements: securityRequirements.value,
222
+ securitySchemes: __props.securitySchemes,
223
+ selectedSecurity: selectedSecurity.value,
224
+ server: __props.selectedServer,
225
+ title: "Authentication"
226
+ }, null, 8, [
227
+ "createAnySecurityScheme",
228
+ "environment",
229
+ "eventBus",
230
+ "persistAuth",
231
+ "proxyUrl",
232
+ "securityRequirements",
233
+ "securitySchemes",
234
+ "selectedSecurity",
235
+ "server"
236
+ ])) : createCommentVNode("", true);
237
+ };
238
+ }
239
+ });
240
+ //#endregion
241
+ //#region src/components/Content/Models/components/ClassicLayout.vue?vue&type=script&setup=true&lang.ts
242
+ var _hoisted_1$8 = {
243
+ key: 0,
244
+ class: "properties"
245
+ };
246
+ var _hoisted_2$2 = { key: 1 };
247
+ //#endregion
248
+ //#region src/components/Content/Models/components/ClassicLayout.vue
249
+ var ClassicLayout_default$1 = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
250
+ __name: "ClassicLayout",
251
+ props: {
252
+ id: {},
253
+ name: {},
254
+ schema: {},
255
+ isCollapsed: { type: Boolean },
256
+ eventBus: {},
257
+ options: {}
258
+ },
259
+ setup(__props) {
260
+ return (_ctx, _cache) => {
261
+ return openBlock(), createBlock(unref(SectionAccordion_default), {
262
+ "aria-label": __props.schema.title ?? __props.name,
263
+ modelValue: !__props.isCollapsed,
264
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = (value) => __props.eventBus?.emit("toggle:nav-item", {
265
+ id: __props.id,
266
+ open: value
267
+ }))
268
+ }, {
269
+ title: withCtx(() => [createVNode(unref(Anchor_default), {
270
+ class: "reference-models-anchor",
271
+ eventBus: __props.eventBus,
272
+ onCopyAnchorUrl: _cache[0] || (_cache[0] = () => __props.eventBus?.emit("copy-url:nav-item", { id: __props.id }))
273
+ }, {
274
+ default: withCtx(() => [createVNode(unref(SectionHeaderTag_default), { level: 3 }, {
275
+ default: withCtx(() => [createVNode(unref(SchemaHeading_default), {
276
+ class: "reference-models-label",
277
+ name: __props.schema.title ?? __props.name,
278
+ value: __props.schema
279
+ }, null, 8, ["name", "value"])]),
280
+ _: 1
281
+ })]),
282
+ _: 1
283
+ }, 8, ["eventBus"])]),
284
+ default: withCtx(() => ["properties" in __props.schema ? (openBlock(), createElementBlock("div", _hoisted_1$8, [(openBlock(true), createElementBlock(Fragment, null, renderList(Object.entries(__props.schema.properties ?? {}), ([property, value]) => {
285
+ return openBlock(), createBlock(unref(SchemaProperty_default), {
286
+ key: property,
287
+ eventBus: __props.eventBus,
288
+ name: property,
289
+ options: __props.options,
290
+ required: __props.schema.required?.includes(property),
291
+ schema: unref(resolve).schema(value)
292
+ }, null, 8, [
293
+ "eventBus",
294
+ "name",
295
+ "options",
296
+ "required",
297
+ "schema"
298
+ ]);
299
+ }), 128))])) : (openBlock(), createElementBlock("div", _hoisted_2$2, [createVNode(unref(SchemaProperty_default), {
300
+ eventBus: __props.eventBus,
301
+ options: __props.options,
302
+ schema: __props.schema
303
+ }, null, 8, [
304
+ "eventBus",
305
+ "options",
306
+ "schema"
307
+ ])]))]),
308
+ _: 1
309
+ }, 8, ["aria-label", "modelValue"]);
310
+ };
311
+ }
312
+ }), [["__scopeId", "data-v-e4ca3c0f"]]);
313
+ //#endregion
314
+ //#region src/components/Content/Models/components/ModernLayout.vue
315
+ var ModernLayout_default$1 = /* @__PURE__ */ defineComponent({
316
+ __name: "ModernLayout",
317
+ props: {
318
+ id: {},
319
+ name: {},
320
+ schema: {},
321
+ isCollapsed: { type: Boolean },
322
+ eventBus: {},
323
+ options: {}
324
+ },
325
+ setup(__props) {
326
+ return (_ctx, _cache) => {
327
+ return openBlock(), createBlock(unref(CompactSection_default), {
328
+ id: __props.id,
329
+ key: __props.name,
330
+ label: __props.name,
331
+ modelValue: !__props.isCollapsed,
332
+ onCopyAnchorUrl: _cache[0] || (_cache[0] = () => __props.eventBus?.emit("copy-url:nav-item", { id: __props.id })),
333
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = (value) => __props.eventBus?.emit("toggle:nav-item", {
334
+ id: __props.id,
335
+ open: value
336
+ }))
337
+ }, {
338
+ heading: withCtx(() => [createVNode(unref(SectionHeaderTag_default), { level: 3 }, {
339
+ default: withCtx(() => [createVNode(unref(SchemaHeading_default), {
340
+ name: __props.schema.title ?? __props.name,
341
+ value: __props.schema
342
+ }, null, 8, ["name", "value"])]),
343
+ _: 1
344
+ })]),
345
+ default: withCtx(() => [createVNode(unref(ScalarErrorBoundary), null, {
346
+ default: withCtx(() => [createVNode(unref(Schema_default), {
347
+ eventBus: __props.eventBus,
348
+ hideHeading: "",
349
+ hideModelNames: "",
350
+ level: 1,
351
+ noncollapsible: "",
352
+ options: __props.options,
353
+ schema: __props.schema
354
+ }, null, 8, [
355
+ "eventBus",
356
+ "options",
357
+ "schema"
358
+ ])]),
359
+ _: 1
360
+ })]),
361
+ _: 1
362
+ }, 8, [
363
+ "id",
364
+ "label",
365
+ "modelValue"
366
+ ]);
367
+ };
368
+ }
369
+ });
370
+ //#endregion
371
+ //#region src/components/Content/Models/Model.vue
372
+ var Model_default = /* @__PURE__ */ defineComponent({
373
+ __name: "Model",
374
+ props: {
375
+ id: {},
376
+ name: {},
377
+ options: {},
378
+ schema: {},
379
+ isCollapsed: { type: Boolean },
380
+ eventBus: {}
381
+ },
382
+ setup(__props) {
383
+ const section = useTemplateRef("section");
384
+ useIntersection(section, () => __props.eventBus?.emit("intersecting:nav-item", { id: __props.id }));
385
+ return (_ctx, _cache) => {
386
+ return __props.schema ? (openBlock(), createElementBlock("div", {
387
+ key: 0,
388
+ ref_key: "section",
389
+ ref: section
390
+ }, [__props.options.layout === "classic" ? (openBlock(), createBlock(ClassicLayout_default$1, {
391
+ key: 0,
392
+ id: __props.id,
393
+ eventBus: __props.eventBus,
394
+ isCollapsed: __props.isCollapsed,
395
+ name: __props.name,
396
+ options: __props.options,
397
+ schema: __props.schema
398
+ }, null, 8, [
399
+ "id",
400
+ "eventBus",
401
+ "isCollapsed",
402
+ "name",
403
+ "options",
404
+ "schema"
405
+ ])) : (openBlock(), createBlock(ModernLayout_default$1, {
406
+ key: 1,
407
+ id: __props.id,
408
+ eventBus: __props.eventBus,
409
+ isCollapsed: __props.isCollapsed,
410
+ name: __props.name,
411
+ options: __props.options,
412
+ schema: __props.schema
413
+ }, null, 8, [
414
+ "id",
415
+ "eventBus",
416
+ "isCollapsed",
417
+ "name",
418
+ "options",
419
+ "schema"
420
+ ]))], 512)) : createCommentVNode("", true);
421
+ };
422
+ }
423
+ });
424
+ //#endregion
425
+ //#region src/components/ShowMoreButton.vue?vue&type=script&setup=true&lang.ts
426
+ var _hoisted_1$7 = {
427
+ class: "show-more",
428
+ type: "button"
429
+ };
430
+ //#endregion
431
+ //#region src/components/ShowMoreButton.vue
432
+ var ShowMoreButton_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
433
+ __name: "ShowMoreButton",
434
+ setup(__props) {
435
+ return (_ctx, _cache) => {
436
+ return openBlock(), createElementBlock("button", _hoisted_1$7, [_cache[0] || (_cache[0] = createTextVNode(" Show More ", -1)), createVNode(unref(ScalarIconCaretDown), {
437
+ class: "text-c-2 mt-0.25 size-3",
438
+ weight: "bold"
439
+ })]);
440
+ };
441
+ }
442
+ }), [["__scopeId", "data-v-d1c2b649"]]);
443
+ //#endregion
444
+ //#region src/components/Content/Models/ModelTag.vue
445
+ var ModelTag_default = /* @__PURE__ */ defineComponent({
446
+ __name: "ModelTag",
447
+ props: {
448
+ id: {},
449
+ isCollapsed: { type: Boolean },
450
+ eventBus: {},
451
+ layout: {}
452
+ },
453
+ setup(__props) {
454
+ return (_ctx, _cache) => {
455
+ return __props.layout === "modern" ? (openBlock(), createBlock(SectionContainer_default, {
456
+ key: 0,
457
+ id: "model"
458
+ }, {
459
+ default: withCtx(() => [createVNode(unref(Section_default), {
460
+ id: __props.id,
461
+ "aria-label": "Models",
462
+ onIntersecting: _cache[1] || (_cache[1] = () => __props.eventBus?.emit("intersecting:nav-item", { id: __props.id }))
463
+ }, {
464
+ default: withCtx(() => [createVNode(unref(SectionHeader_default), null, {
465
+ default: withCtx(() => [createVNode(SectionHeaderTag_default, { level: 2 }, {
466
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [createTextVNode(" Models ", -1)])]),
467
+ _: 1
468
+ })]),
469
+ _: 1
470
+ }), !__props.isCollapsed ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createBlock(ShowMoreButton_default, {
471
+ key: 1,
472
+ id: __props.id,
473
+ class: "top-0",
474
+ onClick: _cache[0] || (_cache[0] = () => __props.eventBus.emit("toggle:nav-item", {
475
+ id: __props.id,
476
+ open: true
477
+ }))
478
+ }, null, 8, ["id"]))]),
479
+ _: 3
480
+ }, 8, ["id"])]),
481
+ _: 3
482
+ })) : (openBlock(), createBlock(SectionContainerAccordion_default, {
483
+ key: 1,
484
+ "aria-label": "Models",
485
+ class: "pb-12",
486
+ modelValue: !__props.isCollapsed,
487
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = () => __props.eventBus?.emit("toggle:nav-item", {
488
+ id: __props.id,
489
+ open: __props.isCollapsed
490
+ }))
491
+ }, {
492
+ title: withCtx(() => [createVNode(unref(SectionHeader_default), { level: 2 }, {
493
+ default: withCtx(() => [..._cache[4] || (_cache[4] = [createTextVNode("Models", -1)])]),
494
+ _: 1
495
+ })]),
496
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
497
+ _: 3
498
+ }, 8, ["modelValue"]));
499
+ };
500
+ }
501
+ });
502
+ //#endregion
503
+ //#region src/components/Content/Tags/components/ClassicLayout.vue
504
+ var ClassicLayout_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
505
+ __name: "ClassicLayout",
506
+ props: {
507
+ tag: {},
508
+ isCollapsed: { type: Boolean },
509
+ eventBus: {}
510
+ },
511
+ setup(__props) {
512
+ return (_ctx, _cache) => {
513
+ return openBlock(), createBlock(unref(SectionContainerAccordion_default), {
514
+ "aria-label": __props.tag.title,
515
+ class: "tag-section",
516
+ modelValue: !__props.isCollapsed,
517
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = (value) => __props.eventBus?.emit("toggle:nav-item", {
518
+ id: __props.tag.id,
519
+ open: value
520
+ }))
521
+ }, {
522
+ title: withCtx(() => [createVNode(unref(SectionHeader_default), { class: "tag-name" }, {
523
+ default: withCtx(() => [createVNode(unref(Anchor_default), { onCopyAnchorUrl: _cache[0] || (_cache[0] = () => __props.eventBus?.emit("copy-url:nav-item", { id: __props.tag.id })) }, {
524
+ default: withCtx(() => [createVNode(unref(SectionHeaderTag_default), { level: 2 }, {
525
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.tag.title), 1)]),
526
+ _: 1
527
+ })]),
528
+ _: 1
529
+ })]),
530
+ _: 1
531
+ }), createVNode(unref(ScalarMarkdown), {
532
+ class: "tag-description",
533
+ value: __props.tag?.description,
534
+ withImages: ""
535
+ }, null, 8, ["value"])]),
536
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
537
+ _: 3
538
+ }, 8, ["aria-label", "modelValue"]);
539
+ };
540
+ }
541
+ }), [["__scopeId", "data-v-1124be5d"]]);
542
+ //#endregion
543
+ //#region src/components/OperationsList/OperationsListItem.vue
544
+ var OperationsListItem_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
545
+ __name: "OperationsListItem",
546
+ props: {
547
+ operation: {},
548
+ isCollapsed: { type: Boolean },
549
+ eventBus: {}
550
+ },
551
+ setup(__props) {
552
+ const pathOrTitle = computed(() => {
553
+ if ("path" in __props.operation) return __props.operation.path;
554
+ return __props.operation.title;
555
+ });
556
+ const isWebhook = (_operation) => _operation.type === "webhook";
557
+ return (_ctx, _cache) => {
558
+ return openBlock(), createElementBlock("li", {
559
+ key: __props.operation.id,
560
+ class: "contents"
561
+ }, [__props.isCollapsed ? (openBlock(), createBlock(unref(SectionHeaderTag_default), {
562
+ key: 0,
563
+ class: "sr-only",
564
+ level: 3
565
+ }, {
566
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.operation.title) + " (Hidden) ", 1)]),
567
+ _: 1
568
+ })) : createCommentVNode("", true), createElementVNode("a", {
569
+ class: "endpoint",
570
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => __props.eventBus?.emit("scroll-to:nav-item", { id: __props.operation.id }), ["prevent"]))
571
+ }, [createVNode(unref(HttpMethod_default), {
572
+ class: "endpoint-method items-center justify-end gap-2",
573
+ method: __props.operation.method
574
+ }, {
575
+ default: withCtx(() => [isWebhook(__props.operation) ? (openBlock(), createBlock(unref(ScalarIconWebhooksLogo), {
576
+ key: 0,
577
+ class: "size-3.5",
578
+ style: normalizeStyle({ color: unref(getHttpMethodInfo)(__props.operation.method).colorVar })
579
+ }, null, 8, ["style"])) : createCommentVNode("", true)]),
580
+ _: 1
581
+ }, 8, ["method"]), createElementVNode("span", { class: normalizeClass(["endpoint-path", { deprecated: __props.operation.isDeprecated }]) }, toDisplayString(pathOrTitle.value), 3)])]);
582
+ };
583
+ }
584
+ }), [["__scopeId", "data-v-ad8530a6"]]);
585
+ //#endregion
586
+ //#region src/components/OperationsList/OperationsList.vue?vue&type=script&setup=true&lang.ts
587
+ var _hoisted_1$6 = ["aria-label"];
588
+ //#endregion
589
+ //#region src/components/OperationsList/OperationsList.vue
590
+ var OperationsList_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
591
+ __name: "OperationsList",
592
+ props: {
593
+ tag: {},
594
+ eventBus: {}
595
+ },
596
+ setup(__props) {
597
+ const operationsAndWebhooks = computed(() => {
598
+ return __props.tag.children?.filter((child) => child.type === "operation" || child.type === "webhook") ?? [];
599
+ });
600
+ return (_ctx, _cache) => {
601
+ return __props.tag.children && __props.tag.children?.length > 0 ? (openBlock(), createBlock(unref(ScalarCard), {
602
+ key: 0,
603
+ class: "endpoints-card"
604
+ }, {
605
+ default: withCtx(() => [createVNode(unref(ScalarCardHeader), { muted: "" }, {
606
+ default: withCtx(() => [createVNode(ScreenReader_default, null, {
607
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.tag.title), 1)]),
608
+ _: 1
609
+ }), createTextVNode(" " + toDisplayString(__props.tag.isWebhooks ? "Webhooks" : "Operations"), 1)]),
610
+ _: 1
611
+ }), createVNode(unref(ScalarCardSection), { class: "custom-scroll max-h-[60vh]" }, {
612
+ default: withCtx(() => [createElementVNode("ul", {
613
+ "aria-label": `${__props.tag.title} endpoints`,
614
+ class: "endpoints"
615
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(operationsAndWebhooks.value, (operationOrWebhook) => {
616
+ return openBlock(), createBlock(OperationsListItem_default, {
617
+ key: operationOrWebhook.id,
618
+ eventBus: __props.eventBus,
619
+ operation: operationOrWebhook
620
+ }, null, 8, ["eventBus", "operation"]);
621
+ }), 128))], 8, _hoisted_1$6)]),
622
+ _: 1
623
+ })]),
624
+ _: 1
625
+ })) : createCommentVNode("", true);
626
+ };
627
+ }
628
+ }), [["__scopeId", "data-v-f726f753"]]);
629
+ //#endregion
630
+ //#region src/components/Content/Tags/components/TagSection.vue
631
+ var TagSection_default = /* @__PURE__ */ defineComponent({
632
+ __name: "TagSection",
633
+ props: {
634
+ tag: {},
635
+ headerId: {},
636
+ isCollapsed: { type: Boolean },
637
+ isLoading: { type: Boolean },
638
+ eventBus: {}
639
+ },
640
+ setup(__props) {
641
+ return (_ctx, _cache) => {
642
+ return __props.tag ? (openBlock(), createBlock(unref(Section_default), {
643
+ key: 0,
644
+ id: __props.tag.id,
645
+ role: "none",
646
+ onIntersecting: _cache[1] || (_cache[1] = () => __props.eventBus?.emit("intersecting:nav-item", { id: __props.tag.id }))
647
+ }, {
648
+ default: withCtx(() => [
649
+ withDirectives(createVNode(unref(SectionHeader_default), null, {
650
+ default: withCtx(() => [createVNode(unref(Anchor_default), { onCopyAnchorUrl: _cache[0] || (_cache[0] = () => __props.eventBus?.emit("copy-url:nav-item", { id: __props.tag.id })) }, {
651
+ default: withCtx(() => [createVNode(unref(SectionHeaderTag_default), {
652
+ id: __props.headerId,
653
+ level: 2
654
+ }, {
655
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.tag.title) + " ", 1), __props.isCollapsed ? (openBlock(), createBlock(ScreenReader_default, { key: 0 }, {
656
+ default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode(" (Collapsed)", -1)])]),
657
+ _: 1
658
+ })) : createCommentVNode("", true)]),
659
+ _: 1
660
+ }, 8, ["id"])]),
661
+ _: 1
662
+ })]),
663
+ _: 1
664
+ }, 512), [[vShow, !__props.isLoading]]),
665
+ createVNode(unref(SectionContent_default), { loading: __props.isLoading }, {
666
+ default: withCtx(() => [createVNode(unref(SectionColumns_default), null, {
667
+ default: withCtx(() => [createVNode(unref(SectionColumn_default), null, {
668
+ default: withCtx(() => [createVNode(unref(ScalarMarkdown), {
669
+ clamp: __props.isCollapsed ? 7 : void 0,
670
+ value: __props.tag?.description ?? "",
671
+ withImages: ""
672
+ }, null, 8, ["clamp", "value"])]),
673
+ _: 1
674
+ }), createVNode(unref(SectionColumn_default), null, {
675
+ default: withCtx(() => [createVNode(unref(OperationsList_default), {
676
+ eventBus: __props.eventBus,
677
+ tag: __props.tag
678
+ }, null, 8, ["eventBus", "tag"])]),
679
+ _: 1
680
+ })]),
681
+ _: 1
682
+ })]),
683
+ _: 1
684
+ }, 8, ["loading"]),
685
+ createVNode(unref(SpecificationExtension_default), { value: __props.tag.xKeys }, null, 8, ["value"])
686
+ ]),
687
+ _: 1
688
+ }, 8, ["id"])) : createCommentVNode("", true);
689
+ };
690
+ }
691
+ });
692
+ //#endregion
693
+ //#region src/components/Content/Tags/components/ModernLayout.vue?vue&type=script&setup=true&lang.ts
694
+ var _hoisted_1$5 = {
695
+ key: 2,
696
+ class: "contents divide-y"
697
+ };
698
+ //#endregion
699
+ //#region src/components/Content/Tags/components/ModernLayout.vue
700
+ var ModernLayout_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
701
+ __name: "ModernLayout",
702
+ props: {
703
+ tag: {},
704
+ moreThanOneTag: { type: Boolean },
705
+ isLoading: { type: Boolean },
706
+ isCollapsed: { type: Boolean },
707
+ eventBus: {}
708
+ },
709
+ setup(__props) {
710
+ const headerId = useId();
711
+ const moreThanOneDefaultTag = computed(() => __props.moreThanOneTag || __props.tag?.title !== "default" || __props.tag?.description !== "");
712
+ const hasChildren = computed(() => (__props.tag?.children?.length ?? 0) > 0);
713
+ return (_ctx, _cache) => {
714
+ return openBlock(), createBlock(unref(SectionContainer_default), {
715
+ "aria-labelledby": unref(headerId),
716
+ class: "tag-section-container",
717
+ role: "region"
718
+ }, {
719
+ default: withCtx(() => [
720
+ moreThanOneDefaultTag.value ? (openBlock(), createBlock(TagSection_default, {
721
+ key: 0,
722
+ eventBus: __props.eventBus,
723
+ headerId: unref(headerId),
724
+ isCollapsed: __props.isCollapsed,
725
+ isLoading: __props.isLoading,
726
+ tag: __props.tag
727
+ }, null, 8, [
728
+ "eventBus",
729
+ "headerId",
730
+ "isCollapsed",
731
+ "isLoading",
732
+ "tag"
733
+ ])) : createCommentVNode("", true),
734
+ __props.isCollapsed && __props.moreThanOneTag && hasChildren.value ? (openBlock(), createBlock(ShowMoreButton_default, {
735
+ key: 1,
736
+ id: __props.tag.id,
737
+ "aria-label": `Show all ${__props.tag.title} endpoints`,
738
+ onClick: _cache[0] || (_cache[0] = () => __props.eventBus?.emit("toggle:nav-item", {
739
+ id: __props.tag.id,
740
+ open: true
741
+ }))
742
+ }, null, 8, ["id", "aria-label"])) : createCommentVNode("", true),
743
+ !(__props.isCollapsed && __props.moreThanOneTag) ? (openBlock(), createElementBlock("div", _hoisted_1$5, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])) : createCommentVNode("", true)
744
+ ]),
745
+ _: 3
746
+ }, 8, ["aria-labelledby"]);
747
+ };
748
+ }
749
+ }), [["__scopeId", "data-v-8f1a275c"]]);
750
+ //#endregion
751
+ //#region src/components/Content/Tags/Tag.vue
752
+ var Tag_default = /* @__PURE__ */ defineComponent({
753
+ __name: "Tag",
754
+ props: {
755
+ tag: {},
756
+ layout: {},
757
+ moreThanOneTag: { type: Boolean },
758
+ isLoading: { type: Boolean },
759
+ isCollapsed: { type: Boolean },
760
+ eventBus: {}
761
+ },
762
+ setup(__props) {
763
+ return (_ctx, _cache) => {
764
+ return __props.layout === "classic" ? (openBlock(), createBlock(ClassicLayout_default, {
765
+ key: 0,
766
+ eventBus: __props.eventBus,
767
+ isCollapsed: __props.isCollapsed,
768
+ layout: __props.layout,
769
+ tag: __props.tag
770
+ }, {
771
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
772
+ _: 3
773
+ }, 8, [
774
+ "eventBus",
775
+ "isCollapsed",
776
+ "layout",
777
+ "tag"
778
+ ])) : (openBlock(), createBlock(ModernLayout_default, {
779
+ key: 1,
780
+ eventBus: __props.eventBus,
781
+ isCollapsed: __props.isCollapsed,
782
+ isLoading: __props.isLoading,
783
+ layout: __props.layout,
784
+ moreThanOneTag: __props.moreThanOneTag,
785
+ tag: __props.tag
786
+ }, {
787
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
788
+ _: 3
789
+ }, 8, [
790
+ "eventBus",
791
+ "isCollapsed",
792
+ "isLoading",
793
+ "layout",
794
+ "moreThanOneTag",
795
+ "tag"
796
+ ]));
797
+ };
798
+ }
799
+ });
800
+ //#endregion
801
+ //#region src/components/Lazy/Lazy.vue?vue&type=script&setup=true&lang.ts
802
+ var _hoisted_1$4 = ["id", "data-placeholder"];
803
+ var PLACEHOLDER_HEIGHT_PX = 760;
804
+ /** Overscan: render items within this many pixels above and below the viewport. */
805
+ var VIEWPORT_OVERSCAN_PX = 1200;
806
+ //#endregion
807
+ //#region src/components/Lazy/Lazy.vue
808
+ var Lazy_default = /* @__PURE__ */ defineComponent({
809
+ __name: "Lazy",
810
+ props: {
811
+ id: {},
812
+ expanded: {
813
+ type: Boolean,
814
+ default: false
815
+ }
816
+ },
817
+ setup(__props) {
818
+ /**
819
+ * Lazily renders content when the element is within the viewport overscan.
820
+ * Uses a fixed-height placeholder so layout is stable while we block during render.
821
+ *
822
+ * When server-side rendering, content renders immediately.
823
+ *
824
+ * @link https://medium.com/js-dojo/lazy-rendering-in-vue-to-improve-performance-dcccd445d5f
825
+ */
826
+ /** Fixed height for all placeholders so we do not measure or jump. */
827
+ const VIEWPORT_ROOT_MARGIN = `${VIEWPORT_OVERSCAN_PX}px 0px`;
828
+ const { isReady } = useLazyBus(__props.id);
829
+ const lazyContainerRef = ref(null);
830
+ const placeholderHeight = ref(getLazyPlaceholderHeight(__props.id) ?? PLACEHOLDER_HEIGHT_PX);
831
+ let contentResizeObserver = null;
832
+ /** Once ready we always show (no eviction). Otherwise show when expanded (e.g. so child Lazy placeholders mount). */
833
+ const shouldRender = computed(() => isReady.value || __props.expanded);
834
+ onMounted(() => {
835
+ if (typeof window === "undefined") return;
836
+ if (!("IntersectionObserver" in window)) {
837
+ requestLazyRender(__props.id, true);
838
+ return;
839
+ }
840
+ useIntersectionObserver(lazyContainerRef, ([entry]) => {
841
+ if (entry?.isIntersecting && !isReady.value) requestLazyRender(__props.id, true);
842
+ }, { rootMargin: VIEWPORT_ROOT_MARGIN });
843
+ });
844
+ /**
845
+ * Capture content height right before we switch to placeholder (pre-flush so content
846
+ * is still in the DOM). Ensures we never measure the container or leave the cache stale.
847
+ */
848
+ watch(() => shouldRender.value, (rendered, wasRendered) => {
849
+ if (wasRendered && !rendered && lazyContainerRef.value) {
850
+ const h = lazyContainerRef.value.offsetHeight;
851
+ if (Number.isFinite(h) && h > 0) {
852
+ placeholderHeight.value = h;
853
+ setLazyPlaceholderHeight(__props.id, h);
854
+ }
855
+ }
856
+ }, { flush: "pre" });
857
+ /** When content is visible, set up ResizeObserver and measure. */
858
+ watch(() => shouldRender.value, (rendered) => {
859
+ if (!rendered) {
860
+ contentResizeObserver?.disconnect();
861
+ contentResizeObserver = null;
862
+ return;
863
+ }
864
+ nextTick(() => {
865
+ if (!lazyContainerRef.value || typeof ResizeObserver === "undefined") return;
866
+ if (!contentResizeObserver) contentResizeObserver = new ResizeObserver(() => {
867
+ if (!lazyContainerRef.value) return;
868
+ const h = lazyContainerRef.value.offsetHeight;
869
+ if (Number.isFinite(h) && h > 0) {
870
+ placeholderHeight.value = h;
871
+ setLazyPlaceholderHeight(__props.id, h);
872
+ }
873
+ });
874
+ contentResizeObserver.observe(lazyContainerRef.value);
875
+ const h = lazyContainerRef.value.offsetHeight;
876
+ if (Number.isFinite(h) && h > 0) {
877
+ placeholderHeight.value = h;
878
+ setLazyPlaceholderHeight(__props.id, h);
879
+ }
880
+ });
881
+ }, { immediate: true });
882
+ onBeforeUnmount(() => {
883
+ contentResizeObserver?.disconnect();
884
+ });
885
+ return (_ctx, _cache) => {
886
+ return openBlock(), createElementBlock("div", {
887
+ id: !shouldRender.value ? __props.id : void 0,
888
+ ref_key: "lazyContainerRef",
889
+ ref: lazyContainerRef,
890
+ "data-placeholder": !shouldRender.value,
891
+ "data-testid": "lazy-container",
892
+ style: normalizeStyle({ height: shouldRender.value ? void 0 : `${placeholderHeight.value}px` })
893
+ }, [shouldRender.value ? renderSlot(_ctx.$slots, "default", { key: 0 }) : createCommentVNode("", true)], 12, _hoisted_1$4);
894
+ };
895
+ }
896
+ });
897
+ //#endregion
898
+ //#region src/components/Content/Operations/TraversedEntry.vue
899
+ var TraversedEntry_default = /* @__PURE__ */ defineComponent({
900
+ __name: "TraversedEntry",
901
+ props: {
902
+ authStore: {},
903
+ level: { default: 0 },
904
+ entries: {},
905
+ document: {},
906
+ clientOptions: {},
907
+ options: {},
908
+ selectedServer: {},
909
+ securitySchemes: {},
910
+ selectedClient: {},
911
+ expandedItems: {},
912
+ eventBus: {}
913
+ },
914
+ setup(__props) {
915
+ /**
916
+ * Type guards for different entry types
917
+ */
918
+ const isTagGroup = (entry) => entry["type"] === "tag" && entry.isGroup === true;
919
+ const isTag = (entry) => entry["type"] === "tag" && !isTagGroup(entry) && entry.id !== "models";
920
+ const isOperation = (entry) => entry["type"] === "operation";
921
+ const isWebhook = (entry) => entry["type"] === "webhook";
922
+ /** Models are special form of tag entry */
923
+ const isModelsTag = (entry) => entry["type"] === "models";
924
+ const isModel = (entry) => entry["type"] === "model";
925
+ function getPathValue(entry) {
926
+ return isWebhook(entry) ? __props.document.webhooks?.[entry.name] : __props.document.paths?.[entry.path];
927
+ }
928
+ return (_ctx, _cache) => {
929
+ const _component_TraversedEntry = resolveComponent("TraversedEntry", true);
930
+ return openBlock(true), createElementBlock(Fragment, null, renderList(__props.entries, (entry) => {
931
+ return openBlock(), createBlock(Lazy_default, {
932
+ id: entry.id,
933
+ key: `${entry.id}-${__props.options.layout}`,
934
+ expanded: !!__props.expandedItems[entry.id]
935
+ }, {
936
+ default: withCtx(() => [isOperation(entry) || isWebhook(entry) ? (openBlock(), createBlock(unref(SectionContainer_default), {
937
+ key: 0,
938
+ omit: __props.level !== 0
939
+ }, {
940
+ default: withCtx(() => [createVNode(unref(Operation_default), {
941
+ id: entry.id,
942
+ authStore: __props.authStore,
943
+ clientOptions: __props.clientOptions,
944
+ document: __props.document,
945
+ eventBus: __props.eventBus,
946
+ isCollapsed: !__props.expandedItems[entry.id],
947
+ isWebhook: isWebhook(entry),
948
+ method: entry.method,
949
+ options: __props.options,
950
+ path: isWebhook(entry) ? entry.name : entry.path,
951
+ pathValue: getPathValue(entry),
952
+ securitySchemes: __props.securitySchemes,
953
+ selectedClient: __props.selectedClient,
954
+ server: __props.selectedServer
955
+ }, null, 8, [
956
+ "id",
957
+ "authStore",
958
+ "clientOptions",
959
+ "document",
960
+ "eventBus",
961
+ "isCollapsed",
962
+ "isWebhook",
963
+ "method",
964
+ "options",
965
+ "path",
966
+ "pathValue",
967
+ "securitySchemes",
968
+ "selectedClient",
969
+ "server"
970
+ ])]),
971
+ _: 2
972
+ }, 1032, ["omit"])) : isTag(entry) ? (openBlock(), createBlock(unref(Tag_default), {
973
+ key: 1,
974
+ eventBus: __props.eventBus,
975
+ isCollapsed: !__props.expandedItems[entry.id],
976
+ isLoading: false,
977
+ layout: __props.options.layout,
978
+ moreThanOneTag: __props.entries.filter(isTag).length > 1,
979
+ tag: entry
980
+ }, {
981
+ default: withCtx(() => ["children" in entry && entry.children?.length ? (openBlock(), createBlock(_component_TraversedEntry, {
982
+ key: 0,
983
+ authStore: __props.authStore,
984
+ clientOptions: __props.clientOptions,
985
+ document: __props.document,
986
+ entries: entry.children,
987
+ eventBus: __props.eventBus,
988
+ expandedItems: __props.expandedItems,
989
+ level: __props.level + 1,
990
+ options: __props.options,
991
+ securitySchemes: __props.securitySchemes,
992
+ selectedClient: __props.selectedClient,
993
+ selectedServer: __props.selectedServer
994
+ }, null, 8, [
995
+ "authStore",
996
+ "clientOptions",
997
+ "document",
998
+ "entries",
999
+ "eventBus",
1000
+ "expandedItems",
1001
+ "level",
1002
+ "options",
1003
+ "securitySchemes",
1004
+ "selectedClient",
1005
+ "selectedServer"
1006
+ ])) : createCommentVNode("", true)]),
1007
+ _: 2
1008
+ }, 1032, [
1009
+ "eventBus",
1010
+ "isCollapsed",
1011
+ "layout",
1012
+ "moreThanOneTag",
1013
+ "tag"
1014
+ ])) : isTagGroup(entry) ? (openBlock(), createBlock(_component_TraversedEntry, {
1015
+ key: 2,
1016
+ authStore: __props.authStore,
1017
+ clientOptions: __props.clientOptions,
1018
+ document: __props.document,
1019
+ entries: entry.children || [],
1020
+ eventBus: __props.eventBus,
1021
+ expandedItems: __props.expandedItems,
1022
+ level: __props.level + 1,
1023
+ options: __props.options,
1024
+ securitySchemes: __props.securitySchemes,
1025
+ selectedClient: __props.selectedClient,
1026
+ selectedServer: __props.selectedServer
1027
+ }, null, 8, [
1028
+ "authStore",
1029
+ "clientOptions",
1030
+ "document",
1031
+ "entries",
1032
+ "eventBus",
1033
+ "expandedItems",
1034
+ "level",
1035
+ "options",
1036
+ "securitySchemes",
1037
+ "selectedClient",
1038
+ "selectedServer"
1039
+ ])) : isModelsTag(entry) && __props.document.components?.schemas ? (openBlock(), createBlock(ModelTag_default, {
1040
+ key: 3,
1041
+ id: entry.id,
1042
+ eventBus: __props.eventBus,
1043
+ isCollapsed: !__props.expandedItems[entry.id],
1044
+ layout: __props.options.layout
1045
+ }, {
1046
+ default: withCtx(() => [createVNode(_component_TraversedEntry, {
1047
+ authStore: __props.authStore,
1048
+ clientOptions: __props.clientOptions,
1049
+ document: __props.document,
1050
+ entries: entry.children || [],
1051
+ eventBus: __props.eventBus,
1052
+ expandedItems: __props.expandedItems,
1053
+ level: __props.level + 1,
1054
+ options: __props.options,
1055
+ securitySchemes: __props.securitySchemes,
1056
+ selectedClient: __props.selectedClient,
1057
+ selectedServer: __props.selectedServer
1058
+ }, null, 8, [
1059
+ "authStore",
1060
+ "clientOptions",
1061
+ "document",
1062
+ "entries",
1063
+ "eventBus",
1064
+ "expandedItems",
1065
+ "level",
1066
+ "options",
1067
+ "securitySchemes",
1068
+ "selectedClient",
1069
+ "selectedServer"
1070
+ ])]),
1071
+ _: 2
1072
+ }, 1032, [
1073
+ "id",
1074
+ "eventBus",
1075
+ "isCollapsed",
1076
+ "layout"
1077
+ ])) : isModel(entry) && __props.document.components?.schemas?.[entry.name] ? (openBlock(), createBlock(Model_default, {
1078
+ key: 4,
1079
+ id: entry.id,
1080
+ eventBus: __props.eventBus,
1081
+ isCollapsed: !__props.expandedItems[entry.id],
1082
+ name: entry.name,
1083
+ options: __props.options,
1084
+ schema: unref(getResolvedRef)(__props.document.components.schemas[entry.name])
1085
+ }, null, 8, [
1086
+ "id",
1087
+ "eventBus",
1088
+ "isCollapsed",
1089
+ "name",
1090
+ "options",
1091
+ "schema"
1092
+ ])) : createCommentVNode("", true)]),
1093
+ _: 2
1094
+ }, 1032, ["id", "expanded"]);
1095
+ }), 128);
1096
+ };
1097
+ }
1098
+ });
1099
+ //#endregion
1100
+ //#region src/components/RenderPlugins/RenderPlugins.vue?vue&type=script&setup=true&lang.ts
1101
+ var _hoisted_1$3 = {
1102
+ key: 0,
1103
+ class: "plugin-view"
1104
+ };
1105
+ //#endregion
1106
+ //#region src/components/RenderPlugins/RenderPlugins.vue
1107
+ var RenderPlugins_default = /* @__PURE__ */ defineComponent({
1108
+ __name: "RenderPlugins",
1109
+ props: {
1110
+ viewName: {},
1111
+ options: {}
1112
+ },
1113
+ setup(__props) {
1114
+ const { getViewComponents } = usePluginManager();
1115
+ const components = getViewComponents(__props.viewName);
1116
+ return (_ctx, _cache) => {
1117
+ return unref(components).length ? (openBlock(), createElementBlock("div", _hoisted_1$3, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(components), (item, _index) => {
1118
+ return openBlock(), createBlock(unref(ScalarErrorBoundary), { key: _index }, {
1119
+ default: withCtx(() => [item.renderer ? (openBlock(), createBlock(resolveDynamicComponent(item.renderer), mergeProps({
1120
+ key: 0,
1121
+ ref_for: true
1122
+ }, {
1123
+ component: item.component,
1124
+ options: __props.options,
1125
+ ...item.props
1126
+ }), null, 16)) : (openBlock(), createBlock(resolveDynamicComponent(item.component), mergeProps({
1127
+ key: 1,
1128
+ ref_for: true
1129
+ }, {
1130
+ options: __props.options,
1131
+ ...item.props
1132
+ }), null, 16))]),
1133
+ _: 2
1134
+ }, 1024);
1135
+ }), 128))])) : createCommentVNode("", true);
1136
+ };
1137
+ }
1138
+ });
1139
+ //#endregion
1140
+ //#region src/components/SectionFlare/SectionFlare.vue
1141
+ var _sfc_main = {};
1142
+ var _hoisted_1$2 = { class: "section-flare" };
1143
+ function _sfc_render(_ctx, _cache) {
1144
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [..._cache[0] || (_cache[0] = [createStaticVNode("<div class=\"section-flare-item\" data-v-2a9c8c02></div><div class=\"section-flare-item\" data-v-2a9c8c02></div><div class=\"section-flare-item\" data-v-2a9c8c02></div><div class=\"section-flare-item\" data-v-2a9c8c02></div><div class=\"section-flare-item\" data-v-2a9c8c02></div><div class=\"section-flare-item\" data-v-2a9c8c02></div><div class=\"section-flare-item\" data-v-2a9c8c02></div><div class=\"section-flare-item\" data-v-2a9c8c02></div>", 8)])]);
1145
+ }
1146
+ var SectionFlare_default = /* @__PURE__ */ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-2a9c8c02"]]);
1147
+ //#endregion
1148
+ //#region src/components/Content/Content.vue?vue&type=script&setup=true&lang.ts
1149
+ var _hoisted_1$1 = { class: "narrow-references-container" };
1150
+ var _hoisted_2$1 = {
1151
+ key: 1,
1152
+ class: "h-dvh"
1153
+ };
1154
+ //#endregion
1155
+ //#region src/components/Content/Content.vue
1156
+ var Content_default = /* @__PURE__ */ defineComponent({
1157
+ __name: "Content",
1158
+ props: {
1159
+ infoSectionId: {},
1160
+ options: {},
1161
+ document: {},
1162
+ authStore: {},
1163
+ xScalarDefaultClient: {},
1164
+ items: {},
1165
+ expandedItems: {},
1166
+ eventBus: {},
1167
+ environment: {},
1168
+ headingSlugGenerator: { type: Function }
1169
+ },
1170
+ setup(__props) {
1171
+ /** Generate all client options so that it can be shared between the top client picker and the operations */
1172
+ const clientOptions = computed(() => generateClientOptions(mapHiddenClientsConfig(__props.options.hiddenClients)));
1173
+ /** Computed property to get all OpenAPI extension fields from the root document object */
1174
+ const documentExtensions = computed(() => getXKeysFromObject(__props.document));
1175
+ /** Computed property to get all OpenAPI extension fields from the document's info object */
1176
+ const infoExtensions = computed(() => getXKeysFromObject(__props.document?.info));
1177
+ /** Compute the servers for the document */
1178
+ const servers = computed(() => getServers(__props.options?.servers ?? __props.document?.servers, {
1179
+ baseServerUrl: __props.options?.baseServerURL,
1180
+ documentUrl: __props.document?.["x-scalar-original-source-url"]
1181
+ }));
1182
+ /** Compute the selected server for the document only (for now) */
1183
+ const selectedServer = computed(() => getSelectedServer(servers.value, __props.document?.["x-scalar-selected-server"]));
1184
+ /** Merge authentication config with the document security schemes */
1185
+ const securitySchemes = computed(() => mergeSecurity(__props.document?.components?.securitySchemes, __props.options.authentication?.securitySchemes, __props.authStore, __props.document?.["x-scalar-navigation"]?.name ?? ""));
1186
+ /** Ensures firstLazyLoadComplete is set for documents with no Lazy sections (e.g. no operations/tags/models). */
1187
+ onMounted(() => {
1188
+ scheduleInitialLoadComplete();
1189
+ });
1190
+ return (_ctx, _cache) => {
1191
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(SectionFlare_default)), createElementVNode("div", _hoisted_1$1, [
1192
+ renderSlot(_ctx.$slots, "start"),
1193
+ createVNode(unref(InfoBlock_default), {
1194
+ id: __props.infoSectionId,
1195
+ documentDownloadType: __props.options.documentDownloadType,
1196
+ documentExtensions: documentExtensions.value,
1197
+ documentUrl: __props.document?.["x-scalar-original-source-url"],
1198
+ eventBus: __props.eventBus,
1199
+ externalDocs: __props.document?.externalDocs,
1200
+ headingSlugGenerator: __props.headingSlugGenerator,
1201
+ info: __props.document?.info,
1202
+ infoExtensions: infoExtensions.value,
1203
+ layout: __props.options.layout,
1204
+ oasVersion: __props.document?.["x-original-oas-version"]
1205
+ }, {
1206
+ selectors: withCtx(() => [
1207
+ createVNode(unref(ScalarErrorBoundary), null, {
1208
+ default: withCtx(() => [servers.value?.length ? (openBlock(), createBlock(unref(IntroductionCardItem_default), {
1209
+ key: 0,
1210
+ class: "scalar-reference-intro-server scalar-client introduction-card-item text-base leading-normal [--scalar-address-bar-height:0px]"
1211
+ }, {
1212
+ default: withCtx(() => [createVNode(unref(ServerSelector_default), {
1213
+ eventBus: __props.eventBus,
1214
+ selectedServer: selectedServer.value,
1215
+ servers: servers.value
1216
+ }, null, 8, [
1217
+ "eventBus",
1218
+ "selectedServer",
1219
+ "servers"
1220
+ ])]),
1221
+ _: 1
1222
+ })) : createCommentVNode("", true)]),
1223
+ _: 1
1224
+ }),
1225
+ createVNode(unref(ScalarErrorBoundary), null, {
1226
+ default: withCtx(() => [__props.document && !__props.options.hideTestRequestButton ? (openBlock(), createBlock(unref(IntroductionCardItem_default), {
1227
+ key: 0,
1228
+ class: "scalar-reference-intro-auth scalar-client introduction-card-item leading-normal"
1229
+ }, {
1230
+ default: withCtx(() => [createVNode(unref(Auth_default), {
1231
+ authStore: __props.authStore,
1232
+ document: __props.document,
1233
+ environment: __props.environment,
1234
+ eventBus: __props.eventBus,
1235
+ options: __props.options,
1236
+ securitySchemes: securitySchemes.value,
1237
+ selectedServer: selectedServer.value
1238
+ }, null, 8, [
1239
+ "authStore",
1240
+ "document",
1241
+ "environment",
1242
+ "eventBus",
1243
+ "options",
1244
+ "securitySchemes",
1245
+ "selectedServer"
1246
+ ])]),
1247
+ _: 1
1248
+ })) : createCommentVNode("", true)]),
1249
+ _: 1
1250
+ }),
1251
+ createVNode(unref(ScalarErrorBoundary), null, {
1252
+ default: withCtx(() => [clientOptions.value.length ? (openBlock(), createBlock(unref(IntroductionCardItem_default), {
1253
+ key: 0,
1254
+ class: "introduction-card-item scalar-reference-intro-clients"
1255
+ }, {
1256
+ default: withCtx(() => [createVNode(unref(ClientSelector_default), {
1257
+ class: "introduction-card-item scalar-reference-intro-clients",
1258
+ clientOptions: clientOptions.value,
1259
+ eventBus: __props.eventBus,
1260
+ selectedClient: __props.xScalarDefaultClient,
1261
+ xScalarSdkInstallation: __props.document?.info?.["x-scalar-sdk-installation"]
1262
+ }, null, 8, [
1263
+ "clientOptions",
1264
+ "eventBus",
1265
+ "selectedClient",
1266
+ "xScalarSdkInstallation"
1267
+ ])]),
1268
+ _: 1
1269
+ })) : createCommentVNode("", true)]),
1270
+ _: 1
1271
+ })
1272
+ ]),
1273
+ _: 1
1274
+ }, 8, [
1275
+ "id",
1276
+ "documentDownloadType",
1277
+ "documentExtensions",
1278
+ "documentUrl",
1279
+ "eventBus",
1280
+ "externalDocs",
1281
+ "headingSlugGenerator",
1282
+ "info",
1283
+ "infoExtensions",
1284
+ "layout",
1285
+ "oasVersion"
1286
+ ]),
1287
+ __props.items.length && __props.document ? (openBlock(), createBlock(TraversedEntry_default, {
1288
+ key: 0,
1289
+ authStore: __props.authStore,
1290
+ clientOptions: clientOptions.value,
1291
+ document: __props.document,
1292
+ entries: __props.items,
1293
+ eventBus: __props.eventBus,
1294
+ expandedItems: __props.expandedItems,
1295
+ options: __props.options,
1296
+ securitySchemes: securitySchemes.value,
1297
+ selectedClient: __props.xScalarDefaultClient,
1298
+ selectedServer: selectedServer.value
1299
+ }, null, 8, [
1300
+ "authStore",
1301
+ "clientOptions",
1302
+ "document",
1303
+ "entries",
1304
+ "eventBus",
1305
+ "expandedItems",
1306
+ "options",
1307
+ "securitySchemes",
1308
+ "selectedClient",
1309
+ "selectedServer"
1310
+ ])) : createCommentVNode("", true),
1311
+ createVNode(unref(RenderPlugins_default), {
1312
+ options: __props.options,
1313
+ viewName: "content.end"
1314
+ }, null, 8, ["options"]),
1315
+ renderSlot(_ctx.$slots, "end"),
1316
+ !unref(firstLazyLoadComplete) ? (openBlock(), createElementBlock("div", _hoisted_2$1)) : createCommentVNode("", true)
1317
+ ])], 64);
1318
+ };
1319
+ }
1320
+ });
1321
+ //#endregion
1322
+ //#region src/components/MobileHeader.vue?vue&type=script&setup=true&lang.ts
1323
+ var _hoisted_1 = { class: "flex h-(--scalar-header-height) w-full items-center border-b bg-inherit px-2" };
1324
+ var _hoisted_2 = {
1325
+ key: 1,
1326
+ class: "flex-1 text-sm font-medium whitespace-nowrap"
1327
+ };
1328
+ var _hoisted_3 = { class: "flex h-6 items-center gap-1 pl-1" };
1329
+ //#endregion
1330
+ //#region src/components/MobileHeader.vue
1331
+ var MobileHeader_default = /* @__PURE__ */ defineComponent({
1332
+ __name: "MobileHeader",
1333
+ props: {
1334
+ breadcrumb: {},
1335
+ isSidebarOpen: { type: Boolean },
1336
+ showSidebar: { type: Boolean }
1337
+ },
1338
+ emits: ["toggleSidebar"],
1339
+ setup(__props, { emit: __emit }) {
1340
+ const emit = __emit;
1341
+ const { mediaQueries } = useBreakpoints();
1342
+ const variants = cva({
1343
+ base: "items-center bg-b-1 sticky top-(--scalar-custom-header-height,0) z-10",
1344
+ variants: {
1345
+ open: { true: "h-(--refs-sidebar-height) custom-scrollbar flex flex-col" },
1346
+ lg: { true: "hidden [grid-area:header]" }
1347
+ }
1348
+ });
1349
+ return (_ctx, _cache) => {
1350
+ return unref(mediaQueries).lg.value ? renderSlot(_ctx.$slots, "sidebar", normalizeProps(mergeProps({ key: 0 }, { sidebarClasses: "sticky top-(--refs-header-height) h-(--refs-sidebar-height) w-(--refs-sidebar-width) [grid-area:navigation]" }))) : (openBlock(), createElementBlock("div", {
1351
+ key: 1,
1352
+ class: normalizeClass(["t-doc__header", unref(variants)({
1353
+ open: __props.isSidebarOpen,
1354
+ lg: unref(mediaQueries).lg.value
1355
+ })])
1356
+ }, [createElementVNode("header", _hoisted_1, [
1357
+ __props.showSidebar ? (openBlock(), createBlock(unref(ScalarIconButton), {
1358
+ key: 0,
1359
+ icon: __props.isSidebarOpen ? unref(ScalarIconX) : unref(ScalarIconList),
1360
+ label: __props.isSidebarOpen ? "Close Menu" : "Open Menu",
1361
+ size: "md",
1362
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("toggleSidebar"))
1363
+ }, null, 8, ["icon", "label"])) : createCommentVNode("", true),
1364
+ __props.showSidebar ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(__props.breadcrumb), 1)) : renderSlot(_ctx.$slots, "search", { key: 2 }),
1365
+ createElementVNode("div", _hoisted_3, [renderSlot(_ctx.$slots, "actions")])
1366
+ ]), __props.isSidebarOpen ? renderSlot(_ctx.$slots, "sidebar", normalizeProps(mergeProps({ key: 0 }, { sidebarClasses: "overflow-y-auto custom-scrollbar min-h-0 flex-1 w-full border-none" }))) : createCommentVNode("", true)], 2));
1367
+ };
1368
+ }
1369
+ });
1370
+ //#endregion
1371
+ export { TraversedEntry_default as a, OperationsList_default as c, Auth_default as d, ClassicHeader_default as f, RenderPlugins_default as i, ModelTag_default as l, Content_default as n, Lazy_default as o, SectionFlare_default as r, Tag_default as s, MobileHeader_default as t, Model_default as u };
1372
+
1373
+ //# sourceMappingURL=MobileHeader-DAm6yQX0.js.map