@scalar/api-reference 1.64.0 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.d.ts.map +1 -1
  3. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.script.js +1 -1
  4. package/dist/blocks/scalar-asyncapi-server-selector-block/components/AsyncApiServerSelector.vue.script.js.map +1 -1
  5. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.d.ts.map +1 -1
  6. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.script.js +1 -1
  7. package/dist/blocks/scalar-asyncapi-server-selector-block/components/Selector.vue.script.js.map +1 -1
  8. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/AsyncApiSidebarFilters.vue.script.js +2 -2
  9. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/AsyncApiSidebarFilters.vue.script.js.map +1 -1
  10. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/SidebarFilter.vue.d.ts.map +1 -1
  11. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/SidebarFilter.vue.script.js +1 -1
  12. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/components/SidebarFilter.vue.script.js.map +1 -1
  13. package/dist/blocks/scalar-asyncapi-sidebar-filters-block/helpers/filter-async-api-navigation.js.map +1 -1
  14. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.d.ts +1 -3
  15. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.d.ts.map +1 -1
  16. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js +1 -1
  17. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js.map +1 -1
  18. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.script.js +13 -27
  19. package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.script.js.map +1 -1
  20. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.d.ts.map +1 -1
  21. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js +1 -1
  22. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js.map +1 -1
  23. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js +37 -25
  24. package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js.map +1 -1
  25. package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.js.map +1 -1
  26. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.d.ts.map +1 -1
  27. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.js +1 -1
  28. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.js.map +1 -1
  29. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.script.js +10 -4
  30. package/dist/blocks/scalar-info-block/components/DownloadLink.vue.script.js.map +1 -1
  31. package/dist/blocks/scalar-info-block/components/InfoBlock.vue.script.js +1 -1
  32. package/dist/blocks/scalar-info-block/components/InfoBlock.vue.script.js.map +1 -1
  33. package/dist/blocks/scalar-info-block/components/InfoDescription.vue.js +1 -1
  34. package/dist/blocks/scalar-info-block/components/InfoDescription.vue.script.js +1 -1
  35. package/dist/blocks/scalar-info-block/components/InfoDescription.vue.script.js.map +1 -1
  36. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.script.js +1 -1
  37. package/dist/blocks/scalar-info-block/components/InfoLinks.vue.script.js.map +1 -1
  38. package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.script.js +1 -1
  39. package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.script.js.map +1 -1
  40. package/dist/blocks/scalar-info-block/components/InfoVersion.vue.script.js +1 -1
  41. package/dist/blocks/scalar-info-block/components/InfoVersion.vue.script.js.map +1 -1
  42. package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.js +1 -1
  43. package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.script.js +1 -1
  44. package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.script.js.map +1 -1
  45. package/dist/blocks/scalar-info-block/components/IntroductionCardItem.vue.js +1 -1
  46. package/dist/blocks/scalar-info-block/components/IntroductionCardItem.vue.js.map +1 -1
  47. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.d.ts.map +1 -1
  48. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.js +1 -1
  49. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.script.js +1 -1
  50. package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.script.js.map +1 -1
  51. package/dist/blocks/scalar-info-block/components/IntroductionLoading.vue.js +1 -1
  52. package/dist/blocks/scalar-info-block/components/IntroductionLoading.vue.script.js +1 -1
  53. package/dist/blocks/scalar-info-block/components/IntroductionLoading.vue.script.js.map +1 -1
  54. package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.script.js +1 -1
  55. package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.script.js.map +1 -1
  56. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.d.ts.map +1 -1
  57. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.js +1 -1
  58. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.js.map +1 -1
  59. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.script.js +16 -9
  60. package/dist/blocks/scalar-sdk-installation-instructions/components/SdkInstallationInstructions.vue.script.js.map +1 -1
  61. package/dist/blocks/scalar-sdk-installation-instructions/helpers/language-icon.js.map +1 -1
  62. package/dist/blocks/scalar-sdk-installation-instructions/helpers/renderable-sdks.js.map +1 -1
  63. package/dist/blocks/scalar-sdk-installation-instructions/helpers/visible-tab-count.js.map +1 -1
  64. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.d.ts.map +1 -1
  65. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.script.js +1 -1
  66. package/dist/blocks/scalar-server-selector-block/components/Selector.vue.script.js.map +1 -1
  67. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.d.ts.map +1 -1
  68. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.script.js +1 -1
  69. package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.script.js.map +1 -1
  70. package/dist/browser/chunks/AgentScalarChatInterface-2lNB6wO-.js +27 -0
  71. package/dist/browser/chunks/ScalarTextInput.vue-DVmXRWbS.js +27 -0
  72. package/dist/browser/chunks/{basic-shape-diamond.svg-BTEOT1FL.js → basic-shape-diamond.svg-o5eiY2I7.js} +2 -2
  73. package/dist/browser/chunks/{basic-shape-hexagon.svg-BSPzaCgF.js → basic-shape-hexagon.svg-CGuS7mbd.js} +2 -2
  74. package/dist/browser/chunks/{basic-shape-primary-circle-ellipse-round.svg-DKmZ8UUU.js → basic-shape-primary-circle-ellipse-round.svg-DDIpXiBm.js} +2 -2
  75. package/dist/browser/chunks/{basic-shape-primary-square-rectangle.svg-n2YRykHD.js → basic-shape-primary-square-rectangle.svg-DzVEJHMB.js} +2 -2
  76. package/dist/browser/chunks/{basic-shape-shield.svg-Bec9cJDA.js → basic-shape-shield.svg-BZzapRqv.js} +2 -2
  77. package/dist/browser/chunks/browser-CTPPEMEL.js +129 -0
  78. package/dist/browser/chunks/{computer-device-desktop-monitor.svg-m6j893Hb.js → computer-device-desktop-monitor.svg-OSM05r1I.js} +2 -2
  79. package/dist/browser/chunks/{computer-device-desktop.svg-Dk1VVO7k.js → computer-device-desktop.svg-BMFzGZ27.js} +2 -2
  80. package/dist/browser/chunks/{computer-device-laptop.svg-BNGVUCYS.js → computer-device-laptop.svg-CMAjzuB-.js} +2 -2
  81. package/dist/browser/chunks/{computer-device-mobile-phone-android-samsung-back.svg-CC4UUTFw.js → computer-device-mobile-phone-android-samsung-back.svg-D4xBONmL.js} +2 -2
  82. package/dist/browser/chunks/{computer-device-mobile-phone-android-samsung.svg-D8ExpMpL.js → computer-device-mobile-phone-android-samsung.svg-gbMJLjJw.js} +2 -2
  83. package/dist/browser/chunks/{computer-device-mobile-phone-iphone-x-back.svg-CLm7sgMM.js → computer-device-mobile-phone-iphone-x-back.svg-Bl1rmdKA.js} +2 -2
  84. package/dist/browser/chunks/{computer-device-mobile-phone-iphone-x.svg-Xrttg6_7.js → computer-device-mobile-phone-iphone-x.svg-DVetP0aa.js} +2 -2
  85. package/dist/browser/chunks/{computer-device-mobile-tablet-touch.svg-DQ2oTvOG.js → computer-device-mobile-tablet-touch.svg-Zi88BP4L.js} +2 -2
  86. package/dist/browser/chunks/{computer-device-mobile-tablet.svg-DCr0XlRc.js → computer-device-mobile-tablet.svg-C1ggisWP.js} +2 -2
  87. package/dist/browser/chunks/{computer-device-network-ethernet-cat6.svg-AK9l0iOl.js → computer-device-network-ethernet-cat6.svg-BIUymdC1.js} +2 -2
  88. package/dist/browser/chunks/{computer-device-network-lan-www.svg-gUIdFBlE.js → computer-device-network-lan-www.svg-CoFUlIVO.js} +2 -2
  89. package/dist/browser/chunks/{computer-device-network-wifi-connection.svg-Be-EMm4e.js → computer-device-network-wifi-connection.svg-DeWsacxI.js} +2 -2
  90. package/dist/browser/chunks/{computer-device-network-wifi-router.svg-Dc2VzyqK.js → computer-device-network-wifi-router.svg-BjpZEot4.js} +2 -2
  91. package/dist/browser/chunks/{ecology-science-erlenmeyer-flask.svg-DHgy7Jfd.js → ecology-science-erlenmeyer-flask.svg-ftjGGirE.js} +2 -2
  92. package/dist/browser/chunks/{image-flash-lightning.svg-EETR_y1q.js → image-flash-lightning.svg-DYQ0W4Fi.js} +2 -2
  93. package/dist/browser/chunks/{image-picture-flower.svg-DN1AYzJU.js → image-picture-flower.svg-Bfe5SVDf.js} +2 -2
  94. package/dist/browser/chunks/{interface-alert-exclamation-diamond.svg-C5NozMV_.js → interface-alert-exclamation-diamond.svg-D1HePDNM.js} +2 -2
  95. package/dist/browser/chunks/{interface-alert-exclamation-triangle-warning.svg-DaAg2fF5.js → interface-alert-exclamation-triangle-warning.svg-CILUsxBC.js} +2 -2
  96. package/dist/browser/chunks/{interface-alert-information-circle.svg-ckkkt9Mv.js → interface-alert-information-circle.svg-9LrbJM5J.js} +2 -2
  97. package/dist/browser/chunks/{interface-award-crown.svg-pjvn9hY-.js → interface-award-crown.svg-DllWgiU1.js} +2 -2
  98. package/dist/browser/chunks/{interface-bookmark.svg-BK9HKQBT.js → interface-bookmark-tag.svg-Dc-JL-Kc.js} +2 -2
  99. package/dist/browser/chunks/{interface-bookmark-tag.svg-r2r-lQq4.js → interface-bookmark.svg-Dc-JL-Kc.js} +2 -2
  100. package/dist/browser/chunks/{interface-calendar-date-one.svg-DNnF0M1I.js → interface-calendar-date-one.svg-DO2jelhF.js} +2 -2
  101. package/dist/browser/chunks/{interface-content-book-open-pages.svg-CQj_w9Vp.js → interface-content-book-open-pages.svg-BJjMjIgA.js} +2 -2
  102. package/dist/browser/chunks/{interface-content-book-page.svg-DppoeJRe.js → interface-content-book-page.svg-C6rKB2fs.js} +2 -2
  103. package/dist/browser/chunks/{interface-content-file.svg-CvcD7OiY.js → interface-content-file.svg-CS0q2FKx.js} +2 -2
  104. package/dist/browser/chunks/{interface-content-folder.svg-BmtS5I9A.js → interface-content-folder.svg-CThTWsJX.js} +2 -2
  105. package/dist/browser/chunks/{interface-copy-clipboard.svg-Be6EI50X.js → interface-copy-clipboard.svg-DdN67cLv.js} +2 -2
  106. package/dist/browser/chunks/{interface-edit-attachment.svg-G5TKzpWX.js → interface-edit-attachment.svg-Ciizphuh.js} +2 -2
  107. package/dist/browser/chunks/{interface-edit-binocular.svg-jzL-DvGB.js → interface-edit-binocular.svg-Dw1nDqmL.js} +2 -2
  108. package/dist/browser/chunks/{interface-edit-magic-wand.svg-BOTlymvp.js → interface-edit-magic-wand.svg-BYS0jm_E.js} +2 -2
  109. package/dist/browser/chunks/{interface-edit-tool-paint-roller.svg-s9dwryx7.js → interface-edit-tool-paint-roller.svg-NioSHZC2.js} +2 -2
  110. package/dist/browser/chunks/{interface-edit-tool-pencil.svg-C7v0dbB3.js → interface-edit-tool-pencil.svg-P87QFlat.js} +2 -2
  111. package/dist/browser/chunks/{interface-favorite-award.svg-CYHUgUG0.js → interface-favorite-award.svg-DBBAChSi.js} +2 -2
  112. package/dist/browser/chunks/{interface-favorite-flag.svg-C10zlKOb.js → interface-favorite-flag.svg-HlhPomHY.js} +2 -2
  113. package/dist/browser/chunks/{interface-favorite-heart.svg-eoduXxlz.js → interface-favorite-heart.svg-Cqu2GYDo.js} +2 -2
  114. package/dist/browser/chunks/{interface-favorite-star.svg-BSmxJetr.js → interface-favorite-star.svg-BD4JY_J2.js} +2 -2
  115. package/dist/browser/chunks/{interface-favorite-stars-sparkles.svg-JTFLj3Ls.js → interface-favorite-stars-sparkles.svg-BXi6aO8q.js} +2 -2
  116. package/dist/browser/chunks/{interface-hierarchy-flowchart.svg-Cg_Wy0kN.js → interface-hierarchy-flowchart.svg-CDEVSsD4.js} +2 -2
  117. package/dist/browser/chunks/{interface-home-house.svg-DytoGRnv.js → interface-home-house.svg-DJetUjwj.js} +2 -2
  118. package/dist/browser/chunks/{interface-hyperlink.svg-CuEfmmQI.js → interface-hyperlink.svg-DJ1LREmz.js} +2 -2
  119. package/dist/browser/chunks/{interface-lighting-brightness.svg-DSK0h_Pa.js → interface-lighting-brightness.svg-TGKAaHYV.js} +2 -2
  120. package/dist/browser/chunks/{interface-lock-closed.svg-Cn6TaLYv.js → interface-lock-closed.svg-3hehWr3i.js} +2 -2
  121. package/dist/browser/chunks/{interface-lock-open-unlock.svg-CVkG5-9W.js → interface-lock-open-unlock.svg-CuXKcv1m.js} +2 -2
  122. package/dist/browser/chunks/{interface-login-key.svg-y-cwwXjN.js → interface-login-key.svg-Chwvvywd.js} +2 -2
  123. package/dist/browser/chunks/{interface-search.svg-S-puVFJB.js → interface-search.svg-JDE3fk0u.js} +2 -2
  124. package/dist/browser/chunks/{interface-setting-cog.svg-CTH4_lLg.js → interface-setting-cog.svg-BBCkeh4K.js} +2 -2
  125. package/dist/browser/chunks/{interface-share-megaphone-bullhorn.svg-Pbp39MyC.js → interface-share-megaphone-bullhorn.svg-CDdxF-4y.js} +2 -2
  126. package/dist/browser/chunks/{interface-share-rocket.svg-BgCsIRZO.js → interface-share-rocket.svg-DSbdn_o7.js} +2 -2
  127. package/dist/browser/chunks/{interface-share-satellite.svg-DAMN9d5G.js → interface-share-satellite.svg-CefBVZvY.js} +2 -2
  128. package/dist/browser/chunks/{interface-share-space-ship.svg-Dt-Mejxk.js → interface-share-space-ship.svg-tFA2dsSU.js} +2 -2
  129. package/dist/browser/chunks/{interface-share.svg-vFYTXSti.js → interface-share.svg-BpOGopyv.js} +2 -2
  130. package/dist/browser/chunks/{interface-signal-square.svg-DNG4LpAe.js → interface-signal-square.svg-BcX_BoaC.js} +2 -2
  131. package/dist/browser/chunks/{interface-time-clock-circle.svg-Bpz-nLxo.js → interface-time-clock-circle.svg-C8B_L_RM.js} +2 -2
  132. package/dist/browser/chunks/{interface-time-hour-glass.svg-D7agfKsH.js → interface-time-hour-glass.svg-qw-oeoVn.js} +2 -2
  133. package/dist/browser/chunks/{interface-users-multiple.svg-CkPJBBnG.js → interface-users-multiple.svg-Cs13Eewq.js} +2 -2
  134. package/dist/browser/chunks/{interface-weather-moon.svg-CaTZFMPO.js → interface-weather-moon.svg-CV-oDTae.js} +2 -2
  135. package/dist/browser/chunks/{mail-chat-bubble-square.svg-DC8RIihp.js → mail-chat-bubble-square.svg-dpauJhin.js} +2 -2
  136. package/dist/browser/chunks/{mail-send-email-paper-airplane.svg-D8OLs9jz.js → mail-send-email-paper-airplane.svg-BBofxojL.js} +2 -2
  137. package/dist/browser/chunks/{mail-send-envelope.svg-CV33h5Sx.js → mail-send-envelope.svg-DyENgYOI.js} +2 -2
  138. package/dist/browser/chunks/modal-70ibkEHi.js +102 -0
  139. package/dist/browser/chunks/{money-cashier-receipt.svg-CJL8C2gs.js → money-cashier-receipt.svg-dNTr5aio.js} +2 -2
  140. package/dist/browser/chunks/{money-currency-dollar-pay.svg-VdBplCTx.js → money-currency-dollar-pay.svg-1ZESPtFY.js} +2 -2
  141. package/dist/browser/chunks/{money-graph-arrow-increase.svg-DcRov3zk.js → money-graph-arrow-increase.svg-kEZ2u2z2.js} +2 -2
  142. package/dist/browser/chunks/{money-graph-bar-chart-increase.svg-Cc7KxjX-.js → money-graph-bar-chart-increase.svg-B-t2UWB3.js} +2 -2
  143. package/dist/browser/chunks/{nature-ecology-leaf.svg-DR3cTZxt.js → nature-ecology-leaf.svg-DZ2GJV8m.js} +2 -2
  144. package/dist/browser/chunks/{phone-telephone.svg-DyY0gUlk.js → phone-telephone.svg-C12QjpN7.js} +2 -2
  145. package/dist/browser/chunks/{programming-bug.svg-BHLT-Qhp.js → programming-bug.svg-wLTsruN9.js} +2 -2
  146. package/dist/browser/chunks/{programming-cloud.svg-B6YW33ba.js → programming-cloud.svg-3XU6dNUg.js} +2 -2
  147. package/dist/browser/chunks/{programming-computer-database-server.svg-B6o5Sdn-.js → programming-computer-database-server.svg-B1JrHSPd.js} +2 -2
  148. package/dist/browser/chunks/{programming-computer-database.svg-Cl7OVtpJ.js → programming-computer-database.svg-BxHSuFl7.js} +2 -2
  149. package/dist/browser/chunks/{programming-module-four-layout.svg-BQrerL1x.js → programming-module-four-layout.svg-CeV35q45.js} +2 -2
  150. package/dist/browser/chunks/{programming-module-three.svg-B2KTQzBM.js → programming-module-three.svg-YIBpLt45.js} +2 -2
  151. package/dist/browser/chunks/{programming-module.svg-CiID7kPm.js → programming-module.svg-CU_pEibI.js} +2 -2
  152. package/dist/browser/chunks/{programming-script-code.svg-D1M5rtkN.js → programming-script-code.svg-CLzinmHT.js} +2 -2
  153. package/dist/browser/chunks/runtime-core.esm-bundler-CqqEw5ds.js +17 -0
  154. package/dist/browser/chunks/{shopping-cart.svg-BEegiIR9.js → shopping-cart.svg-Brzddu3K.js} +2 -2
  155. package/dist/browser/chunks/{shopping-gift-present.svg-BUHwuLix.js → shopping-gift-present.svg-l2K48g7L.js} +2 -2
  156. package/dist/browser/chunks/{shopping-shipping-box-parcel-package.svg-D6fxWdYx.js → shopping-shipping-box-parcel-package.svg-DesGopPo.js} +2 -2
  157. package/dist/browser/chunks/{tag-new-circle.svg-jsg1bGs0.js → tag-new-circle.svg-DE-VaLZU.js} +2 -2
  158. package/dist/browser/chunks/{travel-map-earth-globe.svg-ClbMiU-f.js → travel-map-earth-globe.svg-DLaOMzx6.js} +2 -2
  159. package/dist/browser/chunks/vendor-BcTep96u.js +306 -0
  160. package/dist/browser/standalone.esm.js +22 -20
  161. package/dist/browser/standalone.js +256 -254
  162. package/dist/components/AgentScalar/AgentScalarButton.vue.script.js +1 -1
  163. package/dist/components/AgentScalar/AgentScalarButton.vue.script.js.map +1 -1
  164. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.script.js +1 -1
  165. package/dist/components/AgentScalar/AgentScalarChatInterface.vue.script.js.map +1 -1
  166. package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts.map +1 -1
  167. package/dist/components/AgentScalar/AgentScalarDrawer.vue.js +1 -1
  168. package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js +1 -1
  169. package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js.map +1 -1
  170. package/dist/components/AgentScalar/OpenMCPButton.vue.d.ts.map +1 -1
  171. package/dist/components/AgentScalar/OpenMCPButton.vue.js +1 -1
  172. package/dist/components/AgentScalar/OpenMCPButton.vue.js.map +1 -1
  173. package/dist/components/AgentScalar/OpenMCPButton.vue.script.js +47 -32
  174. package/dist/components/AgentScalar/OpenMCPButton.vue.script.js.map +1 -1
  175. package/dist/components/Anchor/Anchor.vue.d.ts.map +1 -1
  176. package/dist/components/Anchor/Anchor.vue.script.js +1 -1
  177. package/dist/components/Anchor/Anchor.vue.script.js.map +1 -1
  178. package/dist/components/Anchor/WithBreadcrumb.vue.script.js +2 -2
  179. package/dist/components/Anchor/WithBreadcrumb.vue.script.js.map +1 -1
  180. package/dist/components/ApiReference.vue.d.ts.map +1 -1
  181. package/dist/components/ApiReference.vue.js +1 -1
  182. package/dist/components/ApiReference.vue.js.map +1 -1
  183. package/dist/components/ApiReference.vue.script.js +55 -22
  184. package/dist/components/ApiReference.vue.script.js.map +1 -1
  185. package/dist/components/Badge/Badge.vue.js +1 -1
  186. package/dist/components/Badge/Badge.vue.script.js +1 -1
  187. package/dist/components/Badge/Badge.vue.script.js.map +1 -1
  188. package/dist/components/ClassicHeader.vue.js +1 -1
  189. package/dist/components/ClassicHeader.vue.js.map +1 -1
  190. package/dist/components/Content/AsyncApi/AsyncApiLabels.vue.js +1 -1
  191. package/dist/components/Content/AsyncApi/AsyncApiLabels.vue.script.js +1 -1
  192. package/dist/components/Content/AsyncApi/AsyncApiLabels.vue.script.js.map +1 -1
  193. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.script.js +1 -1
  194. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.script.js.map +1 -1
  195. package/dist/components/Content/AsyncApi/Channel.vue.d.ts.map +1 -1
  196. package/dist/components/Content/AsyncApi/Channel.vue.js +1 -1
  197. package/dist/components/Content/AsyncApi/Channel.vue.script.js +1 -1
  198. package/dist/components/Content/AsyncApi/Channel.vue.script.js.map +1 -1
  199. package/dist/components/Content/AsyncApi/ChannelsList.vue.js +1 -1
  200. package/dist/components/Content/AsyncApi/ChannelsList.vue.script.js +1 -1
  201. package/dist/components/Content/AsyncApi/ChannelsList.vue.script.js.map +1 -1
  202. package/dist/components/Content/AsyncApi/Message.vue.d.ts.map +1 -1
  203. package/dist/components/Content/AsyncApi/Message.vue.js +1 -1
  204. package/dist/components/Content/AsyncApi/Message.vue.script.js +2 -2
  205. package/dist/components/Content/AsyncApi/Message.vue.script.js.map +1 -1
  206. package/dist/components/Content/AsyncApi/Operation.vue.d.ts.map +1 -1
  207. package/dist/components/Content/AsyncApi/Operation.vue.js +1 -1
  208. package/dist/components/Content/AsyncApi/Operation.vue.script.js +1 -1
  209. package/dist/components/Content/AsyncApi/Operation.vue.script.js.map +1 -1
  210. package/dist/components/Content/AsyncApi/helpers/adapt-async-api-parameters.js.map +1 -1
  211. package/dist/components/Content/AsyncApi/helpers/async-api-render-options.js.map +1 -1
  212. package/dist/components/Content/AsyncApi/helpers/filter-children-by-type.js.map +1 -1
  213. package/dist/components/Content/AsyncApi/helpers/get-async-api-labels.js.map +1 -1
  214. package/dist/components/Content/AsyncApi/helpers/get-async-api-required-security.js.map +1 -1
  215. package/dist/components/Content/AsyncApi/helpers/pick-heading.js.map +1 -1
  216. package/dist/components/Content/AsyncApi/helpers/resolve-async-api-nodes.js.map +1 -1
  217. package/dist/components/Content/AsyncApi/index.d.ts +3 -0
  218. package/dist/components/Content/AsyncApi/index.d.ts.map +1 -1
  219. package/dist/components/Content/Auth/Auth.vue.script.js +1 -1
  220. package/dist/components/Content/Auth/Auth.vue.script.js.map +1 -1
  221. package/dist/components/Content/Content.vue.script.js +1 -1
  222. package/dist/components/Content/Content.vue.script.js.map +1 -1
  223. package/dist/components/Content/Models/Model.vue.script.js +1 -1
  224. package/dist/components/Content/Models/Model.vue.script.js.map +1 -1
  225. package/dist/components/Content/Models/ModelTag.vue.d.ts.map +1 -1
  226. package/dist/components/Content/Models/ModelTag.vue.script.js +2 -2
  227. package/dist/components/Content/Models/ModelTag.vue.script.js.map +1 -1
  228. package/dist/components/Content/Models/components/ClassicLayout.vue.d.ts.map +1 -1
  229. package/dist/components/Content/Models/components/ClassicLayout.vue.js +1 -1
  230. package/dist/components/Content/Models/components/ClassicLayout.vue.script.js +1 -1
  231. package/dist/components/Content/Models/components/ClassicLayout.vue.script.js.map +1 -1
  232. package/dist/components/Content/Models/components/ModernLayout.vue.d.ts.map +1 -1
  233. package/dist/components/Content/Models/components/ModernLayout.vue.script.js +1 -1
  234. package/dist/components/Content/Models/components/ModernLayout.vue.script.js.map +1 -1
  235. package/dist/components/Content/Operations/TraversedEntry.vue.script.js +1 -1
  236. package/dist/components/Content/Operations/TraversedEntry.vue.script.js.map +1 -1
  237. package/dist/components/Content/Schema/LinkButton.vue.js +1 -1
  238. package/dist/components/Content/Schema/LinkButton.vue.js.map +1 -1
  239. package/dist/components/Content/Schema/RenderString.vue.script.js +1 -1
  240. package/dist/components/Content/Schema/RenderString.vue.script.js.map +1 -1
  241. package/dist/components/Content/Schema/Schema.vue.d.ts.map +1 -1
  242. package/dist/components/Content/Schema/Schema.vue.js +1 -1
  243. package/dist/components/Content/Schema/Schema.vue.js.map +1 -1
  244. package/dist/components/Content/Schema/Schema.vue.script.js +5 -13
  245. package/dist/components/Content/Schema/Schema.vue.script.js.map +1 -1
  246. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts.map +1 -1
  247. package/dist/components/Content/Schema/SchemaComposition.vue.script.js +1 -1
  248. package/dist/components/Content/Schema/SchemaComposition.vue.script.js.map +1 -1
  249. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.js +1 -1
  250. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.script.js +1 -1
  251. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.script.js.map +1 -1
  252. package/dist/components/Content/Schema/SchemaEnums.vue.d.ts.map +1 -1
  253. package/dist/components/Content/Schema/SchemaEnums.vue.js +1 -1
  254. package/dist/components/Content/Schema/SchemaEnums.vue.script.js +1 -1
  255. package/dist/components/Content/Schema/SchemaEnums.vue.script.js.map +1 -1
  256. package/dist/components/Content/Schema/SchemaHeading.vue.js +1 -1
  257. package/dist/components/Content/Schema/SchemaHeading.vue.script.js +1 -1
  258. package/dist/components/Content/Schema/SchemaHeading.vue.script.js.map +1 -1
  259. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js +1 -1
  260. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js.map +1 -1
  261. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js +1 -1
  262. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js.map +1 -1
  263. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts.map +1 -1
  264. package/dist/components/Content/Schema/SchemaProperty.vue.js +1 -1
  265. package/dist/components/Content/Schema/SchemaProperty.vue.js.map +1 -1
  266. package/dist/components/Content/Schema/SchemaProperty.vue.script.js +9 -3
  267. package/dist/components/Content/Schema/SchemaProperty.vue.script.js.map +1 -1
  268. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.js +1 -1
  269. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js +1 -1
  270. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js.map +1 -1
  271. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.js +1 -1
  272. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.script.js +1 -1
  273. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.script.js.map +1 -1
  274. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.js +1 -1
  275. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js +1 -1
  276. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js.map +1 -1
  277. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts +6 -0
  278. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts.map +1 -1
  279. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js +1 -1
  280. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js.map +1 -1
  281. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js +6 -2
  282. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js.map +1 -1
  283. package/dist/components/Content/Schema/helpers/dynamic-scope.js.map +1 -1
  284. package/dist/components/Content/Schema/helpers/format-example.js.map +1 -1
  285. package/dist/components/Content/Schema/helpers/format-value.js.map +1 -1
  286. package/dist/components/Content/Schema/helpers/get-compositions-to-render.js.map +1 -1
  287. package/dist/components/Content/Schema/helpers/get-enum-values.js.map +1 -1
  288. package/dist/components/Content/Schema/helpers/get-property-description.js.map +1 -1
  289. package/dist/components/Content/Schema/helpers/get-ref-name.d.ts +16 -0
  290. package/dist/components/Content/Schema/helpers/get-ref-name.d.ts.map +1 -1
  291. package/dist/components/Content/Schema/helpers/get-ref-name.js +28 -1
  292. package/dist/components/Content/Schema/helpers/get-ref-name.js.map +1 -1
  293. package/dist/components/Content/Schema/helpers/get-schema-type.js.map +1 -1
  294. package/dist/components/Content/Schema/helpers/has-complex-array-items.js.map +1 -1
  295. package/dist/components/Content/Schema/helpers/is-empty-schema-object.js.map +1 -1
  296. package/dist/components/Content/Schema/helpers/is-model-linkable.d.ts +15 -0
  297. package/dist/components/Content/Schema/helpers/is-model-linkable.d.ts.map +1 -0
  298. package/dist/components/Content/Schema/helpers/is-model-linkable.js +22 -0
  299. package/dist/components/Content/Schema/helpers/is-model-linkable.js.map +1 -0
  300. package/dist/components/Content/Schema/helpers/is-type-object.js.map +1 -1
  301. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js +3 -3
  302. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js.map +1 -1
  303. package/dist/components/Content/Schema/helpers/optimize-value-for-display.js.map +1 -1
  304. package/dist/components/Content/Schema/helpers/partition-all-of-compositions.js.map +1 -1
  305. package/dist/components/Content/Schema/helpers/schema-composition.js.map +1 -1
  306. package/dist/components/Content/Schema/helpers/schema-cycle.js.map +1 -1
  307. package/dist/components/Content/Schema/helpers/schema-name.d.ts +6 -1
  308. package/dist/components/Content/Schema/helpers/schema-name.d.ts.map +1 -1
  309. package/dist/components/Content/Schema/helpers/schema-name.js +5 -4
  310. package/dist/components/Content/Schema/helpers/schema-name.js.map +1 -1
  311. package/dist/components/Content/Schema/helpers/should-display-description.js.map +1 -1
  312. package/dist/components/Content/Schema/helpers/should-display-heading.js.map +1 -1
  313. package/dist/components/Content/Schema/helpers/should-render-array-item-composition.js.map +1 -1
  314. package/dist/components/Content/Schema/helpers/sort-property-names.js.map +1 -1
  315. package/dist/components/Content/Schema/types.d.ts +7 -0
  316. package/dist/components/Content/Schema/types.d.ts.map +1 -1
  317. package/dist/components/Content/Tags/Tag.vue.script.js +1 -1
  318. package/dist/components/Content/Tags/Tag.vue.script.js.map +1 -1
  319. package/dist/components/Content/Tags/components/ClassicLayout.vue.d.ts.map +1 -1
  320. package/dist/components/Content/Tags/components/ClassicLayout.vue.js +1 -1
  321. package/dist/components/Content/Tags/components/ClassicLayout.vue.script.js +1 -1
  322. package/dist/components/Content/Tags/components/ClassicLayout.vue.script.js.map +1 -1
  323. package/dist/components/Content/Tags/components/ModernLayout.vue.d.ts.map +1 -1
  324. package/dist/components/Content/Tags/components/ModernLayout.vue.js +1 -1
  325. package/dist/components/Content/Tags/components/ModernLayout.vue.script.js +1 -1
  326. package/dist/components/Content/Tags/components/ModernLayout.vue.script.js.map +1 -1
  327. package/dist/components/Content/Tags/components/TagSection.vue.d.ts.map +1 -1
  328. package/dist/components/Content/Tags/components/TagSection.vue.script.js +1 -1
  329. package/dist/components/Content/Tags/components/TagSection.vue.script.js.map +1 -1
  330. package/dist/components/GettingStarted.vue.d.ts.map +1 -1
  331. package/dist/components/GettingStarted.vue.js +1 -1
  332. package/dist/components/GettingStarted.vue.js.map +1 -1
  333. package/dist/components/GettingStarted.vue.script.js +4 -3
  334. package/dist/components/GettingStarted.vue.script.js.map +1 -1
  335. package/dist/components/HttpMethod/HttpMethod.vue.script.js +1 -1
  336. package/dist/components/HttpMethod/HttpMethod.vue.script.js.map +1 -1
  337. package/dist/components/IntersectionObserver.vue.script.js +10 -7
  338. package/dist/components/IntersectionObserver.vue.script.js.map +1 -1
  339. package/dist/components/Lazy/Lazy.vue.script.js +2 -2
  340. package/dist/components/Lazy/Lazy.vue.script.js.map +1 -1
  341. package/dist/components/LinkList/LinkList.vue.js +1 -1
  342. package/dist/components/LinkList/LinkList.vue.script.js +1 -1
  343. package/dist/components/LinkList/LinkList.vue.script.js.map +1 -1
  344. package/dist/components/MobileHeader.vue.d.ts.map +1 -1
  345. package/dist/components/MobileHeader.vue.script.js +4 -4
  346. package/dist/components/MobileHeader.vue.script.js.map +1 -1
  347. package/dist/components/OperationPath.vue.d.ts.map +1 -1
  348. package/dist/components/OperationPath.vue.js +1 -1
  349. package/dist/components/OperationPath.vue.script.js +1 -1
  350. package/dist/components/OperationPath.vue.script.js.map +1 -1
  351. package/dist/components/OperationsList/OperationsList.vue.js +1 -1
  352. package/dist/components/OperationsList/OperationsList.vue.script.js +1 -1
  353. package/dist/components/OperationsList/OperationsList.vue.script.js.map +1 -1
  354. package/dist/components/OperationsList/OperationsListItem.vue.js +1 -1
  355. package/dist/components/OperationsList/OperationsListItem.vue.script.js +1 -1
  356. package/dist/components/OperationsList/OperationsListItem.vue.script.js.map +1 -1
  357. package/dist/components/RenderPlugins/RenderPluginView.vue.script.js +1 -1
  358. package/dist/components/RenderPlugins/RenderPluginView.vue.script.js.map +1 -1
  359. package/dist/components/RenderPlugins/RenderPlugins.vue.script.js +1 -1
  360. package/dist/components/RenderPlugins/RenderPlugins.vue.script.js.map +1 -1
  361. package/dist/components/ScreenReader.vue.js +1 -1
  362. package/dist/components/ScreenReader.vue.script.js +2 -2
  363. package/dist/components/ScreenReader.vue.script.js.map +1 -1
  364. package/dist/components/Section/CompactSection.vue.d.ts.map +1 -1
  365. package/dist/components/Section/CompactSection.vue.js +1 -1
  366. package/dist/components/Section/CompactSection.vue.script.js +1 -1
  367. package/dist/components/Section/CompactSection.vue.script.js.map +1 -1
  368. package/dist/components/Section/Section.vue.js +1 -1
  369. package/dist/components/Section/Section.vue.script.js +1 -1
  370. package/dist/components/Section/Section.vue.script.js.map +1 -1
  371. package/dist/components/Section/SectionAccordion.vue.d.ts.map +1 -1
  372. package/dist/components/Section/SectionAccordion.vue.js +1 -1
  373. package/dist/components/Section/SectionAccordion.vue.script.js +1 -1
  374. package/dist/components/Section/SectionAccordion.vue.script.js.map +1 -1
  375. package/dist/components/Section/SectionColumn.vue.js +1 -1
  376. package/dist/components/Section/SectionColumn.vue.js.map +1 -1
  377. package/dist/components/Section/SectionColumns.vue.js +1 -1
  378. package/dist/components/Section/SectionColumns.vue.js.map +1 -1
  379. package/dist/components/Section/SectionContainer.vue.js +1 -1
  380. package/dist/components/Section/SectionContainer.vue.script.js +2 -2
  381. package/dist/components/Section/SectionContainer.vue.script.js.map +1 -1
  382. package/dist/components/Section/SectionContainerAccordion.vue.d.ts.map +1 -1
  383. package/dist/components/Section/SectionContainerAccordion.vue.js +1 -1
  384. package/dist/components/Section/SectionContainerAccordion.vue.script.js +1 -1
  385. package/dist/components/Section/SectionContainerAccordion.vue.script.js.map +1 -1
  386. package/dist/components/Section/SectionContent.vue.js +1 -1
  387. package/dist/components/Section/SectionContent.vue.js.map +1 -1
  388. package/dist/components/Section/SectionHeader.vue.js +1 -1
  389. package/dist/components/Section/SectionHeader.vue.script.js +2 -2
  390. package/dist/components/Section/SectionHeader.vue.script.js.map +1 -1
  391. package/dist/components/Section/SectionHeaderTag.vue.js +1 -1
  392. package/dist/components/Section/SectionHeaderTag.vue.script.js +1 -1
  393. package/dist/components/Section/SectionHeaderTag.vue.script.js.map +1 -1
  394. package/dist/components/SectionFlare/SectionFlare.vue.js +1 -1
  395. package/dist/components/SectionFlare/SectionFlare.vue.js.map +1 -1
  396. package/dist/components/ShowMoreButton.vue.js +1 -1
  397. package/dist/components/ShowMoreButton.vue.script.js +1 -1
  398. package/dist/components/ShowMoreButton.vue.script.js.map +1 -1
  399. package/dist/components/index.d.ts +1 -0
  400. package/dist/components/index.d.ts.map +1 -1
  401. package/dist/components/index.js +5 -1
  402. package/dist/features/Operation/Operation.vue.script.js +1 -1
  403. package/dist/features/Operation/Operation.vue.script.js.map +1 -1
  404. package/dist/features/Operation/components/ContentTypeSelect.vue.d.ts.map +1 -1
  405. package/dist/features/Operation/components/ContentTypeSelect.vue.script.js +2 -2
  406. package/dist/features/Operation/components/ContentTypeSelect.vue.script.js.map +1 -1
  407. package/dist/features/Operation/components/Header.vue.d.ts +2 -0
  408. package/dist/features/Operation/components/Header.vue.d.ts.map +1 -1
  409. package/dist/features/Operation/components/Header.vue.js.map +1 -1
  410. package/dist/features/Operation/components/Header.vue.script.js +4 -2
  411. package/dist/features/Operation/components/Header.vue.script.js.map +1 -1
  412. package/dist/features/Operation/components/Headers.vue.d.ts +2 -0
  413. package/dist/features/Operation/components/Headers.vue.d.ts.map +1 -1
  414. package/dist/features/Operation/components/Headers.vue.js +1 -1
  415. package/dist/features/Operation/components/Headers.vue.js.map +1 -1
  416. package/dist/features/Operation/components/Headers.vue.script.js +5 -2
  417. package/dist/features/Operation/components/Headers.vue.script.js.map +1 -1
  418. package/dist/features/Operation/components/OperationParameters.vue.d.ts.map +1 -1
  419. package/dist/features/Operation/components/OperationParameters.vue.js.map +1 -1
  420. package/dist/features/Operation/components/OperationParameters.vue.script.js +4 -4
  421. package/dist/features/Operation/components/OperationParameters.vue.script.js.map +1 -1
  422. package/dist/features/Operation/components/OperationResponses.vue.script.js +1 -1
  423. package/dist/features/Operation/components/OperationResponses.vue.script.js.map +1 -1
  424. package/dist/features/Operation/components/OperationScopes.vue.script.js +1 -1
  425. package/dist/features/Operation/components/OperationScopes.vue.script.js.map +1 -1
  426. package/dist/features/Operation/components/ParameterList.vue.script.js +1 -1
  427. package/dist/features/Operation/components/ParameterList.vue.script.js.map +1 -1
  428. package/dist/features/Operation/components/ParameterListItem.vue.d.ts.map +1 -1
  429. package/dist/features/Operation/components/ParameterListItem.vue.js +1 -1
  430. package/dist/features/Operation/components/ParameterListItem.vue.js.map +1 -1
  431. package/dist/features/Operation/components/ParameterListItem.vue.script.js +4 -1
  432. package/dist/features/Operation/components/ParameterListItem.vue.script.js.map +1 -1
  433. package/dist/features/Operation/components/RequestBody.vue.d.ts.map +1 -1
  434. package/dist/features/Operation/components/RequestBody.vue.js +1 -1
  435. package/dist/features/Operation/components/RequestBody.vue.js.map +1 -1
  436. package/dist/features/Operation/components/RequestBody.vue.script.js +12 -3
  437. package/dist/features/Operation/components/RequestBody.vue.script.js.map +1 -1
  438. package/dist/features/Operation/components/SecurityRequirementBadge.vue.script.js +1 -1
  439. package/dist/features/Operation/components/SecurityRequirementBadge.vue.script.js.map +1 -1
  440. package/dist/features/Operation/components/SecurityRequirementBadgeScheme.vue.script.js +1 -1
  441. package/dist/features/Operation/components/SecurityRequirementBadgeScheme.vue.script.js.map +1 -1
  442. package/dist/features/Operation/components/callbacks/Callback.vue.js +1 -1
  443. package/dist/features/Operation/components/callbacks/Callback.vue.script.js +1 -1
  444. package/dist/features/Operation/components/callbacks/Callback.vue.script.js.map +1 -1
  445. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js +1 -1
  446. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js.map +1 -1
  447. package/dist/features/Operation/components/helpers/get-parameter-examples.js.map +1 -1
  448. package/dist/features/Operation/helpers/filter-selected-security.js.map +1 -1
  449. package/dist/features/Operation/helpers/flatten-deep-object-query-parameter.js.map +1 -1
  450. package/dist/features/Operation/helpers/get-required-security.js.map +1 -1
  451. package/dist/features/Operation/helpers/operation-stability.js.map +1 -1
  452. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts.map +1 -1
  453. package/dist/features/Operation/layouts/ClassicLayout.vue.js +1 -1
  454. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js +1 -1
  455. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js.map +1 -1
  456. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts.map +1 -1
  457. package/dist/features/Operation/layouts/ModernLayout.vue.js +1 -1
  458. package/dist/features/Operation/layouts/ModernLayout.vue.script.js +1 -1
  459. package/dist/features/Operation/layouts/ModernLayout.vue.script.js.map +1 -1
  460. package/dist/features/Operation/request-body-composition-index.js.map +1 -1
  461. package/dist/features/Search/components/SearchButton.vue.d.ts.map +1 -1
  462. package/dist/features/Search/components/SearchButton.vue.script.js +1 -1
  463. package/dist/features/Search/components/SearchButton.vue.script.js.map +1 -1
  464. package/dist/features/Search/components/SearchModal.vue.d.ts.map +1 -1
  465. package/dist/features/Search/components/SearchModal.vue.js +1 -1
  466. package/dist/features/Search/components/SearchModal.vue.script.js +1 -1
  467. package/dist/features/Search/components/SearchModal.vue.script.js.map +1 -1
  468. package/dist/features/Search/components/SearchResult.vue.d.ts.map +1 -1
  469. package/dist/features/Search/components/SearchResult.vue.js.map +1 -1
  470. package/dist/features/Search/components/SearchResult.vue.script.js +3 -3
  471. package/dist/features/Search/components/SearchResult.vue.script.js.map +1 -1
  472. package/dist/features/Search/helpers/create-fuse-instance.js.map +1 -1
  473. package/dist/features/Search/helpers/create-search-index.js.map +1 -1
  474. package/dist/features/Search/hooks/useSearchIndex.js.map +1 -1
  475. package/dist/features/ask-agent-button/AskAgentButton.vue.js +1 -1
  476. package/dist/features/ask-agent-button/AskAgentButton.vue.script.js +1 -1
  477. package/dist/features/ask-agent-button/AskAgentButton.vue.script.js.map +1 -1
  478. package/dist/features/developer-tools/DeveloperTools.vue.script.js +2 -2
  479. package/dist/features/developer-tools/DeveloperTools.vue.script.js.map +1 -1
  480. package/dist/features/developer-tools/components/ApiReferenceToolbarBlurb.vue.js +1 -1
  481. package/dist/features/developer-tools/components/ApiReferenceToolbarBlurb.vue.js.map +1 -1
  482. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js +1 -1
  483. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js.map +1 -1
  484. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.d.ts.map +1 -1
  485. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.js.map +1 -1
  486. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js +3 -3
  487. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js.map +1 -1
  488. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js +1 -1
  489. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js.map +1 -1
  490. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js +1 -1
  491. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js.map +1 -1
  492. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.d.ts.map +1 -1
  493. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js +4 -3
  494. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js.map +1 -1
  495. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.d.ts.map +1 -1
  496. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js.map +1 -1
  497. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js +2 -1
  498. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js.map +1 -1
  499. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.d.ts.map +1 -1
  500. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js +4 -3
  501. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js.map +1 -1
  502. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.d.ts.map +1 -1
  503. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js +1 -1
  504. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js.map +1 -1
  505. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js +1 -1
  506. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js.map +1 -1
  507. package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js +2 -2
  508. package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js.map +1 -1
  509. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js +1 -1
  510. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js.map +1 -1
  511. package/dist/features/example-responses/ExampleResponse.vue.js +1 -1
  512. package/dist/features/example-responses/ExampleResponse.vue.script.js +1 -1
  513. package/dist/features/example-responses/ExampleResponse.vue.script.js.map +1 -1
  514. package/dist/features/example-responses/ExampleResponseTab.vue.js +1 -1
  515. package/dist/features/example-responses/ExampleResponseTab.vue.script.js +1 -1
  516. package/dist/features/example-responses/ExampleResponseTab.vue.script.js.map +1 -1
  517. package/dist/features/example-responses/ExampleResponseTabList.vue.d.ts.map +1 -1
  518. package/dist/features/example-responses/ExampleResponseTabList.vue.js +1 -1
  519. package/dist/features/example-responses/ExampleResponseTabList.vue.script.js +1 -1
  520. package/dist/features/example-responses/ExampleResponseTabList.vue.script.js.map +1 -1
  521. package/dist/features/example-responses/ExampleResponses.vue.d.ts.map +1 -1
  522. package/dist/features/example-responses/ExampleResponses.vue.js +1 -1
  523. package/dist/features/example-responses/ExampleResponses.vue.script.js +1 -1
  524. package/dist/features/example-responses/ExampleResponses.vue.script.js.map +1 -1
  525. package/dist/features/example-responses/ExampleSchema.vue.script.js +1 -1
  526. package/dist/features/example-responses/ExampleSchema.vue.script.js.map +1 -1
  527. package/dist/features/example-responses/helpers/has-response-content.js.map +1 -1
  528. package/dist/features/example-responses/helpers/normalize-mime-type-object.js.map +1 -1
  529. package/dist/features/example-responses/helpers/normalize-mime-type.js.map +1 -1
  530. package/dist/features/external-docs/ExternalDocs.vue.d.ts.map +1 -1
  531. package/dist/features/external-docs/ExternalDocs.vue.js.map +1 -1
  532. package/dist/features/external-docs/ExternalDocs.vue.script.js +25 -13
  533. package/dist/features/external-docs/ExternalDocs.vue.script.js.map +1 -1
  534. package/dist/features/info-object/Contact.vue.d.ts.map +1 -1
  535. package/dist/features/info-object/Contact.vue.js.map +1 -1
  536. package/dist/features/info-object/Contact.vue.script.js +10 -4
  537. package/dist/features/info-object/Contact.vue.script.js.map +1 -1
  538. package/dist/features/info-object/InfoLink.vue.d.ts.map +1 -1
  539. package/dist/features/info-object/InfoLink.vue.js.map +1 -1
  540. package/dist/features/info-object/InfoLink.vue.script.js +17 -5
  541. package/dist/features/info-object/InfoLink.vue.script.js.map +1 -1
  542. package/dist/features/info-object/License.vue.d.ts.map +1 -1
  543. package/dist/features/info-object/License.vue.js.map +1 -1
  544. package/dist/features/info-object/License.vue.script.js +11 -5
  545. package/dist/features/info-object/License.vue.script.js.map +1 -1
  546. package/dist/features/info-object/TermsOfService.vue.d.ts.map +1 -1
  547. package/dist/features/info-object/TermsOfService.vue.js.map +1 -1
  548. package/dist/features/info-object/TermsOfService.vue.script.js +10 -4
  549. package/dist/features/info-object/TermsOfService.vue.script.js.map +1 -1
  550. package/dist/features/localization/locales/ar.js.map +1 -1
  551. package/dist/features/localization/locales/de.js.map +1 -1
  552. package/dist/features/localization/locales/en.js.map +1 -1
  553. package/dist/features/localization/locales/es.js.map +1 -1
  554. package/dist/features/localization/locales/fr.js.map +1 -1
  555. package/dist/features/localization/locales/pt.d.ts +229 -0
  556. package/dist/features/localization/locales/pt.d.ts.map +1 -0
  557. package/dist/features/localization/locales/pt.js +227 -0
  558. package/dist/features/localization/locales/pt.js.map +1 -0
  559. package/dist/features/localization/locales/ru.js.map +1 -1
  560. package/dist/features/localization/locales/zh-cn.js.map +1 -1
  561. package/dist/features/localization/translations.d.ts +228 -0
  562. package/dist/features/localization/translations.d.ts.map +1 -1
  563. package/dist/features/localization/translations.js +4 -2
  564. package/dist/features/localization/translations.js.map +1 -1
  565. package/dist/features/localization/use-localization.js.map +1 -1
  566. package/dist/features/multiple-documents/DocumentSelector.vue.d.ts.map +1 -1
  567. package/dist/features/multiple-documents/DocumentSelector.vue.script.js +1 -1
  568. package/dist/features/multiple-documents/DocumentSelector.vue.script.js.map +1 -1
  569. package/dist/features/specification-extension/SpecificationExtension.vue.script.js +1 -1
  570. package/dist/features/specification-extension/SpecificationExtension.vue.script.js.map +1 -1
  571. package/dist/features/specification-extension/helpers.js.map +1 -1
  572. package/dist/features/test-request-button/TestRequestButton.vue.js +1 -1
  573. package/dist/features/test-request-button/TestRequestButton.vue.script.js +1 -1
  574. package/dist/features/test-request-button/TestRequestButton.vue.script.js.map +1 -1
  575. package/dist/features/x-badges/XBadges.vue.d.ts.map +1 -1
  576. package/dist/features/x-badges/XBadges.vue.script.js +1 -1
  577. package/dist/features/x-badges/XBadges.vue.script.js.map +1 -1
  578. package/dist/helpers/build-models-index.d.ts +15 -0
  579. package/dist/helpers/build-models-index.d.ts.map +1 -0
  580. package/dist/helpers/build-models-index.js +28 -0
  581. package/dist/helpers/build-models-index.js.map +1 -0
  582. package/dist/helpers/color-mode.js.map +1 -1
  583. package/dist/helpers/download.js.map +1 -1
  584. package/dist/helpers/get-async-api-message-payload-schema.js.map +1 -1
  585. package/dist/helpers/get-async-api-model-schema.js.map +1 -1
  586. package/dist/helpers/id-routing.d.ts +18 -4
  587. package/dist/helpers/id-routing.d.ts.map +1 -1
  588. package/dist/helpers/id-routing.js +67 -20
  589. package/dist/helpers/id-routing.js.map +1 -1
  590. package/dist/helpers/is-introduction-entry.js.map +1 -1
  591. package/dist/helpers/lazy-bus.js.map +1 -1
  592. package/dist/helpers/load-from-perssistance.js.map +1 -1
  593. package/dist/helpers/map-config-plugins.js.map +1 -1
  594. package/dist/helpers/map-config-to-workspace-store.js.map +1 -1
  595. package/dist/helpers/normalize-configurations.js +1 -1
  596. package/dist/helpers/normalize-configurations.js.map +1 -1
  597. package/dist/helpers/openapi.d.ts +6 -1
  598. package/dist/helpers/openapi.d.ts.map +1 -1
  599. package/dist/helpers/openapi.js +37 -6
  600. package/dist/helpers/openapi.js.map +1 -1
  601. package/dist/helpers/safe-deep-clone.js.map +1 -1
  602. package/dist/helpers/storage.d.ts +16 -0
  603. package/dist/helpers/storage.d.ts.map +1 -1
  604. package/dist/helpers/storage.js +14 -0
  605. package/dist/helpers/storage.js.map +1 -1
  606. package/dist/helpers/upload-temp-document.js.map +1 -1
  607. package/dist/hooks/use-agent.js.map +1 -1
  608. package/dist/hooks/use-intersection.js.map +1 -1
  609. package/dist/plugins/hooks/usePluginManager.js.map +1 -1
  610. package/dist/plugins/persistence-plugin.js +6 -1
  611. package/dist/plugins/persistence-plugin.js.map +1 -1
  612. package/dist/plugins/plugin-manager.js +35 -0
  613. package/dist/plugins/plugin-manager.js.map +1 -1
  614. package/dist/plugins/posthog/index.js.map +1 -1
  615. package/dist/standalone/lib/html-api.js.map +1 -1
  616. package/dist/standalone/lib/load-plugins-from-urls.js.map +1 -1
  617. package/dist/style.css +1419 -1316
  618. package/dist/vue-styles.css +918 -831
  619. package/package.json +27 -27
  620. package/dist/browser/chunks/AgentScalarChatInterface-C8lX3RCo.js +0 -27
  621. package/dist/browser/chunks/ScalarTextInput.vue-Xf60Nwf-.js +0 -27
  622. package/dist/browser/chunks/browser-67K6wmG9.js +0 -129
  623. package/dist/browser/chunks/modal-B8Opb61-.js +0 -15
  624. package/dist/browser/chunks/modal-Dcl-Y2Zk.js +0 -99
  625. package/dist/browser/chunks/runtime-core.esm-bundler-Byrbbu5Q.js +0 -17
  626. package/dist/browser/chunks/vendor-CBP43oHJ.js +0 -306
  627. package/dist/features/Operation/helpers/should-ignore-entity.d.ts +0 -8
  628. package/dist/features/Operation/helpers/should-ignore-entity.d.ts.map +0 -1
  629. package/dist/features/Operation/helpers/should-ignore-entity.js +0 -9
  630. package/dist/features/Operation/helpers/should-ignore-entity.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ModelTag.vue.script.js","names":[],"sources":["../../../../src/components/Content/Models/ModelTag.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n DEFAULT_MODELS_SECTION_LABEL,\n type ModelsSectionLabel,\n} from '@scalar/types/api-reference'\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\nconst { modelsSectionLabel = DEFAULT_MODELS_SECTION_LABEL } = defineProps<{\n id: string\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n layout: 'classic' | 'modern'\n modelsSectionLabel?: ModelsSectionLabel\n}>()\n</script>\n<template>\n <!-- Modern Layout Model Container -->\n <SectionContainer v-if=\"layout === 'modern'\">\n <Section\n :id=\"id\"\n :aria-label=\"modelsSectionLabel\"\n @intersecting=\"() => eventBus?.emit('intersecting:nav-item', { id })\">\n <SectionHeader>\n <SectionHeaderTag :level=\"2\">\n {{ modelsSectionLabel }}\n </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=\"modelsSectionLabel\"\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\">{{ modelsSectionLabel }}</SectionHeader>\n </template>\n <slot />\n </SectionContainerAccordion>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;UAuB0B,QAAA,WAAM,YAAA,WAAA,EAA9B,YAqBmB,0BAAA,EAAA,KAAA,GAAA,EAAA;2BADP,CAnBV,YAmBU,MAAA,gBAAA,EAAA;KAlBP,IAAI,QAAA;KACJ,cAAY,QAAA;KACZ,gBAAY,OAAA,OAAA,OAAA,WAAQ,QAAA,UAAU,KAAI,yBAAA,EAAA,IAA4B,QAAA,IAAE,CAAA;;4BAKjD,CAJhB,YAIgB,MAAA,sBAAA,EAAA,MAAA;6BADK,CAFnB,YAEmB,0BAAA,EAFA,OAAO,GAAC,EAAA;8BACD,CAAA,gBAAA,gBAArB,QAAA,mBAAkB,EAAA,EAAA,CAAA,CAAA;;;;UAGR,QAAA,cACf,WAAQ,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA,IAAA,WAAA,EAGR,YAIiB,wBAAA;;MAHd,IAAA,QAAA;MACD,OAAM;MACL,SAAK,OAAA,OAAA,OAAA,WAAQ,QAAA,SAAS,KAAI,mBAAA;OAAA,IAAsB,QAAA;OAAE,MAAA;OAAA,CAAA;;;;;uBAM3D,YAY4B,mCAAA;;IAVzB,cAAY,QAAA;IACb,OAAM;IACL,YAAU,CAAG,QAAA;IACb,uBAAiB,OAAA,OAAA,OAAA,WAAe,QAAA,UAAU,KAAI,mBAAA;KAAA,IAAsB,QAAA;KAAE,MAAQ,QAAA;KAAW,CAAA;;IAG/E,OAAK,cACoD,CAAlE,YAAkE,MAAA,sBAAA,EAAA,EAAlD,OAAO,GAAC,EAAA;4BAA0B,CAAA,gBAAA,gBAArB,QAAA,mBAAkB,EAAA,EAAA,CAAA,CAAA;;;2BAEzC,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ModelTag.vue.script.js","names":[],"sources":["../../../../src/components/Content/Models/ModelTag.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n DEFAULT_MODELS_SECTION_LABEL,\n type ModelsSectionLabel,\n} from '@scalar/types/api-reference'\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\nconst { modelsSectionLabel = DEFAULT_MODELS_SECTION_LABEL } = defineProps<{\n id: string\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n layout: 'classic' | 'modern'\n modelsSectionLabel?: ModelsSectionLabel\n}>()\n</script>\n<template>\n <!-- Modern Layout Model Container -->\n <SectionContainer v-if=\"layout === 'modern'\">\n <Section\n :id=\"id\"\n :aria-label=\"modelsSectionLabel\"\n @intersecting=\"() => eventBus?.emit('intersecting:nav-item', { id })\">\n <SectionHeader>\n <SectionHeaderTag :level=\"2\">\n {{ modelsSectionLabel }}\n </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=\"modelsSectionLabel\"\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\">{{ modelsSectionLabel }}</SectionHeader>\n </template>\n <slot />\n </SectionContainerAccordion>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;UAuB0B,QAAA,WAAM,YAAA,UAAA,GAA9B,YAqBmB,0BAAA,EAAA,KAAA,EAAA,GAAA;2BADP,CAnBV,YAmBU,MAAA,eAAA,GAAA;KAlBP,IAAI,QAAA;KACJ,cAAY,QAAA;KACZ,gBAAY,OAAA,OAAA,OAAA,WAAQ,QAAA,UAAU,KAAI,yBAAA,EAAA,IAA4B,QAAA,GAAE,CAAA;;4BAKjD,CAJhB,YAIgB,MAAA,qBAAA,GAAA,MAAA;6BADK,CAFnB,YAEmB,0BAAA,EAFA,OAAO,EAAC,GAAA;8BACD,CAAA,gBAAA,gBAArB,QAAA,kBAAkB,GAAA,CAAA,CAAA,CAAA;;;;UAGR,QAAA,cACf,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,CAAA,KAAA,UAAA,GAGR,YAIiB,wBAAA;;MAHd,IAAA,QAAA;MACD,OAAM;MACL,SAAK,OAAA,OAAA,OAAA,WAAQ,QAAA,SAAS,KAAI,mBAAA;OAAA,IAAsB,QAAA;OAAE,MAAA;MAAA,CAAA;;;;;uBAM3D,YAY4B,mCAAA;;IAVzB,cAAY,QAAA;IACb,OAAM;IACL,YAAU,CAAG,QAAA;IACb,uBAAiB,OAAA,OAAA,OAAA,WAAe,QAAA,UAAU,KAAI,mBAAA;KAAA,IAAsB,QAAA;KAAE,MAAQ,QAAA;IAAW,CAAA;;IAG/E,OAAK,cACoD,CAAlE,YAAkE,MAAA,qBAAA,GAAA,EAAlD,OAAO,EAAC,GAAA;4BAA0B,CAAA,gBAAA,gBAArB,QAAA,kBAAkB,GAAA,CAAA,CAAA,CAAA;;;2BAEzC,CAAR,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClassicLayout.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/Content/Models/components/ClassicLayout.vue"],"names":[],"mappings":"AA+FA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACb,MAAM,8DAA8D,CAAA;AAOrE,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,OAAO,EAAE,IAAI,CACX,4BAA4B,EAC1B,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,GAC3B,YAAY,CACf,CAAA;CACF,CAAC;AA0KF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"ClassicLayout.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/Content/Models/components/ClassicLayout.vue"],"names":[],"mappings":"AA+FA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACb,MAAM,8DAA8D,CAAA;AAOrE,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,OAAO,EAAE,IAAI,CACX,4BAA4B,EAC1B,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,GAC3B,YAAY,CACf,CAAA;CACF,CAAC;AA4KF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_
2
2
  import ClassicLayout_vue_vue_type_script_setup_true_lang_default from "./ClassicLayout.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/components/Content/Models/components/ClassicLayout.vue
5
- var ClassicLayout_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ClassicLayout_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f3ae088e"]]);
5
+ var ClassicLayout_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ClassicLayout_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f3ae088e"]]);
6
6
  //#endregion
7
7
  export { ClassicLayout_default as default };
8
8
 
@@ -11,7 +11,7 @@ var _hoisted_1 = {
11
11
  class: "properties"
12
12
  };
13
13
  var _hoisted_2 = { key: 1 };
14
- var ClassicLayout_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
14
+ var ClassicLayout_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
15
15
  __name: "ClassicLayout",
16
16
  props: {
17
17
  id: {},
@@ -1 +1 @@
1
- {"version":3,"file":"ClassicLayout.vue.script.js","names":[],"sources":["../../../../../src/components/Content/Models/components/ClassicLayout.vue"],"sourcesContent":["<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 {\n OpenApiDocument,\n SchemaObject,\n} 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, options, document } = defineProps<{\n id: string\n name: string\n schema: SchemaObject\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n /** The document the model belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n | 'hideModels'\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 :hideModelNames=\"options.hideModels\"\n :name=\"property\"\n :options=\"{ ...options, document }\"\n :required=\"schema.required?.includes(property)\"\n :schema=\"resolve.schema(value)\" />\n </div>\n <div v-else>\n <SchemaProperty\n :eventBus=\"eventBus\"\n :hideModelNames=\"options.hideModels\"\n :options=\"{ ...options, document }\"\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;uBAgCE,YAwCmB,MAAA,yBAAA,EAAA;IAvChB,cAAY,QAAA,OAAO,SAAS,QAAA;IAC5B,YAAU,CAAG,QAAA;IACb,uBAAiB,OAAA,OAAA,OAAA,MAAU,UAAU,QAAA,UAAU,KAAI,mBAAA;KAAA,IAAsB,QAAA;KAAE,MAAQ;KAAK,CAAA;;IAG9E,OAAK,cAWL,CAVT,YAUS,MAAA,eAAA,EAAA;KATP,OAAM;KACL,UAAU,QAAA;KACV,iBAAa,OAAA,OAAA,OAAA,WAAQ,QAAA,UAAU,KAAI,qBAAA,EAAA,IAAwB,QAAA,IAAE,CAAA;;4BAM3C,CALnB,YAKmB,MAAA,yBAAA,EAAA,EALA,OAAO,GAAC,EAAA;6BAIL,CAHpB,YAGoB,MAAA,sBAAA,EAAA;OAFlB,OAAM;OACL,MAAM,QAAA,OAAO,SAAS,QAAA;OACtB,OAAO,QAAA;;;;;;2BAiBV,CAAA,gBAXkB,QAAA,UAAA,WAAA,EADxB,mBAYM,OAZN,YAYM,EAAA,UAAA,KAAA,EATJ,mBAQoC,UAAA,MAAA,WAPN,OAAO,QAAQ,QAAA,OAAO,cAAU,EAAA,CAAA,GAAA,CAApD,UAAU,WAAK;yBADzB,YAQoC,MAAA,uBAAA,EAAA;MANjC,KAAK;MACL,UAAU,QAAA;MACV,gBAAgB,QAAA,QAAQ;MACxB,MAAM;MACN,SAAO;OAAA,GAAO,QAAA;OAAO,UAAE,QAAA;OAAQ;MAC/B,UAAU,QAAA,OAAO,UAAU,SAAS,SAAQ;MAC5C,QAAQ,MAAA,QAAO,CAAC,OAAO,MAAK;;;;;;;;;iCAEjC,mBAMM,OAAA,YAAA,CALJ,YAIqB,MAAA,uBAAA,EAAA;KAHlB,UAAU,QAAA;KACV,gBAAgB,QAAA,QAAQ;KACxB,SAAO;MAAA,GAAO,QAAA;MAAO,UAAE,QAAA;MAAQ;KAC/B,QAAQ,QAAA"}
1
+ {"version":3,"file":"ClassicLayout.vue.script.js","names":[],"sources":["../../../../../src/components/Content/Models/components/ClassicLayout.vue"],"sourcesContent":["<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 {\n OpenApiDocument,\n SchemaObject,\n} 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, options, document } = defineProps<{\n id: string\n name: string\n schema: SchemaObject\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n /** The document the model belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n | 'hideModels'\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 :hideModelNames=\"options.hideModels\"\n :name=\"property\"\n :options=\"{ ...options, document }\"\n :required=\"schema.required?.includes(property)\"\n :schema=\"resolve.schema(value)\" />\n </div>\n <div v-else>\n <SchemaProperty\n :eventBus=\"eventBus\"\n :hideModelNames=\"options.hideModels\"\n :options=\"{ ...options, document }\"\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;uBAgCE,YAwCmB,MAAA,wBAAA,GAAA;IAvChB,cAAY,QAAA,OAAO,SAAS,QAAA;IAC5B,YAAU,CAAG,QAAA;IACb,uBAAiB,OAAA,OAAA,OAAA,MAAU,UAAU,QAAA,UAAU,KAAI,mBAAA;KAAA,IAAsB,QAAA;KAAE,MAAQ;IAAK,CAAA;;IAG9E,OAAK,cAWL,CAVT,YAUS,MAAA,cAAA,GAAA;KATP,OAAM;KACL,UAAU,QAAA;KACV,iBAAa,OAAA,OAAA,OAAA,WAAQ,QAAA,UAAU,KAAI,qBAAA,EAAA,IAAwB,QAAA,GAAE,CAAA;;4BAM3C,CALnB,YAKmB,MAAA,wBAAA,GAAA,EALA,OAAO,EAAC,GAAA;6BAIL,CAHpB,YAGoB,MAAA,qBAAA,GAAA;OAFlB,OAAM;OACL,MAAM,QAAA,OAAO,SAAS,QAAA;OACtB,OAAO,QAAA;;;;;;2BAiBV,CAAA,gBAXkB,QAAA,UAAA,UAAA,GADxB,mBAYM,OAZN,YAYM,EAAA,UAAA,IAAA,GATJ,mBAQoC,UAAA,MAAA,WAPN,OAAO,QAAQ,QAAA,OAAO,cAAU,CAAA,CAAA,IAAA,CAApD,UAAU,WAAK;yBADzB,YAQoC,MAAA,sBAAA,GAAA;MANjC,KAAK;MACL,UAAU,QAAA;MACV,gBAAgB,QAAA,QAAQ;MACxB,MAAM;MACN,SAAO;OAAA,GAAO,QAAA;OAAO,UAAE,QAAA;MAAQ;MAC/B,UAAU,QAAA,OAAO,UAAU,SAAS,QAAQ;MAC5C,QAAQ,MAAA,OAAA,CAAO,CAAC,OAAO,KAAK;;;;;;;;;iCAEjC,mBAMM,OAAA,YAAA,CALJ,YAIqB,MAAA,sBAAA,GAAA;KAHlB,UAAU,QAAA;KACV,gBAAgB,QAAA,QAAQ;KACxB,SAAO;MAAA,GAAO,QAAA;MAAO,UAAE,QAAA;KAAQ;KAC/B,QAAQ,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModernLayout.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/Content/Models/components/ModernLayout.vue"],"names":[],"mappings":"AA6DA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACb,MAAM,8DAA8D,CAAA;AAMrE,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,OAAO,EAAE;QACP,4BAA4B,EAAE,OAAO,GAAG,SAAS,CAAA;QACjD,uBAAuB,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;QACzD,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;QAC/B,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAA;KAC/C,CAAA;CACF,CAAC;AAiIF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"ModernLayout.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/Content/Models/components/ModernLayout.vue"],"names":[],"mappings":"AA6DA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACb,MAAM,8DAA8D,CAAA;AAMrE,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,OAAO,EAAE;QACP,4BAA4B,EAAE,OAAO,GAAG,SAAS,CAAA;QACjD,uBAAuB,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;QACzD,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;QAC/B,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAA;KAC/C,CAAA;CACF,CAAC;AAmIF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -5,7 +5,7 @@ import Schema_default from "../../Schema/Schema.vue.js";
5
5
  import { createBlock, createVNode, defineComponent, openBlock, unref, withCtx } from "vue";
6
6
  import { ScalarErrorBoundary } from "@scalar/components/error-boundary";
7
7
  //#region src/components/Content/Models/components/ModernLayout.vue?vue&type=script&setup=true&lang.ts
8
- var ModernLayout_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
8
+ var ModernLayout_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
9
9
  __name: "ModernLayout",
10
10
  props: {
11
11
  id: {},
@@ -1 +1 @@
1
- {"version":3,"file":"ModernLayout.vue.script.js","names":[],"sources":["../../../../../src/components/Content/Models/components/ModernLayout.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components/error-boundary'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n OpenApiDocument,\n SchemaObject,\n} 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, document } = defineProps<{\n id: string\n name: string\n schema: SchemaObject\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n /** The document the model belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: {\n orderRequiredPropertiesFirst: boolean | undefined\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n hideModels: boolean | undefined\n expandAllSchemaProperties: boolean | 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 :hideModelNames=\"options.hideModels\"\n hideHeading\n :level=\"1\"\n noncollapsible\n :options=\"{ ...options, document }\"\n :schema=\"schema\" />\n </ScalarErrorBoundary>\n </CompactSection>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;uBA6BE,YA0BiB,MAAA,uBAAA,EAAA;IAzBd,IAAI,QAAA;IACJ,KAAK,QAAA;IACL,OAAO,QAAA;IACP,YAAU,CAAG,QAAA;IACb,iBAAa,OAAA,OAAA,OAAA,WAAQ,QAAA,UAAU,KAAI,qBAAA,EAAA,IAAwB,QAAA,IAAE,CAAA;IAC7D,uBAAiB,OAAA,OAAA,OAAA,MAAU,UAAU,QAAA,UAAU,KAAI,mBAAA;KAAA,IAAsB,QAAA;KAAE,MAAQ;KAAK,CAAA;;IAG9E,SAAO,cAKG,CAJnB,YAImB,MAAA,yBAAA,EAAA,EAJA,OAAO,GAAC,EAAA;4BAGL,CAFpB,YAEoB,MAAA,sBAAA,EAAA;MADjB,MAAM,QAAA,OAAO,SAAS,QAAA;MACtB,OAAO,QAAA;;;;2BAYQ,CATtB,YASsB,MAAA,oBAAA,EAAA,MAAA;4BADC,CAPrB,YAOqB,MAAA,eAAA,EAAA;MANlB,UAAA,QAAA;MACA,gBAAgB,QAAA,QAAQ;MACzB,aAAA;MACC,OAAO;MACR,gBAAA;MACC,SAAO;OAAA,GAAO,QAAA;OAAO,UAAE,QAAA;OAAQ;MAC/B,QAAQ,QAAA"}
1
+ {"version":3,"file":"ModernLayout.vue.script.js","names":[],"sources":["../../../../../src/components/Content/Models/components/ModernLayout.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components/error-boundary'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n OpenApiDocument,\n SchemaObject,\n} 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, document } = defineProps<{\n id: string\n name: string\n schema: SchemaObject\n isCollapsed: boolean\n eventBus: WorkspaceEventBus\n /** The document the model belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: {\n orderRequiredPropertiesFirst: boolean | undefined\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n hideModels: boolean | undefined\n expandAllSchemaProperties: boolean | 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 :hideModelNames=\"options.hideModels\"\n hideHeading\n :level=\"1\"\n noncollapsible\n :options=\"{ ...options, document }\"\n :schema=\"schema\" />\n </ScalarErrorBoundary>\n </CompactSection>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;uBA6BE,YA0BiB,MAAA,sBAAA,GAAA;IAzBd,IAAI,QAAA;IACJ,KAAK,QAAA;IACL,OAAO,QAAA;IACP,YAAU,CAAG,QAAA;IACb,iBAAa,OAAA,OAAA,OAAA,WAAQ,QAAA,UAAU,KAAI,qBAAA,EAAA,IAAwB,QAAA,GAAE,CAAA;IAC7D,uBAAiB,OAAA,OAAA,OAAA,MAAU,UAAU,QAAA,UAAU,KAAI,mBAAA;KAAA,IAAsB,QAAA;KAAE,MAAQ;IAAK,CAAA;;IAG9E,SAAO,cAKG,CAJnB,YAImB,MAAA,wBAAA,GAAA,EAJA,OAAO,EAAC,GAAA;4BAGL,CAFpB,YAEoB,MAAA,qBAAA,GAAA;MADjB,MAAM,QAAA,OAAO,SAAS,QAAA;MACtB,OAAO,QAAA;;;;2BAYQ,CATtB,YASsB,MAAA,mBAAA,GAAA,MAAA;4BADC,CAPrB,YAOqB,MAAA,cAAA,GAAA;MANlB,UAAA,QAAA;MACA,gBAAgB,QAAA,QAAQ;MACzB,aAAA;MACC,OAAO;MACR,gBAAA;MACC,SAAO;OAAA,GAAO,QAAA;OAAO,UAAE,QAAA;MAAQ;MAC/B,QAAQ,QAAA"}
@@ -9,7 +9,7 @@ import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref
9
9
  import { getResolvedPathItem } from "@scalar/workspace-store/helpers/for-each-path-item-operation";
10
10
  //#region src/components/Content/Operations/TraversedEntry.vue?vue&type=script&setup=true&lang.ts
11
11
  var _hoisted_1 = ["id"];
12
- var TraversedEntry_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
12
+ var TraversedEntry_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
13
13
  __name: "TraversedEntry",
14
14
  props: {
15
15
  authStore: {},
@@ -1 +1 @@
1
- {"version":3,"file":"TraversedEntry.vue.script.js","names":[],"sources":["../../../../src/components/Content/Operations/TraversedEntry.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ClientOptionGroup } from '@scalar/blocks/code-example'\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 { getResolvedPathItem } from '@scalar/workspace-store/helpers/for-each-path-item-operation'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { MergedSecuritySchemes } from '@scalar/workspace-store/request-example'\nimport type {\n TraversedEntry,\n TraversedModels,\n TraversedOperation,\n TraversedSchema,\n TraversedTag,\n TraversedWebhook,\n} from '@scalar/workspace-store/schemas/navigation'\nimport type {\n OpenApiDocument,\n ServerObject,\n} 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: OpenApiDocument\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 | 'expandAllSchemaProperties'\n | 'showOperationId'\n | 'hideModels'\n | 'modelsSectionLabel'\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 /** Currently selected example key, shared across operations for in-sync example pickers */\n selectedExample: WorkspaceStore['workspace']['x-scalar-default-example']\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 ? getResolvedPathItem(document.webhooks?.[entry.name])\n : getResolvedPathItem(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 :selectedExample=\"selectedExample\"\n :server=\"selectedServer\" />\n </SectionContainer>\n\n <!-- Webhook Group, Tag or Tag Group (only in classic layout) -->\n <Tag\n v-else-if=\"\n isTag(entry) || (isTagGroup(entry) && options.layout === 'classic')\n \"\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\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 :selectedExample\n :selectedServer>\n </TraversedEntry>\n </template>\n </Tag>\n\n <!-- Display tag group entries for modern layout (flattened) -->\n <!--\n The wrapping element carries the tag group id so it remains a scroll\n target. Modern layout flattens groups and renders no header of their own,\n so without this anchor, selecting a tag group (from search or the sidebar)\n would have nothing to scroll to.\n -->\n <div\n v-else-if=\"isTagGroup(entry)\"\n :id=\"entry.id\">\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 :selectedExample\n :selectedServer>\n </TraversedEntry>\n </div>\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 :modelsSectionLabel=\"options.modelsSectionLabel\">\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 :selectedExample\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 :document\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"],"mappings":"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"}
1
+ {"version":3,"file":"TraversedEntry.vue.script.js","names":[],"sources":["../../../../src/components/Content/Operations/TraversedEntry.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ClientOptionGroup } from '@scalar/blocks/code-example'\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 { getResolvedPathItem } from '@scalar/workspace-store/helpers/for-each-path-item-operation'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { MergedSecuritySchemes } from '@scalar/workspace-store/request-example'\nimport type {\n TraversedEntry,\n TraversedModels,\n TraversedOperation,\n TraversedSchema,\n TraversedTag,\n TraversedWebhook,\n} from '@scalar/workspace-store/schemas/navigation'\nimport type {\n OpenApiDocument,\n ServerObject,\n} 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: OpenApiDocument\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 | 'expandAllSchemaProperties'\n | 'showOperationId'\n | 'hideModels'\n | 'modelsSectionLabel'\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 /** Currently selected example key, shared across operations for in-sync example pickers */\n selectedExample: WorkspaceStore['workspace']['x-scalar-default-example']\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 ? getResolvedPathItem(document.webhooks?.[entry.name])\n : getResolvedPathItem(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 :selectedExample=\"selectedExample\"\n :server=\"selectedServer\" />\n </SectionContainer>\n\n <!-- Webhook Group, Tag or Tag Group (only in classic layout) -->\n <Tag\n v-else-if=\"\n isTag(entry) || (isTagGroup(entry) && options.layout === 'classic')\n \"\n :eventBus\n :isCollapsed=\"!expandedItems[entry.id]\"\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 :selectedExample\n :selectedServer>\n </TraversedEntry>\n </template>\n </Tag>\n\n <!-- Display tag group entries for modern layout (flattened) -->\n <!--\n The wrapping element carries the tag group id so it remains a scroll\n target. Modern layout flattens groups and renders no header of their own,\n so without this anchor, selecting a tag group (from search or the sidebar)\n would have nothing to scroll to.\n -->\n <div\n v-else-if=\"isTagGroup(entry)\"\n :id=\"entry.id\">\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 :selectedExample\n :selectedServer>\n </TraversedEntry>\n </div>\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 :modelsSectionLabel=\"options.modelsSectionLabel\">\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 :selectedExample\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 :document\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"],"mappings":"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"}
@@ -9,7 +9,7 @@ var _hoisted_1 = {
9
9
  function _sfc_render(_ctx, _cache) {
10
10
  return openBlock(), createElementBlock("button", _hoisted_1, [renderSlot(_ctx.$slots, "default")]);
11
11
  }
12
- var LinkButton_default = /* @__PURE__ */ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
12
+ var LinkButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
13
13
  //#endregion
14
14
  export { LinkButton_default as default };
15
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"LinkButton.vue.js","names":[],"sources":["../../../../src/components/Content/Schema/LinkButton.vue"],"sourcesContent":["<template>\n <button\n class=\"text-c-3 hover:text-c-1 underline\"\n type=\"button\">\n <slot />\n </button>\n</template>\n"],"mappings":";;;;;CAEI,OAAM;CACN,MAAK;;;qBAFP,mBAIS,UAJT,YAIS,CADP,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"LinkButton.vue.js","names":[],"sources":["../../../../src/components/Content/Schema/LinkButton.vue"],"sourcesContent":["<template>\n <button\n class=\"text-c-3 hover:text-c-1 underline\"\n type=\"button\">\n <slot />\n </button>\n</template>\n"],"mappings":";;;;;CAEI,OAAM;CACN,MAAK;;;qBAFP,mBAIS,UAJT,YAIS,CADP,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { computed, defineComponent, toDisplayString } from "vue";
2
2
  //#region src/components/Content/Schema/RenderString.vue?vue&type=script&setup=true&lang.ts
3
- var RenderString_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
3
+ var RenderString_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
4
4
  __name: "RenderString",
5
5
  props: { value: {} },
6
6
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"RenderString.vue.script.js","names":[],"sources":["../../../../src/components/Content/Schema/RenderString.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Give this component any data, and it tries to render a meaningful string.\n *\n * @example\n * <RenderString :value=\"1\" /> => \"1\"\n * <RenderString :value=\"true\" /> => \"true\"\n * <RenderString :value=\"false\" /> => \"false\"\n * <RenderString :value=\"null\" /> => \"null\"\n * <RenderString :value=\"undefined\" /> => \"undefined\"\n * <RenderString :value=\"{}\" /> => \"{}\"\n * <RenderString :value=\"[]\" /> => \"[]\"\n * <RenderString :value=\"['a', 'b', 'c']\" /> => \"['a', 'b', 'c']\"\n * <RenderString :value=\"() => 'hello'\" /> => \"() => 'hello'\"\n * <RenderString :value=\"Symbol('test')\" /> => \"Symbol(test)\"\n **/\nimport { computed } from 'vue'\n\nconst { value } = defineProps<{\n value: any\n}>()\n\nconst valueAsString = computed(() => {\n if (value === '') {\n return `''`\n }\n\n if (value === null) {\n return 'null'\n }\n\n if (value === undefined) {\n return 'undefined'\n }\n\n // We don't need to cover all cases, Vue does a good job of rendering objects, arrays and functions.\n return value\n})\n</script>\n\n<template>\n {{ valueAsString }}\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAsBA,MAAM,gBAAgB,eAAe;AACnC,OAAI,QAAA,UAAU,GACZ,QAAO;AAGT,OAAI,QAAA,UAAU,KACZ,QAAO;AAGT,OAAI,QAAA,UAAU,KAAA,EACZ,QAAO;AAIT,UAAO,QAAA;IACR;;0BAII,cAAA,MAAa"}
1
+ {"version":3,"file":"RenderString.vue.script.js","names":[],"sources":["../../../../src/components/Content/Schema/RenderString.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Give this component any data, and it tries to render a meaningful string.\n *\n * @example\n * <RenderString :value=\"1\" /> => \"1\"\n * <RenderString :value=\"true\" /> => \"true\"\n * <RenderString :value=\"false\" /> => \"false\"\n * <RenderString :value=\"null\" /> => \"null\"\n * <RenderString :value=\"undefined\" /> => \"undefined\"\n * <RenderString :value=\"{}\" /> => \"{}\"\n * <RenderString :value=\"[]\" /> => \"[]\"\n * <RenderString :value=\"['a', 'b', 'c']\" /> => \"['a', 'b', 'c']\"\n * <RenderString :value=\"() => 'hello'\" /> => \"() => 'hello'\"\n * <RenderString :value=\"Symbol('test')\" /> => \"Symbol(test)\"\n **/\nimport { computed } from 'vue'\n\nconst { value } = defineProps<{\n value: any\n}>()\n\nconst valueAsString = computed(() => {\n if (value === '') {\n return `''`\n }\n\n if (value === null) {\n return 'null'\n }\n\n if (value === undefined) {\n return 'undefined'\n }\n\n // We don't need to cover all cases, Vue does a good job of rendering objects, arrays and functions.\n return value\n})\n</script>\n\n<template>\n {{ valueAsString }}\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EAsBA,MAAM,gBAAgB,eAAe;GACnC,IAAI,QAAA,UAAU,IACZ,OAAO;GAGT,IAAI,QAAA,UAAU,MACZ,OAAO;GAGT,IAAI,QAAA,UAAU,KAAA,GACZ,OAAO;GAIT,OAAO,QAAA;EACT,CAAC;;0BAII,cAAA,KAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Content/Schema/Schema.vue"],"names":[],"mappings":"AA0iBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGvE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACb,MAAM,8DAA8D,CAAA;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAoBtE,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,uBAAuB;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kCAAkC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,iCAAiC;IACjC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,0EAA0E;IAC1E,OAAO,EAAE,aAAa,CAAA;IACtB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AAuoBF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"Schema.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Content/Schema/Schema.vue"],"names":[],"mappings":"AAiiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGvE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACb,MAAM,8DAA8D,CAAA;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAoBtE,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,uBAAuB;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kCAAkC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,iCAAiC;IACjC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,0EAA0E;IAC1E,OAAO,EAAE,aAAa,CAAA;IACtB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AAioBF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
2
2
  import Schema_vue_vue_type_script_setup_true_lang_default from "./Schema.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/components/Content/Schema/Schema.vue
5
- var Schema_default = /* @__PURE__ */ _plugin_vue_export_helper_default(Schema_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e811e294"]]);
5
+ var Schema_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Schema_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e44b49a4"]]);
6
6
  //#endregion
7
7
  export { Schema_default as default };
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.vue.js","names":[],"sources":["../../../../src/components/Content/Schema/Schema.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarIcon } from '@scalar/components/icon'\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { pushDynamicScope } from '@scalar/workspace-store/helpers/dynamic-ref'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type {\n DiscriminatorObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, inject, provide } from 'vue'\n\nimport type { SchemaOptions } from '@/components/Content/Schema/types'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport { useLocalization } from '@/features/localization'\nimport { scrollTargetId } from '@/helpers/lazy-bus'\n\nimport {\n resolveDynamicSchema,\n SCHEMA_DYNAMIC_SCOPE_SYMBOL,\n useDynamicScope,\n} from './helpers/dynamic-scope'\nimport { inferDiscriminatorMappingComposition } from './helpers/get-compositions-to-render'\nimport { isEmptySchemaObject } from './helpers/is-empty-schema-object'\nimport { isTypeObject } from './helpers/is-type-object'\nimport { mergeAllOfSchemas } from './helpers/merge-all-of-schemas'\nimport { SCHEMA_ANCESTORS_SYMBOL } from './helpers/schema-cycle'\nimport SchemaComposition from './SchemaComposition.vue'\nimport SchemaHeading from './SchemaHeading.vue'\nimport SchemaObjectProperties from './SchemaObjectProperties.vue'\nimport SchemaProperty from './SchemaProperty.vue'\n\nconst {\n schema,\n level = 0,\n name,\n compact,\n noncollapsible = false,\n hideHeading,\n hideDescription = false,\n additionalProperties,\n discriminator,\n breadcrumb,\n hideModelNames = false,\n options,\n schemaContext,\n compositionPath,\n cycleKey,\n} = defineProps<{\n schema?: SchemaObject\n /** Track how deep we've gone */\n level?: number\n /* Show as a heading */\n name?: string\n /** A tighter layout with less borders and without a heading */\n compact?: boolean\n /** Shows a toggle to hide/show children */\n noncollapsible?: boolean\n /** Hide the heading */\n hideHeading?: boolean\n /** Hide the schema description */\n hideDescription?: boolean\n /** Show a special one way toggle for additional properties, also has a top border when open */\n additionalProperties?: boolean\n /** Hide model names in type display */\n hideModelNames?: boolean\n /** Discriminator object */\n discriminator?: DiscriminatorObject\n /** Breadcrumb for the schema */\n breadcrumb?: string[]\n /** Event bus emitting actions */\n eventBus: WorkspaceEventBus | null\n /** Move the options into a single prop so they are easy to pass around */\n options: SchemaOptions\n /** When \"requestBody\", composition dropdown selection is synced with the example snippet */\n schemaContext?: string\n /** Internal path used to sync nested request body compositions with the code sample */\n compositionPath?: string[]\n /**\n * Stable identity of this schema node, derived from its raw (unresolved)\n * value by the parent. Used to detect self-referential cycles. See\n * {@link getCycleKey}.\n */\n cycleKey?: unknown\n}>()\nconst { translate } = useLocalization()\n\n/**\n * The dynamic scope inherited from ancestor schema resources.\n *\n * Used to bind JSON Schema 2020-12 `$dynamicRef`s to the active `$dynamicAnchor` while walking the\n * tree. Empty at the root. See {@link useDynamicScope}.\n */\nconst dynamicScope = useDynamicScope()\n\n/**\n * The schema this node actually renders.\n *\n * Two normalizations happen here, both no-ops for ordinary schemas:\n * - A top-level `$dynamicRef` is bound to its concrete type via the inherited dynamic scope.\n * - A resource that extends a template through a root `$ref` (JSON Schema 2020-12 `$ref` alongside\n * `$defs`, e.g. a `PaginatedResponse` binding) is merged so its inherited properties render.\n */\nconst resolvedSchema = computed((): SchemaObject | undefined => {\n if (!schema || typeof schema !== 'object') {\n return schema\n }\n\n const bound = resolveDynamicSchema(schema, dynamicScope)\n return '$ref' in bound ? resolve.schema(bound) : bound\n})\n\n/**\n * Re-provide the dynamic scope grown with this resource so nested `$dynamicRef`s bind here.\n *\n * Built once at setup from the resource's stable identity (like the ancestor set below);\n * `pushDynamicScope` only grows the scope for schemas that can carry a `$dynamicAnchor`.\n *\n * The raw schema is pushed, not the merged {@link resolvedSchema}: merging through `resolve.schema`\n * coerces the node and drops the resolved `$ref-value` from entries inside `$defs`, which\n * `$dynamicAnchor` resolution relies on to dereference the bound type (e.g. `User`).\n */\nconst scopeSchema = schema\n ? resolveDynamicSchema(schema, dynamicScope)\n : undefined\nprovide(\n SCHEMA_DYNAMIC_SCOPE_SYMBOL,\n scopeSchema ? pushDynamicScope(dynamicScope, scopeSchema) : dynamicScope,\n)\n\n/**\n * Cycle-safe `expandAllSchemaProperties`.\n *\n * We track ancestor schema keys along the current render path. A node is\n * treated as cyclic when its key is already present in the ancestor set, which\n * indicates that rendering has looped back onto a self-referential schema.\n *\n * This lets us default-expand finite branches while stopping automatic\n * expansion only at cycle boundaries, preventing infinite recursion.\n */\nconst ancestors = inject(SCHEMA_ANCESTORS_SYMBOL, undefined)\n\nconst isCyclic = computed(\n (): boolean => cycleKey != null && !!ancestors?.has(cycleKey),\n)\n\n// Re-provide the ancestor set augmented with this node so descendants can\n// detect cycles back to it. Built once at setup; a node's key is stable.\nconst childAncestors = new Set<unknown>(ancestors ?? [])\nif (cycleKey != null) {\n childAncestors.add(cycleKey)\n}\nprovide(SCHEMA_ANCESTORS_SYMBOL, childAncestors)\n\nconst shouldForceExpand = computed(\n (): boolean => !!options.expandAllSchemaProperties && !isCyclic.value,\n)\n\n/**\n * Determines whether to show the collapse/expand toggle button.\n * We hide the toggle for non-collapsible schemas and root-level schemas.\n */\nconst shouldShowToggle = computed((): boolean => !noncollapsible && level > 0)\n\n/**\n * Whether this schema sits on the path to the current anchor/scroll target.\n *\n * Property anchors are dot-joined breadcrumbs, so every disclosure that wraps\n * the target has a breadcrumb that is a prefix of the target id. Opening those\n * disclosures is what makes deep links to collapsed (hidden) properties work\n * without forcing every schema open via `expandAllSchemaProperties`.\n */\nconst isOnScrollTargetPath = computed((): boolean => {\n if (!breadcrumb?.length) {\n return false\n }\n const path = breadcrumb.join('.')\n const target = scrollTargetId.value\n return target === path || target.startsWith(`${path}.`)\n})\n\n/**\n * Whether the disclosure starts expanded. Non-collapsible schemas are always\n * open. When `expandAllSchemaProperties` is enabled, finite branches start\n * expanded by default while cyclic branches remain collapsed to avoid recursion\n * loops. We also open any disclosure on the path to the current scroll target so\n * deep links resolve even when the property is collapsed.\n *\n * Note: the Disclosure only reads this at mount, so it expands collapsed\n * properties on a fresh navigation (the schema mounts after the target is set),\n * not when the target changes for an already-mounted disclosure.\n */\nconst defaultOpen = computed(\n (): boolean =>\n noncollapsible || shouldForceExpand.value || isOnScrollTargetPath.value,\n)\n\nconst childAttributesLabel = computed(\n (): string => schema?.title ?? translate('schema.childAttributes'),\n)\n\n/** Gets the description to show for the schema */\nconst schemaDescription = computed(() => {\n const value = resolvedSchema.value\n\n if (hideDescription) {\n return null\n }\n\n // For the request body we want to show the description of the merged allOf schema.\n // Merging keeps the base description (when set) and otherwise lets the last allOf\n // member win, matching how the merged composition is rendered below. The nested\n // merged Schema in `SchemaComposition` hides its own description in this case so\n // the text is not rendered twice.\n if (schema?.allOf && schema.allOf.length > 0 && name === 'Request Body') {\n return mergeAllOfSchemas(schema)?.description || null\n }\n\n // Don't show description if there's no description or it's not a string\n if (!value?.description || typeof value.description !== 'string') {\n return null\n }\n\n // Don't show description for enum schemas (they have special handling)\n if (value.enum) {\n return null\n }\n\n // Will be shown in the properties anyway\n if (\n !('properties' in value) &&\n !('patternProperties' in value) &&\n !('additionalProperties' in value)\n ) {\n return null\n }\n\n // Return the schema's own description\n return value.description\n})\n\n/**\n * Some generators (for example NSwag) describe a polymorphic base type as a\n * plain object with a `discriminator.mapping` but no explicit `oneOf`. We infer\n * the variant composition from the mapping so the selector still renders.\n *\n * The `discriminator` prop is only set when this schema is already a variant\n * being rendered inside a `SchemaComposition`; skipping the inference in that\n * case avoids re-inferring (and recursing) on a self-referential mapping.\n *\n * The inference is restricted to plain object schemas (`isTypeObject`). A schema\n * carrying its own composition keyword (`allOf`/`not`) is rendered by the\n * `SchemaProperty` branch below; inferring a selector there would replace that\n * keyword's output with the variant dropdown instead of rendering both.\n */\nconst inferredDiscriminatorComposition = computed(() =>\n schema && !discriminator && isTypeObject(schema)\n ? inferDiscriminatorMappingComposition(schema, options.document)\n : null,\n)\n\n// Prevent click action if noncollapsible\nconst handleClick = (e: MouseEvent) => {\n if (noncollapsible) {\n e.stopPropagation()\n }\n}\n</script>\n<template>\n <Disclosure\n v-if=\"resolvedSchema && Object.keys(resolvedSchema).length\"\n v-slot=\"{ open }\"\n :defaultOpen=\"defaultOpen\">\n <div\n class=\"schema-card\"\n :class=\"[\n `schema-card--level-${level}`,\n { 'schema-card--compact': compact, 'schema-card--open': open },\n { 'border-t': additionalProperties && open },\n ]\">\n <!-- Schema description -->\n <div\n v-if=\"schemaDescription\"\n class=\"schema-card-description\">\n <ScalarMarkdown :value=\"schemaDescription\" />\n </div>\n <div\n v-if=\"isEmptySchemaObject(resolvedSchema)\"\n class=\"pt-2\">\n {{ translate('schema.emptyObject') }}\n </div>\n <div\n class=\"schema-properties\"\n :class=\"{\n 'schema-properties-open': open,\n }\">\n <!-- Toggle to collapse/expand long lists of properties -->\n <div\n v-if=\"additionalProperties\"\n v-show=\"!open\"\n class=\"schema-properties\">\n <DisclosureButton\n as=\"button\"\n class=\"schema-card-title schema-card-title--compact\"\n @click.capture=\"handleClick\">\n <ScalarIcon\n class=\"schema-card-title-icon\"\n icon=\"Add\"\n size=\"sm\" />\n {{ translate('schema.showAdditionalProperties') }}\n <ScreenReader v-if=\"name\">\n {{ translate('schema.forName', { name }) }}\n </ScreenReader>\n </DisclosureButton>\n </div>\n\n <DisclosureButton\n v-else-if=\"shouldShowToggle\"\n v-show=\"!hideHeading && !(noncollapsible && compact)\"\n :as=\"noncollapsible ? 'div' : 'button'\"\n class=\"schema-card-title\"\n :class=\"{ 'schema-card-title--compact': compact }\"\n :style=\"{\n top: `calc(var(--refs-viewport-offset) + calc(var(--schema-title-height) * ${level}))`,\n }\"\n @click.capture=\"handleClick\">\n <template v-if=\"compact\">\n <ScalarIcon\n class=\"schema-card-title-icon\"\n :class=\"{ 'schema-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <template v-if=\"open\">\n {{\n translate('schema.hideChildAttributes', {\n name: childAttributesLabel,\n })\n }}\n </template>\n <template v-else>\n {{\n translate('schema.showChildAttributes', {\n name: childAttributesLabel,\n })\n }}\n </template>\n <ScreenReader v-if=\"name\">\n {{ translate('schema.forName', { name }) }}\n </ScreenReader>\n </template>\n <template v-else>\n <ScalarIcon\n class=\"schema-card-title-icon\"\n :class=\"{ 'schema-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <SchemaHeading\n :name=\"resolvedSchema?.title ?? name\"\n :value=\"resolvedSchema\" />\n </template>\n </DisclosureButton>\n <DisclosurePanel\n v-if=\"!additionalProperties || open\"\n as=\"ul\"\n :static=\"!shouldShowToggle\">\n <!-- Variant selector inferred from a discriminator mapping -->\n <SchemaComposition\n v-if=\"inferredDiscriminatorComposition\"\n :breadcrumb\n :compact\n composition=\"oneOf\"\n :compositionPath=\"compositionPath\"\n :discriminator=\"schema?.discriminator\"\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level=\"level\"\n :name=\"name\"\n :options\n :schema=\"inferredDiscriminatorComposition\"\n :schemaContext=\"schemaContext\" />\n <!-- Object properties -->\n <SchemaObjectProperties\n v-else-if=\"isTypeObject(resolvedSchema)\"\n :breadcrumb\n :compact\n :compositionPath=\"compositionPath\"\n :discriminator\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level=\"level + 1\"\n :options\n :schema=\"resolvedSchema\"\n :schemaContext=\"schemaContext\" />\n <!-- Not an object -->\n <template v-else>\n <SchemaProperty\n v-if=\"resolvedSchema\"\n :breadcrumb\n :compact\n :compositionPath=\"compositionPath\"\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level\n :options\n :schema=\"resolvedSchema\"\n :schemaContext=\"schemaContext\" />\n </template>\n </DisclosurePanel>\n </div>\n </div>\n </Disclosure>\n</template>\n<style scoped>\n.error {\n background-color: var(--scalar-color-red);\n}\n.schema-card {\n font-size: var(--scalar-font-size-4);\n color: var(--scalar-color-1);\n}\n.schema-card-title {\n height: var(--schema-title-height);\n\n padding: 6px 8px;\n\n display: flex;\n align-items: center;\n gap: 4px;\n\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-mini);\n border-bottom: var(--scalar-border-width) solid transparent;\n}\nbutton.schema-card-title {\n cursor: pointer;\n}\nbutton.schema-card-title:hover {\n color: var(--scalar-color-1);\n}\n.schema-card-title-icon--open {\n transform: rotate(45deg);\n}\n.schema-properties-open > .schema-card-title {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.schema-properties-open > .schema-properties {\n width: fit-content;\n}\n.schema-card-description {\n color: var(--scalar-color-2);\n}\n.schema-card-description + .schema-properties {\n width: fit-content;\n}\n.schema-card-description + .schema-properties {\n margin-top: 8px;\n}\n.schema-card--level-0:nth-of-type(1)\n > .schema-card-description:has(+ .schema-properties) {\n margin-bottom: -8px;\n padding-bottom: 8px;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.schema-card--level-0\n ~ .schema-card--level-0\n > .schema-card-description:has(+ .schema-properties) {\n padding-top: 8px;\n}\n\n.schema-properties-open.schema-properties,\n.schema-properties-open > .schema-card--open {\n width: 100%;\n}\n.schema-properties {\n display: flex;\n flex-direction: column;\n\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-lg);\n width: fit-content;\n}\n.schema-properties-name {\n width: 100%;\n}\n.schema-properties .schema-properties {\n border-radius: 13.5px;\n}\n.schema-properties .schema-properties.schema-properties-open {\n border-radius: var(--scalar-radius-lg);\n}\n.schema-properties-open {\n width: 100%;\n}\n.schema-card--compact {\n align-self: flex-start;\n}\n.schema-card--compact.schema-card--open {\n align-self: initial;\n}\n.schema-card-title--compact {\n color: var(--scalar-color-2);\n padding: 6px 10px 6px 8px;\n height: auto;\n border-bottom: none;\n}\n.schema-card-title--compact > .schema-card-title-icon {\n margin: 0;\n}\n.schema-card-title--compact > .schema-card-title-icon--open {\n transform: rotate(45deg);\n}\n.schema-properties-open > .schema-card-title--compact {\n position: static;\n}\n.property--level-0\n > .schema-properties\n > .schema-card--level-0\n > .schema-properties {\n border: none;\n}\n.property--level-0\n .schema-card--level-0:not(.schema-card--compact)\n .property--level-1 {\n padding: 0 0 8px;\n}\n:not(.composition-panel)\n > .schema-card--compact.schema-card--level-0\n > .schema-properties {\n border: none;\n}\n:deep(.schema-card-description) p {\n font-size: var(--scalar-small, var(--scalar-paragraph));\n color: var(--scalar-color-2);\n margin-bottom: 0;\n display: block;\n margin-bottom: 6px;\n}\n.children .schema-card-description:first-of-type {\n padding-top: 0;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"Schema.vue.js","names":[],"sources":["../../../../src/components/Content/Schema/Schema.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarIcon } from '@scalar/components/icon'\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { pushDynamicScope } from '@scalar/workspace-store/helpers/dynamic-ref'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type {\n DiscriminatorObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, inject, provide } from 'vue'\n\nimport type { SchemaOptions } from '@/components/Content/Schema/types'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport { useLocalization } from '@/features/localization'\nimport { scrollTargetId } from '@/helpers/lazy-bus'\n\nimport {\n resolveDynamicSchema,\n SCHEMA_DYNAMIC_SCOPE_SYMBOL,\n useDynamicScope,\n} from './helpers/dynamic-scope'\nimport { inferDiscriminatorMappingComposition } from './helpers/get-compositions-to-render'\nimport { isEmptySchemaObject } from './helpers/is-empty-schema-object'\nimport { isTypeObject } from './helpers/is-type-object'\nimport { mergeAllOfSchemas } from './helpers/merge-all-of-schemas'\nimport { SCHEMA_ANCESTORS_SYMBOL } from './helpers/schema-cycle'\nimport SchemaComposition from './SchemaComposition.vue'\nimport SchemaHeading from './SchemaHeading.vue'\nimport SchemaObjectProperties from './SchemaObjectProperties.vue'\nimport SchemaProperty from './SchemaProperty.vue'\n\nconst {\n schema,\n level = 0,\n name,\n compact,\n noncollapsible = false,\n hideHeading,\n hideDescription = false,\n additionalProperties,\n discriminator,\n breadcrumb,\n hideModelNames = false,\n options,\n schemaContext,\n compositionPath,\n cycleKey,\n} = defineProps<{\n schema?: SchemaObject\n /** Track how deep we've gone */\n level?: number\n /* Show as a heading */\n name?: string\n /** A tighter layout with less borders and without a heading */\n compact?: boolean\n /** Shows a toggle to hide/show children */\n noncollapsible?: boolean\n /** Hide the heading */\n hideHeading?: boolean\n /** Hide the schema description */\n hideDescription?: boolean\n /** Show a special one way toggle for additional properties, also has a top border when open */\n additionalProperties?: boolean\n /** Hide model names in type display */\n hideModelNames?: boolean\n /** Discriminator object */\n discriminator?: DiscriminatorObject\n /** Breadcrumb for the schema */\n breadcrumb?: string[]\n /** Event bus emitting actions */\n eventBus: WorkspaceEventBus | null\n /** Move the options into a single prop so they are easy to pass around */\n options: SchemaOptions\n /** When \"requestBody\", composition dropdown selection is synced with the example snippet */\n schemaContext?: string\n /** Internal path used to sync nested request body compositions with the code sample */\n compositionPath?: string[]\n /**\n * Stable identity of this schema node, derived from its raw (unresolved)\n * value by the parent. Used to detect self-referential cycles. See\n * {@link getCycleKey}.\n */\n cycleKey?: unknown\n}>()\nconst { translate } = useLocalization()\n\n/**\n * The dynamic scope inherited from ancestor schema resources.\n *\n * Used to bind JSON Schema 2020-12 `$dynamicRef`s to the active `$dynamicAnchor` while walking the\n * tree. Empty at the root. See {@link useDynamicScope}.\n */\nconst dynamicScope = useDynamicScope()\n\n/**\n * The schema this node actually renders.\n *\n * Two normalizations happen here, both no-ops for ordinary schemas:\n * - A top-level `$dynamicRef` is bound to its concrete type via the inherited dynamic scope.\n * - A resource that extends a template through a root `$ref` (JSON Schema 2020-12 `$ref` alongside\n * `$defs`, e.g. a `PaginatedResponse` binding) is merged so its inherited properties render.\n */\nconst resolvedSchema = computed((): SchemaObject | undefined => {\n if (!schema || typeof schema !== 'object') {\n return schema\n }\n\n const bound = resolveDynamicSchema(schema, dynamicScope)\n return '$ref' in bound ? resolve.schema(bound) : bound\n})\n\n/**\n * Re-provide the dynamic scope grown with this resource so nested `$dynamicRef`s bind here.\n *\n * Built once at setup from the resource's stable identity (like the ancestor set below);\n * `pushDynamicScope` only grows the scope for schemas that can carry a `$dynamicAnchor`.\n *\n * The raw schema is pushed, not the merged {@link resolvedSchema}: merging through `resolve.schema`\n * coerces the node and drops the resolved `$ref-value` from entries inside `$defs`, which\n * `$dynamicAnchor` resolution relies on to dereference the bound type (e.g. `User`).\n */\nconst scopeSchema = schema\n ? resolveDynamicSchema(schema, dynamicScope)\n : undefined\nprovide(\n SCHEMA_DYNAMIC_SCOPE_SYMBOL,\n scopeSchema ? pushDynamicScope(dynamicScope, scopeSchema) : dynamicScope,\n)\n\n/**\n * Cycle-safe `expandAllSchemaProperties`.\n *\n * We track ancestor schema keys along the current render path. A node is\n * treated as cyclic when its key is already present in the ancestor set, which\n * indicates that rendering has looped back onto a self-referential schema.\n *\n * This lets us default-expand finite branches while stopping automatic\n * expansion only at cycle boundaries, preventing infinite recursion.\n */\nconst ancestors = inject(SCHEMA_ANCESTORS_SYMBOL, undefined)\n\nconst isCyclic = computed(\n (): boolean => cycleKey != null && !!ancestors?.has(cycleKey),\n)\n\n// Re-provide the ancestor set augmented with this node so descendants can\n// detect cycles back to it. Built once at setup; a node's key is stable.\nconst childAncestors = new Set<unknown>(ancestors ?? [])\nif (cycleKey != null) {\n childAncestors.add(cycleKey)\n}\nprovide(SCHEMA_ANCESTORS_SYMBOL, childAncestors)\n\nconst shouldForceExpand = computed(\n (): boolean => !!options.expandAllSchemaProperties && !isCyclic.value,\n)\n\n/**\n * Determines whether to show the collapse/expand toggle button.\n * We hide the toggle for non-collapsible schemas and root-level schemas.\n */\nconst shouldShowToggle = computed((): boolean => !noncollapsible && level > 0)\n\n/**\n * Whether this schema sits on the path to the current anchor/scroll target.\n *\n * Property anchors are dot-joined breadcrumbs, so every disclosure that wraps\n * the target has a breadcrumb that is a prefix of the target id. Opening those\n * disclosures is what makes deep links to collapsed (hidden) properties work\n * without forcing every schema open via `expandAllSchemaProperties`.\n */\nconst isOnScrollTargetPath = computed((): boolean => {\n if (!breadcrumb?.length) {\n return false\n }\n const path = breadcrumb.join('.')\n const target = scrollTargetId.value\n return target === path || target.startsWith(`${path}.`)\n})\n\n/**\n * Whether the disclosure starts expanded. Non-collapsible schemas are always\n * open. When `expandAllSchemaProperties` is enabled, finite branches start\n * expanded by default while cyclic branches remain collapsed to avoid recursion\n * loops. We also open any disclosure on the path to the current scroll target so\n * deep links resolve even when the property is collapsed.\n *\n * Note: the Disclosure only reads this at mount, so it expands collapsed\n * properties on a fresh navigation (the schema mounts after the target is set),\n * not when the target changes for an already-mounted disclosure.\n */\nconst defaultOpen = computed(\n (): boolean =>\n noncollapsible || shouldForceExpand.value || isOnScrollTargetPath.value,\n)\n\nconst childAttributesLabel = computed(\n (): string => schema?.title ?? translate('schema.childAttributes'),\n)\n\n/** Gets the description to show for the schema */\nconst schemaDescription = computed(() => {\n const value = resolvedSchema.value\n\n if (hideDescription) {\n return null\n }\n\n // For the request body we want to show the description of the merged allOf schema.\n // Merging keeps the base description (when set) and otherwise lets the last allOf\n // member win, matching how the merged composition is rendered below. The nested\n // merged Schema in `SchemaComposition` hides its own description in this case so\n // the text is not rendered twice.\n if (schema?.allOf && schema.allOf.length > 0 && name === 'Request Body') {\n return mergeAllOfSchemas(schema)?.description || null\n }\n\n // Don't show description if there's no description or it's not a string\n if (!value?.description || typeof value.description !== 'string') {\n return null\n }\n\n // Don't show description for enum schemas (they have special handling)\n if (value.enum) {\n return null\n }\n\n // Will be shown in the properties anyway\n if (\n !('properties' in value) &&\n !('patternProperties' in value) &&\n !('additionalProperties' in value)\n ) {\n return null\n }\n\n // Return the schema's own description\n return value.description\n})\n\n/**\n * Infer a selector for mapped discriminators that do not declare `oneOf`.\n * Threaded discriminators skip inference to avoid recursive allOf variants.\n */\nconst inferredDiscriminatorComposition = computed(() =>\n schema && !discriminator && isTypeObject(schema)\n ? inferDiscriminatorMappingComposition(schema, options.document)\n : null,\n)\n\n// Prevent click action if noncollapsible\nconst handleClick = (e: MouseEvent) => {\n if (noncollapsible) {\n e.stopPropagation()\n }\n}\n</script>\n<template>\n <Disclosure\n v-if=\"resolvedSchema && Object.keys(resolvedSchema).length\"\n v-slot=\"{ open }\"\n :defaultOpen=\"defaultOpen\">\n <div\n class=\"schema-card\"\n :class=\"[\n `schema-card--level-${level}`,\n { 'schema-card--compact': compact, 'schema-card--open': open },\n { 'border-t': additionalProperties && open },\n ]\">\n <!-- Schema description -->\n <div\n v-if=\"schemaDescription\"\n class=\"schema-card-description\">\n <ScalarMarkdown :value=\"schemaDescription\" />\n </div>\n <div\n v-if=\"isEmptySchemaObject(resolvedSchema)\"\n class=\"pt-2\">\n {{ translate('schema.emptyObject') }}\n </div>\n <div\n class=\"schema-properties\"\n :class=\"{\n 'schema-properties-open': open,\n }\">\n <!-- Toggle to collapse/expand long lists of properties -->\n <div\n v-if=\"additionalProperties\"\n v-show=\"!open\"\n class=\"schema-properties\">\n <DisclosureButton\n as=\"button\"\n class=\"schema-card-title schema-card-title--compact\"\n @click.capture=\"handleClick\">\n <ScalarIcon\n class=\"schema-card-title-icon\"\n icon=\"Add\"\n size=\"sm\" />\n {{ translate('schema.showAdditionalProperties') }}\n <ScreenReader v-if=\"name\">\n {{ translate('schema.forName', { name }) }}\n </ScreenReader>\n </DisclosureButton>\n </div>\n\n <DisclosureButton\n v-else-if=\"shouldShowToggle\"\n v-show=\"!hideHeading && !(noncollapsible && compact)\"\n :as=\"noncollapsible ? 'div' : 'button'\"\n class=\"schema-card-title\"\n :class=\"{ 'schema-card-title--compact': compact }\"\n :style=\"{\n top: `calc(var(--refs-viewport-offset) + calc(var(--schema-title-height) * ${level}))`,\n }\"\n @click.capture=\"handleClick\">\n <template v-if=\"compact\">\n <ScalarIcon\n class=\"schema-card-title-icon\"\n :class=\"{ 'schema-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <template v-if=\"open\">\n {{\n translate('schema.hideChildAttributes', {\n name: childAttributesLabel,\n })\n }}\n </template>\n <template v-else>\n {{\n translate('schema.showChildAttributes', {\n name: childAttributesLabel,\n })\n }}\n </template>\n <ScreenReader v-if=\"name\">\n {{ translate('schema.forName', { name }) }}\n </ScreenReader>\n </template>\n <template v-else>\n <ScalarIcon\n class=\"schema-card-title-icon\"\n :class=\"{ 'schema-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <SchemaHeading\n :name=\"resolvedSchema?.title ?? name\"\n :value=\"resolvedSchema\" />\n </template>\n </DisclosureButton>\n <DisclosurePanel\n v-if=\"!additionalProperties || open\"\n as=\"ul\"\n :static=\"!shouldShowToggle\">\n <!-- Variant selector inferred from a discriminator mapping -->\n <SchemaComposition\n v-if=\"inferredDiscriminatorComposition\"\n :breadcrumb\n :compact\n composition=\"oneOf\"\n :compositionPath=\"compositionPath\"\n :discriminator=\"schema?.discriminator\"\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level=\"level\"\n :name=\"name\"\n :options\n :schema=\"inferredDiscriminatorComposition\"\n :schemaContext=\"schemaContext\" />\n <!-- Object properties -->\n <SchemaObjectProperties\n v-else-if=\"isTypeObject(resolvedSchema)\"\n :breadcrumb\n :compact\n :compositionPath=\"compositionPath\"\n :discriminator\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level=\"level + 1\"\n :options\n :schema=\"resolvedSchema\"\n :schemaContext=\"schemaContext\" />\n <!-- Not an object -->\n <template v-else>\n <SchemaProperty\n v-if=\"resolvedSchema\"\n :breadcrumb\n :compact\n :compositionPath=\"compositionPath\"\n :discriminator\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level\n :options\n :schema=\"resolvedSchema\"\n :schemaContext=\"schemaContext\" />\n </template>\n </DisclosurePanel>\n </div>\n </div>\n </Disclosure>\n</template>\n<style scoped>\n.error {\n background-color: var(--scalar-color-red);\n}\n.schema-card {\n font-size: var(--scalar-font-size-4);\n color: var(--scalar-color-1);\n}\n.schema-card-title {\n height: var(--schema-title-height);\n\n padding: 6px 8px;\n\n display: flex;\n align-items: center;\n gap: 4px;\n\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-mini);\n border-bottom: var(--scalar-border-width) solid transparent;\n}\nbutton.schema-card-title {\n cursor: pointer;\n}\nbutton.schema-card-title:hover {\n color: var(--scalar-color-1);\n}\n.schema-card-title-icon--open {\n transform: rotate(45deg);\n}\n.schema-properties-open > .schema-card-title {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.schema-properties-open > .schema-properties {\n width: fit-content;\n}\n.schema-card-description {\n color: var(--scalar-color-2);\n}\n.schema-card-description + .schema-properties {\n width: fit-content;\n}\n.schema-card-description + .schema-properties {\n margin-top: 8px;\n}\n.schema-card--level-0:nth-of-type(1)\n > .schema-card-description:has(+ .schema-properties) {\n margin-bottom: -8px;\n padding-bottom: 8px;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.schema-card--level-0\n ~ .schema-card--level-0\n > .schema-card-description:has(+ .schema-properties) {\n padding-top: 8px;\n}\n\n.schema-properties-open.schema-properties,\n.schema-properties-open > .schema-card--open {\n width: 100%;\n}\n.schema-properties {\n display: flex;\n flex-direction: column;\n\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-lg);\n width: fit-content;\n}\n.schema-properties-name {\n width: 100%;\n}\n.schema-properties .schema-properties {\n border-radius: 13.5px;\n}\n.schema-properties .schema-properties.schema-properties-open {\n border-radius: var(--scalar-radius-lg);\n}\n.schema-properties-open {\n width: 100%;\n}\n.schema-card--compact {\n align-self: flex-start;\n}\n.schema-card--compact.schema-card--open {\n align-self: initial;\n}\n.schema-card-title--compact {\n color: var(--scalar-color-2);\n padding: 6px 10px 6px 8px;\n height: auto;\n border-bottom: none;\n}\n.schema-card-title--compact > .schema-card-title-icon {\n margin: 0;\n}\n.schema-card-title--compact > .schema-card-title-icon--open {\n transform: rotate(45deg);\n}\n.schema-properties-open > .schema-card-title--compact {\n position: static;\n}\n.property--level-0\n > .schema-properties\n > .schema-card--level-0\n > .schema-properties {\n border: none;\n}\n.property--level-0\n .schema-card--level-0:not(.schema-card--compact)\n .property--level-1 {\n padding: 0 0 8px;\n}\n:not(.composition-panel)\n > .schema-card--compact.schema-card--level-0\n > .schema-properties {\n border: none;\n}\n:deep(.schema-card-description) p {\n font-size: var(--scalar-small, var(--scalar-paragraph));\n color: var(--scalar-color-2);\n margin-bottom: 0;\n display: block;\n margin-bottom: 6px;\n}\n.children .schema-card-description:first-of-type {\n padding-top: 0;\n}\n</style>\n"],"mappings":""}
@@ -30,7 +30,7 @@ var _hoisted_3 = {
30
30
  key: 0,
31
31
  class: "schema-properties"
32
32
  };
33
- var Schema_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
33
+ var Schema_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
34
34
  __name: "Schema",
35
35
  props: {
36
36
  schema: {},
@@ -152,18 +152,8 @@ var Schema_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
152
152
  return value.description;
153
153
  });
154
154
  /**
155
- * Some generators (for example NSwag) describe a polymorphic base type as a
156
- * plain object with a `discriminator.mapping` but no explicit `oneOf`. We infer
157
- * the variant composition from the mapping so the selector still renders.
158
- *
159
- * The `discriminator` prop is only set when this schema is already a variant
160
- * being rendered inside a `SchemaComposition`; skipping the inference in that
161
- * case avoids re-inferring (and recursing) on a self-referential mapping.
162
- *
163
- * The inference is restricted to plain object schemas (`isTypeObject`). A schema
164
- * carrying its own composition keyword (`allOf`/`not`) is rendered by the
165
- * `SchemaProperty` branch below; inferring a selector there would replace that
166
- * keyword's output with the variant dropdown instead of rendering both.
155
+ * Infer a selector for mapped discriminators that do not declare `oneOf`.
156
+ * Threaded discriminators skip inference to avoid recursive allOf variants.
167
157
  */
168
158
  const inferredDiscriminatorComposition = computed(() => __props.schema && !__props.discriminator && isTypeObject(__props.schema) ? inferDiscriminatorMappingComposition(__props.schema, __props.options.document) : null);
169
159
  const handleClick = (e) => {
@@ -296,6 +286,7 @@ var Schema_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
296
286
  breadcrumb: __props.breadcrumb,
297
287
  compact: __props.compact,
298
288
  compositionPath: __props.compositionPath,
289
+ discriminator: __props.discriminator,
299
290
  eventBus: __props.eventBus,
300
291
  hideHeading: __props.hideHeading,
301
292
  hideModelNames: __props.hideModelNames,
@@ -307,6 +298,7 @@ var Schema_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineC
307
298
  "breadcrumb",
308
299
  "compact",
309
300
  "compositionPath",
301
+ "discriminator",
310
302
  "eventBus",
311
303
  "hideHeading",
312
304
  "hideModelNames",
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.vue.script.js","names":[],"sources":["../../../../src/components/Content/Schema/Schema.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarIcon } from '@scalar/components/icon'\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { pushDynamicScope } from '@scalar/workspace-store/helpers/dynamic-ref'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type {\n DiscriminatorObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, inject, provide } from 'vue'\n\nimport type { SchemaOptions } from '@/components/Content/Schema/types'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport { useLocalization } from '@/features/localization'\nimport { scrollTargetId } from '@/helpers/lazy-bus'\n\nimport {\n resolveDynamicSchema,\n SCHEMA_DYNAMIC_SCOPE_SYMBOL,\n useDynamicScope,\n} from './helpers/dynamic-scope'\nimport { inferDiscriminatorMappingComposition } from './helpers/get-compositions-to-render'\nimport { isEmptySchemaObject } from './helpers/is-empty-schema-object'\nimport { isTypeObject } from './helpers/is-type-object'\nimport { mergeAllOfSchemas } from './helpers/merge-all-of-schemas'\nimport { SCHEMA_ANCESTORS_SYMBOL } from './helpers/schema-cycle'\nimport SchemaComposition from './SchemaComposition.vue'\nimport SchemaHeading from './SchemaHeading.vue'\nimport SchemaObjectProperties from './SchemaObjectProperties.vue'\nimport SchemaProperty from './SchemaProperty.vue'\n\nconst {\n schema,\n level = 0,\n name,\n compact,\n noncollapsible = false,\n hideHeading,\n hideDescription = false,\n additionalProperties,\n discriminator,\n breadcrumb,\n hideModelNames = false,\n options,\n schemaContext,\n compositionPath,\n cycleKey,\n} = defineProps<{\n schema?: SchemaObject\n /** Track how deep we've gone */\n level?: number\n /* Show as a heading */\n name?: string\n /** A tighter layout with less borders and without a heading */\n compact?: boolean\n /** Shows a toggle to hide/show children */\n noncollapsible?: boolean\n /** Hide the heading */\n hideHeading?: boolean\n /** Hide the schema description */\n hideDescription?: boolean\n /** Show a special one way toggle for additional properties, also has a top border when open */\n additionalProperties?: boolean\n /** Hide model names in type display */\n hideModelNames?: boolean\n /** Discriminator object */\n discriminator?: DiscriminatorObject\n /** Breadcrumb for the schema */\n breadcrumb?: string[]\n /** Event bus emitting actions */\n eventBus: WorkspaceEventBus | null\n /** Move the options into a single prop so they are easy to pass around */\n options: SchemaOptions\n /** When \"requestBody\", composition dropdown selection is synced with the example snippet */\n schemaContext?: string\n /** Internal path used to sync nested request body compositions with the code sample */\n compositionPath?: string[]\n /**\n * Stable identity of this schema node, derived from its raw (unresolved)\n * value by the parent. Used to detect self-referential cycles. See\n * {@link getCycleKey}.\n */\n cycleKey?: unknown\n}>()\nconst { translate } = useLocalization()\n\n/**\n * The dynamic scope inherited from ancestor schema resources.\n *\n * Used to bind JSON Schema 2020-12 `$dynamicRef`s to the active `$dynamicAnchor` while walking the\n * tree. Empty at the root. See {@link useDynamicScope}.\n */\nconst dynamicScope = useDynamicScope()\n\n/**\n * The schema this node actually renders.\n *\n * Two normalizations happen here, both no-ops for ordinary schemas:\n * - A top-level `$dynamicRef` is bound to its concrete type via the inherited dynamic scope.\n * - A resource that extends a template through a root `$ref` (JSON Schema 2020-12 `$ref` alongside\n * `$defs`, e.g. a `PaginatedResponse` binding) is merged so its inherited properties render.\n */\nconst resolvedSchema = computed((): SchemaObject | undefined => {\n if (!schema || typeof schema !== 'object') {\n return schema\n }\n\n const bound = resolveDynamicSchema(schema, dynamicScope)\n return '$ref' in bound ? resolve.schema(bound) : bound\n})\n\n/**\n * Re-provide the dynamic scope grown with this resource so nested `$dynamicRef`s bind here.\n *\n * Built once at setup from the resource's stable identity (like the ancestor set below);\n * `pushDynamicScope` only grows the scope for schemas that can carry a `$dynamicAnchor`.\n *\n * The raw schema is pushed, not the merged {@link resolvedSchema}: merging through `resolve.schema`\n * coerces the node and drops the resolved `$ref-value` from entries inside `$defs`, which\n * `$dynamicAnchor` resolution relies on to dereference the bound type (e.g. `User`).\n */\nconst scopeSchema = schema\n ? resolveDynamicSchema(schema, dynamicScope)\n : undefined\nprovide(\n SCHEMA_DYNAMIC_SCOPE_SYMBOL,\n scopeSchema ? pushDynamicScope(dynamicScope, scopeSchema) : dynamicScope,\n)\n\n/**\n * Cycle-safe `expandAllSchemaProperties`.\n *\n * We track ancestor schema keys along the current render path. A node is\n * treated as cyclic when its key is already present in the ancestor set, which\n * indicates that rendering has looped back onto a self-referential schema.\n *\n * This lets us default-expand finite branches while stopping automatic\n * expansion only at cycle boundaries, preventing infinite recursion.\n */\nconst ancestors = inject(SCHEMA_ANCESTORS_SYMBOL, undefined)\n\nconst isCyclic = computed(\n (): boolean => cycleKey != null && !!ancestors?.has(cycleKey),\n)\n\n// Re-provide the ancestor set augmented with this node so descendants can\n// detect cycles back to it. Built once at setup; a node's key is stable.\nconst childAncestors = new Set<unknown>(ancestors ?? [])\nif (cycleKey != null) {\n childAncestors.add(cycleKey)\n}\nprovide(SCHEMA_ANCESTORS_SYMBOL, childAncestors)\n\nconst shouldForceExpand = computed(\n (): boolean => !!options.expandAllSchemaProperties && !isCyclic.value,\n)\n\n/**\n * Determines whether to show the collapse/expand toggle button.\n * We hide the toggle for non-collapsible schemas and root-level schemas.\n */\nconst shouldShowToggle = computed((): boolean => !noncollapsible && level > 0)\n\n/**\n * Whether this schema sits on the path to the current anchor/scroll target.\n *\n * Property anchors are dot-joined breadcrumbs, so every disclosure that wraps\n * the target has a breadcrumb that is a prefix of the target id. Opening those\n * disclosures is what makes deep links to collapsed (hidden) properties work\n * without forcing every schema open via `expandAllSchemaProperties`.\n */\nconst isOnScrollTargetPath = computed((): boolean => {\n if (!breadcrumb?.length) {\n return false\n }\n const path = breadcrumb.join('.')\n const target = scrollTargetId.value\n return target === path || target.startsWith(`${path}.`)\n})\n\n/**\n * Whether the disclosure starts expanded. Non-collapsible schemas are always\n * open. When `expandAllSchemaProperties` is enabled, finite branches start\n * expanded by default while cyclic branches remain collapsed to avoid recursion\n * loops. We also open any disclosure on the path to the current scroll target so\n * deep links resolve even when the property is collapsed.\n *\n * Note: the Disclosure only reads this at mount, so it expands collapsed\n * properties on a fresh navigation (the schema mounts after the target is set),\n * not when the target changes for an already-mounted disclosure.\n */\nconst defaultOpen = computed(\n (): boolean =>\n noncollapsible || shouldForceExpand.value || isOnScrollTargetPath.value,\n)\n\nconst childAttributesLabel = computed(\n (): string => schema?.title ?? translate('schema.childAttributes'),\n)\n\n/** Gets the description to show for the schema */\nconst schemaDescription = computed(() => {\n const value = resolvedSchema.value\n\n if (hideDescription) {\n return null\n }\n\n // For the request body we want to show the description of the merged allOf schema.\n // Merging keeps the base description (when set) and otherwise lets the last allOf\n // member win, matching how the merged composition is rendered below. The nested\n // merged Schema in `SchemaComposition` hides its own description in this case so\n // the text is not rendered twice.\n if (schema?.allOf && schema.allOf.length > 0 && name === 'Request Body') {\n return mergeAllOfSchemas(schema)?.description || null\n }\n\n // Don't show description if there's no description or it's not a string\n if (!value?.description || typeof value.description !== 'string') {\n return null\n }\n\n // Don't show description for enum schemas (they have special handling)\n if (value.enum) {\n return null\n }\n\n // Will be shown in the properties anyway\n if (\n !('properties' in value) &&\n !('patternProperties' in value) &&\n !('additionalProperties' in value)\n ) {\n return null\n }\n\n // Return the schema's own description\n return value.description\n})\n\n/**\n * Some generators (for example NSwag) describe a polymorphic base type as a\n * plain object with a `discriminator.mapping` but no explicit `oneOf`. We infer\n * the variant composition from the mapping so the selector still renders.\n *\n * The `discriminator` prop is only set when this schema is already a variant\n * being rendered inside a `SchemaComposition`; skipping the inference in that\n * case avoids re-inferring (and recursing) on a self-referential mapping.\n *\n * The inference is restricted to plain object schemas (`isTypeObject`). A schema\n * carrying its own composition keyword (`allOf`/`not`) is rendered by the\n * `SchemaProperty` branch below; inferring a selector there would replace that\n * keyword's output with the variant dropdown instead of rendering both.\n */\nconst inferredDiscriminatorComposition = computed(() =>\n schema && !discriminator && isTypeObject(schema)\n ? inferDiscriminatorMappingComposition(schema, options.document)\n : null,\n)\n\n// Prevent click action if noncollapsible\nconst handleClick = (e: MouseEvent) => {\n if (noncollapsible) {\n e.stopPropagation()\n }\n}\n</script>\n<template>\n <Disclosure\n v-if=\"resolvedSchema && Object.keys(resolvedSchema).length\"\n v-slot=\"{ open }\"\n :defaultOpen=\"defaultOpen\">\n <div\n class=\"schema-card\"\n :class=\"[\n `schema-card--level-${level}`,\n { 'schema-card--compact': compact, 'schema-card--open': open },\n { 'border-t': additionalProperties && open },\n ]\">\n <!-- Schema description -->\n <div\n v-if=\"schemaDescription\"\n class=\"schema-card-description\">\n <ScalarMarkdown :value=\"schemaDescription\" />\n </div>\n <div\n v-if=\"isEmptySchemaObject(resolvedSchema)\"\n class=\"pt-2\">\n {{ translate('schema.emptyObject') }}\n </div>\n <div\n class=\"schema-properties\"\n :class=\"{\n 'schema-properties-open': open,\n }\">\n <!-- Toggle to collapse/expand long lists of properties -->\n <div\n v-if=\"additionalProperties\"\n v-show=\"!open\"\n class=\"schema-properties\">\n <DisclosureButton\n as=\"button\"\n class=\"schema-card-title schema-card-title--compact\"\n @click.capture=\"handleClick\">\n <ScalarIcon\n class=\"schema-card-title-icon\"\n icon=\"Add\"\n size=\"sm\" />\n {{ translate('schema.showAdditionalProperties') }}\n <ScreenReader v-if=\"name\">\n {{ translate('schema.forName', { name }) }}\n </ScreenReader>\n </DisclosureButton>\n </div>\n\n <DisclosureButton\n v-else-if=\"shouldShowToggle\"\n v-show=\"!hideHeading && !(noncollapsible && compact)\"\n :as=\"noncollapsible ? 'div' : 'button'\"\n class=\"schema-card-title\"\n :class=\"{ 'schema-card-title--compact': compact }\"\n :style=\"{\n top: `calc(var(--refs-viewport-offset) + calc(var(--schema-title-height) * ${level}))`,\n }\"\n @click.capture=\"handleClick\">\n <template v-if=\"compact\">\n <ScalarIcon\n class=\"schema-card-title-icon\"\n :class=\"{ 'schema-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <template v-if=\"open\">\n {{\n translate('schema.hideChildAttributes', {\n name: childAttributesLabel,\n })\n }}\n </template>\n <template v-else>\n {{\n translate('schema.showChildAttributes', {\n name: childAttributesLabel,\n })\n }}\n </template>\n <ScreenReader v-if=\"name\">\n {{ translate('schema.forName', { name }) }}\n </ScreenReader>\n </template>\n <template v-else>\n <ScalarIcon\n class=\"schema-card-title-icon\"\n :class=\"{ 'schema-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <SchemaHeading\n :name=\"resolvedSchema?.title ?? name\"\n :value=\"resolvedSchema\" />\n </template>\n </DisclosureButton>\n <DisclosurePanel\n v-if=\"!additionalProperties || open\"\n as=\"ul\"\n :static=\"!shouldShowToggle\">\n <!-- Variant selector inferred from a discriminator mapping -->\n <SchemaComposition\n v-if=\"inferredDiscriminatorComposition\"\n :breadcrumb\n :compact\n composition=\"oneOf\"\n :compositionPath=\"compositionPath\"\n :discriminator=\"schema?.discriminator\"\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level=\"level\"\n :name=\"name\"\n :options\n :schema=\"inferredDiscriminatorComposition\"\n :schemaContext=\"schemaContext\" />\n <!-- Object properties -->\n <SchemaObjectProperties\n v-else-if=\"isTypeObject(resolvedSchema)\"\n :breadcrumb\n :compact\n :compositionPath=\"compositionPath\"\n :discriminator\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level=\"level + 1\"\n :options\n :schema=\"resolvedSchema\"\n :schemaContext=\"schemaContext\" />\n <!-- Not an object -->\n <template v-else>\n <SchemaProperty\n v-if=\"resolvedSchema\"\n :breadcrumb\n :compact\n :compositionPath=\"compositionPath\"\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level\n :options\n :schema=\"resolvedSchema\"\n :schemaContext=\"schemaContext\" />\n </template>\n </DisclosurePanel>\n </div>\n </div>\n </Disclosure>\n</template>\n<style scoped>\n.error {\n background-color: var(--scalar-color-red);\n}\n.schema-card {\n font-size: var(--scalar-font-size-4);\n color: var(--scalar-color-1);\n}\n.schema-card-title {\n height: var(--schema-title-height);\n\n padding: 6px 8px;\n\n display: flex;\n align-items: center;\n gap: 4px;\n\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-mini);\n border-bottom: var(--scalar-border-width) solid transparent;\n}\nbutton.schema-card-title {\n cursor: pointer;\n}\nbutton.schema-card-title:hover {\n color: var(--scalar-color-1);\n}\n.schema-card-title-icon--open {\n transform: rotate(45deg);\n}\n.schema-properties-open > .schema-card-title {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.schema-properties-open > .schema-properties {\n width: fit-content;\n}\n.schema-card-description {\n color: var(--scalar-color-2);\n}\n.schema-card-description + .schema-properties {\n width: fit-content;\n}\n.schema-card-description + .schema-properties {\n margin-top: 8px;\n}\n.schema-card--level-0:nth-of-type(1)\n > .schema-card-description:has(+ .schema-properties) {\n margin-bottom: -8px;\n padding-bottom: 8px;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.schema-card--level-0\n ~ .schema-card--level-0\n > .schema-card-description:has(+ .schema-properties) {\n padding-top: 8px;\n}\n\n.schema-properties-open.schema-properties,\n.schema-properties-open > .schema-card--open {\n width: 100%;\n}\n.schema-properties {\n display: flex;\n flex-direction: column;\n\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-lg);\n width: fit-content;\n}\n.schema-properties-name {\n width: 100%;\n}\n.schema-properties .schema-properties {\n border-radius: 13.5px;\n}\n.schema-properties .schema-properties.schema-properties-open {\n border-radius: var(--scalar-radius-lg);\n}\n.schema-properties-open {\n width: 100%;\n}\n.schema-card--compact {\n align-self: flex-start;\n}\n.schema-card--compact.schema-card--open {\n align-self: initial;\n}\n.schema-card-title--compact {\n color: var(--scalar-color-2);\n padding: 6px 10px 6px 8px;\n height: auto;\n border-bottom: none;\n}\n.schema-card-title--compact > .schema-card-title-icon {\n margin: 0;\n}\n.schema-card-title--compact > .schema-card-title-icon--open {\n transform: rotate(45deg);\n}\n.schema-properties-open > .schema-card-title--compact {\n position: static;\n}\n.property--level-0\n > .schema-properties\n > .schema-card--level-0\n > .schema-properties {\n border: none;\n}\n.property--level-0\n .schema-card--level-0:not(.schema-card--compact)\n .property--level-1 {\n padding: 0 0 8px;\n}\n:not(.composition-panel)\n > .schema-card--compact.schema-card--level-0\n > .schema-properties {\n border: none;\n}\n:deep(.schema-card-description) p {\n font-size: var(--scalar-small, var(--scalar-paragraph));\n color: var(--scalar-color-2);\n margin-bottom: 0;\n display: block;\n margin-bottom: 6px;\n}\n.children .schema-card-description:first-of-type {\n padding-top: 0;\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"Schema.vue.script.js","names":[],"sources":["../../../../src/components/Content/Schema/Schema.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarIcon } from '@scalar/components/icon'\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { pushDynamicScope } from '@scalar/workspace-store/helpers/dynamic-ref'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type {\n DiscriminatorObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, inject, provide } from 'vue'\n\nimport type { SchemaOptions } from '@/components/Content/Schema/types'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport { useLocalization } from '@/features/localization'\nimport { scrollTargetId } from '@/helpers/lazy-bus'\n\nimport {\n resolveDynamicSchema,\n SCHEMA_DYNAMIC_SCOPE_SYMBOL,\n useDynamicScope,\n} from './helpers/dynamic-scope'\nimport { inferDiscriminatorMappingComposition } from './helpers/get-compositions-to-render'\nimport { isEmptySchemaObject } from './helpers/is-empty-schema-object'\nimport { isTypeObject } from './helpers/is-type-object'\nimport { mergeAllOfSchemas } from './helpers/merge-all-of-schemas'\nimport { SCHEMA_ANCESTORS_SYMBOL } from './helpers/schema-cycle'\nimport SchemaComposition from './SchemaComposition.vue'\nimport SchemaHeading from './SchemaHeading.vue'\nimport SchemaObjectProperties from './SchemaObjectProperties.vue'\nimport SchemaProperty from './SchemaProperty.vue'\n\nconst {\n schema,\n level = 0,\n name,\n compact,\n noncollapsible = false,\n hideHeading,\n hideDescription = false,\n additionalProperties,\n discriminator,\n breadcrumb,\n hideModelNames = false,\n options,\n schemaContext,\n compositionPath,\n cycleKey,\n} = defineProps<{\n schema?: SchemaObject\n /** Track how deep we've gone */\n level?: number\n /* Show as a heading */\n name?: string\n /** A tighter layout with less borders and without a heading */\n compact?: boolean\n /** Shows a toggle to hide/show children */\n noncollapsible?: boolean\n /** Hide the heading */\n hideHeading?: boolean\n /** Hide the schema description */\n hideDescription?: boolean\n /** Show a special one way toggle for additional properties, also has a top border when open */\n additionalProperties?: boolean\n /** Hide model names in type display */\n hideModelNames?: boolean\n /** Discriminator object */\n discriminator?: DiscriminatorObject\n /** Breadcrumb for the schema */\n breadcrumb?: string[]\n /** Event bus emitting actions */\n eventBus: WorkspaceEventBus | null\n /** Move the options into a single prop so they are easy to pass around */\n options: SchemaOptions\n /** When \"requestBody\", composition dropdown selection is synced with the example snippet */\n schemaContext?: string\n /** Internal path used to sync nested request body compositions with the code sample */\n compositionPath?: string[]\n /**\n * Stable identity of this schema node, derived from its raw (unresolved)\n * value by the parent. Used to detect self-referential cycles. See\n * {@link getCycleKey}.\n */\n cycleKey?: unknown\n}>()\nconst { translate } = useLocalization()\n\n/**\n * The dynamic scope inherited from ancestor schema resources.\n *\n * Used to bind JSON Schema 2020-12 `$dynamicRef`s to the active `$dynamicAnchor` while walking the\n * tree. Empty at the root. See {@link useDynamicScope}.\n */\nconst dynamicScope = useDynamicScope()\n\n/**\n * The schema this node actually renders.\n *\n * Two normalizations happen here, both no-ops for ordinary schemas:\n * - A top-level `$dynamicRef` is bound to its concrete type via the inherited dynamic scope.\n * - A resource that extends a template through a root `$ref` (JSON Schema 2020-12 `$ref` alongside\n * `$defs`, e.g. a `PaginatedResponse` binding) is merged so its inherited properties render.\n */\nconst resolvedSchema = computed((): SchemaObject | undefined => {\n if (!schema || typeof schema !== 'object') {\n return schema\n }\n\n const bound = resolveDynamicSchema(schema, dynamicScope)\n return '$ref' in bound ? resolve.schema(bound) : bound\n})\n\n/**\n * Re-provide the dynamic scope grown with this resource so nested `$dynamicRef`s bind here.\n *\n * Built once at setup from the resource's stable identity (like the ancestor set below);\n * `pushDynamicScope` only grows the scope for schemas that can carry a `$dynamicAnchor`.\n *\n * The raw schema is pushed, not the merged {@link resolvedSchema}: merging through `resolve.schema`\n * coerces the node and drops the resolved `$ref-value` from entries inside `$defs`, which\n * `$dynamicAnchor` resolution relies on to dereference the bound type (e.g. `User`).\n */\nconst scopeSchema = schema\n ? resolveDynamicSchema(schema, dynamicScope)\n : undefined\nprovide(\n SCHEMA_DYNAMIC_SCOPE_SYMBOL,\n scopeSchema ? pushDynamicScope(dynamicScope, scopeSchema) : dynamicScope,\n)\n\n/**\n * Cycle-safe `expandAllSchemaProperties`.\n *\n * We track ancestor schema keys along the current render path. A node is\n * treated as cyclic when its key is already present in the ancestor set, which\n * indicates that rendering has looped back onto a self-referential schema.\n *\n * This lets us default-expand finite branches while stopping automatic\n * expansion only at cycle boundaries, preventing infinite recursion.\n */\nconst ancestors = inject(SCHEMA_ANCESTORS_SYMBOL, undefined)\n\nconst isCyclic = computed(\n (): boolean => cycleKey != null && !!ancestors?.has(cycleKey),\n)\n\n// Re-provide the ancestor set augmented with this node so descendants can\n// detect cycles back to it. Built once at setup; a node's key is stable.\nconst childAncestors = new Set<unknown>(ancestors ?? [])\nif (cycleKey != null) {\n childAncestors.add(cycleKey)\n}\nprovide(SCHEMA_ANCESTORS_SYMBOL, childAncestors)\n\nconst shouldForceExpand = computed(\n (): boolean => !!options.expandAllSchemaProperties && !isCyclic.value,\n)\n\n/**\n * Determines whether to show the collapse/expand toggle button.\n * We hide the toggle for non-collapsible schemas and root-level schemas.\n */\nconst shouldShowToggle = computed((): boolean => !noncollapsible && level > 0)\n\n/**\n * Whether this schema sits on the path to the current anchor/scroll target.\n *\n * Property anchors are dot-joined breadcrumbs, so every disclosure that wraps\n * the target has a breadcrumb that is a prefix of the target id. Opening those\n * disclosures is what makes deep links to collapsed (hidden) properties work\n * without forcing every schema open via `expandAllSchemaProperties`.\n */\nconst isOnScrollTargetPath = computed((): boolean => {\n if (!breadcrumb?.length) {\n return false\n }\n const path = breadcrumb.join('.')\n const target = scrollTargetId.value\n return target === path || target.startsWith(`${path}.`)\n})\n\n/**\n * Whether the disclosure starts expanded. Non-collapsible schemas are always\n * open. When `expandAllSchemaProperties` is enabled, finite branches start\n * expanded by default while cyclic branches remain collapsed to avoid recursion\n * loops. We also open any disclosure on the path to the current scroll target so\n * deep links resolve even when the property is collapsed.\n *\n * Note: the Disclosure only reads this at mount, so it expands collapsed\n * properties on a fresh navigation (the schema mounts after the target is set),\n * not when the target changes for an already-mounted disclosure.\n */\nconst defaultOpen = computed(\n (): boolean =>\n noncollapsible || shouldForceExpand.value || isOnScrollTargetPath.value,\n)\n\nconst childAttributesLabel = computed(\n (): string => schema?.title ?? translate('schema.childAttributes'),\n)\n\n/** Gets the description to show for the schema */\nconst schemaDescription = computed(() => {\n const value = resolvedSchema.value\n\n if (hideDescription) {\n return null\n }\n\n // For the request body we want to show the description of the merged allOf schema.\n // Merging keeps the base description (when set) and otherwise lets the last allOf\n // member win, matching how the merged composition is rendered below. The nested\n // merged Schema in `SchemaComposition` hides its own description in this case so\n // the text is not rendered twice.\n if (schema?.allOf && schema.allOf.length > 0 && name === 'Request Body') {\n return mergeAllOfSchemas(schema)?.description || null\n }\n\n // Don't show description if there's no description or it's not a string\n if (!value?.description || typeof value.description !== 'string') {\n return null\n }\n\n // Don't show description for enum schemas (they have special handling)\n if (value.enum) {\n return null\n }\n\n // Will be shown in the properties anyway\n if (\n !('properties' in value) &&\n !('patternProperties' in value) &&\n !('additionalProperties' in value)\n ) {\n return null\n }\n\n // Return the schema's own description\n return value.description\n})\n\n/**\n * Infer a selector for mapped discriminators that do not declare `oneOf`.\n * Threaded discriminators skip inference to avoid recursive allOf variants.\n */\nconst inferredDiscriminatorComposition = computed(() =>\n schema && !discriminator && isTypeObject(schema)\n ? inferDiscriminatorMappingComposition(schema, options.document)\n : null,\n)\n\n// Prevent click action if noncollapsible\nconst handleClick = (e: MouseEvent) => {\n if (noncollapsible) {\n e.stopPropagation()\n }\n}\n</script>\n<template>\n <Disclosure\n v-if=\"resolvedSchema && Object.keys(resolvedSchema).length\"\n v-slot=\"{ open }\"\n :defaultOpen=\"defaultOpen\">\n <div\n class=\"schema-card\"\n :class=\"[\n `schema-card--level-${level}`,\n { 'schema-card--compact': compact, 'schema-card--open': open },\n { 'border-t': additionalProperties && open },\n ]\">\n <!-- Schema description -->\n <div\n v-if=\"schemaDescription\"\n class=\"schema-card-description\">\n <ScalarMarkdown :value=\"schemaDescription\" />\n </div>\n <div\n v-if=\"isEmptySchemaObject(resolvedSchema)\"\n class=\"pt-2\">\n {{ translate('schema.emptyObject') }}\n </div>\n <div\n class=\"schema-properties\"\n :class=\"{\n 'schema-properties-open': open,\n }\">\n <!-- Toggle to collapse/expand long lists of properties -->\n <div\n v-if=\"additionalProperties\"\n v-show=\"!open\"\n class=\"schema-properties\">\n <DisclosureButton\n as=\"button\"\n class=\"schema-card-title schema-card-title--compact\"\n @click.capture=\"handleClick\">\n <ScalarIcon\n class=\"schema-card-title-icon\"\n icon=\"Add\"\n size=\"sm\" />\n {{ translate('schema.showAdditionalProperties') }}\n <ScreenReader v-if=\"name\">\n {{ translate('schema.forName', { name }) }}\n </ScreenReader>\n </DisclosureButton>\n </div>\n\n <DisclosureButton\n v-else-if=\"shouldShowToggle\"\n v-show=\"!hideHeading && !(noncollapsible && compact)\"\n :as=\"noncollapsible ? 'div' : 'button'\"\n class=\"schema-card-title\"\n :class=\"{ 'schema-card-title--compact': compact }\"\n :style=\"{\n top: `calc(var(--refs-viewport-offset) + calc(var(--schema-title-height) * ${level}))`,\n }\"\n @click.capture=\"handleClick\">\n <template v-if=\"compact\">\n <ScalarIcon\n class=\"schema-card-title-icon\"\n :class=\"{ 'schema-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <template v-if=\"open\">\n {{\n translate('schema.hideChildAttributes', {\n name: childAttributesLabel,\n })\n }}\n </template>\n <template v-else>\n {{\n translate('schema.showChildAttributes', {\n name: childAttributesLabel,\n })\n }}\n </template>\n <ScreenReader v-if=\"name\">\n {{ translate('schema.forName', { name }) }}\n </ScreenReader>\n </template>\n <template v-else>\n <ScalarIcon\n class=\"schema-card-title-icon\"\n :class=\"{ 'schema-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <SchemaHeading\n :name=\"resolvedSchema?.title ?? name\"\n :value=\"resolvedSchema\" />\n </template>\n </DisclosureButton>\n <DisclosurePanel\n v-if=\"!additionalProperties || open\"\n as=\"ul\"\n :static=\"!shouldShowToggle\">\n <!-- Variant selector inferred from a discriminator mapping -->\n <SchemaComposition\n v-if=\"inferredDiscriminatorComposition\"\n :breadcrumb\n :compact\n composition=\"oneOf\"\n :compositionPath=\"compositionPath\"\n :discriminator=\"schema?.discriminator\"\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level=\"level\"\n :name=\"name\"\n :options\n :schema=\"inferredDiscriminatorComposition\"\n :schemaContext=\"schemaContext\" />\n <!-- Object properties -->\n <SchemaObjectProperties\n v-else-if=\"isTypeObject(resolvedSchema)\"\n :breadcrumb\n :compact\n :compositionPath=\"compositionPath\"\n :discriminator\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level=\"level + 1\"\n :options\n :schema=\"resolvedSchema\"\n :schemaContext=\"schemaContext\" />\n <!-- Not an object -->\n <template v-else>\n <SchemaProperty\n v-if=\"resolvedSchema\"\n :breadcrumb\n :compact\n :compositionPath=\"compositionPath\"\n :discriminator\n :eventBus=\"eventBus\"\n :hideHeading\n :hideModelNames\n :level\n :options\n :schema=\"resolvedSchema\"\n :schemaContext=\"schemaContext\" />\n </template>\n </DisclosurePanel>\n </div>\n </div>\n </Disclosure>\n</template>\n<style scoped>\n.error {\n background-color: var(--scalar-color-red);\n}\n.schema-card {\n font-size: var(--scalar-font-size-4);\n color: var(--scalar-color-1);\n}\n.schema-card-title {\n height: var(--schema-title-height);\n\n padding: 6px 8px;\n\n display: flex;\n align-items: center;\n gap: 4px;\n\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-mini);\n border-bottom: var(--scalar-border-width) solid transparent;\n}\nbutton.schema-card-title {\n cursor: pointer;\n}\nbutton.schema-card-title:hover {\n color: var(--scalar-color-1);\n}\n.schema-card-title-icon--open {\n transform: rotate(45deg);\n}\n.schema-properties-open > .schema-card-title {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.schema-properties-open > .schema-properties {\n width: fit-content;\n}\n.schema-card-description {\n color: var(--scalar-color-2);\n}\n.schema-card-description + .schema-properties {\n width: fit-content;\n}\n.schema-card-description + .schema-properties {\n margin-top: 8px;\n}\n.schema-card--level-0:nth-of-type(1)\n > .schema-card-description:has(+ .schema-properties) {\n margin-bottom: -8px;\n padding-bottom: 8px;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n.schema-card--level-0\n ~ .schema-card--level-0\n > .schema-card-description:has(+ .schema-properties) {\n padding-top: 8px;\n}\n\n.schema-properties-open.schema-properties,\n.schema-properties-open > .schema-card--open {\n width: 100%;\n}\n.schema-properties {\n display: flex;\n flex-direction: column;\n\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-lg);\n width: fit-content;\n}\n.schema-properties-name {\n width: 100%;\n}\n.schema-properties .schema-properties {\n border-radius: 13.5px;\n}\n.schema-properties .schema-properties.schema-properties-open {\n border-radius: var(--scalar-radius-lg);\n}\n.schema-properties-open {\n width: 100%;\n}\n.schema-card--compact {\n align-self: flex-start;\n}\n.schema-card--compact.schema-card--open {\n align-self: initial;\n}\n.schema-card-title--compact {\n color: var(--scalar-color-2);\n padding: 6px 10px 6px 8px;\n height: auto;\n border-bottom: none;\n}\n.schema-card-title--compact > .schema-card-title-icon {\n margin: 0;\n}\n.schema-card-title--compact > .schema-card-title-icon--open {\n transform: rotate(45deg);\n}\n.schema-properties-open > .schema-card-title--compact {\n position: static;\n}\n.property--level-0\n > .schema-properties\n > .schema-card--level-0\n > .schema-properties {\n border: none;\n}\n.property--level-0\n .schema-card--level-0:not(.schema-card--compact)\n .property--level-1 {\n padding: 0 0 8px;\n}\n:not(.composition-panel)\n > .schema-card--compact.schema-card--level-0\n > .schema-properties {\n border: none;\n}\n:deep(.schema-card-description) p {\n font-size: var(--scalar-small, var(--scalar-paragraph));\n color: var(--scalar-color-2);\n margin-bottom: 0;\n display: block;\n margin-bottom: 6px;\n}\n.children .schema-card-description:first-of-type {\n padding-top: 0;\n}\n</style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaComposition.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Content/Schema/SchemaComposition.vue"],"names":[],"mappings":"AA6UA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACb,MAAM,8DAA8D,CAAA;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAStE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAKtE,KAAK,WAAW,GAAG;IACf,oDAAoD;IACpD,WAAW,EAAE,kBAAkB,CAAA;IAC/B,4DAA4D;IAC5D,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,MAAM,EAAE,YAAY,CAAA;IACpB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,iCAAiC;IACjC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,yEAAyE;IACzE,OAAO,EAAE,aAAa,CAAA;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B,CAAC;AAibJ,QAAA,MAAM,YAAY;aAhcJ,OAAO;iBAEH,OAAO;6EAicvB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"SchemaComposition.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Content/Schema/SchemaComposition.vue"],"names":[],"mappings":"AA6UA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACb,MAAM,8DAA8D,CAAA;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAStE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAKtE,KAAK,WAAW,GAAG;IACf,oDAAoD;IACpD,WAAW,EAAE,kBAAkB,CAAA;IAC/B,4DAA4D;IAC5D,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,MAAM,EAAE,YAAY,CAAA;IACpB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,iCAAiC;IACjC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,yEAAyE;IACzE,OAAO,EAAE,aAAa,CAAA;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B,CAAC;AAmbJ,QAAA,MAAM,YAAY;aAlcJ,OAAO;iBAEH,OAAO;6EAmcvB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -22,7 +22,7 @@ var _hoisted_4 = {
22
22
  class: "text-red"
23
23
  };
24
24
  var _hoisted_5 = { class: "composition-panel" };
25
- var SchemaComposition_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
25
+ var SchemaComposition_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
26
26
  __name: "SchemaComposition",
27
27
  props: {
28
28
  composition: {},