@scalar/api-reference 1.64.0 → 1.64.1

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 (591) hide show
  1. package/CHANGELOG.md +48 -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-D1mzA447.js +27 -0
  71. package/dist/browser/chunks/ScalarTextInput.vue-OfiA6SHf.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-BS4e2gew.js +99 -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-DWZAEyBy.js +306 -0
  160. package/dist/browser/standalone.esm.js +8 -6
  161. package/dist/browser/standalone.js +253 -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 +48 -15
  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/Auth/Auth.vue.script.js +1 -1
  218. package/dist/components/Content/Auth/Auth.vue.script.js.map +1 -1
  219. package/dist/components/Content/Content.vue.script.js +1 -1
  220. package/dist/components/Content/Content.vue.script.js.map +1 -1
  221. package/dist/components/Content/Models/Model.vue.script.js +1 -1
  222. package/dist/components/Content/Models/Model.vue.script.js.map +1 -1
  223. package/dist/components/Content/Models/ModelTag.vue.d.ts.map +1 -1
  224. package/dist/components/Content/Models/ModelTag.vue.script.js +2 -2
  225. package/dist/components/Content/Models/ModelTag.vue.script.js.map +1 -1
  226. package/dist/components/Content/Models/components/ClassicLayout.vue.d.ts.map +1 -1
  227. package/dist/components/Content/Models/components/ClassicLayout.vue.js +1 -1
  228. package/dist/components/Content/Models/components/ClassicLayout.vue.script.js +1 -1
  229. package/dist/components/Content/Models/components/ClassicLayout.vue.script.js.map +1 -1
  230. package/dist/components/Content/Models/components/ModernLayout.vue.d.ts.map +1 -1
  231. package/dist/components/Content/Models/components/ModernLayout.vue.script.js +1 -1
  232. package/dist/components/Content/Models/components/ModernLayout.vue.script.js.map +1 -1
  233. package/dist/components/Content/Operations/TraversedEntry.vue.script.js +1 -1
  234. package/dist/components/Content/Operations/TraversedEntry.vue.script.js.map +1 -1
  235. package/dist/components/Content/Schema/LinkButton.vue.js +1 -1
  236. package/dist/components/Content/Schema/LinkButton.vue.js.map +1 -1
  237. package/dist/components/Content/Schema/RenderString.vue.script.js +1 -1
  238. package/dist/components/Content/Schema/RenderString.vue.script.js.map +1 -1
  239. package/dist/components/Content/Schema/Schema.vue.d.ts.map +1 -1
  240. package/dist/components/Content/Schema/Schema.vue.js +1 -1
  241. package/dist/components/Content/Schema/Schema.vue.js.map +1 -1
  242. package/dist/components/Content/Schema/Schema.vue.script.js +5 -13
  243. package/dist/components/Content/Schema/Schema.vue.script.js.map +1 -1
  244. package/dist/components/Content/Schema/SchemaComposition.vue.d.ts.map +1 -1
  245. package/dist/components/Content/Schema/SchemaComposition.vue.script.js +1 -1
  246. package/dist/components/Content/Schema/SchemaComposition.vue.script.js.map +1 -1
  247. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.js +1 -1
  248. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.script.js +1 -1
  249. package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.script.js.map +1 -1
  250. package/dist/components/Content/Schema/SchemaEnums.vue.d.ts.map +1 -1
  251. package/dist/components/Content/Schema/SchemaEnums.vue.js +1 -1
  252. package/dist/components/Content/Schema/SchemaEnums.vue.script.js +1 -1
  253. package/dist/components/Content/Schema/SchemaEnums.vue.script.js.map +1 -1
  254. package/dist/components/Content/Schema/SchemaHeading.vue.js +1 -1
  255. package/dist/components/Content/Schema/SchemaHeading.vue.script.js +1 -1
  256. package/dist/components/Content/Schema/SchemaHeading.vue.script.js.map +1 -1
  257. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js +1 -1
  258. package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js.map +1 -1
  259. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js +1 -1
  260. package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js.map +1 -1
  261. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts.map +1 -1
  262. package/dist/components/Content/Schema/SchemaProperty.vue.js +1 -1
  263. package/dist/components/Content/Schema/SchemaProperty.vue.js.map +1 -1
  264. package/dist/components/Content/Schema/SchemaProperty.vue.script.js +4 -3
  265. package/dist/components/Content/Schema/SchemaProperty.vue.script.js.map +1 -1
  266. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.js +1 -1
  267. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js +1 -1
  268. package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js.map +1 -1
  269. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.js +1 -1
  270. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.script.js +1 -1
  271. package/dist/components/Content/Schema/SchemaPropertyDetail.vue.script.js.map +1 -1
  272. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.js +1 -1
  273. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js +1 -1
  274. package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js.map +1 -1
  275. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts.map +1 -1
  276. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js +1 -1
  277. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js +1 -1
  278. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js.map +1 -1
  279. package/dist/components/Content/Schema/helpers/dynamic-scope.js.map +1 -1
  280. package/dist/components/Content/Schema/helpers/format-example.js.map +1 -1
  281. package/dist/components/Content/Schema/helpers/format-value.js.map +1 -1
  282. package/dist/components/Content/Schema/helpers/get-compositions-to-render.js.map +1 -1
  283. package/dist/components/Content/Schema/helpers/get-enum-values.js.map +1 -1
  284. package/dist/components/Content/Schema/helpers/get-property-description.js.map +1 -1
  285. package/dist/components/Content/Schema/helpers/get-ref-name.js.map +1 -1
  286. package/dist/components/Content/Schema/helpers/get-schema-type.js.map +1 -1
  287. package/dist/components/Content/Schema/helpers/has-complex-array-items.js.map +1 -1
  288. package/dist/components/Content/Schema/helpers/is-empty-schema-object.js.map +1 -1
  289. package/dist/components/Content/Schema/helpers/is-type-object.js.map +1 -1
  290. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js +3 -3
  291. package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js.map +1 -1
  292. package/dist/components/Content/Schema/helpers/optimize-value-for-display.js.map +1 -1
  293. package/dist/components/Content/Schema/helpers/partition-all-of-compositions.js.map +1 -1
  294. package/dist/components/Content/Schema/helpers/schema-composition.js.map +1 -1
  295. package/dist/components/Content/Schema/helpers/schema-cycle.js.map +1 -1
  296. package/dist/components/Content/Schema/helpers/schema-name.js.map +1 -1
  297. package/dist/components/Content/Schema/helpers/should-display-description.js.map +1 -1
  298. package/dist/components/Content/Schema/helpers/should-display-heading.js.map +1 -1
  299. package/dist/components/Content/Schema/helpers/should-render-array-item-composition.js.map +1 -1
  300. package/dist/components/Content/Schema/helpers/sort-property-names.js.map +1 -1
  301. package/dist/components/Content/Tags/Tag.vue.script.js +1 -1
  302. package/dist/components/Content/Tags/Tag.vue.script.js.map +1 -1
  303. package/dist/components/Content/Tags/components/ClassicLayout.vue.d.ts.map +1 -1
  304. package/dist/components/Content/Tags/components/ClassicLayout.vue.js +1 -1
  305. package/dist/components/Content/Tags/components/ClassicLayout.vue.script.js +1 -1
  306. package/dist/components/Content/Tags/components/ClassicLayout.vue.script.js.map +1 -1
  307. package/dist/components/Content/Tags/components/ModernLayout.vue.d.ts.map +1 -1
  308. package/dist/components/Content/Tags/components/ModernLayout.vue.js +1 -1
  309. package/dist/components/Content/Tags/components/ModernLayout.vue.script.js +1 -1
  310. package/dist/components/Content/Tags/components/ModernLayout.vue.script.js.map +1 -1
  311. package/dist/components/Content/Tags/components/TagSection.vue.d.ts.map +1 -1
  312. package/dist/components/Content/Tags/components/TagSection.vue.script.js +1 -1
  313. package/dist/components/Content/Tags/components/TagSection.vue.script.js.map +1 -1
  314. package/dist/components/GettingStarted.vue.d.ts.map +1 -1
  315. package/dist/components/GettingStarted.vue.js +1 -1
  316. package/dist/components/GettingStarted.vue.js.map +1 -1
  317. package/dist/components/GettingStarted.vue.script.js +4 -3
  318. package/dist/components/GettingStarted.vue.script.js.map +1 -1
  319. package/dist/components/HttpMethod/HttpMethod.vue.script.js +1 -1
  320. package/dist/components/HttpMethod/HttpMethod.vue.script.js.map +1 -1
  321. package/dist/components/IntersectionObserver.vue.script.js +10 -7
  322. package/dist/components/IntersectionObserver.vue.script.js.map +1 -1
  323. package/dist/components/Lazy/Lazy.vue.script.js +2 -2
  324. package/dist/components/Lazy/Lazy.vue.script.js.map +1 -1
  325. package/dist/components/LinkList/LinkList.vue.js +1 -1
  326. package/dist/components/LinkList/LinkList.vue.script.js +1 -1
  327. package/dist/components/LinkList/LinkList.vue.script.js.map +1 -1
  328. package/dist/components/MobileHeader.vue.d.ts.map +1 -1
  329. package/dist/components/MobileHeader.vue.script.js +4 -4
  330. package/dist/components/MobileHeader.vue.script.js.map +1 -1
  331. package/dist/components/OperationPath.vue.d.ts.map +1 -1
  332. package/dist/components/OperationPath.vue.js +1 -1
  333. package/dist/components/OperationPath.vue.script.js +1 -1
  334. package/dist/components/OperationPath.vue.script.js.map +1 -1
  335. package/dist/components/OperationsList/OperationsList.vue.js +1 -1
  336. package/dist/components/OperationsList/OperationsList.vue.script.js +1 -1
  337. package/dist/components/OperationsList/OperationsList.vue.script.js.map +1 -1
  338. package/dist/components/OperationsList/OperationsListItem.vue.js +1 -1
  339. package/dist/components/OperationsList/OperationsListItem.vue.script.js +1 -1
  340. package/dist/components/OperationsList/OperationsListItem.vue.script.js.map +1 -1
  341. package/dist/components/RenderPlugins/RenderPluginView.vue.script.js +1 -1
  342. package/dist/components/RenderPlugins/RenderPluginView.vue.script.js.map +1 -1
  343. package/dist/components/RenderPlugins/RenderPlugins.vue.script.js +1 -1
  344. package/dist/components/RenderPlugins/RenderPlugins.vue.script.js.map +1 -1
  345. package/dist/components/ScreenReader.vue.js +1 -1
  346. package/dist/components/ScreenReader.vue.script.js +2 -2
  347. package/dist/components/ScreenReader.vue.script.js.map +1 -1
  348. package/dist/components/Section/CompactSection.vue.d.ts.map +1 -1
  349. package/dist/components/Section/CompactSection.vue.js +1 -1
  350. package/dist/components/Section/CompactSection.vue.script.js +1 -1
  351. package/dist/components/Section/CompactSection.vue.script.js.map +1 -1
  352. package/dist/components/Section/Section.vue.js +1 -1
  353. package/dist/components/Section/Section.vue.script.js +1 -1
  354. package/dist/components/Section/Section.vue.script.js.map +1 -1
  355. package/dist/components/Section/SectionAccordion.vue.d.ts.map +1 -1
  356. package/dist/components/Section/SectionAccordion.vue.js +1 -1
  357. package/dist/components/Section/SectionAccordion.vue.script.js +1 -1
  358. package/dist/components/Section/SectionAccordion.vue.script.js.map +1 -1
  359. package/dist/components/Section/SectionColumn.vue.js +1 -1
  360. package/dist/components/Section/SectionColumn.vue.js.map +1 -1
  361. package/dist/components/Section/SectionColumns.vue.js +1 -1
  362. package/dist/components/Section/SectionColumns.vue.js.map +1 -1
  363. package/dist/components/Section/SectionContainer.vue.js +1 -1
  364. package/dist/components/Section/SectionContainer.vue.script.js +2 -2
  365. package/dist/components/Section/SectionContainer.vue.script.js.map +1 -1
  366. package/dist/components/Section/SectionContainerAccordion.vue.d.ts.map +1 -1
  367. package/dist/components/Section/SectionContainerAccordion.vue.js +1 -1
  368. package/dist/components/Section/SectionContainerAccordion.vue.script.js +1 -1
  369. package/dist/components/Section/SectionContainerAccordion.vue.script.js.map +1 -1
  370. package/dist/components/Section/SectionContent.vue.js +1 -1
  371. package/dist/components/Section/SectionContent.vue.js.map +1 -1
  372. package/dist/components/Section/SectionHeader.vue.js +1 -1
  373. package/dist/components/Section/SectionHeader.vue.script.js +2 -2
  374. package/dist/components/Section/SectionHeader.vue.script.js.map +1 -1
  375. package/dist/components/Section/SectionHeaderTag.vue.js +1 -1
  376. package/dist/components/Section/SectionHeaderTag.vue.script.js +1 -1
  377. package/dist/components/Section/SectionHeaderTag.vue.script.js.map +1 -1
  378. package/dist/components/SectionFlare/SectionFlare.vue.js +1 -1
  379. package/dist/components/SectionFlare/SectionFlare.vue.js.map +1 -1
  380. package/dist/components/ShowMoreButton.vue.js +1 -1
  381. package/dist/components/ShowMoreButton.vue.script.js +1 -1
  382. package/dist/components/ShowMoreButton.vue.script.js.map +1 -1
  383. package/dist/features/Operation/Operation.vue.script.js +1 -1
  384. package/dist/features/Operation/Operation.vue.script.js.map +1 -1
  385. package/dist/features/Operation/components/ContentTypeSelect.vue.d.ts.map +1 -1
  386. package/dist/features/Operation/components/ContentTypeSelect.vue.script.js +2 -2
  387. package/dist/features/Operation/components/ContentTypeSelect.vue.script.js.map +1 -1
  388. package/dist/features/Operation/components/Header.vue.script.js +1 -1
  389. package/dist/features/Operation/components/Header.vue.script.js.map +1 -1
  390. package/dist/features/Operation/components/Headers.vue.d.ts.map +1 -1
  391. package/dist/features/Operation/components/Headers.vue.js +1 -1
  392. package/dist/features/Operation/components/Headers.vue.script.js +1 -1
  393. package/dist/features/Operation/components/Headers.vue.script.js.map +1 -1
  394. package/dist/features/Operation/components/OperationParameters.vue.script.js +2 -2
  395. package/dist/features/Operation/components/OperationParameters.vue.script.js.map +1 -1
  396. package/dist/features/Operation/components/OperationResponses.vue.script.js +1 -1
  397. package/dist/features/Operation/components/OperationResponses.vue.script.js.map +1 -1
  398. package/dist/features/Operation/components/OperationScopes.vue.script.js +1 -1
  399. package/dist/features/Operation/components/OperationScopes.vue.script.js.map +1 -1
  400. package/dist/features/Operation/components/ParameterList.vue.script.js +1 -1
  401. package/dist/features/Operation/components/ParameterList.vue.script.js.map +1 -1
  402. package/dist/features/Operation/components/ParameterListItem.vue.js +1 -1
  403. package/dist/features/Operation/components/ParameterListItem.vue.script.js +1 -1
  404. package/dist/features/Operation/components/ParameterListItem.vue.script.js.map +1 -1
  405. package/dist/features/Operation/components/RequestBody.vue.d.ts.map +1 -1
  406. package/dist/features/Operation/components/RequestBody.vue.js +1 -1
  407. package/dist/features/Operation/components/RequestBody.vue.script.js +2 -2
  408. package/dist/features/Operation/components/RequestBody.vue.script.js.map +1 -1
  409. package/dist/features/Operation/components/SecurityRequirementBadge.vue.script.js +1 -1
  410. package/dist/features/Operation/components/SecurityRequirementBadge.vue.script.js.map +1 -1
  411. package/dist/features/Operation/components/SecurityRequirementBadgeScheme.vue.script.js +1 -1
  412. package/dist/features/Operation/components/SecurityRequirementBadgeScheme.vue.script.js.map +1 -1
  413. package/dist/features/Operation/components/callbacks/Callback.vue.js +1 -1
  414. package/dist/features/Operation/components/callbacks/Callback.vue.script.js +1 -1
  415. package/dist/features/Operation/components/callbacks/Callback.vue.script.js.map +1 -1
  416. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js +1 -1
  417. package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js.map +1 -1
  418. package/dist/features/Operation/components/helpers/get-parameter-examples.js.map +1 -1
  419. package/dist/features/Operation/helpers/filter-selected-security.js.map +1 -1
  420. package/dist/features/Operation/helpers/flatten-deep-object-query-parameter.js.map +1 -1
  421. package/dist/features/Operation/helpers/get-required-security.js.map +1 -1
  422. package/dist/features/Operation/helpers/operation-stability.js.map +1 -1
  423. package/dist/features/Operation/helpers/should-ignore-entity.js.map +1 -1
  424. package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts.map +1 -1
  425. package/dist/features/Operation/layouts/ClassicLayout.vue.js +1 -1
  426. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js +1 -1
  427. package/dist/features/Operation/layouts/ClassicLayout.vue.script.js.map +1 -1
  428. package/dist/features/Operation/layouts/ModernLayout.vue.d.ts.map +1 -1
  429. package/dist/features/Operation/layouts/ModernLayout.vue.js +1 -1
  430. package/dist/features/Operation/layouts/ModernLayout.vue.script.js +1 -1
  431. package/dist/features/Operation/layouts/ModernLayout.vue.script.js.map +1 -1
  432. package/dist/features/Operation/request-body-composition-index.js.map +1 -1
  433. package/dist/features/Search/components/SearchButton.vue.d.ts.map +1 -1
  434. package/dist/features/Search/components/SearchButton.vue.script.js +1 -1
  435. package/dist/features/Search/components/SearchButton.vue.script.js.map +1 -1
  436. package/dist/features/Search/components/SearchModal.vue.d.ts.map +1 -1
  437. package/dist/features/Search/components/SearchModal.vue.js +1 -1
  438. package/dist/features/Search/components/SearchModal.vue.script.js +1 -1
  439. package/dist/features/Search/components/SearchModal.vue.script.js.map +1 -1
  440. package/dist/features/Search/components/SearchResult.vue.d.ts.map +1 -1
  441. package/dist/features/Search/components/SearchResult.vue.script.js +1 -1
  442. package/dist/features/Search/components/SearchResult.vue.script.js.map +1 -1
  443. package/dist/features/Search/helpers/create-fuse-instance.js.map +1 -1
  444. package/dist/features/Search/helpers/create-search-index.js.map +1 -1
  445. package/dist/features/Search/hooks/useSearchIndex.js.map +1 -1
  446. package/dist/features/ask-agent-button/AskAgentButton.vue.js +1 -1
  447. package/dist/features/ask-agent-button/AskAgentButton.vue.script.js +1 -1
  448. package/dist/features/ask-agent-button/AskAgentButton.vue.script.js.map +1 -1
  449. package/dist/features/developer-tools/DeveloperTools.vue.script.js +2 -2
  450. package/dist/features/developer-tools/DeveloperTools.vue.script.js.map +1 -1
  451. package/dist/features/developer-tools/components/ApiReferenceToolbarBlurb.vue.js +1 -1
  452. package/dist/features/developer-tools/components/ApiReferenceToolbarBlurb.vue.js.map +1 -1
  453. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js +1 -1
  454. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js.map +1 -1
  455. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.d.ts.map +1 -1
  456. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.js.map +1 -1
  457. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js +3 -3
  458. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js.map +1 -1
  459. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js +1 -1
  460. package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js.map +1 -1
  461. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js +1 -1
  462. package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js.map +1 -1
  463. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.d.ts.map +1 -1
  464. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js +4 -3
  465. package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js.map +1 -1
  466. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.d.ts.map +1 -1
  467. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js.map +1 -1
  468. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js +2 -1
  469. package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js.map +1 -1
  470. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.d.ts.map +1 -1
  471. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js +4 -3
  472. package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js.map +1 -1
  473. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.d.ts.map +1 -1
  474. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js +1 -1
  475. package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js.map +1 -1
  476. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js +1 -1
  477. package/dist/features/developer-tools/components/DeployApiReference.vue.script.js.map +1 -1
  478. package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js +2 -2
  479. package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js.map +1 -1
  480. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js +1 -1
  481. package/dist/features/developer-tools/components/ShareApiReference.vue.script.js.map +1 -1
  482. package/dist/features/example-responses/ExampleResponse.vue.js +1 -1
  483. package/dist/features/example-responses/ExampleResponse.vue.script.js +1 -1
  484. package/dist/features/example-responses/ExampleResponse.vue.script.js.map +1 -1
  485. package/dist/features/example-responses/ExampleResponseTab.vue.js +1 -1
  486. package/dist/features/example-responses/ExampleResponseTab.vue.script.js +1 -1
  487. package/dist/features/example-responses/ExampleResponseTab.vue.script.js.map +1 -1
  488. package/dist/features/example-responses/ExampleResponseTabList.vue.d.ts.map +1 -1
  489. package/dist/features/example-responses/ExampleResponseTabList.vue.js +1 -1
  490. package/dist/features/example-responses/ExampleResponseTabList.vue.script.js +1 -1
  491. package/dist/features/example-responses/ExampleResponseTabList.vue.script.js.map +1 -1
  492. package/dist/features/example-responses/ExampleResponses.vue.d.ts.map +1 -1
  493. package/dist/features/example-responses/ExampleResponses.vue.js +1 -1
  494. package/dist/features/example-responses/ExampleResponses.vue.script.js +1 -1
  495. package/dist/features/example-responses/ExampleResponses.vue.script.js.map +1 -1
  496. package/dist/features/example-responses/ExampleSchema.vue.script.js +1 -1
  497. package/dist/features/example-responses/ExampleSchema.vue.script.js.map +1 -1
  498. package/dist/features/example-responses/helpers/has-response-content.js.map +1 -1
  499. package/dist/features/example-responses/helpers/normalize-mime-type-object.js.map +1 -1
  500. package/dist/features/example-responses/helpers/normalize-mime-type.js.map +1 -1
  501. package/dist/features/external-docs/ExternalDocs.vue.d.ts.map +1 -1
  502. package/dist/features/external-docs/ExternalDocs.vue.js.map +1 -1
  503. package/dist/features/external-docs/ExternalDocs.vue.script.js +25 -13
  504. package/dist/features/external-docs/ExternalDocs.vue.script.js.map +1 -1
  505. package/dist/features/info-object/Contact.vue.d.ts.map +1 -1
  506. package/dist/features/info-object/Contact.vue.js.map +1 -1
  507. package/dist/features/info-object/Contact.vue.script.js +10 -4
  508. package/dist/features/info-object/Contact.vue.script.js.map +1 -1
  509. package/dist/features/info-object/InfoLink.vue.d.ts.map +1 -1
  510. package/dist/features/info-object/InfoLink.vue.js.map +1 -1
  511. package/dist/features/info-object/InfoLink.vue.script.js +17 -5
  512. package/dist/features/info-object/InfoLink.vue.script.js.map +1 -1
  513. package/dist/features/info-object/License.vue.d.ts.map +1 -1
  514. package/dist/features/info-object/License.vue.js.map +1 -1
  515. package/dist/features/info-object/License.vue.script.js +11 -5
  516. package/dist/features/info-object/License.vue.script.js.map +1 -1
  517. package/dist/features/info-object/TermsOfService.vue.d.ts.map +1 -1
  518. package/dist/features/info-object/TermsOfService.vue.js.map +1 -1
  519. package/dist/features/info-object/TermsOfService.vue.script.js +10 -4
  520. package/dist/features/info-object/TermsOfService.vue.script.js.map +1 -1
  521. package/dist/features/localization/locales/ar.js.map +1 -1
  522. package/dist/features/localization/locales/de.js.map +1 -1
  523. package/dist/features/localization/locales/en.js.map +1 -1
  524. package/dist/features/localization/locales/es.js.map +1 -1
  525. package/dist/features/localization/locales/fr.js.map +1 -1
  526. package/dist/features/localization/locales/pt.d.ts +229 -0
  527. package/dist/features/localization/locales/pt.d.ts.map +1 -0
  528. package/dist/features/localization/locales/pt.js +227 -0
  529. package/dist/features/localization/locales/pt.js.map +1 -0
  530. package/dist/features/localization/locales/ru.js.map +1 -1
  531. package/dist/features/localization/locales/zh-cn.js.map +1 -1
  532. package/dist/features/localization/translations.d.ts +228 -0
  533. package/dist/features/localization/translations.d.ts.map +1 -1
  534. package/dist/features/localization/translations.js +4 -2
  535. package/dist/features/localization/translations.js.map +1 -1
  536. package/dist/features/localization/use-localization.js.map +1 -1
  537. package/dist/features/multiple-documents/DocumentSelector.vue.d.ts.map +1 -1
  538. package/dist/features/multiple-documents/DocumentSelector.vue.script.js +1 -1
  539. package/dist/features/multiple-documents/DocumentSelector.vue.script.js.map +1 -1
  540. package/dist/features/specification-extension/SpecificationExtension.vue.script.js +1 -1
  541. package/dist/features/specification-extension/SpecificationExtension.vue.script.js.map +1 -1
  542. package/dist/features/specification-extension/helpers.js.map +1 -1
  543. package/dist/features/test-request-button/TestRequestButton.vue.js +1 -1
  544. package/dist/features/test-request-button/TestRequestButton.vue.script.js +1 -1
  545. package/dist/features/test-request-button/TestRequestButton.vue.script.js.map +1 -1
  546. package/dist/features/x-badges/XBadges.vue.d.ts.map +1 -1
  547. package/dist/features/x-badges/XBadges.vue.script.js +1 -1
  548. package/dist/features/x-badges/XBadges.vue.script.js.map +1 -1
  549. package/dist/helpers/color-mode.js.map +1 -1
  550. package/dist/helpers/download.js.map +1 -1
  551. package/dist/helpers/get-async-api-message-payload-schema.js.map +1 -1
  552. package/dist/helpers/get-async-api-model-schema.js.map +1 -1
  553. package/dist/helpers/id-routing.d.ts +18 -4
  554. package/dist/helpers/id-routing.d.ts.map +1 -1
  555. package/dist/helpers/id-routing.js +67 -20
  556. package/dist/helpers/id-routing.js.map +1 -1
  557. package/dist/helpers/is-introduction-entry.js.map +1 -1
  558. package/dist/helpers/lazy-bus.js.map +1 -1
  559. package/dist/helpers/load-from-perssistance.js.map +1 -1
  560. package/dist/helpers/map-config-plugins.js.map +1 -1
  561. package/dist/helpers/map-config-to-workspace-store.js.map +1 -1
  562. package/dist/helpers/normalize-configurations.js +1 -1
  563. package/dist/helpers/normalize-configurations.js.map +1 -1
  564. package/dist/helpers/openapi.d.ts +6 -1
  565. package/dist/helpers/openapi.d.ts.map +1 -1
  566. package/dist/helpers/openapi.js +37 -6
  567. package/dist/helpers/openapi.js.map +1 -1
  568. package/dist/helpers/safe-deep-clone.js.map +1 -1
  569. package/dist/helpers/storage.js +14 -0
  570. package/dist/helpers/storage.js.map +1 -1
  571. package/dist/helpers/upload-temp-document.js.map +1 -1
  572. package/dist/hooks/use-agent.js.map +1 -1
  573. package/dist/hooks/use-intersection.js.map +1 -1
  574. package/dist/plugins/hooks/usePluginManager.js.map +1 -1
  575. package/dist/plugins/persistence-plugin.js +6 -1
  576. package/dist/plugins/persistence-plugin.js.map +1 -1
  577. package/dist/plugins/plugin-manager.js +35 -0
  578. package/dist/plugins/plugin-manager.js.map +1 -1
  579. package/dist/plugins/posthog/index.js.map +1 -1
  580. package/dist/standalone/lib/html-api.js.map +1 -1
  581. package/dist/standalone/lib/load-plugins-from-urls.js.map +1 -1
  582. package/dist/style.css +1441 -1347
  583. package/dist/vue-styles.css +989 -911
  584. package/package.json +27 -27
  585. package/dist/browser/chunks/AgentScalarChatInterface-C8lX3RCo.js +0 -27
  586. package/dist/browser/chunks/ScalarTextInput.vue-Xf60Nwf-.js +0 -27
  587. package/dist/browser/chunks/browser-67K6wmG9.js +0 -129
  588. package/dist/browser/chunks/modal-B8Opb61-.js +0 -15
  589. package/dist/browser/chunks/modal-Dcl-Y2Zk.js +0 -99
  590. package/dist/browser/chunks/runtime-core.esm-bundler-Byrbbu5Q.js +0 -17
  591. package/dist/browser/chunks/vendor-CBP43oHJ.js +0 -306
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/Headers.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarIcon } from '@scalar/components/icon'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n HeaderObject,\n OpenApiDocument,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { useLocalization } from '@/features/localization'\n\nimport Header from './Header.vue'\n\nconst { headers, breadcrumb } = defineProps<{\n headers: Record<string, HeaderObject>\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n /** The document the headers belong to, used to resolve schema references for display */\n document?: OpenApiDocument\n orderRequiredPropertiesFirst: boolean | undefined\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n expandAllSchemaProperties: boolean | undefined\n}>()\nconst { translate } = useLocalization()\n</script>\n<template>\n <Disclosure v-slot=\"{ open }\">\n <div\n class=\"headers-card headers-card--compact\"\n :class=\"[{ 'headers-card--open': open }]\">\n <div\n class=\"headers-properties\"\n :class=\"{ 'headers-properties-open': open }\">\n <DisclosureButton\n class=\"headers-card-title headers-card-title--compact\"\n :style=\"{\n top: `calc(var(--refs-viewport-offset)))`,\n }\">\n <ScalarIcon\n class=\"headers-card-title-icon\"\n :class=\"{ 'headers-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <template v-if=\"open\">\n {{ translate('operation.hideHeaders') }}\n </template>\n <template v-else>\n {{ translate('operation.showHeaders') }}\n </template>\n </DisclosureButton>\n <DisclosurePanel>\n <template\n v-for=\"(header, key) in headers\"\n :key=\"key\">\n <Header\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :expandAllSchemaProperties=\"expandAllSchemaProperties\"\n :header=\"getResolvedRef(header)\"\n :name=\"key\"\n :orderRequiredPropertiesFirst=\"orderRequiredPropertiesFirst\"\n :orderSchemaPropertiesBy=\"orderSchemaPropertiesBy\" />\n </template>\n </DisclosurePanel>\n </div>\n </div>\n </Disclosure>\n</template>\n<style scoped>\n.headers-card {\n z-index: 0;\n margin-top: 12px;\n margin-bottom: 6px;\n position: relative;\n font-size: var(--scalar-font-size-4);\n color: var(--scalar-color-1);\n\n align-self: flex-start;\n}\n.headers-card.headers-card--open {\n align-self: initial;\n}\n.headers-card-title {\n padding: 6px 10px;\n\n display: flex;\n align-items: center;\n gap: 4px;\n\n color: var(--scalar-color-3);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-micro);\n\n border-radius: 13.5px;\n}\nbutton.headers-card-title {\n cursor: pointer;\n}\nbutton.headers-card-title:hover {\n color: var(--scalar-color-1);\n}\n.headers-card-title-icon--open {\n transform: rotate(45deg);\n}\n.headers-properties {\n display: flex;\n flex-direction: column;\n\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n\n border-radius: 13.5px;\n width: fit-content;\n}\n.headers-properties-open > .headers-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.headers-properties-open {\n border-radius: var(--scalar-radius-lg);\n width: 100%;\n}\n.headers-card .property:last-of-type {\n padding-bottom: 10px;\n}\n.headers-card-title > .headers-card-title-icon {\n width: 14px;\n height: 14px;\n margin: 0;\n}\n.headers-card-title > .headers-card-title-icon--open {\n transform: rotate(45deg);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAwBA,MAAM,EAAE,cAAc,iBAAgB;;uBAGpC,YAyCa,MAAA,WAAA,EAAA,MAAA;sBADL,EAxCc,WAAI,CACxB,mBAuCM,OAAA,EAtCJ,OAAK,eAAA,CAAC,sCAAoC,CAAA,EAAA,sBACT,MAAI,CAAA,CAAA,CAAA,EAAA,EAAA,CACrC,mBAmCM,OAAA,EAlCJ,OAAK,eAAA,CAAC,sBAAoB,EAAA,2BACW,MAAI,CAAA,CAAA,EAAA,EAAA,CACzC,YAgBmB,MAAA,iBAAA,EAAA;KAfjB,OAAM;KACL,OAAO,EAAA,KAAA,sCAEP;;4BAKa,CAJd,YAIc,MAAA,WAAA,EAAA;MAHZ,OAAK,eAAA,CAAC,2BAAyB,EAAA,iCACY,MAAI,CAAA,CAAA;MAC/C,MAAK;MACL,MAAK;6BACS,QAAA,WAAA,EAAhB,mBAEW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBADN,MAAA,UAAS,CAAA,wBAAA,CAAA,EAAA,EAAA,CAAA,EAAA,GAAA,KAAA,WAAA,EAEd,mBAEW,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBADN,MAAA,UAAS,CAAA,wBAAA,CAAA,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA;;cAGhB,YAckB,MAAA,gBAAA,EAAA,MAAA;4BAZkB,EAAA,UAAA,KAAA,EADlC,mBAYW,UAAA,MAAA,WAXe,QAAA,UAAhB,QAAQ,QAAG;0BAEnB,YAQuD,gBAAA;OATjD;OAEH,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,UAAA,GAAe,KAAA;OACtD,UAAU,QAAA;OACV,UAAU,QAAA;OACV,2BAA2B,QAAA;OAC3B,QAAQ,MAAA,eAAc,CAAC,OAAM;OAC7B,MAAM;OACN,8BAA8B,QAAA;OAC9B,yBAAyB,QAAA"}
1
+ {"version":3,"file":"Headers.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/Headers.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport { ScalarIcon } from '@scalar/components/icon'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n HeaderObject,\n OpenApiDocument,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { useLocalization } from '@/features/localization'\n\nimport Header from './Header.vue'\n\nconst { headers, breadcrumb } = defineProps<{\n headers: Record<string, HeaderObject>\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n /** The document the headers belong to, used to resolve schema references for display */\n document?: OpenApiDocument\n orderRequiredPropertiesFirst: boolean | undefined\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n expandAllSchemaProperties: boolean | undefined\n}>()\nconst { translate } = useLocalization()\n</script>\n<template>\n <Disclosure v-slot=\"{ open }\">\n <div\n class=\"headers-card headers-card--compact\"\n :class=\"[{ 'headers-card--open': open }]\">\n <div\n class=\"headers-properties\"\n :class=\"{ 'headers-properties-open': open }\">\n <DisclosureButton\n class=\"headers-card-title headers-card-title--compact\"\n :style=\"{\n top: `calc(var(--refs-viewport-offset)))`,\n }\">\n <ScalarIcon\n class=\"headers-card-title-icon\"\n :class=\"{ 'headers-card-title-icon--open': open }\"\n icon=\"Add\"\n size=\"sm\" />\n <template v-if=\"open\">\n {{ translate('operation.hideHeaders') }}\n </template>\n <template v-else>\n {{ translate('operation.showHeaders') }}\n </template>\n </DisclosureButton>\n <DisclosurePanel>\n <template\n v-for=\"(header, key) in headers\"\n :key=\"key\">\n <Header\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :expandAllSchemaProperties=\"expandAllSchemaProperties\"\n :header=\"getResolvedRef(header)\"\n :name=\"key\"\n :orderRequiredPropertiesFirst=\"orderRequiredPropertiesFirst\"\n :orderSchemaPropertiesBy=\"orderSchemaPropertiesBy\" />\n </template>\n </DisclosurePanel>\n </div>\n </div>\n </Disclosure>\n</template>\n<style scoped>\n.headers-card {\n z-index: 0;\n margin-top: 12px;\n margin-bottom: 6px;\n position: relative;\n font-size: var(--scalar-font-size-4);\n color: var(--scalar-color-1);\n\n align-self: flex-start;\n}\n.headers-card.headers-card--open {\n align-self: initial;\n}\n.headers-card-title {\n padding: 6px 10px;\n\n display: flex;\n align-items: center;\n gap: 4px;\n\n color: var(--scalar-color-3);\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-micro);\n\n border-radius: 13.5px;\n}\nbutton.headers-card-title {\n cursor: pointer;\n}\nbutton.headers-card-title:hover {\n color: var(--scalar-color-1);\n}\n.headers-card-title-icon--open {\n transform: rotate(45deg);\n}\n.headers-properties {\n display: flex;\n flex-direction: column;\n\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n\n border-radius: 13.5px;\n width: fit-content;\n}\n.headers-properties-open > .headers-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.headers-properties-open {\n border-radius: var(--scalar-radius-lg);\n width: 100%;\n}\n.headers-card .property:last-of-type {\n padding-bottom: 10px;\n}\n.headers-card-title > .headers-card-title-icon {\n width: 14px;\n height: 14px;\n margin: 0;\n}\n.headers-card-title > .headers-card-title-icon--open {\n transform: rotate(45deg);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAwBA,MAAM,EAAE,cAAc,gBAAgB;;uBAGpC,YAyCa,MAAA,UAAA,GAAA,MAAA;sBADL,EAxCc,WAAI,CACxB,mBAuCM,OAAA,EAtCJ,OAAK,eAAA,CAAC,sCAAoC,CAAA,EAAA,sBACT,KAAI,CAAA,CAAA,CAAA,EAAA,GAAA,CACrC,mBAmCM,OAAA,EAlCJ,OAAK,eAAA,CAAC,sBAAoB,EAAA,2BACW,KAAI,CAAA,CAAA,EAAA,GAAA,CACzC,YAgBmB,MAAA,gBAAA,GAAA;KAfjB,OAAM;KACL,OAAO,EAAA,KAAA,qCAAA;;4BAOM,CAJd,YAIc,MAAA,UAAA,GAAA;MAHZ,OAAK,eAAA,CAAC,2BAAyB,EAAA,iCACY,KAAI,CAAA,CAAA;MAC/C,MAAK;MACL,MAAK;6BACS,QAAA,UAAA,GAAhB,mBAEW,UAAA,EAAA,KAAA,EAAA,GAAA,CAAA,gBAAA,gBADN,MAAA,SAAA,CAAS,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,EAAA,MAAA,UAAA,GAEd,mBAEW,UAAA,EAAA,KAAA,EAAA,GAAA,CAAA,gBAAA,gBADN,MAAA,SAAA,CAAS,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,EAAA,EAAA,CAAA;;cAGhB,YAckB,MAAA,eAAA,GAAA,MAAA;4BAZkB,EAAA,UAAA,IAAA,GADlC,mBAYW,UAAA,MAAA,WAXe,QAAA,UAAhB,QAAQ,QAAG;0BAEnB,YAQuD,gBAAA;OATjD;OAEH,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,SAAA,IAAe,KAAA;OACtD,UAAU,QAAA;OACV,UAAU,QAAA;OACV,2BAA2B,QAAA;OAC3B,QAAQ,MAAA,cAAA,CAAc,CAAC,MAAM;OAC7B,MAAM;OACN,8BAA8B,QAAA;OAC9B,yBAAyB,QAAA"}
@@ -7,9 +7,9 @@ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock
7
7
  import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref";
8
8
  //#region src/features/Operation/components/OperationParameters.vue?vue&type=script&setup=true&lang.ts
9
9
  /** Use a single loop to reduce parameters by type(in) */
10
- var OperationParameters_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
10
+ var OperationParameters_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
11
11
  __name: "OperationParameters",
12
- props: /* @__PURE__ */ mergeModels({
12
+ props: /*@__PURE__*/ mergeModels({
13
13
  breadcrumb: {},
14
14
  parameters: { default: () => [] },
15
15
  requestBody: {},
@@ -1 +1 @@
1
- {"version":3,"file":"OperationParameters.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/OperationParameters.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n OpenApiDocument,\n ParameterObject,\n ReferenceType,\n RequestBodyObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport { flattenDeepObjectQueryParameter } from '@/features/Operation/helpers/flatten-deep-object-query-parameter'\nimport { shouldIgnoreEntity } from '@/features/Operation/helpers/should-ignore-entity'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ParameterList from './ParameterList.vue'\nimport RequestBody from './RequestBody.vue'\n\nconst { parameters = [], requestBody } = defineProps<{\n breadcrumb?: string[]\n parameters?: ReferenceType<ParameterObject>[]\n requestBody?: RequestBodyObject | undefined\n eventBus: WorkspaceEventBus | null\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\nconst { translate } = useLocalization()\n\n/** Thread the selected request body content type up to the layout */\nconst selectedContentType = defineModel<string>('selectedContentType')\n\ntype ParameterLocation = 'cookie' | 'header' | 'path' | 'query'\n\n/** Use a single loop to reduce parameters by type(in) */\nconst splitParameters = computed(() =>\n (parameters ?? []).reduce(\n (acc, p) => {\n const parameter = getResolvedRef(p)\n // Filter out ignored parameters\n if (!shouldIgnoreEntity(parameter)) {\n const flattenedParameters = flattenDeepObjectQueryParameter(parameter)\n flattenedParameters.forEach((flattenedParameter) => {\n acc[flattenedParameter.in as ParameterLocation].push(\n flattenedParameter,\n )\n })\n }\n return acc\n },\n { cookie: [], header: [], path: [], query: [] } as Record<\n 'cookie' | 'header' | 'path' | 'query',\n ParameterObject[]\n >,\n ),\n)\n</script>\n<template>\n <!-- Path parameters-->\n <ParameterList\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'path'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"splitParameters['path']\">\n <template #title>{{ translate('operation.pathParameters') }}</template>\n </ParameterList>\n\n <!-- Query parameters -->\n <ParameterList\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'query'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"splitParameters['query']\">\n <template #title>{{ translate('operation.queryParameters') }}</template>\n </ParameterList>\n\n <!-- Headers -->\n <ParameterList\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"splitParameters['header']\">\n <template #title>{{ translate('operation.headers') }}</template>\n </ParameterList>\n\n <!-- Cookies -->\n <ParameterList\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'cookies'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"splitParameters['cookie']\">\n <template #title>{{ translate('operation.cookies') }}</template>\n </ParameterList>\n\n <!-- Request body -->\n <RequestBody\n v-if=\"requestBody\"\n v-model:selectedContentType=\"selectedContentType\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'body'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :requestBody=\"requestBody\">\n <template #title>{{ translate('operation.body') }}</template>\n </RequestBody>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAkCA,MAAM,EAAE,cAAc,iBAAgB;;EAGtC,MAAM,sBAAsB,SAAmB,SAAC,sBAAqB;EAKrE,MAAM,kBAAkB,gBACrB,QAAA,cAAc,EAAE,EAAE,QAChB,KAAK,MAAM;GACV,MAAM,YAAY,eAAe,EAAC;AAElC,OAAI,CAAC,mBAAmB,UAAU,CACJ,iCAAgC,UAAS,CACjD,SAAS,uBAAuB;AAClD,QAAI,mBAAmB,IAAyB,KAC9C,mBACF;KACD;AAEH,UAAO;KAET;GAAE,QAAQ,EAAE;GAAE,QAAQ,EAAE;GAAE,MAAM,EAAE;GAAE,OAAO,EAAE;GAAE,CAIhD,CACH;;;IAIE,YAOgB,uBAAA;KANb,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,OAAA,GAAY,KAAA;KACnD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,YAAY,gBAAA,MAAe;;KACjB,OAAK,cAA4C,CAAA,gBAAA,gBAAxC,MAAA,UAAS,CAAA,2BAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;;IAI/B,YAOgB,uBAAA;KANb,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,QAAA,GAAa,KAAA;KACpD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,YAAY,gBAAA,MAAe;;KACjB,OAAK,cAA6C,CAAA,gBAAA,gBAAzC,MAAA,UAAS,CAAA,4BAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;;IAI/B,YAOgB,uBAAA;KANb,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,UAAA,GAAe,KAAA;KACtD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,YAAY,gBAAA,MAAe;;KACjB,OAAK,cAAqC,CAAA,gBAAA,gBAAjC,MAAA,UAAS,CAAA,oBAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;;IAI/B,YAOgB,uBAAA;KANb,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,UAAA,GAAe,KAAA;KACtD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,YAAY,gBAAA,MAAe;;KACjB,OAAK,cAAqC,CAAA,gBAAA,gBAAjC,MAAA,UAAS,CAAA,oBAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;;IAKvB,QAAA,eAAA,WAAA,EADR,YASc,qBAAA;;KAPJ,qBAAqB,oBAAA;+FAAmB,QAAA;KAC/C,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,OAAA,GAAY,KAAA;KACnD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,aAAa,QAAA;;KACH,OAAK,cAAkC,CAAA,gBAAA,gBAA9B,MAAA,UAAS,CAAA,iBAAA,CAAA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"OperationParameters.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/OperationParameters.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n OpenApiDocument,\n ParameterObject,\n ReferenceType,\n RequestBodyObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport { flattenDeepObjectQueryParameter } from '@/features/Operation/helpers/flatten-deep-object-query-parameter'\nimport { shouldIgnoreEntity } from '@/features/Operation/helpers/should-ignore-entity'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ParameterList from './ParameterList.vue'\nimport RequestBody from './RequestBody.vue'\n\nconst { parameters = [], requestBody } = defineProps<{\n breadcrumb?: string[]\n parameters?: ReferenceType<ParameterObject>[]\n requestBody?: RequestBodyObject | undefined\n eventBus: WorkspaceEventBus | null\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\nconst { translate } = useLocalization()\n\n/** Thread the selected request body content type up to the layout */\nconst selectedContentType = defineModel<string>('selectedContentType')\n\ntype ParameterLocation = 'cookie' | 'header' | 'path' | 'query'\n\n/** Use a single loop to reduce parameters by type(in) */\nconst splitParameters = computed(() =>\n (parameters ?? []).reduce(\n (acc, p) => {\n const parameter = getResolvedRef(p)\n // Filter out ignored parameters\n if (!shouldIgnoreEntity(parameter)) {\n const flattenedParameters = flattenDeepObjectQueryParameter(parameter)\n flattenedParameters.forEach((flattenedParameter) => {\n acc[flattenedParameter.in as ParameterLocation].push(\n flattenedParameter,\n )\n })\n }\n return acc\n },\n { cookie: [], header: [], path: [], query: [] } as Record<\n 'cookie' | 'header' | 'path' | 'query',\n ParameterObject[]\n >,\n ),\n)\n</script>\n<template>\n <!-- Path parameters-->\n <ParameterList\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'path'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"splitParameters['path']\">\n <template #title>{{ translate('operation.pathParameters') }}</template>\n </ParameterList>\n\n <!-- Query parameters -->\n <ParameterList\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'query'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"splitParameters['query']\">\n <template #title>{{ translate('operation.queryParameters') }}</template>\n </ParameterList>\n\n <!-- Headers -->\n <ParameterList\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"splitParameters['header']\">\n <template #title>{{ translate('operation.headers') }}</template>\n </ParameterList>\n\n <!-- Cookies -->\n <ParameterList\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'cookies'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"splitParameters['cookie']\">\n <template #title>{{ translate('operation.cookies') }}</template>\n </ParameterList>\n\n <!-- Request body -->\n <RequestBody\n v-if=\"requestBody\"\n v-model:selectedContentType=\"selectedContentType\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'body'] : undefined\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :requestBody=\"requestBody\">\n <template #title>{{ translate('operation.body') }}</template>\n </RequestBody>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAkCA,MAAM,EAAE,cAAc,gBAAgB;;EAGtC,MAAM,sBAAsB,SAAmB,SAAC,qBAAqB;EAKrE,MAAM,kBAAkB,gBACrB,QAAA,cAAc,CAAC,EAAA,CAAG,QAChB,KAAK,MAAM;GACV,MAAM,YAAY,eAAe,CAAC;GAElC,IAAI,CAAC,mBAAmB,SAAS,GAE/B,gCAD4D,SAC5D,CAAA,CAAoB,SAAS,uBAAuB;IAClD,IAAI,mBAAmB,GAAwB,CAAC,KAC9C,kBACF;GACF,CAAC;GAEH,OAAO;EACT,GACA;GAAE,QAAQ,CAAC;GAAG,QAAQ,CAAC;GAAG,MAAM,CAAC;GAAG,OAAO,CAAC;EAAE,CAIhD,CACF;;;IAIE,YAOgB,uBAAA;KANb,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,MAAA,IAAY,KAAA;KACnD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,YAAY,gBAAA,MAAe;;KACjB,OAAK,cAA4C,CAAA,gBAAA,gBAAxC,MAAA,SAAA,CAAS,CAAA,0BAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;;;;;;;IAI/B,YAOgB,uBAAA;KANb,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,OAAA,IAAa,KAAA;KACpD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,YAAY,gBAAA,MAAe;;KACjB,OAAK,cAA6C,CAAA,gBAAA,gBAAzC,MAAA,SAAA,CAAS,CAAA,2BAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;;;;;;;IAI/B,YAOgB,uBAAA;KANb,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,SAAA,IAAe,KAAA;KACtD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,YAAY,gBAAA,MAAe;;KACjB,OAAK,cAAqC,CAAA,gBAAA,gBAAjC,MAAA,SAAA,CAAS,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;;;;;;;IAI/B,YAOgB,uBAAA;KANb,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,SAAA,IAAe,KAAA;KACtD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,YAAY,gBAAA,MAAe;;KACjB,OAAK,cAAqC,CAAA,gBAAA,gBAAjC,MAAA,SAAA,CAAS,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;;;;;;;IAKvB,QAAA,eAAA,UAAA,GADR,YASc,qBAAA;;KAPJ,qBAAqB,oBAAA;+FAAmB,QAAA;KAC/C,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,MAAA,IAAY,KAAA;KACnD,UAAU,QAAA;KACV,UAAU,QAAA;KACV,SAAS,QAAA;KACT,aAAa,QAAA;;KACH,OAAK,cAAkC,CAAA,gBAAA,gBAA9B,MAAA,SAAA,CAAS,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
@@ -9,7 +9,7 @@ var _hoisted_1 = {
9
9
  };
10
10
  var _hoisted_2 = { class: "text-c-1 mt-3 mb-3 leading-[1.45] font-medium" };
11
11
  var _hoisted_3 = ["aria-label"];
12
- var OperationResponses_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
12
+ var OperationResponses_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
13
13
  __name: "OperationResponses",
14
14
  props: {
15
15
  responses: {},
@@ -1 +1 @@
1
- {"version":3,"file":"OperationResponses.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/OperationResponses.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n OpenApiDocument,\n OperationObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { useLocalization } from '@/features/localization'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ParameterListItem from './ParameterListItem.vue'\n\nconst { responses } = defineProps<{\n responses: OperationObject['responses']\n breadcrumb?: string[]\n collapsableItems?: boolean\n eventBus: WorkspaceEventBus | null\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\nconst { translate } = useLocalization()\n</script>\n<template>\n <div\n v-if=\"Object.keys(responses ?? {}).length\"\n class=\"mt-6\">\n <div class=\"text-c-1 mt-3 mb-3 leading-[1.45] font-medium\">\n {{ translate('operation.responses') }}\n </div>\n <ul\n :aria-label=\"translate('operation.responses')\"\n class=\"mb-3 list-none p-0 text-sm\">\n <ParameterListItem\n v-for=\"(response, status) in responses\"\n :key=\"status\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'responses'] : undefined\"\n :collapsableItems\n :document\n :eventBus\n :name=\"status\"\n :options\n :parameter=\"getResolvedRef(response)\" />\n </ul>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EA4BA,MAAM,EAAE,cAAc,iBAAgB;;UAI5B,OAAO,KAAK,QAAA,aAAS,EAAA,CAAA,CAAQ,UAAA,WAAA,EADrC,mBAoBM,OApBN,YAoBM,CAjBJ,mBAEM,OAFN,YAEM,gBADD,MAAA,UAAS,CAAA,sBAAA,CAAA,EAAA,EAAA,EAEd,mBAaK,MAAA;IAZF,cAAY,MAAA,UAAS,CAAA,sBAAA;IACtB,OAAM;yBACN,mBAS0C,UAAA,MAAA,WARX,QAAA,YAArB,UAAU,WAAM;wBAD1B,YAS0C,2BAAA;KAPvC,KAAK;KACL,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,YAAA,GAAiB,KAAA;KACxD,kBAAA,QAAA;KACA,UAAA,QAAA;KACA,UAAA,QAAA;KACA,MAAM;KACN,SAAA,QAAA;KACA,WAAW,MAAA,eAAc,CAAC,SAAQ"}
1
+ {"version":3,"file":"OperationResponses.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/OperationResponses.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n OpenApiDocument,\n OperationObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { useLocalization } from '@/features/localization'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ParameterListItem from './ParameterListItem.vue'\n\nconst { responses } = defineProps<{\n responses: OperationObject['responses']\n breadcrumb?: string[]\n collapsableItems?: boolean\n eventBus: WorkspaceEventBus | null\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\nconst { translate } = useLocalization()\n</script>\n<template>\n <div\n v-if=\"Object.keys(responses ?? {}).length\"\n class=\"mt-6\">\n <div class=\"text-c-1 mt-3 mb-3 leading-[1.45] font-medium\">\n {{ translate('operation.responses') }}\n </div>\n <ul\n :aria-label=\"translate('operation.responses')\"\n class=\"mb-3 list-none p-0 text-sm\">\n <ParameterListItem\n v-for=\"(response, status) in responses\"\n :key=\"status\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'responses'] : undefined\"\n :collapsableItems\n :document\n :eventBus\n :name=\"status\"\n :options\n :parameter=\"getResolvedRef(response)\" />\n </ul>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EA4BA,MAAM,EAAE,cAAc,gBAAgB;;UAI5B,OAAO,KAAK,QAAA,aAAS,CAAA,CAAA,CAAA,CAAQ,UAAA,UAAA,GADrC,mBAoBM,OApBN,YAoBM,CAjBJ,mBAEM,OAFN,YAEM,gBADD,MAAA,SAAA,CAAS,CAAA,qBAAA,CAAA,GAAA,CAAA,GAEd,mBAaK,MAAA;IAZF,cAAY,MAAA,SAAA,CAAS,CAAA,qBAAA;IACtB,OAAM;yBACN,mBAS0C,UAAA,MAAA,WARX,QAAA,YAArB,UAAU,WAAM;wBAD1B,YAS0C,2BAAA;KAPvC,KAAK;KACL,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,WAAA,IAAiB,KAAA;KACxD,kBAAA,QAAA;KACA,UAAA,QAAA;KACA,UAAA,QAAA;KACA,MAAM;KACN,SAAA,QAAA;KACA,WAAW,MAAA,cAAA,CAAc,CAAC,QAAQ"}
@@ -11,7 +11,7 @@ var _hoisted_3 = {
11
11
  key: 0,
12
12
  class: "text-c-2 mb-2 text-sm"
13
13
  };
14
- var OperationScopes_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
14
+ var OperationScopes_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
15
15
  __name: "OperationScopes",
16
16
  props: { requiredSecurity: {} },
17
17
  setup(__props) {
@@ -1 +1 @@
1
- {"version":3,"file":"OperationScopes.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/OperationScopes.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport {\n getRequiredScopeGroups,\n type RequiredSecurity,\n} from '@/features/Operation/helpers/get-required-security'\n\nconst { requiredSecurity } = defineProps<{\n requiredSecurity: RequiredSecurity\n}>()\n\nconst { translate } = useLocalization()\n\n/**\n * Required OAuth scopes grouped by security alternative (OR). A single group is the\n * common case and renders as a plain list. Multiple groups are kept separate so that\n * mutually exclusive scope sets are not implied to be required all at once.\n */\nconst scopeGroups = computed(() => getRequiredScopeGroups(requiredSecurity))\n\n/**\n * Whether at least one security alternative is satisfied without any OAuth scopes\n * (for example an API key or HTTP bearer). Those alternatives carry no scopes, so they\n * are absent from `scopeGroups`, but their existence means the listed scopes are only\n * required for some auth paths — not mandatory for the operation.\n */\nconst hasScopeFreeAlternative = computed(() =>\n requiredSecurity.requirements.some((group) =>\n group.schemes.every((scheme) => scheme.scopes.length === 0),\n ),\n)\n\n/**\n * Show the \"one of\" hint whenever the listed scopes are just one of several auth\n * alternatives — either multiple scoped groups, or a single scoped group alongside a\n * scope-free alternative. Without it, a lone scope list would read as mandatory.\n */\nconst showAlternativesHint = computed(\n () =>\n scopeGroups.value.length > 1 ||\n (scopeGroups.value.length > 0 && hasScopeFreeAlternative.value),\n)\n</script>\n\n<template>\n <div\n v-if=\"scopeGroups.length\"\n class=\"mt-6\">\n <div class=\"text-c-1 mt-3 mb-3 text-lg leading-[1.45] font-medium\">\n {{ translate('authentication.scopes') }}\n </div>\n <!-- Multiple alternatives (or a scope-free one): satisfying any single alternative is enough (OR). -->\n <div\n v-if=\"showAlternativesHint\"\n class=\"text-c-2 mb-2 text-sm\">\n {{ translate('authentication.oneOf') }}\n </div>\n <ul\n v-for=\"(group, index) in scopeGroups\"\n :key=\"index\"\n class=\"mb-3 list-none p-0 text-sm\"\n :class=\"{ 'mt-3 border-t pt-3': scopeGroups.length > 1 && index > 0 }\">\n <li\n v-for=\"scope in group\"\n :key=\"scope\"\n class=\"font-code text-c-2\">\n {{ scope }}\n </li>\n </ul>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAaA,MAAM,EAAE,cAAc,iBAAgB;;;;;;EAOtC,MAAM,cAAc,eAAe,uBAAuB,QAAA,iBAAiB,CAAA;;;;;;;EAQ3E,MAAM,0BAA0B,eAC9B,QAAA,iBAAiB,aAAa,MAAM,UAClC,MAAM,QAAQ,OAAO,WAAW,OAAO,OAAO,WAAW,EAAE,CAC5D,CACH;;;;;;EAOA,MAAM,uBAAuB,eAEzB,YAAY,MAAM,SAAS,KAC1B,YAAY,MAAM,SAAS,KAAK,wBAAwB,MAC7D;;UAKU,YAAA,MAAY,UAAA,WAAA,EADpB,mBAwBM,OAxBN,YAwBM;IArBJ,mBAEM,OAFN,YAEM,gBADD,MAAA,UAAS,CAAA,wBAAA,CAAA,EAAA,EAAA;IAIN,qBAAA,SAAA,WAAA,EADR,mBAIM,OAJN,YAIM,gBADD,MAAA,UAAS,CAAA,uBAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;sBAEd,mBAWK,UAAA,MAAA,WAVsB,YAAA,QAAjB,OAAO,UAAK;yBADtB,mBAWK,MAAA;MATF,KAAK;MACN,OAAK,eAAA,CAAC,8BAA4B,EAAA,sBACF,YAAA,MAAY,SAAM,KAAQ,QAAK,GAAA,CAAA,CAAA;2BAC/D,mBAKK,UAAA,MAAA,WAJa,QAAT,UAAK;0BADd,mBAKK,MAAA;OAHF,KAAK;OACN,OAAM;yBACH,MAAK,EAAA,EAAA"}
1
+ {"version":3,"file":"OperationScopes.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/OperationScopes.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport {\n getRequiredScopeGroups,\n type RequiredSecurity,\n} from '@/features/Operation/helpers/get-required-security'\n\nconst { requiredSecurity } = defineProps<{\n requiredSecurity: RequiredSecurity\n}>()\n\nconst { translate } = useLocalization()\n\n/**\n * Required OAuth scopes grouped by security alternative (OR). A single group is the\n * common case and renders as a plain list. Multiple groups are kept separate so that\n * mutually exclusive scope sets are not implied to be required all at once.\n */\nconst scopeGroups = computed(() => getRequiredScopeGroups(requiredSecurity))\n\n/**\n * Whether at least one security alternative is satisfied without any OAuth scopes\n * (for example an API key or HTTP bearer). Those alternatives carry no scopes, so they\n * are absent from `scopeGroups`, but their existence means the listed scopes are only\n * required for some auth paths — not mandatory for the operation.\n */\nconst hasScopeFreeAlternative = computed(() =>\n requiredSecurity.requirements.some((group) =>\n group.schemes.every((scheme) => scheme.scopes.length === 0),\n ),\n)\n\n/**\n * Show the \"one of\" hint whenever the listed scopes are just one of several auth\n * alternatives — either multiple scoped groups, or a single scoped group alongside a\n * scope-free alternative. Without it, a lone scope list would read as mandatory.\n */\nconst showAlternativesHint = computed(\n () =>\n scopeGroups.value.length > 1 ||\n (scopeGroups.value.length > 0 && hasScopeFreeAlternative.value),\n)\n</script>\n\n<template>\n <div\n v-if=\"scopeGroups.length\"\n class=\"mt-6\">\n <div class=\"text-c-1 mt-3 mb-3 text-lg leading-[1.45] font-medium\">\n {{ translate('authentication.scopes') }}\n </div>\n <!-- Multiple alternatives (or a scope-free one): satisfying any single alternative is enough (OR). -->\n <div\n v-if=\"showAlternativesHint\"\n class=\"text-c-2 mb-2 text-sm\">\n {{ translate('authentication.oneOf') }}\n </div>\n <ul\n v-for=\"(group, index) in scopeGroups\"\n :key=\"index\"\n class=\"mb-3 list-none p-0 text-sm\"\n :class=\"{ 'mt-3 border-t pt-3': scopeGroups.length > 1 && index > 0 }\">\n <li\n v-for=\"scope in group\"\n :key=\"scope\"\n class=\"font-code text-c-2\">\n {{ scope }}\n </li>\n </ul>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAaA,MAAM,EAAE,cAAc,gBAAgB;;;;;;EAOtC,MAAM,cAAc,eAAe,uBAAuB,QAAA,gBAAgB,CAAC;;;;;;;EAQ3E,MAAM,0BAA0B,eAC9B,QAAA,iBAAiB,aAAa,MAAM,UAClC,MAAM,QAAQ,OAAO,WAAW,OAAO,OAAO,WAAW,CAAC,CAC5D,CACF;;;;;;EAOA,MAAM,uBAAuB,eAEzB,YAAY,MAAM,SAAS,KAC1B,YAAY,MAAM,SAAS,KAAK,wBAAwB,KAC7D;;UAKU,YAAA,MAAY,UAAA,UAAA,GADpB,mBAwBM,OAxBN,YAwBM;IArBJ,mBAEM,OAFN,YAEM,gBADD,MAAA,SAAA,CAAS,CAAA,uBAAA,CAAA,GAAA,CAAA;IAIN,qBAAA,SAAA,UAAA,GADR,mBAIM,OAJN,YAIM,gBADD,MAAA,SAAA,CAAS,CAAA,sBAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;sBAEd,mBAWK,UAAA,MAAA,WAVsB,YAAA,QAAjB,OAAO,UAAK;yBADtB,mBAWK,MAAA;MATF,KAAK;MACN,OAAK,eAAA,CAAC,8BAA4B,EAAA,sBACF,YAAA,MAAY,SAAM,KAAQ,QAAK,EAAA,CAAA,CAAA;2BAC/D,mBAKK,UAAA,MAAA,WAJa,QAAT,UAAK;0BADd,mBAKK,MAAA;OAHF,KAAK;OACN,OAAM;yBACH,KAAK,GAAA,CAAA"}
@@ -7,7 +7,7 @@ var _hoisted_1 = {
7
7
  };
8
8
  var _hoisted_2 = ["id"];
9
9
  var _hoisted_3 = ["aria-labelledby"];
10
- var ParameterList_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
10
+ var ParameterList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
11
11
  __name: "ParameterList",
12
12
  props: {
13
13
  parameters: {},
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterList.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/ParameterList.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n OpenApiDocument,\n ParameterObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { useId } from 'vue'\n\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ParameterListItem from './ParameterListItem.vue'\n\nconst { parameters } = defineProps<{\n parameters: ParameterObject[]\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n collapsableItems?: boolean\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\n\n/** Accessible id for the heading */\nconst id = useId()\n</script>\n<template>\n <div\n v-if=\"parameters?.length\"\n class=\"mt-6\">\n <div\n :id\n class=\"text-c-1 mt-3 mb-3 text-lg leading-[1.45] font-medium\">\n <slot name=\"title\" />\n </div>\n <ul\n :aria-labelledby=\"id\"\n class=\"mb-3 list-none p-0 text-sm\">\n <ParameterListItem\n v-for=\"item in parameters\"\n :key=\"item.name\"\n :breadcrumb=\"breadcrumb\"\n :collapsableItems\n :document=\"document\"\n :eventBus=\"eventBus\"\n :name=\"item.name\"\n :options=\"options\"\n :parameter=\"item\" />\n </ul>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,KAAK,OAAM;;UAIP,QAAA,YAAY,UAAA,WAAA,EADpB,mBAsBM,OAtBN,YAsBM,CAnBJ,mBAIM,OAAA;IAHH,IAAA,MAAA,GAAE;IACH,OAAM;OACN,WAAqB,KAAA,QAAA,QAAA,CAAA,EAAA,GAAA,WAAA,EAEvB,mBAaK,MAAA;IAZF,mBAAiB,MAAA,GAAE;IACpB,OAAM;yBACN,mBASsB,UAAA,MAAA,WARL,QAAA,aAAR,SAAI;wBADb,YASsB,2BAAA;KAPnB,KAAK,KAAK;KACV,YAAY,QAAA;KACZ,kBAAA,QAAA;KACA,UAAU,QAAA;KACV,UAAU,QAAA;KACV,MAAM,KAAK;KACX,SAAS,QAAA;KACT,WAAW"}
1
+ {"version":3,"file":"ParameterList.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/ParameterList.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n OpenApiDocument,\n ParameterObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { useId } from 'vue'\n\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport ParameterListItem from './ParameterListItem.vue'\n\nconst { parameters } = defineProps<{\n parameters: ParameterObject[]\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n collapsableItems?: boolean\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\n\n/** Accessible id for the heading */\nconst id = useId()\n</script>\n<template>\n <div\n v-if=\"parameters?.length\"\n class=\"mt-6\">\n <div\n :id\n class=\"text-c-1 mt-3 mb-3 text-lg leading-[1.45] font-medium\">\n <slot name=\"title\" />\n </div>\n <ul\n :aria-labelledby=\"id\"\n class=\"mb-3 list-none p-0 text-sm\">\n <ParameterListItem\n v-for=\"item in parameters\"\n :key=\"item.name\"\n :breadcrumb=\"breadcrumb\"\n :collapsableItems\n :document=\"document\"\n :eventBus=\"eventBus\"\n :name=\"item.name\"\n :options=\"options\"\n :parameter=\"item\" />\n </ul>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;EA6BA,MAAM,KAAK,MAAM;;UAIP,QAAA,YAAY,UAAA,UAAA,GADpB,mBAsBM,OAtBN,YAsBM,CAnBJ,mBAIM,OAAA;IAHH,IAAA,MAAA,EAAA;IACD,OAAM;OACN,WAAqB,KAAA,QAAA,OAAA,CAAA,GAAA,GAAA,UAAA,GAEvB,mBAaK,MAAA;IAZF,mBAAiB,MAAA,EAAA;IAClB,OAAM;yBACN,mBASsB,UAAA,MAAA,WARL,QAAA,aAAR,SAAI;wBADb,YASsB,2BAAA;KAPnB,KAAK,KAAK;KACV,YAAY,QAAA;KACZ,kBAAA,QAAA;KACA,UAAU,QAAA;KACV,UAAU,QAAA;KACV,MAAM,KAAK;KACX,SAAS,QAAA;KACT,WAAW"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
2
2
  import ParameterListItem_vue_vue_type_script_setup_true_lang_default from "./ParameterListItem.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/features/Operation/components/ParameterListItem.vue
5
- var ParameterListItem_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ParameterListItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-830e91ce"]]);
5
+ var ParameterListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ParameterListItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-830e91ce"]]);
6
6
  //#endregion
7
7
  export { ParameterListItem_default as default };
8
8
 
@@ -17,7 +17,7 @@ var _hoisted_3 = {
17
17
  key: 1,
18
18
  class: "flex-1"
19
19
  };
20
- var ParameterListItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
20
+ var ParameterListItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
21
21
  __name: "ParameterListItem",
22
22
  props: {
23
23
  parameter: {},
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterListItem.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/ParameterListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport {\n ScalarMarkdown,\n ScalarMarkdownSummary,\n} from '@scalar/components/markdown'\nimport { ScalarWrappingText } from '@scalar/components/wrapping-text'\nimport { ScalarIconCaretRight } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n OpenApiDocument,\n ParameterObject,\n ResponseObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref } from 'vue'\n\nimport { getRefName } from '@/components/Content/Schema/helpers/get-ref-name'\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\nimport { scrollTargetId } from '@/helpers/lazy-bus'\n\nimport ContentTypeSelect from './ContentTypeSelect.vue'\nimport Headers from './Headers.vue'\nimport { getParameterExamples } from './helpers/get-parameter-examples'\n\nconst { name, parameter, options, collapsableItems, breadcrumb, document } =\n defineProps<{\n parameter: ParameterObject | ResponseObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n collapsableItems?: boolean\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n }>()\n\n/** Whether the markdown summary is being truncated */\nconst truncated = ref(false)\n\n/** Responses and params may both have a schema */\nconst schema = computed<SchemaObject | null>(() =>\n 'schema' in parameter && parameter.schema\n ? getResolvedRef(parameter.schema)\n : null,\n)\n\n/** Response and params may both have content */\nconst content = computed(() => {\n if (!('content' in parameter) || !parameter.content) {\n return null\n }\n const keys = Object.keys(parameter.content)\n if (keys.length === 0) {\n return null\n }\n return parameter.content\n})\n\nconst selectedContentType = ref<string>(\n Object.keys(content.value || {})[0] ?? '',\n)\n\n/** Response headers */\nconst headers = computed<ResponseObject['headers'] | null>(() =>\n 'headers' in parameter && parameter.headers ? parameter.headers : null,\n)\n\n/** Raw schema (possibly with $ref) for the selected content type or param. */\nconst baseSchema = computed(() =>\n content.value\n ? content.value?.[selectedContentType.value]?.schema\n : 'schema' in parameter && parameter.schema\n ? parameter.schema\n : null,\n)\n\n/** When the schema is a $ref, preserve its name so the UI can show the ref name instead of just the type. */\nconst schemaModelName = computed(() => {\n const raw = baseSchema.value\n if (!raw) {\n return null\n }\n\n if ('$ref' in raw) {\n return getRefName(raw.$ref)\n }\n\n return null\n})\n\n/** Computed value from the combined schema param and content param */\nconst value = computed(() => {\n const base = baseSchema.value\n const resolvedBase = content.value ? getResolvedRef(base) : schema.value\n\n const deprecated =\n 'deprecated' in parameter ? parameter.deprecated : schema.value?.deprecated\n\n /** Combine param/content/schema examples while ignoring undefined values. */\n const examples = getParameterExamples({\n parameter,\n schemaExamples: schema.value?.examples,\n contentExamples: content.value?.[selectedContentType.value]?.examples,\n })\n\n return {\n ...resolvedBase,\n deprecated: deprecated,\n examples,\n } as SchemaObject\n})\n\n/**\n * Determines whether this parameter item should be rendered as a collapsible disclosure.\n * Only collapses when collapsableItems is enabled and the parameter has additional\n * content to display (content types, headers, or schema details).\n */\nconst shouldCollapse = computed<boolean>(() =>\n Boolean(content.value || headers.value || schema.value || truncated.value),\n)\n\n/**\n * The breadcrumb passed to the schema. Collapsible items (responses) render their\n * schema without a name to avoid a duplicate heading, so we push the item name\n * (e.g. the status code) onto the breadcrumb here to keep property anchors unique.\n */\nconst schemaBreadcrumb = computed<string[] | undefined>(() =>\n collapsableItems && breadcrumb && name ? [...breadcrumb, name] : breadcrumb,\n)\n\n/**\n * Whether a deep link points at a property inside this collapsed item. When it\n * does, the disclosure opens on mount so a fresh navigation can render the target\n * and scroll it into view (mirrors how collapsible schema disclosures behave).\n */\nconst isOnScrollTargetPath = computed<boolean>(() => {\n const path = schemaBreadcrumb.value?.join('.')\n if (!path) {\n return false\n }\n const target = scrollTargetId.value\n return target === path || target.startsWith(`${path}.`)\n})\n</script>\n<template>\n <li class=\"parameter-item group/parameter-item\">\n <Disclosure\n v-slot=\"{ open }\"\n :defaultOpen=\"isOnScrollTargetPath\">\n <component\n :is=\"shouldCollapse ? DisclosureButton : 'div'\"\n v-if=\"collapsableItems\"\n class=\"parameter-item-trigger\"\n :class=\"{ 'parameter-item-trigger-open': open }\">\n <div class=\"parameter-item-name min-w-0\">\n <ScalarIconCaretRight\n v-if=\"shouldCollapse\"\n class=\"parameter-item-icon size-3 transition-transform duration-100\"\n :class=\"{ 'rotate-90': open }\"\n weight=\"bold\" />\n <div>\n <ScalarWrappingText\n preset=\"property\"\n :text=\"name\" />\n </div>\n </div>\n <ScalarMarkdownSummary\n v-if=\"!open && parameter.description\"\n v-model:truncated=\"truncated\"\n class=\"parameter-item-description-summary min-w-0 flex-1\"\n controlled\n :value=\"parameter.description\" />\n <div\n v-else\n class=\"flex-1\" />\n </component>\n <DisclosurePanel\n class=\"parameter-item-container parameter-item-container-markdown\"\n :static=\"!collapsableItems\">\n <ScalarMarkdown\n v-if=\"collapsableItems && parameter.description\"\n class=\"parameter-item-description\"\n :value=\"parameter.description\" />\n <!-- Headers -->\n <Headers\n v-if=\"headers\"\n :breadcrumb=\"breadcrumb\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :expandAllSchemaProperties=\"options.expandAllSchemaProperties\"\n :headers=\"headers\"\n :orderRequiredPropertiesFirst=\"options.orderRequiredPropertiesFirst\"\n :orderSchemaPropertiesBy=\"options.orderSchemaPropertiesBy\" />\n\n <!-- Schema -->\n <SchemaProperty\n is=\"div\"\n :breadcrumb=\"schemaBreadcrumb\"\n compact\n :description=\"collapsableItems ? '' : parameter.description\"\n :eventBus=\"eventBus\"\n :hideWriteOnly=\"true\"\n :modelName=\"schemaModelName\"\n :name=\"collapsableItems ? '' : name\"\n :noncollapsible=\"true\"\n :options=\"{\n hideWriteOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n expandAllSchemaProperties: options.expandAllSchemaProperties,\n document,\n }\"\n :required=\"'required' in parameter && parameter.required\"\n :schema=\"value\" />\n </DisclosurePanel>\n <div\n v-if=\"shouldCollapse && content\"\n class=\"absolute top-[calc(10px+0.5lh)] right-0 z-0 flex -translate-y-1/2 items-center text-base\"\n :class=\"{\n 'opacity-0 group-focus-within/parameter-item:opacity-100 group-hover/parameter-item:opacity-100':\n !open,\n }\">\n <div\n class=\"from-b-1 absolute inset-y-0 -left-6 -z-1 w-8 bg-linear-to-l from-40% to-transparent\" />\n <ContentTypeSelect\n v-model=\"selectedContentType\"\n :content=\"content\" />\n </div>\n </Disclosure>\n </li>\n</template>\n\n<style scoped>\n.parameter-item {\n display: flex;\n flex-direction: column;\n position: relative;\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item:last-of-type .parameter-schema {\n padding-bottom: 0;\n}\n\n.parameter-item-container {\n padding: 0;\n}\n\n.parameter-item-headers {\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item-name {\n position: relative;\n font-weight: var(--scalar-bold);\n font-size: var(--scalar-font-size-4);\n font-family: var(--scalar-font-code);\n color: var(--scalar-color-1);\n overflow-wrap: break-word;\n}\n\n.parameter-item-description,\n.parameter-item-description-summary {\n font-size: var(--scalar-mini);\n color: var(--scalar-color-2);\n}\n\n.parameter-item-description-summary.parameter-item-description-summary > * {\n --markdown-line-height: var(--scalar-line-height-5);\n}\n\n/* Match font size of markdown for property-detail-value since first child within accordian is displayed as if it were in the markdown section */\n.parameter-item-trigger\n ~ .parameter-item-container\n :deep(.property--level-0 > .property-heading .property-detail-value) {\n font-size: var(--scalar-micro);\n}\n\n.parameter-item-required-optional {\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n margin-right: 6px;\n position: relative;\n}\n\n.parameter-item--required {\n text-transform: uppercase;\n font-size: var(--scalar-micro);\n font-weight: var(--scalar-semibold);\n color: var(--scalar-color-orange);\n}\n\n.parameter-item-description {\n margin-top: 6px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n line-height: 1.4;\n}\n\n.parameter-item-description :deep(p) {\n margin-top: 4px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n}\n\n.parameter-schema {\n padding-bottom: 9px;\n margin-top: 3px;\n}\n\n.parameter-item-trigger {\n display: flex;\n align-items: baseline;\n line-height: var(--scalar-line-height-5);\n gap: 6px;\n flex-wrap: wrap;\n padding: 10px 0;\n outline: none;\n}\n\n.parameter-item-trigger-open {\n padding-bottom: 0;\n}\n\n.parameter-item-icon {\n color: var(--scalar-color-3);\n left: -19px;\n top: 0.5lh;\n translate: 0 -50%;\n position: absolute;\n}\n\n.parameter-item-trigger:hover .parameter-item-icon,\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n color: var(--scalar-color-1);\n}\n\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n outline: 1px solid var(--scalar-color-accent);\n outline-offset: 2px;\n border-radius: var(--scalar-radius);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CA,MAAM,YAAY,IAAI,MAAK;;EAG3B,MAAM,SAAS,eACb,YAAY,QAAA,aAAa,QAAA,UAAU,SAC/B,eAAe,QAAA,UAAU,OAAM,GAC/B,KACN;;EAGA,MAAM,UAAU,eAAe;AAC7B,OAAI,EAAE,aAAa,QAAA,cAAc,CAAC,QAAA,UAAU,QAC1C,QAAO;AAGT,OADa,OAAO,KAAK,QAAA,UAAU,QAAO,CACjC,WAAW,EAClB,QAAO;AAET,UAAO,QAAA,UAAU;IAClB;EAED,MAAM,sBAAsB,IAC1B,OAAO,KAAK,QAAQ,SAAS,EAAE,CAAC,CAAC,MAAM,GACzC;;EAGA,MAAM,UAAU,eACd,aAAa,QAAA,aAAa,QAAA,UAAU,UAAU,QAAA,UAAU,UAAU,KACpE;;EAGA,MAAM,aAAa,eACjB,QAAQ,QACJ,QAAQ,QAAQ,oBAAoB,QAAQ,SAC5C,YAAY,QAAA,aAAa,QAAA,UAAU,SACjC,QAAA,UAAU,SACV,KACR;;EAGA,MAAM,kBAAkB,eAAe;GACrC,MAAM,MAAM,WAAW;AACvB,OAAI,CAAC,IACH,QAAO;AAGT,OAAI,UAAU,IACZ,QAAO,WAAW,IAAI,KAAI;AAG5B,UAAO;IACR;;EAGD,MAAM,QAAQ,eAAe;GAC3B,MAAM,OAAO,WAAW;GACxB,MAAM,eAAe,QAAQ,QAAQ,eAAe,KAAK,GAAG,OAAO;GAEnE,MAAM,aACJ,gBAAgB,QAAA,YAAY,QAAA,UAAU,aAAa,OAAO,OAAO;;GAGnE,MAAM,WAAW,qBAAqB;IACpC,WAAQ,QAAA;IACR,gBAAgB,OAAO,OAAO;IAC9B,iBAAiB,QAAQ,QAAQ,oBAAoB,QAAQ;IAC9D,CAAA;AAED,UAAO;IACL,GAAG;IACS;IACZ;IACD;IACF;;;;;;EAOD,MAAM,iBAAiB,eACrB,QAAQ,QAAQ,SAAS,QAAQ,SAAS,OAAO,SAAS,UAAU,MAAM,CAC5E;;;;;;EAOA,MAAM,mBAAmB,eACvB,QAAA,oBAAoB,QAAA,cAAc,QAAA,OAAO,CAAC,GAAG,QAAA,YAAY,QAAA,KAAK,GAAG,QAAA,WACnE;;;;;;EAOA,MAAM,uBAAuB,eAAwB;GACnD,MAAM,OAAO,iBAAiB,OAAO,KAAK,IAAG;AAC7C,OAAI,CAAC,KACH,QAAO;GAET,MAAM,SAAS,eAAe;AAC9B,UAAO,WAAW,QAAQ,OAAO,WAAW,GAAG,KAAK,GAAE;IACvD;;uBAGC,mBAoFK,MApFL,YAoFK,CAnFH,YAkFa,MAAA,WAAA,EAAA,EAhFV,aAAa,qBAAA,OAAoB,EAAA;sBA2BtB,EA5BF,WAAI;KAIN,QAAA,oBAAA,WAAA,EAFR,YA0BY,wBAzBL,eAAA,QAAiB,MAAA,iBAAgB,GAAA,MAAA,EAAA;;MAEtC,OAAK,eAAA,CAAC,0BAAwB,EAAA,+BACW,MAAI,CAAA,CAAA;;6BAYvC,CAXN,mBAWM,OAXN,YAWM,CATI,eAAA,SAAA,WAAA,EADR,YAIkB,MAAA,qBAAA,EAAA;;OAFhB,OAAK,eAAA,CAAC,gEAA8D,EAAA,aAC7C,MAAI,CAAA,CAAA;OAC3B,QAAO;8DACT,mBAIM,OAAA,MAAA,CAHJ,YAEiB,MAAA,mBAAA,EAAA;OADf,QAAO;OACN,MAAM,QAAA;kCAIJ,QAAQ,QAAA,UAAU,eAAA,WAAA,EAD3B,YAKmC,MAAA,sBAAA,EAAA;;OAHzB,WAAW,UAAA;6EAAS,QAAA;OAC5B,OAAM;OACN,YAAA;OACC,OAAO,QAAA,UAAU;2DACpB,mBAEmB,OAFnB,WAEmB,EAAA,CAAA;;;KAErB,YAsCkB,MAAA,gBAAA,EAAA;MArChB,OAAM;MACL,QAAM,CAAG,QAAA;;6BAIyB;OAF3B,QAAA,oBAAoB,QAAA,UAAU,eAAA,WAAA,EADtC,YAGmC,MAAA,eAAA,EAAA;;QADjC,OAAM;QACL,OAAO,QAAA,UAAU;;OAGZ,QAAA,SAAA,WAAA,EADR,YAQ+D,iBAAA;;QAN5D,YAAY,QAAA;QACZ,UAAU,QAAA;QACV,UAAU,QAAA;QACV,2BAA2B,QAAA,QAAQ;QACnC,SAAS,QAAA;QACT,8BAA8B,QAAA,QAAQ;QACtC,yBAAyB,QAAA,QAAQ;;;;;;;;;;OAGpC,YAkBoB,wBAAA;QAjBlB,IAAG;QACF,YAAY,iBAAA;QACb,SAAA;QACC,aAAa,QAAA,mBAAgB,KAAQ,QAAA,UAAU;QAC/C,UAAU,QAAA;QACV,eAAe;QACf,WAAW,gBAAA;QACX,MAAM,QAAA,mBAAgB,KAAQ,QAAA;QAC9B,gBAAgB;QAChB,SAAO;;uCAA+E,QAAA,QAAQ;kCAAmE,QAAA,QAAQ;oCAAgE,QAAA,QAAQ;mBAAuC,QAAA;;QAOxR,UAAQ,cAAgB,QAAA,aAAa,QAAA,UAAU;QAC/C,QAAQ,MAAA;;;;;;;;;;;;;;KAGL,eAAA,SAAkB,QAAA,SAAA,WAAA,EAD1B,mBAYM,OAAA;;MAVJ,OAAK,eAAA,CAAC,4FAA0F,EAAA,kGAAA,CACmC,MAAA,CAAA,CAAA;mCAInI,mBACgG,OAAA,EAA9F,OAAM,uFAAqF,EAAA,MAAA,GAAA,GAC7F,YAEuB,2BAAA;kBADZ,oBAAA;uFAAmB,QAAA;MAC3B,SAAS,QAAA"}
1
+ {"version":3,"file":"ParameterListItem.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/ParameterListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/vue'\nimport {\n ScalarMarkdown,\n ScalarMarkdownSummary,\n} from '@scalar/components/markdown'\nimport { ScalarWrappingText } from '@scalar/components/wrapping-text'\nimport { ScalarIconCaretRight } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n OpenApiDocument,\n ParameterObject,\n ResponseObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref } from 'vue'\n\nimport { getRefName } from '@/components/Content/Schema/helpers/get-ref-name'\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\nimport { scrollTargetId } from '@/helpers/lazy-bus'\n\nimport ContentTypeSelect from './ContentTypeSelect.vue'\nimport Headers from './Headers.vue'\nimport { getParameterExamples } from './helpers/get-parameter-examples'\n\nconst { name, parameter, options, collapsableItems, breadcrumb, document } =\n defineProps<{\n parameter: ParameterObject | ResponseObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n collapsableItems?: boolean\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n }>()\n\n/** Whether the markdown summary is being truncated */\nconst truncated = ref(false)\n\n/** Responses and params may both have a schema */\nconst schema = computed<SchemaObject | null>(() =>\n 'schema' in parameter && parameter.schema\n ? getResolvedRef(parameter.schema)\n : null,\n)\n\n/** Response and params may both have content */\nconst content = computed(() => {\n if (!('content' in parameter) || !parameter.content) {\n return null\n }\n const keys = Object.keys(parameter.content)\n if (keys.length === 0) {\n return null\n }\n return parameter.content\n})\n\nconst selectedContentType = ref<string>(\n Object.keys(content.value || {})[0] ?? '',\n)\n\n/** Response headers */\nconst headers = computed<ResponseObject['headers'] | null>(() =>\n 'headers' in parameter && parameter.headers ? parameter.headers : null,\n)\n\n/** Raw schema (possibly with $ref) for the selected content type or param. */\nconst baseSchema = computed(() =>\n content.value\n ? content.value?.[selectedContentType.value]?.schema\n : 'schema' in parameter && parameter.schema\n ? parameter.schema\n : null,\n)\n\n/** When the schema is a $ref, preserve its name so the UI can show the ref name instead of just the type. */\nconst schemaModelName = computed(() => {\n const raw = baseSchema.value\n if (!raw) {\n return null\n }\n\n if ('$ref' in raw) {\n return getRefName(raw.$ref)\n }\n\n return null\n})\n\n/** Computed value from the combined schema param and content param */\nconst value = computed(() => {\n const base = baseSchema.value\n const resolvedBase = content.value ? getResolvedRef(base) : schema.value\n\n const deprecated =\n 'deprecated' in parameter ? parameter.deprecated : schema.value?.deprecated\n\n /** Combine param/content/schema examples while ignoring undefined values. */\n const examples = getParameterExamples({\n parameter,\n schemaExamples: schema.value?.examples,\n contentExamples: content.value?.[selectedContentType.value]?.examples,\n })\n\n return {\n ...resolvedBase,\n deprecated: deprecated,\n examples,\n } as SchemaObject\n})\n\n/**\n * Determines whether this parameter item should be rendered as a collapsible disclosure.\n * Only collapses when collapsableItems is enabled and the parameter has additional\n * content to display (content types, headers, or schema details).\n */\nconst shouldCollapse = computed<boolean>(() =>\n Boolean(content.value || headers.value || schema.value || truncated.value),\n)\n\n/**\n * The breadcrumb passed to the schema. Collapsible items (responses) render their\n * schema without a name to avoid a duplicate heading, so we push the item name\n * (e.g. the status code) onto the breadcrumb here to keep property anchors unique.\n */\nconst schemaBreadcrumb = computed<string[] | undefined>(() =>\n collapsableItems && breadcrumb && name ? [...breadcrumb, name] : breadcrumb,\n)\n\n/**\n * Whether a deep link points at a property inside this collapsed item. When it\n * does, the disclosure opens on mount so a fresh navigation can render the target\n * and scroll it into view (mirrors how collapsible schema disclosures behave).\n */\nconst isOnScrollTargetPath = computed<boolean>(() => {\n const path = schemaBreadcrumb.value?.join('.')\n if (!path) {\n return false\n }\n const target = scrollTargetId.value\n return target === path || target.startsWith(`${path}.`)\n})\n</script>\n<template>\n <li class=\"parameter-item group/parameter-item\">\n <Disclosure\n v-slot=\"{ open }\"\n :defaultOpen=\"isOnScrollTargetPath\">\n <component\n :is=\"shouldCollapse ? DisclosureButton : 'div'\"\n v-if=\"collapsableItems\"\n class=\"parameter-item-trigger\"\n :class=\"{ 'parameter-item-trigger-open': open }\">\n <div class=\"parameter-item-name min-w-0\">\n <ScalarIconCaretRight\n v-if=\"shouldCollapse\"\n class=\"parameter-item-icon size-3 transition-transform duration-100\"\n :class=\"{ 'rotate-90': open }\"\n weight=\"bold\" />\n <div>\n <ScalarWrappingText\n preset=\"property\"\n :text=\"name\" />\n </div>\n </div>\n <ScalarMarkdownSummary\n v-if=\"!open && parameter.description\"\n v-model:truncated=\"truncated\"\n class=\"parameter-item-description-summary min-w-0 flex-1\"\n controlled\n :value=\"parameter.description\" />\n <div\n v-else\n class=\"flex-1\" />\n </component>\n <DisclosurePanel\n class=\"parameter-item-container parameter-item-container-markdown\"\n :static=\"!collapsableItems\">\n <ScalarMarkdown\n v-if=\"collapsableItems && parameter.description\"\n class=\"parameter-item-description\"\n :value=\"parameter.description\" />\n <!-- Headers -->\n <Headers\n v-if=\"headers\"\n :breadcrumb=\"breadcrumb\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :expandAllSchemaProperties=\"options.expandAllSchemaProperties\"\n :headers=\"headers\"\n :orderRequiredPropertiesFirst=\"options.orderRequiredPropertiesFirst\"\n :orderSchemaPropertiesBy=\"options.orderSchemaPropertiesBy\" />\n\n <!-- Schema -->\n <SchemaProperty\n is=\"div\"\n :breadcrumb=\"schemaBreadcrumb\"\n compact\n :description=\"collapsableItems ? '' : parameter.description\"\n :eventBus=\"eventBus\"\n :hideWriteOnly=\"true\"\n :modelName=\"schemaModelName\"\n :name=\"collapsableItems ? '' : name\"\n :noncollapsible=\"true\"\n :options=\"{\n hideWriteOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n expandAllSchemaProperties: options.expandAllSchemaProperties,\n document,\n }\"\n :required=\"'required' in parameter && parameter.required\"\n :schema=\"value\" />\n </DisclosurePanel>\n <div\n v-if=\"shouldCollapse && content\"\n class=\"absolute top-[calc(10px+0.5lh)] right-0 z-0 flex -translate-y-1/2 items-center text-base\"\n :class=\"{\n 'opacity-0 group-focus-within/parameter-item:opacity-100 group-hover/parameter-item:opacity-100':\n !open,\n }\">\n <div\n class=\"from-b-1 absolute inset-y-0 -left-6 -z-1 w-8 bg-linear-to-l from-40% to-transparent\" />\n <ContentTypeSelect\n v-model=\"selectedContentType\"\n :content=\"content\" />\n </div>\n </Disclosure>\n </li>\n</template>\n\n<style scoped>\n.parameter-item {\n display: flex;\n flex-direction: column;\n position: relative;\n border-top: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item:last-of-type .parameter-schema {\n padding-bottom: 0;\n}\n\n.parameter-item-container {\n padding: 0;\n}\n\n.parameter-item-headers {\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n}\n\n.parameter-item-name {\n position: relative;\n font-weight: var(--scalar-bold);\n font-size: var(--scalar-font-size-4);\n font-family: var(--scalar-font-code);\n color: var(--scalar-color-1);\n overflow-wrap: break-word;\n}\n\n.parameter-item-description,\n.parameter-item-description-summary {\n font-size: var(--scalar-mini);\n color: var(--scalar-color-2);\n}\n\n.parameter-item-description-summary.parameter-item-description-summary > * {\n --markdown-line-height: var(--scalar-line-height-5);\n}\n\n/* Match font size of markdown for property-detail-value since first child within accordian is displayed as if it were in the markdown section */\n.parameter-item-trigger\n ~ .parameter-item-container\n :deep(.property--level-0 > .property-heading .property-detail-value) {\n font-size: var(--scalar-micro);\n}\n\n.parameter-item-required-optional {\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n margin-right: 6px;\n position: relative;\n}\n\n.parameter-item--required {\n text-transform: uppercase;\n font-size: var(--scalar-micro);\n font-weight: var(--scalar-semibold);\n color: var(--scalar-color-orange);\n}\n\n.parameter-item-description {\n margin-top: 6px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n line-height: 1.4;\n}\n\n.parameter-item-description :deep(p) {\n margin-top: 4px;\n font-size: var(--scalar-small);\n color: var(--scalar-color-2);\n}\n\n.parameter-schema {\n padding-bottom: 9px;\n margin-top: 3px;\n}\n\n.parameter-item-trigger {\n display: flex;\n align-items: baseline;\n line-height: var(--scalar-line-height-5);\n gap: 6px;\n flex-wrap: wrap;\n padding: 10px 0;\n outline: none;\n}\n\n.parameter-item-trigger-open {\n padding-bottom: 0;\n}\n\n.parameter-item-icon {\n color: var(--scalar-color-3);\n left: -19px;\n top: 0.5lh;\n translate: 0 -50%;\n position: absolute;\n}\n\n.parameter-item-trigger:hover .parameter-item-icon,\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n color: var(--scalar-color-1);\n}\n\n.parameter-item-trigger:focus-visible .parameter-item-icon {\n outline: 1px solid var(--scalar-color-accent);\n outline-offset: 2px;\n border-radius: var(--scalar-radius);\n}\n</style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBody.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/RequestBody.vue"],"names":[],"mappings":"AA4SA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAClB,MAAM,8DAA8D,CAAA;AAgBrE,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,8FAA8F;IAC9F,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;AA+GF,KAAK,gBAAgB,GAAG;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAuRxD,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAK7C,QAAA,MAAM,UAAU;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"RequestBody.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/RequestBody.vue"],"names":[],"mappings":"AA4SA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAClB,MAAM,8DAA8D,CAAA;AAgBrE,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,8FAA8F;IAC9F,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;AA+GF,KAAK,gBAAgB,GAAG;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAwRxD,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAK7C,QAAA,MAAM,UAAU;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
2
2
  import RequestBody_vue_vue_type_script_setup_true_lang_default from "./RequestBody.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/features/Operation/components/RequestBody.vue
5
- var RequestBody_default = /* @__PURE__ */ _plugin_vue_export_helper_default(RequestBody_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-96399c9a"]]);
5
+ var RequestBody_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RequestBody_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-96399c9a"]]);
6
6
  //#endregion
7
7
  export { RequestBody_default as default };
8
8
 
@@ -36,9 +36,9 @@ var _hoisted_9 = {
36
36
  class: "request-body-schema"
37
37
  };
38
38
  var MAX_VISIBLE_PROPERTIES = 12;
39
- var RequestBody_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
39
+ var RequestBody_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
40
40
  __name: "RequestBody",
41
- props: /* @__PURE__ */ mergeModels({
41
+ props: /*@__PURE__*/ mergeModels({
42
42
  breadcrumb: {},
43
43
  requestBody: {},
44
44
  eventBus: {},
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBody.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/RequestBody.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n OpenApiDocument,\n RequestBodyObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { Schema } from '@/components/Content/Schema'\nimport { inferDiscriminatorMappingComposition } from '@/components/Content/Schema/helpers/get-compositions-to-render'\nimport { isTypeObject } from '@/components/Content/Schema/helpers/is-type-object'\nimport { getModelNameFromSchema } from '@/components/Content/Schema/helpers/schema-name'\nimport {\n reduceNamesToObject,\n sortPropertyNames,\n} from '@/components/Content/Schema/helpers/sort-property-names'\nimport LinkButton from '@/components/Content/Schema/LinkButton.vue'\nimport { useLocalization } from '@/features/localization'\n\nimport ContentTypeSelect from './ContentTypeSelect.vue'\n\nconst { requestBody, options, document } = defineProps<{\n breadcrumb?: string[]\n requestBody?: RequestBodyObject\n eventBus: WorkspaceEventBus | null\n /** The document the request body 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}>()\nconst { translate } = useLocalization()\n\n/**\n * The maximum number of properties to show in the request body schema.\n */\nconst MAX_VISIBLE_PROPERTIES = 12\n\nconst availableContentTypes = computed(() =>\n Object.keys(requestBody?.content ?? {}),\n)\n\nconst selectedContentType = defineModel<string>('selectedContentType', {\n default: 'application/json',\n})\n\nif (requestBody?.content) {\n if (availableContentTypes.value[0]) {\n selectedContentType.value = availableContentTypes.value[0]\n }\n}\n\n/** Raw schema (possibly with $ref) for the selected content type */\nconst rawSchema = computed(\n () => requestBody?.content?.[selectedContentType.value]?.schema,\n)\n\nconst schema = computed(() => getResolvedRef(rawSchema.value))\n\n/** When the schema is a $ref, preserve its name so the UI can show the ref name instead of just the type. */\nconst modelLink = computed(\n () => (rawSchema.value && getModelNameFromSchema(rawSchema.value)) ?? null,\n)\n\n/**\n * Splits schema properties into visible and collapsed sections when there are more than 12 properties.\n * Returns null for schemas with fewer properties or non-object schemas.\n */\nconst partitionedSchema = computed(() => {\n // Early return if not an object schema\n if (!schema.value || !isTypeObject(schema.value)) {\n return null\n }\n\n // A schema whose variants are inferred from a `discriminator.mapping` renders\n // as a single variant selector, not a flat property list. Splitting it would\n // duplicate that selector across the visible and collapsed blocks, so we keep\n // it whole. See https://github.com/scalar/scalar/issues/7472\n if (inferDiscriminatorMappingComposition(schema.value, document)) {\n return null\n }\n\n // Lets sort the names first\n const sortedNames = sortPropertyNames(\n schema.value,\n schema.value.discriminator,\n {\n hideReadOnly: true,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n },\n )\n\n if (sortedNames.length <= MAX_VISIBLE_PROPERTIES) {\n return null\n }\n\n // Destructure everything except properties\n const { properties, ...schemaMetadata } = schema.value\n if (!properties) {\n return null\n }\n\n return {\n visibleProperties: {\n ...schemaMetadata,\n properties: reduceNamesToObject(\n sortedNames.slice(0, MAX_VISIBLE_PROPERTIES),\n properties,\n ),\n },\n collapsedProperties: {\n ...schemaMetadata,\n properties: reduceNamesToObject(\n sortedNames.slice(MAX_VISIBLE_PROPERTIES),\n properties,\n ),\n },\n }\n})\n\n/**\n * We don't want to render the request body if its completely empty\n * @example\n * {\n * \"content\": {},\n * }\n */\nconst shouldRenderRequestBody = computed(\n () =>\n Object.keys(requestBody?.content ?? {}).length > 0 ||\n requestBody?.description ||\n requestBody?.required,\n)\n</script>\n<template>\n <div\n v-if=\"requestBody && shouldRenderRequestBody\"\n :aria-label=\"translate('operation.requestBody')\"\n class=\"request-body\"\n role=\"group\">\n <div class=\"request-body-header\">\n <div class=\"request-body-title\">\n <slot name=\"title\" />\n <span\n v-if=\"modelLink\"\n class=\"text-c-2 text-xs leading-none font-normal\"\n data-testid=\"request-body-schema-name\">\n <span class=\"text-c-3 mx-1.5\">·</span>\n <LinkButton\n v-if=\"eventBus && modelLink.schemaKey\"\n @click=\"\n eventBus.emit('scroll-to:model-by-name', {\n name: modelLink.schemaKey,\n })\n \">\n {{ modelLink.label }}\n </LinkButton>\n <template v-else>{{ modelLink.label }}</template>\n </span>\n </div>\n <div class=\"flex items-center gap-2\">\n <div\n v-if=\"requestBody.required\"\n class=\"request-body-required\">\n {{ translate('common.required') }}\n </div>\n <ContentTypeSelect\n v-model=\"selectedContentType\"\n :content=\"requestBody.content\" />\n </div>\n <div\n v-if=\"requestBody.description\"\n class=\"request-body-description\">\n <ScalarMarkdown :value=\"requestBody.description\" />\n </div>\n </div>\n\n <!-- For over 12 properties we want to show 12 and collapse the rest -->\n <div\n v-if=\"partitionedSchema\"\n class=\"request-body-schema\">\n <Schema\n :breadcrumb\n compact\n :compositionPath=\"['requestBody']\"\n :eventBus=\"eventBus\"\n :name=\"translate('operation.requestBody')\"\n noncollapsible\n :options=\"{\n hideReadOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n expandAllSchemaProperties: options.expandAllSchemaProperties,\n document,\n }\"\n :schema=\"partitionedSchema.visibleProperties\"\n schemaContext=\"requestBody\" />\n\n <Schema\n additionalProperties\n :breadcrumb\n compact\n :compositionPath=\"['requestBody']\"\n :eventBus=\"eventBus\"\n hideDescription\n :name=\"translate('operation.requestBody')\"\n :options=\"{\n hideReadOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n expandAllSchemaProperties: options.expandAllSchemaProperties,\n document,\n }\"\n :schema=\"partitionedSchema.collapsedProperties\"\n schemaContext=\"requestBody\" />\n </div>\n\n <!-- Show em all 12 and under -->\n <div\n v-else-if=\"schema\"\n class=\"request-body-schema\">\n <Schema\n :breadcrumb\n compact\n :compositionPath=\"['requestBody']\"\n :eventBus=\"eventBus\"\n :hideReadOnly=\"true\"\n :name=\"translate('operation.requestBody')\"\n noncollapsible\n :options=\"{\n hideReadOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n expandAllSchemaProperties: options.expandAllSchemaProperties,\n document,\n }\"\n :schema=\"schema\"\n schemaContext=\"requestBody\" />\n </div>\n </div>\n</template>\n\n<style scoped>\n.request-body {\n margin-top: 24px;\n}\n.request-body-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 12px;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n flex-flow: wrap;\n}\n.request-body-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: var(--scalar-font-size-2);\n font-weight: var(--scalar-semibold);\n color: var(--scalar-color-1);\n}\n.request-body-required {\n font-size: var(--scalar-micro);\n color: var(--scalar-color-orange);\n font-weight: normal;\n border-radius: 16px;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n padding: 2px 8px;\n height: 20px;\n}\n.request-body-description {\n margin-top: 6px;\n font-size: var(--scalar-small);\n width: 100%;\n}\n\n.request-body-header\n + .request-body-schema:has(> .schema-card > .schema-card-description),\n.request-body-header\n + .request-body-schema:has(\n > .schema-card > .schema-properties > * > .property--level-0\n ) {\n /** Add a bit of space between the heading border and the schema description or properties */\n padding-top: 8px;\n}\n.request-body-description :deep(.markdown) * {\n color: var(--scalar-color-2) !important;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,IAAM,yBAAyB;;;;;;;;;;;;;;;EAL/B,MAAM,EAAE,cAAc,iBAAgB;;;;EAOtC,MAAM,wBAAwB,eAC5B,OAAO,KAAK,QAAA,aAAa,WAAW,EAAE,CAAC,CACzC;EAEA,MAAM,sBAAsB,SAAmB,SAAC,sBAE/C;AAED,MAAI,QAAA,aAAa;OACX,sBAAsB,MAAM,GAC9B,qBAAoB,QAAQ,sBAAsB,MAAM;;;EAK5D,MAAM,YAAY,eACV,QAAA,aAAa,UAAU,oBAAoB,QAAQ,OAC3D;EAEA,MAAM,SAAS,eAAe,eAAe,UAAU,MAAM,CAAA;;EAG7D,MAAM,YAAY,gBACT,UAAU,SAAS,uBAAuB,UAAU,MAAM,KAAK,KACxE;;;;;EAMA,MAAM,oBAAoB,eAAe;AAEvC,OAAI,CAAC,OAAO,SAAS,CAAC,aAAa,OAAO,MAAM,CAC9C,QAAO;AAOT,OAAI,qCAAqC,OAAO,OAAO,QAAA,SAAS,CAC9D,QAAO;GAIT,MAAM,cAAc,kBAClB,OAAO,OACP,OAAO,MAAM,eACb;IACE,cAAc;IACd,yBAAyB,QAAA,QAAQ;IACjC,8BAA8B,QAAA,QAAQ;IACvC,CACH;AAEA,OAAI,YAAY,UAAU,uBACxB,QAAO;GAIT,MAAM,EAAE,YAAY,GAAG,mBAAmB,OAAO;AACjD,OAAI,CAAC,WACH,QAAO;AAGT,UAAO;IACL,mBAAmB;KACjB,GAAG;KACH,YAAY,oBACV,YAAY,MAAM,GAAG,uBAAuB,EAC5C,WACD;KACF;IACD,qBAAqB;KACnB,GAAG;KACH,YAAY,oBACV,YAAY,MAAM,uBAAuB,EACzC,WACD;KACF;IACH;IACD;;;;;;;;EASD,MAAM,0BAA0B,eAE5B,OAAO,KAAK,QAAA,aAAa,WAAW,EAAE,CAAC,CAAC,SAAS,KACjD,QAAA,aAAa,eACb,QAAA,aAAa,SACjB;;UAIU,QAAA,eAAe,wBAAA,SAAA,WAAA,EADvB,mBAwGM,OAAA;;IAtGH,cAAY,MAAA,UAAS,CAAA,wBAAA;IACtB,OAAM;IACN,MAAK;OACL,mBAmCM,OAnCN,YAmCM;IAlCJ,mBAkBM,OAlBN,YAkBM,CAjBJ,WAAqB,KAAA,QAAA,SAAA,EAAA,EAAA,KAAA,GAAA,KAAA,EAEb,UAAA,SAAA,WAAA,EADR,mBAeO,QAfP,YAeO,CAAA,OAAA,OAAA,OAAA,KAXL,mBAAsC,QAAA,EAAhC,OAAM,mBAAiB,EAAC,KAAC,GAAA,GAEvB,QAAA,YAAY,UAAA,MAAU,aAAA,WAAA,EAD9B,YAQa,oBAAA;;KANV,SAAK,OAAA,OAAA,OAAA,MAAA,WAAiB,QAAA,SAAS,KAAI,2BAAA,EAAA,MAAoD,UAAA,MAAU,WAAA,CAAA;;4BAK7E,CAAA,gBAAA,gBAAlB,UAAA,MAAU,MAAK,EAAA,EAAA,CAAA,CAAA;;wBAEpB,mBAAiD,UAAA,EAAA,KAAA,GAAA,EAAA,CAAA,gBAAA,gBAA7B,UAAA,MAAU,MAAK,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA;IAGvC,mBASM,OATN,YASM,CAPI,QAAA,YAAY,YAAA,WAAA,EADpB,mBAIM,OAJN,YAIM,gBADD,MAAA,UAAS,CAAA,kBAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA,EAEd,YAEmC,2BAAA;iBADxB,oBAAA;sFAAmB,QAAA;KAC3B,SAAS,QAAA,YAAY;;IAGlB,QAAA,YAAY,eAAA,WAAA,EADpB,mBAIM,OAJN,YAIM,CADJ,YAAmD,MAAA,eAAA,EAAA,EAAlC,OAAO,QAAA,YAAY,aAAA,EAAA,MAAA,GAAA,CAAA,QAAA,CAAA,CAAA,CAAA,IAAA,mBAAA,IAAA,KAAA;OAMhC,kBAAA,SAAA,WAAA,EADR,mBAqCM,OArCN,YAqCM,CAlCJ,YAegC,MAAA,eAAA,EAAA;IAd7B,YAAA,QAAA;IACD,SAAA;IACC,iBAAiB,CAAA,cAAe;IAChC,UAAU,QAAA;IACV,MAAM,MAAA,UAAS,CAAA,wBAAA;IAChB,gBAAA;IACC,SAAO;;mCAA0E,QAAA,QAAQ;8BAAiE,QAAA,QAAQ;gCAA8D,QAAA,QAAQ;eAAqC,QAAA;;IAO7Q,QAAQ,kBAAA,MAAkB;IAC3B,eAAc;;;;;;;OAEhB,YAgBgC,MAAA,eAAA,EAAA;IAf9B,sBAAA;IACC,YAAA,QAAA;IACD,SAAA;IACC,iBAAiB,CAAA,cAAe;IAChC,UAAU,QAAA;IACX,iBAAA;IACC,MAAM,MAAA,UAAS,CAAA,wBAAA;IACf,SAAO;;mCAA0E,QAAA,QAAQ;8BAAiE,QAAA,QAAQ;gCAA8D,QAAA,QAAQ;eAAqC,QAAA;;IAO7Q,QAAQ,kBAAA,MAAkB;IAC3B,eAAc;;;;;;;WAKL,OAAA,SAAA,WAAA,EADb,mBAoBM,OApBN,YAoBM,CAjBJ,YAgBgC,MAAA,eAAA,EAAA;IAf7B,YAAA,QAAA;IACD,SAAA;IACC,iBAAiB,CAAA,cAAe;IAChC,UAAU,QAAA;IACV,cAAc;IACd,MAAM,MAAA,UAAS,CAAA,wBAAA;IAChB,gBAAA;IACC,SAAO;;mCAA0E,QAAA,QAAQ;8BAAiE,QAAA,QAAQ;gCAA8D,QAAA,QAAQ;eAAqC,QAAA;;IAO7Q,QAAQ,OAAA;IACT,eAAc"}
1
+ {"version":3,"file":"RequestBody.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/RequestBody.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n OpenApiDocument,\n RequestBodyObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { Schema } from '@/components/Content/Schema'\nimport { inferDiscriminatorMappingComposition } from '@/components/Content/Schema/helpers/get-compositions-to-render'\nimport { isTypeObject } from '@/components/Content/Schema/helpers/is-type-object'\nimport { getModelNameFromSchema } from '@/components/Content/Schema/helpers/schema-name'\nimport {\n reduceNamesToObject,\n sortPropertyNames,\n} from '@/components/Content/Schema/helpers/sort-property-names'\nimport LinkButton from '@/components/Content/Schema/LinkButton.vue'\nimport { useLocalization } from '@/features/localization'\n\nimport ContentTypeSelect from './ContentTypeSelect.vue'\n\nconst { requestBody, options, document } = defineProps<{\n breadcrumb?: string[]\n requestBody?: RequestBodyObject\n eventBus: WorkspaceEventBus | null\n /** The document the request body 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}>()\nconst { translate } = useLocalization()\n\n/**\n * The maximum number of properties to show in the request body schema.\n */\nconst MAX_VISIBLE_PROPERTIES = 12\n\nconst availableContentTypes = computed(() =>\n Object.keys(requestBody?.content ?? {}),\n)\n\nconst selectedContentType = defineModel<string>('selectedContentType', {\n default: 'application/json',\n})\n\nif (requestBody?.content) {\n if (availableContentTypes.value[0]) {\n selectedContentType.value = availableContentTypes.value[0]\n }\n}\n\n/** Raw schema (possibly with $ref) for the selected content type */\nconst rawSchema = computed(\n () => requestBody?.content?.[selectedContentType.value]?.schema,\n)\n\nconst schema = computed(() => getResolvedRef(rawSchema.value))\n\n/** When the schema is a $ref, preserve its name so the UI can show the ref name instead of just the type. */\nconst modelLink = computed(\n () => (rawSchema.value && getModelNameFromSchema(rawSchema.value)) ?? null,\n)\n\n/**\n * Splits schema properties into visible and collapsed sections when there are more than 12 properties.\n * Returns null for schemas with fewer properties or non-object schemas.\n */\nconst partitionedSchema = computed(() => {\n // Early return if not an object schema\n if (!schema.value || !isTypeObject(schema.value)) {\n return null\n }\n\n // A schema whose variants are inferred from a `discriminator.mapping` renders\n // as a single variant selector, not a flat property list. Splitting it would\n // duplicate that selector across the visible and collapsed blocks, so we keep\n // it whole. See https://github.com/scalar/scalar/issues/7472\n if (inferDiscriminatorMappingComposition(schema.value, document)) {\n return null\n }\n\n // Lets sort the names first\n const sortedNames = sortPropertyNames(\n schema.value,\n schema.value.discriminator,\n {\n hideReadOnly: true,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n },\n )\n\n if (sortedNames.length <= MAX_VISIBLE_PROPERTIES) {\n return null\n }\n\n // Destructure everything except properties\n const { properties, ...schemaMetadata } = schema.value\n if (!properties) {\n return null\n }\n\n return {\n visibleProperties: {\n ...schemaMetadata,\n properties: reduceNamesToObject(\n sortedNames.slice(0, MAX_VISIBLE_PROPERTIES),\n properties,\n ),\n },\n collapsedProperties: {\n ...schemaMetadata,\n properties: reduceNamesToObject(\n sortedNames.slice(MAX_VISIBLE_PROPERTIES),\n properties,\n ),\n },\n }\n})\n\n/**\n * We don't want to render the request body if its completely empty\n * @example\n * {\n * \"content\": {},\n * }\n */\nconst shouldRenderRequestBody = computed(\n () =>\n Object.keys(requestBody?.content ?? {}).length > 0 ||\n requestBody?.description ||\n requestBody?.required,\n)\n</script>\n<template>\n <div\n v-if=\"requestBody && shouldRenderRequestBody\"\n :aria-label=\"translate('operation.requestBody')\"\n class=\"request-body\"\n role=\"group\">\n <div class=\"request-body-header\">\n <div class=\"request-body-title\">\n <slot name=\"title\" />\n <span\n v-if=\"modelLink\"\n class=\"text-c-2 text-xs leading-none font-normal\"\n data-testid=\"request-body-schema-name\">\n <span class=\"text-c-3 mx-1.5\">·</span>\n <LinkButton\n v-if=\"eventBus && modelLink.schemaKey\"\n @click=\"\n eventBus.emit('scroll-to:model-by-name', {\n name: modelLink.schemaKey,\n })\n \">\n {{ modelLink.label }}\n </LinkButton>\n <template v-else>{{ modelLink.label }}</template>\n </span>\n </div>\n <div class=\"flex items-center gap-2\">\n <div\n v-if=\"requestBody.required\"\n class=\"request-body-required\">\n {{ translate('common.required') }}\n </div>\n <ContentTypeSelect\n v-model=\"selectedContentType\"\n :content=\"requestBody.content\" />\n </div>\n <div\n v-if=\"requestBody.description\"\n class=\"request-body-description\">\n <ScalarMarkdown :value=\"requestBody.description\" />\n </div>\n </div>\n\n <!-- For over 12 properties we want to show 12 and collapse the rest -->\n <div\n v-if=\"partitionedSchema\"\n class=\"request-body-schema\">\n <Schema\n :breadcrumb\n compact\n :compositionPath=\"['requestBody']\"\n :eventBus=\"eventBus\"\n :name=\"translate('operation.requestBody')\"\n noncollapsible\n :options=\"{\n hideReadOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n expandAllSchemaProperties: options.expandAllSchemaProperties,\n document,\n }\"\n :schema=\"partitionedSchema.visibleProperties\"\n schemaContext=\"requestBody\" />\n\n <Schema\n additionalProperties\n :breadcrumb\n compact\n :compositionPath=\"['requestBody']\"\n :eventBus=\"eventBus\"\n hideDescription\n :name=\"translate('operation.requestBody')\"\n :options=\"{\n hideReadOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n expandAllSchemaProperties: options.expandAllSchemaProperties,\n document,\n }\"\n :schema=\"partitionedSchema.collapsedProperties\"\n schemaContext=\"requestBody\" />\n </div>\n\n <!-- Show em all 12 and under -->\n <div\n v-else-if=\"schema\"\n class=\"request-body-schema\">\n <Schema\n :breadcrumb\n compact\n :compositionPath=\"['requestBody']\"\n :eventBus=\"eventBus\"\n :hideReadOnly=\"true\"\n :name=\"translate('operation.requestBody')\"\n noncollapsible\n :options=\"{\n hideReadOnly: true,\n orderRequiredPropertiesFirst: options.orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: options.orderSchemaPropertiesBy,\n expandAllSchemaProperties: options.expandAllSchemaProperties,\n document,\n }\"\n :schema=\"schema\"\n schemaContext=\"requestBody\" />\n </div>\n </div>\n</template>\n\n<style scoped>\n.request-body {\n margin-top: 24px;\n}\n.request-body-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 12px;\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n flex-flow: wrap;\n}\n.request-body-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: var(--scalar-font-size-2);\n font-weight: var(--scalar-semibold);\n color: var(--scalar-color-1);\n}\n.request-body-required {\n font-size: var(--scalar-micro);\n color: var(--scalar-color-orange);\n font-weight: normal;\n border-radius: 16px;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n padding: 2px 8px;\n height: 20px;\n}\n.request-body-description {\n margin-top: 6px;\n font-size: var(--scalar-small);\n width: 100%;\n}\n\n.request-body-header\n + .request-body-schema:has(> .schema-card > .schema-card-description),\n.request-body-header\n + .request-body-schema:has(\n > .schema-card > .schema-properties > * > .property--level-0\n ) {\n /** Add a bit of space between the heading border and the schema description or properties */\n padding-top: 8px;\n}\n.request-body-description :deep(.markdown) * {\n color: var(--scalar-color-2) !important;\n}\n</style>\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ var _hoisted_7 = {
21
21
  key: 1,
22
22
  class: "contents"
23
23
  };
24
- var SecurityRequirementBadge_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
24
+ var SecurityRequirementBadge_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
25
25
  __name: "SecurityRequirementBadge",
26
26
  props: {
27
27
  requiredSecurity: {},
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityRequirementBadge.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/SecurityRequirementBadge.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarFloating,\n ScalarFloatingBackdrop,\n} from '@scalar/components/floating'\nimport { ScalarIconLockSimple, ScalarIconLockSimpleOpen } from '@scalar/icons'\nimport { onClickOutside, onKeyStroke } from '@vueuse/core'\nimport { computed, onBeforeUnmount, ref } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport SecurityRequirementBadgeScheme from '@/features/Operation/components/SecurityRequirementBadgeScheme.vue'\nimport type { RequiredSecurity } from '@/features/Operation/helpers/get-required-security'\n\nconst { requiredSecurity, hideLabel = false } = defineProps<{\n requiredSecurity: RequiredSecurity\n hideLabel?: boolean\n}>()\nconst { translate } = useLocalization()\n\n/**\n * The badge shows a small panel with the security details. It opens on hover\n * and on click, so we own the open state directly instead of leaning on a\n * click-only popover. Owning the state keeps the two interactions from fighting\n * each other: hover and the click of the same gesture (a tap fires both) can no\n * longer toggle each other off.\n */\nconst triggerRef = ref<HTMLButtonElement | null>(null)\nconst panelRef = ref<HTMLElement | null>(null)\nconst isOpen = ref(false)\n\n/**\n * Whether the panel is pinned open by a click. A pinned panel ignores the\n * pointer leaving so it behaves like the old click-to-open popover, and it only\n * closes on another click, a click outside, or Escape.\n */\nconst isPinned = ref(false)\nlet closeTimeout: ReturnType<typeof setTimeout> | undefined\n\n/**\n * Close after a short delay so the pointer can travel across the gap between the\n * badge and the panel without the panel disappearing. A pinned panel stays open.\n */\nconst scheduleClose = () => {\n if (isPinned.value) {\n return\n }\n clearTimeout(closeTimeout)\n closeTimeout = setTimeout(() => {\n isOpen.value = false\n }, 120)\n}\n\nconst cancelClose = () => clearTimeout(closeTimeout)\n\nconst openOnHover = () => {\n cancelClose()\n isOpen.value = true\n}\n\nconst close = () => {\n cancelClose()\n isOpen.value = false\n isPinned.value = false\n}\n\n/**\n * Toggle on click. A hover already opened the panel (and a tap's `mouseenter`\n * fires just before its `click`), so the first click pins it open rather than\n * closing it; a click on an already pinned panel closes it.\n */\nconst toggleOnClick = () => {\n if (isPinned.value) {\n close()\n return\n }\n cancelClose()\n isOpen.value = true\n isPinned.value = true\n}\n\nonClickOutside(triggerRef, close, { ignore: [panelRef] })\nonKeyStroke('Escape', () => {\n if (isOpen.value) {\n close()\n }\n})\n\nonBeforeUnmount(() => clearTimeout(closeTimeout))\n\nconst label = computed(() =>\n requiredSecurity.state === 'required'\n ? translate('authentication.required')\n : translate('authentication.optional'),\n)\n\nconst verb = computed(() =>\n requiredSecurity.state === 'required'\n ? translate('authentication.requires')\n : translate('authentication.accepts'),\n)\n\n/** Single group, single scheme — shown inline in the header. */\nconst isSingleScheme = computed(\n () =>\n requiredSecurity.requirements.length === 1 &&\n requiredSecurity.requirements[0]?.schemes.length === 1,\n)\n\n/** Single group with multiple schemes — all must be satisfied (AND). */\nconst isAndGroup = computed(\n () =>\n requiredSecurity.requirements.length === 1 &&\n (requiredSecurity.requirements[0]?.schemes.length ?? 0) > 1,\n)\n\n/** Multiple groups — any one group satisfies authentication (OR). */\nconst isOrAlternatives = computed(\n () => requiredSecurity.requirements.length > 1,\n)\n</script>\n\n<template>\n <ScalarFloating\n v-if=\"requiredSecurity.state !== 'none'\"\n placement=\"bottom-end\">\n <button\n ref=\"triggerRef\"\n class=\"security-requirement-badge inline-flex w-fit shrink-0 items-center justify-center gap-1 text-sm\"\n :class=\"\n requiredSecurity.state === 'optional'\n ? 'text-c-2'\n : 'text-c-1 font-medium'\n \"\n type=\"button\"\n :aria-expanded=\"isOpen\"\n aria-haspopup=\"dialog\"\n @click.stop=\"toggleOnClick\"\n @mouseenter=\"openOnHover\"\n @mouseleave=\"scheduleClose\">\n <ScalarIconLockSimple\n v-if=\"requiredSecurity.state === 'required'\"\n class=\"size-3\"\n weight=\"bold\" />\n <ScalarIconLockSimpleOpen\n v-else\n class=\"size-3\"\n weight=\"bold\" />\n <span v-if=\"!hideLabel\">{{ label }}</span>\n </button>\n <template #floating>\n <div\n v-if=\"isOpen\"\n ref=\"panelRef\"\n class=\"relative flex flex-col p-0.75\"\n @click.stop\n @mouseenter=\"cancelClose\"\n @mouseleave=\"scheduleClose\">\n <div class=\"flex max-w-xs min-w-48 flex-col gap-1.5 p-2 text-sm\">\n <div class=\"font-medium\">\n {{ verb }}\n <template v-if=\"isSingleScheme\">\n <SecurityRequirementBadgeScheme\n is=\"span\"\n class=\"contents\"\n :scheme=\"requiredSecurity.requirements[0]!.schemes[0]!\" />\n </template>\n <template v-else-if=\"isOrAlternatives\">\n {{ translate('authentication.oneOf') }}\n </template>\n <template v-else-if=\"isAndGroup\">\n {{ translate('authentication.allOf') }}\n </template>\n <template v-else>\n {{ translate('authentication.authentication') }}\n </template>\n </div>\n\n <!-- Multiple OR alternatives -->\n <ul\n v-if=\"isOrAlternatives\"\n class=\"contents\">\n <li\n v-for=\"(group, gi) in requiredSecurity.requirements\"\n :key=\"gi\"\n class=\"markdown\">\n <!-- Single scheme in this OR branch -->\n <SecurityRequirementBadgeScheme\n is=\"span\"\n v-if=\"group.schemes.length === 1\"\n class=\"contents\"\n :scheme=\"group.schemes[0]!\" />\n <!-- Multiple AND schemes in this OR branch -->\n <template v-else>\n <ul class=\"contents\">\n <SecurityRequirementBadgeScheme\n v-for=\"(scheme, si) in group.schemes\"\n :key=\"si\"\n :scheme />\n </ul>\n </template>\n </li>\n </ul>\n\n <!-- Single group, multiple AND schemes -->\n <ul\n v-else-if=\"isAndGroup\"\n class=\"contents\">\n <SecurityRequirementBadgeScheme\n v-for=\"(scheme, key) in requiredSecurity.requirements[0]!.schemes\"\n :key\n :scheme />\n </ul>\n </div>\n <ScalarFloatingBackdrop />\n </div>\n </template>\n </ScalarFloating>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"SecurityRequirementBadge.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/SecurityRequirementBadge.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarFloating,\n ScalarFloatingBackdrop,\n} from '@scalar/components/floating'\nimport { ScalarIconLockSimple, ScalarIconLockSimpleOpen } from '@scalar/icons'\nimport { onClickOutside, onKeyStroke } from '@vueuse/core'\nimport { computed, onBeforeUnmount, ref } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport SecurityRequirementBadgeScheme from '@/features/Operation/components/SecurityRequirementBadgeScheme.vue'\nimport type { RequiredSecurity } from '@/features/Operation/helpers/get-required-security'\n\nconst { requiredSecurity, hideLabel = false } = defineProps<{\n requiredSecurity: RequiredSecurity\n hideLabel?: boolean\n}>()\nconst { translate } = useLocalization()\n\n/**\n * The badge shows a small panel with the security details. It opens on hover\n * and on click, so we own the open state directly instead of leaning on a\n * click-only popover. Owning the state keeps the two interactions from fighting\n * each other: hover and the click of the same gesture (a tap fires both) can no\n * longer toggle each other off.\n */\nconst triggerRef = ref<HTMLButtonElement | null>(null)\nconst panelRef = ref<HTMLElement | null>(null)\nconst isOpen = ref(false)\n\n/**\n * Whether the panel is pinned open by a click. A pinned panel ignores the\n * pointer leaving so it behaves like the old click-to-open popover, and it only\n * closes on another click, a click outside, or Escape.\n */\nconst isPinned = ref(false)\nlet closeTimeout: ReturnType<typeof setTimeout> | undefined\n\n/**\n * Close after a short delay so the pointer can travel across the gap between the\n * badge and the panel without the panel disappearing. A pinned panel stays open.\n */\nconst scheduleClose = () => {\n if (isPinned.value) {\n return\n }\n clearTimeout(closeTimeout)\n closeTimeout = setTimeout(() => {\n isOpen.value = false\n }, 120)\n}\n\nconst cancelClose = () => clearTimeout(closeTimeout)\n\nconst openOnHover = () => {\n cancelClose()\n isOpen.value = true\n}\n\nconst close = () => {\n cancelClose()\n isOpen.value = false\n isPinned.value = false\n}\n\n/**\n * Toggle on click. A hover already opened the panel (and a tap's `mouseenter`\n * fires just before its `click`), so the first click pins it open rather than\n * closing it; a click on an already pinned panel closes it.\n */\nconst toggleOnClick = () => {\n if (isPinned.value) {\n close()\n return\n }\n cancelClose()\n isOpen.value = true\n isPinned.value = true\n}\n\nonClickOutside(triggerRef, close, { ignore: [panelRef] })\nonKeyStroke('Escape', () => {\n if (isOpen.value) {\n close()\n }\n})\n\nonBeforeUnmount(() => clearTimeout(closeTimeout))\n\nconst label = computed(() =>\n requiredSecurity.state === 'required'\n ? translate('authentication.required')\n : translate('authentication.optional'),\n)\n\nconst verb = computed(() =>\n requiredSecurity.state === 'required'\n ? translate('authentication.requires')\n : translate('authentication.accepts'),\n)\n\n/** Single group, single scheme — shown inline in the header. */\nconst isSingleScheme = computed(\n () =>\n requiredSecurity.requirements.length === 1 &&\n requiredSecurity.requirements[0]?.schemes.length === 1,\n)\n\n/** Single group with multiple schemes — all must be satisfied (AND). */\nconst isAndGroup = computed(\n () =>\n requiredSecurity.requirements.length === 1 &&\n (requiredSecurity.requirements[0]?.schemes.length ?? 0) > 1,\n)\n\n/** Multiple groups — any one group satisfies authentication (OR). */\nconst isOrAlternatives = computed(\n () => requiredSecurity.requirements.length > 1,\n)\n</script>\n\n<template>\n <ScalarFloating\n v-if=\"requiredSecurity.state !== 'none'\"\n placement=\"bottom-end\">\n <button\n ref=\"triggerRef\"\n class=\"security-requirement-badge inline-flex w-fit shrink-0 items-center justify-center gap-1 text-sm\"\n :class=\"\n requiredSecurity.state === 'optional'\n ? 'text-c-2'\n : 'text-c-1 font-medium'\n \"\n type=\"button\"\n :aria-expanded=\"isOpen\"\n aria-haspopup=\"dialog\"\n @click.stop=\"toggleOnClick\"\n @mouseenter=\"openOnHover\"\n @mouseleave=\"scheduleClose\">\n <ScalarIconLockSimple\n v-if=\"requiredSecurity.state === 'required'\"\n class=\"size-3\"\n weight=\"bold\" />\n <ScalarIconLockSimpleOpen\n v-else\n class=\"size-3\"\n weight=\"bold\" />\n <span v-if=\"!hideLabel\">{{ label }}</span>\n </button>\n <template #floating>\n <div\n v-if=\"isOpen\"\n ref=\"panelRef\"\n class=\"relative flex flex-col p-0.75\"\n @click.stop\n @mouseenter=\"cancelClose\"\n @mouseleave=\"scheduleClose\">\n <div class=\"flex max-w-xs min-w-48 flex-col gap-1.5 p-2 text-sm\">\n <div class=\"font-medium\">\n {{ verb }}\n <template v-if=\"isSingleScheme\">\n <SecurityRequirementBadgeScheme\n is=\"span\"\n class=\"contents\"\n :scheme=\"requiredSecurity.requirements[0]!.schemes[0]!\" />\n </template>\n <template v-else-if=\"isOrAlternatives\">\n {{ translate('authentication.oneOf') }}\n </template>\n <template v-else-if=\"isAndGroup\">\n {{ translate('authentication.allOf') }}\n </template>\n <template v-else>\n {{ translate('authentication.authentication') }}\n </template>\n </div>\n\n <!-- Multiple OR alternatives -->\n <ul\n v-if=\"isOrAlternatives\"\n class=\"contents\">\n <li\n v-for=\"(group, gi) in requiredSecurity.requirements\"\n :key=\"gi\"\n class=\"markdown\">\n <!-- Single scheme in this OR branch -->\n <SecurityRequirementBadgeScheme\n is=\"span\"\n v-if=\"group.schemes.length === 1\"\n class=\"contents\"\n :scheme=\"group.schemes[0]!\" />\n <!-- Multiple AND schemes in this OR branch -->\n <template v-else>\n <ul class=\"contents\">\n <SecurityRequirementBadgeScheme\n v-for=\"(scheme, si) in group.schemes\"\n :key=\"si\"\n :scheme />\n </ul>\n </template>\n </li>\n </ul>\n\n <!-- Single group, multiple AND schemes -->\n <ul\n v-else-if=\"isAndGroup\"\n class=\"contents\">\n <SecurityRequirementBadgeScheme\n v-for=\"(scheme, key) in requiredSecurity.requirements[0]!.schemes\"\n :key\n :scheme />\n </ul>\n </div>\n <ScalarFloatingBackdrop />\n </div>\n </template>\n </ScalarFloating>\n</template>\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Fragment, createBlock, createCommentVNode, createElementBlock, createTe
2
2
  //#region src/features/Operation/components/SecurityRequirementBadgeScheme.vue?vue&type=script&setup=true&lang.ts
3
3
  var _hoisted_1 = { key: 0 };
4
4
  var _hoisted_2 = { key: 1 };
5
- var SecurityRequirementBadgeScheme_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
5
+ var SecurityRequirementBadgeScheme_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
6
6
  __name: "SecurityRequirementBadgeScheme",
7
7
  props: {
8
8
  is: { default: "li" },
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityRequirementBadgeScheme.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/SecurityRequirementBadgeScheme.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Component } from 'vue'\n\nimport type { RequiredSecurityScheme } from '@/features/Operation/helpers/get-required-security'\n\nconst { is = 'li', scheme } = defineProps<{\n is?: Component | string\n scheme: RequiredSecurityScheme\n}>()\n</script>\n<template>\n <component\n :is\n class=\"markdown\">\n {{ scheme.name }}\n <code v-if=\"scheme.scheme?.type\">{{ scheme.scheme.type }}</code>\n <ul v-if=\"scheme.scopes.length\">\n <li\n v-for=\"scope in scheme.scopes\"\n :key=\"scope\"\n class=\"font-code text-c-2\">\n {{ scope }}\n </li>\n </ul>\n </component>\n</template>\n"],"mappings":";;;;;;;;;;;;uBAWE,YAaY,wBAZT,QAAA,GAAE,EAAA,EACH,OAAM,YAAU,EAAA;2BACC;qCAAd,QAAA,OAAO,KAAI,GAAG,KACjB,EAAA;KAAY,QAAA,OAAO,QAAQ,QAAA,WAAA,EAA3B,mBAAgE,QAAA,YAAA,gBAA5B,QAAA,OAAO,OAAO,KAAI,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;KAC5C,QAAA,OAAO,OAAO,UAAA,WAAA,EAAxB,mBAOK,MAAA,YAAA,EAAA,UAAA,KAAA,EANH,mBAKK,UAAA,MAAA,WAJa,QAAA,OAAO,SAAhB,UAAK;0BADd,mBAKK,MAAA;OAHF,KAAK;OACN,OAAM;yBACH,MAAK,EAAA,EAAA"}
1
+ {"version":3,"file":"SecurityRequirementBadgeScheme.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/SecurityRequirementBadgeScheme.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Component } from 'vue'\n\nimport type { RequiredSecurityScheme } from '@/features/Operation/helpers/get-required-security'\n\nconst { is = 'li', scheme } = defineProps<{\n is?: Component | string\n scheme: RequiredSecurityScheme\n}>()\n</script>\n<template>\n <component\n :is\n class=\"markdown\">\n {{ scheme.name }}\n <code v-if=\"scheme.scheme?.type\">{{ scheme.scheme.type }}</code>\n <ul v-if=\"scheme.scopes.length\">\n <li\n v-for=\"scope in scheme.scopes\"\n :key=\"scope\"\n class=\"font-code text-c-2\">\n {{ scope }}\n </li>\n </ul>\n </component>\n</template>\n"],"mappings":";;;;;;;;;;;;uBAWE,YAaY,wBAZT,QAAA,EAAE,GAAA,EACH,OAAM,WAAU,GAAA;2BACC;qCAAd,QAAA,OAAO,IAAI,IAAG,KACjB,CAAA;KAAY,QAAA,OAAO,QAAQ,QAAA,UAAA,GAA3B,mBAAgE,QAAA,YAAA,gBAA5B,QAAA,OAAO,OAAO,IAAI,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;KAC5C,QAAA,OAAO,OAAO,UAAA,UAAA,GAAxB,mBAOK,MAAA,YAAA,EAAA,UAAA,IAAA,GANH,mBAKK,UAAA,MAAA,WAJa,QAAA,OAAO,SAAhB,UAAK;0BADd,mBAKK,MAAA;OAHF,KAAK;OACN,OAAM;yBACH,KAAK,GAAA,CAAA"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_
2
2
  import Callback_vue_vue_type_script_setup_true_lang_default from "./Callback.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/features/Operation/components/callbacks/Callback.vue
5
- var Callback_default = /* @__PURE__ */ _plugin_vue_export_helper_default(Callback_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-474e6fa6"]]);
5
+ var Callback_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Callback_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-474e6fa6"]]);
6
6
  //#endregion
7
7
  export { Callback_default as default };
8
8
 
@@ -10,7 +10,7 @@ var _hoisted_2 = { class: "font-code bg-b-1 callback-sticky-offset callback-list
10
10
  var _hoisted_3 = { class: "text-c-1 min-w-0 flex-1 truncate text-sm leading-5 font-bold group-open:whitespace-normal" };
11
11
  var _hoisted_4 = { class: "text-c-2 font-normal" };
12
12
  var _hoisted_5 = { class: "callback-operation-container flex flex-col gap-2" };
13
- var Callback_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
13
+ var Callback_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
14
14
  __name: "Callback",
15
15
  props: {
16
16
  callback: {},
@@ -1 +1 @@
1
- {"version":3,"file":"Callback.vue.script.js","names":[],"sources":["../../../../../src/features/Operation/components/callbacks/Callback.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { ScalarIconCaretRight } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport {\n type OpenApiDocument,\n type OperationObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport OperationParameters from '@/features/Operation/components/OperationParameters.vue'\nimport OperationResponses from '@/features/Operation/components/OperationResponses.vue'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nconst { method, name, url, options, document } = defineProps<{\n callback: OperationObject\n method: HttpMethodType\n name: string\n url: string\n eventBus: WorkspaceEventBus | null\n /** The document the callback belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\n</script>\n\n<template>\n <details class=\"group callback-list-item\">\n <!-- Title -->\n <summary\n class=\"font-code bg-b-1 callback-sticky-offset callback-list-item-title sticky flex cursor-pointer flex-row items-start gap-2 border-t py-2.5 text-sm group-open:flex-wrap\">\n <ScalarIconCaretRight\n class=\"callback-list-item-icon text-c-3 group-hover:text-c-1 absolute top-3.5 -left-5 size-3 transition-transform duration-100 group-open:rotate-90\"\n weight=\"bold\" />\n <HttpMethod\n as=\"span\"\n class=\"request-method py-0.75 font-bold\"\n :method=\"method\" />\n <div\n class=\"text-c-1 min-w-0 flex-1 truncate text-sm leading-5 font-bold group-open:whitespace-normal\">\n {{ name }}\n <span class=\"text-c-2 font-normal\">\n {{ url }}\n </span>\n </div>\n </summary>\n\n <!-- Body -->\n <div class=\"callback-operation-container flex flex-col gap-2\">\n <OperationParameters\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"\n callback.parameters?.map((param) => getResolvedRef(param)) ?? []\n \"\n :requestBody=\"getResolvedRef(callback.requestBody)\" />\n\n <!-- Responses -->\n <OperationResponses\n :collapsableItems=\"false\"\n :document\n :eventBus\n :options\n :responses=\"callback.responses\" />\n </div>\n </details>\n</template>\n<style scoped>\n.callback-sticky-offset {\n top: var(--refs-viewport-offset, 0px);\n z-index: 1;\n}\n.callback-operation-container :deep(.request-body),\n.callback-operation-container :deep(.request-body-description),\n.callback-operation-container :deep(.request-body-header) {\n margin-top: 0;\n}\n.callback-operation-container :deep(.request-body-header) {\n --scalar-font-size-2: var(--scalar-font-size-4);\n padding: 10px;\n border-bottom: none;\n border: 0.5px solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-lg) var(--scalar-radius-lg) 0 0;\n background: color-mix(in srgb, var(--scalar-background-2) 50%, transparent);\n}\n.callback-operation-container\n :deep(.request-body-schema > .schema-card > .schema-card-description) {\n padding-inline: 8px;\n}\n.callback-operation-container :deep(ul li.property.property--level-1) {\n padding: 10px;\n}\n.callback-operation-container :deep(.request-body-schema) {\n background-color: var(--scalar-background-1);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-top: none;\n overflow: hidden;\n border-radius: 0 0 var(--scalar-radius-lg) var(--scalar-radius-lg);\n}\n.callback-operation-container :deep(.parameter-list) {\n margin-top: 0;\n}\n.callback-operation-container :deep(.parameter-list-title) {\n background: color-mix(in srgb, var(--scalar-background-2) 50%, transparent);\n border-radius: var(--scalar-radius-lg) var(--scalar-radius-lg) 0 0;\n padding: 10px;\n margin-bottom: 0;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-bottom: none;\n --scalar-font-size-2: var(--scalar-font-size-4);\n}\n.callback-operation-container :deep(.parameter-list-items) {\n /* background: pink; */\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: 0 0 var(--scalar-radius-lg) var(--scalar-radius-lg);\n}\n.callback-operation-container :deep(.parameter-list-items > li:first-of-type) {\n border-top: none;\n}\n.callback-operation-container :deep(.parameter-list-items > li) {\n padding: 0 8px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;uBAkCE,mBAuCU,WAvCV,YAuCU,CArCR,mBAgBU,WAhBV,YAgBU;IAdR,YAEkB,MAAA,qBAAA,EAAA;KADhB,OAAM;KACN,QAAO;;IACT,YAGqB,MAAA,mBAAA,EAAA;KAFnB,IAAG;KACH,OAAM;KACL,QAAQ,QAAA;;IACX,mBAMM,OANN,YAMM,CAAA,gBAAA,gBAJD,QAAA,KAAI,GAAG,KACV,EAAA,EAAA,mBAEO,QAFP,YAEO,gBADF,QAAA,IAAG,EAAA,EAAA,CAAA,CAAA;OAMZ,mBAiBM,OAjBN,YAiBM,CAhBJ,YAOwD,6BAAA;IANrD,UAAU,QAAA;IACV,UAAU,QAAA;IACV,SAAS,QAAA;IACT,YAAuB,QAAA,SAAS,YAAY,KAAK,UAAU,MAAA,eAAc,CAAC,MAAK,CAAA,IAAA,EAAA;IAG/E,aAAa,MAAA,eAAc,CAAC,QAAA,SAAS,YAAW;;;;;;;OAGnD,YAKoC,4BAAA;IAJjC,kBAAkB;IAClB,UAAA,QAAA;IACA,UAAA,QAAA;IACA,SAAA,QAAA;IACA,WAAW,QAAA,SAAS"}
1
+ {"version":3,"file":"Callback.vue.script.js","names":[],"sources":["../../../../../src/features/Operation/components/callbacks/Callback.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { HttpMethod as HttpMethodType } from '@scalar/helpers/http/http-methods'\nimport { ScalarIconCaretRight } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport {\n type OpenApiDocument,\n type OperationObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { HttpMethod } from '@/components/HttpMethod'\nimport OperationParameters from '@/features/Operation/components/OperationParameters.vue'\nimport OperationResponses from '@/features/Operation/components/OperationResponses.vue'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nconst { method, name, url, options, document } = defineProps<{\n callback: OperationObject\n method: HttpMethodType\n name: string\n url: string\n eventBus: WorkspaceEventBus | null\n /** The document the callback belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\n</script>\n\n<template>\n <details class=\"group callback-list-item\">\n <!-- Title -->\n <summary\n class=\"font-code bg-b-1 callback-sticky-offset callback-list-item-title sticky flex cursor-pointer flex-row items-start gap-2 border-t py-2.5 text-sm group-open:flex-wrap\">\n <ScalarIconCaretRight\n class=\"callback-list-item-icon text-c-3 group-hover:text-c-1 absolute top-3.5 -left-5 size-3 transition-transform duration-100 group-open:rotate-90\"\n weight=\"bold\" />\n <HttpMethod\n as=\"span\"\n class=\"request-method py-0.75 font-bold\"\n :method=\"method\" />\n <div\n class=\"text-c-1 min-w-0 flex-1 truncate text-sm leading-5 font-bold group-open:whitespace-normal\">\n {{ name }}\n <span class=\"text-c-2 font-normal\">\n {{ url }}\n </span>\n </div>\n </summary>\n\n <!-- Body -->\n <div class=\"callback-operation-container flex flex-col gap-2\">\n <OperationParameters\n :document=\"document\"\n :eventBus=\"eventBus\"\n :options=\"options\"\n :parameters=\"\n callback.parameters?.map((param) => getResolvedRef(param)) ?? []\n \"\n :requestBody=\"getResolvedRef(callback.requestBody)\" />\n\n <!-- Responses -->\n <OperationResponses\n :collapsableItems=\"false\"\n :document\n :eventBus\n :options\n :responses=\"callback.responses\" />\n </div>\n </details>\n</template>\n<style scoped>\n.callback-sticky-offset {\n top: var(--refs-viewport-offset, 0px);\n z-index: 1;\n}\n.callback-operation-container :deep(.request-body),\n.callback-operation-container :deep(.request-body-description),\n.callback-operation-container :deep(.request-body-header) {\n margin-top: 0;\n}\n.callback-operation-container :deep(.request-body-header) {\n --scalar-font-size-2: var(--scalar-font-size-4);\n padding: 10px;\n border-bottom: none;\n border: 0.5px solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-lg) var(--scalar-radius-lg) 0 0;\n background: color-mix(in srgb, var(--scalar-background-2) 50%, transparent);\n}\n.callback-operation-container\n :deep(.request-body-schema > .schema-card > .schema-card-description) {\n padding-inline: 8px;\n}\n.callback-operation-container :deep(ul li.property.property--level-1) {\n padding: 10px;\n}\n.callback-operation-container :deep(.request-body-schema) {\n background-color: var(--scalar-background-1);\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-top: none;\n overflow: hidden;\n border-radius: 0 0 var(--scalar-radius-lg) var(--scalar-radius-lg);\n}\n.callback-operation-container :deep(.parameter-list) {\n margin-top: 0;\n}\n.callback-operation-container :deep(.parameter-list-title) {\n background: color-mix(in srgb, var(--scalar-background-2) 50%, transparent);\n border-radius: var(--scalar-radius-lg) var(--scalar-radius-lg) 0 0;\n padding: 10px;\n margin-bottom: 0;\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-bottom: none;\n --scalar-font-size-2: var(--scalar-font-size-4);\n}\n.callback-operation-container :deep(.parameter-list-items) {\n /* background: pink; */\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: 0 0 var(--scalar-radius-lg) var(--scalar-radius-lg);\n}\n.callback-operation-container :deep(.parameter-list-items > li:first-of-type) {\n border-top: none;\n}\n.callback-operation-container :deep(.parameter-list-items > li) {\n padding: 0 8px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;uBAkCE,mBAuCU,WAvCV,YAuCU,CArCR,mBAgBU,WAhBV,YAgBU;IAdR,YAEkB,MAAA,oBAAA,GAAA;KADhB,OAAM;KACN,QAAO;;IACT,YAGqB,MAAA,kBAAA,GAAA;KAFnB,IAAG;KACH,OAAM;KACL,QAAQ,QAAA;;IACX,mBAMM,OANN,YAMM,CAAA,gBAAA,gBAJD,QAAA,IAAI,IAAG,KACV,CAAA,GAAA,mBAEO,QAFP,YAEO,gBADF,QAAA,GAAG,GAAA,CAAA,CAAA,CAAA;OAMZ,mBAiBM,OAjBN,YAiBM,CAhBJ,YAOwD,6BAAA;IANrD,UAAU,QAAA;IACV,UAAU,QAAA;IACV,SAAS,QAAA;IACT,YAAuB,QAAA,SAAS,YAAY,KAAK,UAAU,MAAA,cAAA,CAAc,CAAC,KAAK,CAAA,KAAA,CAAA;IAG/E,aAAa,MAAA,cAAA,CAAc,CAAC,QAAA,SAAS,WAAW;;;;;;;OAGnD,YAKoC,4BAAA;IAJjC,kBAAkB;IAClB,UAAA,QAAA;IACA,UAAA,QAAA;IACA,SAAA,QAAA;IACA,WAAW,QAAA,SAAS"}
@@ -8,7 +8,7 @@ import { objectEntries } from "@scalar/helpers/object/object-entries";
8
8
  var _hoisted_1 = ["aria-label"];
9
9
  var _hoisted_2 = { class: "callbacks-title text-c-1 my-3 text-lg font-medium" };
10
10
  /** Extract the callbacks with method, url, and name */
11
- var Callbacks_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
11
+ var Callbacks_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
12
12
  __name: "Callbacks",
13
13
  props: {
14
14
  path: {},
@@ -1 +1 @@
1
- {"version":3,"file":"Callbacks.vue.script.js","names":[],"sources":["../../../../../src/features/Operation/components/callbacks/Callbacks.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { isHttpMethod } from '@scalar/helpers/http/is-http-method'\nimport { objectEntries } from '@scalar/helpers/object/object-entries'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n CallbackObject,\n OpenApiDocument,\n OperationObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport Callback from './Callback.vue'\n\nconst { path, callbacks, options } = defineProps<{\n path: string\n callbacks: CallbackObject\n eventBus: WorkspaceEventBus | null\n /** The document the callbacks belong to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\nconst { translate } = useLocalization()\n\ntype CallbackType = {\n name: string\n url: string\n method: HttpMethod\n callback: OperationObject\n}\n\n/** Extract the callbacks with method, url, and name */\nconst flattenedCallbacks = computed<CallbackType[]>(() => {\n const _callbacks: CallbackType[] = []\n\n // Loop over the name level\n objectEntries(callbacks).forEach(([name, pathItem]) => {\n // Loop over the url level\n objectEntries(getResolvedRef(pathItem)).forEach(([url, methods]) => {\n if (typeof methods !== 'object' || !methods) {\n return\n }\n\n // Loop over the method level\n objectEntries(methods).forEach(([callbackMethod, callback]) => {\n if (!isHttpMethod(callbackMethod)) {\n return\n }\n\n _callbacks.push({\n name,\n url,\n method: callbackMethod,\n callback: callback,\n })\n })\n })\n })\n\n return _callbacks\n})\n</script>\n\n<template>\n <div\n :aria-label=\"translate('operation.callbacks')\"\n class=\"callbacks-list gap-3\"\n role=\"group\">\n <div class=\"callbacks-title text-c-1 my-3 text-lg font-medium\">\n {{ translate('operation.callbacks') }}\n </div>\n <Callback\n v-for=\"{ callback, method, name, url } in flattenedCallbacks\"\n :key=\"`${name}-${url}-${method}`\"\n :callback\n :document\n :eventBus\n :method\n :name\n :options\n :path\n :url />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAgCA,MAAM,EAAE,cAAc,iBAAgB;EAUtC,MAAM,qBAAqB,eAA+B;GACxD,MAAM,aAA6B,EAAC;AAGpC,iBAAc,QAAA,UAAU,CAAC,SAAS,CAAC,MAAM,cAAc;AAErD,kBAAc,eAAe,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,aAAa;AAClE,SAAI,OAAO,YAAY,YAAY,CAAC,QAClC;AAIF,mBAAc,QAAQ,CAAC,SAAS,CAAC,gBAAgB,cAAc;AAC7D,UAAI,CAAC,aAAa,eAAe,CAC/B;AAGF,iBAAW,KAAK;OACd;OACA;OACA,QAAQ;OACE;OACX,CAAA;OACF;MACF;KACF;AAED,UAAO;IACR;;uBAIC,mBAkBM,OAAA;IAjBH,cAAY,MAAA,UAAS,CAAA,sBAAA;IACtB,OAAM;IACN,MAAK;OACL,mBAEM,OAFN,YAEM,gBADD,MAAA,UAAS,CAAA,sBAAA,CAAA,EAAA,EAAA,GAAA,UAAA,KAAA,EAEd,mBAUS,UAAA,MAAA,WATmC,mBAAA,QAAkB,EAAnD,UAAU,QAAQ,MAAM,UAAG;wBADtC,YAUS,kBAAA;KARN,KAAG,GAAK,KAAI,GAAI,IAAG,GAAI;KACvB;KACA,UAAA,QAAA;KACA,UAAA,QAAA;KACA;KACA;KACA,SAAA,QAAA;KACA,MAAA,QAAA;KACA"}
1
+ {"version":3,"file":"Callbacks.vue.script.js","names":[],"sources":["../../../../../src/features/Operation/components/callbacks/Callbacks.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { isHttpMethod } from '@scalar/helpers/http/is-http-method'\nimport { objectEntries } from '@scalar/helpers/object/object-entries'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n CallbackObject,\n OpenApiDocument,\n OperationObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { useLocalization } from '@/features/localization'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\n\nimport Callback from './Callback.vue'\n\nconst { path, callbacks, options } = defineProps<{\n path: string\n callbacks: CallbackObject\n eventBus: WorkspaceEventBus | null\n /** The document the callbacks belong to, used to resolve schema references for display */\n document?: OpenApiDocument\n options: Pick<\n OperationProps['options'],\n | 'hideModels'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n >\n}>()\nconst { translate } = useLocalization()\n\ntype CallbackType = {\n name: string\n url: string\n method: HttpMethod\n callback: OperationObject\n}\n\n/** Extract the callbacks with method, url, and name */\nconst flattenedCallbacks = computed<CallbackType[]>(() => {\n const _callbacks: CallbackType[] = []\n\n // Loop over the name level\n objectEntries(callbacks).forEach(([name, pathItem]) => {\n // Loop over the url level\n objectEntries(getResolvedRef(pathItem)).forEach(([url, methods]) => {\n if (typeof methods !== 'object' || !methods) {\n return\n }\n\n // Loop over the method level\n objectEntries(methods).forEach(([callbackMethod, callback]) => {\n if (!isHttpMethod(callbackMethod)) {\n return\n }\n\n _callbacks.push({\n name,\n url,\n method: callbackMethod,\n callback: callback,\n })\n })\n })\n })\n\n return _callbacks\n})\n</script>\n\n<template>\n <div\n :aria-label=\"translate('operation.callbacks')\"\n class=\"callbacks-list gap-3\"\n role=\"group\">\n <div class=\"callbacks-title text-c-1 my-3 text-lg font-medium\">\n {{ translate('operation.callbacks') }}\n </div>\n <Callback\n v-for=\"{ callback, method, name, url } in flattenedCallbacks\"\n :key=\"`${name}-${url}-${method}`\"\n :callback\n :document\n :eventBus\n :method\n :name\n :options\n :path\n :url />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAgCA,MAAM,EAAE,cAAc,gBAAgB;EAUtC,MAAM,qBAAqB,eAA+B;GACxD,MAAM,aAA6B,CAAC;GAGpC,cAAc,QAAA,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,cAAc;IAErD,cAAc,eAAe,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,aAAa;KAClE,IAAI,OAAO,YAAY,YAAY,CAAC,SAClC;KAIF,cAAc,OAAO,CAAC,CAAC,SAAS,CAAC,gBAAgB,cAAc;MAC7D,IAAI,CAAC,aAAa,cAAc,GAC9B;MAGF,WAAW,KAAK;OACd;OACA;OACA,QAAQ;OACE;MACZ,CAAC;KACH,CAAC;IACH,CAAC;GACH,CAAC;GAED,OAAO;EACT,CAAC;;uBAIC,mBAkBM,OAAA;IAjBH,cAAY,MAAA,SAAA,CAAS,CAAA,qBAAA;IACtB,OAAM;IACN,MAAK;OACL,mBAEM,OAFN,YAEM,gBADD,MAAA,SAAA,CAAS,CAAA,qBAAA,CAAA,GAAA,CAAA,IAAA,UAAA,IAAA,GAEd,mBAUS,UAAA,MAAA,WATmC,mBAAA,QAAkB,EAAnD,UAAU,QAAQ,MAAM,UAAG;wBADtC,YAUS,kBAAA;KARN,KAAG,GAAK,KAAI,GAAI,IAAG,GAAI;KACvB;KACA,UAAA,QAAA;KACA,UAAA,QAAA;KACA;KACA;KACA,SAAA,QAAA;KACA,MAAA,QAAA;KACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-parameter-examples.js","names":[],"sources":["../../../../../src/features/Operation/components/helpers/get-parameter-examples.ts"],"sourcesContent":["import type { ParameterObject, ResponseObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { isObjectLike } from '@scalar/helpers/object/is-object'\n\nconst filterUndefined = (example: unknown): example is unknown => example !== undefined\n\ntype GetParameterExamplesArgs = {\n parameter: ParameterObject | ResponseObject\n schemaExamples?: unknown[]\n contentExamples?: unknown\n}\n\n/**\n * Build a normalized examples array from parameter/content/schema examples.\n * Undefined values are removed so the UI does not render \"undefined\" entries.\n */\nexport const getParameterExamples = ({\n parameter,\n schemaExamples,\n contentExamples,\n}: GetParameterExamplesArgs): unknown[] => {\n const paramExamples = 'examples' in parameter && isObjectLike(parameter.examples) ? parameter.examples : {}\n\n const recordExamples = Object.values({\n ...paramExamples,\n ...(isObjectLike(contentExamples) ? contentExamples : {}),\n }).filter(filterUndefined)\n\n const fallbackExample =\n recordExamples.length === 0 && 'example' in parameter && parameter.example !== undefined ? [parameter.example] : []\n\n const arrayExamples = (schemaExamples ?? fallbackExample).filter(filterUndefined)\n\n return [...recordExamples, ...arrayExamples]\n}\n"],"mappings":";;AAGA,IAAM,mBAAmB,YAAyC,YAAY,KAAA;;;;;AAY9E,IAAa,wBAAwB,EACnC,WACA,gBACA,sBACyC;CACzC,MAAM,gBAAgB,cAAc,aAAa,aAAa,UAAU,SAAS,GAAG,UAAU,WAAW,EAAE;CAE3G,MAAM,iBAAiB,OAAO,OAAO;EACnC,GAAG;EACH,GAAI,aAAa,gBAAgB,GAAG,kBAAkB,EAAE;EACzD,CAAC,CAAC,OAAO,gBAAgB;CAE1B,MAAM,kBACJ,eAAe,WAAW,KAAK,aAAa,aAAa,UAAU,YAAY,KAAA,IAAY,CAAC,UAAU,QAAQ,GAAG,EAAE;CAErH,MAAM,iBAAiB,kBAAkB,iBAAiB,OAAO,gBAAgB;AAEjF,QAAO,CAAC,GAAG,gBAAgB,GAAG,cAAc"}
1
+ {"version":3,"file":"get-parameter-examples.js","names":[],"sources":["../../../../../src/features/Operation/components/helpers/get-parameter-examples.ts"],"sourcesContent":["import type { ParameterObject, ResponseObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { isObjectLike } from '@scalar/helpers/object/is-object'\n\nconst filterUndefined = (example: unknown): example is unknown => example !== undefined\n\ntype GetParameterExamplesArgs = {\n parameter: ParameterObject | ResponseObject\n schemaExamples?: unknown[]\n contentExamples?: unknown\n}\n\n/**\n * Build a normalized examples array from parameter/content/schema examples.\n * Undefined values are removed so the UI does not render \"undefined\" entries.\n */\nexport const getParameterExamples = ({\n parameter,\n schemaExamples,\n contentExamples,\n}: GetParameterExamplesArgs): unknown[] => {\n const paramExamples = 'examples' in parameter && isObjectLike(parameter.examples) ? parameter.examples : {}\n\n const recordExamples = Object.values({\n ...paramExamples,\n ...(isObjectLike(contentExamples) ? contentExamples : {}),\n }).filter(filterUndefined)\n\n const fallbackExample =\n recordExamples.length === 0 && 'example' in parameter && parameter.example !== undefined ? [parameter.example] : []\n\n const arrayExamples = (schemaExamples ?? fallbackExample).filter(filterUndefined)\n\n return [...recordExamples, ...arrayExamples]\n}\n"],"mappings":";;AAGA,IAAM,mBAAmB,YAAyC,YAAY,KAAA;;;;;AAY9E,IAAa,wBAAwB,EACnC,WACA,gBACA,sBACyC;CACzC,MAAM,gBAAgB,cAAc,aAAa,aAAa,UAAU,QAAQ,IAAI,UAAU,WAAW,CAAC;CAE1G,MAAM,iBAAiB,OAAO,OAAO;EACnC,GAAG;EACH,GAAI,aAAa,eAAe,IAAI,kBAAkB,CAAC;CACzD,CAAC,CAAC,CAAC,OAAO,eAAe;CAEzB,MAAM,kBACJ,eAAe,WAAW,KAAK,aAAa,aAAa,UAAU,YAAY,KAAA,IAAY,CAAC,UAAU,OAAO,IAAI,CAAC;CAEpH,MAAM,iBAAiB,kBAAkB,gBAAA,CAAiB,OAAO,eAAe;CAEhF,OAAO,CAAC,GAAG,gBAAgB,GAAG,aAAa;AAC7C"}