@scalar/api-reference 1.64.1 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/browser/chunks/{AgentScalarChatInterface-D1mzA447.js → AgentScalarChatInterface-2lNB6wO-.js} +4 -4
  3. package/dist/browser/chunks/ScalarTextInput.vue-DVmXRWbS.js +27 -0
  4. package/dist/browser/chunks/basic-shape-diamond.svg-o5eiY2I7.js +1 -1
  5. package/dist/browser/chunks/basic-shape-hexagon.svg-CGuS7mbd.js +1 -1
  6. package/dist/browser/chunks/basic-shape-primary-circle-ellipse-round.svg-DDIpXiBm.js +1 -1
  7. package/dist/browser/chunks/basic-shape-primary-square-rectangle.svg-DzVEJHMB.js +1 -1
  8. package/dist/browser/chunks/basic-shape-shield.svg-BZzapRqv.js +1 -1
  9. package/dist/browser/chunks/browser-CTPPEMEL.js +1 -1
  10. package/dist/browser/chunks/computer-device-desktop-monitor.svg-OSM05r1I.js +1 -1
  11. package/dist/browser/chunks/computer-device-desktop.svg-BMFzGZ27.js +1 -1
  12. package/dist/browser/chunks/computer-device-laptop.svg-CMAjzuB-.js +1 -1
  13. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung-back.svg-D4xBONmL.js +1 -1
  14. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung.svg-gbMJLjJw.js +1 -1
  15. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x-back.svg-Bl1rmdKA.js +1 -1
  16. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x.svg-DVetP0aa.js +1 -1
  17. package/dist/browser/chunks/computer-device-mobile-tablet-touch.svg-Zi88BP4L.js +1 -1
  18. package/dist/browser/chunks/computer-device-mobile-tablet.svg-C1ggisWP.js +1 -1
  19. package/dist/browser/chunks/computer-device-network-ethernet-cat6.svg-BIUymdC1.js +1 -1
  20. package/dist/browser/chunks/computer-device-network-lan-www.svg-CoFUlIVO.js +1 -1
  21. package/dist/browser/chunks/computer-device-network-wifi-connection.svg-DeWsacxI.js +1 -1
  22. package/dist/browser/chunks/computer-device-network-wifi-router.svg-BjpZEot4.js +1 -1
  23. package/dist/browser/chunks/ecology-science-erlenmeyer-flask.svg-ftjGGirE.js +1 -1
  24. package/dist/browser/chunks/image-flash-lightning.svg-DYQ0W4Fi.js +1 -1
  25. package/dist/browser/chunks/image-picture-flower.svg-Bfe5SVDf.js +1 -1
  26. package/dist/browser/chunks/interface-alert-exclamation-diamond.svg-D1HePDNM.js +1 -1
  27. package/dist/browser/chunks/interface-alert-exclamation-triangle-warning.svg-CILUsxBC.js +1 -1
  28. package/dist/browser/chunks/interface-alert-information-circle.svg-9LrbJM5J.js +1 -1
  29. package/dist/browser/chunks/interface-award-crown.svg-DllWgiU1.js +1 -1
  30. package/dist/browser/chunks/interface-bookmark-tag.svg-Dc-JL-Kc.js +1 -1
  31. package/dist/browser/chunks/interface-bookmark.svg-Dc-JL-Kc.js +1 -1
  32. package/dist/browser/chunks/interface-calendar-date-one.svg-DO2jelhF.js +1 -1
  33. package/dist/browser/chunks/interface-content-book-open-pages.svg-BJjMjIgA.js +1 -1
  34. package/dist/browser/chunks/interface-content-book-page.svg-C6rKB2fs.js +1 -1
  35. package/dist/browser/chunks/interface-content-file.svg-CS0q2FKx.js +1 -1
  36. package/dist/browser/chunks/interface-content-folder.svg-CThTWsJX.js +1 -1
  37. package/dist/browser/chunks/interface-copy-clipboard.svg-DdN67cLv.js +1 -1
  38. package/dist/browser/chunks/interface-edit-attachment.svg-Ciizphuh.js +1 -1
  39. package/dist/browser/chunks/interface-edit-binocular.svg-Dw1nDqmL.js +1 -1
  40. package/dist/browser/chunks/interface-edit-magic-wand.svg-BYS0jm_E.js +1 -1
  41. package/dist/browser/chunks/interface-edit-tool-paint-roller.svg-NioSHZC2.js +1 -1
  42. package/dist/browser/chunks/interface-edit-tool-pencil.svg-P87QFlat.js +1 -1
  43. package/dist/browser/chunks/interface-favorite-award.svg-DBBAChSi.js +1 -1
  44. package/dist/browser/chunks/interface-favorite-flag.svg-HlhPomHY.js +1 -1
  45. package/dist/browser/chunks/interface-favorite-heart.svg-Cqu2GYDo.js +1 -1
  46. package/dist/browser/chunks/interface-favorite-star.svg-BD4JY_J2.js +1 -1
  47. package/dist/browser/chunks/interface-favorite-stars-sparkles.svg-BXi6aO8q.js +1 -1
  48. package/dist/browser/chunks/interface-hierarchy-flowchart.svg-CDEVSsD4.js +1 -1
  49. package/dist/browser/chunks/interface-home-house.svg-DJetUjwj.js +1 -1
  50. package/dist/browser/chunks/interface-hyperlink.svg-DJ1LREmz.js +1 -1
  51. package/dist/browser/chunks/interface-lighting-brightness.svg-TGKAaHYV.js +1 -1
  52. package/dist/browser/chunks/interface-lock-closed.svg-3hehWr3i.js +1 -1
  53. package/dist/browser/chunks/interface-lock-open-unlock.svg-CuXKcv1m.js +1 -1
  54. package/dist/browser/chunks/interface-login-key.svg-Chwvvywd.js +1 -1
  55. package/dist/browser/chunks/interface-search.svg-JDE3fk0u.js +1 -1
  56. package/dist/browser/chunks/interface-setting-cog.svg-BBCkeh4K.js +1 -1
  57. package/dist/browser/chunks/interface-share-megaphone-bullhorn.svg-CDdxF-4y.js +1 -1
  58. package/dist/browser/chunks/interface-share-rocket.svg-DSbdn_o7.js +1 -1
  59. package/dist/browser/chunks/interface-share-satellite.svg-CefBVZvY.js +1 -1
  60. package/dist/browser/chunks/interface-share-space-ship.svg-tFA2dsSU.js +1 -1
  61. package/dist/browser/chunks/interface-share.svg-BpOGopyv.js +1 -1
  62. package/dist/browser/chunks/interface-signal-square.svg-BcX_BoaC.js +1 -1
  63. package/dist/browser/chunks/interface-time-clock-circle.svg-C8B_L_RM.js +1 -1
  64. package/dist/browser/chunks/interface-time-hour-glass.svg-qw-oeoVn.js +1 -1
  65. package/dist/browser/chunks/interface-users-multiple.svg-Cs13Eewq.js +1 -1
  66. package/dist/browser/chunks/interface-weather-moon.svg-CV-oDTae.js +1 -1
  67. package/dist/browser/chunks/mail-chat-bubble-square.svg-dpauJhin.js +1 -1
  68. package/dist/browser/chunks/mail-send-email-paper-airplane.svg-BBofxojL.js +1 -1
  69. package/dist/browser/chunks/mail-send-envelope.svg-DyENgYOI.js +1 -1
  70. package/dist/browser/chunks/modal-70ibkEHi.js +102 -0
  71. package/dist/browser/chunks/money-cashier-receipt.svg-dNTr5aio.js +1 -1
  72. package/dist/browser/chunks/money-currency-dollar-pay.svg-1ZESPtFY.js +1 -1
  73. package/dist/browser/chunks/money-graph-arrow-increase.svg-kEZ2u2z2.js +1 -1
  74. package/dist/browser/chunks/money-graph-bar-chart-increase.svg-B-t2UWB3.js +1 -1
  75. package/dist/browser/chunks/nature-ecology-leaf.svg-DZ2GJV8m.js +1 -1
  76. package/dist/browser/chunks/phone-telephone.svg-C12QjpN7.js +1 -1
  77. package/dist/browser/chunks/programming-bug.svg-wLTsruN9.js +1 -1
  78. package/dist/browser/chunks/programming-cloud.svg-3XU6dNUg.js +1 -1
  79. package/dist/browser/chunks/programming-computer-database-server.svg-B1JrHSPd.js +1 -1
  80. package/dist/browser/chunks/programming-computer-database.svg-BxHSuFl7.js +1 -1
  81. package/dist/browser/chunks/programming-module-four-layout.svg-CeV35q45.js +1 -1
  82. package/dist/browser/chunks/programming-module-three.svg-YIBpLt45.js +1 -1
  83. package/dist/browser/chunks/programming-module.svg-CU_pEibI.js +1 -1
  84. package/dist/browser/chunks/programming-script-code.svg-CLzinmHT.js +1 -1
  85. package/dist/browser/chunks/runtime-core.esm-bundler-CqqEw5ds.js +1 -1
  86. package/dist/browser/chunks/shopping-cart.svg-Brzddu3K.js +1 -1
  87. package/dist/browser/chunks/shopping-gift-present.svg-l2K48g7L.js +1 -1
  88. package/dist/browser/chunks/shopping-shipping-box-parcel-package.svg-DesGopPo.js +1 -1
  89. package/dist/browser/chunks/tag-new-circle.svg-DE-VaLZU.js +1 -1
  90. package/dist/browser/chunks/travel-map-earth-globe.svg-DLaOMzx6.js +1 -1
  91. package/dist/browser/chunks/vendor-BcTep96u.js +306 -0
  92. package/dist/browser/standalone.esm.js +20 -20
  93. package/dist/browser/standalone.js +235 -232
  94. package/dist/components/AgentScalar/OpenMCPButton.vue.d.ts.map +1 -1
  95. package/dist/components/AgentScalar/OpenMCPButton.vue.js +1 -1
  96. package/dist/components/AgentScalar/OpenMCPButton.vue.js.map +1 -1
  97. package/dist/components/AgentScalar/OpenMCPButton.vue.script.js.map +1 -1
  98. package/dist/components/ApiReference.vue.d.ts.map +1 -1
  99. package/dist/components/ApiReference.vue.js +1 -1
  100. package/dist/components/ApiReference.vue.js.map +1 -1
  101. package/dist/components/ApiReference.vue.script.js +8 -8
  102. package/dist/components/ApiReference.vue.script.js.map +1 -1
  103. package/dist/components/Content/AsyncApi/index.d.ts +3 -0
  104. package/dist/components/Content/AsyncApi/index.d.ts.map +1 -1
  105. package/dist/components/Content/Schema/SchemaProperty.vue.d.ts.map +1 -1
  106. package/dist/components/Content/Schema/SchemaProperty.vue.js +1 -1
  107. package/dist/components/Content/Schema/SchemaProperty.vue.js.map +1 -1
  108. package/dist/components/Content/Schema/SchemaProperty.vue.script.js +5 -0
  109. package/dist/components/Content/Schema/SchemaProperty.vue.script.js.map +1 -1
  110. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts +6 -0
  111. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts.map +1 -1
  112. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js +1 -1
  113. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js.map +1 -1
  114. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js +5 -1
  115. package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js.map +1 -1
  116. package/dist/components/Content/Schema/helpers/get-ref-name.d.ts +16 -0
  117. package/dist/components/Content/Schema/helpers/get-ref-name.d.ts.map +1 -1
  118. package/dist/components/Content/Schema/helpers/get-ref-name.js +28 -1
  119. package/dist/components/Content/Schema/helpers/get-ref-name.js.map +1 -1
  120. package/dist/components/Content/Schema/helpers/is-model-linkable.d.ts +15 -0
  121. package/dist/components/Content/Schema/helpers/is-model-linkable.d.ts.map +1 -0
  122. package/dist/components/Content/Schema/helpers/is-model-linkable.js +22 -0
  123. package/dist/components/Content/Schema/helpers/is-model-linkable.js.map +1 -0
  124. package/dist/components/Content/Schema/helpers/schema-name.d.ts +6 -1
  125. package/dist/components/Content/Schema/helpers/schema-name.d.ts.map +1 -1
  126. package/dist/components/Content/Schema/helpers/schema-name.js +5 -4
  127. package/dist/components/Content/Schema/helpers/schema-name.js.map +1 -1
  128. package/dist/components/Content/Schema/types.d.ts +7 -0
  129. package/dist/components/Content/Schema/types.d.ts.map +1 -1
  130. package/dist/components/index.d.ts +1 -0
  131. package/dist/components/index.d.ts.map +1 -1
  132. package/dist/components/index.js +5 -1
  133. package/dist/features/Operation/components/Header.vue.d.ts +2 -0
  134. package/dist/features/Operation/components/Header.vue.d.ts.map +1 -1
  135. package/dist/features/Operation/components/Header.vue.js.map +1 -1
  136. package/dist/features/Operation/components/Header.vue.script.js +3 -1
  137. package/dist/features/Operation/components/Header.vue.script.js.map +1 -1
  138. package/dist/features/Operation/components/Headers.vue.d.ts +2 -0
  139. package/dist/features/Operation/components/Headers.vue.d.ts.map +1 -1
  140. package/dist/features/Operation/components/Headers.vue.js +1 -1
  141. package/dist/features/Operation/components/Headers.vue.js.map +1 -1
  142. package/dist/features/Operation/components/Headers.vue.script.js +4 -1
  143. package/dist/features/Operation/components/Headers.vue.script.js.map +1 -1
  144. package/dist/features/Operation/components/OperationParameters.vue.d.ts.map +1 -1
  145. package/dist/features/Operation/components/OperationParameters.vue.js.map +1 -1
  146. package/dist/features/Operation/components/OperationParameters.vue.script.js +2 -2
  147. package/dist/features/Operation/components/OperationParameters.vue.script.js.map +1 -1
  148. package/dist/features/Operation/components/ParameterListItem.vue.d.ts.map +1 -1
  149. package/dist/features/Operation/components/ParameterListItem.vue.js +1 -1
  150. package/dist/features/Operation/components/ParameterListItem.vue.js.map +1 -1
  151. package/dist/features/Operation/components/ParameterListItem.vue.script.js +3 -0
  152. package/dist/features/Operation/components/ParameterListItem.vue.script.js.map +1 -1
  153. package/dist/features/Operation/components/RequestBody.vue.d.ts.map +1 -1
  154. package/dist/features/Operation/components/RequestBody.vue.js +1 -1
  155. package/dist/features/Operation/components/RequestBody.vue.js.map +1 -1
  156. package/dist/features/Operation/components/RequestBody.vue.script.js +10 -1
  157. package/dist/features/Operation/components/RequestBody.vue.script.js.map +1 -1
  158. package/dist/features/Search/components/SearchResult.vue.d.ts.map +1 -1
  159. package/dist/features/Search/components/SearchResult.vue.js.map +1 -1
  160. package/dist/features/Search/components/SearchResult.vue.script.js +2 -2
  161. package/dist/features/Search/components/SearchResult.vue.script.js.map +1 -1
  162. package/dist/helpers/build-models-index.d.ts +15 -0
  163. package/dist/helpers/build-models-index.d.ts.map +1 -0
  164. package/dist/helpers/build-models-index.js +28 -0
  165. package/dist/helpers/build-models-index.js.map +1 -0
  166. package/dist/helpers/storage.d.ts +16 -0
  167. package/dist/helpers/storage.d.ts.map +1 -1
  168. package/dist/style.css +418 -409
  169. package/dist/vue-styles.css +370 -361
  170. package/package.json +12 -12
  171. package/dist/browser/chunks/ScalarTextInput.vue-OfiA6SHf.js +0 -27
  172. package/dist/browser/chunks/modal-BS4e2gew.js +0 -99
  173. package/dist/browser/chunks/vendor-DWZAEyBy.js +0 -306
  174. package/dist/features/Operation/helpers/should-ignore-entity.d.ts +0 -8
  175. package/dist/features/Operation/helpers/should-ignore-entity.d.ts.map +0 -1
  176. package/dist/features/Operation/helpers/should-ignore-entity.js +0 -9
  177. package/dist/features/Operation/helpers/should-ignore-entity.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Content/Schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAEnG;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,yBAAyB,CAAC,yBAAyB,CAAC,CAAA;IAC9E,sCAAsC;IACtC,4BAA4B,CAAC,EAAE,yBAAyB,CAAC,8BAA8B,CAAC,CAAA;IACxF,wFAAwF;IACxF,yBAAyB,CAAC,EAAE,yBAAyB,CAAC,2BAA2B,CAAC,CAAA;IAClF;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Content/Schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAEnG;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,yBAAyB,CAAC,yBAAyB,CAAC,CAAA;IAC9E,sCAAsC;IACtC,4BAA4B,CAAC,EAAE,yBAAyB,CAAC,8BAA8B,CAAC,CAAA;IACxF,wFAAwF;IACxF,yBAAyB,CAAC,EAAE,yBAAyB,CAAC,2BAA2B,CAAC,CAAA;IAClF;;;;;OAKG;IACH,UAAU,CAAC,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAA;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;CAC3B,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export { default as ClassicHeader } from './ClassicHeader.vue.js';
2
2
  export { Content, Model, Models, Schema, SchemaHeading, SchemaObjectExampleCodeBlock, SchemaProperty, Tag, TraversedEntry, } from './Content';
3
+ export { AsyncApiChannel, AsyncApiMessage, AsyncApiOperation, AsyncApiTraversedEntry } from './Content/AsyncApi';
3
4
  export { Auth } from './Content/Auth';
4
5
  export { default as ApiReferenceContent } from './Content/Content.vue.js';
5
6
  export { HttpMethod } from './HttpMethod';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EACL,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,4BAA4B,EAC5B,cAAc,EACd,GAAG,EACH,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EACL,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,4BAA4B,EAC5B,cAAc,EACd,GAAG,EACH,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
@@ -10,6 +10,10 @@ import HttpMethod_default from "./HttpMethod/HttpMethod.vue.js";
10
10
  import OperationsList_default from "./OperationsList/OperationsList.vue.js";
11
11
  import Tag_default from "./Content/Tags/Tag.vue.js";
12
12
  import Lazy_default from "./Lazy/Lazy.vue.js";
13
+ import Message_default from "./Content/AsyncApi/Message.vue.js";
14
+ import Operation_default from "./Content/AsyncApi/Operation.vue.js";
15
+ import Channel_default from "./Content/AsyncApi/Channel.vue.js";
16
+ import AsyncApiTraversedEntry_default from "./Content/AsyncApi/AsyncApiTraversedEntry.vue.js";
13
17
  import Auth_default from "./Content/Auth/Auth.vue.js";
14
18
  import TraversedEntry_default from "./Content/Operations/TraversedEntry.vue.js";
15
19
  import RenderPlugins_default from "./RenderPlugins/RenderPlugins.vue.js";
@@ -17,4 +21,4 @@ import SectionFlare_default from "./SectionFlare/SectionFlare.vue.js";
17
21
  import Content_default from "./Content/Content.vue.js";
18
22
  import MobileHeader_default from "./MobileHeader.vue.js";
19
23
  import IntersectionObserver_default from "./IntersectionObserver.vue.js";
20
- export { Content_default as ApiReferenceContent, Auth_default as Auth, ClassicHeader_default as ClassicHeader, Content_default as Content, HttpMethod_default as HttpMethod, IntersectionObserver_default as IntersectionObserver, Lazy_default as Lazy, MobileHeader_default as MobileHeader, Model_default as Model, ModelTag_default as Models, OperationsList_default as OperationsList, RenderPlugins_default as RenderPlugins, Schema_default as Schema, SchemaHeading_default as SchemaHeading, SchemaObjectExampleCodeBlock_default as SchemaObjectExampleCodeBlock, SchemaProperty_default as SchemaProperty, SectionContainer_default as SectionContainer, SectionFlare_default as SectionFlare, Tag_default as Tag, TraversedEntry_default as TraversedEntry };
24
+ export { Content_default as ApiReferenceContent, Channel_default as AsyncApiChannel, Message_default as AsyncApiMessage, Operation_default as AsyncApiOperation, AsyncApiTraversedEntry_default as AsyncApiTraversedEntry, Auth_default as Auth, ClassicHeader_default as ClassicHeader, Content_default as Content, HttpMethod_default as HttpMethod, IntersectionObserver_default as IntersectionObserver, Lazy_default as Lazy, MobileHeader_default as MobileHeader, Model_default as Model, ModelTag_default as Models, OperationsList_default as OperationsList, RenderPlugins_default as RenderPlugins, Schema_default as Schema, SchemaHeading_default as SchemaHeading, SchemaObjectExampleCodeBlock_default as SchemaObjectExampleCodeBlock, SchemaProperty_default as SchemaProperty, SectionContainer_default as SectionContainer, SectionFlare_default as SectionFlare, Tag_default as Tag, TraversedEntry_default as TraversedEntry };
@@ -10,6 +10,8 @@ type __VLS_Props = {
10
10
  orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined;
11
11
  orderRequiredPropertiesFirst: boolean | undefined;
12
12
  expandAllSchemaProperties: boolean | undefined;
13
+ /** Whether the models section is hidden, so model names render as plain text instead of links */
14
+ hideModels: boolean | undefined;
13
15
  };
14
16
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
17
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/Header.vue"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,8DAA8D,CAAA;AAIrE,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,uBAAuB,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,4BAA4B,EAAE,OAAO,GAAG,SAAS,CAAA;IACjD,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/C,CAAC;AAiEF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"Header.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/Header.vue"],"names":[],"mappings":"AAoDA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,8DAA8D,CAAA;AAIrE,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,uBAAuB,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,4BAA4B,EAAE,OAAO,GAAG,SAAS,CAAA;IACjD,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,iGAAiG;IACjG,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;CAChC,CAAC;AAoEF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.js","names":[],"sources":["../../../../src/features/Operation/components/Header.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n HeaderObject,\n OpenApiDocument,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\n\nconst {\n name,\n header,\n breadcrumb,\n document,\n orderSchemaPropertiesBy,\n orderRequiredPropertiesFirst,\n expandAllSchemaProperties,\n} = defineProps<{\n header: HeaderObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n /** The document the header belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n orderRequiredPropertiesFirst: boolean | undefined\n expandAllSchemaProperties: boolean | undefined\n}>()\n</script>\n<template>\n <SchemaProperty\n v-if=\"'schema' in header && header.schema\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :description=\"header.description\"\n :eventBus=\"eventBus\"\n :name=\"name\"\n :options=\"{\n orderRequiredPropertiesFirst: orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: orderSchemaPropertiesBy,\n expandAllSchemaProperties: expandAllSchemaProperties,\n document,\n }\"\n :schema=\"getResolvedRef(header.schema)\" />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Header.vue.js","names":[],"sources":["../../../../src/features/Operation/components/Header.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n HeaderObject,\n OpenApiDocument,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\n\nconst {\n name,\n header,\n breadcrumb,\n document,\n orderSchemaPropertiesBy,\n orderRequiredPropertiesFirst,\n expandAllSchemaProperties,\n hideModels,\n} = defineProps<{\n header: HeaderObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n /** The document the header belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n orderRequiredPropertiesFirst: boolean | undefined\n expandAllSchemaProperties: boolean | undefined\n /** Whether the models section is hidden, so model names render as plain text instead of links */\n hideModels: boolean | undefined\n}>()\n</script>\n<template>\n <SchemaProperty\n v-if=\"'schema' in header && header.schema\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :description=\"header.description\"\n :eventBus=\"eventBus\"\n :name=\"name\"\n :options=\"{\n orderRequiredPropertiesFirst: orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: orderSchemaPropertiesBy,\n expandAllSchemaProperties: expandAllSchemaProperties,\n hideModels: hideModels,\n document,\n }\"\n :schema=\"getResolvedRef(header.schema)\" />\n</template>\n"],"mappings":""}
@@ -12,7 +12,8 @@ var Header_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
12
12
  document: {},
13
13
  orderSchemaPropertiesBy: {},
14
14
  orderRequiredPropertiesFirst: { type: Boolean },
15
- expandAllSchemaProperties: { type: Boolean }
15
+ expandAllSchemaProperties: { type: Boolean },
16
+ hideModels: { type: Boolean }
16
17
  },
17
18
  setup(__props) {
18
19
  return (_ctx, _cache) => {
@@ -26,6 +27,7 @@ var Header_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
26
27
  orderRequiredPropertiesFirst: __props.orderRequiredPropertiesFirst,
27
28
  orderSchemaPropertiesBy: __props.orderSchemaPropertiesBy,
28
29
  expandAllSchemaProperties: __props.expandAllSchemaProperties,
30
+ hideModels: __props.hideModels,
29
31
  document: __props.document
30
32
  },
31
33
  schema: unref(getResolvedRef)(__props.header.schema)
@@ -1 +1 @@
1
- {"version":3,"file":"Header.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/Header.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n HeaderObject,\n OpenApiDocument,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\n\nconst {\n name,\n header,\n breadcrumb,\n document,\n orderSchemaPropertiesBy,\n orderRequiredPropertiesFirst,\n expandAllSchemaProperties,\n} = defineProps<{\n header: HeaderObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n /** The document the header belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n orderRequiredPropertiesFirst: boolean | undefined\n expandAllSchemaProperties: boolean | undefined\n}>()\n</script>\n<template>\n <SchemaProperty\n v-if=\"'schema' in header && header.schema\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :description=\"header.description\"\n :eventBus=\"eventBus\"\n :name=\"name\"\n :options=\"{\n orderRequiredPropertiesFirst: orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: orderSchemaPropertiesBy,\n expandAllSchemaProperties: expandAllSchemaProperties,\n document,\n }\"\n :schema=\"getResolvedRef(header.schema)\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;sBAgCsB,QAAA,UAAU,QAAA,OAAO,UAAA,UAAA,GADrC,YAY4C,wBAAA;;IAVzC,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,SAAA,IAAe,KAAA;IACtD,aAAa,QAAA,OAAO;IACpB,UAAU,QAAA;IACV,MAAM,QAAA;IACN,SAAO;mCAAwC,QAAA;8BAA6D,QAAA;gCAA0D,QAAA;eAAiC,QAAA;;IAMvM,QAAQ,MAAA,cAAA,CAAc,CAAC,QAAA,OAAO,MAAM"}
1
+ {"version":3,"file":"Header.vue.script.js","names":[],"sources":["../../../../src/features/Operation/components/Header.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type {\n HeaderObject,\n OpenApiDocument,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport SchemaProperty from '@/components/Content/Schema/SchemaProperty.vue'\n\nconst {\n name,\n header,\n breadcrumb,\n document,\n orderSchemaPropertiesBy,\n orderRequiredPropertiesFirst,\n expandAllSchemaProperties,\n hideModels,\n} = defineProps<{\n header: HeaderObject\n name: string\n breadcrumb?: string[]\n eventBus: WorkspaceEventBus | null\n /** The document the header belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined\n orderRequiredPropertiesFirst: boolean | undefined\n expandAllSchemaProperties: boolean | undefined\n /** Whether the models section is hidden, so model names render as plain text instead of links */\n hideModels: boolean | undefined\n}>()\n</script>\n<template>\n <SchemaProperty\n v-if=\"'schema' in header && header.schema\"\n :breadcrumb=\"breadcrumb ? [...breadcrumb, 'headers'] : undefined\"\n :description=\"header.description\"\n :eventBus=\"eventBus\"\n :name=\"name\"\n :options=\"{\n orderRequiredPropertiesFirst: orderRequiredPropertiesFirst,\n orderSchemaPropertiesBy: orderSchemaPropertiesBy,\n expandAllSchemaProperties: expandAllSchemaProperties,\n hideModels: hideModels,\n document,\n }\"\n :schema=\"getResolvedRef(header.schema)\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;sBAmCsB,QAAA,UAAU,QAAA,OAAO,UAAA,UAAA,GADrC,YAa4C,wBAAA;;IAXzC,YAAY,QAAA,aAAU,CAAA,GAAO,QAAA,YAAU,SAAA,IAAe,KAAA;IACtD,aAAa,QAAA,OAAO;IACpB,UAAU,QAAA;IACV,MAAM,QAAA;IACN,SAAO;mCAAwC,QAAA;8BAA6D,QAAA;gCAA0D,QAAA;iBAA6C,QAAA;eAAkB,QAAA;;IAOrO,QAAQ,MAAA,cAAA,CAAc,CAAC,QAAA,OAAO,MAAM"}
@@ -9,6 +9,8 @@ type __VLS_Props = {
9
9
  orderRequiredPropertiesFirst: boolean | undefined;
10
10
  orderSchemaPropertiesBy: 'alpha' | 'preserve' | undefined;
11
11
  expandAllSchemaProperties: boolean | undefined;
12
+ /** Whether the models section is hidden, so model names render as plain text instead of links */
13
+ hideModels: boolean | undefined;
12
14
  };
13
15
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
16
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/Headers.vue"],"names":[],"mappings":"AA6IA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,8DAA8D,CAAA;AAMrE,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,4BAA4B,EAAE,OAAO,GAAG,SAAS,CAAA;IACjD,uBAAuB,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/C,CAAC;AAsKF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"Headers.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/Headers.vue"],"names":[],"mappings":"AAgJA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,8DAA8D,CAAA;AAMrE,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,4BAA4B,EAAE,OAAO,GAAG,SAAS,CAAA;IACjD,uBAAuB,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,iGAAiG;IACjG,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;CAChC,CAAC;AAwKF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
2
2
  import Headers_vue_vue_type_script_setup_true_lang_default from "./Headers.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/features/Operation/components/Headers.vue
5
- var Headers_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Headers_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-b7ba0e6f"]]);
5
+ var Headers_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Headers_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-9ba640f2"]]);
6
6
  //#endregion
7
7
  export { Headers_default as default };
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.vue.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":""}
1
+ {"version":3,"file":"Headers.vue.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 /** Whether the models section is hidden, so model names render as plain text instead of links */\n hideModels: 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 :hideModels=\"hideModels\"\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":""}
@@ -14,7 +14,8 @@ var Headers_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
14
14
  document: {},
15
15
  orderRequiredPropertiesFirst: { type: Boolean },
16
16
  orderSchemaPropertiesBy: {},
17
- expandAllSchemaProperties: { type: Boolean }
17
+ expandAllSchemaProperties: { type: Boolean },
18
+ hideModels: { type: Boolean }
18
19
  },
19
20
  setup(__props) {
20
21
  const { translate } = useLocalization();
@@ -39,6 +40,7 @@ var Headers_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
39
40
  eventBus: __props.eventBus,
40
41
  expandAllSchemaProperties: __props.expandAllSchemaProperties,
41
42
  header: unref(getResolvedRef)(header),
43
+ hideModels: __props.hideModels,
42
44
  name: key,
43
45
  orderRequiredPropertiesFirst: __props.orderRequiredPropertiesFirst,
44
46
  orderSchemaPropertiesBy: __props.orderSchemaPropertiesBy
@@ -48,6 +50,7 @@ var Headers_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
48
50
  "eventBus",
49
51
  "expandAllSchemaProperties",
50
52
  "header",
53
+ "hideModels",
51
54
  "name",
52
55
  "orderRequiredPropertiesFirst",
53
56
  "orderSchemaPropertiesBy"
@@ -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,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"}
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 /** Whether the models section is hidden, so model names render as plain text instead of links */\n hideModels: 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 :hideModels=\"hideModels\"\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":";;;;;;;;;;;;;;;;;;;;EA0BA,MAAM,EAAE,cAAc,gBAAgB;;uBAGpC,YA0Ca,MAAA,UAAA,GAAA,MAAA;sBADL,EAzCc,WAAI,CACxB,mBAwCM,OAAA,EAvCJ,OAAK,eAAA,CAAC,sCAAoC,CAAA,EAAA,sBACT,KAAI,CAAA,CAAA,CAAA,EAAA,GAAA,CACrC,mBAoCM,OAAA,EAnCJ,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,YAekB,MAAA,eAAA,GAAA,MAAA;4BAbkB,EAAA,UAAA,IAAA,GADlC,mBAaW,UAAA,MAAA,WAZe,QAAA,UAAhB,QAAQ,QAAG;0BAEnB,YASuD,gBAAA;OAVjD;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,YAAY,QAAA;OACZ,MAAM;OACN,8BAA8B,QAAA;OAC9B,yBAAyB,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OperationParameters.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/OperationParameters.vue"],"names":[],"mappings":"AAwHA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EAClB,MAAM,8DAA8D,CAAA;AAMrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAKxE,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,EAAE,CAAA;IAC7C,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC3C,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,OAAO,EAAE,IAAI,CACX,cAAc,CAAC,SAAS,CAAC,EACvB,YAAY,GACZ,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,CAC9B,CAAA;CACF,CAAC;AAkCF,KAAK,gBAAgB,GAAG;IACxB,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AA4JxD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"OperationParameters.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/OperationParameters.vue"],"names":[],"mappings":"AAwHA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGvE,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EAClB,MAAM,8DAA8D,CAAA;AAKrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAKxE,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,EAAE,CAAA;IAC7C,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAC3C,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,OAAO,EAAE,IAAI,CACX,cAAc,CAAC,SAAS,CAAC,EACvB,YAAY,GACZ,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,CAC9B,CAAA;CACF,CAAC;AAkCF,KAAK,gBAAgB,GAAG;IACxB,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AA4JxD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OperationParameters.vue.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":""}
1
+ {"version":3,"file":"OperationParameters.vue.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 { isHidden } from '@scalar/workspace-store/helpers/is-hidden'\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 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 (!isHidden(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":""}
@@ -1,10 +1,10 @@
1
1
  import { useLocalization } from "../../localization/use-localization.js";
2
2
  import ParameterList_default from "./ParameterList.vue.js";
3
3
  import { flattenDeepObjectQueryParameter } from "../helpers/flatten-deep-object-query-parameter.js";
4
- import { shouldIgnoreEntity } from "../helpers/should-ignore-entity.js";
5
4
  import RequestBody_default from "./RequestBody.vue.js";
6
5
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, mergeModels, openBlock, toDisplayString, unref, useModel, withCtx } from "vue";
7
6
  import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref";
7
+ import { isHidden } from "@scalar/workspace-store/helpers/is-hidden";
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
10
  var OperationParameters_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -27,7 +27,7 @@ var OperationParameters_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
27
27
  const selectedContentType = useModel(__props, "selectedContentType");
28
28
  const splitParameters = computed(() => (__props.parameters ?? []).reduce((acc, p) => {
29
29
  const parameter = getResolvedRef(p);
30
- if (!shouldIgnoreEntity(parameter)) flattenDeepObjectQueryParameter(parameter).forEach((flattenedParameter) => {
30
+ if (!isHidden(parameter)) flattenDeepObjectQueryParameter(parameter).forEach((flattenedParameter) => {
31
31
  acc[flattenedParameter.in].push(flattenedParameter);
32
32
  });
33
33
  return acc;
@@ -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,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"}
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 { isHidden } from '@scalar/workspace-store/helpers/is-hidden'\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 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 (!isHidden(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,SAAS,SAAS,GAErB,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterListItem.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/ParameterListItem.vue"],"names":[],"mappings":"AA0WA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,cAAc,EAEf,MAAM,8DAA8D,CAAA;AAKrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAOxE,KAAK,WAAW,GAAG;IACf,SAAS,EAAE,eAAe,GAAG,cAAc,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,OAAO,EAAE,IAAI,CACX,cAAc,CAAC,SAAS,CAAC,EACvB,YAAY,GACZ,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,CAC9B,CAAA;CACF,CAAC;AA0aJ,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"ParameterListItem.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/ParameterListItem.vue"],"names":[],"mappings":"AA4WA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,cAAc,EAEf,MAAM,8DAA8D,CAAA;AAKrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAOxE,KAAK,WAAW,GAAG;IACf,SAAS,EAAE,eAAe,GAAG,cAAc,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,OAAO,EAAE,IAAI,CACX,cAAc,CAAC,SAAS,CAAC,EACvB,YAAY,GACZ,8BAA8B,GAC9B,yBAAyB,GACzB,2BAA2B,CAC9B,CAAA;CACF,CAAC;AA8aJ,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
2
2
  import 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-df03174a"]]);
6
6
  //#endregion
7
7
  export { ParameterListItem_default as default };
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterListItem.vue.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":""}
1
+ {"version":3,"file":"ParameterListItem.vue.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 :hideModels=\"options.hideModels\"\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 hideModels: options.hideModels,\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":""}
@@ -132,6 +132,7 @@ var ParameterListItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
132
132
  eventBus: __props.eventBus,
133
133
  expandAllSchemaProperties: __props.options.expandAllSchemaProperties,
134
134
  headers: headers.value,
135
+ hideModels: __props.options.hideModels,
135
136
  orderRequiredPropertiesFirst: __props.options.orderRequiredPropertiesFirst,
136
137
  orderSchemaPropertiesBy: __props.options.orderSchemaPropertiesBy
137
138
  }, null, 8, [
@@ -140,6 +141,7 @@ var ParameterListItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
140
141
  "eventBus",
141
142
  "expandAllSchemaProperties",
142
143
  "headers",
144
+ "hideModels",
143
145
  "orderRequiredPropertiesFirst",
144
146
  "orderSchemaPropertiesBy"
145
147
  ])) : createCommentVNode("", true),
@@ -158,6 +160,7 @@ var ParameterListItem_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
158
160
  orderRequiredPropertiesFirst: __props.options.orderRequiredPropertiesFirst,
159
161
  orderSchemaPropertiesBy: __props.options.orderSchemaPropertiesBy,
160
162
  expandAllSchemaProperties: __props.options.expandAllSchemaProperties,
163
+ hideModels: __props.options.hideModels,
161
164
  document: __props.document
162
165
  },
163
166
  required: "required" in __props.parameter && __props.parameter.required,
@@ -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,KAAK;;EAG3B,MAAM,SAAS,eACb,YAAY,QAAA,aAAa,QAAA,UAAU,SAC/B,eAAe,QAAA,UAAU,MAAM,IAC/B,IACN;;EAGA,MAAM,UAAU,eAAe;GAC7B,IAAI,EAAE,aAAa,QAAA,cAAc,CAAC,QAAA,UAAU,SAC1C,OAAO;GAGT,IADa,OAAO,KAAK,QAAA,UAAU,OAC/B,CAAA,CAAK,WAAW,GAClB,OAAO;GAET,OAAO,QAAA,UAAU;EACnB,CAAC;EAED,MAAM,sBAAsB,IAC1B,OAAO,KAAK,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EACzC;;EAGA,MAAM,UAAU,eACd,aAAa,QAAA,aAAa,QAAA,UAAU,UAAU,QAAA,UAAU,UAAU,IACpE;;EAGA,MAAM,aAAa,eACjB,QAAQ,QACJ,QAAQ,QAAQ,oBAAoB,MAAM,EAAE,SAC5C,YAAY,QAAA,aAAa,QAAA,UAAU,SACjC,QAAA,UAAU,SACV,IACR;;EAGA,MAAM,kBAAkB,eAAe;GACrC,MAAM,MAAM,WAAW;GACvB,IAAI,CAAC,KACH,OAAO;GAGT,IAAI,UAAU,KACZ,OAAO,WAAW,IAAI,IAAI;GAG5B,OAAO;EACT,CAAC;;EAGD,MAAM,QAAQ,eAAe;GAC3B,MAAM,OAAO,WAAW;GACxB,MAAM,eAAe,QAAQ,QAAQ,eAAe,IAAI,IAAI,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,MAAM,EAAE;GAC/D,CAAC;GAED,OAAO;IACL,GAAG;IACS;IACZ;GACF;EACF,CAAC;;;;;;EAOD,MAAM,iBAAiB,eACrB,QAAQ,QAAQ,SAAS,QAAQ,SAAS,OAAO,SAAS,UAAU,KAAK,CAC3E;;;;;;EAOA,MAAM,mBAAmB,eACvB,QAAA,oBAAoB,QAAA,cAAc,QAAA,OAAO,CAAC,GAAG,QAAA,YAAY,QAAA,IAAI,IAAI,QAAA,UACnE;;;;;;EAOA,MAAM,uBAAuB,eAAwB;GACnD,MAAM,OAAO,iBAAiB,OAAO,KAAK,GAAG;GAC7C,IAAI,CAAC,MACH,OAAO;GAET,MAAM,SAAS,eAAe;GAC9B,OAAO,WAAW,QAAQ,OAAO,WAAW,GAAG,KAAK,EAAE;EACxD,CAAC;;uBAGC,mBAoFK,MApFL,YAoFK,CAnFH,YAkFa,MAAA,UAAA,GAAA,EAhFV,aAAa,qBAAA,MAAoB,GAAA;sBA2BtB,EA5BF,WAAI;KAIN,QAAA,oBAAA,UAAA,GAFR,YA0BY,wBAzBL,eAAA,QAAiB,MAAA,gBAAA,IAAgB,KAAA,GAAA;;MAEtC,OAAK,eAAA,CAAC,0BAAwB,EAAA,+BACW,KAAI,CAAA,CAAA;;6BAYvC,CAXN,mBAWM,OAXN,YAWM,CATI,eAAA,SAAA,UAAA,GADR,YAIkB,MAAA,oBAAA,GAAA;;OAFhB,OAAK,eAAA,CAAC,gEAA8D,EAAA,aAC7C,KAAI,CAAA,CAAA;OAC3B,QAAO;8DACT,mBAIM,OAAA,MAAA,CAHJ,YAEiB,MAAA,kBAAA,GAAA;OADf,QAAO;OACN,MAAM,QAAA;kCAIJ,QAAQ,QAAA,UAAU,eAAA,UAAA,GAD3B,YAKmC,MAAA,qBAAA,GAAA;;OAHzB,WAAW,UAAA;6EAAS,QAAA;OAC5B,OAAM;OACN,YAAA;OACC,OAAO,QAAA,UAAU;2DACpB,mBAEmB,OAFnB,UAEmB,EAAA,CAAA;;;KAErB,YAsCkB,MAAA,eAAA,GAAA;MArChB,OAAM;MACL,QAAM,CAAG,QAAA;;6BAIyB;OAF3B,QAAA,oBAAoB,QAAA,UAAU,eAAA,UAAA,GADtC,YAGmC,MAAA,cAAA,GAAA;;QADjC,OAAM;QACL,OAAO,QAAA,UAAU;;OAGZ,QAAA,SAAA,UAAA,GADR,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,UAAA,GAD1B,mBAYM,OAAA;;MAVJ,OAAK,eAAA,CAAC,4FAA0F,EAAA,kGAAA,CACmC,KAAA,CAAA,CAAA;mCAInI,mBACgG,OAAA,EAA9F,OAAM,sFAAqF,GAAA,MAAA,EAAA,IAC7F,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 :hideModels=\"options.hideModels\"\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 hideModels: options.hideModels,\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,KAAK;;EAG3B,MAAM,SAAS,eACb,YAAY,QAAA,aAAa,QAAA,UAAU,SAC/B,eAAe,QAAA,UAAU,MAAM,IAC/B,IACN;;EAGA,MAAM,UAAU,eAAe;GAC7B,IAAI,EAAE,aAAa,QAAA,cAAc,CAAC,QAAA,UAAU,SAC1C,OAAO;GAGT,IADa,OAAO,KAAK,QAAA,UAAU,OAC/B,CAAA,CAAK,WAAW,GAClB,OAAO;GAET,OAAO,QAAA,UAAU;EACnB,CAAC;EAED,MAAM,sBAAsB,IAC1B,OAAO,KAAK,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EACzC;;EAGA,MAAM,UAAU,eACd,aAAa,QAAA,aAAa,QAAA,UAAU,UAAU,QAAA,UAAU,UAAU,IACpE;;EAGA,MAAM,aAAa,eACjB,QAAQ,QACJ,QAAQ,QAAQ,oBAAoB,MAAM,EAAE,SAC5C,YAAY,QAAA,aAAa,QAAA,UAAU,SACjC,QAAA,UAAU,SACV,IACR;;EAGA,MAAM,kBAAkB,eAAe;GACrC,MAAM,MAAM,WAAW;GACvB,IAAI,CAAC,KACH,OAAO;GAGT,IAAI,UAAU,KACZ,OAAO,WAAW,IAAI,IAAI;GAG5B,OAAO;EACT,CAAC;;EAGD,MAAM,QAAQ,eAAe;GAC3B,MAAM,OAAO,WAAW;GACxB,MAAM,eAAe,QAAQ,QAAQ,eAAe,IAAI,IAAI,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,MAAM,EAAE;GAC/D,CAAC;GAED,OAAO;IACL,GAAG;IACS;IACZ;GACF;EACF,CAAC;;;;;;EAOD,MAAM,iBAAiB,eACrB,QAAQ,QAAQ,SAAS,QAAQ,SAAS,OAAO,SAAS,UAAU,KAAK,CAC3E;;;;;;EAOA,MAAM,mBAAmB,eACvB,QAAA,oBAAoB,QAAA,cAAc,QAAA,OAAO,CAAC,GAAG,QAAA,YAAY,QAAA,IAAI,IAAI,QAAA,UACnE;;;;;;EAOA,MAAM,uBAAuB,eAAwB;GACnD,MAAM,OAAO,iBAAiB,OAAO,KAAK,GAAG;GAC7C,IAAI,CAAC,MACH,OAAO;GAET,MAAM,SAAS,eAAe;GAC9B,OAAO,WAAW,QAAQ,OAAO,WAAW,GAAG,KAAK,EAAE;EACxD,CAAC;;uBAGC,mBAsFK,MAtFL,YAsFK,CArFH,YAoFa,MAAA,UAAA,GAAA,EAlFV,aAAa,qBAAA,MAAoB,GAAA;sBA2BtB,EA5BF,WAAI;KAIN,QAAA,oBAAA,UAAA,GAFR,YA0BY,wBAzBL,eAAA,QAAiB,MAAA,gBAAA,IAAgB,KAAA,GAAA;;MAEtC,OAAK,eAAA,CAAC,0BAAwB,EAAA,+BACW,KAAI,CAAA,CAAA;;6BAYvC,CAXN,mBAWM,OAXN,YAWM,CATI,eAAA,SAAA,UAAA,GADR,YAIkB,MAAA,oBAAA,GAAA;;OAFhB,OAAK,eAAA,CAAC,gEAA8D,EAAA,aAC7C,KAAI,CAAA,CAAA;OAC3B,QAAO;8DACT,mBAIM,OAAA,MAAA,CAHJ,YAEiB,MAAA,kBAAA,GAAA;OADf,QAAO;OACN,MAAM,QAAA;kCAIJ,QAAQ,QAAA,UAAU,eAAA,UAAA,GAD3B,YAKmC,MAAA,qBAAA,GAAA;;OAHzB,WAAW,UAAA;6EAAS,QAAA;OAC5B,OAAM;OACN,YAAA;OACC,OAAO,QAAA,UAAU;2DACpB,mBAEmB,OAFnB,UAEmB,EAAA,CAAA;;;KAErB,YAwCkB,MAAA,eAAA,GAAA;MAvChB,OAAM;MACL,QAAM,CAAG,QAAA;;6BAIyB;OAF3B,QAAA,oBAAoB,QAAA,UAAU,eAAA,UAAA,GADtC,YAGmC,MAAA,cAAA,GAAA;;QADjC,OAAM;QACL,OAAO,QAAA,UAAU;;OAGZ,QAAA,SAAA,UAAA,GADR,YAS+D,iBAAA;;QAP5D,YAAY,QAAA;QACZ,UAAU,QAAA;QACV,UAAU,QAAA;QACV,2BAA2B,QAAA,QAAQ;QACnC,SAAS,QAAA;QACT,YAAY,QAAA,QAAQ;QACpB,8BAA8B,QAAA,QAAQ;QACtC,yBAAyB,QAAA,QAAQ;;;;;;;;;;;OAGpC,YAmBoB,wBAAA;QAlBlB,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;qBAAmD,QAAA,QAAQ;mBAAwB,QAAA;;QAQpU,UAAQ,cAAgB,QAAA,aAAa,QAAA,UAAU;QAC/C,QAAQ,MAAA;;;;;;;;;;;;;;KAGL,eAAA,SAAkB,QAAA,SAAA,UAAA,GAD1B,mBAYM,OAAA;;MAVJ,OAAK,eAAA,CAAC,4FAA0F,EAAA,kGAAA,CACmC,KAAA,CAAA,CAAA;mCAInI,mBACgG,OAAA,EAA9F,OAAM,sFAAqF,GAAA,MAAA,EAAA,IAC7F,YAEuB,2BAAA;kBADZ,oBAAA;uFAAmB,QAAA;MAC3B,SAAS,QAAA"}
@@ -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;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"}
1
+ {"version":3,"file":"RequestBody.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/components/RequestBody.vue"],"names":[],"mappings":"AAwTA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAClB,MAAM,8DAA8D,CAAA;AAiBrE,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;AAuHF,KAAK,gBAAgB,GAAG;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AA+RxD,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-75896209"]]);
6
6
  //#endregion
7
7
  export { RequestBody_default as default };
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBody.vue.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":""}
1
+ {"version":3,"file":"RequestBody.vue.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 { isModelLinkable } from '@/components/Content/Schema/helpers/is-model-linkable'\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/** Whether the model name links to the models section, or renders as plain text. */\nconst modelLinkable = computed(() =>\n isModelLinkable(modelLink.value?.schemaKey, {\n hideModels: options.hideModels,\n document,\n }),\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 && modelLinkable\"\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 hideModels: options.hideModels,\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 hideModels: options.hideModels,\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 hideModels: options.hideModels,\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":""}