@scalar/api-reference 1.62.1 → 1.62.3

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 (153) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/browser/chunks/{AgentScalarChatInterface-D7J_MHKY.js → AgentScalarChatInterface-CNs5mxby.js} +3 -3
  3. package/dist/browser/chunks/{ScalarTextInput.vue-Fb0snAee.js → ScalarTextInput.vue-D_L-rtQC.js} +3 -3
  4. package/dist/browser/chunks/basic-shape-diamond.svg-BTEOT1FL.js +1 -1
  5. package/dist/browser/chunks/basic-shape-hexagon.svg-BSPzaCgF.js +1 -1
  6. package/dist/browser/chunks/basic-shape-primary-circle-ellipse-round.svg-DKmZ8UUU.js +1 -1
  7. package/dist/browser/chunks/basic-shape-primary-square-rectangle.svg-n2YRykHD.js +1 -1
  8. package/dist/browser/chunks/basic-shape-shield.svg-Bec9cJDA.js +1 -1
  9. package/dist/browser/chunks/browser-67K6wmG9.js +1 -1
  10. package/dist/browser/chunks/computer-device-desktop-monitor.svg-m6j893Hb.js +1 -1
  11. package/dist/browser/chunks/computer-device-desktop.svg-Dk1VVO7k.js +1 -1
  12. package/dist/browser/chunks/computer-device-laptop.svg-BNGVUCYS.js +1 -1
  13. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung-back.svg-CC4UUTFw.js +1 -1
  14. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung.svg-D8ExpMpL.js +1 -1
  15. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x-back.svg-CLm7sgMM.js +1 -1
  16. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x.svg-Xrttg6_7.js +1 -1
  17. package/dist/browser/chunks/computer-device-mobile-tablet-touch.svg-DQ2oTvOG.js +1 -1
  18. package/dist/browser/chunks/computer-device-mobile-tablet.svg-DCr0XlRc.js +1 -1
  19. package/dist/browser/chunks/computer-device-network-ethernet-cat6.svg-AK9l0iOl.js +1 -1
  20. package/dist/browser/chunks/computer-device-network-lan-www.svg-gUIdFBlE.js +1 -1
  21. package/dist/browser/chunks/computer-device-network-wifi-connection.svg-Be-EMm4e.js +1 -1
  22. package/dist/browser/chunks/computer-device-network-wifi-router.svg-Dc2VzyqK.js +1 -1
  23. package/dist/browser/chunks/ecology-science-erlenmeyer-flask.svg-DHgy7Jfd.js +1 -1
  24. package/dist/browser/chunks/image-flash-lightning.svg-EETR_y1q.js +1 -1
  25. package/dist/browser/chunks/image-picture-flower.svg-DN1AYzJU.js +1 -1
  26. package/dist/browser/chunks/interface-alert-exclamation-diamond.svg-C5NozMV_.js +1 -1
  27. package/dist/browser/chunks/interface-alert-exclamation-triangle-warning.svg-DaAg2fF5.js +1 -1
  28. package/dist/browser/chunks/interface-alert-information-circle.svg-ckkkt9Mv.js +1 -1
  29. package/dist/browser/chunks/interface-award-crown.svg-pjvn9hY-.js +1 -1
  30. package/dist/browser/chunks/interface-bookmark-tag.svg-r2r-lQq4.js +1 -1
  31. package/dist/browser/chunks/interface-bookmark.svg-BK9HKQBT.js +1 -1
  32. package/dist/browser/chunks/interface-calendar-date-one.svg-DNnF0M1I.js +1 -1
  33. package/dist/browser/chunks/interface-content-book-open-pages.svg-CQj_w9Vp.js +1 -1
  34. package/dist/browser/chunks/interface-content-book-page.svg-DppoeJRe.js +1 -1
  35. package/dist/browser/chunks/interface-content-file.svg-CvcD7OiY.js +1 -1
  36. package/dist/browser/chunks/interface-content-folder.svg-BmtS5I9A.js +1 -1
  37. package/dist/browser/chunks/interface-copy-clipboard.svg-Be6EI50X.js +1 -1
  38. package/dist/browser/chunks/interface-edit-attachment.svg-G5TKzpWX.js +1 -1
  39. package/dist/browser/chunks/interface-edit-binocular.svg-jzL-DvGB.js +1 -1
  40. package/dist/browser/chunks/interface-edit-magic-wand.svg-BOTlymvp.js +1 -1
  41. package/dist/browser/chunks/interface-edit-tool-paint-roller.svg-s9dwryx7.js +1 -1
  42. package/dist/browser/chunks/interface-edit-tool-pencil.svg-C7v0dbB3.js +1 -1
  43. package/dist/browser/chunks/interface-favorite-award.svg-CYHUgUG0.js +1 -1
  44. package/dist/browser/chunks/interface-favorite-flag.svg-C10zlKOb.js +1 -1
  45. package/dist/browser/chunks/interface-favorite-heart.svg-eoduXxlz.js +1 -1
  46. package/dist/browser/chunks/interface-favorite-star.svg-BSmxJetr.js +1 -1
  47. package/dist/browser/chunks/interface-favorite-stars-sparkles.svg-JTFLj3Ls.js +1 -1
  48. package/dist/browser/chunks/interface-hierarchy-flowchart.svg-Cg_Wy0kN.js +1 -1
  49. package/dist/browser/chunks/interface-home-house.svg-DytoGRnv.js +1 -1
  50. package/dist/browser/chunks/interface-hyperlink.svg-CuEfmmQI.js +1 -1
  51. package/dist/browser/chunks/interface-lighting-brightness.svg-DSK0h_Pa.js +1 -1
  52. package/dist/browser/chunks/interface-lock-closed.svg-Cn6TaLYv.js +1 -1
  53. package/dist/browser/chunks/interface-lock-open-unlock.svg-CVkG5-9W.js +1 -1
  54. package/dist/browser/chunks/interface-login-key.svg-y-cwwXjN.js +1 -1
  55. package/dist/browser/chunks/interface-search.svg-S-puVFJB.js +1 -1
  56. package/dist/browser/chunks/interface-setting-cog.svg-CTH4_lLg.js +1 -1
  57. package/dist/browser/chunks/interface-share-megaphone-bullhorn.svg-Pbp39MyC.js +1 -1
  58. package/dist/browser/chunks/interface-share-rocket.svg-BgCsIRZO.js +1 -1
  59. package/dist/browser/chunks/interface-share-satellite.svg-DAMN9d5G.js +1 -1
  60. package/dist/browser/chunks/interface-share-space-ship.svg-Dt-Mejxk.js +1 -1
  61. package/dist/browser/chunks/interface-share.svg-vFYTXSti.js +1 -1
  62. package/dist/browser/chunks/interface-signal-square.svg-DNG4LpAe.js +1 -1
  63. package/dist/browser/chunks/interface-time-clock-circle.svg-Bpz-nLxo.js +1 -1
  64. package/dist/browser/chunks/interface-time-hour-glass.svg-D7agfKsH.js +1 -1
  65. package/dist/browser/chunks/interface-users-multiple.svg-CkPJBBnG.js +1 -1
  66. package/dist/browser/chunks/interface-weather-moon.svg-CaTZFMPO.js +1 -1
  67. package/dist/browser/chunks/mail-chat-bubble-square.svg-DC8RIihp.js +1 -1
  68. package/dist/browser/chunks/mail-send-email-paper-airplane.svg-D8OLs9jz.js +1 -1
  69. package/dist/browser/chunks/mail-send-envelope.svg-CV33h5Sx.js +1 -1
  70. package/dist/browser/chunks/{modal-BLBi4S4R.js → modal-BvqLUPs5.js} +3 -3
  71. package/dist/browser/chunks/{modal-BlpWsFBT.js → modal-CfujTjCR.js} +2 -2
  72. package/dist/browser/chunks/money-cashier-receipt.svg-CJL8C2gs.js +1 -1
  73. package/dist/browser/chunks/money-currency-dollar-pay.svg-VdBplCTx.js +1 -1
  74. package/dist/browser/chunks/money-graph-arrow-increase.svg-DcRov3zk.js +1 -1
  75. package/dist/browser/chunks/money-graph-bar-chart-increase.svg-Cc7KxjX-.js +1 -1
  76. package/dist/browser/chunks/nature-ecology-leaf.svg-DR3cTZxt.js +1 -1
  77. package/dist/browser/chunks/phone-telephone.svg-DyY0gUlk.js +1 -1
  78. package/dist/browser/chunks/programming-bug.svg-BHLT-Qhp.js +1 -1
  79. package/dist/browser/chunks/programming-cloud.svg-B6YW33ba.js +1 -1
  80. package/dist/browser/chunks/programming-computer-database-server.svg-B6o5Sdn-.js +1 -1
  81. package/dist/browser/chunks/programming-computer-database.svg-Cl7OVtpJ.js +1 -1
  82. package/dist/browser/chunks/programming-module-four-layout.svg-BQrerL1x.js +1 -1
  83. package/dist/browser/chunks/programming-module-three.svg-B2KTQzBM.js +1 -1
  84. package/dist/browser/chunks/programming-module.svg-CiID7kPm.js +1 -1
  85. package/dist/browser/chunks/programming-script-code.svg-D1M5rtkN.js +1 -1
  86. package/dist/browser/chunks/runtime-core.esm-bundler-Byrbbu5Q.js +1 -1
  87. package/dist/browser/chunks/shopping-cart.svg-BEegiIR9.js +1 -1
  88. package/dist/browser/chunks/shopping-gift-present.svg-BUHwuLix.js +1 -1
  89. package/dist/browser/chunks/shopping-shipping-box-parcel-package.svg-D6fxWdYx.js +1 -1
  90. package/dist/browser/chunks/tag-new-circle.svg-jsg1bGs0.js +1 -1
  91. package/dist/browser/chunks/travel-map-earth-globe.svg-ClbMiU-f.js +1 -1
  92. package/dist/browser/chunks/{vendor-DHN5fsxL.js → vendor-BlFFskFr.js} +3 -3
  93. package/dist/browser/standalone.esm.js +5 -5
  94. package/dist/browser/standalone.js +241 -241
  95. package/dist/components/ApiReference.vue.d.ts.map +1 -1
  96. package/dist/components/ApiReference.vue.js +1 -1
  97. package/dist/components/ApiReference.vue.js.map +1 -1
  98. package/dist/components/ApiReference.vue.script.js +12 -2
  99. package/dist/components/ApiReference.vue.script.js.map +1 -1
  100. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.d.ts.map +1 -1
  101. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.js.map +1 -1
  102. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.script.js +2 -0
  103. package/dist/components/Content/AsyncApi/AsyncApiTraversedEntry.vue.script.js.map +1 -1
  104. package/dist/components/Content/AsyncApi/Channel.vue.d.ts +6 -0
  105. package/dist/components/Content/AsyncApi/Channel.vue.d.ts.map +1 -1
  106. package/dist/components/Content/AsyncApi/Channel.vue.js +1 -1
  107. package/dist/components/Content/AsyncApi/Channel.vue.js.map +1 -1
  108. package/dist/components/Content/AsyncApi/Channel.vue.script.js +4 -2
  109. package/dist/components/Content/AsyncApi/Channel.vue.script.js.map +1 -1
  110. package/dist/components/Content/AsyncApi/ChannelsList.vue.d.ts +10 -0
  111. package/dist/components/Content/AsyncApi/ChannelsList.vue.d.ts.map +1 -0
  112. package/dist/components/Content/AsyncApi/ChannelsList.vue.js +9 -0
  113. package/dist/components/Content/AsyncApi/ChannelsList.vue.js.map +1 -0
  114. package/dist/components/Content/AsyncApi/ChannelsList.vue.script.js +56 -0
  115. package/dist/components/Content/AsyncApi/ChannelsList.vue.script.js.map +1 -0
  116. package/dist/components/Content/Tags/components/TagSection.vue.d.ts.map +1 -1
  117. package/dist/components/Content/Tags/components/TagSection.vue.js.map +1 -1
  118. package/dist/components/Content/Tags/components/TagSection.vue.script.js +14 -3
  119. package/dist/components/Content/Tags/components/TagSection.vue.script.js.map +1 -1
  120. package/dist/features/Operation/layouts/ModernLayout.vue.script.js.map +1 -1
  121. package/dist/features/localization/locales/ar.d.ts +1 -0
  122. package/dist/features/localization/locales/ar.d.ts.map +1 -1
  123. package/dist/features/localization/locales/ar.js +2 -1
  124. package/dist/features/localization/locales/ar.js.map +1 -1
  125. package/dist/features/localization/locales/de.d.ts +1 -0
  126. package/dist/features/localization/locales/de.d.ts.map +1 -1
  127. package/dist/features/localization/locales/de.js +2 -1
  128. package/dist/features/localization/locales/de.js.map +1 -1
  129. package/dist/features/localization/locales/en.d.ts +1 -0
  130. package/dist/features/localization/locales/en.d.ts.map +1 -1
  131. package/dist/features/localization/locales/en.js +2 -1
  132. package/dist/features/localization/locales/en.js.map +1 -1
  133. package/dist/features/localization/locales/es.d.ts +1 -0
  134. package/dist/features/localization/locales/es.d.ts.map +1 -1
  135. package/dist/features/localization/locales/es.js +2 -1
  136. package/dist/features/localization/locales/es.js.map +1 -1
  137. package/dist/features/localization/locales/fr.d.ts +1 -0
  138. package/dist/features/localization/locales/fr.d.ts.map +1 -1
  139. package/dist/features/localization/locales/fr.js +2 -1
  140. package/dist/features/localization/locales/fr.js.map +1 -1
  141. package/dist/features/localization/locales/ru.d.ts +1 -0
  142. package/dist/features/localization/locales/ru.d.ts.map +1 -1
  143. package/dist/features/localization/locales/ru.js +2 -1
  144. package/dist/features/localization/locales/ru.js.map +1 -1
  145. package/dist/features/localization/locales/zh-cn.d.ts +1 -0
  146. package/dist/features/localization/locales/zh-cn.d.ts.map +1 -1
  147. package/dist/features/localization/locales/zh-cn.js +2 -1
  148. package/dist/features/localization/locales/zh-cn.js.map +1 -1
  149. package/dist/features/localization/translations.d.ts +7 -0
  150. package/dist/features/localization/translations.d.ts.map +1 -1
  151. package/dist/style.css +50 -24
  152. package/dist/vue-styles.css +45 -19
  153. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"Channel.vue.script.js","names":[],"sources":["../../../../src/components/Content/AsyncApi/Channel.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { AsyncApiDocument } from '@scalar/types/asyncapi/3.1'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n TraversedAsyncApiChannel,\n TraversedAsyncApiOperation,\n} from '@scalar/workspace-store/schemas/navigation'\nimport { computed, useId } from 'vue'\n\nimport { Anchor } from '@/components/Anchor'\nimport {\n Section,\n SectionContainer,\n SectionContainerAccordion,\n SectionContent,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\nimport ParameterList from '@/features/Operation/components/ParameterList.vue'\n\nimport AsyncApiLabels from './AsyncApiLabels.vue'\nimport { adaptAsyncApiParameters } from './helpers/adapt-async-api-parameters'\nimport {\n resolveSchemaRenderOptions,\n type AsyncApiSchemaRenderOptions,\n} from './helpers/async-api-render-options'\nimport { filterChildrenByType } from './helpers/filter-children-by-type'\nimport { getChannelServerLabels } from './helpers/get-async-api-labels'\nimport { pickHeading } from './helpers/pick-heading'\nimport { resolveAsyncApiChannel } from './helpers/resolve-async-api-nodes'\nimport Operation from './Operation.vue'\n\n/** Subset of the configuration the shared `ParameterList` renderer needs. */\ntype ParameterListOptions = AsyncApiSchemaRenderOptions &\n Pick<ApiReferenceConfigurationRaw, 'hideModels'>\n\nconst {\n channel,\n document,\n layout,\n isCollapsed,\n eventBus,\n options,\n expandedItems = {},\n} = defineProps<{\n channel: TraversedAsyncApiChannel\n document: AsyncApiDocument\n layout: 'classic' | 'modern'\n isCollapsed: boolean\n eventBus: WorkspaceEventBus | null\n options?: Partial<ParameterListOptions>\n /** Map of navigation item id to expanded state, shared with the sidebar. */\n expandedItems?: Record<string, boolean>\n}>()\n\nconst headerId = useId()\n\n/**\n * Resolve the channel from the document so we can read its description.\n * The navigation entry only carries the address and identifying keys.\n */\nconst resolvedChannel = computed(() =>\n resolveAsyncApiChannel(document, channel.channelName),\n)\n\nconst description = computed(() => resolvedChannel.value?.description ?? '')\n\n/**\n * Heading shown above each channel section.\n *\n * Prefers the human-friendly `channel.title` when it is set, then falls back\n * to `channel.address`. `channel.channelAddress` already encodes the\n * address-or-key fallback during navigation traversal, so we only need to\n * overlay `title` on top of it.\n */\nconst headingText = computed(() =>\n pickHeading(resolvedChannel.value?.title, channel.channelAddress),\n)\n\n/**\n * Channel address parameters mapped into the OpenAPI parameter shape so we can reuse the shared\n * `ParameterList` component instead of building a dedicated AsyncAPI renderer.\n */\nconst parameters = computed(() =>\n adaptAsyncApiParameters(resolvedChannel.value?.parameters),\n)\n\n/** Fill in defaults so the shared renderer always receives a complete options object. */\nconst parameterListOptions = computed<ParameterListOptions>(() => ({\n hideModels: options?.hideModels ?? false,\n ...resolveSchemaRenderOptions(options),\n}))\n\n/**\n * Server-name and protocol labels for the channel, resolved from `document.servers`\n * (restricted to `channel.servers` when declared) and rendered as pills in the header.\n */\nconst labels = computed(() =>\n getChannelServerLabels(document, resolvedChannel.value),\n)\n\n/** Operations that target this channel, rendered nested beneath the channel content. */\nconst operations = computed(() =>\n filterChildrenByType<TraversedAsyncApiOperation>(\n channel.children,\n 'asyncapi-operation',\n ),\n)\n</script>\n\n<template>\n <SectionContainerAccordion\n v-if=\"layout === 'classic'\"\n :aria-label=\"headingText\"\n class=\"channel-section\"\n :modelValue=\"!isCollapsed\"\n @update:modelValue=\"\n (value) =>\n eventBus?.emit('toggle:nav-item', { id: channel.id, open: value })\n \">\n <template #title>\n <SectionHeader class=\"channel-name\">\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: channel.id })\n \">\n <SectionHeaderTag :level=\"2\">\n {{ headingText }}\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <AsyncApiLabels\n class=\"channel-labels\"\n :protocols=\"labels.protocols\"\n :servers=\"labels.servers\" />\n <ScalarMarkdown\n class=\"channel-description\"\n :value=\"description\"\n withImages />\n </template>\n <ParameterList\n v-if=\"parameters.length\"\n :eventBus=\"eventBus\"\n :options=\"parameterListOptions\"\n :parameters=\"parameters\">\n <template #title>Parameters</template>\n </ParameterList>\n <Operation\n v-for=\"operation in operations\"\n :key=\"operation.id\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :expandedItems=\"expandedItems\"\n :operation=\"operation\"\n :options=\"options\" />\n </SectionContainerAccordion>\n\n <SectionContainer\n v-else\n :aria-labelledby=\"headerId\"\n role=\"region\">\n <Section\n :id=\"channel.id\"\n role=\"none\"\n @intersecting=\"\n () => eventBus?.emit('intersecting:nav-item', { id: channel.id })\n \">\n <SectionHeader>\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: channel.id })\n \">\n <SectionHeaderTag\n :id=\"headerId\"\n :level=\"2\">\n {{ headingText }}\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <SectionContent>\n <AsyncApiLabels\n class=\"channel-labels\"\n :protocols=\"labels.protocols\"\n :servers=\"labels.servers\" />\n <ScalarMarkdown\n :value=\"description\"\n withImages />\n <ParameterList\n v-if=\"parameters.length\"\n :eventBus=\"eventBus\"\n :options=\"parameterListOptions\"\n :parameters=\"parameters\">\n <template #title>Parameters</template>\n </ParameterList>\n <Operation\n v-for=\"operation in operations\"\n :key=\"operation.id\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :expandedItems=\"expandedItems\"\n :operation=\"operation\"\n :options=\"options\" />\n </SectionContent>\n </Section>\n </SectionContainer>\n</template>\n\n<style scoped>\n.channel-section {\n margin-bottom: 48px;\n}\n.channel-labels {\n margin-bottom: 8px;\n}\n.channel-description {\n padding-bottom: 4px;\n text-align: left;\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"Channel.vue.script.js","names":[],"sources":["../../../../src/components/Content/AsyncApi/Channel.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { AsyncApiDocument } from '@scalar/types/asyncapi/3.1'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n TraversedAsyncApiChannel,\n TraversedAsyncApiOperation,\n} from '@scalar/workspace-store/schemas/navigation'\nimport { computed, useId } from 'vue'\n\nimport { Anchor } from '@/components/Anchor'\nimport {\n Section,\n SectionContainer,\n SectionContainerAccordion,\n SectionContent,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\nimport ParameterList from '@/features/Operation/components/ParameterList.vue'\n\nimport AsyncApiLabels from './AsyncApiLabels.vue'\nimport { adaptAsyncApiParameters } from './helpers/adapt-async-api-parameters'\nimport {\n resolveSchemaRenderOptions,\n type AsyncApiSchemaRenderOptions,\n} from './helpers/async-api-render-options'\nimport { filterChildrenByType } from './helpers/filter-children-by-type'\nimport { getChannelServerLabels } from './helpers/get-async-api-labels'\nimport { pickHeading } from './helpers/pick-heading'\nimport { resolveAsyncApiChannel } from './helpers/resolve-async-api-nodes'\nimport Operation from './Operation.vue'\n\n/** Subset of the configuration the shared `ParameterList` renderer needs. */\ntype ParameterListOptions = AsyncApiSchemaRenderOptions &\n Pick<ApiReferenceConfigurationRaw, 'hideModels'>\n\nconst {\n channel,\n document,\n layout,\n isCollapsed,\n eventBus,\n options,\n expandedItems = {},\n level = 0,\n} = defineProps<{\n channel: TraversedAsyncApiChannel\n document: AsyncApiDocument\n layout: 'classic' | 'modern'\n isCollapsed: boolean\n eventBus: WorkspaceEventBus | null\n options?: Partial<ParameterListOptions>\n /** Map of navigation item id to expanded state, shared with the sidebar. */\n expandedItems?: Record<string, boolean>\n /**\n * Nesting depth in the navigation tree. A channel nested inside a tag\n * (`level !== 0`) inherits the tag's horizontal padding, so it skips its own\n * `SectionContainer` padding to avoid doubling the indentation.\n */\n level?: number\n}>()\n\nconst headerId = useId()\n\n/**\n * Resolve the channel from the document so we can read its description.\n * The navigation entry only carries the address and identifying keys.\n */\nconst resolvedChannel = computed(() =>\n resolveAsyncApiChannel(document, channel.channelName),\n)\n\nconst description = computed(() => resolvedChannel.value?.description ?? '')\n\n/**\n * Heading shown above each channel section.\n *\n * Prefers the human-friendly `channel.title` when it is set, then falls back\n * to `channel.address`. `channel.channelAddress` already encodes the\n * address-or-key fallback during navigation traversal, so we only need to\n * overlay `title` on top of it.\n */\nconst headingText = computed(() =>\n pickHeading(resolvedChannel.value?.title, channel.channelAddress),\n)\n\n/**\n * Channel address parameters mapped into the OpenAPI parameter shape so we can reuse the shared\n * `ParameterList` component instead of building a dedicated AsyncAPI renderer.\n */\nconst parameters = computed(() =>\n adaptAsyncApiParameters(resolvedChannel.value?.parameters),\n)\n\n/** Fill in defaults so the shared renderer always receives a complete options object. */\nconst parameterListOptions = computed<ParameterListOptions>(() => ({\n hideModels: options?.hideModels ?? false,\n ...resolveSchemaRenderOptions(options),\n}))\n\n/**\n * Server-name and protocol labels for the channel, resolved from `document.servers`\n * (restricted to `channel.servers` when declared) and rendered as pills in the header.\n */\nconst labels = computed(() =>\n getChannelServerLabels(document, resolvedChannel.value),\n)\n\n/** Operations that target this channel, rendered nested beneath the channel content. */\nconst operations = computed(() =>\n filterChildrenByType<TraversedAsyncApiOperation>(\n channel.children,\n 'asyncapi-operation',\n ),\n)\n</script>\n\n<template>\n <SectionContainerAccordion\n v-if=\"layout === 'classic'\"\n :aria-label=\"headingText\"\n class=\"channel-section\"\n :modelValue=\"!isCollapsed\"\n @update:modelValue=\"\n (value) =>\n eventBus?.emit('toggle:nav-item', { id: channel.id, open: value })\n \">\n <template #title>\n <SectionHeader class=\"channel-name\">\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: channel.id })\n \">\n <SectionHeaderTag :level=\"2\">\n {{ headingText }}\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <AsyncApiLabels\n class=\"channel-labels\"\n :protocols=\"labels.protocols\"\n :servers=\"labels.servers\" />\n <ScalarMarkdown\n class=\"channel-description\"\n :value=\"description\"\n withImages />\n </template>\n <ParameterList\n v-if=\"parameters.length\"\n :eventBus=\"eventBus\"\n :options=\"parameterListOptions\"\n :parameters=\"parameters\">\n <template #title>Parameters</template>\n </ParameterList>\n <Operation\n v-for=\"operation in operations\"\n :key=\"operation.id\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :expandedItems=\"expandedItems\"\n :operation=\"operation\"\n :options=\"options\" />\n </SectionContainerAccordion>\n\n <SectionContainer\n v-else\n :aria-labelledby=\"headerId\"\n :omit=\"level !== 0\"\n role=\"region\">\n <Section\n :id=\"channel.id\"\n role=\"none\"\n @intersecting=\"\n () => eventBus?.emit('intersecting:nav-item', { id: channel.id })\n \">\n <SectionHeader>\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: channel.id })\n \">\n <SectionHeaderTag\n :id=\"headerId\"\n :level=\"2\">\n {{ headingText }}\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <SectionContent>\n <AsyncApiLabels\n class=\"channel-labels\"\n :protocols=\"labels.protocols\"\n :servers=\"labels.servers\" />\n <ScalarMarkdown\n :value=\"description\"\n withImages />\n <ParameterList\n v-if=\"parameters.length\"\n :eventBus=\"eventBus\"\n :options=\"parameterListOptions\"\n :parameters=\"parameters\">\n <template #title>Parameters</template>\n </ParameterList>\n <Operation\n v-for=\"operation in operations\"\n :key=\"operation.id\"\n :document=\"document\"\n :eventBus=\"eventBus\"\n :expandedItems=\"expandedItems\"\n :operation=\"operation\"\n :options=\"options\" />\n </SectionContent>\n </Section>\n </SectionContainer>\n</template>\n\n<style scoped>\n.channel-section {\n margin-bottom: 48px;\n}\n.channel-labels {\n margin-bottom: 8px;\n}\n.channel-description {\n padding-bottom: 4px;\n text-align: left;\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { WorkspaceEventBus } from '@scalar/workspace-store/events';
2
+ import type { TraversedTag } from '@scalar/workspace-store/schemas/navigation';
3
+ type __VLS_Props = {
4
+ tag: TraversedTag;
5
+ eventBus: WorkspaceEventBus | null;
6
+ };
7
+ 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>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
10
+ //# sourceMappingURL=ChannelsList.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelsList.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Content/AsyncApi/ChannelsList.vue"],"names":[],"mappings":"AAoGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,4CAA4C,CAAA;AAMnD,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,YAAY,CAAA;IACjB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACnC,CAAC;AAmIF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,9 @@
1
+ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
2
+ import ChannelsList_vue_vue_type_script_setup_true_lang_default from "./ChannelsList.vue.script.js";
3
+ /* empty css */
4
+ //#region src/components/Content/AsyncApi/ChannelsList.vue
5
+ var ChannelsList_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ChannelsList_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-817abeb3"]]);
6
+ //#endregion
7
+ export { ChannelsList_default as default };
8
+
9
+ //# sourceMappingURL=ChannelsList.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelsList.vue.js","names":[],"sources":["../../../../src/components/Content/AsyncApi/ChannelsList.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarCard,\n ScalarCardHeader,\n ScalarCardSection,\n} from '@scalar/components/card'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n TraversedAsyncApiChannel,\n TraversedTag,\n} from '@scalar/workspace-store/schemas/navigation'\nimport { computed } from 'vue'\n\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport { useLocalization } from '@/features/localization'\n\nconst { tag } = defineProps<{\n tag: TraversedTag\n eventBus: WorkspaceEventBus | null\n}>()\nconst { translate } = useLocalization()\n\n/**\n * Channels grouped under this tag. The OpenAPI `OperationsList` only knows about\n * `operation`/`webhook` children, so AsyncAPI tags need their own list that links\n * straight to each channel section.\n */\nconst channels = computed(\n () =>\n tag.children?.filter(\n (child): child is TraversedAsyncApiChannel =>\n child.type === 'asyncapi-channel',\n ) ?? [],\n)\n</script>\n\n<template>\n <ScalarCard\n v-if=\"channels.length\"\n class=\"channels-card\">\n <ScalarCardHeader muted>\n <ScreenReader>{{ tag.title }}</ScreenReader>\n {{ translate('navigation.channels') }}\n </ScalarCardHeader>\n <ScalarCardSection class=\"custom-scroll max-h-[60vh]\">\n <ul\n :aria-label=\"translate('navigation.channels')\"\n class=\"channels\">\n <li\n v-for=\"channel in channels\"\n :key=\"channel.id\"\n class=\"contents\">\n <a\n class=\"channel\"\n @click.prevent=\"\n () => eventBus?.emit('scroll-to:nav-item', { id: channel.id })\n \">\n {{ channel.title || channel.channelAddress }}\n </a>\n </li>\n </ul>\n </ScalarCardSection>\n </ScalarCard>\n</template>\n\n<style scoped>\n.channels-card {\n position: sticky;\n top: calc(var(--refs-viewport-offset) + 24px);\n font-size: var(--scalar-font-size-3);\n}\n.channels {\n overflow: auto;\n background: var(--scalar-background-2);\n padding: 10px 12px;\n width: 100%;\n}\n.channel {\n display: flex;\n white-space: nowrap;\n cursor: pointer;\n text-decoration: none;\n color: var(--scalar-color-1);\n line-height: 1.55;\n font-family: var(--scalar-font-code);\n font-size: var(--scalar-small);\n}\n.channel:hover,\n.channel:focus-visible {\n text-decoration: underline;\n}\n</style>\n"],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { useLocalization } from "../../../features/localization/use-localization.js";
2
+ import ScreenReader_default from "../../ScreenReader.vue.js";
3
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, renderList, toDisplayString, unref, withCtx, withModifiers } from "vue";
4
+ import { ScalarCard, ScalarCardHeader, ScalarCardSection } from "@scalar/components/card";
5
+ //#region src/components/Content/AsyncApi/ChannelsList.vue?vue&type=script&setup=true&lang.ts
6
+ var _hoisted_1 = ["aria-label"];
7
+ var _hoisted_2 = ["onClick"];
8
+ var ChannelsList_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
9
+ __name: "ChannelsList",
10
+ props: {
11
+ tag: {},
12
+ eventBus: {}
13
+ },
14
+ setup(__props) {
15
+ const { translate } = useLocalization();
16
+ /**
17
+ * Channels grouped under this tag. The OpenAPI `OperationsList` only knows about
18
+ * `operation`/`webhook` children, so AsyncAPI tags need their own list that links
19
+ * straight to each channel section.
20
+ */
21
+ const channels = computed(() => __props.tag.children?.filter((child) => child.type === "asyncapi-channel") ?? []);
22
+ return (_ctx, _cache) => {
23
+ return channels.value.length ? (openBlock(), createBlock(unref(ScalarCard), {
24
+ key: 0,
25
+ class: "channels-card"
26
+ }, {
27
+ default: withCtx(() => [createVNode(unref(ScalarCardHeader), { muted: "" }, {
28
+ default: withCtx(() => [createVNode(ScreenReader_default, null, {
29
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.tag.title), 1)]),
30
+ _: 1
31
+ }), createTextVNode(" " + toDisplayString(unref(translate)("navigation.channels")), 1)]),
32
+ _: 1
33
+ }), createVNode(unref(ScalarCardSection), { class: "custom-scroll max-h-[60vh]" }, {
34
+ default: withCtx(() => [createElementVNode("ul", {
35
+ "aria-label": unref(translate)("navigation.channels"),
36
+ class: "channels"
37
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(channels.value, (channel) => {
38
+ return openBlock(), createElementBlock("li", {
39
+ key: channel.id,
40
+ class: "contents"
41
+ }, [createElementVNode("a", {
42
+ class: "channel",
43
+ onClick: withModifiers(() => __props.eventBus?.emit("scroll-to:nav-item", { id: channel.id }), ["prevent"])
44
+ }, toDisplayString(channel.title || channel.channelAddress), 9, _hoisted_2)]);
45
+ }), 128))], 8, _hoisted_1)]),
46
+ _: 1
47
+ })]),
48
+ _: 1
49
+ })) : createCommentVNode("", true);
50
+ };
51
+ }
52
+ });
53
+ //#endregion
54
+ export { ChannelsList_vue_vue_type_script_setup_true_lang_default as default };
55
+
56
+ //# sourceMappingURL=ChannelsList.vue.script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChannelsList.vue.script.js","names":[],"sources":["../../../../src/components/Content/AsyncApi/ChannelsList.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n ScalarCard,\n ScalarCardHeader,\n ScalarCardSection,\n} from '@scalar/components/card'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n TraversedAsyncApiChannel,\n TraversedTag,\n} from '@scalar/workspace-store/schemas/navigation'\nimport { computed } from 'vue'\n\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport { useLocalization } from '@/features/localization'\n\nconst { tag } = defineProps<{\n tag: TraversedTag\n eventBus: WorkspaceEventBus | null\n}>()\nconst { translate } = useLocalization()\n\n/**\n * Channels grouped under this tag. The OpenAPI `OperationsList` only knows about\n * `operation`/`webhook` children, so AsyncAPI tags need their own list that links\n * straight to each channel section.\n */\nconst channels = computed(\n () =>\n tag.children?.filter(\n (child): child is TraversedAsyncApiChannel =>\n child.type === 'asyncapi-channel',\n ) ?? [],\n)\n</script>\n\n<template>\n <ScalarCard\n v-if=\"channels.length\"\n class=\"channels-card\">\n <ScalarCardHeader muted>\n <ScreenReader>{{ tag.title }}</ScreenReader>\n {{ translate('navigation.channels') }}\n </ScalarCardHeader>\n <ScalarCardSection class=\"custom-scroll max-h-[60vh]\">\n <ul\n :aria-label=\"translate('navigation.channels')\"\n class=\"channels\">\n <li\n v-for=\"channel in channels\"\n :key=\"channel.id\"\n class=\"contents\">\n <a\n class=\"channel\"\n @click.prevent=\"\n () => eventBus?.emit('scroll-to:nav-item', { id: channel.id })\n \">\n {{ channel.title || channel.channelAddress }}\n </a>\n </li>\n </ul>\n </ScalarCardSection>\n </ScalarCard>\n</template>\n\n<style scoped>\n.channels-card {\n position: sticky;\n top: calc(var(--refs-viewport-offset) + 24px);\n font-size: var(--scalar-font-size-3);\n}\n.channels {\n overflow: auto;\n background: var(--scalar-background-2);\n padding: 10px 12px;\n width: 100%;\n}\n.channel {\n display: flex;\n white-space: nowrap;\n cursor: pointer;\n text-decoration: none;\n color: var(--scalar-color-1);\n line-height: 1.55;\n font-family: var(--scalar-font-code);\n font-size: var(--scalar-small);\n}\n.channel:hover,\n.channel:focus-visible {\n text-decoration: underline;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;EAoBA,MAAM,EAAE,cAAc,iBAAgB;;;;;;EAOtC,MAAM,WAAW,eAEb,QAAA,IAAI,UAAU,QACX,UACC,MAAM,SAAS,mBAClB,IAAI,EAAE,CACX;;UAKU,SAAA,MAAS,UAAA,WAAA,EADjB,YAyBa,MAAA,WAAA,EAAA;;IAvBX,OAAM;;2BAIa,CAHnB,YAGmB,MAAA,iBAAA,EAAA,EAHD,OAAA,IAAK,EAAA;4BACuB,CAA5C,YAA4C,sBAAA,MAAA;6BAAf,CAAA,gBAAA,gBAAZ,QAAA,IAAI,MAAK,EAAA,EAAA,CAAA,CAAA;;yBAAkB,MAC5C,gBAAG,MAAA,UAAS,CAAA,sBAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;QAEd,YAiBoB,MAAA,kBAAA,EAAA,EAjBD,OAAM,8BAA4B,EAAA;4BAgB9C,CAfL,mBAeK,MAAA;MAdF,cAAY,MAAA,UAAS,CAAA,sBAAA;MACtB,OAAM;2BACN,mBAWK,UAAA,MAAA,WAVe,SAAA,QAAX,YAAO;0BADhB,mBAWK,MAAA;OATF,KAAK,QAAQ;OACd,OAAM;UACN,mBAMI,KAAA;OALF,OAAM;OACL,SAAK,oBAA+B,QAAA,UAAU,KAAI,sBAAA,EAAA,IAA6B,QAAQ,IAAE,CAAA,EAAA,CAAA,UAAA,CAAA;yBAGvF,QAAQ,SAAS,QAAQ,eAAc,EAAA,GAAA,WAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TagSection.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/Content/Tags/components/TagSection.vue"],"names":[],"mappings":"AAwEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAgB9E,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,YAAY,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACnC,CAAC;AAmNF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"TagSection.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/Content/Tags/components/TagSection.vue"],"names":[],"mappings":"AAwFA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAkB9E,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,YAAY,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACnC,CAAC;AA2OF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TagSection.vue.js","names":[],"sources":["../../../../../src/components/Content/Tags/components/TagSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\n\nimport { Anchor } from '@/components/Anchor'\nimport { OperationsList } from '@/components/OperationsList'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport {\n Section,\n SectionColumn,\n SectionColumns,\n SectionContent,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\nimport { useLocalization } from '@/features/localization'\nimport { SpecificationExtension } from '@/features/specification-extension'\n\nconst { tag, headerId, isCollapsed } = defineProps<{\n tag: TraversedTag\n headerId?: string\n isCollapsed?: boolean\n eventBus: WorkspaceEventBus | null\n}>()\nconst { translate } = useLocalization()\n</script>\n<template>\n <Section\n v-if=\"tag\"\n :id=\"tag.id\"\n role=\"none\"\n @intersecting=\"\n () => eventBus?.emit('intersecting:nav-item', { id: tag.id })\n \">\n <SectionHeader>\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: tag.id })\n \">\n <SectionHeaderTag\n :id=\"headerId\"\n :level=\"2\">\n {{ tag.title }}\n <ScreenReader v-if=\"isCollapsed\">\n ({{ translate('navigation.collapsed') }})\n </ScreenReader>\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <SectionContent>\n <SectionColumns>\n <SectionColumn>\n <ScalarMarkdown\n :clamp=\"isCollapsed ? 7 : undefined\"\n :value=\"tag?.description ?? ''\"\n withImages />\n </SectionColumn>\n <SectionColumn>\n <OperationsList\n :eventBus=\"eventBus\"\n :tag=\"tag\" />\n </SectionColumn>\n </SectionColumns>\n </SectionContent>\n <SpecificationExtension :value=\"tag.xKeys\" />\n </Section>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"TagSection.vue.js","names":[],"sources":["../../../../../src/components/Content/Tags/components/TagSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\nimport { computed } from 'vue'\n\nimport { Anchor } from '@/components/Anchor'\nimport ChannelsList from '@/components/Content/AsyncApi/ChannelsList.vue'\nimport { OperationsList } from '@/components/OperationsList'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport {\n Section,\n SectionColumn,\n SectionColumns,\n SectionContent,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\nimport { useLocalization } from '@/features/localization'\nimport { SpecificationExtension } from '@/features/specification-extension'\n\nconst { tag, headerId, isCollapsed } = defineProps<{\n tag: TraversedTag\n headerId?: string\n isCollapsed?: boolean\n eventBus: WorkspaceEventBus | null\n}>()\nconst { translate } = useLocalization()\n\n/**\n * AsyncAPI tags carry `asyncapi-channel` children instead of `operation`/`webhook`,\n * so they get a dedicated channel list rather than the (empty) operations card.\n */\nconst hasChannels = computed(\n () =>\n tag.children?.some((child) => child.type === 'asyncapi-channel') ?? false,\n)\n</script>\n<template>\n <Section\n v-if=\"tag\"\n :id=\"tag.id\"\n role=\"none\"\n @intersecting=\"\n () => eventBus?.emit('intersecting:nav-item', { id: tag.id })\n \">\n <SectionHeader>\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: tag.id })\n \">\n <SectionHeaderTag\n :id=\"headerId\"\n :level=\"2\">\n {{ tag.title }}\n <ScreenReader v-if=\"isCollapsed\">\n ({{ translate('navigation.collapsed') }})\n </ScreenReader>\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <SectionContent>\n <SectionColumns>\n <SectionColumn>\n <ScalarMarkdown\n :clamp=\"isCollapsed ? 7 : undefined\"\n :value=\"tag?.description ?? ''\"\n withImages />\n </SectionColumn>\n <SectionColumn>\n <ChannelsList\n v-if=\"hasChannels\"\n :eventBus=\"eventBus\"\n :tag=\"tag\" />\n <OperationsList\n v-else\n :eventBus=\"eventBus\"\n :tag=\"tag\" />\n </SectionColumn>\n </SectionColumns>\n </SectionContent>\n <SpecificationExtension :value=\"tag.xKeys\" />\n </Section>\n</template>\n"],"mappings":""}
@@ -8,8 +8,9 @@ import SectionHeaderTag_default from "../../../Section/SectionHeaderTag.vue.js";
8
8
  import ScreenReader_default from "../../../ScreenReader.vue.js";
9
9
  import Anchor_default from "../../../Anchor/Anchor.vue.js";
10
10
  import SpecificationExtension_default from "../../../../features/specification-extension/SpecificationExtension.vue.js";
11
+ import ChannelsList_default from "../../AsyncApi/ChannelsList.vue.js";
11
12
  import OperationsList_default from "../../../OperationsList/OperationsList.vue.js";
12
- import { createBlock, createCommentVNode, createTextVNode, createVNode, defineComponent, openBlock, toDisplayString, unref, withCtx } from "vue";
13
+ import { computed, createBlock, createCommentVNode, createTextVNode, createVNode, defineComponent, openBlock, toDisplayString, unref, withCtx } from "vue";
13
14
  import { ScalarMarkdown } from "@scalar/components/markdown";
14
15
  //#region src/components/Content/Tags/components/TagSection.vue?vue&type=script&setup=true&lang.ts
15
16
  var TagSection_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
@@ -22,6 +23,11 @@ var TagSection_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
22
23
  },
23
24
  setup(__props) {
24
25
  const { translate } = useLocalization();
26
+ /**
27
+ * AsyncAPI tags carry `asyncapi-channel` children instead of `operation`/`webhook`,
28
+ * so they get a dedicated channel list rather than the (empty) operations card.
29
+ */
30
+ const hasChannels = computed(() => __props.tag.children?.some((child) => child.type === "asyncapi-channel") ?? false);
25
31
  return (_ctx, _cache) => {
26
32
  return __props.tag ? (openBlock(), createBlock(unref(Section_default), {
27
33
  key: 0,
@@ -56,10 +62,15 @@ var TagSection_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
56
62
  }, null, 8, ["clamp", "value"])]),
57
63
  _: 1
58
64
  }), createVNode(unref(SectionColumn_default), null, {
59
- default: withCtx(() => [createVNode(unref(OperationsList_default), {
65
+ default: withCtx(() => [hasChannels.value ? (openBlock(), createBlock(ChannelsList_default, {
66
+ key: 0,
60
67
  eventBus: __props.eventBus,
61
68
  tag: __props.tag
62
- }, null, 8, ["eventBus", "tag"])]),
69
+ }, null, 8, ["eventBus", "tag"])) : (openBlock(), createBlock(unref(OperationsList_default), {
70
+ key: 1,
71
+ eventBus: __props.eventBus,
72
+ tag: __props.tag
73
+ }, null, 8, ["eventBus", "tag"]))]),
63
74
  _: 1
64
75
  })]),
65
76
  _: 1
@@ -1 +1 @@
1
- {"version":3,"file":"TagSection.vue.script.js","names":[],"sources":["../../../../../src/components/Content/Tags/components/TagSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\n\nimport { Anchor } from '@/components/Anchor'\nimport { OperationsList } from '@/components/OperationsList'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport {\n Section,\n SectionColumn,\n SectionColumns,\n SectionContent,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\nimport { useLocalization } from '@/features/localization'\nimport { SpecificationExtension } from '@/features/specification-extension'\n\nconst { tag, headerId, isCollapsed } = defineProps<{\n tag: TraversedTag\n headerId?: string\n isCollapsed?: boolean\n eventBus: WorkspaceEventBus | null\n}>()\nconst { translate } = useLocalization()\n</script>\n<template>\n <Section\n v-if=\"tag\"\n :id=\"tag.id\"\n role=\"none\"\n @intersecting=\"\n () => eventBus?.emit('intersecting:nav-item', { id: tag.id })\n \">\n <SectionHeader>\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: tag.id })\n \">\n <SectionHeaderTag\n :id=\"headerId\"\n :level=\"2\">\n {{ tag.title }}\n <ScreenReader v-if=\"isCollapsed\">\n ({{ translate('navigation.collapsed') }})\n </ScreenReader>\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <SectionContent>\n <SectionColumns>\n <SectionColumn>\n <ScalarMarkdown\n :clamp=\"isCollapsed ? 7 : undefined\"\n :value=\"tag?.description ?? ''\"\n withImages />\n </SectionColumn>\n <SectionColumn>\n <OperationsList\n :eventBus=\"eventBus\"\n :tag=\"tag\" />\n </SectionColumn>\n </SectionColumns>\n </SectionContent>\n <SpecificationExtension :value=\"tag.xKeys\" />\n </Section>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;EAyBA,MAAM,EAAE,cAAc,iBAAgB;;UAI5B,QAAA,OAAA,WAAA,EADR,YAsCU,MAAA,gBAAA,EAAA;;IApCP,IAAI,QAAA,IAAI;IACT,MAAK;IACJ,gBAAY,OAAA,OAAA,OAAA,WAAe,QAAA,UAAU,KAAI,yBAAA,EAAA,IAAgC,QAAA,IAAI,IAAE,CAAA;;2BAiBhE;KAdhB,YAcgB,MAAA,sBAAA,EAAA,MAAA;6BADL,CAZT,YAYS,MAAA,eAAA,EAAA,EAXN,iBAAa,OAAA,OAAA,OAAA,WAAmB,QAAA,UAAU,KAAI,qBAAA,EAAA,IAA4B,QAAA,IAAI,IAAE,CAAA,GAAA,EAAA;8BAU9D,CAPnB,YAOmB,MAAA,yBAAA,EAAA;QANhB,IAAI,QAAA;QACJ,OAAO;;+BACO,CAAA,gBAAA,gBAAZ,QAAA,IAAI,MAAK,GAAG,KACf,EAAA,EAAoB,QAAA,eAAA,WAAA,EAApB,YAEe,sBAAA,EAAA,KAAA,GAAA,EAAA;gCADZ,CAAA,gBAD8B,OAC9B,gBAAG,MAAA,UAAS,CAAA,uBAAA,CAAA,GAA2B,MAC1C,EAAA,CAAA,CAAA;;;;;;;;;KAIN,YAciB,MAAA,uBAAA,EAAA,MAAA;6BADE,CAZjB,YAYiB,MAAA,uBAAA,EAAA,MAAA;8BANC,CALhB,YAKgB,MAAA,sBAAA,EAAA,MAAA;+BADC,CAHf,YAGe,MAAA,eAAA,EAAA;SAFZ,OAAO,QAAA,cAAW,IAAO,KAAA;SACzB,OAAO,QAAA,KAAK,eAAW;SACxB,YAAA;;;WAEJ,YAIgB,MAAA,sBAAA,EAAA,MAAA;+BADC,CAFf,YAEe,MAAA,uBAAA,EAAA;SADZ,UAAU,QAAA;SACV,KAAK,QAAA;;;;;;;;KAId,YAA6C,MAAA,+BAAA,EAAA,EAApB,OAAO,QAAA,IAAI,OAAA,EAAA,MAAA,GAAA,CAAA,QAAA,CAAA"}
1
+ {"version":3,"file":"TagSection.vue.script.js","names":[],"sources":["../../../../../src/components/Content/Tags/components/TagSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { TraversedTag } from '@scalar/workspace-store/schemas/navigation'\nimport { computed } from 'vue'\n\nimport { Anchor } from '@/components/Anchor'\nimport ChannelsList from '@/components/Content/AsyncApi/ChannelsList.vue'\nimport { OperationsList } from '@/components/OperationsList'\nimport ScreenReader from '@/components/ScreenReader.vue'\nimport {\n Section,\n SectionColumn,\n SectionColumns,\n SectionContent,\n SectionHeader,\n SectionHeaderTag,\n} from '@/components/Section'\nimport { useLocalization } from '@/features/localization'\nimport { SpecificationExtension } from '@/features/specification-extension'\n\nconst { tag, headerId, isCollapsed } = defineProps<{\n tag: TraversedTag\n headerId?: string\n isCollapsed?: boolean\n eventBus: WorkspaceEventBus | null\n}>()\nconst { translate } = useLocalization()\n\n/**\n * AsyncAPI tags carry `asyncapi-channel` children instead of `operation`/`webhook`,\n * so they get a dedicated channel list rather than the (empty) operations card.\n */\nconst hasChannels = computed(\n () =>\n tag.children?.some((child) => child.type === 'asyncapi-channel') ?? false,\n)\n</script>\n<template>\n <Section\n v-if=\"tag\"\n :id=\"tag.id\"\n role=\"none\"\n @intersecting=\"\n () => eventBus?.emit('intersecting:nav-item', { id: tag.id })\n \">\n <SectionHeader>\n <Anchor\n @copyAnchorUrl=\"\n () => eventBus?.emit('copy-url:nav-item', { id: tag.id })\n \">\n <SectionHeaderTag\n :id=\"headerId\"\n :level=\"2\">\n {{ tag.title }}\n <ScreenReader v-if=\"isCollapsed\">\n ({{ translate('navigation.collapsed') }})\n </ScreenReader>\n </SectionHeaderTag>\n </Anchor>\n </SectionHeader>\n <SectionContent>\n <SectionColumns>\n <SectionColumn>\n <ScalarMarkdown\n :clamp=\"isCollapsed ? 7 : undefined\"\n :value=\"tag?.description ?? ''\"\n withImages />\n </SectionColumn>\n <SectionColumn>\n <ChannelsList\n v-if=\"hasChannels\"\n :eventBus=\"eventBus\"\n :tag=\"tag\" />\n <OperationsList\n v-else\n :eventBus=\"eventBus\"\n :tag=\"tag\" />\n </SectionColumn>\n </SectionColumns>\n </SectionContent>\n <SpecificationExtension :value=\"tag.xKeys\" />\n </Section>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EA2BA,MAAM,EAAE,cAAc,iBAAgB;;;;;EAMtC,MAAM,cAAc,eAEhB,QAAA,IAAI,UAAU,MAAM,UAAU,MAAM,SAAS,mBAAmB,IAAI,MACxE;;UAIU,QAAA,OAAA,WAAA,EADR,YA2CU,MAAA,gBAAA,EAAA;;IAzCP,IAAI,QAAA,IAAI;IACT,MAAK;IACJ,gBAAY,OAAA,OAAA,OAAA,WAAe,QAAA,UAAU,KAAI,yBAAA,EAAA,IAAgC,QAAA,IAAI,IAAE,CAAA;;2BAiBhE;KAdhB,YAcgB,MAAA,sBAAA,EAAA,MAAA;6BADL,CAZT,YAYS,MAAA,eAAA,EAAA,EAXN,iBAAa,OAAA,OAAA,OAAA,WAAmB,QAAA,UAAU,KAAI,qBAAA,EAAA,IAA4B,QAAA,IAAI,IAAE,CAAA,GAAA,EAAA;8BAU9D,CAPnB,YAOmB,MAAA,yBAAA,EAAA;QANhB,IAAI,QAAA;QACJ,OAAO;;+BACO,CAAA,gBAAA,gBAAZ,QAAA,IAAI,MAAK,GAAG,KACf,EAAA,EAAoB,QAAA,eAAA,WAAA,EAApB,YAEe,sBAAA,EAAA,KAAA,GAAA,EAAA;gCADZ,CAAA,gBAD8B,OAC9B,gBAAG,MAAA,UAAS,CAAA,uBAAA,CAAA,GAA2B,MAC1C,EAAA,CAAA,CAAA;;;;;;;;;KAIN,YAmBiB,MAAA,uBAAA,EAAA,MAAA;6BADE,CAjBjB,YAiBiB,MAAA,uBAAA,EAAA,MAAA;8BAXC,CALhB,YAKgB,MAAA,sBAAA,EAAA,MAAA;+BADC,CAHf,YAGe,MAAA,eAAA,EAAA;SAFZ,OAAO,QAAA,cAAW,IAAO,KAAA;SACzB,OAAO,QAAA,KAAK,eAAW;SACxB,YAAA;;;WAEJ,YASgB,MAAA,sBAAA,EAAA,MAAA;+BALC,CAFP,YAAA,SAAA,WAAA,EADR,YAGe,sBAAA;;SADZ,UAAU,QAAA;SACV,KAAK,QAAA;0DACR,YAGe,MAAA,uBAAA,EAAA;;SADZ,UAAU,QAAA;SACV,KAAK,QAAA;;;;;;;;KAId,YAA6C,MAAA,+BAAA,EAAA,EAApB,OAAO,QAAA,IAAI,OAAA,EAAA,MAAA,GAAA,CAAA,QAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModernLayout.vue.script.js","names":[],"sources":["../../../../src/features/Operation/layouts/ModernLayout.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { CodeExample } from '@scalar/blocks/code-example'\nimport { ScalarErrorBoundary } from '@scalar/components/error-boundary'\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport { ScalarIconWebhooksLogo } from '@scalar/icons'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { SecuritySchemeObjectSecret } from '@scalar/workspace-store/request-example'\nimport type {\n OpenApiDocument,\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, provide, ref, useId } from 'vue'\n\nimport { Anchor } from '@/components/Anchor'\nimport { Badge } from '@/components/Badge'\nimport { LinkList } from '@/components/LinkList'\nimport OperationPath from '@/components/OperationPath.vue'\nimport { Section, SectionContent, SectionHeaderTag } from '@/components/Section'\nimport AskAgentButton from '@/features/ask-agent-button/AskAgentButton.vue'\nimport { ExampleResponses } from '@/features/example-responses'\nimport { ExternalDocs } from '@/features/external-docs'\nimport { useLocalization } from '@/features/localization'\nimport Callbacks from '@/features/Operation/components/callbacks/Callbacks.vue'\nimport OperationParameters from '@/features/Operation/components/OperationParameters.vue'\nimport OperationResponses from '@/features/Operation/components/OperationResponses.vue'\nimport SecurityRequirementBadge from '@/features/Operation/components/SecurityRequirementBadge.vue'\nimport type { RequiredSecurity } from '@/features/Operation/helpers/get-required-security'\nimport {\n getOperationStability,\n getOperationStabilityColor,\n isOperationDeprecated,\n} from '@/features/Operation/helpers/operation-stability'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\nimport {\n REQUEST_BODY_COMPOSITION_INDEX_SYMBOL,\n type RequestBodyCompositionSelection,\n} from '@/features/Operation/request-body-composition-index'\nimport { getXKeysFromObject } from '@/features/specification-extension'\nimport SpecificationExtension from '@/features/specification-extension/SpecificationExtension.vue'\nimport { TestRequestButton } from '@/features/test-request-button'\nimport { XBadges } from '@/features/x-badges'\n\nconst {\n clientOptions,\n document,\n eventBus,\n isWebhook,\n method,\n operation,\n options,\n path,\n requiredSecurity,\n selectedServer,\n selectedSecuritySchemes,\n selectedClient,\n selectedExample,\n} = defineProps<\n Omit<\n OperationProps,\n | 'document'\n | 'pathValue'\n | 'server'\n | 'isCollapsed'\n | 'securitySchemes'\n | 'authStore'\n > & {\n /** Operation object with path params */\n operation: OperationObject\n /** The selected server for the operation */\n selectedServer: ServerObject | null\n /** The selected security schemes for the operation */\n selectedSecuritySchemes: SecuritySchemeObjectSecret[]\n /** Required/optional security state for the badge next to the path */\n requiredSecurity: RequiredSecurity\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n }\n>()\nconst { translate } = useLocalization()\n\nconst operationTitle = computed(() => operation.summary || path || '')\n\nconst labelId = useId()\n\nconst operationExtensions = computed(() => getXKeysFromObject(operation))\n\n/** Track the selected request body content type so the code sample stays in sync */\nconst selectedRequestBodyContentType = ref<string | undefined>()\n\n/** Selected request body oneOf/anyOf variants; synced with schema dropdowns and code sample */\nconst requestBodyCompositionSelection = ref<RequestBodyCompositionSelection>({})\n\nconst requestBodyCompositionSelectionForCodeSample = computed(\n (): RequestBodyCompositionSelection => ({\n ...requestBodyCompositionSelection.value,\n }),\n)\n\nconst requestBodyCompositionSelectionKey = computed(() =>\n JSON.stringify(requestBodyCompositionSelectionForCodeSample.value),\n)\n\nprovide(REQUEST_BODY_COMPOSITION_INDEX_SYMBOL, requestBodyCompositionSelection)\n</script>\n\n<template>\n <Section\n :id=\"id\"\n :aria-labelledby=\"labelId\"\n :label=\"operationTitle\"\n tabindex=\"-1\"\n @intersecting=\"() => eventBus?.emit('intersecting:nav-item', { id })\">\n <SectionContent>\n <!-- Badges -->\n <div class=\"flex flex-row justify-between gap-1\">\n <!-- Left -->\n <div class=\"flex gap-1\">\n <!-- Operation ID -->\n <Badge v-if=\"options?.showOperationId && operation.operationId\">\n {{ operation.operationId }}\n </Badge>\n <!-- Stability badge -->\n <Badge\n v-if=\"getOperationStability(operation)\"\n class=\"capitalize\"\n :class=\"getOperationStabilityColor(operation)\">\n {{ getOperationStability(operation) }}\n </Badge>\n <!-- Webhook badge -->\n <Badge\n v-if=\"isWebhook\"\n class=\"font-code text-green flex w-fit items-center justify-center gap-1\">\n <ScalarIconWebhooksLogo weight=\"bold\" />\n {{ translate('operation.webhook') }}\n </Badge>\n <!-- x-badges before -->\n <XBadges\n :badges=\"operation['x-badges']\"\n position=\"before\" />\n </div>\n <!-- Right -->\n <div class=\"flex gap-1\">\n <!-- x-badges after -->\n <XBadges\n :badges=\"operation['x-badges']\"\n position=\"after\" />\n </div>\n </div>\n <div class=\"operation-layout\">\n <!-- Title -->\n <div\n class=\"operation-title\"\n :class=\"isOperationDeprecated(operation) && 'deprecated'\">\n <Anchor\n @copyAnchorUrl=\"() => eventBus?.emit('copy-url:nav-item', { id })\">\n <SectionHeaderTag\n :id=\"labelId\"\n :level=\"3\">\n {{ operationTitle }}\n </SectionHeaderTag>\n </Anchor>\n </div>\n\n <!-- Required auth badge -->\n <div class=\"operation-auth\">\n <SecurityRequirementBadge :requiredSecurity />\n </div>\n\n <!-- Description -->\n <div class=\"operation-description\">\n <SpecificationExtension :value=\"operationExtensions\" />\n <ScalarMarkdown\n :anchorPrefix=\"id\"\n :aria-label=\"translate('common.description')\"\n role=\"group\"\n transformType=\"heading\"\n :value=\"operation.description\"\n withAnchors\n withImages />\n </div>\n\n <!--\n Parameters, request body, responses and callbacks.\n\n This block is kept before the examples in source order on purpose: the\n request body schema (via SchemaComposition) seeds the shared\n requestBodyCompositionSelection on mount, which drives the\n CodeExample's :key. Mounting the details first means the code\n sample reads the final key on its first render and is never remounted —\n a remount would reset the selected client and tear down an open client\n picker. The grid (see grid-template-areas below) still paints the\n examples on the right, independent of this source order.\n -->\n <div class=\"operation-details\">\n <OperationParameters\n v-model:selectedContentType=\"selectedRequestBodyContentType\"\n :breadcrumb=\"[id]\"\n :document\n :eventBus\n :options\n :parameters=\"operation.parameters\"\n :requestBody=\"getResolvedRef(operation.requestBody)\" />\n <OperationResponses\n :breadcrumb=\"[id]\"\n :collapsableItems=\"!options.expandAllResponses\"\n :document\n :eventBus\n :options\n :responses=\"operation.responses\" />\n\n <!-- Callbacks -->\n <ScalarErrorBoundary>\n <Callbacks\n v-if=\"operation.callbacks\"\n :callbacks=\"operation.callbacks\"\n class=\"mt-6\"\n :document\n :eventBus\n :options\n :path />\n </ScalarErrorBoundary>\n </div>\n\n <!-- Example request and responses -->\n <div class=\"examples\">\n <!-- External Docs -->\n <LinkList v-if=\"operation.externalDocs\">\n <ExternalDocs :value=\"operation.externalDocs\" />\n </LinkList>\n\n <!-- New Example Request -->\n <ScalarErrorBoundary>\n <CodeExample\n :key=\"requestBodyCompositionSelectionKey\"\n :clientOptions\n :eventBus\n fallback\n :isWebhook\n :method\n :operation\n :path\n :requestBodyCompositionSelection=\"\n requestBodyCompositionSelectionForCodeSample\n \"\n :securitySchemes=\"selectedSecuritySchemes\"\n :selectedClient\n :selectedContentType=\"selectedRequestBodyContentType\"\n :selectedExample\n :selectedServer>\n <template #header>\n <OperationPath\n class=\"font-code text-c-2 [&_em]:text-c-1 min-w-0 [&_em]:not-italic\"\n :deprecated=\"operation?.deprecated\"\n :path=\"path\" />\n </template>\n <template\n v-if=\"!isWebhook\"\n #footer=\"{ exampleName }\">\n <div class=\"flex\">\n <AskAgentButton />\n <TestRequestButton\n v-if=\"!options.hideTestRequestButton\"\n :id\n :eventBus\n :exampleName\n :method\n :path\n :requestBodyCompositionSelection=\"\n requestBodyCompositionSelectionForCodeSample\n \" />\n </div>\n </template>\n </CodeExample>\n </ScalarErrorBoundary>\n\n <ScalarErrorBoundary>\n <ExampleResponses\n v-if=\"operation.responses\"\n :eventBus\n :responses=\"operation.responses\"\n :selectedExample\n style=\"margin-top: 12px\" />\n </ScalarErrorBoundary>\n </div>\n </div>\n </SectionContent>\n </Section>\n</template>\n\n<style scoped>\n/*\n * The operation is a single grid so the request example can sit beside the\n * details on wide screens, then be lifted directly under the description when\n * the layout collapses (see the container query below). Vertical rhythm comes\n * from element margins rather than row-gap, because the details block carries\n * its own leading margin (mt-6) that already spaces it from whatever precedes\n * it — a row-gap would double that gap.\n */\n.operation-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: auto auto 1fr;\n grid-template-areas:\n 'heading badge'\n 'description examples'\n 'details examples';\n column-gap: 48px;\n row-gap: 0;\n}\n\n.operation-title {\n grid-area: heading;\n margin-bottom: 12px;\n\n /* Mirror the shared section header typography (see SectionHeader.vue) */\n font-size: var(--font-size, var(--scalar-heading-1));\n font-weight: var(--font-weight, var(--scalar-bold));\n color: var(--scalar-color-1);\n line-height: 1.45;\n}\n\n.operation-auth {\n grid-area: badge;\n justify-self: end;\n align-self: start;\n}\n\n.operation-description {\n grid-area: description;\n min-width: 0;\n}\n\n.operation-details {\n grid-area: details;\n min-width: 0;\n}\n\n.examples {\n grid-area: examples;\n align-self: start;\n min-width: 0;\n\n position: sticky;\n top: calc(var(--refs-viewport-offset) + 24px);\n}\n\n.examples > * {\n max-height: calc((var(--refs-viewport-height) - 60px) / 2);\n position: relative;\n}\n\n.examples > *:first-of-type:last-of-type {\n max-height: calc((var(--refs-viewport-height) - 60px));\n}\n\n/*\n * Don't constrain card height on mobile\n * (or zoomed in screens)\n */\n@media (max-width: 600px) {\n .examples > * {\n max-height: unset;\n }\n}\n\n.deprecated * {\n text-decoration: line-through;\n}\n\n/*\n * On narrow containers the layout collapses to a single column: the request\n * example is lifted directly under the description, and the auth badge becomes\n * an eyebrow above the title.\n */\n@container narrow-references-container (max-width: 900px) {\n .operation-layout {\n grid-template-columns: 1fr;\n grid-template-areas:\n 'badge'\n 'heading'\n 'description'\n 'examples'\n 'details';\n column-gap: 0;\n }\n\n .operation-auth {\n justify-self: start;\n margin-bottom: 4px;\n }\n\n .operation-title {\n margin-bottom: 24px;\n }\n\n .operation-description {\n margin-bottom: 24px;\n }\n\n /* Don't make the examples sticky on narrow viewports */\n .examples {\n position: static;\n }\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModernLayout.vue.script.js","names":[],"sources":["../../../../src/features/Operation/layouts/ModernLayout.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { CodeExample } from '@scalar/blocks/code-example'\nimport { ScalarErrorBoundary } from '@scalar/components/error-boundary'\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport { ScalarIconWebhooksLogo } from '@scalar/icons'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { SecuritySchemeObjectSecret } from '@scalar/workspace-store/request-example'\nimport type {\n OpenApiDocument,\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, provide, ref, useId } from 'vue'\n\nimport { Anchor } from '@/components/Anchor'\nimport { Badge } from '@/components/Badge'\nimport { LinkList } from '@/components/LinkList'\nimport OperationPath from '@/components/OperationPath.vue'\nimport { Section, SectionContent, SectionHeaderTag } from '@/components/Section'\nimport AskAgentButton from '@/features/ask-agent-button/AskAgentButton.vue'\nimport { ExampleResponses } from '@/features/example-responses'\nimport { ExternalDocs } from '@/features/external-docs'\nimport { useLocalization } from '@/features/localization'\nimport Callbacks from '@/features/Operation/components/callbacks/Callbacks.vue'\nimport OperationParameters from '@/features/Operation/components/OperationParameters.vue'\nimport OperationResponses from '@/features/Operation/components/OperationResponses.vue'\nimport SecurityRequirementBadge from '@/features/Operation/components/SecurityRequirementBadge.vue'\nimport type { RequiredSecurity } from '@/features/Operation/helpers/get-required-security'\nimport {\n getOperationStability,\n getOperationStabilityColor,\n isOperationDeprecated,\n} from '@/features/Operation/helpers/operation-stability'\nimport type { OperationProps } from '@/features/Operation/Operation.vue'\nimport {\n REQUEST_BODY_COMPOSITION_INDEX_SYMBOL,\n type RequestBodyCompositionSelection,\n} from '@/features/Operation/request-body-composition-index'\nimport { getXKeysFromObject } from '@/features/specification-extension'\nimport SpecificationExtension from '@/features/specification-extension/SpecificationExtension.vue'\nimport { TestRequestButton } from '@/features/test-request-button'\nimport { XBadges } from '@/features/x-badges'\n\nconst {\n clientOptions,\n document,\n eventBus,\n isWebhook,\n method,\n operation,\n options,\n path,\n requiredSecurity,\n selectedServer,\n selectedSecuritySchemes,\n selectedClient,\n selectedExample,\n} = defineProps<\n Omit<\n OperationProps,\n | 'document'\n | 'pathValue'\n | 'server'\n | 'isCollapsed'\n | 'securitySchemes'\n | 'authStore'\n > & {\n /** Operation object with path params */\n operation: OperationObject\n /** The selected server for the operation */\n selectedServer: ServerObject | null\n /** The selected security schemes for the operation */\n selectedSecuritySchemes: SecuritySchemeObjectSecret[]\n /** Required/optional security state for the badge next to the path */\n requiredSecurity: RequiredSecurity\n /** The document the operation belongs to, used to resolve schema references for display */\n document?: OpenApiDocument\n }\n>()\nconst { translate } = useLocalization()\n\nconst operationTitle = computed(() => operation.summary || path || '')\n\nconst labelId = useId()\n\nconst operationExtensions = computed(() => getXKeysFromObject(operation))\n\n/** Track the selected request body content type so the code sample stays in sync */\nconst selectedRequestBodyContentType = ref<string | undefined>()\n\n/** Selected request body oneOf/anyOf variants; synced with schema dropdowns and code sample */\nconst requestBodyCompositionSelection = ref<RequestBodyCompositionSelection>({})\n\nconst requestBodyCompositionSelectionForCodeSample = computed(\n (): RequestBodyCompositionSelection => ({\n ...requestBodyCompositionSelection.value,\n }),\n)\n\nconst requestBodyCompositionSelectionKey = computed(() =>\n JSON.stringify(requestBodyCompositionSelectionForCodeSample.value),\n)\n\nprovide(REQUEST_BODY_COMPOSITION_INDEX_SYMBOL, requestBodyCompositionSelection)\n</script>\n\n<template>\n <Section\n :id=\"id\"\n :aria-labelledby=\"labelId\"\n :label=\"operationTitle\"\n tabindex=\"-1\"\n @intersecting=\"() => eventBus?.emit('intersecting:nav-item', { id })\">\n <SectionContent>\n <!-- Badges -->\n <div class=\"flex flex-row justify-between gap-1\">\n <!-- Left -->\n <div class=\"flex gap-1\">\n <!-- Operation ID -->\n <Badge v-if=\"options?.showOperationId && operation.operationId\">\n {{ operation.operationId }}\n </Badge>\n <!-- Stability badge -->\n <Badge\n v-if=\"getOperationStability(operation)\"\n class=\"capitalize\"\n :class=\"getOperationStabilityColor(operation)\">\n {{ getOperationStability(operation) }}\n </Badge>\n <!-- Webhook badge -->\n <Badge\n v-if=\"isWebhook\"\n class=\"font-code text-green flex w-fit items-center justify-center gap-1\">\n <ScalarIconWebhooksLogo weight=\"bold\" />\n {{ translate('operation.webhook') }}\n </Badge>\n <!-- x-badges before -->\n <XBadges\n :badges=\"operation['x-badges']\"\n position=\"before\" />\n </div>\n <!-- Right -->\n <div class=\"flex gap-1\">\n <!-- x-badges after -->\n <XBadges\n :badges=\"operation['x-badges']\"\n position=\"after\" />\n </div>\n </div>\n <div class=\"operation-layout\">\n <!-- Title -->\n <div\n class=\"operation-title\"\n :class=\"isOperationDeprecated(operation) && 'deprecated'\">\n <Anchor\n @copyAnchorUrl=\"() => eventBus?.emit('copy-url:nav-item', { id })\">\n <SectionHeaderTag\n :id=\"labelId\"\n :level=\"3\">\n {{ operationTitle }}\n </SectionHeaderTag>\n </Anchor>\n </div>\n\n <!-- Required auth badge -->\n <div class=\"operation-auth\">\n <SecurityRequirementBadge :requiredSecurity />\n </div>\n\n <!-- Description -->\n <div class=\"operation-description\">\n <SpecificationExtension :value=\"operationExtensions\" />\n <ScalarMarkdown\n :anchorPrefix=\"id\"\n :aria-label=\"translate('common.description')\"\n role=\"group\"\n transformType=\"heading\"\n :value=\"operation.description\"\n withAnchors\n withImages />\n </div>\n\n <!--\n Parameters, request body, responses and callbacks.\n\n This block is kept before the examples in source order on purpose: the\n request body schema (via SchemaComposition) seeds the shared\n requestBodyCompositionSelection on mount, which drives the\n CodeExample's :key. Mounting the details first means the code\n sample reads the final key on its first render and is never remounted —\n a remount would reset the selected client and tear down an open client\n picker. The grid (see grid-template-areas below) still paints the\n examples on the right, independent of this source order.\n -->\n <div class=\"operation-details\">\n <OperationParameters\n v-model:selectedContentType=\"selectedRequestBodyContentType\"\n :breadcrumb=\"[id]\"\n :document\n :eventBus\n :options\n :parameters=\"operation.parameters\"\n :requestBody=\"getResolvedRef(operation.requestBody)\" />\n <OperationResponses\n :breadcrumb=\"[id]\"\n :collapsableItems=\"!options.expandAllResponses\"\n :document\n :eventBus\n :options\n :responses=\"operation.responses\" />\n\n <!-- Callbacks -->\n <ScalarErrorBoundary>\n <Callbacks\n v-if=\"operation.callbacks\"\n :callbacks=\"operation.callbacks\"\n class=\"mt-6\"\n :document\n :eventBus\n :options\n :path />\n </ScalarErrorBoundary>\n </div>\n\n <!-- Example request and responses -->\n <div class=\"examples\">\n <!-- External Docs -->\n <LinkList v-if=\"operation.externalDocs\">\n <ExternalDocs :value=\"operation.externalDocs\" />\n </LinkList>\n\n <!-- New Example Request -->\n <ScalarErrorBoundary>\n <CodeExample\n :key=\"requestBodyCompositionSelectionKey\"\n :clientOptions\n :eventBus\n fallback\n :isWebhook\n :method\n :operation\n :path\n :requestBodyCompositionSelection=\"\n requestBodyCompositionSelectionForCodeSample\n \"\n :securitySchemes=\"selectedSecuritySchemes\"\n :selectedClient\n :selectedContentType=\"selectedRequestBodyContentType\"\n :selectedExample\n :selectedServer>\n <template #header>\n <OperationPath\n class=\"font-code text-c-2 [&_em]:text-c-1 min-w-0 [&_em]:not-italic\"\n :deprecated=\"operation?.deprecated\"\n :path=\"path\" />\n </template>\n <template\n v-if=\"!isWebhook\"\n #footer=\"{ exampleName }\">\n <div class=\"flex\">\n <AskAgentButton />\n <TestRequestButton\n v-if=\"!options.hideTestRequestButton\"\n :id\n :eventBus\n :exampleName\n :method\n :path\n :requestBodyCompositionSelection=\"\n requestBodyCompositionSelectionForCodeSample\n \" />\n </div>\n </template>\n </CodeExample>\n </ScalarErrorBoundary>\n\n <ScalarErrorBoundary>\n <ExampleResponses\n v-if=\"operation.responses\"\n :eventBus\n :responses=\"operation.responses\"\n :selectedExample\n style=\"margin-top: 12px\" />\n </ScalarErrorBoundary>\n </div>\n </div>\n </SectionContent>\n </Section>\n</template>\n\n<style scoped>\n/*\n * The operation is a single grid so the request example can sit beside the\n * details on wide screens, then be lifted directly under the description when\n * the layout collapses (see the container query below). Vertical rhythm comes\n * from element margins rather than row-gap, because the details block carries\n * its own leading margin (mt-6) that already spaces it from whatever precedes\n * it — a row-gap would double that gap.\n */\n.operation-layout {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: auto auto 1fr;\n grid-template-areas:\n 'heading badge'\n 'description examples'\n 'details examples';\n column-gap: 48px;\n row-gap: 0;\n}\n\n.operation-title {\n grid-area: heading;\n margin-bottom: 12px;\n\n /* Mirror the shared section header typography (see SectionHeader.vue) */\n font-size: var(--font-size, var(--scalar-heading-1));\n font-weight: var(--font-weight, var(--scalar-bold));\n color: var(--scalar-color-1);\n line-height: 1.45;\n}\n\n.operation-auth {\n grid-area: badge;\n justify-self: end;\n align-self: start;\n}\n\n.operation-description {\n grid-area: description;\n min-width: 0;\n}\n\n.operation-details {\n grid-area: details;\n min-width: 0;\n}\n\n.examples {\n grid-area: examples;\n align-self: start;\n min-width: 0;\n\n position: sticky;\n top: calc(var(--refs-viewport-offset) + 24px);\n}\n\n.examples > * {\n max-height: calc((var(--refs-viewport-height) - 60px) / 2);\n position: relative;\n}\n\n.examples > *:first-of-type:last-of-type {\n max-height: calc((var(--refs-viewport-height) - 60px));\n}\n\n/*\n * Don't constrain card height on mobile\n * (or zoomed in screens)\n */\n@media (max-width: 600px) {\n .examples > * {\n max-height: unset;\n }\n}\n\n.deprecated * {\n text-decoration: line-through;\n}\n\n/*\n * On narrow containers the layout collapses to a single column: the request\n * example is lifted directly under the description, and the auth badge becomes\n * an eyebrow above the title.\n */\n@container narrow-references-container (max-width: 900px) {\n .operation-layout {\n grid-template-columns: 1fr;\n grid-template-areas:\n 'badge'\n 'heading'\n 'description'\n 'examples'\n 'details';\n column-gap: 0;\n }\n\n .operation-auth {\n justify-self: start;\n margin-bottom: 4px;\n }\n\n .operation-title {\n margin-bottom: 24px;\n }\n\n .operation-description {\n margin-bottom: 24px;\n }\n\n /* Don't make the examples sticky on narrow viewports */\n .examples {\n position: static;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -61,6 +61,7 @@ export declare const ar: {
61
61
  mainContent: string;
62
62
  collapsed: string;
63
63
  webhooks: string;
64
+ channels: string;
64
65
  };
65
66
  server: {
66
67
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../../src/features/localization/locales/ar.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkOqB,CAAA"}
1
+ {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../../src/features/localization/locales/ar.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmOqB,CAAA"}
@@ -61,7 +61,8 @@ var ar = {
61
61
  sidebarFor: "الشريط الجانبي لـ {name}",
62
62
  mainContent: "وثائق واجهة برمجة التطبيقات لـ {name}",
63
63
  collapsed: "مطوي",
64
- webhooks: "خطافات الويب"
64
+ webhooks: "خطافات الويب",
65
+ channels: "القنوات"
65
66
  },
66
67
  server: {
67
68
  label: "الخادم",
@@ -1 +1 @@
1
- {"version":3,"file":"ar.js","names":[],"sources":["../../../../src/features/localization/locales/ar.ts"],"sourcesContent":["import type { ApiReferenceTranslations } from '@scalar/types/api-reference'\n\nexport const ar = {\n common: {\n additionalProperties: 'خصائص إضافية',\n const: 'ثابت',\n deprecated: 'مهمل',\n description: 'الوصف',\n discriminator: 'المميّز',\n enum: 'تعداد',\n format: 'التنسيق',\n greaterThan: 'أكبر من',\n httpMethod: 'طريقة HTTP',\n keys: 'المفاتيح',\n lessThan: 'أقل من',\n max: 'الحد الأقصى',\n min: 'الحد الأدنى',\n maxLength: 'أقصى طول',\n minLength: 'أدنى طول',\n multipleOf: 'مضاعف لـ',\n nullable: 'يقبل null',\n path: 'المسار',\n propertyNames: 'أسماء الخصائص',\n pattern: 'النمط',\n readOnly: 'قراءة فقط',\n required: 'مطلوب',\n hideValues: 'إخفاء القيم',\n showAllValues: 'عرض كل القيم',\n type: 'النوع',\n unique: 'فريد',\n values: 'القيم',\n writeOnly: 'كتابة فقط',\n },\n search: {\n label: 'بحث',\n inputLabel: 'أدخل استعلام البحث',\n open: 'فتح البحث',\n placeholder: 'بحث...',\n clear: 'مسح البحث',\n keyboardShortcut: 'اختصار لوحة المفاتيح:',\n command: 'مفتاح الأوامر',\n control: 'مفتاح التحكم',\n results: 'نتائج البحث في المرجع',\n navigate: 'تنقّل',\n select: 'اختيار',\n instructions: 'اضغط السهم للأعلى أو للأسفل للتنقل، Enter للاختيار، واكتب لتصفية النتائج',\n entryHeading: 'عنوان',\n entryOperation: 'عملية',\n entryTag: 'وسم',\n entryTagGroup: 'مجموعة وسوم',\n entryWebhook: 'خطاف ويب',\n },\n navigation: {\n introduction: 'المقدمة',\n closeGroup: 'إغلاق المجموعة',\n closeMenu: 'إغلاق القائمة',\n openGroup: 'فتح المجموعة',\n openMenu: 'فتح القائمة',\n operations: 'العمليات',\n endpoints: 'نقاط نهاية {name}',\n showAllEndpoints: 'إظهار كل نقاط نهاية {name}',\n sidebarFor: 'الشريط الجانبي لـ {name}',\n mainContent: 'وثائق واجهة برمجة التطبيقات لـ {name}',\n collapsed: 'مطوي',\n webhooks: 'خطافات الويب',\n },\n server: {\n label: 'الخادم',\n select: 'اختر خادماً',\n },\n info: {\n termsOfService: 'شروط الخدمة',\n },\n asyncapi: {\n servers: 'الخوادم',\n protocols: 'البروتوكولات',\n },\n clientLibraries: {\n heading: 'مكتبات العملاء',\n more: 'المزيد',\n selectAll: 'اختر من جميع العملاء',\n },\n operation: {\n body: 'الجسم',\n cookies: 'ملفات تعريف الارتباط',\n headers: 'الرؤوس',\n pathParameters: 'معاملات المسار',\n queryParameters: 'معاملات الاستعلام',\n requestBody: 'جسم الطلب',\n responses: 'الاستجابات',\n testRequest: 'اختبار الطلب',\n webhook: 'خطاف ويب',\n selectedContentType: 'نوع المحتوى المحدد',\n hideHeaders: 'إخفاء الرؤوس',\n showHeaders: 'إظهار الرؤوس',\n callbacks: 'عمليات الاستدعاء',\n },\n response: {\n exampleResponses: 'أمثلة الاستجابات',\n noBody: 'لا يوجد جسم',\n showSchema: 'عرض المخطط',\n status: 'الحالة',\n },\n schema: {\n example: 'مثال',\n examples: 'أمثلة',\n default: 'الافتراضي',\n schema: 'المخطط',\n emptyObject: 'كائن فارغ',\n showAdditionalProperties: 'إظهار الخصائص الإضافية',\n childAttributes: 'السمات الفرعية',\n hideChildAttributes: 'إخفاء {name}',\n showChildAttributes: 'إظهار {name}',\n forName: 'لـ {name}',\n showSchemaDetails: 'إظهار تفاصيل المخطط',\n oneOf: 'واحد من',\n anyOf: 'أي من',\n allOf: 'كل من',\n not: 'ليس',\n unknownType: 'نوع غير معروف',\n },\n download: {\n openapi: 'تنزيل مستند OpenAPI',\n asyncapi: 'تنزيل مستند AsyncAPI',\n },\n models: {\n label: 'النماذج',\n },\n actions: {\n copyLink: 'نسخ الرابط',\n copyLinkTo: 'نسخ الرابط إلى {name}',\n copyToClipboard: 'نسخ الرابط إلى الحافظة',\n copyEndpointUrl: 'نسخ رابط endpoint',\n showMore: 'عرض المزيد',\n },\n agent: {\n askAi: 'اسأل الذكاء الاصطناعي',\n askAiAgent: 'اسأل وكيل الذكاء الاصطناعي',\n close: 'إغلاق العميل',\n },\n mcp: {\n generate: 'إنشاء MCP',\n connect: 'ربط MCP',\n },\n developerTools: {\n title: 'أدوات المطورين',\n configure: 'الإعداد',\n share: 'مشاركة',\n deploy: 'نشر',\n scalarConfiguration: 'إعدادات Scalar',\n theme: 'السمة',\n layout: 'التخطيط',\n layoutOptions: 'خيارات التخطيط',\n intro: 'تتيح لك أدوات المطورين تخصيص مظهر الوثائق وسلوكها. يمكنك أيضًا مشاركة وثائقك باستخدام Scalar Registry.',\n disableToolbarBefore: 'لتعطيل شريط الأدوات، عيّن',\n disableToolbarAfter: 'في الإعدادات.',\n localhostOnly: 'لن تظهر أدوات المطورين إلا عند التشغيل على localhost.',\n layoutModern: 'حديث',\n layoutClassic: 'كلاسيكي',\n showSidebar: 'إظهار الشريط الجانبي',\n defaultOpenFirstTag: 'فتح أول وسم افتراضيًا',\n defaultOpenAllTags: 'فتح كل الوسوم افتراضيًا',\n expandAll: 'توسيع كل {label}',\n expandAllResponses: 'توسيع كل الاستجابات',\n hideClientButton: 'إخفاء زر العميل',\n hideDarkModeToggle: 'إخفاء مفتاح الوضع الداكن',\n hideModels: 'إخفاء {label}',\n hideSearch: 'إخفاء البحث',\n showOperationId: 'إظهار معرّف العملية',\n hideTestRequestButton: 'إخفاء زر طلب الاختبار',\n scalarDocs: 'Scalar Docs',\n deployDescription: 'انشر وثائقك على Scalar، منصة الوثائق الحديثة لواجهة API الخاصة بك وكل شيء آخر.',\n shareTitle: 'مشاركة API Reference',\n shareDescription: 'حمّل مستند OpenAPI لمشاركة API Reference مع الآخرين. الأمر بسيط كضغط زر.',\n uploadDocument: 'تحميل المستند',\n temporaryLinkExpiration: 'سيتم حذف المستند تلقائيًا بعد 7 أيام.',\n deployOnScalar: 'النشر على Scalar',\n deployFree: 'انشر وثائقك مجانًا.',\n additionalFeaturesMightRequire: 'قد تتطلب الميزات الإضافية',\n generate: 'إنشاء',\n passwordProtection: 'الحماية بكلمة مرور',\n customDomains: 'نطاقات مخصصة',\n freeFormContent: 'محتوى حر',\n cdnInfrastructure: 'بنية CDN التحتية',\n pullFromGitHub: 'السحب من GitHub',\n markdownMdx: 'Markdown/MDX',\n spectralLinting: 'فحص Spectral',\n jsonSchemaHosting: 'استضافة JSON Schema',\n askAi: 'اسأل الذكاء الاصطناعي',\n mcpServers: 'خوادم MCP',\n unableToExportDocument: 'تعذر تصدير المستند النشط',\n unknownError: 'حدث خطأ غير معروف',\n },\n gettingStarted: {\n swaggerEditor: 'Swagger Editor',\n description:\n 'مرحبًا بك في Scalar API References + Swagger Editor، أداة مجانية ومفتوحة المصدر تأخذ ملف Swagger/OAS الخاص بك وتنشئ API References جميلة.',\n showExample: 'إظهار مثال',\n uploadFile: 'تحميل ملف',\n integrations: 'التكاملات',\n theming: 'السمات',\n features: 'الميزات',\n customize: 'التخصيص',\n customizeDescription: 'استخدم الخطوط ولوحات الألوان الخاصة بك، أو استخدم سماتنا!',\n testing: 'الاختبار',\n testingDescription: 'REST API Client مدمج بعمق (مجاني ومفتوح المصدر أيضًا)',\n search: 'البحث',\n searchDescription: 'بحث مدمج بالكامل (باستخدام fuse.js)',\n hosting: 'الاستضافة',\n hostingDescription: 'استضافة مجانية لنطاق فرعي على https://apidocumentation.com',\n openApiSwagger: 'OpenAPI و Swagger',\n openApiSwaggerDescription: 'دعم OpenAPI 3.1 و OpenAPI 3.0 و Swagger 2.0',\n codeSamples: 'أمثلة التعليمات البرمجية',\n codeSamplesDescription: 'أمثلة تعليمات برمجية لعرض API الخاص بك بأشهر اللغات',\n },\n footer: {\n poweredByScalar: 'مدعوم من Scalar',\n },\n authentication: {\n title: 'المصادقة',\n accepts: 'يقبل',\n allOf: 'كل ما يلي:',\n authentication: 'المصادقة',\n optional: 'المصادقة اختيارية',\n oneOf: 'واحد من:',\n required: 'المصادقة مطلوبة',\n requires: 'يتطلب',\n },\n} satisfies ApiReferenceTranslations\n"],"mappings":"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"}
1
+ {"version":3,"file":"ar.js","names":[],"sources":["../../../../src/features/localization/locales/ar.ts"],"sourcesContent":["import type { ApiReferenceTranslations } from '@scalar/types/api-reference'\n\nexport const ar = {\n common: {\n additionalProperties: 'خصائص إضافية',\n const: 'ثابت',\n deprecated: 'مهمل',\n description: 'الوصف',\n discriminator: 'المميّز',\n enum: 'تعداد',\n format: 'التنسيق',\n greaterThan: 'أكبر من',\n httpMethod: 'طريقة HTTP',\n keys: 'المفاتيح',\n lessThan: 'أقل من',\n max: 'الحد الأقصى',\n min: 'الحد الأدنى',\n maxLength: 'أقصى طول',\n minLength: 'أدنى طول',\n multipleOf: 'مضاعف لـ',\n nullable: 'يقبل null',\n path: 'المسار',\n propertyNames: 'أسماء الخصائص',\n pattern: 'النمط',\n readOnly: 'قراءة فقط',\n required: 'مطلوب',\n hideValues: 'إخفاء القيم',\n showAllValues: 'عرض كل القيم',\n type: 'النوع',\n unique: 'فريد',\n values: 'القيم',\n writeOnly: 'كتابة فقط',\n },\n search: {\n label: 'بحث',\n inputLabel: 'أدخل استعلام البحث',\n open: 'فتح البحث',\n placeholder: 'بحث...',\n clear: 'مسح البحث',\n keyboardShortcut: 'اختصار لوحة المفاتيح:',\n command: 'مفتاح الأوامر',\n control: 'مفتاح التحكم',\n results: 'نتائج البحث في المرجع',\n navigate: 'تنقّل',\n select: 'اختيار',\n instructions: 'اضغط السهم للأعلى أو للأسفل للتنقل، Enter للاختيار، واكتب لتصفية النتائج',\n entryHeading: 'عنوان',\n entryOperation: 'عملية',\n entryTag: 'وسم',\n entryTagGroup: 'مجموعة وسوم',\n entryWebhook: 'خطاف ويب',\n },\n navigation: {\n introduction: 'المقدمة',\n closeGroup: 'إغلاق المجموعة',\n closeMenu: 'إغلاق القائمة',\n openGroup: 'فتح المجموعة',\n openMenu: 'فتح القائمة',\n operations: 'العمليات',\n endpoints: 'نقاط نهاية {name}',\n showAllEndpoints: 'إظهار كل نقاط نهاية {name}',\n sidebarFor: 'الشريط الجانبي لـ {name}',\n mainContent: 'وثائق واجهة برمجة التطبيقات لـ {name}',\n collapsed: 'مطوي',\n webhooks: 'خطافات الويب',\n channels: 'القنوات',\n },\n server: {\n label: 'الخادم',\n select: 'اختر خادماً',\n },\n info: {\n termsOfService: 'شروط الخدمة',\n },\n asyncapi: {\n servers: 'الخوادم',\n protocols: 'البروتوكولات',\n },\n clientLibraries: {\n heading: 'مكتبات العملاء',\n more: 'المزيد',\n selectAll: 'اختر من جميع العملاء',\n },\n operation: {\n body: 'الجسم',\n cookies: 'ملفات تعريف الارتباط',\n headers: 'الرؤوس',\n pathParameters: 'معاملات المسار',\n queryParameters: 'معاملات الاستعلام',\n requestBody: 'جسم الطلب',\n responses: 'الاستجابات',\n testRequest: 'اختبار الطلب',\n webhook: 'خطاف ويب',\n selectedContentType: 'نوع المحتوى المحدد',\n hideHeaders: 'إخفاء الرؤوس',\n showHeaders: 'إظهار الرؤوس',\n callbacks: 'عمليات الاستدعاء',\n },\n response: {\n exampleResponses: 'أمثلة الاستجابات',\n noBody: 'لا يوجد جسم',\n showSchema: 'عرض المخطط',\n status: 'الحالة',\n },\n schema: {\n example: 'مثال',\n examples: 'أمثلة',\n default: 'الافتراضي',\n schema: 'المخطط',\n emptyObject: 'كائن فارغ',\n showAdditionalProperties: 'إظهار الخصائص الإضافية',\n childAttributes: 'السمات الفرعية',\n hideChildAttributes: 'إخفاء {name}',\n showChildAttributes: 'إظهار {name}',\n forName: 'لـ {name}',\n showSchemaDetails: 'إظهار تفاصيل المخطط',\n oneOf: 'واحد من',\n anyOf: 'أي من',\n allOf: 'كل من',\n not: 'ليس',\n unknownType: 'نوع غير معروف',\n },\n download: {\n openapi: 'تنزيل مستند OpenAPI',\n asyncapi: 'تنزيل مستند AsyncAPI',\n },\n models: {\n label: 'النماذج',\n },\n actions: {\n copyLink: 'نسخ الرابط',\n copyLinkTo: 'نسخ الرابط إلى {name}',\n copyToClipboard: 'نسخ الرابط إلى الحافظة',\n copyEndpointUrl: 'نسخ رابط endpoint',\n showMore: 'عرض المزيد',\n },\n agent: {\n askAi: 'اسأل الذكاء الاصطناعي',\n askAiAgent: 'اسأل وكيل الذكاء الاصطناعي',\n close: 'إغلاق العميل',\n },\n mcp: {\n generate: 'إنشاء MCP',\n connect: 'ربط MCP',\n },\n developerTools: {\n title: 'أدوات المطورين',\n configure: 'الإعداد',\n share: 'مشاركة',\n deploy: 'نشر',\n scalarConfiguration: 'إعدادات Scalar',\n theme: 'السمة',\n layout: 'التخطيط',\n layoutOptions: 'خيارات التخطيط',\n intro: 'تتيح لك أدوات المطورين تخصيص مظهر الوثائق وسلوكها. يمكنك أيضًا مشاركة وثائقك باستخدام Scalar Registry.',\n disableToolbarBefore: 'لتعطيل شريط الأدوات، عيّن',\n disableToolbarAfter: 'في الإعدادات.',\n localhostOnly: 'لن تظهر أدوات المطورين إلا عند التشغيل على localhost.',\n layoutModern: 'حديث',\n layoutClassic: 'كلاسيكي',\n showSidebar: 'إظهار الشريط الجانبي',\n defaultOpenFirstTag: 'فتح أول وسم افتراضيًا',\n defaultOpenAllTags: 'فتح كل الوسوم افتراضيًا',\n expandAll: 'توسيع كل {label}',\n expandAllResponses: 'توسيع كل الاستجابات',\n hideClientButton: 'إخفاء زر العميل',\n hideDarkModeToggle: 'إخفاء مفتاح الوضع الداكن',\n hideModels: 'إخفاء {label}',\n hideSearch: 'إخفاء البحث',\n showOperationId: 'إظهار معرّف العملية',\n hideTestRequestButton: 'إخفاء زر طلب الاختبار',\n scalarDocs: 'Scalar Docs',\n deployDescription: 'انشر وثائقك على Scalar، منصة الوثائق الحديثة لواجهة API الخاصة بك وكل شيء آخر.',\n shareTitle: 'مشاركة API Reference',\n shareDescription: 'حمّل مستند OpenAPI لمشاركة API Reference مع الآخرين. الأمر بسيط كضغط زر.',\n uploadDocument: 'تحميل المستند',\n temporaryLinkExpiration: 'سيتم حذف المستند تلقائيًا بعد 7 أيام.',\n deployOnScalar: 'النشر على Scalar',\n deployFree: 'انشر وثائقك مجانًا.',\n additionalFeaturesMightRequire: 'قد تتطلب الميزات الإضافية',\n generate: 'إنشاء',\n passwordProtection: 'الحماية بكلمة مرور',\n customDomains: 'نطاقات مخصصة',\n freeFormContent: 'محتوى حر',\n cdnInfrastructure: 'بنية CDN التحتية',\n pullFromGitHub: 'السحب من GitHub',\n markdownMdx: 'Markdown/MDX',\n spectralLinting: 'فحص Spectral',\n jsonSchemaHosting: 'استضافة JSON Schema',\n askAi: 'اسأل الذكاء الاصطناعي',\n mcpServers: 'خوادم MCP',\n unableToExportDocument: 'تعذر تصدير المستند النشط',\n unknownError: 'حدث خطأ غير معروف',\n },\n gettingStarted: {\n swaggerEditor: 'Swagger Editor',\n description:\n 'مرحبًا بك في Scalar API References + Swagger Editor، أداة مجانية ومفتوحة المصدر تأخذ ملف Swagger/OAS الخاص بك وتنشئ API References جميلة.',\n showExample: 'إظهار مثال',\n uploadFile: 'تحميل ملف',\n integrations: 'التكاملات',\n theming: 'السمات',\n features: 'الميزات',\n customize: 'التخصيص',\n customizeDescription: 'استخدم الخطوط ولوحات الألوان الخاصة بك، أو استخدم سماتنا!',\n testing: 'الاختبار',\n testingDescription: 'REST API Client مدمج بعمق (مجاني ومفتوح المصدر أيضًا)',\n search: 'البحث',\n searchDescription: 'بحث مدمج بالكامل (باستخدام fuse.js)',\n hosting: 'الاستضافة',\n hostingDescription: 'استضافة مجانية لنطاق فرعي على https://apidocumentation.com',\n openApiSwagger: 'OpenAPI و Swagger',\n openApiSwaggerDescription: 'دعم OpenAPI 3.1 و OpenAPI 3.0 و Swagger 2.0',\n codeSamples: 'أمثلة التعليمات البرمجية',\n codeSamplesDescription: 'أمثلة تعليمات برمجية لعرض API الخاص بك بأشهر اللغات',\n },\n footer: {\n poweredByScalar: 'مدعوم من Scalar',\n },\n authentication: {\n title: 'المصادقة',\n accepts: 'يقبل',\n allOf: 'كل ما يلي:',\n authentication: 'المصادقة',\n optional: 'المصادقة اختيارية',\n oneOf: 'واحد من:',\n required: 'المصادقة مطلوبة',\n requires: 'يتطلب',\n },\n} satisfies ApiReferenceTranslations\n"],"mappings":"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"}
@@ -61,6 +61,7 @@ export declare const de: {
61
61
  mainContent: string;
62
62
  collapsed: string;
63
63
  webhooks: string;
64
+ channels: string;
64
65
  };
65
66
  server: {
66
67
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../../src/features/localization/locales/de.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsOqB,CAAA"}
1
+ {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../../../src/features/localization/locales/de.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuOqB,CAAA"}
@@ -61,7 +61,8 @@ var de = {
61
61
  sidebarFor: "Seitenleiste für {name}",
62
62
  mainContent: "API-Dokumentation für {name}",
63
63
  collapsed: "Eingeklappt",
64
- webhooks: "Webhooks"
64
+ webhooks: "Webhooks",
65
+ channels: "Kanäle"
65
66
  },
66
67
  server: {
67
68
  label: "Server",
@@ -1 +1 @@
1
- {"version":3,"file":"de.js","names":[],"sources":["../../../../src/features/localization/locales/de.ts"],"sourcesContent":["import type { ApiReferenceTranslations } from '@scalar/types/api-reference'\n\nexport const de = {\n common: {\n additionalProperties: 'zusätzliche Eigenschaften',\n const: 'Konstante',\n deprecated: 'veraltet',\n description: 'Beschreibung',\n discriminator: 'Diskriminator',\n enum: 'enum',\n format: 'Format',\n greaterThan: 'größer als',\n httpMethod: 'HTTP-Methode',\n keys: 'Schlüssel',\n lessThan: 'kleiner als',\n max: 'max.',\n min: 'min.',\n maxLength: 'max. Länge',\n minLength: 'min. Länge',\n multipleOf: 'Vielfaches von',\n nullable: 'nullable',\n path: 'Pfad',\n propertyNames: 'Eigenschaftsnamen',\n pattern: 'Muster',\n readOnly: 'nur lesbar',\n required: 'erforderlich',\n hideValues: 'Werte ausblenden',\n showAllValues: 'Alle Werte anzeigen',\n type: 'Typ',\n unique: 'eindeutig',\n values: 'Werte',\n writeOnly: 'nur schreibbar',\n },\n search: {\n label: 'Suchen',\n inputLabel: 'Suchbegriff eingeben',\n open: 'Suche öffnen',\n placeholder: 'Suchen...',\n clear: 'Suche löschen',\n keyboardShortcut: 'Tastenkürzel:',\n command: 'Befehl',\n control: 'Steuerung',\n results: 'Suchergebnisse der Referenz',\n navigate: 'Navigieren',\n select: 'Auswählen',\n instructions:\n 'Drücken Sie Pfeil nach oben oder unten zum Navigieren, Enter zum Auswählen und tippen Sie zum Filtern der Ergebnisse',\n entryHeading: 'Überschrift',\n entryOperation: 'Operation',\n entryTag: 'Tag',\n entryTagGroup: 'Tag-Gruppe',\n entryWebhook: 'Webhook',\n },\n navigation: {\n introduction: 'Einführung',\n closeGroup: 'Gruppe schließen',\n closeMenu: 'Menü schließen',\n openGroup: 'Gruppe öffnen',\n openMenu: 'Menü öffnen',\n operations: 'Operationen',\n endpoints: '{name}-Endpunkte',\n showAllEndpoints: 'Alle {name}-Endpunkte anzeigen',\n sidebarFor: 'Seitenleiste für {name}',\n mainContent: 'API-Dokumentation für {name}',\n collapsed: 'Eingeklappt',\n webhooks: 'Webhooks',\n },\n server: {\n label: 'Server',\n select: 'Server auswählen',\n },\n info: {\n termsOfService: 'Nutzungsbedingungen',\n },\n asyncapi: {\n servers: 'Server',\n protocols: 'Protokolle',\n },\n clientLibraries: {\n heading: 'Client-Bibliotheken',\n more: 'Mehr',\n selectAll: 'Aus allen Clients auswählen',\n },\n operation: {\n body: 'Body',\n cookies: 'Cookies',\n headers: 'Header',\n pathParameters: 'Pfadparameter',\n queryParameters: 'Query-Parameter',\n requestBody: 'Request Body',\n responses: 'Antworten',\n testRequest: 'Request testen',\n webhook: 'Webhook',\n selectedContentType: 'Ausgewählter Inhaltstyp',\n hideHeaders: 'Header ausblenden',\n showHeaders: 'Header anzeigen',\n callbacks: 'Callbacks',\n },\n response: {\n exampleResponses: 'Beispielantworten',\n noBody: 'Kein Body',\n showSchema: 'Schema anzeigen',\n status: 'Status',\n },\n schema: {\n example: 'Beispiel',\n examples: 'Beispiele',\n default: 'Standard',\n schema: 'Schema',\n emptyObject: 'Leeres Objekt',\n showAdditionalProperties: 'Zusätzliche Eigenschaften anzeigen',\n childAttributes: 'Untergeordnete Attribute',\n hideChildAttributes: '{name} ausblenden',\n showChildAttributes: '{name} anzeigen',\n forName: 'für {name}',\n showSchemaDetails: 'Schema-Details anzeigen',\n oneOf: 'Eines von',\n anyOf: 'Beliebiges von',\n allOf: 'Alle von',\n not: 'Nicht',\n unknownType: 'unbekannter Typ',\n },\n download: {\n openapi: 'OpenAPI-Dokument herunterladen',\n asyncapi: 'AsyncAPI-Dokument herunterladen',\n },\n models: {\n label: 'Modelle',\n },\n actions: {\n copyLink: 'Link kopieren',\n copyLinkTo: 'Link zu {name} kopieren',\n copyToClipboard: 'Link in die Zwischenablage kopieren',\n copyEndpointUrl: 'Endpoint-URL kopieren',\n showMore: 'Mehr anzeigen',\n },\n agent: {\n askAi: 'KI fragen',\n askAiAgent: 'KI-Agent fragen',\n close: 'Client schließen',\n },\n mcp: {\n generate: 'MCP generieren',\n connect: 'MCP verbinden',\n },\n developerTools: {\n title: 'Entwicklertools',\n configure: 'Konfigurieren',\n share: 'Teilen',\n deploy: 'Bereitstellen',\n scalarConfiguration: 'Scalar-Konfiguration',\n theme: 'Theme',\n layout: 'Layout',\n layoutOptions: 'Layout-Optionen',\n intro:\n 'Mit den Entwicklertools kannst du das Aussehen und Verhalten deiner Dokumentation anpassen. Du kannst deine Dokumentation auch über Scalar Registry teilen.',\n disableToolbarBefore: 'Um die Toolbar zu deaktivieren, setze',\n disableToolbarAfter: 'in deiner Konfiguration.',\n localhostOnly: 'Die Entwicklertools werden nur angezeigt, wenn sie auf localhost ausgeführt werden.',\n layoutModern: 'Modern',\n layoutClassic: 'Klassisch',\n showSidebar: 'Seitenleiste anzeigen',\n defaultOpenFirstTag: 'Ersten Tag standardmäßig öffnen',\n defaultOpenAllTags: 'Alle Tags standardmäßig öffnen',\n expandAll: 'Alle {label} erweitern',\n expandAllResponses: 'Alle Antworten erweitern',\n hideClientButton: 'Client-Schaltfläche ausblenden',\n hideDarkModeToggle: 'Dark-Mode-Umschalter ausblenden',\n hideModels: '{label} ausblenden',\n hideSearch: 'Suche ausblenden',\n showOperationId: 'Operation-ID anzeigen',\n hideTestRequestButton: 'Test-Request-Schaltfläche ausblenden',\n scalarDocs: 'Scalar Docs',\n deployDescription:\n 'Veröffentliche deine Dokumentation auf Scalar, der modernen Dokumentationsplattform für deine API und alles Weitere.',\n shareTitle: 'API Reference teilen',\n shareDescription:\n 'Lade dein OpenAPI-Dokument hoch, um deine API Reference mit anderen zu teilen. So einfach wie ein Klick.',\n uploadDocument: 'Dokument hochladen',\n temporaryLinkExpiration: 'Dein Dokument wird nach 7 Tagen automatisch gelöscht.',\n deployOnScalar: 'Auf Scalar veröffentlichen',\n deployFree: 'Veröffentliche deine Dokumentation kostenlos.',\n additionalFeaturesMightRequire: 'Zusätzliche Funktionen erfordern möglicherweise',\n generate: 'Generieren',\n passwordProtection: 'Passwortschutz',\n customDomains: 'Eigene Domains',\n freeFormContent: 'Freiform-Inhalte',\n cdnInfrastructure: 'CDN-Infrastruktur',\n pullFromGitHub: 'Von GitHub laden',\n markdownMdx: 'Markdown/MDX',\n spectralLinting: 'Spectral-Linting',\n jsonSchemaHosting: 'JSON-Schema-Hosting',\n askAi: 'KI fragen',\n mcpServers: 'MCP-Server',\n unableToExportDocument: 'Aktives Dokument konnte nicht exportiert werden',\n unknownError: 'Ein unbekannter Fehler ist aufgetreten',\n },\n gettingStarted: {\n swaggerEditor: 'Swagger Editor',\n description:\n 'Willkommen bei Scalar API References + Swagger Editor, einem kostenlosen Open-Source-Tool, das deine Swagger/OAS-Datei in schöne API References verwandelt.',\n showExample: 'Beispiel anzeigen',\n uploadFile: 'Datei hochladen',\n integrations: 'INTEGRATIONEN',\n theming: 'THEMES',\n features: 'Funktionen',\n customize: 'Anpassen',\n customizeDescription: 'Nutze deine Typografie und Farbpaletten oder unsere Themes!',\n testing: 'Testen',\n testingDescription: 'Ein tief integrierter REST API Client (ebenfalls kostenlos und Open Source)',\n search: 'Suche',\n searchDescription: 'Vollständig integrierte Suche (mit fuse.js)',\n hosting: 'Hosting',\n hostingDescription: 'Kostenloses Subdomain-Hosting auf https://apidocumentation.com',\n openApiSwagger: 'OpenAPI und Swagger',\n openApiSwaggerDescription: 'Unterstützung für OpenAPI 3.1, OpenAPI 3.0 und Swagger 2.0',\n codeSamples: 'Codebeispiele',\n codeSamplesDescription: 'Codebeispiele, um deine API in den beliebtesten Sprachen zu präsentieren',\n },\n footer: {\n poweredByScalar: 'Bereitgestellt von Scalar',\n },\n authentication: {\n title: 'Authentifizierung',\n accepts: 'Akzeptiert',\n allOf: 'alle von:',\n authentication: 'Authentifizierung',\n optional: 'Authentifizierung optional',\n oneOf: 'eines von:',\n required: 'Authentifizierung erforderlich',\n requires: 'Erfordert',\n },\n} satisfies ApiReferenceTranslations\n"],"mappings":";AAEA,IAAa,KAAK;CAChB,QAAQ;EACN,sBAAsB;EACtB,OAAO;EACP,YAAY;EACZ,aAAa;EACb,eAAe;EACf,MAAM;EACN,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,MAAM;EACN,UAAU;EACV,KAAK;EACL,KAAK;EACL,WAAW;EACX,WAAW;EACX,YAAY;EACZ,UAAU;EACV,MAAM;EACN,eAAe;EACf,SAAS;EACT,UAAU;EACV,UAAU;EACV,YAAY;EACZ,eAAe;EACf,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,WAAW;EACZ;CACD,QAAQ;EACN,OAAO;EACP,YAAY;EACZ,MAAM;EACN,aAAa;EACb,OAAO;EACP,kBAAkB;EAClB,SAAS;EACT,SAAS;EACT,SAAS;EACT,UAAU;EACV,QAAQ;EACR,cACE;EACF,cAAc;EACd,gBAAgB;EAChB,UAAU;EACV,eAAe;EACf,cAAc;EACf;CACD,YAAY;EACV,cAAc;EACd,YAAY;EACZ,WAAW;EACX,WAAW;EACX,UAAU;EACV,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,WAAW;EACX,UAAU;EACX;CACD,QAAQ;EACN,OAAO;EACP,QAAQ;EACT;CACD,MAAM,EACJ,gBAAgB,uBACjB;CACD,UAAU;EACR,SAAS;EACT,WAAW;EACZ;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACN,WAAW;EACZ;CACD,WAAW;EACT,MAAM;EACN,SAAS;EACT,SAAS;EACT,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,WAAW;EACX,aAAa;EACb,SAAS;EACT,qBAAqB;EACrB,aAAa;EACb,aAAa;EACb,WAAW;EACZ;CACD,UAAU;EACR,kBAAkB;EAClB,QAAQ;EACR,YAAY;EACZ,QAAQ;EACT;CACD,QAAQ;EACN,SAAS;EACT,UAAU;EACV,SAAS;EACT,QAAQ;EACR,aAAa;EACb,0BAA0B;EAC1B,iBAAiB;EACjB,qBAAqB;EACrB,qBAAqB;EACrB,SAAS;EACT,mBAAmB;EACnB,OAAO;EACP,OAAO;EACP,OAAO;EACP,KAAK;EACL,aAAa;EACd;CACD,UAAU;EACR,SAAS;EACT,UAAU;EACX;CACD,QAAQ,EACN,OAAO,WACR;CACD,SAAS;EACP,UAAU;EACV,YAAY;EACZ,iBAAiB;EACjB,iBAAiB;EACjB,UAAU;EACX;CACD,OAAO;EACL,OAAO;EACP,YAAY;EACZ,OAAO;EACR;CACD,KAAK;EACH,UAAU;EACV,SAAS;EACV;CACD,gBAAgB;EACd,OAAO;EACP,WAAW;EACX,OAAO;EACP,QAAQ;EACR,qBAAqB;EACrB,OAAO;EACP,QAAQ;EACR,eAAe;EACf,OACE;EACF,sBAAsB;EACtB,qBAAqB;EACrB,eAAe;EACf,cAAc;EACd,eAAe;EACf,aAAa;EACb,qBAAqB;EACrB,oBAAoB;EACpB,WAAW;EACX,oBAAoB;EACpB,kBAAkB;EAClB,oBAAoB;EACpB,YAAY;EACZ,YAAY;EACZ,iBAAiB;EACjB,uBAAuB;EACvB,YAAY;EACZ,mBACE;EACF,YAAY;EACZ,kBACE;EACF,gBAAgB;EAChB,yBAAyB;EACzB,gBAAgB;EAChB,YAAY;EACZ,gCAAgC;EAChC,UAAU;EACV,oBAAoB;EACpB,eAAe;EACf,iBAAiB;EACjB,mBAAmB;EACnB,gBAAgB;EAChB,aAAa;EACb,iBAAiB;EACjB,mBAAmB;EACnB,OAAO;EACP,YAAY;EACZ,wBAAwB;EACxB,cAAc;EACf;CACD,gBAAgB;EACd,eAAe;EACf,aACE;EACF,aAAa;EACb,YAAY;EACZ,cAAc;EACd,SAAS;EACT,UAAU;EACV,WAAW;EACX,sBAAsB;EACtB,SAAS;EACT,oBAAoB;EACpB,QAAQ;EACR,mBAAmB;EACnB,SAAS;EACT,oBAAoB;EACpB,gBAAgB;EAChB,2BAA2B;EAC3B,aAAa;EACb,wBAAwB;EACzB;CACD,QAAQ,EACN,iBAAiB,6BAClB;CACD,gBAAgB;EACd,OAAO;EACP,SAAS;EACT,OAAO;EACP,gBAAgB;EAChB,UAAU;EACV,OAAO;EACP,UAAU;EACV,UAAU;EACX;CACF"}
1
+ {"version":3,"file":"de.js","names":[],"sources":["../../../../src/features/localization/locales/de.ts"],"sourcesContent":["import type { ApiReferenceTranslations } from '@scalar/types/api-reference'\n\nexport const de = {\n common: {\n additionalProperties: 'zusätzliche Eigenschaften',\n const: 'Konstante',\n deprecated: 'veraltet',\n description: 'Beschreibung',\n discriminator: 'Diskriminator',\n enum: 'enum',\n format: 'Format',\n greaterThan: 'größer als',\n httpMethod: 'HTTP-Methode',\n keys: 'Schlüssel',\n lessThan: 'kleiner als',\n max: 'max.',\n min: 'min.',\n maxLength: 'max. Länge',\n minLength: 'min. Länge',\n multipleOf: 'Vielfaches von',\n nullable: 'nullable',\n path: 'Pfad',\n propertyNames: 'Eigenschaftsnamen',\n pattern: 'Muster',\n readOnly: 'nur lesbar',\n required: 'erforderlich',\n hideValues: 'Werte ausblenden',\n showAllValues: 'Alle Werte anzeigen',\n type: 'Typ',\n unique: 'eindeutig',\n values: 'Werte',\n writeOnly: 'nur schreibbar',\n },\n search: {\n label: 'Suchen',\n inputLabel: 'Suchbegriff eingeben',\n open: 'Suche öffnen',\n placeholder: 'Suchen...',\n clear: 'Suche löschen',\n keyboardShortcut: 'Tastenkürzel:',\n command: 'Befehl',\n control: 'Steuerung',\n results: 'Suchergebnisse der Referenz',\n navigate: 'Navigieren',\n select: 'Auswählen',\n instructions:\n 'Drücken Sie Pfeil nach oben oder unten zum Navigieren, Enter zum Auswählen und tippen Sie zum Filtern der Ergebnisse',\n entryHeading: 'Überschrift',\n entryOperation: 'Operation',\n entryTag: 'Tag',\n entryTagGroup: 'Tag-Gruppe',\n entryWebhook: 'Webhook',\n },\n navigation: {\n introduction: 'Einführung',\n closeGroup: 'Gruppe schließen',\n closeMenu: 'Menü schließen',\n openGroup: 'Gruppe öffnen',\n openMenu: 'Menü öffnen',\n operations: 'Operationen',\n endpoints: '{name}-Endpunkte',\n showAllEndpoints: 'Alle {name}-Endpunkte anzeigen',\n sidebarFor: 'Seitenleiste für {name}',\n mainContent: 'API-Dokumentation für {name}',\n collapsed: 'Eingeklappt',\n webhooks: 'Webhooks',\n channels: 'Kanäle',\n },\n server: {\n label: 'Server',\n select: 'Server auswählen',\n },\n info: {\n termsOfService: 'Nutzungsbedingungen',\n },\n asyncapi: {\n servers: 'Server',\n protocols: 'Protokolle',\n },\n clientLibraries: {\n heading: 'Client-Bibliotheken',\n more: 'Mehr',\n selectAll: 'Aus allen Clients auswählen',\n },\n operation: {\n body: 'Body',\n cookies: 'Cookies',\n headers: 'Header',\n pathParameters: 'Pfadparameter',\n queryParameters: 'Query-Parameter',\n requestBody: 'Request Body',\n responses: 'Antworten',\n testRequest: 'Request testen',\n webhook: 'Webhook',\n selectedContentType: 'Ausgewählter Inhaltstyp',\n hideHeaders: 'Header ausblenden',\n showHeaders: 'Header anzeigen',\n callbacks: 'Callbacks',\n },\n response: {\n exampleResponses: 'Beispielantworten',\n noBody: 'Kein Body',\n showSchema: 'Schema anzeigen',\n status: 'Status',\n },\n schema: {\n example: 'Beispiel',\n examples: 'Beispiele',\n default: 'Standard',\n schema: 'Schema',\n emptyObject: 'Leeres Objekt',\n showAdditionalProperties: 'Zusätzliche Eigenschaften anzeigen',\n childAttributes: 'Untergeordnete Attribute',\n hideChildAttributes: '{name} ausblenden',\n showChildAttributes: '{name} anzeigen',\n forName: 'für {name}',\n showSchemaDetails: 'Schema-Details anzeigen',\n oneOf: 'Eines von',\n anyOf: 'Beliebiges von',\n allOf: 'Alle von',\n not: 'Nicht',\n unknownType: 'unbekannter Typ',\n },\n download: {\n openapi: 'OpenAPI-Dokument herunterladen',\n asyncapi: 'AsyncAPI-Dokument herunterladen',\n },\n models: {\n label: 'Modelle',\n },\n actions: {\n copyLink: 'Link kopieren',\n copyLinkTo: 'Link zu {name} kopieren',\n copyToClipboard: 'Link in die Zwischenablage kopieren',\n copyEndpointUrl: 'Endpoint-URL kopieren',\n showMore: 'Mehr anzeigen',\n },\n agent: {\n askAi: 'KI fragen',\n askAiAgent: 'KI-Agent fragen',\n close: 'Client schließen',\n },\n mcp: {\n generate: 'MCP generieren',\n connect: 'MCP verbinden',\n },\n developerTools: {\n title: 'Entwicklertools',\n configure: 'Konfigurieren',\n share: 'Teilen',\n deploy: 'Bereitstellen',\n scalarConfiguration: 'Scalar-Konfiguration',\n theme: 'Theme',\n layout: 'Layout',\n layoutOptions: 'Layout-Optionen',\n intro:\n 'Mit den Entwicklertools kannst du das Aussehen und Verhalten deiner Dokumentation anpassen. Du kannst deine Dokumentation auch über Scalar Registry teilen.',\n disableToolbarBefore: 'Um die Toolbar zu deaktivieren, setze',\n disableToolbarAfter: 'in deiner Konfiguration.',\n localhostOnly: 'Die Entwicklertools werden nur angezeigt, wenn sie auf localhost ausgeführt werden.',\n layoutModern: 'Modern',\n layoutClassic: 'Klassisch',\n showSidebar: 'Seitenleiste anzeigen',\n defaultOpenFirstTag: 'Ersten Tag standardmäßig öffnen',\n defaultOpenAllTags: 'Alle Tags standardmäßig öffnen',\n expandAll: 'Alle {label} erweitern',\n expandAllResponses: 'Alle Antworten erweitern',\n hideClientButton: 'Client-Schaltfläche ausblenden',\n hideDarkModeToggle: 'Dark-Mode-Umschalter ausblenden',\n hideModels: '{label} ausblenden',\n hideSearch: 'Suche ausblenden',\n showOperationId: 'Operation-ID anzeigen',\n hideTestRequestButton: 'Test-Request-Schaltfläche ausblenden',\n scalarDocs: 'Scalar Docs',\n deployDescription:\n 'Veröffentliche deine Dokumentation auf Scalar, der modernen Dokumentationsplattform für deine API und alles Weitere.',\n shareTitle: 'API Reference teilen',\n shareDescription:\n 'Lade dein OpenAPI-Dokument hoch, um deine API Reference mit anderen zu teilen. So einfach wie ein Klick.',\n uploadDocument: 'Dokument hochladen',\n temporaryLinkExpiration: 'Dein Dokument wird nach 7 Tagen automatisch gelöscht.',\n deployOnScalar: 'Auf Scalar veröffentlichen',\n deployFree: 'Veröffentliche deine Dokumentation kostenlos.',\n additionalFeaturesMightRequire: 'Zusätzliche Funktionen erfordern möglicherweise',\n generate: 'Generieren',\n passwordProtection: 'Passwortschutz',\n customDomains: 'Eigene Domains',\n freeFormContent: 'Freiform-Inhalte',\n cdnInfrastructure: 'CDN-Infrastruktur',\n pullFromGitHub: 'Von GitHub laden',\n markdownMdx: 'Markdown/MDX',\n spectralLinting: 'Spectral-Linting',\n jsonSchemaHosting: 'JSON-Schema-Hosting',\n askAi: 'KI fragen',\n mcpServers: 'MCP-Server',\n unableToExportDocument: 'Aktives Dokument konnte nicht exportiert werden',\n unknownError: 'Ein unbekannter Fehler ist aufgetreten',\n },\n gettingStarted: {\n swaggerEditor: 'Swagger Editor',\n description:\n 'Willkommen bei Scalar API References + Swagger Editor, einem kostenlosen Open-Source-Tool, das deine Swagger/OAS-Datei in schöne API References verwandelt.',\n showExample: 'Beispiel anzeigen',\n uploadFile: 'Datei hochladen',\n integrations: 'INTEGRATIONEN',\n theming: 'THEMES',\n features: 'Funktionen',\n customize: 'Anpassen',\n customizeDescription: 'Nutze deine Typografie und Farbpaletten oder unsere Themes!',\n testing: 'Testen',\n testingDescription: 'Ein tief integrierter REST API Client (ebenfalls kostenlos und Open Source)',\n search: 'Suche',\n searchDescription: 'Vollständig integrierte Suche (mit fuse.js)',\n hosting: 'Hosting',\n hostingDescription: 'Kostenloses Subdomain-Hosting auf https://apidocumentation.com',\n openApiSwagger: 'OpenAPI und Swagger',\n openApiSwaggerDescription: 'Unterstützung für OpenAPI 3.1, OpenAPI 3.0 und Swagger 2.0',\n codeSamples: 'Codebeispiele',\n codeSamplesDescription: 'Codebeispiele, um deine API in den beliebtesten Sprachen zu präsentieren',\n },\n footer: {\n poweredByScalar: 'Bereitgestellt von Scalar',\n },\n authentication: {\n title: 'Authentifizierung',\n accepts: 'Akzeptiert',\n allOf: 'alle von:',\n authentication: 'Authentifizierung',\n optional: 'Authentifizierung optional',\n oneOf: 'eines von:',\n required: 'Authentifizierung erforderlich',\n requires: 'Erfordert',\n },\n} satisfies ApiReferenceTranslations\n"],"mappings":"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"}
@@ -61,6 +61,7 @@ export declare const en: {
61
61
  mainContent: string;
62
62
  collapsed: string;
63
63
  webhooks: string;
64
+ channels: string;
64
65
  };
65
66
  server: {
66
67
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/features/localization/locales/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqOqB,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../src/features/localization/locales/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsOqB,CAAA"}
@@ -61,7 +61,8 @@ var en = {
61
61
  sidebarFor: "Sidebar for {name}",
62
62
  mainContent: "API documentation for {name}",
63
63
  collapsed: "Collapsed",
64
- webhooks: "Webhooks"
64
+ webhooks: "Webhooks",
65
+ channels: "Channels"
65
66
  },
66
67
  server: {
67
68
  label: "Server",